From 12ecef99059f411e802c6fbc6f9a641c422b1747 Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期六, 03 八月 2024 22:34:20 +0800
Subject: [PATCH] 数采bug修复

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java |   85 +++++++++++++++++++++++-------------------
 1 files changed, 47 insertions(+), 38 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 11b1b15..ed89e30 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
@@ -139,14 +139,27 @@
     public Map<String, Object> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) {
         Map<String, Object> map = new HashMap<>();
         map.put("head", PrintChina.printChina(InsOrderPlanVO.class));
-        Integer userId = null;
+        Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null);
+        User user = userMapper.selectById(map1.get("userId"));//褰撳墠鐧诲綍鐨勪汉
+
+        //鑾峰彇褰撳墠浜烘墍灞炲疄楠屽id
+        String departLimsId = user.getDepartLimsId();
+        String laboratory = null;
+        if (ObjectUtils.isNotEmpty(departLimsId) && !departLimsId.equals("")) {
+            String[] split = departLimsId.split(",");
+            //鏌ヨ瀵瑰簲鏋舵瀯鍚嶇О(閫氫俊瀹為獙瀹�,鐢靛姏瀹為獙瀹�,妫�娴嬪姙)
+            String departLims = baseMapper.seldepLimsId(Integer.parseInt(split[split.length - 1]));
+            if (departLims.contains("瀹為獙瀹�")) {
+                laboratory = departLims;
+            }
+        }
+        Integer userId =null;
         if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId()) ) {
-            Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null);
-             userId = map1.get("userId");
+            userId = map1.get("userId");
             insOrderPlanDTO.setUserId(userId.longValue());
         }
         String sonLaboratory = insOrderPlanDTO.getSonLaboratory();//璇曢獙瀹�
-        IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userId,sonLaboratory);
+        IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userId,sonLaboratory,laboratory);
         map.put("body", insOrderPage);
         return map;
     }
@@ -157,11 +170,24 @@
         map.put("head", PrintChina.printChina(InsOrderPlanTaskSwitchVo.class));
         Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null);
         Integer userId = map1.get("userId");
+        User user = userMapper.selectById(map1.get("userId"));//褰撳墠鐧诲綍鐨勪汉
+
+        //鑾峰彇褰撳墠浜烘墍灞炲疄楠屽id
+        String departLimsId = user.getDepartLimsId();
+        String laboratory = null;
+        if (ObjectUtils.isNotEmpty(departLimsId) && !departLimsId.equals("")) {
+            String[] split = departLimsId.split(",");
+            //鏌ヨ瀵瑰簲鏋舵瀯鍚嶇О(閫氫俊瀹為獙瀹�,鐢靛姏瀹為獙瀹�,妫�娴嬪姙)
+            String departLims = baseMapper.seldepLimsId(Integer.parseInt(split[split.length - 1]));
+            if (departLims.contains("瀹為獙瀹�")) {
+                laboratory = departLims;
+            }
+        }
         if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId())) {
             insOrderPlanDTO.setUserId(userId.longValue());
         }
         String sonLaboratory = insOrderPlanDTO.getSonLaboratory();//璇曢獙瀹�
-        IPage<InsOrderPlanTaskSwitchVo> insOrderPage = insSampleMapper.inspectionOrderDetailsTaskSwitching(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userId,sonLaboratory);
+        IPage<InsOrderPlanTaskSwitchVo> insOrderPage = insSampleMapper.inspectionOrderDetailsTaskSwitching(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userId,sonLaboratory,laboratory);
         map.put("body", insOrderPage);
         return map;
     }
@@ -212,8 +238,6 @@
                 insProducts = insSampleMapper.getInsProduct3(id);
                 break;
         }
-        // 鏁伴噰鏂板
-        getDeviceMessage(insProducts, request);
 
         Set<Integer> set = new HashSet<>();
         Map<Integer, String> map2 = new HashMap<>();
@@ -222,33 +246,6 @@
         return insProducts;
     }
 
