From 80779e662c51601328e8e4054ebd169f5360d12c Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 11 八月 2025 16:12:55 +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 |   79 +++++++++++++++++++++++++++------------
 1 files changed, 55 insertions(+), 24 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 5a8a9e9..6500b96 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,14 +10,10 @@
 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;
+import com.example.erp.entity.sd.*;
 import com.example.erp.entity.userInfo.Log;
 import com.example.erp.entity.userInfo.SysError;
 import com.example.erp.exception.ServiceException;
-import com.example.erp.mapper.mm.FinishedGoodsInventoryMapper;
 import com.example.erp.mapper.mm.FinishedOperateLogMapper;
 import com.example.erp.mapper.pp.*;
 import com.baomidou.dynamic.datasource.annotation.DS;
@@ -71,7 +67,7 @@
     private final RestTemplate restTemplate;
     private final PatchLogMapper patchLogMapper;
     private final ReworkMapper reworkMapper;
-    private final BasicDateMapper basicDataMapper;
+    private final BasicDataMapper basicDataMapper;
     private final FinishedGoodsInventoryService finishedGoodsInventoryService;
 
 
@@ -453,6 +449,7 @@
 
 
 
+
         List<Map<String, Object>> reportingWorkDetails = reportingWorkMapper.selectByReportingWorkId(reportingWorkId, reportingWork.getNextProcess());
         reportingWorkDetails.forEach(reportingWorkDetail -> {
             List<DamageDetails> damageDetailsList = new ArrayList<>();
@@ -588,15 +585,29 @@
     }
 
     //鎶ュ伐绠$悊鏌ヨ
-    public Map<String, Object> selectReportingWorkSv(Integer pageNum, Integer pageSize, java.sql.Date selectTime1, java.sql.Date selectTime2, String orderId, ReportingWork reportingWork) {
+    public Map<String, Object> selectReportingWorkSv(Integer pageNum, Integer pageSize, List<String> selectDate, String orderId, ReportingWork reportingWork) {
         Integer offset = (pageNum - 1) * pageSize;
         if ("null".equals(orderId)) {
             orderId = "";
         }
+        String endDate = LocalDate.now().toString();
+        String startDate = LocalDate.now().minusDays(3).toString();
+        if(selectDate !=null && selectDate.size()==2){
+            if(!selectDate.get(0).isEmpty()){
+                startDate = selectDate.get(0);
+            }
+            if(!selectDate.get(1).isEmpty()){
+                endDate = selectDate.get(1);
+            }
+        }
         Map<String, Object> map = new HashMap<>();
-        map.put("data", reportingWorkMapper.selectReportingWorkMp(offset, pageSize, selectTime1, selectTime2, orderId, reportingWork));
+        map.put("data", reportingWorkMapper.selectReportingWorkMp(offset, pageSize, startDate, endDate, orderId, reportingWork));
        // map.put("total", reportingWorkMapper.getPageTotal(offset, pageSize, selectTime1, selectTime2, orderId, reportingWork));
-        map.put("total" ,reportingWorkMapper.getFootSum(offset, pageSize, selectTime1, selectTime2, orderId, reportingWork));
+        map.put("total" ,reportingWorkMapper.getFootSum(offset, pageSize, startDate, endDate, orderId, reportingWork));
+        List<String> list = new ArrayList<>();
+        list.add(startDate);
+        list.add(endDate);
+        map.put("selectDate",list);
         return map;
     }
 
@@ -616,6 +627,28 @@
             if (transferState !=3){
                 //鍒ゆ柇鏄惁鏈夎ˉ鐗囪繑宸ユ暟鎹�
                 if (countStates==0){
+                    //褰撲笅宸ュ簭鏈鏍稿垯鍒犻櫎鏈伐搴�
+                    ReportingWork reportingWork = reportingWorkMapper.selectOne(new LambdaQueryWrapper<ReportingWork>()
+                            .eq(ReportingWork::getReportingWorkId, reportingWorkId));
+                    //淇濆瓨鏃ュ織
+                    Log log = new Log();
+                    log.setContent(reportingWorkId+"-"+processId+"-"+thisProcess);
+                    log.setFunction("deleteWork鎶ュ伐鍒犻櫎");
+                    log.setOperatorId(userId);
+                    log.setOperator(userName);
+                    if(reportingWork.getReviewedState()==0){
+                        //鏌ヨ褰撳墠鎶ュ伐缂栧彿瀹屽伐娆$牬鏁伴噺鐨勬暟鎹�
+                        List<Map<String, Object>> workDateList = reportingWorkMapper.reportingWorkDate(reportingWorkId);
+                        for (Map<String, Object> item : workDateList) {
+                            //鏇存柊鎶ュ伐娴佺▼琛ㄦ暟鎹�
+                            reportingWorkMapper.updateWorkProcess(processId, item.get("order_number"), item.get("technology_number"), item.get("completed_quantity"), item.get("breakage_quantity"), thisProcess);
+                        }
+                        //鍒犻櫎鎶ュ伐锛屽皢瀹℃牳鐘舵�佹敼涓�-1
+                        reportingWorkMapper.deleteWork(reportingWorkId);
+                        logService.saveLog(log);
+                        return true;
+                    }
+
                     //鍒ゆ柇鏄惁鏄叆搴撳伐搴�
                     if (lastProcess.equals(thisProcess)) {//鏄叆搴撳伐搴�
                         //鏌ヨ璇ユ祦绋嬪崱鏁伴噺銆佸彲鍏ュ簱鏁伴噺銆佸凡鍏ュ簱鏁伴噺
@@ -642,12 +675,6 @@
                                 }
                                 //鍒犻櫎鎶ュ伐锛屽皢瀹℃牳鐘舵�佹敼涓�-1
                                 reportingWorkMapper.deleteWork(reportingWorkId);
-                                //淇濆瓨鏃ュ織
-                                Log log = new Log();
-                                log.setContent(reportingWorkId+"-"+processId+"-"+thisProcess);
-                                log.setFunction("deleteWork鎶ュ伐鍏ュ簱鍒犻櫎");
-                                log.setOperatorId(userId);
-                                log.setOperator(userName);
                                 logService.saveLog(log);
                                 return true;
                             } else {
@@ -666,12 +693,7 @@
                             //鍒犻櫎鎶ュ伐锛屽皢瀹℃牳鐘舵�佹敼涓�-1
                             reportingWorkMapper.deleteWork(reportingWorkId);
 
-                            //淇濆瓨鏃ュ織
-                            Log log = new Log();
-                            log.setContent(reportingWorkId+"-"+processId+"-"+thisProcess);
-                            log.setFunction("deleteWork鎶ュ伐鍒犻櫎");
-                            log.setOperatorId(userId);
-                            log.setOperator(userName);
+
                             logService.saveLog(log);
                             return true;
                         } else {
@@ -1182,7 +1204,10 @@
         date.add(endDate);
         Map<String, Object> result = new HashMap<>();
         BasicData basicData = basicDataMapper
-                .selectOne(new QueryWrapper<BasicData>().eq("basic_name", reportingWork.get("process")));
+                .selectOne(new QueryWrapper<BasicData>()
+                        .eq("basic_name", reportingWork.get("process"))
+                        .last("limit 1")
+                );
         result.put("data",orderProcessDetailMapper.selectShiftQuantitySv(creatorId, startDate, endDate,basicData==null?null:basicData.getNickname()));
         result.put("date",date);
         return result;
@@ -1202,14 +1227,20 @@
         date.add(startDate);
         date.add(endDate);
         Map<String, Object> result = new HashMap<>();
-        result.put("data",reportingWorkMapper.selectList(
+        List<ReportingWork> reportingWorkList = 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")));
+                        .orderByDesc("id"));
+        reportingWorkList.forEach(reportingWork1 -> {
+            String Plies =  reportingWorkDetailMapper.getGlassPliesCount(reportingWork1.getReportingWorkId());
+            reportingWork1.setProcessId(reportingWork1.getProcessId()+'/'+Plies);
+        });
+
+        result.put("data",reportingWorkList);
         result.put("date",date);
 
          return result;

--
Gitblit v1.8.0