From f747fddabf9195706eef73c4ca233c881b7dfe75 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 15 十月 2024 15:38:45 +0800
Subject: [PATCH] 工时调整+标签打印调整+特殊项的保存

---
 inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto3.java                                   |    3 
 inspect-server/src/main/java/com/yuanchu/mom/dto/SubmitPlanDto.java                                       |   24 +++
 inspect-server/src/main/resources/mapper/InsSampleMapper.xml                                              |   11 +
 inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto2.java                                   |    2 
 performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java                    |   17 +
 inspect-server/src/main/java/com/yuanchu/mom/dto/InsProductResultDto.java                                 |    1 
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java                    |  276 +++++++++++++++------------------------
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java                        |    6 
 performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java |    9 
 inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java                       |   27 ++-
 performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml                        |   13 -
 inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java                             |    6 
 12 files changed, 188 insertions(+), 207 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
index 0772bc0..0036898 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
@@ -8,8 +8,10 @@
 import com.yuanchu.mom.dto.InsOrderPlanDTO;
 import com.yuanchu.mom.dto.InsProductDto;
 import com.yuanchu.mom.dto.InsProductResultDto;
+import com.yuanchu.mom.dto.SubmitPlanDto;
 import com.yuanchu.mom.pojo.InsOrderFile;
 import com.yuanchu.mom.pojo.InsOrderState;
+import com.yuanchu.mom.pojo.InsProductResult;
 import com.yuanchu.mom.service.*;
 import com.yuanchu.mom.utils.JackSonUtil;
 import com.yuanchu.mom.vo.InsProductResultVo;
@@ -115,8 +117,8 @@
     @ValueClassify("妫�楠屼换鍔�")
     @ApiOperation(value = "妫�楠屼换鍔℃彁浜�")
     @PostMapping("/submitPlan")
-    public Result<?> submitPlan(Integer orderId,String laboratory, Integer verifyUser, String entrustCode, String note,String term) {
-        int num = insOrderPlanService.submitPlan(orderId, laboratory, verifyUser, entrustCode,note,term);
+    public Result<?> submitPlan(@RequestBody SubmitPlanDto submitPlanDto) {
+        int num = insOrderPlanService.submitPlan(submitPlanDto);
         return num == 1 ? Result.success() : Result.fail("鎻愪氦澶辫触锛岄儴鍒嗛」鐩繕鏈繘琛屾楠�");
     }
 
@@ -134,6 +136,20 @@
         Map<String, Object> param2 = JSON.parseObject(param, Map.class);
         insOrderPlanService.saveInsContext(param2,num);
         return Result.success();
+    }
+
+    @ApiOperation(value = "鐢佃矾璇曢獙鐨勪繚瀛樻楠屽唴瀹�")
+    @PostMapping("/saveInsContext2")
+    @ValueAuth
+    public Result<?> saveInsContext2(@RequestBody InsProductResultDto insProductResultDtos) {
+        return Result.success(insOrderPlanService.saveInsContext2(insProductResultDtos));
+    }
+
+    @ApiOperation(value = "娓╂箍搴﹁瘯楠�+鍔熺巼璇曢獙鐨勪繚瀛樻楠屽唴瀹�")
+    @PostMapping("/saveInsContext3")
+    @ValueAuth
+    public Result<?> saveInsContext3(@RequestBody InsProductResult insProductResult) {
+        return Result.success(insOrderPlanService.saveInsContext3(insProductResult));
     }
 
     @ValueAuth
@@ -184,13 +200,6 @@
     @PostMapping("/jumpTeam")
     public Result<?> jumpTeam(@RequestBody InsOrderState insOrderState) {
         return Result.success(insOrderStateService.jumpTeam(insOrderState));
-    }
-
-    @ApiOperation(value = "鐢佃矾璇曢獙鐨勪繚瀛樻楠屽唴瀹�")
-    @PostMapping("/saveInsContext2")
-    @ValueAuth
-    public Result<?> saveInsContext2(@RequestBody InsProductResultDto insProductResultDtos) {
-        return Result.success(insOrderPlanService.saveInsContext2(insProductResultDtos));
     }
 
     @ApiOperation(value = "鐢佃矾璇曢獙鐨勫垹闄ら娈�")
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsProductResultDto.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsProductResultDto.java
index a531e4a..95a341a 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsProductResultDto.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsProductResultDto.java
@@ -1,5 +1,6 @@
 package com.yuanchu.mom.dto;
 
+import com.yuanchu.mom.pojo.InsProductResult;
 import com.yuanchu.mom.pojo.InsProductResult2;
 import lombok.Data;
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto2.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto2.java
index d253543..963c790 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto2.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto2.java
@@ -44,7 +44,7 @@
     @ValueTableShow(value = 12, name = "璇曢獙瑕佹眰")
     private String tell;
 
-    @ValueTableShow(value = 13, name = "妫�楠岀粨鏋�")
+//    @ValueTableShow(value = 13, name = "妫�楠岀粨鏋�")
     private String lastValue;
 
     @ValueTableShow(value = 14, name = "缁撴灉鍒ゅ畾")
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto3.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto3.java
index 26c702c..2ab55b7 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto3.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto3.java
@@ -4,6 +4,7 @@
 import com.yuanchu.mom.pojo.InsSample;
 import lombok.Data;
 
