New file |
| | |
| | | CREATE TABLE `tb_proprice_his` ( |
| | | `pro_id` bigint DEFAULT NULL COMMENT 'å°é¡¹id', |
| | | `old_price` varchar(255) DEFAULT NULL, |
| | | `new_price` varchar(255) DEFAULT NULL, |
| | | `time` datetime DEFAULT CURRENT_TIMESTAMP |
| | | ); |
| | | |
| | | |
| | | CREATE TABLE `tb_project_price_history` ( |
| | | `pro_id` bigint DEFAULT NULL COMMENT 'å°é¡¹id', |
| | | `old_price` varchar(255) DEFAULT NULL, |
| | | `new_price` varchar(255) DEFAULT NULL, |
| | | `time` datetime DEFAULT CURRENT_TIMESTAMP |
| | | ) COMMENT='hisåæ¥ä»·æ ¼åå²è®°å½è¡¨'; |
| | | |
| | | DROP PROCEDURE IF EXISTS `tb_check_hisproject`; |
| | | CREATE DEFINER=`root`@`%` PROCEDURE `tb_check_hisproject`() |
| | | BEGIN |
| | | # å项临æ¶è¡¨ |
| | | DROP TEMPORARY TABLE IF EXISTS temp_tb_check_hisproject_proid; |
| | | # 大项临æ¶è¡¨ |
| | | DROP TEMPORARY TABLE IF EXISTS temp_tb_check_hisproject_parent_proid; |
| | | # 被åç¨ç大项临æ¶è¡¨ |
| | | DROP TEMPORARY TABLE IF EXISTS temp_tb_check_hisproject_parent_updated; |
| | | |
| | | CREATE TEMPORARY TABLE temp_tb_check_hisproject_proid(id BIGINT,p_id BIGINT); |
| | | CREATE TEMPORARY TABLE temp_tb_check_hisproject_parent_proid(id BIGINT); |
| | | CREATE TEMPORARY TABLE temp_tb_check_hisproject_parent_updated (id BIGINT); |
| | | |
| | | # æå项ç®è¡¨hisxmdmå¨his表ä¸åå¨çå°é¡¹ |
| | | INSERT INTO temp_tb_check_hisproject_proid (id,p_id) |
| | | SELECT tp.pro_id,tp.pro_parent_id |
| | | FROM tj_project tp |
| | | WHERE tp.pro_status = 0 |
| | | AND tp.pro_parent_id <> 0 |
| | | AND tp.deleted = 0 |
| | | AND tp.his_xmbm <> '' |
| | | AND tp.pro_parent_id = 1633660948860522504 |
| | | AND NOT EXISTS ( |
| | | SELECT 1 |
| | | FROM ltkj_mxjfxmzd lm |
| | | WHERE lm.xmdm = tp.his_xmbm |
| | | ); |
| | | |
| | | # æ ¹æ®æåçå°é¡¹æ¿å¤§é¡¹ |
| | | INSERT INTO temp_tb_check_hisproject_parent_proid |
| | | SELECT p.p_id FROM temp_tb_check_hisproject_proid p GROUP BY p.p_id; |
| | | |
| | | # ä¿®æ¹åé¡¹ç¶æä¸ºåç¨ |
| | | UPDATE tj_project t1 JOIN temp_tb_check_hisproject_proid t2 ON t1.pro_id = t2.id SET t1.pro_status = 1; |
| | | # ä¿®æ¹ç¶é¡¹ç¶æä¸ºåç¨ |
| | | INSERT INTO temp_tb_check_hisproject_parent_updated (id) |
| | | SELECT p.pro_id |
| | | FROM tj_project p |
| | | JOIN temp_tb_check_hisproject_parent_proid t ON p.pro_id = t.id |
| | | WHERE NOT EXISTS ( |
| | | SELECT 1 |
| | | FROM tj_project AS child |
| | | WHERE child.pro_parent_id = p.pro_id |
| | | AND child.pro_status = 0 |
| | | AND child.deleted = 0 |
| | | AND child.his_xmbm <> '' |
| | | ); |
| | | UPDATE tj_project p JOIN temp_tb_check_hisproject_parent_updated t ON p.pro_id = t.id SET p.pro_status = 1; |
| | | |
| | | # å¥é¤ãç»åä¸ç§»é¤æªå¯ç¨é¡¹ç® |
| | | DELETE FROM tj_package_project WHERE pro_id IN (SELECT id FROM temp_tb_check_hisproject_parent_updated); |
| | | DELETE FROM tj_grouping_pro WHERE pro_id IN (SELECT id FROM temp_tb_check_hisproject_parent_updated); |
| | | DELETE FROM tj_zhxmglpro WHERE pro_id IN (SELECT id FROM temp_tb_check_hisproject_parent_updated); |
| | | |
| | | # è°ç¨åæ¥ä»·æ ¼åå¨è¿ç¨ |
| | | CALL tb_hisprodj(); |
| | | |
| | | # ä¿®æ¹é¡¹ç®ä»·æ ¼ |
| | | -- UPDATE tj_project a |
| | | -- JOIN temp_tb_check_hisproject_parent_proid b ON a.pro_id = b.id |
| | | -- JOIN ( |
| | | -- SELECT pro_parent_id, SUM(pro_price * sl) AS parentPrice |
| | | -- FROM tj_project |
| | | -- WHERE pro_parent_id != 0 and deleted=0 and pro_status=0 |
| | | -- GROUP BY pro_parent_id |
| | | -- ) d ON a.pro_id = d.pro_parent_id |
| | | -- SET a.pro_price = d.parentPrice; |
| | | -- |
| | | -- -- 4 忥å¥é¤å
³è项ç®è¡¨ä»·æ ¼ |
| | | -- |
| | | -- UPDATE tj_package_project a JOIN tj_project b ON a.pro_id=b.pro_id |
| | | -- |
| | | -- SET a.price_now = b.pro_price * (a.limits/10), |
| | | -- a.price_ord = b.pro_price |
| | | -- WHERE a.pro_id= b.pro_id AND b.pro_id IN (select id from temp_tb_check_hisproject_parent_proid); |
| | | -- |
| | | -- |
| | | -- -- 5 忥å¥é¤ä»·æ ¼ |
| | | -- UPDATE tj_package aa |
| | | -- JOIN ( |
| | | -- SELECT |
| | | -- a.pac_id, |
| | | -- SUM( a.price_now ) pr, |
| | | -- sum(a.price_ord) olpr |
| | | -- FROM |
| | | -- tj_package_project a |
| | | -- GROUP BY |
| | | -- a.pac_id |
| | | -- ) bb |
| | | -- SET aa.price = bb.olpr , |
| | | -- aa.new_price = bb.pr |
| | | -- WHERE |
| | | -- aa.pac_id = bb.pac_id; |
| | | -- |
| | | -- -- åä½å¥é¤æç»é¡¹ç® |
| | | -- update tj_grouping_pro a |
| | | -- join tj_project b ON a.pro_id=b.pro_id |
| | | -- SET a.ys_price = b.pro_price * (a.limits/10), |
| | | -- a.pro_price = b.pro_price |
| | | -- WHERE a.pro_id= b.pro_id; |
| | | -- -- åä½å¥é¤æ»ä»· |
| | | -- UPDATE tj_dw_grouping aa |
| | | -- JOIN ( |
| | | -- SELECT |
| | | -- a.grouping_id, |
| | | -- SUM( a.ys_price ) pr, |
| | | -- sum(a.pro_price) olpr |
| | | -- FROM |
| | | -- tj_grouping_pro a |
| | | -- GROUP BY |
| | | -- a.grouping_id |
| | | -- ) bb |
| | | -- SET aa.price = bb.olpr , |
| | | -- aa.ys_price = bb.pr |
| | | -- WHERE |
| | | -- aa.id = bb.grouping_id; |
| | | -- |
| | | -- DROP TEMPORARY TABLE IF EXISTS temp_tb_check_hisproject_proid; |
| | | -- DROP TEMPORARY TABLE IF EXISTS temp_tb_check_hisproject_parent_proid; |
| | | |
| | | # å项临æ¶è¡¨ |
| | | DROP TEMPORARY TABLE IF EXISTS temp_tb_check_hisproject_proid; |
| | | # 大项临æ¶è¡¨ |
| | | DROP TEMPORARY TABLE IF EXISTS temp_tb_check_hisproject_parent_proid; |
| | | # 被åç¨ç大项临æ¶è¡¨ |
| | | DROP TEMPORARY TABLE IF EXISTS temp_tb_check_hisproject_parent_updated; |
| | | END |
| | | |
| | | |
| | | DROP PROCEDURE IF EXISTS `tb_hisprodj`; |
| | | CREATE DEFINER=`root`@`localhost` PROCEDURE `tb_hisprodj`() |
| | | BEGIN |
| | | |
| | | -- 1 忥ç¶é¡¹ç®å¯¹åºåé¡¹çæ°é(é¡¹ç®æ°éåhis䏿°éä¸ä¸è´ç项ç®) |
| | | |
| | | |
| | | -- UPDATE tj_project a |
| | | -- LEFT JOIN tj_project b ON a.pro_id = b.pro_parent_id |
| | | -- LEFT JOIN ltkj_jfzhglmxjfxmzd c ON a.his_xmbm = c.zhxmdm AND c.xmdm=b.his_xmbm |
| | | -- LEFT JOIN ltkj_mxjfxmzd d ON c.xmdm = d.xmdm |
| | | -- SET b.sl=c.sl |
| | | -- WHERE |
| | | -- a.deleted = 0 |
| | | -- AND b.deleted = 0 |
| | | -- AND b.sl != c.sl |
| | | -- AND b.pro_name NOT LIKE '%è´¹%' AND b.pro_name NOT LIKE 'éèéè¡'; |
| | | |
| | | -- 2 忥æç»é¡¹ç®ä»¥åæç»é¡¹ç®å¯¹åºçç¶é¡¹ç® |
| | | |
| | | DROP TEMPORARY TABLE IF EXISTS temp_tb_hisdj_parent_ids; |
| | | |
| | | CREATE TEMPORARY TABLE temp_tb_hisdj_parent_ids (id BIGINT); |
| | | -- æ¥è¯¢hiså使£åé¡¹ä»·æ ¼ä¸å¯¹åºçææå¤§é¡¹id |
| | | INSERT INTO temp_tb_hisdj_parent_ids (id) |
| | | SELECT DISTINCT a.pro_parent_id |
| | | FROM tj_project a |
| | | JOIN ltkj_mxjfxmzd b ON a.his_xmbm = b.xmdm |
| | | WHERE a.deleted = 0 and a.pro_status=0 AND a.pro_parent_id != 0 AND a.pro_price <> b.xmdj ; |
| | | |
| | | delete from tb_proprice_his; |
| | | -- æ¥è¯¢ ææå项ç®çä»·æ ¼å项ç®id |
| | | INSERT INTO tb_proprice_his(pro_id,old_price,new_price) |
| | | SELECT a.pro_id,a.pro_price,b.xmdj FROM tj_project a |
| | | JOIN ltkj_mxjfxmzd b ON a.his_xmbm = b.xmdm |
| | | join temp_tb_hisdj_parent_ids d on d.id = a.pro_parent_id |
| | | WHERE a.deleted = 0 and a.pro_status=0 AND a.pro_parent_id != 0 AND a.pro_price <> b.xmdj AND a.his_xmbm IS NOT NULL AND a.his_xmbm <> ''; |
| | | |
| | | UPDATE tj_project a |
| | | JOIN tb_proprice_his b ON a.pro_id = b.pro_id |
| | | SET a.pro_price = b.new_price, |
| | | a.hisdj = b.new_price |
| | | WHERE a.deleted = 0 and a.pro_status=0; |
| | | |
| | | UPDATE tj_project a |
| | | JOIN temp_tb_hisdj_parent_ids b ON a.pro_id = b.id |
| | | JOIN ( |
| | | SELECT pro_parent_id, SUM(pro_price * sl) AS parentPrice |
| | | FROM tj_project |
| | | WHERE pro_parent_id != 0 and deleted=0 and pro_status=0 |
| | | GROUP BY pro_parent_id |
| | | ) d ON a.pro_id = d.pro_parent_id |
| | | SET a.pro_price = d.parentPrice; |
| | | |
| | | |
| | | |
| | | -- 4 忥å¥é¤å
³è项ç®è¡¨ä»·æ ¼ |
| | | |
| | | UPDATE tj_package_project a JOIN tj_project b ON a.pro_id=b.pro_id |
| | | |
| | | SET a.price_now = b.pro_price * (a.limits/10), |
| | | a.price_ord = b.pro_price |
| | | WHERE a.pro_id= b.pro_id; |
| | | |
| | | |
| | | |
| | | -- 5 忥å¥é¤ä»·æ ¼ |
| | | UPDATE tj_package aa |
| | | JOIN ( |
| | | SELECT |
| | | a.pac_id, |
| | | SUM( a.price_now ) pr, |
| | | sum(a.price_ord) olpr |
| | | FROM |
| | | tj_package_project a |
| | | GROUP BY |
| | | a.pac_id |
| | | ) bb |
| | | SET aa.price = bb.olpr , |
| | | aa.new_price = bb.pr |
| | | WHERE |
| | | aa.pac_id = bb.pac_id; |
| | | |
| | | -- åä½å¥é¤æç»é¡¹ç® |
| | | update tj_grouping_pro a |
| | | join tj_project b ON a.pro_id=b.pro_id |
| | | SET a.ys_price = b.pro_price * (a.limits/10), |
| | | a.pro_price = b.pro_price |
| | | WHERE a.pro_id= b.pro_id; |
| | | -- åä½å¥é¤æ»ä»· |
| | | UPDATE tj_dw_grouping aa |
| | | JOIN ( |
| | | SELECT |
| | | a.grouping_id, |
| | | SUM( a.ys_price ) pr, |
| | | sum(a.pro_price) olpr |
| | | FROM |
| | | tj_grouping_pro a |
| | | GROUP BY |
| | | a.grouping_id |
| | | ) bb |
| | | SET aa.price = bb.olpr , |
| | | aa.ys_price = bb.pr |
| | | WHERE |
| | | aa.id = bb.grouping_id; |
| | | |
| | | DROP TEMPORARY TABLE IF EXISTS temp_tb_hisdj_parent_ids; |
| | | |
| | | insert into tb_project_price_history |
| | | select * from tb_proprice_his; |
| | | |
| | | |
| | | END |
| | | |
| | | |
| | | # å°å¥é¤ ç»å åä½å¥é¤ä¸ ææè¸è
¹è¿éé¡¹ç®æ¿æ¢ä¸ºè¸é¨æ£ä½ç |
| | | UPDATE tj_package_project SET pro_id = 1740177341251154261,price_now = 40,limits = 10,price_ord = 40 WHERE pro_id = 1633660948860522504; |
| | | UPDATE tj_grouping_pro a |
| | | JOIN ( |
| | | SELECT id FROM tj_grouping_pro WHERE pro_id = 1633660948860522504 |
| | | ) b ON a.id = b.id |
| | | SET a.pro_id = 1740177341251154261, |
| | | a.pro_name = 'è¸é¨æ£ä½ç', |
| | | a.pro_py_name = 'xbzwp', |
| | | a.pro_price = 40, |
| | | a.limits = 10, |
| | | a.ys_price = 40; |
| | | call tb_check_hisproject(); |