| | |
| | | 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.*; |
| | |
| | | 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.*; |
| | |
| | | private String twoCode; |
| | | |
| | | @Resource |
| | | WordUtils wordUtils; |
| | | WordUtils wordUtils; |
| | | |
| | | @Resource |
| | | private InsReportMapper insReportMapper; |
| | |
| | | return stringBuilder.toString(); |
| | | } |
| | | |
| | | |
| | | //模çä¿åæ£éªå
容 |
| | | @Override |
| | | public void saveInsContext(Map<String, Object> insContext, Integer num) { |
| | | Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); |
| | |
| | | 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) { |
| | | //卿¶é´å
å°±æ¯æ£å¸¸ä¸ç |
| | | 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());//æ£éªé¡¹ç®id |
| | | auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours); |
| | | } |
| | | } |
| | | } |
| | | InsSample insSample = insSampleMapper.selectById(insProductMapper.selectById(insProduct.getId()).getInsSampleId()); |
| | | insSample.setInsState(1); |
| | | Long l = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery() |
| | |
| | | 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(","); |
| | |
| | | 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) { |
| | | //卿¶é´å
å°±æ¯æ£å¸¸ä¸ç |
| | | 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());//æ£éªé¡¹ç®id |
| | | auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours); |
| | | } |
| | | } |
| | | } |
| | | /*æ´æ°æ ·åçæ£éªç¶æ*/ |
| | | insSample.setInsState(1); |
| | | Long l = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery() |
| | |
| | | .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; |
| | | } |
| | | |
| | | //è§£æè¦æ±å¼çæ ¼å¼ |
| | |
| | | } |
| | | |
| | | @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"));// ç¡®ä¿åªå䏿¡è®°å½ |
| | | /*è®°å½æ£éªä»»å¡æ¯æ¬¡ç夿³¨ä¿¡æ¯*/ |
| | |
| | | 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) |
| | |
| | | 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; |
| | |
| | | } |
| | | } |
| | | 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())); |
| | | /*è¿ä¸ªæ
åµå
å
³é----妿æ¯C类订å䏿¯ä¸åå°è´¨éé¨,åç´æ¥å¤æ ¸éè¿(ç»æè¯éª)*/ |
| | | // InsOrder insOrder = insOrderMapper.selectById(orderId); |
| | | // if (insOrder.getOrderType().equals("C") && insOrder.getDepartmentLims().equals("è´¨éé¨")) { |
| | |
| | | // 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'è¿ç§ç±»å(妿æå¤ä¸ªç¨'|'åé) |
| | |
| | | // } |
| | | //夿 ¸äºº--æ£éªåç¸å
³è´è´£äºº |
| | | 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); |
| | | /*æ ¡éªä¸ä¸result表*/ |
| | | /*//æ ¡éªä¸ä¸result表 |
| | | CompletableFuture.supplyAsync(() -> { |
| | | List<Integer> ips = insProducts.stream().map(InsProduct::getId).distinct().collect(Collectors.toList()); |
| | | for (Integer ip : ips) { |
| | |
| | | } |
| | | } |
| | | 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) { |
| | | //卿¶é´å
å°±æ¯æ£å¸¸ä¸ç |
| | | 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; |
| | | } |
| | | |
| | |
| | | return "æªç¥"; |
| | | } |
| | | } |
| | | |
| | | |
| | | } |