From ef5a518c3e2c1fe41aa60f56ca31ddafa0cb1561 Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期四, 23 五月 2024 08:32:36 +0800
Subject: [PATCH] 添加产品汇总报表

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java |   32 ++++++++++++++++++++------------
 1 files changed, 20 insertions(+), 12 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..7a351f4 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;
 
         //瀹氫箟褰撳墠宸ュ簭涓婁笅宸ュ簭
@@ -133,8 +134,6 @@
         map.put("historyTeams", reportingWorkMapper.historyTeamsMp(processIdStr, process));
         //鍘嗗彶宸ュ簭
         map.put("historyProcess", reportingWorkMapper.SelectHistoryProcessMp(historyProcess, process));
-
-
         return map;
     }
 
@@ -160,7 +159,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) {
@@ -243,7 +242,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 +282,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");
@@ -357,6 +356,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 +372,7 @@
         //鏇寸粏鎶ュ伐涓昏〃
         reportingWorkMapper.updateById(reportingWork);
         reportingWorkDetails.forEach(reportingWorkDetail -> {
+            reportingWorkDetail.setReportingWorkId(reportingWork.getReportingWorkId());
             List<DamageDetails> damageDetails = reportingWorkDetail.getDamageDetails();
             //姣忎竴鏉℃姤宸ユ暟鎹惊鐜彃鍏ユ鐮存槑缁嗚〃
             if (damageDetails != null && !damageDetails.isEmpty()) {
@@ -388,6 +389,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 +407,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 +451,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 +489,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