From 95786582ad848ba99ebcc716c6ecf24e90f8c3d5 Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期一, 19 五月 2025 10:29:08 +0800
Subject: [PATCH] 工时添加判断是否有检验值,没有检验值默认填充工时

---
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java   |    3 +
 inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderPlanController.java    |    6 +-
 inspect-server/src/main/java/com/ruoyi/inspect/dto/SaveInsContextDto.java                |   22 ++++++++---
 inspect-server/src/main/java/com/ruoyi/inspect/service/InsOrderPlanService.java          |    3 +
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java |   38 ++++++++----------
 5 files changed, 40 insertions(+), 32 deletions(-)

diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderPlanController.java b/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderPlanController.java
index 48acce4..7ef8737 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderPlanController.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderPlanController.java
@@ -114,8 +114,7 @@
     @ApiOperation(value = "淇濆瓨妫�楠屽唴瀹�")
     @PostMapping("/saveInsContext")
     public Result<?> saveInsContext(@RequestBody SaveInsContextDto saveInsContextDto) {
-        Map<String, Object> param2 = JSON.parseObject(saveInsContextDto.getParam(), Map.class);
-        insOrderPlanService.saveInsContext(param2, saveInsContextDto.getCurrentTable(), saveInsContextDto.getSampleId(), saveInsContextDto.getOrderId(), saveInsContextDto.getSonLaboratory());
+        insOrderPlanService.saveInsContext(saveInsContextDto);
         return Result.success();
     }
 
@@ -244,7 +243,8 @@
     @GetMapping("/getBindingProductByProductId")
     public Result<List<InsProduct>> getBindingProductByProductId(Integer productId) {
         return Result.success(insProductService.list(Wrappers.<InsProduct>lambdaQuery()
-                .eq(InsProduct::getBindingProductId, productId)));
+                .eq(InsProduct::getBindingProductId, productId)
+                .orderByAsc(InsProduct::getSort)));
     }
 
 
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/dto/SaveInsContextDto.java b/inspect-server/src/main/java/com/ruoyi/inspect/dto/SaveInsContextDto.java
index f2e0ee7..ee4bd28 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/dto/SaveInsContextDto.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/dto/SaveInsContextDto.java
@@ -1,19 +1,29 @@
 package com.ruoyi.inspect.dto;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+/**
+ * 淇濆瓨妯℃澘浼犲弬
+ */
 @Data
-//淇濆瓨妫�楠屽唴瀹逛紶鍙�
 public class SaveInsContextDto {
 
-    //妯℃澘鍐呭
+    @ApiModelProperty("妯℃澘鍐呭")
     private String param;
-    //褰撳墠妯℃澘id
+
+    @ApiModelProperty("褰撳墠妯℃澘id")
     private Integer currentTable;
-    //褰撳墠鏍峰搧id
+
+    @ApiModelProperty("褰撳墠鏍峰搧id")
     private Integer sampleId;
-    //褰撳墠璁㈠崟id
+
+    @ApiModelProperty("褰撳墠璁㈠崟id")
     private Integer orderId;
-    //瀛愯瘯楠屽
+
+    @ApiModelProperty("瀛愯瘯楠屽")
     private String sonLaboratory;
+
+    @ApiModelProperty("鏄惁娌℃湁妫�楠屽��")
+    private Integer isNoTestValue;
 }
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/InsOrderPlanService.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/InsOrderPlanService.java
index b2b200d..1caa282 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/InsOrderPlanService.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/InsOrderPlanService.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.inspect.dto.InsOrderPlanDTO;
 import com.ruoyi.inspect.dto.InsOrderPlanProductDto;
+import com.ruoyi.inspect.dto.SaveInsContextDto;
 import com.ruoyi.inspect.pojo.InsOrderFactoryVerify;
 import com.ruoyi.inspect.pojo.InsOrderFile;
 import com.ruoyi.inspect.pojo.InsProduct;
@@ -25,7 +26,7 @@
 
     boolean claimInsOrderPlan(InsOrderPlanDTO entity);
 
