From 5f865f37c01a284d71280565a9e4fd08493b212e Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期三, 06 三月 2024 10:09:21 +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 |   84 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 77 insertions(+), 7 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 bf346f5..908e584 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
@@ -1,23 +1,47 @@
 package com.example.erp.service.pp;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+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.mapper.pp.BasicDateProduceMapper;
+import com.example.erp.mapper.pp.DamageDetailsMapper;
+import com.example.erp.mapper.pp.ReportingWorkDetailMapper;
 import com.example.erp.mapper.pp.ReportingWorkMapper;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 @Service
 @DS("pp")
 public class ReportingWorkService {
-    @Autowired
+    final
     ReportingWorkMapper reportingWorkMapper;
-
+    final
     BasicDateProduceMapper basicDateProduceMapper;
+    final
+    DamageDetailsMapper damageDetailsMapper;
+    final
+    ReportingWorkDetailMapper
+    reportingWorkDetailMapper;
+
+
+    public ReportingWorkService(ReportingWorkMapper reportingWorkMapper, BasicDateProduceMapper basicDateProduceMapper, DamageDetailsMapper damageDetailsMapper, ReportingWorkDetailMapper reportingWorkDetailMapper) {
+        this.reportingWorkMapper = reportingWorkMapper;
+        this.basicDateProduceMapper = basicDateProduceMapper;
+        this.damageDetailsMapper = damageDetailsMapper;
+        this.reportingWorkDetailMapper = reportingWorkDetailMapper;
+    }
 
     public Map<String, Object> AddSelectLastWorkSv(String processIdStr, String technologyStr, String process) {
         Map<String, Object> map = new HashMap<>();
@@ -52,32 +76,31 @@
                 }
                 //System.out.println("褰撳墠宸ュ簭锛�" + process + " 涓婁竴閬撳伐搴忥細" + previousProcess + " 涓嬩竴閬撳伐搴忥細" + nextProcess);
                 //鏌ヨ褰撳墠宸ュ簭鐨勮〃澶存暟鎹�
+                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;
             }
         }
 
-
         //璁惧涓嬫媺妗�
         map.put("device", reportingWorkMapper.SelectWorkBasicDeviceMp(process));
         //鐝粍涓嬫媺妗�
         map.put("teams", reportingWorkMapper.SelectWorkBasicTeamsMp(process));
 
+        map.put("breakageType",reportingWorkMapper.selectBasicNameByType("breakagetype"));
+        map.put("breakageReason",reportingWorkMapper.selectBasicNameByType("breakagereason"));
 
         //鏌ヨ鏈伐搴忔姤宸ラ渶瑕佸摢鍑犲眰锛屼笂宸ュ簭鏄粈涔�
         String  obtainTechnology = reportingWorkMapper.SelectWorkTechnologyMp(processIdStr);
-
 
         //鍒ゆ柇鏈伐搴忔槸涓嶆槸绗竴閬撳伐搴�
         if (interceptProcess.equals(process)) {
             //鏄涓�閬撳伐搴忥紝鏌ヨ娴佺▼鍗℃暟鎹�
             map.put("Detail", reportingWorkMapper.SelectTechnologicalNumMp(processIdStr,technologyStr));
-
         }
         else {
             //涓嶆槸绗竴閬撳伐搴忥紝鏌ヨ鎶ュ伐鏁版嵁
-
             map.put("Detail", reportingWorkMapper.SelectReworlDetailMp(processIdStr,technologyStr,previousProcess));
         }
 
@@ -85,8 +108,18 @@
 
         // 鍚庣画宸ュ簭锛堜笂宸ュ簭鎶ュ伐鏁�-瀹屽伐鏁�-娆$牬鏁�-杩斿伐鏈畬鎴愭暟锛�
 
-        return map;
+        //鑾峰彇璇ユ祦绋嬪崱鍙峰巻鍙叉姤宸ュ伐搴�
+        String historyProcess =reportingWorkMapper.historyProcessMp(processIdStr);
+        //鍘嗗彶鎶ュ伐宸ュ簭璁惧
+        map.put("historyDevice",reportingWorkMapper.historyDeviceMp(historyProcess,process));
+        //鍘嗗彶鎶ュ伐宸ュ簭鐝粍
+        map.put("historyTeams",reportingWorkMapper.historyTeamsMp(processIdStr,process));
+        //鍘嗗彶宸ュ簭
+        map.put("historyProcess",reportingWorkMapper.SelectHistoryProcessMp(historyProcess,process));
 
+
+
+        return map;
     }
 
     public Map<String, Object> SelectProcessSv() {
@@ -94,4 +127,41 @@
         map.put("process", reportingWorkMapper.SelectProcessMp());
         return map;
     }
+
+    public boolean SaveReportingWorkSv(Map<String, Object> reportingWorkMap) {
+        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();
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
+        String formattedDate = dateFormat.format(currentDate);
+        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();
+            if(damageDetails!=null && !damageDetails.isEmpty()){
+                damageDetails.forEach(damageDetail ->{
+                    damageDetail.setReportingWorkId(reportingWorkId);
+                    damageDetail.setOrderNumber(reportingWorkDetail.getOrderNumber());
+                    damageDetail.setProcessId(reportingWork.getProcessId());
+                    damageDetail.setTechnologyNumber(reportingWorkDetail.getTechnologyNumber());
+                    damageDetailsMapper.insert(damageDetail);
+                });
+            }
+            //System.out.println(reportingWorkDetail);
+            reportingWorkDetailMapper.insert(reportingWorkDetail);
+        });
+
+
+
+        return  false;
+    }
 }

--
Gitblit v1.8.0