From 218388d1cecbf8cf4ab5ba51d3c875a0f21e8998 Mon Sep 17 00:00:00 2001 From: liding <756868258@qq.com> Date: 星期三, 09 四月 2025 13:24:31 +0800 Subject: [PATCH] 1.原辅料下单提交 --- inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java | 64 ++++++++++++++++++++++++++++--- 1 files changed, 57 insertions(+), 7 deletions(-) diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java index aed6e35..8ed35ba 100644 --- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java +++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java @@ -12,6 +12,7 @@ import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -43,6 +44,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -89,7 +91,8 @@ //鑾峰彇妫�楠屼笅鍗曟暟鎹� @Override public IPage<SampleOrderDto> selectInsOrderParameter(IPage<InsOrder> page, SampleOrderDto sampleOrderDto) { - //todo: 鍙湅鎴戝垽鏂叏閮�,涓汉,缁勭粐鐨勬潈闄� + // TODO 閽堝浜哄憳鍋氭潈闄愬鐞� 鐩墠鍏堝妫�楠屼汉鍛樺仛鏁版嵁澶勭悊 濡傛灉鏄楠屼汉鍛樺彧鑳芥煡璇㈠埌妫�楠岄」鐩槸鑷繁鎴栬�呰鍗曞垎娲句汉鏄嚜宸辩殑璁㈠崟锛屼笉鏄楠屼汉鍛樼殑鏆傛椂鍏ㄦ煡 + boolean checkUserFlag = isCheckUser(SecurityUtils.getUserId().intValue()); String laboratory = null; // 鍒ゆ柇鏄惁鏄叏閮� String isOrderAll = null; @@ -97,7 +100,31 @@ isOrderAll = "1"; sampleOrderDto.setState(null); } - return insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto), laboratory, isOrderAll); + SampleOrderDto otherParam = new SampleOrderDto(); + otherParam.setLaboratory(laboratory); + otherParam.setIsOrderAll(isOrderAll); + otherParam.setCheckUserFlag(checkUserFlag); + otherParam.setCheckUserId(SecurityUtils.getUserId()); + IPage<SampleOrderDto> sampleOrderDtoIPage = insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto), otherParam); + // 鎷兼帴妫�楠屼汉鏍规嵁妫�楠岄」鏉� + if(CollectionUtils.isEmpty(sampleOrderDtoIPage.getRecords())){ + return sampleOrderDtoIPage; + } + List<Integer> orderIds = new ArrayList<>(); + for (SampleOrderDto record : sampleOrderDtoIPage.getRecords()) { + orderIds.add(record.getId()); + } + List<CheckUserDto> checkUserDtoList = insProductMapper.selectCheckUserNameByOrderIds(orderIds); + for (SampleOrderDto record : sampleOrderDtoIPage.getRecords()) { + Integer orderId = record.getId(); + for (CheckUserDto checkUserDto : checkUserDtoList) { + if(orderId.equals(checkUserDto.getOrderId())) { + record.setTestingName(checkUserDto.getCheckUserNames()); + break; + } + } + } + return sampleOrderDtoIPage; } @@ -120,7 +147,6 @@ .in(InsProduct::getInsSampleId, ids) .eq(InsProduct::getState, 1) .select(InsProduct::getSonLaboratory).groupBy(InsProduct::getSonLaboratory)); - // 鎵归噺娣诲姞妫�楠屼换鍔$姸鎬佽〃 List<InsOrderState> insOrderStateList = insProducts.stream().map(insProduct -> { InsOrderState insOrderState = new InsOrderState(); @@ -184,10 +210,18 @@ auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉 auxiliaryOutputWorkingHours.setPrice(insProduct.getPrice());//鍗曚环 auxiliaryOutputWorkingHours.setSampleId(insProduct.getInsSampleId());//鏍峰搧id - auxiliaryOutputWorkingHours.setInsProductId(insProduct.getId());//妫�楠岄」id + auxiliaryOutputWorkingHours.setInsProductId(Math.toIntExact(insProduct.getId()));//妫�楠岄」id return auxiliaryOutputWorkingHours; }).collect(Collectors.toList()); + + // 鍒濇鍒嗛厤妫�楠屼汉锛屽悇涓楠岄」榛樿璁㈠崟鐨勬楠屼汉 + List<Integer> insProductIds = insProductList.stream().map(insproduct -> { + return Math.toIntExact(insproduct.getId()); + }).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(insProductIds)){ + insProductMapper.batchUpdateInsProductCheckUserId(insProductIds, userId); + } auxiliaryOutputWorkingHoursTemporaryService.saveBatch(outputWorkingHours); return 1; @@ -293,7 +327,7 @@ ip2.addAll(insProducts); } for (InsProduct product : ip2) { - product.setStandardMethodListId(a.getInsulating().getStandardMethodListId()); + product.setStandardMethodListId(Long.valueOf(a.getInsulating().getStandardMethodListId())); } addInsProductMethod(a.getId(), ip2); } @@ -311,7 +345,7 @@ ip2.addAll(insProducts); } for (InsProduct product : ip2) { - product.setStandardMethodListId(a.getAuxiliaryWireCore().getStandardMethodListId()); + product.setStandardMethodListId(Long.valueOf(a.getAuxiliaryWireCore().getStandardMethodListId())); } addInsProductMethod(a.getId(), ip2); } @@ -491,7 +525,7 @@ } // 鐢熸垚缂栧彿 String no = numberGenerator.generateNumberWithPrefix(3, - "JCZX/ZB-" + code + LimsDateUtil.resetDate(LocalDateTime.now()), + "JCZX/SP-" + code + LimsDateUtil.resetDate(LocalDateTime.now()), InsOrder::getEntrustCode); // 鍒ゆ柇鏄惁鏄搴︽楠�, 鏄搴︽楠屽彇娑堝師鏉愭枡瀛e害妫�楠屼笅鍗� if (InsOrderTypeConstants.QUARTERLY_TEST.equals(order.getOrderType())) { @@ -1023,6 +1057,22 @@ } } + + /** + * 鍒ゆ柇鏄惁涓烘楠屼汉鍛� + * @param userId + * @return + */ + public boolean isCheckUser(Integer userId) { + List<User> userList = userMapper.selectQualityUserList(); + for (User user : userList) { + if(userId.equals(user.getId())){ + return true; + } + } + return false; + } + } -- Gitblit v1.9.3