From f53fb4af943e9a82c250fb60ad6ed941fd8f5d33 Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期日, 07 七月 2024 09:07:53 +0800
Subject: [PATCH] 提交相关程序

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java |   58 +++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 41 insertions(+), 17 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 b47a180..1a0b353 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
@@ -68,10 +68,11 @@
         //鏌ヨ娴佺▼鍗″伐鑹烘祦绋�
         String technologicalProcess = reportingWorkMapper.SelectTechnologicalProcess(processIdStr);
 
-        int index = technologicalProcess.indexOf("-");
-        //鑾峰彇宸ヨ壓娴佺▼绗竴涓伐搴�
-        String interceptProcess = technologicalProcess.substring(0, index);
+
+
         String[] processList = technologicalProcess.split("->");
+        //鑾峰彇宸ヨ壓娴佺▼绗竴涓伐搴�
+        String interceptProcess = processList[0];
         int length = processList.length;
 
         //瀹氫箟褰撳墠宸ュ簭涓婁笅宸ュ簭
@@ -101,6 +102,9 @@
             }
         }
 
+        //宸ヨ壓娴佺▼
+        map.put("technologicalProcess", technologicalProcess);
+
         //璁惧涓嬫媺妗�
         map.put("device", reportingWorkMapper.SelectWorkBasicDeviceMp(process));
         //鐝粍涓嬫媺妗�
@@ -111,6 +115,8 @@
 
         //鏌ヨ鏈伐搴忔姤宸ラ渶瑕佸摢鍑犲眰锛屼笂宸ュ簭鏄粈涔�
         String obtainTechnology = reportingWorkMapper.SelectWorkTechnologyMp(processIdStr);
+
+        map.put("numberList", flowCardMapper.getGlassNumber(Integer.valueOf(technologyStr),processIdStr));
 
         //鍒ゆ柇鏈伐搴忔槸涓嶆槸绗竴閬撳伐搴�
         if (interceptProcess.equals(process)) {
@@ -133,8 +139,6 @@
         map.put("historyTeams", reportingWorkMapper.historyTeamsMp(processIdStr, process));
         //鍘嗗彶宸ュ簭
         map.put("historyProcess", reportingWorkMapper.SelectHistoryProcessMp(historyProcess, process));
-
-
         return map;
     }
 
@@ -160,7 +164,7 @@
         String formattedDate = dateFormat.format(currentDate);
         String reportingWorkId = "BG" + formattedDate + formattedNumber;
         reportingWork.setReportingWorkId(reportingWorkId);
