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