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/service/impl/InsOrderPlanServiceImpl.java |  276 +++++++++++++++++++++---------------------------------
 1 files changed, 108 insertions(+), 168 deletions(-)

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 "鏈煡";
         }
     }
-
-
 }

--
Gitblit v1.9.3