From 05304315b53a2c8ef1d4384607d854364493570e Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 05 十二月 2024 09:24:32 +0800
Subject: [PATCH] 完善样品编号重复引发的问题

---
 inspect-server/src/main/resources/mapper/WarehouseCellMapper.xml                       |    3 +
 inspect-server/src/main/java/com/yuanchu/mom/controller/WarehouseController.java       |   18 +++------
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/WarehouseServiceImpl.java    |   36 +++++++++++-------
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java |   22 +++++++----
 inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java    |    8 ++--
 inspect-server/src/main/java/com/yuanchu/mom/mapper/WarehouseCellMapper.java           |    3 +
 inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java          |    4 +-
 inspect-server/src/main/java/com/yuanchu/mom/service/WarehouseService.java             |    8 ++--
 8 files changed, 57 insertions(+), 45 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
index 82ac210..6713044 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
@@ -242,15 +242,15 @@
     @ValueClassify("妫�楠屼换鍔�")
     @ApiOperation(value = "鎵爜鎶ユ(鍏ュ簱)")
     @PostMapping("/scanInsOrderState")
-    public Result scanInsOrderState(String sonLaboratory, String sampleCode, String trees) {
-        return Result.success(insOrderPlanService.scanInsOrderState(sonLaboratory, sampleCode, trees));
+    public Result scanInsOrderState(String sonLaboratory, String sampleCode, String trees,String entrustCode) {
+        return Result.success(insOrderPlanService.scanInsOrderState(sonLaboratory, sampleCode, trees,entrustCode));
     }
 
     @ValueClassify("妫�楠屼换鍔�")
     @ApiOperation(value = "鎵爜鍑哄簱")
     @PostMapping("/outInsOrderState")
-    public Result outInsOrderState(String sonLaboratory, String sampleCode) {
-        return Result.success(insOrderPlanService.outInsOrderState(sonLaboratory, sampleCode));
+    public Result outInsOrderState(String sonLaboratory, String sampleCode,String entrustCode) {
+        return Result.success(insOrderPlanService.outInsOrderState(sonLaboratory, sampleCode,entrustCode));
     }
 
     @ValueAuth
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/WarehouseController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/WarehouseController.java
index 7f62740..3a2a4b2 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/WarehouseController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/WarehouseController.java
@@ -73,20 +73,20 @@
     @GetMapping("/getWarehouse")
     @ApiOperation("鏌ヨ璐ф灦涓嬬殑瀛樻斁淇℃伅")
     @ValueAuth
-    public Result getWarehouse(Integer shelfId) {
-        return Result.success(warehouseService.getWarehouse(shelfId));
+    public Result getWarehouse(Integer shelfId,String sampleCode) {
+        return Result.success(warehouseService.getWarehouse(shelfId,sampleCode));
     }
     @ValueClassify("鏍峰搧绠$悊")
     @PostMapping("/inWarehouse")
     @ApiOperation("鏍峰搧鍏ュ簱")
-    public Result inWarehouse(String trees, String sampleCode) {
-        return Result.success(warehouseService.inWarehouse(trees, sampleCode));
+    public Result inWarehouse(String trees, String sampleCode,String entrustCode) {
+        return Result.success(warehouseService.inWarehouse(trees, sampleCode,entrustCode));
     }
     @ValueClassify("鏍峰搧绠$悊")
     @PostMapping("/outWarehouse")
     @ApiOperation("鏍峰搧鍑哄簱")
-    public Result outWarehouse(String sampleCode, boolean a) {
-        return Result.success(warehouseService.outWarehouse(sampleCode,a));
+    public Result outWarehouse(String sampleCode, boolean a,String entrustCode) {
+        return Result.success(warehouseService.outWarehouse(sampleCode,a,entrustCode));
     }
 
     @ValueAuth
@@ -94,11 +94,5 @@
     @ApiOperation("鏌ヨ鏍峰搧璇︾粏璁板綍")
     public Result getSampleRecord(Integer id) {
         return Result.success(warehouseService.getSampleRecord(id));
-    }
-    @ValueAuth
-    @PostMapping("/searchSampleId")
-    @ApiOperation("閫氳繃鏍峰搧缂栧彿杩涜妫�绱�")
-    public Result searchSampleId(String sampleCode) {
-        return Result.success(warehouseService.searchSampleId(sampleCode));
     }
 }
\ No newline at end of file
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/WarehouseCellMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/WarehouseCellMapper.java
index cadaf36..aacbd3d 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/WarehouseCellMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/WarehouseCellMapper.java
@@ -3,6 +3,7 @@
 import com.yuanchu.mom.dto.WarehouseCellAndSampleDto;
 import com.yuanchu.mom.pojo.WarehouseCell;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -14,7 +15,7 @@
 */
 public interface WarehouseCellMapper extends BaseMapper<WarehouseCell> {
 
-    List<WarehouseCellAndSampleDto> getWarehouse(Integer shelfId);
+    List<WarehouseCellAndSampleDto> getWarehouse(@Param("shelfId") Integer shelfId, @Param("sampleCode") String sampleCode);
 
 }
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
index 980339d..6863ffb 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
@@ -54,10 +54,10 @@
     int deleteInsContext(InsProductResultVo insProductResultVo);
 
     //鎵爜鎶ユ(鍏ュ簱)
-    int scanInsOrderState(String sonLaboratory, String sampleCode,String trees);
+    int scanInsOrderState(String sonLaboratory, String sampleCode,String trees,String entrustCode);
 
     //鎵爜鍑哄簱
-    int outInsOrderState(String sonLaboratory, String sampleCode);
+    int outInsOrderState(String sonLaboratory, String sampleCode,String entrustCode);
 
     List<InsOrderUser> getInsOrderUserList(Integer insOrderStateId);
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/WarehouseService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/WarehouseService.java
index 59d6501..7a6e4f9 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/WarehouseService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/WarehouseService.java
@@ -2,6 +2,7 @@
 
 import com.yuanchu.mom.dto.WarehouseCellAndSampleDto;
 import com.yuanchu.mom.dto.WarehouseDto;
+import com.yuanchu.mom.pojo.InsSample;
 import com.yuanchu.mom.pojo.Warehouse;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.yuanchu.mom.pojo.WarehouseShelf;
@@ -30,13 +31,12 @@
 
     int upShelf(WarehouseShelf warehouseShelf);
 
-    List<WarehouseCellAndSampleDto> getWarehouse(Integer shelfId);
+    List<WarehouseCellAndSampleDto> getWarehouse(Integer shelfId,String sampleCode);
 
-    int inWarehouse(String trees, String sampleCode);
+    int inWarehouse(String trees, String sampleCode,String entrustCode);
 
-    int outWarehouse(String sampleCode, boolean a);
+    int outWarehouse(String sampleCode, boolean a,String entrustCode);
 
     Map<String, Object> getSampleRecord(Integer id);
 
-    int searchSampleId(String sampleCode);
 }
\ No newline at end of file
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 2f368f1..e1e990b 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
@@ -190,7 +190,7 @@
                 .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
                 .eq(InsOrderState::getInsSampleId, sampleId)
                 .eq(InsOrderState::getLaboratory, laboratory));
-        if (ObjectUtils.isEmpty(orderState.getInsTime())){
+        if (ObjectUtils.isEmpty(orderState.getInsTime())) {
             //鏇存柊妫�楠屼换鍔¤〃鐨勬楠屾椂闂�
             insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
                     .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
@@ -380,12 +380,15 @@
 
     //鎵爜鎶ユ
     @Override
-    public int scanInsOrderState(String sonLaboratory, String sampleCode, String trees) {
+    public int scanInsOrderState(String sonLaboratory, String sampleCode, String trees, String entrustCode) {
         /*鏍峰搧鍏ュ簱*/
-        warehouseService.inWarehouse(trees, sampleCode);
+        warehouseService.inWarehouse(trees, sampleCode, entrustCode);
         /*鏂板妫�楠屼换鍔�*/
         //鍏堝垽鏂鏍峰搧鏄惁鏈夎繖涓珯鐐圭殑椤圭洰
-        InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getSampleCode, sampleCode));
+        List<InsOrder> insOrders = insOrderMapper.selectList(Wrappers.<InsOrder>lambdaQuery().eq(InsOrder::getEntrustCode, entrustCode));
+        InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery()
+                .eq(InsSample::getSampleCode, sampleCode)
+                .eq(InsSample::getInsOrderId, insOrders.get(0).getId()));
         List<String> collect = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
                 .eq(InsProduct::getState, 1)
                 .eq(InsProduct::getInsSampleId, insSample.getId())).stream().map(InsProduct::getSonLaboratory).collect(Collectors.toList());
@@ -424,10 +427,13 @@
 
     //鎵爜鍑哄簱
     @Override
-    public int outInsOrderState(String sonLaboratory, String sampleCode) {
+    public int outInsOrderState(String sonLaboratory, String sampleCode, String entrustCode) {
         //鍒ゆ柇璇ユ牱鍝佺殑妫�楠屼换鍔℃槸鍚﹀凡缁忕粨鏉�(缁х画璇曢獙鎴栬�呮槸缁撴潫璇曢獙)
         //鍏堝垽鏂鏍峰搧鏄惁鏈夎繖涓珯鐐圭殑椤圭洰
-        InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getSampleCode, sampleCode));
+        List<InsOrder> insOrders = insOrderMapper.selectList(Wrappers.<InsOrder>lambdaQuery().eq(InsOrder::getEntrustCode, entrustCode));
+        InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery()
+                .eq(InsSample::getSampleCode, sampleCode)
+                .eq(InsSample::getInsOrderId, insOrders.get(0).getId()));
         List<String> collect = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
                 .eq(InsProduct::getState, 1)
                 .eq(InsProduct::getInsSampleId, insSample.getId())).stream().map(InsProduct::getSonLaboratory).collect(Collectors.toList());