+import java.time.LocalDate;
 import java.util.List;
 
 @Data
@@ -21,4 +22,6 @@
 
     private Integer isLeave;
 
+    private LocalDate issueTime;
+
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/SubmitPlanDto.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/SubmitPlanDto.java
new file mode 100644
index 0000000..52e591c
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/SubmitPlanDto.java
@@ -0,0 +1,24 @@
+package com.yuanchu.mom.dto;
+
+
+import com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours;
+import lombok.Data;
+
+import java.util.List;
+
+//妫�楠屼换鍔℃彁浜ゆ墍闇�鍙傛暟
+@Data
+public class SubmitPlanDto {
+
+    private Integer orderId;
+
+    private String  laboratory;
+
+    private Integer verifyUser;
+    private String entrustCode;
+    private String note;
+    private String term;
+
+    //浜ч噺宸ユ椂
+    private List<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHoursList;
+}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
index 94e9cb8..8ccd69b 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
@@ -3,9 +3,11 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.dto.InsOrderPlanDTO;
 import com.yuanchu.mom.dto.InsProductResultDto;
+import com.yuanchu.mom.dto.SubmitPlanDto;
 import com.yuanchu.mom.pojo.InsOrderFile;
 import com.yuanchu.mom.pojo.InsOrderUser;
 import com.yuanchu.mom.pojo.InsProduct;
+import com.yuanchu.mom.pojo.InsProductResult;
 import com.yuanchu.mom.vo.InsProductResultVo;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -36,7 +38,7 @@
 
     int verifyPlan(Integer orderId, String laboratory, Integer type, String tell) throws IOException;
 
-    int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode, String note,String term);
+    int submitPlan(SubmitPlanDto submitPlanDto);
 
     List<InsProduct> getInsProduct(Integer id, Integer type, String laboratory, HttpServletRequest request);
     List<InsProduct> getInsProduct2(Integer id, Integer type, String laboratory, HttpServletRequest request,Integer num);
@@ -61,4 +63,6 @@
 
     //棰勮鏂囦欢
     Object preview(Integer id) throws Exception;
+
+    int saveInsContext3(InsProductResult insProductResult);
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
index 6f76b2e..ff49a1e 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -20,6 +20,7 @@
 import com.yuanchu.mom.dto.InsOrderPlanDTO;
 import com.yuanchu.mom.dto.InsProductResultDto;
 import com.yuanchu.mom.dto.SampleProductDto;
+import com.yuanchu.mom.dto.SubmitPlanDto;
 import com.yuanchu.mom.exception.ErrorException;
 import com.yuanchu.mom.mapper.*;
 import com.yuanchu.mom.pojo.*;
@@ -32,6 +33,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
+
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.io.*;
@@ -89,7 +91,7 @@
     private String twoCode;
 
     @Resource
-    WordUtils  wordUtils;
+    WordUtils wordUtils;
 
     @Resource
     private InsReportMapper insReportMapper;
@@ -460,7 +462,7 @@
         return stringBuilder.toString();
     }
 
-
+    //妯$増淇濆瓨妫�楠屽唴瀹�
     @Override
     public void saveInsContext(Map<String, Object> insContext, Integer num) {
         Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
@@ -590,67 +592,6 @@
                 insProductMapper.updateById(insProduct);
                 insProductUserMapper.insert(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId()));
                 insProduct = insProductMapper.selectById(insProduct);
