From f60327c377097f67ed42c349bda2a54c3147b7be Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期四, 07 三月 2024 16:35:45 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java |   53 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 49 insertions(+), 4 deletions(-)

diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
index 65d8dc1..eb184ae 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
@@ -4,12 +4,14 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
+import com.example.erp.common.Constants;
 import com.example.erp.entity.pp.DamageDetails;
 import com.example.erp.entity.pp.ReportingWork;
 import com.example.erp.entity.pp.ReportingWorkDetail;
 import com.example.erp.entity.sd.Order;
 import com.example.erp.entity.sd.OrderDetail;
 import com.example.erp.entity.sd.OrderProcessDetail;
+import com.example.erp.exception.ServiceException;
 import com.example.erp.mapper.pp.BasicDateProduceMapper;
 import com.example.erp.mapper.pp.DamageDetailsMapper;
 import com.example.erp.mapper.pp.ReportingWorkDetailMapper;
@@ -114,7 +116,7 @@
         }
         else {
             //涓嶆槸绗竴閬撳伐搴忥紝鏌ヨ鎶ュ伐鏁版嵁
-            map.put("Detail", reportingWorkMapper.SelectReworlDetailMp(processIdStr,technologyStr,previousProcess));
+            map.put("Detail", reportingWorkMapper.SelectReworlDetailMp(processIdStr,technologyStr,process));
         }
 
         // 绗竴閬撳伐搴忥紙娴佺▼鍗℃暟+琛ョ墖鏁伴噺-瀹屽伐鏁�-娆$牬鏁�-杩斿伐鏈畬鎴愭暟-绂佺敤鏁伴噺锛�
@@ -142,7 +144,7 @@
     }
 
     //鎶ュ伐鏂板
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     public boolean SaveReportingWorkSv(Map<String, Object> reportingWorkMap) {
         //鎺ユ敹瑙f瀽涓婚檮琛ㄤ俊鎭�
         JSONObject reportingWorkJson = new JSONObject(reportingWorkMap);
@@ -173,19 +175,62 @@
                     damageDetailsMapper.insert(damageDetail);
                 });
             }
-            //System.out.println(reportingWorkDetail);
+            //鏌ヨ娴佺▼鍗″伐鑹烘祦绋�
+            String technologicalProcess = reportingWorkMapper.SelectTechnologicalProcess(reportingWork.getProcessId());
+
+            int index = technologicalProcess.indexOf("-");
+            //鑾峰彇宸ヨ壓娴佺▼绗竴涓伐搴�
+            String interceptProcess = technologicalProcess.substring(0, index);
+
+            //鍒ゆ柇褰撳墠宸ュ簭鏄惁涓虹涓�閬撳伐搴忓伐搴忥紝浣跨敤娴佺▼鍗¤〃鏁伴噺鎴栬�呭皬鐗囨祦绋嬭〃涓婂伐搴忔暟閲�
+            int processNum = 0;
+            if (interceptProcess.equals(reportingWork.getThisProcess())) {
+                processNum = reportingWorkMapper.selectFlowCardNum(
+                        reportingWorkDetail.getOrderNumber(),
+                        reportingWorkDetail.getTechnologyNumber(),
+                        reportingWork.getProcessId(),
+                        reportingWork.getThisProcess()
+                );
+            }else{
+                processNum = reportingWorkMapper.selectGlassProcessNum(
+                        reportingWorkDetail.getOrderNumber(),
+                        reportingWorkDetail.getTechnologyNumber(),
+                        reportingWork.getProcessId(),
+                        reportingWork.getThisProcess()
+                );
+            }
+
+
+            //鍒ゆ柇鏄惁澶т簬褰撳墠鏁伴噺骞朵笖鎶涘嚭寮傚父
+            if(processNum<(reportingWorkDetail.getBreakageQuantity()+reportingWorkDetail.getCompletedQuantity())){
+//                System.out.println(processNum);
+//                System.out.println(reportingWorkDetail.getBreakageQuantity());
+//                System.out.println(reportingWorkDetail.getCompletedQuantity());
+                throw new ServiceException(Constants.Code_600,"褰撳墠宸ュ簭鏁伴噺澶т簬娴佺▼鍗¤〃鏁伴噺");
+            }
+
+
+
+
+
             OrderProcessDetail orderProcessDetail = new OrderProcessDetail();
             orderProcessDetail.setBrokenNum(reportingWorkDetail.getBreakageQuantity());
             orderProcessDetail.setReportingWorkNum(reportingWorkDetail.getCompletedQuantity());
             orderProcessDetail.setReportingWorkNumCount(reportingWorkDetail.getCompletedQuantity());
 
+
+
+
+
+
             //鏍规嵁璁㈠崟id锛岃鍗曞簭鍙凤紝浠ュ強灏忕墖搴忓彿 鏇存柊灏忕墖娴佺▼鐨勫畬宸ユ暟閲忎互鍙婂埡鐮存暟閲�
             LambdaUpdateWrapper<OrderProcessDetail> updateWrapper = new LambdaUpdateWrapper<>();
             updateWrapper.eq(OrderProcessDetail::getOrderNumber, reportingWorkDetail.getOrderNumber())
+                    .eq(OrderProcessDetail::getProcessId, reportingWork.getProcessId().substring(0,13))
                     .eq(OrderProcessDetail::getOrderId, reportingWork.getOrderId())
                     .eq(OrderProcessDetail::getProcess, reportingWork.getThisProcess())
                     .eq(OrderProcessDetail::getTechnologyNumber, reportingWorkDetail.getTechnologyNumber())
-                    .setSql("reporting_work_num_count =reporting_work_num_count +"+orderProcessDetail.getReportingWorkNumCount())
+                    .setSql("reporting_work_num_count =reporting_work_num_count +"+orderProcessDetail.getReportingWorkNum())
                     .setSql("reporting_work_num =reporting_work_num +"+orderProcessDetail.getReportingWorkNum())
                     .setSql("broken_num =broken_num +"+orderProcessDetail.getBrokenNum());
 

--
Gitblit v1.8.0