From a6727911686d8d946b72cdc0d92bf35ba3645c44 Mon Sep 17 00:00:00 2001 From: sfd <sun.sunshine@163.com> Date: 星期三, 21 五月 2025 17:34:19 +0800 Subject: [PATCH] Merge branch 'dev' of http://192.168.50.149:8085/r/aps-backend into dev --- aps-modules/aps-core/src/main/resources/mapper/core/ApsWeldSeamStatisticsV2Mapper.xml | 112 ++++++++++++++++++++++++++++---------------------------- aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java | 4 + aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java | 2 3 files changed, 60 insertions(+), 58 deletions(-) diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsWeldSeamStatisticsV2Mapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsWeldSeamStatisticsV2Mapper.xml index 7c44838..2e01184 100644 --- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsWeldSeamStatisticsV2Mapper.xml +++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsWeldSeamStatisticsV2Mapper.xml @@ -153,95 +153,95 @@ </insert> <select id="queryWeldSeamStatistics" resultMap="ApsWeldSeamStatisticsV2Result"> - WITH 宸ュ崟鐒婄紳璁$畻 AS ( + WITH order_weld_calc AS ( -- 璁$畻宸ュ崟鐨勭剨缂濇暟閲� SELECT - mo.factory as 鐢熶骇鍩哄湴, - mo.material_code as 鏂欏彿, - EXTRACT(YEAR FROM mo.plan_end) as 骞翠唤, - EXTRACT(MONTH FROM mo.plan_end) as 鏈堜唤, - mo.quantity * COALESCE(ws.hup_qty, 0) as 宸ュ崟鐒婄紳鏁�, - mgm.domain as 涓撲笟 + mo.factory as production_base, + mo.material_code as material_no, + EXTRACT(YEAR FROM mo.plan_end) as year, + EXTRACT(MONTH FROM mo.plan_end) as month, + mo.quantity * COALESCE(ws.hup_qty, 0) as order_weld_count, + mgm.domain as domain FROM aps_gas_pipeline_mo mo LEFT JOIN aps_weld_seam_standard ws ON mo.material_code = ws.item_code AND ws.del_flag = 0 LEFT JOIN aps_material_product_group_management mgm ON mo.material_code = mgm.material_code AND mo.factory = mgm.factory ), - 棰勬祴鐒婄紳璁$畻 AS ( + predict_weld_calc AS ( -- 璁$畻棰勬祴鐨勭剨缂濇暟閲� SELECT - gp.factory as 鐢熶骇鍩哄湴, - gp.material_code as 鏂欏彿, - EXTRACT(YEAR FROM gp.predict_date) as 骞翠唤, - EXTRACT(MONTH FROM gp.predict_date) as 鏈堜唤, - gp.predict_quantity * COALESCE(ws.hup_qty, 0) as 棰勬祴鐒婄紳鏁�, - mgm.domain as 涓撲笟 + gp.factory as production_base, + gp.material_code as material_no, + EXTRACT(YEAR FROM gp.predict_date) as year, + EXTRACT(MONTH FROM gp.predict_date) as month, + gp.predict_quantity * COALESCE(ws.hup_qty, 0) as predict_weld_count, + mgm.domain as domain FROM aps_gas_pipeline_prediction gp LEFT JOIN aps_weld_seam_standard ws ON gp.material_code = ws.item_code AND ws.del_flag = 0 LEFT JOIN aps_material_product_group_management mgm ON gp.material_code = mgm.material_code AND gp.factory = mgm.factory ), - 姹囨�绘暟鎹� AS ( + summary_data AS ( SELECT - 骞翠唤, - 鏈堜唤, - 鐢熶骇鍩哄湴, + year, + month, + production_base, -- 绠¤矾璁㈠崟闇�姹� COALESCE(SUM(CASE - WHEN 涓撲笟 = 'GL' AND 绫诲瀷 = '宸ュ崟' - THEN 鐒婄紳鏁� ELSE 0 - END), 0) as 绠¤矾璁㈠崟闇�姹�, + WHEN domain = 'GL' AND type = 'order' + THEN weld_count ELSE 0 + END), 0) as piping_order_requirement, -- 姘旀煖璁㈠崟闇�姹� COALESCE(SUM(CASE - WHEN 涓撲笟 = 'QG' AND 绫诲瀷 = '宸ュ崟' - THEN 鐒婄紳鏁� ELSE 0 - END), 0) as 姘旀煖璁㈠崟闇�姹�, + WHEN domain = 'QG' AND type = 'order' + THEN weld_count ELSE 0 + END), 0) as gas_order_requirement, -- 绠¤矾棰勬祴闇�姹� COALESCE(SUM(CASE - WHEN 涓撲笟 = 'GL' AND 绫诲瀷 = '棰勬祴' - THEN 鐒婄紳鏁� ELSE 0 - END), 0) as 绠¤矾棰勬祴闇�姹�, + WHEN domain = 'GL' AND type = 'predict' + THEN weld_count ELSE 0 + END), 0) as piping_predict_requirement, -- 姘旀煖棰勬祴闇�姹� COALESCE(SUM(CASE - WHEN 涓撲笟 = 'QG' AND 绫诲瀷 = '棰勬祴' - THEN 鐒婄紳鏁� ELSE 0 - END), 0) as 姘旀煖棰勬祴闇�姹� + WHEN domain = 'QG' AND type = 'predict' + THEN weld_count ELSE 0 + END), 0) as gas_predict_requirement FROM ( SELECT - 骞翠唤, - 鏈堜唤, - 鐢熶骇鍩哄湴, - 宸ュ崟鐒婄紳鏁� as 鐒婄紳鏁�, - '宸ュ崟' as 绫诲瀷, - 涓撲笟 - FROM 宸ュ崟鐒婄紳璁$畻 + year, + month, + production_base, + order_weld_count as weld_count, + 'order' as type, + domain + FROM order_weld_calc UNION ALL SELECT - 骞翠唤, - 鏈堜唤, - 鐢熶骇鍩哄湴, - 棰勬祴鐒婄紳鏁� as 鐒婄紳鏁�, - '棰勬祴' as 绫诲瀷, - 涓撲笟 - FROM 棰勬祴鐒婄紳璁$畻 - ) 鍚堝苟鏁版嵁 - GROUP BY 骞翠唤, 鏈堜唤, 鐢熶骇鍩哄湴 + year, + month, + production_base, + predict_weld_count as weld_count, + 'predict' as type, + domain + FROM predict_weld_calc + ) merged_data + GROUP BY year, month, production_base ) SELECT - s.骞翠唤 as "year", - s.鏈堜唤 as "month", - s.鐢熶骇鍩哄湴 as "production_base", - ROUND(s.绠¤矾璁㈠崟闇�姹�, 4) as "piping_order_requirement", - ROUND(s.姘旀煖璁㈠崟闇�姹�, 4) as "gas_order_requirement", - ROUND(s.绠¤矾棰勬祴闇�姹�, 4) as "piping_prediction_requirement", - ROUND(s.姘旀煖棰勬祴闇�姹�, 4) as "gas_prediction_requirement", + s.year as "year", + s.month as "month", + s.production_base as "production_base", + ROUND(s.piping_order_requirement, 4) as "piping_order_requirement", + ROUND(s.gas_order_requirement, 4) as "gas_order_requirement", + ROUND(s.piping_predict_requirement, 4) as "piping_prediction_requirement", + ROUND(s.gas_predict_requirement, 4) as "gas_prediction_requirement", 0 as "reserve_emergency_order_output", - ROUND(s.绠¤矾璁㈠崟闇�姹� + s.姘旀煖璁㈠崟闇�姹� + s.绠¤矾棰勬祴闇�姹� + s.姘旀煖棰勬祴闇�姹�, 4) as "total", + ROUND(s.piping_order_requirement + s.gas_order_requirement + s.piping_predict_requirement + s.gas_predict_requirement, 4) as "total", 0 as "days", 0 as "requirement_day_weld_seam", 0 as "production_day_weld_seam", '0' as "is_satisfy", 'system' as "create_by", CURRENT_TIMESTAMP as "create_time" - FROM 姹囨�绘暟鎹� s - ORDER BY s.骞翠唤, s.鏈堜唤, s.鐢熶骇鍩哄湴 + FROM summary_data s + ORDER BY s.year, s.month, s.production_base </select> </mapper> \ No newline at end of file diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java index 6653f41..1a13dac 100644 --- a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java +++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java @@ -23,6 +23,7 @@ import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.client.RestTemplate; import java.util.ArrayList; @@ -131,6 +132,7 @@ return apsWorkOrderProcessMapper.deleteApsWorkOrderProcessById(id); } + @Transactional(rollbackFor = Exception.class) @Override public void getWorkOrderProcessFromU9(List<String> docNos) throws Exception { List<String> noProcessDocNos = new ArrayList<>(docNos); @@ -220,7 +222,7 @@ } if(!addList.isEmpty()){ apsWorkOrderProcessMapper.insertApsWorkOrderProcessBatch(addList); - apsWorkOrderJobLog.setResult("ok insert "+updateList.size()); + apsWorkOrderJobLog.setResult("ok insert "+addList.size()); apsWorkOrderJobLog.setUpdateTime(DateUtils.getNowDate()); apsWorkOrderJobLogService.updateApsWorkOrderJobLog(apsWorkOrderJobLog); logger.info("銆怚NSERT銆戣幏鍙栧苟鎻掑叆U9宸ュ簭鎴愬姛锛併�愬伐鍗曞彿锛歿}銆�", docNos); diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java b/aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java index 432b58e..b0812e5 100644 --- a/aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java +++ b/aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java @@ -65,7 +65,7 @@ /** * 鍚屾宸ュ崟宸ュ簭鏁版嵁 */ - @Transactional(rollbackFor = Exception.class) + public void syncWorkOrderProcessData(String status, Integer pageSize) { iApsWorkOrderProcessService.deleteApsWorkOrderProcess(); -- Gitblit v1.9.3