-                /*鐢熸垚浜ч噺宸ユ椂*/
-                //鏌ヨ妫�楠屽崟淇℃伅
-                InsOrder insOrder = insOrderMapper.selectById(insSampleMapper.selectById(insProduct.getInsSampleId()).getInsOrderId());
-                //鏍¢獙濡傛灉杩欎釜浜鸿繖涓娴嬮」鐩凡缁忔坊鍔犺繃浜嗗垯涓嶉渶瑕佸啀鏂板
-                //棣栧厛鍒ゆ柇褰撳墠浜虹殑褰撳墠鏃堕棿鏄惁鏄帓鐝椂闂村唴,濡傛灉涓嶆槸灏辨槸鍔犵彮
-                LocalDateTime today = LocalDateTime.of(LocalDate.now(), LocalTime.MIDNIGHT);
-                PerformanceShift performanceShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery()
-                        .eq(PerformanceShift::getUserId, userId)
-                        .eq(PerformanceShift::getWorkTime, today));
-                if (ObjectUtils.isNotEmpty(performanceShift)) {
-                    ShiftTime shiftTime = shiftTimeMapper.selectOne(Wrappers.<ShiftTime>lambdaQuery().eq(ShiftTime::getShift, performanceShift.getShift()));
-                    if (ObjectUtils.isNotEmpty(shiftTime)) {
-                        DateTimeFormatter forma = DateTimeFormatter.ofPattern("HH:mm");
-                        LocalTime now = LocalTime.now();
-                        LocalTime startTime = LocalTime.parse(shiftTime.getStartTime(), forma);
-                        LocalTime endTime = LocalTime.parse(shiftTime.getEndTime(), forma);
-                        // 妫�鏌ュ綋鍓嶆椂闂存槸鍚﹀湪鑼冨洿鍐咃紙鍖呮嫭杈圭晫锛�
-                        boolean isWithinRange;
-                        if (endTime.isAfter(startTime)) {
-                            // 涓嶈法澶╃殑鎯呭喌
-                            isWithinRange = !now.isBefore(startTime) && !now.isAfter(endTime);
-                        } else {
-                            // 璺ㄥぉ鐨勬儏鍐�
-                            isWithinRange = !now.isBefore(startTime) || !now.isAfter(endTime);
-                        }
-                        if (ObjectUtils.isNotEmpty(insProduct.getManHour())) {
-                            //鍏堝垹鍚庡姞(宸ユ椂璁板綍鏈�鍚庝竴娆′繚瀛樼殑鏃堕棿)
-                            auxiliaryOutputWorkingHoursMapper.delete(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
-                                    .eq(AuxiliaryOutputWorkingHours::getInsProductId, insProduct.getId()));
-                            AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours();
-                            if (isWithinRange) {
-                                //鍦ㄦ椂闂村唴灏辨槸姝e父涓婄彮
-                                auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode());//闈炲姞鐝鎵樺崟鍙�
-                                auxiliaryOutputWorkingHours.setWorkTime(insProduct.getManHour());//闈炲姞鐝伐鏃�
-                                auxiliaryOutputWorkingHours.setAmount(1);//闈炲姞鐝暟閲�
-                                auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime()) ? auxiliaryOutputWorkingHours.getOvertimeWorkTime() : 0) + (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime()) ? auxiliaryOutputWorkingHours.getWorkTime() : 0));//浜ч噺宸ユ椂
-
-                            } else {
-                                //鍔犵彮
-                                auxiliaryOutputWorkingHours.setOvertimeOrderNo(insOrder.getEntrustCode());//鍔犵彮濮旀墭鍗曞彿
-                                auxiliaryOutputWorkingHours.setOvertimeWorkTime(insProduct.getManHour());//鍔犵彮宸ユ椂
-                                auxiliaryOutputWorkingHours.setOvertimeAmount(1);//鍔犵彮鏁伴噺
-                                auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime()) ? auxiliaryOutputWorkingHours.getOvertimeWorkTime() : 0) + (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime()) ? auxiliaryOutputWorkingHours.getWorkTime() : 0));//浜ч噺宸ユ椂
-                            }
-                            auxiliaryOutputWorkingHours.setInspectionItem(insProduct.getInspectionItem());//妫�娴嬬埗椤�
-                            auxiliaryOutputWorkingHours.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());//妫�娴嬪瓙椤�
-                            auxiliaryOutputWorkingHours.setSample(insSampleMapper.selectById(insProduct.getInsSampleId()).getSampleCode());//鏍峰搧缂栧彿
-                            auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//宸ユ椂鍒嗙粍
-                            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
-                            DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-                            auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//鏃ユ湡
-                            LocalDateTime localDateTime = LocalDateTime.now();
-                            DateTime parse = DateUtil.parse(localDateTime.format(formatter));
-                            auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//鏄熸湡
-                            auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
-                            auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
-                            auxiliaryOutputWorkingHours.setInsProductId(insProduct.getId());//妫�楠岄」鐩甶d
-                            auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
-                        }
-                    }
-                }
                 InsSample insSample = insSampleMapper.selectById(insProductMapper.selectById(insProduct.getId()).getInsSampleId());
                 insSample.setInsState(1);
                 Long l = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
@@ -758,12 +699,10 @@
                 if (!insProduct.getAsk().contains(",")) {
                     if (insProduct.getAsk().equals("/")) {
                         ressult = 3; //涓嶅垽瀹�
-                    }
-                    else if (!isValueValid(valueStr, new String[]{insProduct.getAsk()})) {
+                    } else if (!isValueValid(valueStr, new String[]{insProduct.getAsk()})) {
                         ressult = 0; //涓嶅悎鏍�
                     }
-                }
-                else {
+                } else {
                     // 濡傛灉瑕佹眰鍊兼槸(2掳鈮�20,7掳鈮�25,12掳鈮�25)杩欑鎯呭喌
                     String[] askParts = insProduct.getAsk().split(",");
                     String[] angles = insProductResult2.getAngle().split(",");
@@ -802,65 +741,6 @@
             insProduct.setUpdateUser(userId);
             insProductMapper.updateById(insProduct);
             insProductUserMapper.insert(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId()));