-        reportingWork.setProcessId(reportingWork.getProcessId().substring(0, 13));
+        reportingWork.setProcessId(reportingWork.getProcessId().substring(0, 14));
 
         int reviewState = (int) reportingWorkJson.get("type");
         if (reviewState == 1) {
@@ -192,7 +196,7 @@
                     damageDetail.setOrderNumber(reportingWorkDetail.getOrderNumber());
                     damageDetail.setProcessId(reportingWork.getProcessId());
                     damageDetail.setTechnologyNumber(reportingWorkDetail.getTechnologyNumber());
-                    if (damageDetail.getResponsibleProcess() != reportingWork.getThisProcess()) {
+                    if (!damageDetail.getResponsibleProcess().equals(reportingWork.getThisProcess())) {
                         damageDetail.setQualityInsStatus(1);
                     }
                     damageDetailsMapper.insert(damageDetail);
@@ -202,8 +206,15 @@
             String technologicalProcess = reportingWorkMapper.SelectTechnologicalProcess(reportingWork.getProcessId());
 
             int index = technologicalProcess.indexOf("-");
-            //鑾峰彇宸ヨ壓娴佺▼绗竴涓伐搴�
-            String interceptProcess = technologicalProcess.substring(0, index);
+            String interceptProcess = "";
+            if (index <0){
+                 interceptProcess = technologicalProcess;
+            }
+            else {
+                //鑾峰彇宸ヨ壓娴佺▼绗竴涓伐搴�
+                 interceptProcess = technologicalProcess.substring(0, index);
+            }
+
 
             //鍒ゆ柇褰撳墠宸ュ簭鏄惁涓虹涓�閬撳伐搴忓伐搴忥紝浣跨敤娴佺▼鍗¤〃鏁伴噺鎴栬�呭皬鐗囨祦绋嬭〃涓婂伐搴忔暟閲�
             int processNum = 0;
@@ -243,7 +254,7 @@
             //鏍规嵁璁㈠崟id锛岃鍗曞簭鍙凤紝浠ュ強灏忕墖搴忓彿 鏇存柊灏忕墖娴佺▼鐨勫畬宸ユ暟閲忎互鍙婂埡鐮存暟閲�
             LambdaUpdateWrapper<OrderProcessDetail> updateWrapper = new LambdaUpdateWrapper<>();
             updateWrapper.eq(OrderProcessDetail::getOrderNumber, reportingWorkDetail.getOrderNumber())
-                    .eq(OrderProcessDetail::getProcessId, reportingWork.getProcessId().substring(0, 13))
+                    .eq(OrderProcessDetail::getProcessId, reportingWork.getProcessId().substring(0, 14))
                     .eq(OrderProcessDetail::getOrderId, reportingWork.getOrderId())
                     .eq(OrderProcessDetail::getProcess, reportingWork.getThisProcess())
                     .eq(OrderProcessDetail::getTechnologyNumber, reportingWorkDetail.getTechnologyNumber())
@@ -283,7 +294,7 @@
         LambdaUpdateWrapper
                 <ReportingWork> updateWrapper = new LambdaUpdateWrapper<>();
         updateWrapper
-                .eq(ReportingWork::getProcessId, processId.substring(0, 13))
+                .eq(ReportingWork::getProcessId, processId.substring(0, 14))
                 .eq(ReportingWork::getThisProcess, reportingWork.get("process"))
                 .eq(ReportingWork::getReviewedState, 0)
                 .setSql("reviewed_state =1");
@@ -304,6 +315,8 @@
                         .eq(Order::getOrderId, reportingWork.getOrderId())));
         reportingWork.setFlowCard(new FlowCard());
 
+
+
         List<Map<String, Object>> reportingWorkDetails = reportingWorkMapper.selectByReportingWorkId(reportingWorkId, reportingWork.getNextProcess());
         reportingWorkDetails.forEach(reportingWorkDetail -> {
             List<DamageDetails> damageDetailsList = new ArrayList<>();
@@ -313,14 +326,16 @@
                     .eq(DamageDetails::getTechnologyNumber, reportingWorkDetail.get("technology_number"))
             );
             reportingWorkDetail.put("damageDetails", damageDetailsList);
-        });
 
+        });
 
         Map<String, Object> map = new HashMap<>();
         map.put("reportingWork", reportingWork);
         map.put("reportingWorkDetails", reportingWorkDetails);
         map.put("basic", getReportingWorkBase(reportingWork.getProcessId(), reportingWork.getThisProcess()));
-
+        //鏍规嵁鎶ュ伐缂栧彿鑾峰彇灞�
+        map.put("layer", reportingWorkMapper.selectLayerByReportingWorkId(reportingWorkId));
+        map.put("numberList", flowCardMapper.getGlassNumber(reportingWorkMapper.selectLayerByReportingWorkId(reportingWorkId),reportingWork.getProcessId()));
 
         return map;
 
@@ -357,6 +372,7 @@
         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);
