From c18fecddd8c9a165c6a1026c5573f864e1713718 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期三, 06 八月 2025 16:56:29 +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 |   84 ++++++++++++++++++++++++++++++------------
 1 files changed, 60 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 9e011fe..9ea1504 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;
 
 
@@ -275,7 +271,13 @@
         //涓昏〃鎻掑叆
         reportingWorkMapper.insert(reportingWork);
         //鍓〃寰幆鎻掑叆锛屽苟涓旀彃鍏ユ鐮翠俊鎭〃銆傚啀鏍规嵁娆$牬淇℃伅淇敼璁㈠崟鐜荤拑娴佺▼琛ㄧ殑瀹屽伐鏁伴噺涓庡埡鐮存暟閲�
+        final Integer[] maxTechnologyNumber = {0,0};
         reportingWorkDetails.forEach(reportingWorkDetail -> {
+            //鍚堢墖鏁伴噺姹囨�诲噺灏�
+            if(Integer.parseInt(reportingWorkDetail.getTechnologyNumber()) > maxTechnologyNumber[0]){
+                maxTechnologyNumber[0] = Integer.valueOf(reportingWorkDetail.getTechnologyNumber());
+                maxTechnologyNumber[1]+=1;
+            }
             reportingWork.setThisCompletedQuantity(reportingWork.getThisCompletedQuantity() + reportingWorkDetail.getCompletedQuantity());
             reportingWork.setThisWornQuantity(reportingWork.getThisWornQuantity() + reportingWorkDetail.getBreakageQuantity());
             int qualityInsStatus = (int) reportingWorkJson.get("qualityInsStatus");
@@ -384,6 +386,11 @@
 
 
         });
+        //鑾峰彇鎶ュ伐宸ュ簭鏄惁涓哄鍚堝伐绋�
+
+        reportingWork.setThisCompletedQuantity(reportingWork.getThisCompletedQuantity()/maxTechnologyNumber[1]);
+
+
         reportingWorkMapper.update(reportingWork, new LambdaUpdateWrapper<ReportingWork>()
                 .eq(ReportingWork::getId, reportingWork.getId()));
 
@@ -439,6 +446,7 @@
                 orderMapper.selectOne(new LambdaQueryWrapper<Order>()
                         .eq(Order::getOrderId, reportingWork.getOrderId())));
         reportingWork.setFlowCard(new FlowCard());
+
 
 
 
@@ -577,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;
     }
 
@@ -605,6 +627,21 @@
             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){
+                        reportingWorkMapper.deleteWork(reportingWorkId);
+                        logService.saveLog(log);
+                        return true;
+                    }
+
                     //鍒ゆ柇鏄惁鏄叆搴撳伐搴�
                     if (lastProcess.equals(thisProcess)) {//鏄叆搴撳伐搴�
                         //鏌ヨ璇ユ祦绋嬪崱鏁伴噺銆佸彲鍏ュ簱鏁伴噺銆佸凡鍏ュ簱鏁伴噺
@@ -631,12 +668,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 {
@@ -652,15 +683,11 @@
                                 //鏇存柊鎶ュ伐娴佺▼琛ㄦ暟鎹�
                                 reportingWorkMapper.updateWorkProcess(processId, item.get("order_number"), item.get("technology_number"), item.get("completed_quantity"), item.get("breakage_quantity"), thisProcess);
                             }
+                            System.out.println(1);
                             //鍒犻櫎鎶ュ伐锛屽皢瀹℃牳鐘舵�佹敼涓�-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 {
@@ -1171,7 +1198,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;
@@ -1191,14 +1221,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