-            /*鐢熸垚浜ч噺宸ユ椂*/
-            //鏍¢獙濡傛灉杩欎釜浜鸿繖涓娴嬮」鐩凡缁忔坊鍔犺繃浜嗗垯涓嶉渶瑕佸啀鏂板
-            //棣栧厛鍒ゆ柇褰撳墠浜虹殑褰撳墠鏃堕棿鏄惁鏄帓鐝椂闂村唴,濡傛灉涓嶆槸灏辨槸鍔犵彮
-            LocalDateTime today = LocalDateTime.of(LocalDate.now(), LocalTime.MIDNIGHT);
-            PerformanceShift performanceShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery()
-                    .eq(PerformanceShift::getUserId, userId)
-                    .eq(PerformanceShift::getWorkTime, today));
-            if (ObjectUtils.isNotEmpty(performanceShift)) {
-                ShiftTime shiftTime = shiftTimeMapper.selectOne(Wrappers.<ShiftTime>lambdaQuery().eq(ShiftTime::getShift, performanceShift.getShift()));
-                if (ObjectUtils.isNotEmpty(shiftTime)) {
-                    DateTimeFormatter forma = DateTimeFormatter.ofPattern("HH:mm");
-                    LocalTime now = LocalTime.now();
-                    LocalTime startTime = LocalTime.parse(shiftTime.getStartTime(), forma);
-                    LocalTime endTime = LocalTime.parse(shiftTime.getEndTime(), forma);
-                    // 妫�鏌ュ綋鍓嶆椂闂存槸鍚﹀湪鑼冨洿鍐咃紙鍖呮嫭杈圭晫锛�
-                    boolean isWithinRange;
-                    if (endTime.isAfter(startTime)) {
-                        // 涓嶈法澶╃殑鎯呭喌
-                        isWithinRange = !now.isBefore(startTime) && !now.isAfter(endTime);
-                    } else {
-                        // 璺ㄥぉ鐨勬儏鍐�
-                        isWithinRange = !now.isBefore(startTime) || !now.isAfter(endTime);
-                    }
-                    if (ObjectUtils.isNotEmpty(insProduct.getManHour())) {
-                        //鍏堝垹鍚庡姞(宸ユ椂璁板綍鏈�鍚庝竴娆′繚瀛樼殑鏃堕棿)
-                        auxiliaryOutputWorkingHoursMapper.delete(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
-                                .eq(AuxiliaryOutputWorkingHours::getInsProductId, insProduct.getId()));
-                        AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours();
-                        if (isWithinRange) {
-                            //鍦ㄦ椂闂村唴灏辨槸姝e父涓婄彮
-                            auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode());//闈炲姞鐝鎵樺崟鍙�
-                            auxiliaryOutputWorkingHours.setWorkTime(insProduct.getManHour());//闈炲姞鐝伐鏃�
-                            auxiliaryOutputWorkingHours.setAmount(1);//闈炲姞鐝暟閲�
-                            auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime()) ? auxiliaryOutputWorkingHours.getOvertimeWorkTime() : 0) + (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime()) ? auxiliaryOutputWorkingHours.getWorkTime() : 0));//浜ч噺宸ユ椂
-
-                        } else {
-                            //鍔犵彮
-                            auxiliaryOutputWorkingHours.setOvertimeOrderNo(insOrder.getEntrustCode());//鍔犵彮濮旀墭鍗曞彿
-                            auxiliaryOutputWorkingHours.setOvertimeWorkTime(insProduct.getManHour());//鍔犵彮宸ユ椂
-                            auxiliaryOutputWorkingHours.setOvertimeAmount(1);//鍔犵彮鏁伴噺
-                            auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime()) ? auxiliaryOutputWorkingHours.getOvertimeWorkTime() : 0) + (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime()) ? auxiliaryOutputWorkingHours.getWorkTime() : 0));//浜ч噺宸ユ椂
-                        }
-                        auxiliaryOutputWorkingHours.setInspectionItem(insProduct.getInspectionItem());//妫�娴嬬埗椤�
-                        auxiliaryOutputWorkingHours.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());//妫�娴嬪瓙椤�
-                        auxiliaryOutputWorkingHours.setSample(insSampleMapper.selectById(insProduct.getInsSampleId()).getSampleCode());//鏍峰搧缂栧彿
-                        auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//宸ユ椂鍒嗙粍
-                        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
-                        DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-                        auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//鏃ユ湡
-                        LocalDateTime localDateTime = LocalDateTime.now();
-                        DateTime parse = DateUtil.parse(localDateTime.format(formatter));
-                        auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//鏄熸湡
-                        auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
-                        auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
-                        auxiliaryOutputWorkingHours.setInsProductId(insProduct.getId());//妫�楠岄」鐩甶d
-                        auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
-                    }
-                }
-            }
             /*鏇存柊鏍峰搧鐨勬楠岀姸鎬�*/
             insSample.setInsState(1);
             Long l = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
@@ -887,6 +767,17 @@
                     .set(InsOrderState::getInsState, 2));
         }
         return list;
+    }
+
+    //娓╂箍搴﹁瘯楠�+鍔熺巼璇曢獙鐨勪繚瀛樻楠屽唴瀹�
+    @Override
+    public int saveInsContext3(InsProductResult insProductResult) {
+        //鍏堝垹鍚庡姞
+        insProductResultMapper.delete(Wrappers.<InsProductResult>lambdaQuery()
+                .eq(InsProductResult::getInsProductId, insProductResult.getInsProductId())
+                .eq(InsProductResult::getNum, insProductResult.getNum()));
+        insProductResultMapper.insert(insProductResult);
+        return 0;
     }
 
     //瑙f瀽瑕佹眰鍊肩殑鏍煎紡
@@ -1079,12 +970,12 @@
     }
 
     @Override
-    public int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode, String note, String term) {
+    public int submitPlan(SubmitPlanDto submitPlanDto) {
         List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery()
-                .eq(InsSample::getInsOrderId, orderId).select(InsSample::getId));
+                .eq(InsSample::getInsOrderId, submitPlanDto.getOrderId()).select(InsSample::getId));
         InsOrderState orderState = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery()
