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 |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 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 d3e2920..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
@@ -1728,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);
 
@@ -1743,8 +1775,18 @@
 
                         orderProcessDetailMapper.update(null, updateWrapper);
                     });
+
+                    //鑾峰彇瀹屽伐鏄庣粏鏁伴噺鎬诲拰
+                    int num   = reportingWorkDetailMapper.selectFinishQuantity(reportingWorkId);
+                    reportingWorkMapper.update(null,
+                            new LambdaUpdateWrapper<ReportingWork>()
+                                    .eq(ReportingWork::getReportingWorkId, reportingWorkId)
+                                    .setSql("this_completed_quantity = " + num)
+                    );
+
                 }
 
+
             });
         }
         Set<String> uploadKeys = stringRedisTemplate.keys("upload:reportingWork:*");

--
Gitblit v1.8.0