From b39599abcfce0b8db09fc5c94ff4655a2dc99ee1 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期四, 25 十二月 2025 11:48:46 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java |   94 ++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 76 insertions(+), 18 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 0f99f24..646858a 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
@@ -204,24 +204,7 @@
                             });
                         }
                         map.put("Detail",details );
-//                    }else {
-//                        //涓嶆槸绗竴閬撳伐搴忥紝鏌ヨ鎶ュ伐鏁版嵁
-//                        List<Map<String,String>>  details = reportingWorkMapper.SelectReworlDetailMpReview(processIdStr, technologyStr, process,previousProcess,laminating);
-//                        if(process.equals("涓┖")){
-//                            String orderId = reportingWorkMapper.selectOrderid(processIdStr);
-//                            details.forEach( detail -> {
-//                                Integer glassId = orderGlassDetailMapper.
-//                                        getMinIdByGroup(orderId,
-//                                                String.valueOf(detail.get("order_number")),
-//                                                String.valueOf(detail.get("group")));
-//                                int listGlassId = Integer.parseInt(String.valueOf(detail.get("glassId")));
-//                                if(listGlassId  !=glassId){
-//                                    detail.put("rowClass","latter");
-//                                }
-//                            });
-//                        }
-//                        map.put("Detail",details );
-//                    }
+
                 }
             }
 
@@ -1745,6 +1728,38 @@
                                 JSONObject.toJSONString(stringRedisTemplate.opsForHash().entries(detailKey))
                                 , ReportingWorkDetail.class
                         );
+
+                        //鍒ゆ柇娴佺▼鍗℃槸鍚︽姤婊�
+                        FlowCard flowCard = flowCardMapper.selectOne(new LambdaQueryWrapper<FlowCard>()
+                                .eq(FlowCard::getProcessId, reportingWork.getProcessId())
+                                .eq(FlowCard::getOrderNumber, reportingWorkDetail.getOrderNumber())
+                                .eq(FlowCard::getTechnologyNumber, reportingWorkDetail.getTechnologyNumber())
+                        );
+                        //鐢熶骇鏁伴噺= 娴佺▼鍗℃暟閲�-缁堟鏁伴噺
+                        int flowCardReportingWorkNum = flowCard.getQuantity()-flowCard.getTerminationQuantity();
+                        OrderProcessDetail orderProcessDetail = orderProcessDetailMapper
+                                .selectOne(new LambdaQueryWrapper<OrderProcessDetail>()
+                                        .eq(OrderProcessDetail::getProcessId, reportingWork.getProcessId())
+                                        .eq(OrderProcessDetail::getOrderNumber, reportingWorkDetail.getOrderNumber())
+                                        .eq(OrderProcessDetail::getTechnologyNumber, reportingWorkDetail.getTechnologyNumber())
+                                        .eq(OrderProcessDetail::getProcess, reportingWork.getThisProcess())
+                                );
+                        //鎶ュ伐鏁伴噺
+                        int completedQuantity = reportingWorkDetail.getCompletedQuantity();
+                        //宸叉姤鏁伴噺
+                        int finishReportingWorkNum =  orderProcessDetail.getReportingWorkNum();
+
+                        //鑻ユ姤宸ユ暟閲�+宸叉姤鏁伴噺>娴佺▼鍗℃暟閲� 鍒欐姤宸ユ暟閲忎负娴佺▼鍗℃暟閲�-宸叉姤鏁伴噺
+                        if((completedQuantity+finishReportingWorkNum)>flowCardReportingWorkNum){
+                            completedQuantity = flowCardReportingWorkNum - finishReportingWorkNum;
+                            reportingWorkDetail.setCompletedQuantity(completedQuantity);
+                            //鑻ユ姤宸ユ暟閲忓皬浜�0 鍒欐姤宸ユ暟閲忎负0
+                            if(completedQuantity<0){
+                                reportingWorkDetail.setCompletedQuantity(0);
+                            }
+                        }
+
+
                         reportingWorkDetail.setReportingWorkId(reportingWorkId);
                         reportingWorkDetailMapper.insert(reportingWorkDetail);
 
@@ -1760,7 +1775,17 @@
 
                         orderProcessDetailMapper.update(null, updateWrapper);
                     });
+
+                    //鑾峰彇瀹屽伐鏄庣粏鏁伴噺鎬诲拰
+                    int num   = reportingWorkDetailMapper.selectFinishQuantity(reportingWorkId);
+                    reportingWorkMapper.update(null,
+                            new LambdaUpdateWrapper<ReportingWork>()
+                                    .eq(ReportingWork::getReportingWorkId, reportingWorkId)
+                                    .setSql("this_completed_quantity = " + num)
+                    );
+
                 }
+
 
             });
         }
@@ -1796,4 +1821,37 @@
 
         return result;
     }
+
+    @Transactional(rollbackFor = Exception.class)
+    public Result addWorkInProgress(Map<String, Object> object) {
+        List<Map<String,Object>> list = (List<Map<String,Object>>) object.get("reportingWorks");
+
+        list.forEach(item -> {
+            ReportingWork reportingWork = JSONObject.parseObject(
+                    JSONObject.toJSONString(item.get("processTitle")), ReportingWork.class);
+            Map<String, String> mapTitle = new HashMap<>();
+            String[] processIdStr = reportingWork.getProcessId() != null
+                    ? reportingWork.getProcessId().split("/")
+                    : new String[]{""};
+            mapTitle.put("process", reportingWork.getPreviousProcess());
+            mapTitle.put("processId", reportingWork.getProcessId());
+            mapTitle.put("thisProcess", reportingWork.getThisProcess());
+            mapTitle.put("technologyStr", processIdStr[1]);
+            mapTitle.put("userName", object.get("userName").toString());
+            ReviewReportingWorkSv(mapTitle);
+
+
+            Map<String, Object> map = new HashMap<>();
+            map.put("detail", item.get("processList"));
+            map.put("title", item.get("processTitle"));
+            map.put("type", object.get("type"));
+            map.put("userId", object.get("userId"));
+            map.put("userName", object.get("userName"));
+            map.put("qualityInsStatus", object.get("qualityInsStatus"));
+            map.put("class", object.get("class"));
+            SaveReportingWorkSv(map);
+        });
+
+        return Result.success(true);
+    }
 }

--
Gitblit v1.8.0