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