first round of billing.sql is finished. It runs a bit slow and it de-normalizes the data, but I think it's relatively 'safe'
parent
e3ee6e286d
commit
6d65d76fb2
@ -0,0 +1,37 @@
|
||||
DROP FUNCTION IF EXISTS get_division_collapsed;
|
||||
DROP FUNCTION IF EXISTS get_division;
|
||||
|
||||
DELIMITER /
|
||||
CREATE FUNCTION get_division_collapsed(refnum VARCHAR(15)) RETURNS VARCHAR(35)
|
||||
BEGIN
|
||||
DECLARE type VARCHAR(35);
|
||||
SET type = (SELECT proj_type FROM all_projects WHERE all_projects.refnum = refnum);
|
||||
RETURN CONCAT(
|
||||
SUBSTRING(refnum, 1, 3),
|
||||
' - ',
|
||||
IF(type = 'Warranty', 'Structural', type)
|
||||
);
|
||||
END
|
||||
/
|
||||
|
||||
CREATE FUNCTION prettify_division(refnum VARCHAR(15), division VARCHAR(35)) RETURNS VARCHAR(35)
|
||||
BEGIN
|
||||
RETURN CONCAT(
|
||||
SUBSTRING(refnum, 1, 3),
|
||||
' - ',
|
||||
IF(division = 'Warranty', 'Structural', division)
|
||||
);
|
||||
END
|
||||
/
|
||||
|
||||
CREATE FUNCTION get_division(refnum VARCHAR(15)) RETURNS VARCHAR(35)
|
||||
RETURN CONCAT(
|
||||
SUBSTRING(refnum, 1, 3),
|
||||
' - ',
|
||||
(SELECT proj_type
|
||||
from all_projects
|
||||
where all_projects.refnum = refnum)
|
||||
);
|
||||
/
|
||||
|
||||
DELIMITER ;
|
||||
@ -0,0 +1,15 @@
|
||||
DROP TABLE IF EXISTS billing_report;
|
||||
|
||||
CREATE TABLE billing_report AS
|
||||
SELECT pkey,
|
||||
refNumber,
|
||||
(SELECT all_projects.proj_type from all_projects where all_projects.refnum = refNumber) AS division,
|
||||
line_created,
|
||||
accepted_date,
|
||||
(qty * default_price) AS fee,
|
||||
invoice_accepted
|
||||
FROM billing;
|
||||
CREATE INDEX ref_num ON billing_report(refNumber);
|
||||
|
||||
UPDATE billing_report
|
||||
SET division = prettify_division(refNumber, division);
|
||||
Loading…
Reference in New Issue