From 1f97acdb370414caa5303563f6c653a70a0e542b Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期五, 28 三月 2025 09:26:32 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java |  108 +++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 83 insertions(+), 25 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 d0b1dbd..47698ae 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
@@ -67,6 +67,8 @@
     private final SysErrorService sysErrorService;
     private final FinishedOperateLogMapper finishedOperateLogMapper;
     private final RestTemplate restTemplate;
+    private final PatchLogMapper patchLogMapper;
+    private final ReworkMapper reworkMapper;
 
 
     /*public ReportingWorkService(ReportingWorkMapper reportingWorkMapper, BasicDateProduceMapper basicDateProduceMapper, DamageDetailsMapper damageDetailsMapper, ReportingWorkDetailMapper reportingWorkDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, OrderProcessDetailService orderProcessDetailService, OrderMapper orderMapper, FlowCardMapper flowCardMapper, LogService logService, LogMapper logMapper, OrderGlassDetailMapper orderGlassDetailMapper, SysErrorService sysErrorService, OrderDetailMapper orderDetailMapper, FinishedOperateLogMapper finishedOperateLogMapper, ReportingWorkTransferMapper reportingWorkTransferMapper) {
@@ -153,7 +155,7 @@
                 if (retrievedData!=null){
                     Integer reviewedState = retrievedData.getReviewedState();
                     //鏍规嵁瀹℃牳鐘舵�佹煡璇㈡湭瀹℃牳鏁版嵁
-                    if (reviewedState==1){//宸插鏍�
+                   // if (reviewedState==1){//宸插鏍�
                         //涓嶆槸绗竴閬撳伐搴忥紝鏌ヨ鎶ュ伐鏁版嵁
                         List<Map<String,String>>  details = reportingWorkMapper.SelectReworlDetailMp(processIdStr, technologyStr, process,previousProcess,laminating);
                         if(process.equals("涓┖")){
@@ -171,24 +173,24 @@
                             });
                         }
                         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 );
-                    }
+//                    }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 );
+//                    }
                 }
             }
 
@@ -934,6 +936,17 @@
             result.put("data",false);
             return result;
         }
+        List<ReportingWorkTransfer> reportingWorkTransferList = reportingWorkTransferMapper
+                .selectList(new QueryWrapper<ReportingWorkTransfer>()
+                        .eq("old_order", reportingWork.get("newOrderId"))
+                        .eq("old_order_number", reportingWork.get("newOrderNumber"))
+                );
+        if(!reportingWorkTransferList.isEmpty()){
+            result.put("msg","鏂拌鍗曞簭鍙蜂箣鍓嶅凡杞嚭鎶ュ伐鏁版嵁锛屾棤娉曡繘琛岃浆鍏�");
+            result.put("data",false);
+            return result;
+        }
+
         //鑾峰彇鏃ц鍗曟姤宸ユ暟鎹眹鎬�
         List<OrderProcessDetail> oldOrderProcessDetailForReport = orderProcessDetailMapper
                 .selectList(new QueryWrapper<OrderProcessDetail>()
@@ -941,6 +954,51 @@
                         .eq("order_number", reportingWork.get("oldOrderNumber"))
                         .gt("reporting_work_num",0)
         );
+
+        if (oldOrderProcessDetailForReport.isEmpty()){
+            result.put("msg","鏃ц鍗曟病鏈夊彲杞嚭鐨勬姤宸ユ暟鎹�");
+            result.put("data",false);
+            return result;
+        }
+        List<String> oldOrderProcessIdList = new ArrayList<>();
+        oldOrderProcessDetailList.forEach(oldOrderProcessDetail -> oldOrderProcessIdList.add(oldOrderProcessDetail.getProcessId()));
+
+        //鑾峰彇鏃ф暟鎹牬鎹熻〃鏄惁瀛樺湪鐮存崯
+        List<DamageDetails> damageDetails = damageDetailsMapper.selectList(
+                new QueryWrapper<DamageDetails>()
+                        .in("process_id",oldOrderProcessIdList)
+                        .eq("order_number", reportingWork.get("oldOrderNumber"))
+                        .eq("quantity",0)
+        );
+        if(!damageDetails.isEmpty()){
+            result.put("msg","鏃ц鍗曞瓨鍦ㄦ姤宸ユ湭澶勭悊鐮存崯鏁版嵁");
+            result.put("data",false);
+            return result;
+        }
+        //鑾峰彇琛ョ墖琛ㄦ槸鍚﹀瓨鍦ㄨˉ鐗囨湭瀹℃牳鐘舵��
+        List<PatchLog> patchLogs = patchLogMapper.selectList(
+                new QueryWrapper<PatchLog>()
+                        .eq("order_id", reportingWork.get("oldOrderId"))
+                        .eq("order_sort", reportingWork.get("oldOrderNumber"))
+                        .eq("review_status",0)
+        );
+        if (patchLogs.isEmpty()){
+            result.put("msg","鏃ц鍗曞瓨鍦ㄨˉ鐗囨湭瀹℃牳鏁版嵁");
+            result.put("data",false);
+            return result;
+        }
+        List<Rework> reworks = reworkMapper.selectList(
+                new QueryWrapper<Rework>()
+                    .eq("order_id", reportingWork.get("oldOrderId"))
+                    .eq("order_sort", reportingWork.get("oldOrderNumber"))
+                    .eq("review_status",0)
+        );
+        if (patchLogs.isEmpty()){
+            result.put("msg","鏃ц鍗曞瓨鍦ㄨ繑宸ユ湭瀹℃牳鏁版嵁锛岃鍏堝鏍告姤宸ュ悗鍐嶈繘琛岃浆鍑�");
+            result.put("data",false);
+            return result;
+        }
+
 
         Map<String,Object> log = new HashMap<>();
         log.put("oldOrderBeforeChange",oldOrderProcessDetailForReport);
@@ -956,6 +1014,7 @@
             reportingWorkMapper.update(null,new UpdateWrapper<ReportingWork>()
                     .set("reviewed_state",3)
                     .eq("process_id",oldOrderProcessDetail.getProcessId())
+                    .gt("reviewed_state",0)
             );
 
 
@@ -1033,7 +1092,6 @@
                         orderNumberTransferList.add(orderNumberTransfer);
 
                     }
-
                 }
             }
         });
@@ -1061,20 +1119,20 @@
         //restTemplate.postForObject("http://localhost:8086/order/test",orderNumberTransferList,String.class);
 
         //鍚憁es鍙戦�乭ttp璇锋眰
-        ResponseEntity<String> response =restTemplate.exchange(
+        ResponseEntity<OrderNumberTransferDTO> response =restTemplate.exchange(
                 "http://localhost:88/api/loadGlass/order/order/orderChange",
                 HttpMethod.POST,
                 new HttpEntity<>(orderNumberTransferList),
-                String.class);
+                OrderNumberTransferDTO.class);
 
         if(response.getStatusCode() == HttpStatus.OK){
+            OrderNumberTransferDTO responseBody = response.getBody();
             result.put("data",true);
-            return result;
         }else{
             result.put("msg","杩炴帴mes鍝嶅簲瓒呮椂");
             result.put("data",false);
-            return result;
         }
-        
+        return result;
+
     }
 }

--
Gitblit v1.8.0