-                .eq(InsOrderState::getInsOrderId, orderId)
-                .eq(InsOrderState::getLaboratory, laboratory)
+                .eq(InsOrderState::getInsOrderId, submitPlanDto.getOrderId())
+                .eq(InsOrderState::getLaboratory, submitPlanDto.getLaboratory())
                 .orderByDesc(InsOrderState::getId)
                 .last("LIMIT 1"));// 纭繚鍙彇涓�鏉¤褰�
         /*璁板綍妫�楠屼换鍔℃瘡娆$殑澶囨敞淇℃伅*/
@@ -1093,13 +984,13 @@
         insOrderUser.setSubmitUser(getLook.selectPowerByMethodAndUserId(null).get("userId"));
         insOrderUser.setSubmitTime(LocalDateTime.now());
         insOrderUser.setNum(orderState.getNum());
-        insOrderUser.setNote(ObjectUtils.isNotEmpty(note) ? note : null);
-        insOrderUser.setTerm(ObjectUtils.isNotEmpty(term) ? term : null);
+        insOrderUser.setNote(ObjectUtils.isNotEmpty(submitPlanDto.getNote()) ? submitPlanDto.getNote() : null);
+        insOrderUser.setTerm(ObjectUtils.isNotEmpty(submitPlanDto.getTerm()) ? submitPlanDto.getTerm() : null);
         insOrderUserMapper.insert(insOrderUser);
         List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList());
         List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
                 .in(InsProduct::getInsSampleId, ids)
-                .eq(InsProduct::getSonLaboratory, laboratory)
+                .eq(InsProduct::getSonLaboratory, submitPlanDto.getLaboratory())
                 .eq(InsProduct::getState, 1)
                 .and(wrapper -> wrapper
                         .isNull(InsProduct::getInsResult)
@@ -1110,8 +1001,8 @@
             String str = "";
             int count = 0;
             for (InsProduct product : insProducts) {
-                //杈愬皠璇曢獙妫�娴嬬殑妫�楠岄」鐩�,涓嶉渶瑕佸幓鎵嬪姩濉啓妫�楠屽��,鍙渶瑕佷笂浼犺〃鏍兼枃浠跺氨鍙互浜�,鍚庡彴鎻愪氦鐨勬椂鍊欐牎楠岃烦杩囪繖涓楠岄」鐩�
-                if (product.getInspectionItem().equals("杈愬皠璇曢獙妫�娴�")) {
+                //杈愬皠璇曢獙,娓╂箍搴﹁瘯楠�,鍔熺巼璇曢獙鐨勬楠岄」鐩�,涓嶉渶瑕佸幓鎵嬪姩濉啓妫�楠屽��,鍙渶瑕佷笂浼犺〃鏍兼枃浠跺氨鍙互浜�,鍚庡彴鎻愪氦鐨勬椂鍊欐牎楠岃烦杩囪繖涓楠岄」鐩�
+                if (product.getInspectionItem().equals("杈愬皠璇曢獙") || product.getInspectionItem().equals("娓╂箍搴﹁瘯楠�") || product.getInspectionItem().equals("鍔熺巼璇曢獙")) {
                     product.setInsResult(3);//涓嶅垽瀹�
                     insProductMapper.updateById(product);
                     continue;
@@ -1137,10 +1028,10 @@
             }
         }
         insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
-                .eq(InsOrderState::getInsOrderId, orderId)
-                .eq(InsOrderState::getLaboratory, laboratory)
+                .eq(InsOrderState::getInsOrderId, submitPlanDto.getOrderId())
+                .eq(InsOrderState::getLaboratory, submitPlanDto.getLaboratory())
                 .set(InsOrderState::getInsState, 3)
-                .set(InsOrderState::getVerifyUser, verifyUser));
+                .set(InsOrderState::getVerifyUser, submitPlanDto.getVerifyUser()));
         /*杩欎釜鎯呭喌鍏堝叧闂�----濡傛灉鏄疌绫昏鍗曚笖鏄笅鍙戝埌璐ㄩ噺閮�,鍒欑洿鎺ュ鏍搁�氳繃(缁撴潫璇曢獙)*/
 //        InsOrder insOrder = insOrderMapper.selectById(orderId);
 //        if (insOrder.getOrderType().equals("C") && insOrder.getDepartmentLims().equals("璐ㄩ噺閮�")) {
@@ -1150,19 +1041,19 @@
 //                e.printStackTrace();
 //            }
 //        } else {