+
         //鍒犻櫎鍒虹牬鏄庣粏琛ㄥ埡鐮存暟鎹�
         damageDetailsMapper.delete(
                 new LambdaQueryWrapper<DamageDetails>()
@@ -372,6 +388,7 @@
         //鏇寸粏鎶ュ伐涓昏〃
         reportingWorkMapper.updateById(reportingWork);
         reportingWorkDetails.forEach(reportingWorkDetail -> {
+            reportingWorkDetail.setReportingWorkId(reportingWork.getReportingWorkId());
             List<DamageDetails> damageDetails = reportingWorkDetail.getDamageDetails();
             //姣忎竴鏉℃姤宸ユ暟鎹惊鐜彃鍏ユ鐮存槑缁嗚〃
             if (damageDetails != null && !damageDetails.isEmpty()) {
@@ -388,6 +405,14 @@
             }
             //鎻掑叆鎶ュ伐鏁版嵁
             reportingWorkDetailMapper.insert(reportingWorkDetail);
+            orderProcessDetailMapper.insertByReportingWorkDetail(reportingWorkDetail,reportingWork.getProcessId(),reportingWork.getThisProcess());
+            //淇敼鍖呰鏃朵慨鏀瑰簱瀛樻暟閲�
+            if (reportingWork.getNextProcess()==null || reportingWork.getNextProcess().isEmpty()){
+                //鑾峰彇璇ユ姤宸ヤ慨鏀瑰悗鐨勫彲鍏ュ簱鏁伴噺
+                Integer  inventory = reportingWorkDetailMapper.selectInventory(reportingWork.getProcessId(),Integer.parseInt(reportingWorkDetail.getOrderNumber()),Integer.parseInt(reportingWorkDetail.getTechnologyNumber()));
+                //淇敼娴佺▼鍗¤〃搴撳瓨鏁伴噺
+                flowCardMapper.updateInventory(reportingWork.getProcessId(),reportingWorkDetail.getOrderNumber(),reportingWorkDetail.getTechnologyNumber(),inventory);
+            }
         });
         //鑾峰彇璐ㄦ鏃堕棿
         if (Objects.equals(reviewState, "review")) {
@@ -398,14 +423,14 @@
         }
 
         //淇敼灏忕墖娴佺▼琛ㄦ暟閲忎负鎶ュ伐鏄庣粏琛ㄦ暟閲�
-        orderProcessDetailMapper.updateQuantity(reportingWork.getReportingWorkId(), reportingWork.getThisProcess(), "add");
+        //orderProcessDetailMapper.updateQuantity(reportingWork.getReportingWorkId(), reportingWork.getThisProcess(), "add");
         return true;
     }
 
     //鎶ュ伐绠$悊鏌ヨ
     public Map<String, Object> selectReportingWorkSv(Integer pageNum, Integer pageSize, java.sql.Date selectTime1, java.sql.Date selectTime2, String orderId, ReportingWork reportingWork) {
         Integer offset = (pageNum - 1) * pageSize;
-        if (orderId.equals("null")) {
+        if ("null".equals(orderId)) {
             orderId = "";
         }
         Map<String, Object> map = new HashMap<>();
@@ -442,7 +467,6 @@
                         //鏌ヨ褰撳墠鎶ュ伐缂栧彿瀹屽伐娆$牬鏁伴噺鐨勬暟鎹�
                         List<Map<String, Object>> workDateList = reportingWorkMapper.reportingWorkDate(reportingWorkId);
                         for (Map<String, Object> item : workDateList) {
-
                             //鏇存柊娴佺▼鍗″彲鍏ュ簱鏁伴噺
                             reportingWorkMapper.updateInventoryQuantity(processId, item.get("order_number"), item.get("technology_number"), item.get("completed_quantity"));
                             //鏇存柊鎶ュ伐娴佺▼琛ㄦ暟鎹�
@@ -481,7 +505,7 @@
     //鏌ヨ璐ㄦ瀹℃牳
     public Map<String, Object> selectQualityTestingSv(Integer pageNum, Integer pageSize, java.sql.Date selectTime1, java.sql.Date selectTime2, Integer state, String processId, ReportingWork reportingWork) {
         Integer offset = (pageNum - 1) * pageSize;
-        if (processId.equals("null")) {
+        if ("null".equals(processId)) {
             processId = "";
         }
         Map<String, Object> map = new HashMap<>();

--
Gitblit v1.8.0