-    private List<InsProduct> getDeviceMessage(List<InsProduct> insProducts, HttpServletRequest request) {
-        String ipAddress = request.getRemoteAddr();
-        // 闃叉鍥炵幆鍦板潃鍙樹负IPv6
-        String ip =  ipAddress.equals("0:0:0:0:0:0:0:1") ? "127.0.0.1" : ipAddress;
-        insProducts.forEach(i -> {
-            Map<String, Object> devices = baseMapper.getDeviceMessage(ip, i.getInspectionItem(), i.getInspectionItemSubclass(), i.getSampleType());
-            if (ObjectUtils.isNotEmpty(devices) && ObjectUtils.isNotEmpty(devices.get("file_type")) && ObjectUtils.isNotEmpty(devices.get("collect_url"))) {
-                InsProductResult insProductResult = i.getInsProductResult();
-                if (ObjectUtils.isEmpty(insProductResult)) {
-                    insProductResult = new InsProductResult();
-                }
-                List<Object> list = new ArrayList<>();
-                Map<Object, Object> hashMap = new HashMap<>();
-                hashMap.put("v", devices.get("device_name"));
-                list.add(hashMap);
-                insProductResult.setEquipName(JSON.toJSON(list).toString());
-                List<Object> listValue = new ArrayList<>();
-                Map<Object, Object> hashMapValue = new HashMap<>();
-                hashMapValue.put("v", devices.get("management_number"));
-                listValue.add(hashMapValue);
-                insProductResult.setEquipName(JSON.toJSON(list).toString());
-                insProductResult.setEquipValue(JSON.toJSON(listValue).toString());
-                i.setInsProductResult(insProductResult);
-            }
-        });
-        return insProducts;
-    }
     @Override
     public List<String> checkSubmitPlan(Integer orderId, String laboratory) {
         List<String> collect = new ArrayList<>();
@@ -598,7 +595,14 @@
                         LocalTime startTime = LocalTime.parse(shiftTime.getStartTime(), forma);
                         LocalTime endTime = LocalTime.parse(shiftTime.getEndTime(), forma);
                         // 妫�鏌ュ綋鍓嶆椂闂存槸鍚﹀湪鑼冨洿鍐咃紙鍖呮嫭杈圭晫锛�
-                        boolean isWithinRange = !now.isBefore(startTime) && !now.isAfter(endTime);
+                        boolean isWithinRange;
+                        if (endTime.isAfter(startTime)) {
+                            // 涓嶈法澶╃殑鎯呭喌
+                            isWithinRange = !now.isBefore(startTime) && !now.isAfter(endTime);
+                        } else {
+                            // 璺ㄥぉ鐨勬儏鍐�
+                            isWithinRange = !now.isBefore(startTime) || !now.isAfter(endTime);
+                        }
                         //鍔犵彮
                         AuxiliaryOutputWorkingHours count1 = auxiliaryOutputWorkingHoursMapper.selectOne(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
                                 .eq(AuxiliaryOutputWorkingHours::getCheck, userId)
@@ -3447,6 +3451,11 @@
                 throw new RuntimeException(e);
             }
         }
+        else {
+            //澶嶆牳涓嶉�氳繃灏嗘妸澶嶆牳鐨勮礋璐d汉鍘绘帀
+            Integer id = insSampleUserMapper.selectOne(Wrappers.<InsSampleUser>lambdaQuery().eq(InsSampleUser::getInsSampleId, orderId).orderByDesc(InsSampleUser::getId).last("limit 1")).getId();
+            insSampleUserMapper.deleteById(id);
+        }
         return 1;
     }
 
@@ -3477,7 +3486,7 @@
     }
 
     @Override
-    public int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode, String sampleCode) {
+    public int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode) {
         List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId));
         List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList());
         List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
@@ -3567,8 +3576,8 @@
             return null;
         });
         // 鍒犻櫎鏁伴噰閲囬泦娆℃暟
-        String key = "frequency" + ":" + entrustCode + ":" + sampleCode;
-        RedisUtil.del(key);
+        String key = "frequency" + ":" + entrustCode + ":*";
+        RedisUtil.delsLike(key);
         return 1;
     }
 

--
Gitblit v1.9.3