From 012a7061f18eaa5524747dc60faae131831793fe Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期四, 07 三月 2024 11:28:06 +0800
Subject: [PATCH] 修改补片审核

---
 north-glass-erp/target/classes/mapper/pp/PatchLogMapper.xml                    |    7 +++++++
 north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml                |    5 ++++-
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java |   47 +++++++++++++++++++++++++++++------------------
 3 files changed, 40 insertions(+), 19 deletions(-)

diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java
index de23517..be57c41 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java
@@ -99,26 +99,37 @@
 
     public Boolean updateReplenish(Map<String,Object> object) {
         boolean saveState = true;
-
-        String userName = "";
-        String userId = "";
-        if (object.get("userName") != null) {
-            userName = object.get("userName").toString();
-        }
-        if (object.get("userId") != null) {
-            userId = object.get("userId").toString();
-        }
-        //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
-        List<PatchLog> patchLoglist = JSONArray.parseArray(JSONObject.toJSONString(object.get("patchLog")), PatchLog.class);
-        if (!patchLoglist.isEmpty()){
-            for (PatchLog patchLog : patchLoglist) {
-                //瀹℃牳
-                patchMapper.updateReplenish(patchLog,userName);
-                //淇敼灏忕墖娴佺▼鍗℃暟閲�
-                patchMapper.updateOrderProcessDetail(patchLog);
+        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+        try {
+            String userName = "";
+            String userId = "";
+            if (object.get("userName") != null) {
+                userName = object.get("userName").toString();
             }
-        }
+            if (object.get("userId") != null) {
+                userId = object.get("userId").toString();
+            }
+            //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
+            List<PatchLog> patchLoglist = JSONArray.parseArray(JSONObject.toJSONString(object.get("patchLog")), PatchLog.class);
+            if (!patchLoglist.isEmpty()){
+                for (PatchLog patchLog : patchLoglist) {
+                    //瀹℃牳
+                    patchMapper.updateReplenish(patchLog,userName);
+                    //淇敼灏忕墖娴佺▼鍗℃暟閲�
+                    patchMapper.updateOrderProcessDetail(patchLog);
+                }
+            }
 
+        } catch (Exception e) {
+            TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+            //灏嗗紓甯镐紶鍏ユ暟鎹簱
+            SysError sysError = new SysError();
+            sysError.setError(e.toString());
+            sysError.setFunc("saveOrder");
+            sysErrorService.insert(sysError);
+            saveState = false;
+
+        }
 
         return saveState;
 
diff --git a/north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml b/north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml
index 5086016..ed17915 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml
@@ -89,7 +89,10 @@
     </update>
 
     <update id="updateOrderProcessDetail"  >
-        update pp.patch_log set reviewer=#{userName},review_status=1,update_time=now() where id=#{patchLog.id}
+        update sd.order_process_detail set reporting_work_num=reporting_work_num-#{patchLog.patchNum} where order_id=#{patchLog.orderId} and
+        order_number=#{patchLog.orderSort} and technology_number=#{patchLog.technologyNumber} and id <![CDATA[<]]> (select a.opdid from(select id as opdid from
+        sd.order_process_detail opd where opd.order_id=#{patchLog.orderId} and opd.order_number=#{patchLog.orderSort} and opd.technology_number=#{patchLog.technologyNumber}
+        and process=#{patchLog.patchProcesses}) as a)
     </update>
 
     <update id="updateDamageDetails"  >
diff --git a/north-glass-erp/target/classes/mapper/pp/PatchLogMapper.xml b/north-glass-erp/target/classes/mapper/pp/PatchLogMapper.xml
index e11c15f..ed17915 100644
--- a/north-glass-erp/target/classes/mapper/pp/PatchLogMapper.xml
+++ b/north-glass-erp/target/classes/mapper/pp/PatchLogMapper.xml
@@ -88,6 +88,13 @@
         update pp.patch_log set reviewer=#{userName},review_status=1,update_time=now() where id=#{patchLog.id}
     </update>
 
+    <update id="updateOrderProcessDetail"  >
+        update sd.order_process_detail set reporting_work_num=reporting_work_num-#{patchLog.patchNum} where order_id=#{patchLog.orderId} and
+        order_number=#{patchLog.orderSort} and technology_number=#{patchLog.technologyNumber} and id <![CDATA[<]]> (select a.opdid from(select id as opdid from
+        sd.order_process_detail opd where opd.order_id=#{patchLog.orderId} and opd.order_number=#{patchLog.orderSort} and opd.technology_number=#{patchLog.technologyNumber}
+        and process=#{patchLog.patchProcesses}) as a)
+    </update>
+
     <update id="updateDamageDetails"  >
         update pp.damage_details set quantity=quantity+#{patchLog.patchNum},patch_status=1 where id=#{patchLog.reviewer}
     </update>

--
Gitblit v1.8.0