From c27bbcc497711df8b13d096f4917b5a8f16508c9 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期日, 28 九月 2025 10:28:59 +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 |  375 ++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 297 insertions(+), 78 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 ff18b7d..6fc915b 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
@@ -254,90 +254,127 @@
         return map;
     }
 
-    //鎶ュ伐鏂板
+
     @Transactional(rollbackFor = Exception.class)
     public boolean SaveReportingWorkSv(Map<String, Object> reportingWorkMap) {
-        //鎺ユ敹瑙f瀽涓婚檮琛ㄤ俊鎭�
+        // 鎺ユ敹瑙f瀽涓婚檮琛ㄤ俊鎭�
         JSONObject reportingWorkJson = new JSONObject(reportingWorkMap);
-        ReportingWork reportingWork = JSONObject.parseObject(JSONObject.toJSONString(reportingWorkJson.get("title")), ReportingWork.class);
-        List<ReportingWorkDetail> reportingWorkDetails = JSONArray.parseArray(JSONObject.toJSONString(reportingWorkJson.get("detail")), ReportingWorkDetail.class);
-        //鑾峰彇褰撳墠鏈�澶ф姤宸ュ崟鍙风敓鎴愭姤宸ュ崟鍙�
-        String formattedNumber = String.format("%04d", reportingWorkMapper.selectMaxReportingWorkId() + 1);
-        //鏍煎紡鍖栧綋鍓嶆棩鏈�
+        ReportingWork reportingWork = JSONObject.parseObject(
+                JSONObject.toJSONString(reportingWorkJson.get("title")), ReportingWork.class);
+        List<ReportingWorkDetail> reportingWorkDetails = JSONArray.parseArray(
+                JSONObject.toJSONString(reportingWorkJson.get("detail")), ReportingWorkDetail.class);
+
+        // 鎶ュ伐缂栧彿
+        Integer maxId = reportingWorkMapper.selectMaxReportingWorkId();
+        if (maxId == null) {
+            maxId = 0;
+        }
+        String formattedNumber = String.format("%04d", maxId + 1);
+
+        // 鏍煎紡鍖栧綋鍓嶆棩鏈�
         Date currentDate = new Date();
         SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
         String formattedDate = dateFormat.format(currentDate);
         String reportingWorkId = "BG" + formattedDate + formattedNumber;
         reportingWork.setReportingWorkId(reportingWorkId);
-        String[] processIdStr = reportingWork.getProcessId().split("/");
-        reportingWork.setProcessId(processIdStr[0]);
+
+        // 澶勭悊宸ュ簭 ID
+        String[] processIdStr = reportingWork.getProcessId() != null
+                ? reportingWork.getProcessId().split("/")
+                : new String[]{""};
+        reportingWork.setProcessId(processIdStr[0]); // 淇濆簳鍙彇绗竴涓�
         reportingWork.setThisWornQuantity(0);
         reportingWork.setThisCompletedQuantity(0);
 
-        int reviewState = (int) reportingWorkJson.get("type");
-        if (reviewState == 1) {//瀹℃牳閫氳繃
+        // 瀹℃牳鐘舵��
+        Integer reviewState = reportingWorkJson.getInteger("type");
+        if (reviewState != null && reviewState == 1) { // 瀹℃牳閫氳繃
             reportingWork.setReviewed(reportingWork.getCreator());
             reportingWork.setReviewedState(1);
         } else {
             reportingWork.setReviewedState(0);
         }
-        if(reportingWork.getReportingWorkTime()==null){
-            LocalDateTime localDateTime = LocalDateTime.now();
-            reportingWork.setReportingWorkTime(localDateTime);
-        }
-        //鏄惁绾胯ˉ 1鐜拌ˉ 0鏈幇琛�
-        int isPatch = (reportingWorkJson.get("isPatch") != null) ? (int) reportingWorkJson.get("isPatch") : 0;
 
-        //涓昏〃鎻掑叆
+        // 鏃堕棿涓虹┖鍒欒ˉ涓婂綋鍓嶆椂闂�
+        if (reportingWork.getReportingWorkTime() == null) {
+            reportingWork.setReportingWorkTime(LocalDateTime.now());
+        }
+
+        // 鏄惁绾胯ˉ 1鐜拌ˉ 0鏈幇琛�
+        int isPatch = reportingWorkJson.getInteger("isPatch") != null
+                ? reportingWorkJson.getInteger("isPatch") : 0;
+
+        // 涓昏〃鎻掑叆
         reportingWorkMapper.insert(reportingWork);
-        //鍓〃寰幆鎻掑叆锛屽苟涓旀彃鍏ユ鐮翠俊鎭〃銆傚啀鏍规嵁娆$牬淇℃伅淇敼璁㈠崟鐜荤拑娴佺▼琛ㄧ殑瀹屽伐鏁伴噺涓庡埡鐮存暟閲�
-        final Integer[] maxTechnologyNumber = {0,0};
+
+        // 鍓〃寰幆鎻掑叆锛屽苟澶勭悊娆$牬閫昏緫
+        final Integer[] maxTechnologyNumber = {0, 0};
         reportingWorkDetails.forEach(reportingWorkDetail -> {
-            //鍚堢墖鏁伴噺姹囨�诲噺灏�
-            if(Integer.parseInt(reportingWorkDetail.getTechnologyNumber()) > maxTechnologyNumber[0]){
-                maxTechnologyNumber[0] = Integer.valueOf(reportingWorkDetail.getTechnologyNumber());
-                maxTechnologyNumber[1]+=1;
+            if (reportingWorkDetail == null) return;
+
+            // 缁熶竴鐢ㄥ畨鍏ㄦ暟鍊硷紝閬垮厤 null 鎶ラ敊
+            int completedQty = Optional.ofNullable(reportingWorkDetail.getCompletedQuantity()).orElse(0);
+            int breakageQty = Optional.ofNullable(reportingWorkDetail.getBreakageQuantity()).orElse(0);
+
+            // 鍚堢墖鏁伴噺姹囨�诲噺灏�
+            try {
+                int techNum = Integer.parseInt(reportingWorkDetail.getTechnologyNumber());
+                if (techNum > maxTechnologyNumber[0]) {
+                    maxTechnologyNumber[0] = techNum;
+                    maxTechnologyNumber[1] += 1;
+                }
+            } catch (NumberFormatException ignored) {
             }
-            reportingWork.setThisCompletedQuantity(reportingWork.getThisCompletedQuantity() + reportingWorkDetail.getCompletedQuantity());
-            reportingWork.setThisWornQuantity(reportingWork.getThisWornQuantity() + reportingWorkDetail.getBreakageQuantity());
-            int qualityInsStatus = (int) reportingWorkJson.get("qualityInsStatus");
+
+            reportingWork.setThisCompletedQuantity(reportingWork.getThisCompletedQuantity() + completedQty);
+            reportingWork.setThisWornQuantity(reportingWork.getThisWornQuantity() + breakageQty);
+
+            int qualityInsStatus = reportingWorkJson.getInteger("qualityInsStatus") != null
+                    ? reportingWorkJson.getInteger("qualityInsStatus") : 0;
+
             reportingWorkDetail.setReportingWorkId(reportingWorkId);
             List<DamageDetails> damageDetails = reportingWorkDetail.getDamageDetails();
-            reportingWork.setNextProcess(orderProcessDetailMapper.selectNextProcess(processIdStr[0],processIdStr[1],reportingWork.getThisProcess(),reportingWorkDetail.getOrderNumber()));
 
-            //娆$牬鏄庣粏琛ㄦ彃鍏ユ暟鎹�
+            reportingWork.setNextProcess(orderProcessDetailMapper.selectNextProcess(
+                    processIdStr[0],
+                    processIdStr.length > 1 ? processIdStr[1] : "",
+                    reportingWork.getThisProcess(),
+                    reportingWorkDetail.getOrderNumber()
+            ));
+
+            // 娆$牬鏄庣粏琛ㄦ彃鍏ユ暟鎹�
             if (damageDetails != null && !damageDetails.isEmpty()) {
                 damageDetails.forEach(damageDetail -> {
+                    if (damageDetail == null) return;
                     damageDetail.setReportingWorkId(reportingWorkId);
                     damageDetail.setOrderNumber(reportingWorkDetail.getOrderNumber());
                     damageDetail.setProcessId(reportingWork.getProcessId());
                     damageDetail.setTechnologyNumber(reportingWorkDetail.getTechnologyNumber());
-                    //璺ㄥ伐搴忔鐮翠慨鏀硅川妫�鐘舵��
-                    if (!damageDetail.getResponsibleProcess().equals(reportingWork.getThisProcess()) && qualityInsStatus==2) {
+
+                    if (!Objects.equals(damageDetail.getResponsibleProcess(), reportingWork.getThisProcess())
+                            && qualityInsStatus == 2) {
                         damageDetail.setQualityInsStatus(1);
                     }
-                    if (isPatch == 1){
+                    if (isPatch == 1) {
                         damageDetail.setQualityInsStatus(2);
                     }
                     damageDetailsMapper.insert(damageDetail);
                 });
             }
-            //鏌ヨ娴佺▼鍗″伐鑹烘祦绋�
-            String technologicalProcess = reportingWorkMapper.SelectTechnologicalProcess(reportingWork.getProcessId(), reportingWorkDetail.getTechnologyNumber());
 
-            int index = technologicalProcess.indexOf("-");
-            String interceptProcess = "";
-            if (index <0){
-                 interceptProcess = technologicalProcess;
-            }
-            else {
-                //鑾峰彇宸ヨ壓娴佺▼绗竴涓伐搴�
-                 interceptProcess = technologicalProcess.substring(0, index);
+            // 鏌ヨ宸ヨ壓娴佺▼
+            String technologicalProcess = reportingWorkMapper.SelectTechnologicalProcess(
+                    reportingWork.getProcessId(), reportingWorkDetail.getTechnologyNumber());
+            String interceptProcess;
+            if (technologicalProcess != null) {
+                int index = technologicalProcess.indexOf("-");
+                interceptProcess = (index < 0) ? technologicalProcess : technologicalProcess.substring(0, index);
+            } else {
+                interceptProcess = "";
             }
 
-
-            //鍒ゆ柇褰撳墠宸ュ簭鏄惁涓虹涓�閬撳伐搴忓伐搴忥紝浣跨敤娴佺▼鍗¤〃鏁伴噺鎴栬�呭皬鐗囨祦绋嬭〃涓婂伐搴忔暟閲�
-            int processNum = 0;
+            // 鍒ゆ柇鏄惁绗竴閬撳伐搴�
+            int processNum;
             if (interceptProcess.equals(reportingWork.getThisProcess())) {
                 processNum = reportingWorkMapper.selectFlowCardNum(
                         reportingWorkDetail.getOrderNumber(),
@@ -354,75 +391,244 @@
                 );
             }
 
-
-            //鍒ゆ柇鏄惁澶т簬褰撳墠鏁伴噺骞朵笖鎶涘嚭寮傚父
-            if (processNum < (reportingWorkDetail.getBreakageQuantity() + reportingWorkDetail.getCompletedQuantity())) {
+            // 鏍¢獙鏁伴噺鍚堟硶鎬�
+            if (processNum < (breakageQty + completedQty)) {
                 Map<String, Object> map = new HashMap<>();
                 map.put("orderNumber", reportingWorkDetail.getOrderNumber());
-                map.put("technologyNumber", reportingWorkDetail.getOrderNumber());
+                map.put("technologyNumber", reportingWorkDetail.getTechnologyNumber()); // 淇閿欒
                 map.put("processNum", processNum);
-                map.put("sumNum", reportingWorkDetail.getBreakageQuantity() + reportingWorkDetail.getCompletedQuantity());
+                map.put("sumNum", breakageQty + completedQty);
                 String msg = JSON.toJSONString(map);
                 throw new ServiceException(Constants.Code_600, msg);
             }
 
             OrderProcessDetail orderProcessDetail = new OrderProcessDetail();
-            orderProcessDetail.setBrokenNum(reportingWorkDetail.getBreakageQuantity());
-            orderProcessDetail.setReportingWorkNum(reportingWorkDetail.getCompletedQuantity());
-            orderProcessDetail.setReportingWorkNumCount(reportingWorkDetail.getCompletedQuantity());
+            orderProcessDetail.setBrokenNum(breakageQty);
+            orderProcessDetail.setReportingWorkNum(completedQty);
+            orderProcessDetail.setReportingWorkNumCount(completedQty);
 
-
-            if (isPatch == 0){//鏈幇琛�
-                //鏍规嵁璁㈠崟id锛岃鍗曞簭鍙凤紝浠ュ強灏忕墖搴忓彿 鏇存柊灏忕墖娴佺▼鐨勫畬宸ユ暟閲忎互鍙婂埡鐮存暟閲�
+            // 鏈幇琛ワ細鏇存柊灏忕墖娴佺▼鏁伴噺
+            if (isPatch == 0) {
                 LambdaUpdateWrapper<OrderProcessDetail> updateWrapper = new LambdaUpdateWrapper<>();
                 updateWrapper.eq(OrderProcessDetail::getOrderNumber, reportingWorkDetail.getOrderNumber())
                         .eq(OrderProcessDetail::getProcessId, reportingWork.getProcessId())
                         .eq(OrderProcessDetail::getOrderId, reportingWork.getOrderId())
                         .eq(OrderProcessDetail::getProcess, reportingWork.getThisProcess())
                         .eq(OrderProcessDetail::getTechnologyNumber, reportingWorkDetail.getTechnologyNumber())
-                        .setSql("reporting_work_num_count = reporting_work_num_count +" + orderProcessDetail.getReportingWorkNum())
-                        .setSql("reporting_work_num =reporting_work_num +" + orderProcessDetail.getReportingWorkNum())
+                        .setSql("reporting_work_num_count = reporting_work_num_count +" + completedQty)
+                        .setSql("reporting_work_num = reporting_work_num +" + completedQty)
                         .setSql("update_time = now()")
-                        .setSql("broken_num =broken_num +" + orderProcessDetail.getBrokenNum());
+                        .setSql("broken_num = broken_num +" + breakageQty);
                 orderProcessDetailMapper.update(null, updateWrapper);
             }
 
-            //鍒ゆ柇瀹屽伐鏁伴噺鍜屽埡鐮存暟閲忔槸鍚︿负0锛屼负0鍒欎笉鎻掑叆鍒版暟鎹簱
-            if (!(reportingWorkDetail.getCompletedQuantity() == 0 && reportingWorkDetail.getBreakageQuantity() == 0)) {
+            // 鍒ゆ柇瀹屽伐鏁伴噺鍜屾鐮存暟閲忔槸鍚︿负0锛屼负0鍒欎笉鎻掑叆
+            if (!(completedQty == 0 && breakageQty == 0)) {
                 reportingWorkDetailMapper.insert(reportingWorkDetail);
             }
 
-            //鏇存柊娴佺▼鍗¤〃鐨勬姤宸ユ暟閲�
+            // 鏇存柊娴佺▼鍗℃姤宸ユ暟閲�
             if (reportingWork.getNextProcess() == null || reportingWork.getNextProcess().isEmpty()) {
-                LambdaUpdateWrapper<FlowCard> flowCardLambdaUpdateWrapper =
-                        new LambdaUpdateWrapper<>();
+                LambdaUpdateWrapper<FlowCard> flowCardLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
                 flowCardLambdaUpdateWrapper
                         .eq(FlowCard::getProcessId, reportingWork.getProcessId())
                         .eq(FlowCard::getOrderNumber, reportingWorkDetail.getOrderNumber())
                         .eq(FlowCard::getTechnologyNumber, reportingWorkDetail.getTechnologyNumber())
-                        .setSql("inventory_quantity = inventory_quantity +" + orderProcessDetail.getReportingWorkNum());
+                        .setSql("inventory_quantity = inventory_quantity +" + completedQty);
                 flowCardMapper.update(null, flowCardLambdaUpdateWrapper);
             }
-
-
         });
-        //鑾峰彇鎶ュ伐宸ュ簭鏄惁涓哄鍚堝伐绋�
 
-        reportingWork.setThisCompletedQuantity(reportingWork.getThisCompletedQuantity()/maxTechnologyNumber[1]);
-
+        // 鑾峰彇鎶ュ伐宸ュ簭鏄惁涓哄鍚堝伐绋�
+        if (maxTechnologyNumber[1] != 0) {
+            reportingWork.setThisCompletedQuantity(
+                    reportingWork.getThisCompletedQuantity() / maxTechnologyNumber[1]);
+        }
 
         reportingWorkMapper.update(reportingWork, new LambdaUpdateWrapper<ReportingWork>()
                 .eq(ReportingWork::getId, reportingWork.getId()));
 
-        //淇濆瓨鏃ュ織
+        // 淇濆瓨鏃ュ織
         Log log = new Log();
-        log.setContent(reportingWorkMap.toString());
+        log.setContent(JSON.toJSONString(reportingWorkMap));
         log.setFunction("saveReportingWork鎶ュ伐鏂板");
-        log.setOperatorId((String) reportingWorkJson.get("userId"));
-        log.setOperator((String) reportingWorkJson.get("userName"));
+        log.setOperatorId(reportingWorkJson.getString("userId"));
+        log.setOperator(reportingWorkJson.getString("userName"));
         logService.saveLog(log);
+
         return true;
     }
+
+
+    //鎶ュ伐鏂板
+//    @Transactional(rollbackFor = Exception.class)
+//    public boolean SaveReportingWorkSv(Map<String, Object> reportingWorkMap) {
+//        //鎺ユ敹瑙f瀽涓婚檮琛ㄤ俊鎭�
+//        JSONObject reportingWorkJson = new JSONObject(reportingWorkMap);
+//        ReportingWork reportingWork = JSONObject.parseObject(JSONObject.toJSONString(reportingWorkJson.get("title")), ReportingWork.class);
+//        List<ReportingWorkDetail> reportingWorkDetails = JSONArray.parseArray(JSONObject.toJSONString(reportingWorkJson.get("detail")), ReportingWorkDetail.class);
+//        //鑾峰彇褰撳墠鏈�澶ф姤宸ュ崟鍙风敓鎴愭姤宸ュ崟鍙�
+//        String formattedNumber = String.format("%04d", reportingWorkMapper.selectMaxReportingWorkId() + 1);
+//        //鏍煎紡鍖栧綋鍓嶆棩鏈�
+//        Date currentDate = new Date();
+//        SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
+//        String formattedDate = dateFormat.format(currentDate);
+//        String reportingWorkId = "BG" + formattedDate + formattedNumber;
+//        reportingWork.setReportingWorkId(reportingWorkId);
+//        String[] processIdStr = reportingWork.getProcessId().split("/");
+//        reportingWork.setProcessId(processIdStr[0]);
+//        reportingWork.setThisWornQuantity(0);
+//        reportingWork.setThisCompletedQuantity(0);
+//
+//        int reviewState = (int) reportingWorkJson.get("type");
+//        if (reviewState == 1) {//瀹℃牳閫氳繃
+//            reportingWork.setReviewed(reportingWork.getCreator());
+//            reportingWork.setReviewedState(1);
+//        } else {
+//            reportingWork.setReviewedState(0);
+//        }
+//        if(reportingWork.getReportingWorkTime()==null){
+//            LocalDateTime localDateTime = LocalDateTime.now();
+//            reportingWork.setReportingWorkTime(localDateTime);
+//        }
+//        //鏄惁绾胯ˉ 1鐜拌ˉ 0鏈幇琛�
+//        int isPatch = (reportingWorkJson.get("isPatch") != null) ? (int) reportingWorkJson.get("isPatch") : 0;
+//
+//        //涓昏〃鎻掑叆
+//        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");
+//            reportingWorkDetail.setReportingWorkId(reportingWorkId);
+//            List<DamageDetails> damageDetails = reportingWorkDetail.getDamageDetails();
+//            reportingWork.setNextProcess(orderProcessDetailMapper.selectNextProcess(processIdStr[0],processIdStr[1],reportingWork.getThisProcess(),reportingWorkDetail.getOrderNumber()));
+//
+//            //娆$牬鏄庣粏琛ㄦ彃鍏ユ暟鎹�
+//            if (damageDetails != null && !damageDetails.isEmpty()) {
+//                damageDetails.forEach(damageDetail -> {
+//                    damageDetail.setReportingWorkId(reportingWorkId);
+//                    damageDetail.setOrderNumber(reportingWorkDetail.getOrderNumber());
+//                    damageDetail.setProcessId(reportingWork.getProcessId());
+//                    damageDetail.setTechnologyNumber(reportingWorkDetail.getTechnologyNumber());
+//                    //璺ㄥ伐搴忔鐮翠慨鏀硅川妫�鐘舵��
+//                    if (!damageDetail.getResponsibleProcess().equals(reportingWork.getThisProcess()) && qualityInsStatus==2) {
+//                        damageDetail.setQualityInsStatus(1);
+//                    }
+//                    if (isPatch == 1){
+//                        damageDetail.setQualityInsStatus(2);
+//                    }
+//                    damageDetailsMapper.insert(damageDetail);
+//                });
+//            }
+//            //鏌ヨ娴佺▼鍗″伐鑹烘祦绋�
+//            String technologicalProcess = reportingWorkMapper.SelectTechnologicalProcess(reportingWork.getProcessId(), reportingWorkDetail.getTechnologyNumber());
+//
+//            int index = technologicalProcess.indexOf("-");
+//            String interceptProcess = "";
+//            if (index <0){
+//                 interceptProcess = technologicalProcess;
+//            }
+//            else {
+//                //鑾峰彇宸ヨ壓娴佺▼绗竴涓伐搴�
+//                 interceptProcess = technologicalProcess.substring(0, index);
+//            }
+//
+//
+//            //鍒ゆ柇褰撳墠宸ュ簭鏄惁涓虹涓�閬撳伐搴忓伐搴忥紝浣跨敤娴佺▼鍗¤〃鏁伴噺鎴栬�呭皬鐗囨祦绋嬭〃涓婂伐搴忔暟閲�
+//            int processNum = 0;
+//            if (interceptProcess.equals(reportingWork.getThisProcess())) {
+//                processNum = reportingWorkMapper.selectFlowCardNum(
+//                        reportingWorkDetail.getOrderNumber(),
+//                        reportingWorkDetail.getTechnologyNumber(),
+//                        reportingWork.getProcessId(),
+//                        reportingWork.getThisProcess()
+//                );
+//            } else {
+//                processNum = reportingWorkMapper.selectGlassProcessNum(
+//                        reportingWorkDetail.getOrderNumber(),
+//                        reportingWorkDetail.getTechnologyNumber(),
+//                        reportingWork.getProcessId(),
+//                        reportingWork.getThisProcess()
+//                );
+//            }
+//
+//
+//            //鍒ゆ柇鏄惁澶т簬褰撳墠鏁伴噺骞朵笖鎶涘嚭寮傚父
+//            if (processNum < (reportingWorkDetail.getBreakageQuantity() + reportingWorkDetail.getCompletedQuantity())) {
+//                Map<String, Object> map = new HashMap<>();
+//                map.put("orderNumber", reportingWorkDetail.getOrderNumber());
+//                map.put("technologyNumber", reportingWorkDetail.getOrderNumber());
+//                map.put("processNum", processNum);
+//                map.put("sumNum", reportingWorkDetail.getBreakageQuantity() + reportingWorkDetail.getCompletedQuantity());
+//                String msg = JSON.toJSONString(map);
+//                throw new ServiceException(Constants.Code_600, msg);
+//            }
+//
+//            OrderProcessDetail orderProcessDetail = new OrderProcessDetail();
+//            orderProcessDetail.setBrokenNum(reportingWorkDetail.getBreakageQuantity());
+//            orderProcessDetail.setReportingWorkNum(reportingWorkDetail.getCompletedQuantity());
+//            orderProcessDetail.setReportingWorkNumCount(reportingWorkDetail.getCompletedQuantity());
+//
+//
+//            if (isPatch == 0){//鏈幇琛�
+//                //鏍规嵁璁㈠崟id锛岃鍗曞簭鍙凤紝浠ュ強灏忕墖搴忓彿 鏇存柊灏忕墖娴佺▼鐨勫畬宸ユ暟閲忎互鍙婂埡鐮存暟閲�
+//                LambdaUpdateWrapper<OrderProcessDetail> updateWrapper = new LambdaUpdateWrapper<>();
+//                updateWrapper.eq(OrderProcessDetail::getOrderNumber, reportingWorkDetail.getOrderNumber())
+//                        .eq(OrderProcessDetail::getProcessId, reportingWork.getProcessId())
+//                        .eq(OrderProcessDetail::getOrderId, reportingWork.getOrderId())
+//                        .eq(OrderProcessDetail::getProcess, reportingWork.getThisProcess())
+//                        .eq(OrderProcessDetail::getTechnologyNumber, reportingWorkDetail.getTechnologyNumber())
+//                        .setSql("reporting_work_num_count = reporting_work_num_count +" + orderProcessDetail.getReportingWorkNum())
+//                        .setSql("reporting_work_num =reporting_work_num +" + orderProcessDetail.getReportingWorkNum())
+//                        .setSql("update_time = now()")
+//                        .setSql("broken_num =broken_num +" + orderProcessDetail.getBrokenNum());
+//                orderProcessDetailMapper.update(null, updateWrapper);
+//            }
+//
+//            //鍒ゆ柇瀹屽伐鏁伴噺鍜屽埡鐮存暟閲忔槸鍚︿负0锛屼负0鍒欎笉鎻掑叆鍒版暟鎹簱
+//            if (!(reportingWorkDetail.getCompletedQuantity() == 0 && reportingWorkDetail.getBreakageQuantity() == 0)) {
+//                reportingWorkDetailMapper.insert(reportingWorkDetail);
+//            }
+//
+//            //鏇存柊娴佺▼鍗¤〃鐨勬姤宸ユ暟閲�
+//            if (reportingWork.getNextProcess() == null || reportingWork.getNextProcess().isEmpty()) {
+//                LambdaUpdateWrapper<FlowCard> flowCardLambdaUpdateWrapper =
+//                        new LambdaUpdateWrapper<>();
+//                flowCardLambdaUpdateWrapper
+//                        .eq(FlowCard::getProcessId, reportingWork.getProcessId())
+//                        .eq(FlowCard::getOrderNumber, reportingWorkDetail.getOrderNumber())
+//                        .eq(FlowCard::getTechnologyNumber, reportingWorkDetail.getTechnologyNumber())
+//                        .setSql("inventory_quantity = inventory_quantity +" + orderProcessDetail.getReportingWorkNum());
+//                flowCardMapper.update(null, flowCardLambdaUpdateWrapper);
+//            }
+//
+//
+//        });
+//        //鑾峰彇鎶ュ伐宸ュ簭鏄惁涓哄鍚堝伐绋�
+//
+//        reportingWork.setThisCompletedQuantity(reportingWork.getThisCompletedQuantity()/maxTechnologyNumber[1]);
+//
+//
+//        reportingWorkMapper.update(reportingWork, new LambdaUpdateWrapper<ReportingWork>()
+//                .eq(ReportingWork::getId, reportingWork.getId()));
+//
+//        //淇濆瓨鏃ュ織
+//        Log log = new Log();
+//        log.setContent(reportingWorkMap.toString());
+//        log.setFunction("saveReportingWork鎶ュ伐鏂板");
+//        log.setOperatorId((String) reportingWorkJson.get("userId"));
+//        log.setOperator((String) reportingWorkJson.get("userName"));
+//        logService.saveLog(log);
+//        return true;
+//    }
 
     //涓嬪伐搴忓鏍告柟娉�
     public boolean ReviewReportingWorkSv(Map<String, String> reportingWork) {
@@ -735,15 +941,28 @@
     }
 
     //鏌ヨ璐ㄦ瀹℃牳
-    public Map<String, Object> selectQualityTestingSv(Integer pageNum, Integer pageSize, java.sql.Date selectTime1, java.sql.Date selectTime2, Integer state, String processId, ReportingWork reportingWork) {
+    public Map<String, Object> selectQualityTestingSv(Integer pageNum, Integer pageSize, List<String> selectDate, Integer state, String processId, ReportingWork reportingWork) {
         Integer offset = (pageNum - 1) * pageSize;
         if ("null".equals(processId)) {
             processId = "";
         }
+        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.selectQualityTestingMp(offset, pageSize, selectTime1, selectTime2, state, processId, reportingWork));
-        map.put("total", reportingWorkMapper.getQualityPageTotal(offset, pageSize, selectTime1, selectTime2, state, processId, reportingWork));
-
+        map.put("data", reportingWorkMapper.selectQualityTestingMp(offset, pageSize, startDate, endDate, state, processId, reportingWork));
+        map.put("total", reportingWorkMapper.getQualityPageTotal(offset, pageSize, startDate, endDate, state, processId, reportingWork));
+        List<String> list = new ArrayList<>();
+        list.add(startDate);
+        list.add(endDate);
+        map.put("selectDate",list);
         return map;
     }
 

--
Gitblit v1.8.0