@@ -449,7 +455,7 @@
             }
         }
         boolean a = true;
-        warehouseService.outWarehouse(sampleCode, a);
+        warehouseService.outWarehouse(sampleCode, a, entrustCode);
         return 0;
     }
 
@@ -1040,7 +1046,7 @@
                     if (insOrder.getFormType().equals("鍘熺悊鏍锋満")) {
                         //鍑哄簱
                         try {
-                            outInsOrderState(laboratory, insSample.getSampleCode());
+                            outInsOrderState(laboratory, insSample.getSampleCode(), insOrder.getEntrustCode());
                         } catch (Exception e) {
 
                         }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/WarehouseServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/WarehouseServiceImpl.java
index d480b47..8d2ab9d 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/WarehouseServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/WarehouseServiceImpl.java
@@ -50,6 +50,8 @@
 
     private InsProductMapper insProductMapper;
 
+    private InsOrderMapper insOrderMapper;
+
     @Override
     public int addWarehouse(String name) {
         Warehouse warehouse = new Warehouse();
@@ -139,17 +141,24 @@
     }
 
     @Override
-    public List<WarehouseCellAndSampleDto> getWarehouse(Integer shelfId) {
-        return warehouseCellMapper.getWarehouse(shelfId);
+    public List<WarehouseCellAndSampleDto> getWarehouse(Integer shelfId,String sampleCode) {
+        return warehouseCellMapper.getWarehouse(shelfId,sampleCode);
     }
 
     @Override
-    public int inWarehouse(String trees, String sampleCode) {
+    public int inWarehouse(String trees, String sampleCode,String entrustCode) {
         String[] tree = trees.split("-");
         if(tree.length < 4){
             throw new ErrorException("搴撲綅閫夋嫨閿欒");
         }
-        List<InsSample> samples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getSampleCode, sampleCode).select(InsSample::getId,InsSample::getCellId));
+        List<InsOrder> insOrders = insOrderMapper.selectList(Wrappers.<InsOrder>lambdaQuery().eq(InsOrder::getEntrustCode, entrustCode));
+        if(insOrders.size()!=1){
+            throw new ErrorException("璁㈠崟缂栧彿杈撳叆鏈夎");
+        }
+        List<InsSample> samples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery()
+                .eq(InsSample::getSampleCode, sampleCode)
+                .eq(InsSample::getInsOrderId,insOrders.get(0).getId())
+                .select(InsSample::getId,InsSample::getCellId));
         if(samples.size()!=1){
             throw new ErrorException("鏍峰搧缂栧彿杈撳叆鏈夎");
         }
@@ -170,8 +179,15 @@
     }
 
     @Override
