From 8bf55e1ac0ac6eb6c97a025f0c03b78e208f668e Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 26 八月 2024 17:26:58 +0800
Subject: [PATCH] 复核确认+插队+认领判断是否在库

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java |   52 +++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 37 insertions(+), 15 deletions(-)

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 08174d5..f268a67 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
@@ -86,6 +86,8 @@
     private ShiftTimeMapper shiftTimeMapper;
     @Resource
     private PerformanceShiftMapper performanceShiftMapper;
+    @Resource
+    private WarehouseHistoryMapper warehouseHistoryMapper;
 
     @Value("${wordUrl}")
     private String wordUrl;
@@ -193,6 +195,25 @@
     public boolean claimInsOrderPlan(InsOrderPlanDTO entity) {
         if (Objects.isNull(entity)) {
             return false;
+        }
+        /*璁ら闇�瑕佸垽鏂鏍峰搧鏄惁鍦ㄥ簱*/
+        //鏌ヨ鏍峰搧id
+        List<Integer> sampleIds = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery()
+                .eq(InsSample::getInsOrderId, entity.getInsSampleId())).stream().map(InsSample::getId).collect(Collectors.toList());
+        for (Integer samId : sampleIds) {
+            //鍏ュ簱娆℃暟
+            Long inCount = warehouseHistoryMapper.selectCount(Wrappers.<WarehouseHistory>lambdaQuery()
+                    .eq(WarehouseHistory::getState, 1)
+                    .eq(WarehouseHistory::getInsSampleId, samId));
+            //鍑哄簱娆℃暟
+            Long outCount = warehouseHistoryMapper.selectCount(Wrappers.<WarehouseHistory>lambdaQuery()
+                    .eq(WarehouseHistory::getState, 2)
+                    .eq(WarehouseHistory::getInsSampleId, samId));
+            if (inCount > 0 && inCount > outCount) {
+                //鍏ュ簱
+            } else {
+                throw new ErrorException("鎵�閫夌殑鏍峰搧搴撳瓨涓嶈冻,璇锋鏌ュ叆搴撳拰鍑哄簱璁板綍!");
+            }
         }
         Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null);
         Integer userId = map1.get("userId");
@@ -850,7 +871,10 @@
         //杩欓噷鐨刬nsSamples鏄鍗曚笅鐨勬墍鏈夋牱鍝佸寘鎷�("/")
         List<InsSample> samples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId));
         for (InsSample insSample : samples) {
-            List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, insSample.getId()).eq(InsProduct::getState, 1));
+            List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+                    .eq(InsProduct::getInsSampleId, insSample.getId())
+                    .eq(InsProduct::getSonLaboratory, laboratory)
+                    .eq(InsProduct::getState, 1));
             List<Integer> results = insProducts.stream().map(InsProduct::getInsResult).filter(str -> str != null).collect(Collectors.toList());
             if (results.contains(0)) {
                 insSample.setInsResult(0);
@@ -880,7 +904,7 @@
         /*type=0  鍐嶆璇曢獙; type=1 缁х画璇曢獙 ; type=2 缁撴潫璇曢獙*/
         switch (type) {
             case 0:
-                /*鍐嶆璇曢獙:绯荤粺鑷姩鍦ㄦ绔欏彴鍐嶆鍒涘缓涓�娆℃楠屼换鍔★紱*/
+                /*鍐嶆璇曢獙:璇ュ崟瀛愰��鍥炲埌妫�楠岀姸鎬�(鎺掑簭鏀规垚褰撳墠鐨勬渶鍚�)锛�*/
                 //鏇存柊鍘熸潵鐨勬楠屼换鍔�
                 // 鏌ヨ鏍规嵁 id 鍊掑簭鎺掑垪鐨勭涓�鏉¤褰�
                 InsOrderState record = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery()
@@ -895,14 +919,9 @@
                             .set(InsOrderState::getInsTime, now)
                             .set(InsOrderState::getInsState, 4)
                             .set(InsOrderState::getVerifyTell, tell)
-                            .set(InsOrderState::getVerifyUser, userId));
+                            .set(InsOrderState::getVerifyUser, userId)
+                            .set(InsOrderState::getCreateTime, LocalDateTime.now()));
                 }
-                //鏂板缓妫�楠屼换鍔�
-               /* InsOrderState orderState = new InsOrderState();
-                orderState.setInsOrderId(orderId);
-                orderState.setLaboratory(laboratory);
-                orderState.setInsState(0);
-                insOrderStateMapper.insert(orderState);*/
                 break;
             case 1:
                 //缁х画璇曢獙:鍒欑户缁皢妫�楠屼换鍔¤浆鎺ヨ嚦涓嬩竴绔欑偣锛�
@@ -921,7 +940,9 @@
                         .in(InsProduct::getInsSampleId, ids)
                         .eq(InsProduct::getState, 1));
                 List<Integer> list = new ArrayList<>();
-                list.add(4);list.add(5);list.add(6);
+                list.add(4);
+                list.add(5);
+                list.add(6);
                 List<InsOrderState> insOrderStates = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery()
                         .eq(InsOrderState::getInsOrderId, orderId)
                         .in(InsOrderState::getInsState, list));
@@ -1229,10 +1250,12 @@
                             cells.add(cellRenderData);
                         } else {
                             //绗竷鍒�
-                            if (a.getInsProduct().get(i - 2).getInsResult() == 0) {
-                                textRenderData.setText("脳");
+                            if (ObjectUtils.isEmpty(a.getInsProduct().get(i - 2).getInsResult())) {
+                                textRenderData.setText("-");
                             } else if (a.getInsProduct().get(i - 2).getInsResult() == 1) {
                                 textRenderData.setText("鈭�");
+                            } else if (a.getInsProduct().get(i - 2).getInsResult() == 0) {
+                                textRenderData.setText("脳");
                             } else {
                                 textRenderData.setText("-");
                             }
@@ -1377,7 +1400,6 @@
         if (ObjectUtils.isEmpty(signatureUrl) || signatureUrl.equals("")) {
             throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�");
         }
-        //Custom custom = customMapper.selectById(user.get("company"));
         Custom custom = customMapper.selectById(insOrder.getCompanyId());
         if (!resultCh.get().equals("")) {
             resultCh.set("渚濇嵁濮旀墭瑕佹眰锛�" + resultCh.get().replaceFirst("銆�", "") + "绛夋墍妫�椤圭洰涓嶇鍚堣姹傦紝鍏朵綑鎵�妫�椤圭洰鍧囩鍚堣姹傘��");
@@ -1672,10 +1694,10 @@
         insSampleUser.setState(1);
         insSampleUser.setSonLaboratory(laboratory);
         insSampleUserMapper.insert(insSampleUser);
-        /*濡傛灉鏄疌绫昏鍗曚笖鏄笅鍙戝埌璐ㄩ噺閮�,鍒欑洿鎺ュ鏍搁�氳繃*/
+        /*濡傛灉鏄疌绫昏鍗曚笖鏄笅鍙戝埌璐ㄩ噺閮�,鍒欑洿鎺ュ鏍搁�氳繃(缁撴潫璇曢獙)*/
         InsOrder insOrder = insOrderMapper.selectById(orderId);
         if (insOrder.getOrderType().equals("C") && insOrder.getDepartmentLims().equals("璐ㄩ噺閮�")) {
-            verifyPlan(orderId, laboratory, 1, null);
+            verifyPlan(orderId, laboratory, 2, null);
         }
         /*鏍¢獙涓�涓媟esult琛�*/
         CompletableFuture.supplyAsync(() -> {

--
Gitblit v1.9.3