From 1bc536c54fc1c2f25a4cff4b162cfa6979604fff Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 29 八月 2024 17:31:10 +0800
Subject: [PATCH] 企业微信对接+工时优化+设备查询项目树结构优化

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java |   94 +++++++++++++++++++++++++++--------------------
 1 files changed, 54 insertions(+), 40 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 f268a67..6e1eb12 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
@@ -30,10 +30,7 @@
 import com.yuanchu.mom.mapper.*;
 import com.yuanchu.mom.pojo.*;
 import com.yuanchu.mom.service.*;
-import com.yuanchu.mom.utils.JackSonUtil;
-import com.yuanchu.mom.utils.MatrixToImageWriter;
-import com.yuanchu.mom.utils.QueryWrappers;
-import com.yuanchu.mom.utils.RedisUtil;
+import com.yuanchu.mom.utils.*;
 import com.yuanchu.mom.vo.*;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -64,6 +61,7 @@
  * 妫�楠屼换鍔�-涓氬姟瀹炵幇灞�
  */
 @Service
+@Transactional(rollbackFor = Exception.class)
 public class InsOrderPlanServiceImpl extends ServiceImpl<InsOrderMapper, InsOrder> implements InsOrderPlanService {
 
     @Resource
@@ -111,7 +109,7 @@
     AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper;
 
     @Resource
-    AuxiliaryOutputWorkingHoursService auxiliaryOutputWorkingHoursService;
+    QYWXApi qywxApi;
 
     @Resource
     private InformationNotificationService informationNotificationService;
@@ -552,7 +550,6 @@
                         insProductResultMapper.deleteById(insProductResultss.get(i));
                     }
                 }
-                //InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, Integer.parseInt(k)));
                 //妫�楠屽��
                 if (jo.get("insValue") != null) {
                     JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(jo.get("insValue")));
@@ -639,13 +636,11 @@
                     result.setUpdateTime(LocalDateTime.now());
                     insProductResultMapper.updateById(result);
                 }
-
                 /*濡傛灉鏄涓�娆¢�夋嫨璁惧淇℃伅,涓旇繕鏈夊叾浣欐牱鍝佷篃鏈夊悓涓�涓粡楠岄」鐩�,閭d箞鎵�鏈夋牱鍝佺殑璇ラ」鐩兘鐢ㄨ繖涓澶囦俊鎭�*/
-                //鍏堟煡璇㈡槸鍚﹁繕鏈夊叾浣欐牱鍝�
-
+                /*//鍏堟煡璇㈡槸鍚﹁繕鏈夊叾浣欐牱鍝�
                 Integer insSampleId = product.getInsSampleId();
                 List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, insSampleMapper.selectById(insSampleId).getInsOrderId()));
-                //濡傛灉鏈夊涓牱鍝佹垨鑰呮槸涓嶆槸閲囬泦绫诲瀷灏卞悓涓�涓澶�
+                //濡傛灉鏈夊涓牱鍝佹垨鑰呬笉鏄噰闆嗙被鍨嬪氨鍚屼竴涓澶�
                 if (insSamples.size() > 1 && !product.getInspectionItemType().equals("1")) {
                     //瀛樺湪鍏朵綑鏍峰搧,鏌ヨ鏄惁鏈夊悓涓�绉嶆楠岄」鐩�
                     for (InsSample sample : insSamples.stream().filter(insSample -> !insSample.getId().equals(insSampleId)).collect(Collectors.toList())) {
@@ -660,8 +655,7 @@
                                 .eq(InsProduct::getStandardMethodListId, product.getStandardMethodListId())
                                 .eq(InsProduct::getInsBushId, product.getInsBushId())
                                 .eq(InsProduct::getInsFibersId, product.getInsFibersId())
-                                .eq(InsProduct::getInsFiberId, product.getInsFiberId())
-                        );
+                                .eq(InsProduct::getInsFiberId, product.getInsFiberId()));
                         if (ObjectUtils.isNotEmpty(product1)) {
                             //濡傛灉瀛樺湪椤圭洰,鏌ヨ鏄惁鏈夎〃
                             InsProductResult productResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery()
@@ -686,13 +680,12 @@
                         }
                     }
 
-                }
+                }*/
                 insProduct.setUpdateUser(userId);
                 insProductMapper.updateById(insProduct);
                 insProductUserMapper.insert(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId()));
-
                 insProduct = insProductMapper.selectById(insProduct);