-            Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
-            //LIMS绯荤粺娑堟伅鎺ㄩ��
-            InformationNotification info = new InformationNotification();
-            info.setCreateUser(insProductMapper.selectUserById(userId).get("name"));
-            info.setMessageType("2");
-            info.setTheme("澶嶆牳閫氱煡");
-            info.setContent("鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅");
-            info.setSenderId(userId);
-            info.setConsigneeId(verifyUser);
-            info.setViewStatus(false);
-            info.setJumpPath("b1-inspect-order-plan");
-            informationNotificationService.addInformationNotification(info);
-            //todo 浼佷笟寰俊娑堟伅鎺ㄩ�丂zss
+        Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
+        //LIMS绯荤粺娑堟伅鎺ㄩ��
+        InformationNotification info = new InformationNotification();
+        info.setCreateUser(insProductMapper.selectUserById(userId).get("name"));
+        info.setMessageType("2");
+        info.setTheme("澶嶆牳閫氱煡");
+        info.setContent("鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅");
+        info.setSenderId(userId);
+        info.setConsigneeId(submitPlanDto.getVerifyUser());
+        info.setViewStatus(false);
+        info.setJumpPath("b1-inspect-order-plan");
+        informationNotificationService.addInformationNotification(info);
+        //todo 浼佷笟寰俊娑堟伅鎺ㄩ�丂zss
            /* HashMap<String, Object> map = new HashMap<>();
             String account = userMapper.selectById(userId).getAccount();
             map.put("touser", *//*account*//*"ZT-012117");//鎺ユ敹娑堟伅鎴愬憳鐨勮处鍙�'ZT-031292'杩欑绫诲瀷(濡傛灉鏈夊涓敤'|'鍒嗛殧)
@@ -1180,12 +1071,12 @@
 //        }
         //澶嶆牳浜�--妫�楠屽崟鐩稿叧璐熻矗浜�
         InsSampleUser insSampleUser = new InsSampleUser();
-        insSampleUser.setUserId(verifyUser);
-        insSampleUser.setInsSampleId(orderId);
+        insSampleUser.setUserId(submitPlanDto.getVerifyUser());
+        insSampleUser.setInsSampleId(submitPlanDto.getOrderId());
         insSampleUser.setState(1);
-        insSampleUser.setSonLaboratory(laboratory);
+        insSampleUser.setSonLaboratory(submitPlanDto.getLaboratory());
         insSampleUserMapper.insert(insSampleUser);
-        /*鏍¢獙涓�涓媟esult琛�*/
+        /*//鏍¢獙涓�涓媟esult琛�
         CompletableFuture.supplyAsync(() -> {
             List<Integer> ips = insProducts.stream().map(InsProduct::getId).distinct().collect(Collectors.toList());
             for (Integer ip : ips) {
@@ -1199,19 +1090,70 @@
                 }
             }
             return null;
-        });
+        });*/
         /*鐢熸垚鐢佃矾璇曢獙鐨勭珯鐐规姤鍛婂苟涓婁紶鍒伴檮浠朵腑*/
-        if (laboratory.equals("鐢佃矾璇曢獙")) {
-            wordUtils.generateWord(note, term, orderState);
-//            try {
-//                wordUtils.generateWord(note, term, orderState);
-//            }catch (Exception e){
-//                throw new ErrorException("鐢佃矾璇曢獙鐨勭珯鐐规姤鍛婄敓鎴愭湁璇�,璇疯仈绯诲紑鍙戜汉鍛樿皟鏁�!");
-//            }
+        if (submitPlanDto.getLaboratory().equals("鐢佃矾璇曢獙")) {
+            try {
+                wordUtils.generateWord(submitPlanDto.getNote(), submitPlanDto.getTerm(), orderState);
+            } catch (Exception e) {
+                throw new ErrorException("鐢佃矾璇曢獙鐨勭珯鐐规姤鍛婄敓鎴愭湁璇�,璇疯仈绯诲紑鍙戜汉鍛樿皟鏁�!");
+            }
         }
-        // 鍒犻櫎鏁伴噰閲囬泦娆℃暟
-        String key = "frequency" + ":" + entrustCode + ":*";
-        RedisUtil.delsLike(key);
+        /*// 鍒犻櫎鏁伴噰閲囬泦娆℃暟
+        String key = "frequency" + ":" + submitPlanDto.getEntrustCode() + ":*";
+        RedisUtil.delsLike(key);*/
+
+        /*鐢熸垚浜ч噺宸ユ椂*/
+        //鏌ヨ妫�楠屽崟淇℃伅
+        InsOrder insOrder = insOrderMapper.selectById(submitPlanDto.getOrderId());
+        //鏍¢獙濡傛灉杩欎釜浜鸿繖涓娴嬮」鐩凡缁忔坊鍔犺繃浜嗗垯涓嶉渶瑕佸啀鏂板
+        //棣栧厛鍒ゆ柇褰撳墠浜虹殑褰撳墠鏃堕棿鏄惁鏄帓鐝椂闂村唴,濡傛灉涓嶆槸灏辨槸鍔犵彮
+        LocalDateTime today = LocalDateTime.of(LocalDate.now(), LocalTime.MIDNIGHT);
+        PerformanceShift performanceShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery()
+                .eq(PerformanceShift::getUserId, userId)
+                .eq(PerformanceShift::getWorkTime, today));
+        if (ObjectUtils.isNotEmpty(performanceShift)) {
+            ShiftTime shiftTime = shiftTimeMapper.selectOne(Wrappers.<ShiftTime>lambdaQuery().eq(ShiftTime::getShift, performanceShift.getShift()));
+            if (ObjectUtils.isNotEmpty(shiftTime)) {
+                DateTimeFormatter forma = DateTimeFormatter.ofPattern("HH:mm");
+                LocalTime now = LocalTime.now();
+                LocalTime startTime = LocalTime.parse(shiftTime.getStartTime(), forma);
+                LocalTime endTime = LocalTime.parse(shiftTime.getEndTime(), forma);
+                // 妫�鏌ュ綋鍓嶆椂闂存槸鍚﹀湪鑼冨洿鍐咃紙鍖呮嫭杈圭晫锛�
+                boolean isWithinRange;
+                if (endTime.isAfter(startTime)) {
+                    // 涓嶈法澶╃殑鎯呭喌
+                    isWithinRange = !now.isBefore(startTime) && !now.isAfter(endTime);
+                } else {
+                    // 璺ㄥぉ鐨勬儏鍐�
+                    isWithinRange = !now.isBefore(startTime) || !now.isAfter(endTime);
+                }
+                for (AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours : submitPlanDto.getAuxiliaryOutputWorkingHoursList()) {
+                    InsProduct insProduct = insProductMapper.selectById(auxiliaryOutputWorkingHours.getInsProductId());
+                    if (isWithinRange) {
+                        //鍦ㄦ椂闂村唴灏辨槸姝e父涓婄彮
+                        auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode());//闈炲姞鐝鎵樺崟鍙�
+                        auxiliaryOutputWorkingHours.setWorkTime(auxiliaryOutputWorkingHours.getOutputWorkTime());//闈炲姞鐝伐鏃�
+                        auxiliaryOutputWorkingHours.setAmount(1);//闈炲姞鐝暟閲�
+                    } else {
+                        //鍔犵彮
+                        auxiliaryOutputWorkingHours.setOvertimeOrderNo(insOrder.getEntrustCode());//鍔犵彮濮旀墭鍗曞彿
+                        auxiliaryOutputWorkingHours.setOvertimeWorkTime(auxiliaryOutputWorkingHours.getOutputWorkTime());//鍔犵彮宸ユ椂
+                        auxiliaryOutputWorkingHours.setOvertimeAmount(1);//鍔犵彮鏁伴噺
+                    }
+                    auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//宸ユ椂鍒嗙粍
+                    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+                    DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+                    auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//鏃ユ湡
+                    LocalDateTime localDateTime = LocalDateTime.now();
+                    DateTime parse = DateUtil.parse(localDateTime.format(formatter));
+                    auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//鏄熸湡
+                    auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
+                    auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
+                    auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
+                }
+            }
+        }
         return 1;
     }
 
