From d5bb894f9be2e0a3b62d475b60b44f2ab138528c Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期四, 12 六月 2025 16:48:35 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java |  152 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 137 insertions(+), 15 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 e4ff2bc..871c18a 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
@@ -10,6 +10,7 @@
 import com.example.erp.common.Constants;
 import com.example.erp.dto.pp.OrderNumberTransferDTO;
 import com.example.erp.entity.pp.*;
+import com.example.erp.entity.sd.BasicData;
 import com.example.erp.entity.sd.Order;
 import com.example.erp.entity.sd.OrderDetail;
 import com.example.erp.entity.sd.OrderProcessDetail;
@@ -19,10 +20,7 @@
 import com.example.erp.mapper.mm.FinishedOperateLogMapper;
 import com.example.erp.mapper.pp.*;
 import com.baomidou.dynamic.datasource.annotation.DS;
-import com.example.erp.mapper.sd.OrderDetailMapper;
-import com.example.erp.mapper.sd.OrderGlassDetailMapper;
-import com.example.erp.mapper.sd.OrderMapper;
-import com.example.erp.mapper.sd.OrderProcessDetailMapper;
+import com.example.erp.mapper.sd.*;
 import com.example.erp.mapper.userInfo.LogMapper;
 import com.example.erp.service.sd.OrderProcessDetailService;
 import com.example.erp.service.userInfo.LogService;
@@ -41,6 +39,8 @@
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 
 @Service
@@ -67,6 +67,9 @@
     private final SysErrorService sysErrorService;
     private final FinishedOperateLogMapper finishedOperateLogMapper;
     private final RestTemplate restTemplate;