-
+                /*鐢熸垚浜ч噺宸ユ椂*/
                 //鏌ヨ妫�楠屽崟淇℃伅
                 InsOrder insOrder = insOrderMapper.selectById(insSampleMapper.selectById(insProduct.getInsSampleId()).getInsOrderId());
                 //鏍¢獙濡傛灉杩欎釜浜鸿繖涓娴嬮」鐩凡缁忔坊鍔犺繃浜嗗垯涓嶉渶瑕佸啀鏂板
@@ -761,7 +754,8 @@
                                 auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//鏄熸湡
                                 auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
                                 auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
-                            } else {
+                            }
+                            else {
                                 //鍔犵彮
                                 auxiliaryOutputWorkingHours.setInspectionItem(insProduct.getInspectionItem());//妫�娴嬬埗椤�
                                 auxiliaryOutputWorkingHours.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());//妫�娴嬪瓙椤�
@@ -781,7 +775,14 @@
                                 auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
                             }
                             try {
-                                if (CollectionUtils.isEmpty(insProductResultss) && !result.getInsValue().equals("[]") || (CollectionUtils.isNotEmpty(insProductResultss) && !insProductResultss.get(0).getInsValue().equals(result.getInsValue()) && !insProductResultss.get(0).getInsValue().equals("[]"))) {
+                                //杩欎釜妫�楠岄」鐩繕娌℃湁濉啓杩囨楠屽�间笖杩欐杩欎釜妫�楠岄」鐩~鍐欑殑妫�楠屽�间笉涓虹┖
+                                if (CollectionUtils.isEmpty(insProductResultss)  && jo.get("insValue") != null
+                                        //杩欎釜妫�楠岄」鐩繕娌℃湁濉啓杩囨楠屽�间笖杩欐杩欎釜妫�楠岄」鐩~鍐欑殑璁$畻鍊间笉涓虹┖浣嗘槸妫�楠屽�间负绌�
+                                        || CollectionUtils.isEmpty(insProductResultss) &&  jo.get("insValue") == null  && jo.get("comValue") != null
+                                        //杩欎釜妫�楠岄」鐩湁濉啓杩囨楠屽�间笖杩欐濉啓鐨勬楠屽�煎拰鍘熸潵鐨勬楠屽�间笉鐩哥瓑,涓旇繖娆$殑妫�楠屽�间笉绛変簬绌�
+                                        || (CollectionUtils.isNotEmpty(insProductResultss) && !insProductResultss.get(0).getInsValue().equals(result.getInsValue()) && jo.get("insValue") != null)
+                                        //杩欎釜妫�楠岄」鐩湁濉啓杩囨楠屽�间笖杩欐濉啓鐨勮绠楀�煎拰鍘熸潵鐨勮绠楀�间笉鐩哥瓑,涓旇繖娆$殑璁$畻鍊间笉绛変簬绌�,涓旇繖娆$殑妫�楠屽�肩瓑浜庣┖
+                                        || (CollectionUtils.isNotEmpty(insProductResultss) && !insProductResultss.get(0).getComValue().equals(result.getComValue())  && jo.get("insValue") == null  && jo.get("comValue") != null)) {
                                     auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
                                 }
                             } catch (Exception e) {
@@ -803,6 +804,7 @@
                                 .ne(InsProduct::getInsResult, 2)
                         ));
                 if (l == l1) {
+                    //濡傛灉鎵�鏈夐」鐩兘鏈夌粨璁�,閭d箞璇ユ牱鍝佺姸鎬佸凡妫�
                     insSample.setInsState(2);
                 }
                 insSampleMapper.updateById(insSample);
@@ -834,7 +836,6 @@
                                 .or()
                                 .eq(InsProduct::getInsResult, 2)
                         )