-    public int outWarehouse(String sampleCode, boolean a) {
-        List<InsSample> samples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getSampleCode, sampleCode).select(InsSample::getId,InsSample::getCellId));
+    public int outWarehouse(String sampleCode, boolean a,String entrustCode) {
+        List<InsOrder> insOrders = insOrderMapper.selectList(Wrappers.<InsOrder>lambdaQuery().eq(InsOrder::getEntrustCode, entrustCode));
+        if(insOrders.size()!=1){
+            throw new ErrorException("璁㈠崟缂栧彿杈撳叆鏈夎");
+        }
+        List<InsSample> samples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery()
+                .eq(InsSample::getSampleCode, sampleCode)
+                .eq(InsSample::getInsOrderId,insOrders.get(0).getId())
+                .select(InsSample::getId,InsSample::getCellId));
         if(samples.size()!=1){
             throw new ErrorException("鏍峰搧缂栧彿杈撳叆鏈夎");
         }
@@ -221,14 +237,6 @@
         return map;
     }
 
-    @Override
-    public int searchSampleId(String sampleCode) {
-        List<InsSample> samples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getSampleCode, sampleCode).select(InsSample::getId));
-        if(samples.size()!=1){
-            throw new ErrorException("鏍峰搧缂栧彿杈撳叆鏈夎");
-        }
-        return samples.get(0).getId();
-    }
 }
 
 
diff --git a/inspect-server/src/main/resources/mapper/WarehouseCellMapper.xml b/inspect-server/src/main/resources/mapper/WarehouseCellMapper.xml
index 84c887a..888703e 100644
--- a/inspect-server/src/main/resources/mapper/WarehouseCellMapper.xml
+++ b/inspect-server/src/main/resources/mapper/WarehouseCellMapper.xml
@@ -22,6 +22,9 @@
         left join ins_sample i on i.cell_id = wc.id
         where wc.state = 1
         and wc.shelf_id = #{shelfId}
+            <if test="sampleCode!=null and sampleCode!=''">
+                and i.sample_code=#{sampleCode}
+            </if>
         order by wc.row ,wc.col, wc.id
     </select>
 

--
Gitblit v1.9.3