+    private final PatchLogMapper patchLogMapper;
+    private final ReworkMapper reworkMapper;
+    private final BasicDateMapper basicDataMapper;
 
 
     /*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) {
@@ -204,6 +207,8 @@
             map.put("historyTeams", reportingWorkMapper.historyTeamsMp(processIdStr, process));
             //鍘嗗彶宸ュ簭
             map.put("historyProcess", reportingWorkMapper.SelectHistoryProcessMp(historyProcess, process));
+            //鏄惁鍚堢墖宸ュ簭
+            map.put("laminating", laminating);
         }
         return map;
     }
@@ -212,6 +217,8 @@
     public Map<String, Object> SelectProcessSv(String userId) {
         Map<String, Object> map = new HashMap<>();
         String process = reportingWorkMapper.selectUserProcess(userId);
+        //宸ュ簭鍒楄〃
+        List<Map<String, Object>> processNameList = flowCardMapper.getProcessNameList();
         if (process==null) {
             map.put("process", reportingWorkMapper.SelectProcessMp());
         }
@@ -224,7 +231,7 @@
                 map.put("process",reportingWorkMapper.getSelectProcessDuoqu() );
             }
         }
-
+        map.put("processNameList", processNameList);
         return map;
     }
 
@@ -265,7 +272,8 @@
         reportingWorkMapper.insert(reportingWork);
         //鍓〃寰幆鎻掑叆锛屽苟涓旀彃鍏ユ鐮翠俊鎭〃銆傚啀鏍规嵁娆$牬淇℃伅淇敼璁㈠崟鐜荤拑娴佺▼琛ㄧ殑瀹屽伐鏁伴噺涓庡埡鐮存暟閲�
         reportingWorkDetails.forEach(reportingWorkDetail -> {
-
+            reportingWork.setThisCompletedQuantity(reportingWork.getThisCompletedQuantity() + reportingWorkDetail.getCompletedQuantity());
+            reportingWork.setThisWornQuantity(reportingWork.getThisWornQuantity() + reportingWorkDetail.getBreakageQuantity());
             int qualityInsStatus = (int) reportingWorkJson.get("qualityInsStatus");
             reportingWorkDetail.setReportingWorkId(reportingWorkId);
             List<DamageDetails> damageDetails = reportingWorkDetail.getDamageDetails();
@@ -370,6 +378,8 @@
 
 
         });
+        reportingWorkMapper.update(reportingWork, new LambdaUpdateWrapper<ReportingWork>()
+                .eq(ReportingWork::getId, reportingWork.getId()));
 
         //淇濆瓨鏃ュ織
         Log log = new Log();
@@ -395,7 +405,7 @@
         //鑾峰彇鎶ュ伐宸ュ簭鏄惁涓哄鍚堝伐绋�
         String laminating = reportingWorkMapper.getProcessLaminating(thisProcess);
 //鍚堢墖宸ュ簭
-if (laminating.equals("laminating")){
+if (laminating.indexOf("step")!=-1){
     LambdaUpdateWrapper
                 <ReportingWork> updateWrapper = new LambdaUpdateWrapper<>();
         updateWrapper
@@ -568,8 +578,8 @@
         }
         Map<String, Object> map = new HashMap<>();
         map.put("data", reportingWorkMapper.selectReportingWorkMp(offset, pageSize, selectTime1, selectTime2, orderId, reportingWork));
-        map.put("total", reportingWorkMapper.getPageTotal(offset, pageSize, selectTime1, selectTime2, orderId, reportingWork));
-        map.put("footSum" ,reportingWorkMapper.getFootSum(selectTime1, selectTime2, orderId,reportingWork));
+       // map.put("total", reportingWorkMapper.getPageTotal(offset, pageSize, selectTime1, selectTime2, orderId, reportingWork));
+        map.put("total" ,reportingWorkMapper.getFootSum(offset, pageSize, selectTime1, selectTime2, orderId, reportingWork));
         return map;
     }
 
@@ -658,8 +668,6 @@
             } else {
                 return false;
             }
-
-
         } else {
             return false;
         }
@@ -675,6 +683,12 @@
         map.put("data", reportingWorkMapper.selectQualityTestingMp(offset, pageSize, selectTime1, selectTime2, state, processId, reportingWork));
         map.put("total", reportingWorkMapper.getQualityPageTotal(offset, pageSize, selectTime1, selectTime2, state, processId, reportingWork));
 
+        return map;
+    }
+
+    public Map<String, Object>  qualityReviewSearchSv() {
+        Map<String, Object> map = new HashMap<>();
+        map.put("data", reportingWorkMapper.qualityReviewSearchMp());
         return map;
     }
 
@@ -934,6 +948,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 +966,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 +1026,7 @@
             reportingWorkMapper.update(null,new UpdateWrapper<ReportingWork>()
                     .set("reviewed_state",3)
                     .eq("process_id",oldOrderProcessDetail.getProcessId())
+                    .gt("reviewed_state",0)
             );
 
 
@@ -1033,7 +1104,6 @@
                         orderNumberTransferList.add(orderNumberTransfer);
 
                     }
-
                 }
             }
         });
@@ -1070,12 +1140,64 @@
         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;
+
     }
+
+    public Map<String, Object> selectShiftQuantitySv(Map<String, Object> reportingWork) {
+        String  creatorId = (String) reportingWork.get("userId");
+        List<LocalDateTime> dateList = (List<LocalDateTime>) reportingWork.get("searchDate");
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        String startDate = LocalDateTime.now().with(LocalTime.MIN).format(formatter);
+        String endDate = LocalDateTime.now().format(formatter);
+        if (dateList.get(0)!=null){
+            startDate = String.valueOf(dateList.get(0));
+        }
+        if (dateList.get(1)!=null){
+            endDate = String.valueOf(dateList.get(1));
+        }
+        List<String> date = new ArrayList<>();
+        date.add(startDate);
+        date.add(endDate);
+        Map<String, Object> result = new HashMap<>();
+        BasicData basicData = basicDataMapper
+                .selectOne(new QueryWrapper<BasicData>().eq("basic_name", reportingWork.get("process")));
+        result.put("data",orderProcessDetailMapper.selectShiftQuantitySv(creatorId, startDate, endDate,basicData.getNickname()));
+        result.put("date",date);
+        return result;
+    }
+
+    public Map<String, Object> selectReportingWorkRecordByPhoneSv(Map<String,Object> reportingWork) {
+        List<LocalDateTime> dateList = (List<LocalDateTime>) reportingWork.get("searchDate");
+        String startDate = LocalDate.now().minusDays(14).toString();
+        String endDate = LocalDate.now().toString();
+        if (dateList.get(0)!=null){
+            startDate = String.valueOf(dateList.get(0));
+        }
+        if (dateList.get(1)!=null){
+            endDate = String.valueOf(dateList.get(1));
+        }
+        List<String> date = new ArrayList<>();
+        date.add(startDate);
+        date.add(endDate);
+        Map<String, Object> result = new HashMap<>();
+        result.put("data",reportingWorkMapper.selectList(
+                new QueryWrapper<ReportingWork>().nested(
+                                reportingWork.get("process")!=null,
+                                wrapper-> wrapper.eq("creator_id",reportingWork.get("userId"))//褰撳伐搴忎负绌烘椂锛屾煡璇㈡墍鏈夋姤宸ヤ俊鎭�
+                        )
+                        .gt("reviewed_state",-1)
+                        .between("date(reporting_work_time)",startDate,endDate)
+                        .orderByDesc("id")));
+        result.put("date",date);
+
+         return result;
+
+    }
+
+
 }

--
Gitblit v1.8.0