-                        //.isNull(InsProduct::getInsResult)
                         .eq(InsProduct::getSonLaboratory, insProduct.getSonLaboratory())
                         .eq(InsProduct::getState, 1));
                 if (count == 0) {
@@ -1278,10 +1279,10 @@
             List<TableRenderData> tables1 = new ArrayList<>();
             tableRenderData.setRows(new ArrayList<>());
             int totalHeight = 0;
-            int pageHeightLimit = 500; // 鍋囪姣忛〉鐨勯珮搴﹂檺鍒朵负500鍗曚綅
+            int pageHeightLimit = 450; // 鍋囪姣忛〉鐨勯珮搴﹂檺鍒朵负500鍗曚綅
             int rowHeight = 0;
             List<RowRenderData> firstTwoRows = new ArrayList<>(); // 淇濆瓨鍓嶄袱琛屼互渚垮鍒跺埌鏂拌〃鏍�
-            List<RowRenderData> endRows = new ArrayList<>(); // 淇濆瓨鍓嶄袱琛屼互渚垮鍒跺埌鏂拌〃鏍�
+            List<RowRenderData> endRows = new ArrayList<>(); // 淇濆瓨鏈�鍚庝竴琛屽娉ㄤ互渚垮鍒跺埌鏂拌〃鏍�
             // 淇濆瓨鍓嶄袱琛屼互渚垮鍒跺埌鏂拌〃鏍�
             if (rows.size() >= 3) {
                 firstTwoRows.add(rows.get(0));
@@ -1676,17 +1677,39 @@
                 .set(InsOrderState::getInsTime, LocalDateTime.now())
                 .set(InsOrderState::getInsState, 3)
                 .set(InsOrderState::getVerifyUser, verifyUser));
-        Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
-        InformationNotification info = new InformationNotification();
-        info.setCreateUser(insProductMapper.selectUserById(userId).get("name"));
-        info.setMessageType("2");
-        info.setTheme("澶嶆牳閫氱煡");
-        info.setContent("鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅");
-        info.setSenderId(userId);
-        info.setConsigneeId(verifyUser);
-        info.setViewStatus(false);
-        info.setJumpPath("b1-inspect-order-plan");
-        informationNotificationService.addInformationNotification(info);
+        /*濡傛灉鏄疌绫昏鍗曚笖鏄笅鍙戝埌璐ㄩ噺閮�,鍒欑洿鎺ュ鏍搁�氳繃(缁撴潫璇曢獙)*/
+        InsOrder insOrder = insOrderMapper.selectById(orderId);
+        if (insOrder.getOrderType().equals("C") && insOrder.getDepartmentLims().equals("璐ㄩ噺閮�")) {
+            verifyPlan(orderId, laboratory, 2, null);
+        }else {
+            Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
+            //LIMS绯荤粺娑堟伅鎺ㄩ��
+            InformationNotification info = new InformationNotification();
+            info.setCreateUser(insProductMapper.selectUserById(userId).get("name"));
+            info.setMessageType("2");
+            info.setTheme("澶嶆牳閫氱煡");
+            info.setContent("鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅");
+            info.setSenderId(userId);
+            info.setConsigneeId(verifyUser);
+            info.setViewStatus(false);
+            info.setJumpPath("b1-inspect-order-plan");
+            informationNotificationService.addInformationNotification(info);
+            //todo 浼佷笟寰俊娑堟伅鎺ㄩ�丂zss
+           /* HashMap<String, Object> map = new HashMap<>();
+            String account = userMapper.selectById(userId).getAccount();
+            map.put("touser", *//*account*//*"ZT-012117");//鎺ユ敹娑堟伅鎴愬憳鐨勮处鍙�'ZT-031292'杩欑绫诲瀷(濡傛灉鏈夊涓敤'|'鍒嗛殧)
+            map.put("toparty", "");//鎺ユ敹閮ㄩ棬id
+            map.put("totag", "");//娑堟伅鏍囩id
+            map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰
+            map.put("agentid", 1000513);//搴旂敤id
+            HashMap<String, Object> hashMap = new HashMap<>();
+            hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅,璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"http://10.1.13.77/enter\"> </a>");
+            map.put("text", JSONArray.toJSONString(hashMap));//娑堟伅鍐呭
+            map.put("safe", 0);//鏄惁淇濆瘑娑堟伅.0鍚�
+            map.put("enable_id_trans", 0);//鏄惁寮�鍚痠d杞瘧.0鍚�
+            map.put("enable_duplicate_check", 0);//鏄惁寮�鍚噸澶嶆秷鎭鏌�.0鍚�
+            qywxApi.send(map);*/
+        }
         //澶嶆牳浜�--妫�楠屽崟鐩稿叧璐熻矗浜�
         InsSampleUser insSampleUser = new InsSampleUser();
         insSampleUser.setUserId(verifyUser);
@@ -1694,11 +1717,6 @@
         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, 2, null);
-        }
         /*鏍¢獙涓�涓媟esult琛�*/
         CompletableFuture.supplyAsync(() -> {
             List<Integer> ips = insProducts.stream().map(InsProduct::getId).distinct().collect(Collectors.toList());
@@ -1717,10 +1735,6 @@
         String key = "frequency" + ":" + entrustCode + ":*";
         RedisUtil.delsLike(key);
         return 1;
-    }
-
-    public int pxToCm(int px) {
-        return px / 9;
     }
 
     // 鑾峰彇涓や釜localDateTime鐨勬瘡涓�澶�

--
Gitblit v1.9.3