From 6d06746ec219cd9660fff07763182c1788ebfb20 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期五, 11 四月 2025 14:52:01 +0800
Subject: [PATCH] 成品检验任务功能开发

---
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java |   37 ++++++++++++++++++++++++-------------
 1 files changed, 24 insertions(+), 13 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 28495bc..513ba8c 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
@@ -10,14 +10,12 @@
 import com.alibaba.excel.ExcelWriter;
 import com.alibaba.excel.write.metadata.WriteSheet;
 import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
-import com.alibaba.excel.write.style.column.SimpleColumnWidthStyleStrategy;
 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.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.basic.mapper.IfsInventoryQuantityMapper;
 import com.ruoyi.basic.mapper.StandardProductListMapper;
@@ -28,6 +26,7 @@
 import com.ruoyi.common.core.domain.entity.User;
 import com.ruoyi.common.numgen.NumberGenerator;
 import com.ruoyi.common.utils.*;
+import com.ruoyi.common.utils.api.IfsApiUtils;
 import com.ruoyi.framework.exception.ErrorException;
 import com.ruoyi.inspect.dto.*;
 import com.ruoyi.inspect.mapper.*;
@@ -37,17 +36,15 @@
 import com.ruoyi.inspect.service.InsProductService;
 import com.ruoyi.inspect.service.InsSampleService;
 import com.ruoyi.inspect.vo.InsOrderPrintingVo;
-import com.ruoyi.inspect.vo.SampleDefectsFatherVo;
-import com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHours;
 import com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHoursTemporary;
 import com.ruoyi.performance.service.AuxiliaryOutputWorkingHoursTemporaryService;
-import com.ruoyi.system.mapper.CustomMapper;
 import com.ruoyi.system.mapper.UserMapper;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
 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;
@@ -94,7 +91,6 @@
     //鑾峰彇妫�楠屼笅鍗曟暟鎹�
     @Override
     public IPage<SampleOrderDto> selectInsOrderParameter(IPage<InsOrder> page, SampleOrderDto sampleOrderDto) {
-        //todo: 鍙湅鎴戝垽鏂叏閮�,涓汉,缁勭粐鐨勬潈闄�
         String laboratory = null;
         // 鍒ゆ柇鏄惁鏄叏閮�
         String isOrderAll = null;
@@ -102,7 +98,12 @@
             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.setCheckUserId(SecurityUtils.getUserId());
+        IPage<SampleOrderDto> sampleOrderDtoIPage = insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto), otherParam);
+        return sampleOrderDtoIPage;
     }
 
 
@@ -125,7 +126,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();
@@ -189,10 +189,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;
@@ -298,7 +306,7 @@
                     ip2.addAll(insProducts);
                 }
                 for (InsProduct product : ip2) {
-                    product.setStandardMethodListId(a.getInsulating().getStandardMethodListId());
+                    product.setStandardMethodListId(a.getInsulating().getStandardMethodListIds().toString());
                 }
                 addInsProductMethod(a.getId(), ip2);
             }
@@ -316,7 +324,7 @@
                     ip2.addAll(insProducts);
                 }
                 for (InsProduct product : ip2) {
-                    product.setStandardMethodListId(a.getAuxiliaryWireCore().getStandardMethodListId());
+                    product.setStandardMethodListId(a.getAuxiliaryWireCore().getStandardMethodListId().toString());
                 }
                 addInsProductMethod(a.getId(), ip2);
             }
@@ -442,6 +450,9 @@
                 if (StringUtils.isBlank(product.getAsk()) || StringUtils.isBlank(product.getTell())) {
                     throw new ErrorException("鏈夋楠岄」鐨勮姹傚�兼垨瑕佹眰鎻忚堪涓虹┖, 璇峰厛鍘绘爣鍑嗗簱閰嶇疆瑕佹眰鍊兼垨瑕佹眰鎻忚堪");
                 }
+                if (StringUtils.isBlank(product.getSonLaboratory())) {
+                    throw new ErrorException("鏈夋楠岄」鐨勭殑瀛愬疄楠屽涓虹粦瀹�, 璇峰厛缁戝畾瀛愬疄楠屽");
+                }
                 insProductMapper.insert(product);
             }
         }
@@ -493,7 +504,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())) {

--
Gitblit v1.9.3