@@ -1250,6 +1192,4 @@
                 return "鏈煡";
         }
     }
-
-
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
index e1d1bc2..e74f015 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
@@ -504,15 +504,15 @@
         List<Integer> list = Arrays.stream(ids.split(",")).map(Integer::parseInt).collect(Collectors.toList());
         List<SampleProductDto3> sampleProductDtos = insSampleMapper.selectSampleProductListByOrderId3(list);
         Set<String> processedCodes = new HashSet<>();
-        List<SampleProductDto3> sampleProductDto3s = sampleProductDtos.stream().filter(sampleProductDto3 -> {
+       /* List<SampleProductDto3> sampleProductDto3s = sampleProductDtos.stream().filter(sampleProductDto3 -> {
             if (processedCodes.contains(sampleProductDto3.getCode())) {
                 return false;
             } else {
                 processedCodes.add(sampleProductDto3.getCode());
                 return true;
             }
-        }).collect(Collectors.toList());
-        return sampleProductDto3s;
+        }).collect(Collectors.toList());*/
+        return sampleProductDtos;
     }
 
     //鏍¢獙鐢垫満缂栧彿
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index 46551d7..31aa13f 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -536,6 +536,7 @@
         ip.sample ip_sample,
         ip.model ip_model,
         ip.state,
+        io.issue_time,
         ins_sample_id
         from ins_sample isa
         left join ins_product ip on isa.id = ip.ins_sample_id
@@ -619,7 +620,7 @@
           and ios.laboratory = #{laboratory}
           and (ipr2.num = ios.num or ipr2.num is null)
           and (ipr.num = ios.num or ipr.num is null)
-        order by ipr.id, ipr2.id
+        order by ip.id, ipr.id, ipr2.id
     </select>
     <select id="getIns2Product1" resultMap="product">
         select ip.id            ip_id,
@@ -685,7 +686,7 @@
           and ip.son_laboratory = #{laboratory}
           and ip.standard_method_list_id is not null
           and ios.laboratory = #{laboratory}
-        order by ipr.id, ipr2.id
+        order by ip.id, ipr.id, ipr2.id
     </select>
     <select id="get2InsProduct1" resultMap="product">
         select ip.id            ip_id,
@@ -752,7 +753,7 @@
           and ip.standard_method_list_id is not null
           and ios.laboratory = #{laboratory}
           and (ipr2.num = #{num} or ipr.num = #{num})
-        order by ipr.id, ipr2.id
+        order by ip.id, ipr.id, ipr2.id
     </select>
 
     <select id="getReportModel" resultType="java.util.Map">
@@ -851,6 +852,7 @@
         <result property="insState" column="ins_state" jdbcType="INTEGER"/>
         <result property="joinNum" column="join_num" jdbcType="INTEGER"/>
         <result property="remark" column="remark" jdbcType="VARCHAR"/>
+        <result property="issueTime" column="issue_time" />
         <result property="createUser" column="create_user" jdbcType="INTEGER"/>
         <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
         <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
@@ -931,7 +933,8 @@
           and ip.id is not null
     </select>
     <select id="selectInsSample" resultType="com.yuanchu.mom.pojo.InsSample">
-        select isa.*,entrust_code
+        select isa.*,
+        case when entrust_code is null then out_entrust_code else entrust_code end as  entrust_code
         from ins_sample isa
         left join ins_order io on isa.ins_order_id = io.id
         where ins_order_id in
diff --git a/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java b/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java
index 7e8cf42..71b43ff 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java
@@ -49,32 +49,32 @@
 
     @ApiModelProperty("鍔犵彮濮旀墭鍗曞彿")
     @ExcelProperty(value = "鍔犵彮濮旀墭鍗曞彿")
-    @ValueTableShow(3)
+    @ValueTableShow(6)
     private String overtimeOrderNo;
 
     @ApiModelProperty("鍔犵彮宸ユ椂")
     @ExcelProperty(value = "鍔犵彮宸ユ椂")
-    @ValueTableShow(4)
+    @ValueTableShow(7)
     private Double overtimeWorkTime;
 
     @ApiModelProperty("鍔犵彮鏁伴噺")
     @ExcelProperty(value = "鍔犵彮鏁伴噺")
-    @ValueTableShow(5)
+    @ValueTableShow(8)
     private Integer overtimeAmount;
 
     @ApiModelProperty("闈炲姞鐝鎵樺崟鍙�")
     @ExcelProperty(value = "闈炲姞鐝鎵樺崟鍙�")
-    @ValueTableShow(6)
+    @ValueTableShow(3)
     private String orderNo;
 
     @ApiModelProperty("闈炲姞鐝伐鏃�")
     @ExcelProperty(value = "闈炲姞鐝伐鏃�")
-    @ValueTableShow(7)
+    @ValueTableShow(4)
     private Double workTime;
 
     @ApiModelProperty("闈炲姞鐝暟閲�")
     @ExcelProperty(value = "闈炲姞鐝暟閲�")
-    @ValueTableShow(8)
+    @ValueTableShow(5)
     private Integer amount;
 
     @ApiModelProperty("浜ч噺宸ユ椂")
@@ -131,4 +131,9 @@
     @ApiModelProperty("妫�楠岄」鐩甶d")
     @ExcelIgnore
     private Integer insProductId;
+
+    @ApiModelProperty("妫�娴嬫鏁�")
+    @ExcelProperty(value = "妫�娴嬫鏁�")
+    @ValueTableShow(2)
+    private Integer num;
 }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java
index 131200a..8ddd353 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java
@@ -202,13 +202,14 @@
             auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.selectListByIds(ids);
         }
         if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours)) {
-            Map<String, Double> sumMap = new HashMap<>();
+//            Map<String, Double> sumMap = new HashMap<>();
             for (AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHour : auxiliaryOutputWorkingHours) {
-                if (!sumMap.containsKey(auxiliaryOutputWorkingHour.getManHourGroup()+auxiliaryOutputWorkingHour.getOrderNo()+auxiliaryOutputWorkingHour.getSample())) {
+               /* if (!sumMap.containsKey(auxiliaryOutputWorkingHour.getManHourGroup()+auxiliaryOutputWorkingHour.getOrderNo()+auxiliaryOutputWorkingHour.getSample())) {
                     sumMap.put(auxiliaryOutputWorkingHour.getManHourGroup()+auxiliaryOutputWorkingHour.getOrderNo()+auxiliaryOutputWorkingHour.getSample(), auxiliaryOutputWorkingHour.getOutputWorkTime());
-                }
+                }*/
+                sumOutputWorkTime+=auxiliaryOutputWorkingHour.getOutputWorkTime();
             }
-            sumOutputWorkTime = sumMap.values().stream().mapToDouble(Double::doubleValue).sum();
+//            sumOutputWorkTime = sumMap.values().stream().mapToDouble(Double::doubleValue).sum();
         }
         map.put("浜ч噺宸ユ椂姹囨��", sumOutputWorkTime);
         if (ObjectUtils.isNotEmpty(auxiliaryWorkingHoursDays)) {
diff --git a/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml b/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml
index 532522c..b37e74b 100644
--- a/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml
+++ b/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml
@@ -28,6 +28,7 @@
         from (
         select aowh.id,
         inspection_item,
+        num,
         inspection_item_subclass,
         overtime_order_no,
         overtime_work_time,
@@ -74,15 +75,10 @@
         from(
         select user.name,
         date_time as month,
-        order_no,
-        sample,
-        man_hour_group,
         case when #{type}='鍔犵彮宸ユ椂' then  case when overtime_work_time is null then 0 else overtime_work_time end
         else case when work_time is null then 0 else work_time end  end as manHours
-        -- FORMAT(SUM(output_work_time), 4) as manHours
         from auxiliary_output_working_hours aowh
         left join user on user.id=aowh.`check`
-        left join department_lims dl on depart_lims_id=dl.id
         where date_time LIKE CONCAT('%', #{month}, '%')
         <if test="ids !=null and ids != ''">
             and `check` in
@@ -90,12 +86,7 @@
                 #{val}
             </foreach>
         </if>
-        group by user.name,date_time,order_no,
-        sample,
-        man_hour_group
-        order by user.name,date_time,order_no,
-        sample,
-        man_hour_group
+        order by user.name,date_time
         )A
         group by A.name,
         A.month

--
Gitblit v1.9.3