From 3e100eddbd89f13894870be8dd0cf380e1eef65f Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期四, 07 三月 2024 08:00:59 +0800
Subject: [PATCH] 提交报工相关文件

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java |   46 ++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 38 insertions(+), 8 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 908e584..65d8dc1 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
@@ -2,6 +2,8 @@
 
 import com.alibaba.fastjson.JSONArray;
 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.entity.pp.DamageDetails;
 import com.example.erp.entity.pp.ReportingWork;
 import com.example.erp.entity.pp.ReportingWorkDetail;
@@ -13,8 +15,11 @@
 import com.example.erp.mapper.pp.ReportingWorkDetailMapper;
 import com.example.erp.mapper.pp.ReportingWorkMapper;
 import com.baomidou.dynamic.datasource.annotation.DS;
+import com.example.erp.mapper.sd.OrderProcessDetailMapper;
+import com.example.erp.service.sd.OrderProcessDetailService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -32,15 +37,23 @@
     final
     DamageDetailsMapper damageDetailsMapper;
     final
+    OrderProcessDetailMapper orderProcessDetailMapper;
+    final
     ReportingWorkDetailMapper
     reportingWorkDetailMapper;
 
+    final
+    OrderProcessDetailService orderProcessDetailService;
 
-    public ReportingWorkService(ReportingWorkMapper reportingWorkMapper, BasicDateProduceMapper basicDateProduceMapper, DamageDetailsMapper damageDetailsMapper, ReportingWorkDetailMapper reportingWorkDetailMapper) {
+
+
+    public ReportingWorkService(ReportingWorkMapper reportingWorkMapper, BasicDateProduceMapper basicDateProduceMapper, DamageDetailsMapper damageDetailsMapper, ReportingWorkDetailMapper reportingWorkDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, OrderProcessDetailService orderProcessDetailService) {
         this.reportingWorkMapper = reportingWorkMapper;
         this.basicDateProduceMapper = basicDateProduceMapper;
         this.damageDetailsMapper = damageDetailsMapper;
         this.reportingWorkDetailMapper = reportingWorkDetailMapper;
+        this.orderProcessDetailMapper = orderProcessDetailMapper;
+        this.orderProcessDetailService = orderProcessDetailService;
     }
 
     public Map<String, Object> AddSelectLastWorkSv(String processIdStr, String technologyStr, String process) {
@@ -76,7 +89,7 @@
                 }
                 //System.out.println("褰撳墠宸ュ簭锛�" + process + " 涓婁竴閬撳伐搴忥細" + previousProcess + " 涓嬩竴閬撳伐搴忥細" + nextProcess);
                 //鏌ヨ褰撳墠宸ュ簭鐨勮〃澶存暟鎹�
-                System.out.println(reportingWorkMapper.AddSelectLastWorkMp(processIdStr, technologyStr,previousProcess,nextProcess,process));
+               // System.out.println(reportingWorkMapper.AddSelectLastWorkMp(processIdStr, technologyStr,previousProcess,nextProcess,process));
                 map.put("data", reportingWorkMapper.AddSelectLastWorkMp(processIdStr, technologyStr,previousProcess,nextProcess,process));
                 map.put("thisProcess", processList);
                 break;
@@ -97,7 +110,7 @@
         //鍒ゆ柇鏈伐搴忔槸涓嶆槸绗竴閬撳伐搴�
         if (interceptProcess.equals(process)) {
             //鏄涓�閬撳伐搴忥紝鏌ヨ娴佺▼鍗℃暟鎹�
-            map.put("Detail", reportingWorkMapper.SelectTechnologicalNumMp(processIdStr,technologyStr));
+            map.put("Detail", reportingWorkMapper.SelectTechnologicalNumMp(processIdStr,technologyStr,process));
         }
         else {
             //涓嶆槸绗竴閬撳伐搴忥紝鏌ヨ鎶ュ伐鏁版嵁
@@ -128,11 +141,14 @@
         return map;
     }
 
+    //鎶ュ伐鏂板
+    @Transactional
     public boolean SaveReportingWorkSv(Map<String, Object> reportingWorkMap) {
+        //鎺ユ敹瑙f瀽涓婚檮琛ㄤ俊鎭�
         JSONObject reportingWorkJson = new JSONObject(reportingWorkMap);
         ReportingWork reportingWork = JSONObject.parseObject(JSONObject.toJSONString(reportingWorkJson.get("title")), ReportingWork.class);
         List<ReportingWorkDetail> reportingWorkDetails = JSONArray.parseArray(JSONObject.toJSONString(reportingWorkJson.get("detail")), ReportingWorkDetail.class);
-        //System.out.println(reportingWork);
+        //鑾峰彇褰撳墠鏈�澶ф姤宸ュ崟鍙风敓鎴愭姤宸ュ崟鍙�
         String formattedNumber = String.format("%04d", reportingWorkMapper.selectMaxReportingWorkId()+1);
         //鏍煎紡鍖栧綋鍓嶆棩鏈�
         Date currentDate = new Date();
@@ -141,9 +157,10 @@
         String reportingWorkId =  "BG"+formattedDate+formattedNumber;
         reportingWork.setReportingWorkId(reportingWorkId);
         reportingWork.setProcessId(reportingWork.getProcessId().substring(0,13));
-
+        //涓昏〃鎻掑叆
         reportingWorkMapper.insert(reportingWork);
 
+        //鍓〃寰幆鎻掑叆锛屽苟涓旀彃鍏ユ鐮翠俊鎭〃銆傚啀鏍规嵁娆$牬淇℃伅淇敼璁㈠崟鐜荤拑娴佺▼琛ㄧ殑瀹屽伐鏁伴噺涓庡埡鐮存暟閲�
         reportingWorkDetails.forEach(reportingWorkDetail -> {
             reportingWorkDetail.setReportingWorkId(reportingWorkId);
             List<DamageDetails> damageDetails = reportingWorkDetail.getDamageDetails();
@@ -157,11 +174,24 @@
                 });
             }
             //System.out.println(reportingWorkDetail);
+            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::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 =reporting_work_num +"+orderProcessDetail.getReportingWorkNum())
+                    .setSql("broken_num =broken_num +"+orderProcessDetail.getBrokenNum());
+
+            orderProcessDetailMapper.update(null,updateWrapper);
             reportingWorkDetailMapper.insert(reportingWorkDetail);
         });
-
-
-
         return  false;
     }
 }

--
Gitblit v1.8.0