-    void saveInsContext(Map<String, Object> insContext,Integer currentTable,Integer sampleId,Integer orderId,String sonLaboratory);
+    void saveInsContext(SaveInsContextDto saveInsContextDto);
 
     Map<String, Object> doInsOrder(Integer id, String laboratory);
 
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
index b8dd63e..f91b9bd 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
@@ -361,15 +361,16 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void saveInsContext(Map<String, Object> insContext, Integer currentTable, Integer currentSampleId, Integer orderId, String sonLaboratory) {
+    public void saveInsContext(SaveInsContextDto saveInsContextDto) {
+        Map<String, Object> insContext = JSON.parseObject(saveInsContextDto.getParam(), Map.class);
         Integer userId = SecurityUtils.getUserId().intValue();
-        InsSample insSample = insSampleMapper.selectById(currentSampleId);
+        InsSample insSample = insSampleMapper.selectById(saveInsContextDto.getSampleId());
         insContext.forEach((k, v) -> {
             JSONObject jo = JSON.parseObject(JSON.toJSONString(v));
             InsProduct insProduct = new InsProduct();
             insProduct.setId(Integer.parseInt(k));
             InsProduct product = insProductMapper.selectById(insProduct.getId());
-            if (currentTable.equals(product.getTemplateId()) && currentSampleId.equals(product.getInsSampleId())) {
+            if (saveInsContextDto.getCurrentTable().equals(product.getTemplateId()) && saveInsContextDto.getSampleId().equals(product.getInsSampleId())) {
                 List<InsProductResult> oldResults = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery()
                         .eq(InsProductResult::getInsProductId, insProduct.getId()));
                 InsProductResult newResult = new InsProductResult();
@@ -502,22 +503,31 @@
                 // 娣诲姞宸ユ椂
                 // 鍒ゆ柇鏄惁鍙槸鍙備笌璁$畻鍊�, 鍙備笌璁$畻鍊煎疄闄呮病鏈夊~鍐�
                 if (StringUtils.isNotBlank(newResult.getInsValue()) && !newResult.getInsValue().equals("[]")) {
-                    InsProduct finalInsProduct = insProductMapper.selectById(product.getId());
                     threadPoolTaskExecutor.execute(() -> {
+                        InsProduct finalInsProduct = insProductMapper.selectById(product.getId());
                         InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId());
                         this.addAuxiliary(userId, finalInsProduct, insOrder);
                     });
+                } else {
+                    // 鍒ゆ柇鏄惁鏄病鏈夋楠屽�肩殑鍐呭
+                    if (saveInsContextDto.getIsNoTestValue() != null && saveInsContextDto.getIsNoTestValue() == 1) {
+                        threadPoolTaskExecutor.execute(() -> {
+                            InsProduct finalInsProduct = insProductMapper.selectById(product.getId());
+                            InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId());
+                            this.addAuxiliary(userId, finalInsProduct, insOrder);
+                        });
+                    }
                 }
 
             }
         });
         String sampleIdStr = insContext.keySet().stream().findFirst().orElse(null);
         if (sampleIdStr != null) {
-            int count = insProductMapper.selectInsProductCountByOrderId(orderId);
+            int count = insProductMapper.selectInsProductCountByOrderId(saveInsContextDto.getOrderId());
             if (count == 0) {
                 insOrderStateMapper.update(new InsOrderState(), Wrappers.<InsOrderState>lambdaUpdate()
-                        .eq(InsOrderState::getInsOrderId, orderId)
-                        .eq(InsOrderState::getLaboratory, sonLaboratory)
+                        .eq(InsOrderState::getInsOrderId, saveInsContextDto.getOrderId())
+                        .eq(InsOrderState::getLaboratory, saveInsContextDto.getSonLaboratory())
                         .set(InsOrderState::getInsState, 2));
             }
         }
@@ -605,20 +615,6 @@
      */
     private void getTemplateThing(InsOrder order, List<InsProduct> insProducts) {
         Set<Integer> set = new HashSet<>();
-        // 妫�楠岄」鍒嗙被+妫�楠岄」+妫�楠屽瓙椤圭殑鎷兼帴
-//        List<String> itemNameList = insProducts.stream().map(insProduct -> {
-//            String itemName = "";
-//            if (StringUtils.isNotBlank(insProduct.getInspectionItemClass())) {
-//                itemName += insProduct.getInspectionItemClass().trim();
-//            }
-//            if (StringUtils.isNotBlank(insProduct.getInspectionItem())) {
-//                itemName += insProduct.getInspectionItem().trim();
-//            }
-//            if (StringUtils.isNotBlank(insProduct.getInspectionItemSubclass())) {
-//                itemName += insProduct.getInspectionItemSubclass().trim();
-//            }
-//            return itemName;
-//        }).collect(Collectors.toList());
         // 鏌ヨ璁㈠崟鐘舵�佸垽鏂槸鍚︽槸鏌ュ巻鍙叉ā鏉�
         if (order.getIsFirstSubmit() != null && order.getIsFirstSubmit().equals(1)) {
             InsOrderState insOrderState = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery()
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java
index 6654ad3..2f7409b 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java
@@ -135,7 +135,8 @@
             product.setTemplate(null);
             product.setStyle(null);
             return product;
-        }).collect(Collectors.toList());
+        }).sorted((o1, o2) -> (o1.getSort() == null ? 0 : o1.getSort())
+                - (o2.getSort() == null ? 0 : o2.getSort())).collect(Collectors.toList());
         return insProducts;
     }
 

--
Gitblit v1.9.3