From 7a9de16c90c1d936c35d426c95c3f4a9bba8a1f8 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期五, 22 十一月 2024 09:25:54 +0800 Subject: [PATCH] 电路试验的计算规则,将检验值转换成绝对值进行判定,不判定的情况加上要求值是中文 --- inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 142 +++++++++++++++++++++++++++++++--------------- 1 files changed, 95 insertions(+), 47 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 ff49a1e..443e7a8 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 @@ -129,6 +129,9 @@ @Resource private InsOrderFileMapper insOrderFileMapper; + @Resource + FuSheUtils fuSheUtils; + @Override public Map<String, Object> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) { Map<String, Object> map = new HashMap<>(); @@ -204,8 +207,22 @@ //鏍峰搧 insProducts = insSampleMapper.getInsProduct1(id, laboratory); if (insProducts.size() == 0) { - insProducts = insSampleMapper.getIns2Product1(id, laboratory); + insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getInsSampleId, id) + .eq(InsProduct::getState, 1) + .eq(InsProduct::getSonLaboratory, laboratory)); + for (InsProduct insProduct : insProducts) { + List<InsProductResult2> insProductResult2List = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery() + .eq(InsProductResult2::getInsProductId, insProduct.getId()).isNull(InsProductResult2::getNum)); + insProduct.setInsProductResult2(insProductResult2List); + InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery() + .eq(InsProductResult::getInsProductId, insProduct.getId()).isNull(InsProductResult::getNum)); + insProduct.setInsProductResult(insProductResult); + } } + /*if (insProducts.size() == 0) { + insProducts = insSampleMapper.getIns2Product1(id, laboratory); + }*/ break; case 1: //鍏夌氦甯� @@ -274,13 +291,20 @@ public Map<String, Object> getFileList(Page page, InsOrderFile insOrderFile) { Map<String, Object> map = new HashMap<>(); map.put("head", PrintChina.printChina(InsOrderFile.class)); - IPage<InsOrderFile> insOrderFileIPage = insOrderFileMapper.getFileList(page, QueryWrappers.queryWrappers(insOrderFile)); + Integer insOrderId = insOrderFile.getInsOrderId(); + insOrderFile.setInsOrderId(null); + String sonLaboratory = null; + if (ObjectUtils.isNotEmpty(insOrderFile.getSonLaboratory())) { + sonLaboratory = insOrderFile.getSonLaboratory(); + insOrderFile.setSonLaboratory(null); + } + IPage<InsOrderFile> insOrderFileIPage = insOrderFileMapper.getFileList(page, QueryWrappers.queryWrappers(insOrderFile), insOrderId, sonLaboratory); map.put("body", insOrderFileIPage); return map; } @Override - public int uploadFile(Integer orderId, MultipartFile file) { + public int uploadFile(Integer orderId, MultipartFile file, String sonLaboratory) { String urlString; String pathName; String path; @@ -303,16 +327,44 @@ if (!realpath.exists()) { realpath.mkdirs(); } - pathName = UUID.randomUUID() + "_" + file.getOriginalFilename(); + pathName = file.getOriginalFilename().replace("#", "&"); urlString = realpath + "/" + pathName; file.transferTo(new File(urlString)); insOrderFile.setFileUrl(pathName); - return insOrderFileMapper.insert(insOrderFile); + if (ObjectUtils.isNotEmpty(sonLaboratory)) { + insOrderFile.setSonLaboratory(sonLaboratory); + //鍒犻櫎閲嶅鐨勬暟鎹� + insOrderFileMapper.delete(Wrappers.<InsOrderFile>lambdaQuery() + .eq(InsOrderFile::getInsOrderId, orderId) + .eq(InsOrderFile::getType, insOrderFile.getType()) + .eq(InsOrderFile::getFileName, insOrderFile.getFileName()) + .eq(InsOrderFile::getSonLaboratory, insOrderFile.getSonLaboratory()) + .eq(InsOrderFile::getFileUrl, insOrderFile.getFileUrl())); + } else { + //鍒犻櫎閲嶅鐨勬暟鎹� + insOrderFileMapper.delete(Wrappers.<InsOrderFile>lambdaQuery() + .eq(InsOrderFile::getInsOrderId, orderId) + .eq(InsOrderFile::getType, insOrderFile.getType()) + .eq(InsOrderFile::getFileName, insOrderFile.getFileName()) + .isNull(InsOrderFile::getSonLaboratory) + .eq(InsOrderFile::getFileUrl, insOrderFile.getFileUrl())); + } + insOrderFileMapper.insert(insOrderFile); + //濡傛灉鏄緪灏勮瘯楠�(杩戝満/杩滅▼涓婁紶鐨刢sv鏂囦欢) + String[] split = filename.split("\\."); + if (ObjectUtils.isNotEmpty(sonLaboratory) && (sonLaboratory.equals("杩戝満") || sonLaboratory.equals("杩滃満")) && + split[split.length - 1].equals("csv")) { + //鍒ゆ柇鏄摢绉峜sv鏂囦欢,鏄惁鏈夆�斺�� + if (sonLaboratory.equals("杩戝満")) { + fuSheUtils.getFuSheWord1(sonLaboratory, insOrderFile); + } else { + fuSheUtils.getFuSheWord2(sonLaboratory, insOrderFile); + } + } } catch (Exception e) { - e.printStackTrace(); System.err.println("闄勪欢涓婁紶閿欒"); - return 0; } + return 0; } @Override @@ -362,9 +414,7 @@ orderState.setInsState(0); orderState.setNum(orderState.getNum() + 1);//閫掑 insOrderStateMapper.updateById(orderState); - } /*else { - throw new ErrorException("璇ヨ鍗曠珯鐐圭殑浠诲姟宸插垱寤�,鏃犳硶鍐嶆鍒涘缓!"); - }*/ + } } else { InsOrderState insOrderState = new InsOrderState(); insOrderState.setInsOrderId(insSample.getInsOrderId()); @@ -393,15 +443,18 @@ //鍒ゆ柇璇ヨ鍗曟槸鍚︾珯鐐逛换鍔℃湁(缁х画璇曢獙鎴栬�呮槸缁撴潫璇曢獙) List<InsOrderState> orderStates = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery() .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()) - .and(wrapper -> wrapper - .eq(InsOrderState::getInsState, 5) - .or() - .eq(InsOrderState::getInsState, 6) - )); + .eq(InsOrderState::getInsState, 5)); if (CollectionUtils.isEmpty(orderStates)) { - throw new ErrorException("璇ユ牱鍝佺殑妫�楠屼换鍔¤繕娌℃湁缁撴潫璇曢獙,鏆傛椂鏃犳硶鍑哄簱!"); + List<InsOrderState> orderStates1 = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery() + .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()) + .eq(InsOrderState::getLaboratory, sonLaboratory) + .eq(InsOrderState::getInsState, 6)); + if (CollectionUtils.isEmpty(orderStates1)) { + throw new ErrorException("璇ユ牱鍝佺殑妫�楠屼换鍔¤繕娌℃湁缁撴潫璇曢獙鎴栫户缁瘯楠�,鏆傛椂鏃犳硶鍑哄簱!"); + } } - warehouseService.outWarehouse(sampleCode); + boolean a = true; + warehouseService.outWarehouse(sampleCode, a); return 0; } @@ -696,8 +749,9 @@ //缁撹 int ressult = 1; String valueStr = insProductResult2.getValue(); + String regex ="[\u4e00-\u9fa5]"; if (!insProduct.getAsk().contains(",")) { - if (insProduct.getAsk().equals("/")) { + if (insProduct.getAsk().equals("/") || Pattern.compile(regex).matcher(insProduct.getAsk()).find()) { ressult = 3; //涓嶅垽瀹� } else if (!isValueValid(valueStr, new String[]{insProduct.getAsk()})) { ressult = 0; //涓嶅悎鏍� @@ -776,6 +830,8 @@ insProductResultMapper.delete(Wrappers.<InsProductResult>lambdaQuery() .eq(InsProductResult::getInsProductId, insProductResult.getInsProductId()) .eq(InsProductResult::getNum, insProductResult.getNum())); + insProductResult.setEquipValue("[{\"v\":\"" + insProductResult.getEquipValue() + "\"}]"); + insProductResult.setEquipName("[{\"v\":\"" + insProductResult.getEquipName() + "\"}]"); insProductResultMapper.insert(insProductResult); return 0; } @@ -829,7 +885,7 @@ if (ObjectUtils.isEmpty(s)) { continue; } - double numericValue = Double.parseDouble(s); + double numericValue = Math.abs(Double.parseDouble(s)); boolean valid = Arrays.stream(valuesToCheck) .allMatch(v -> getResult(numericValue, v)); if (!valid) { @@ -857,7 +913,6 @@ Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); List<InsUnPass> insUnPasses = new ArrayList<>(); /*鏍峰搧涓嬬殑椤圭洰鍙鏈変竴涓」鐩笉鍚堟牸鍒欐楠岀粨鏋滀负0,鍚﹀垯涓�1*/ - //杩欓噷鐨刬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() @@ -935,6 +990,14 @@ //濡傛灉璁㈠崟绫诲瀷鏄師鐞嗘牱鏈�,鍒欒璁㈠崟鐩存帴闂幆 InsOrder insOrder = insOrderMapper.selectById(orderId); if (insOrder.getFormType().equals("鍘熺悊鏍锋満")) { + for (InsSample sample : samples) { + //鍑哄簱 + try { + outInsOrderState(laboratory, sample.getSampleCode()); + } catch (Exception e) { + + } + } insOrder.setState(4); insOrderMapper.updateById(insOrder); } @@ -1032,8 +1095,8 @@ .eq(InsOrderState::getLaboratory, submitPlanDto.getLaboratory()) .set(InsOrderState::getInsState, 3) .set(InsOrderState::getVerifyUser, submitPlanDto.getVerifyUser())); + InsOrder insOrder = insOrderMapper.selectById(submitPlanDto.getOrderId()); /*杩欎釜鎯呭喌鍏堝叧闂�----濡傛灉鏄疌绫昏鍗曚笖鏄笅鍙戝埌璐ㄩ噺閮�,鍒欑洿鎺ュ鏍搁�氳繃(缁撴潫璇曢獙)*/ -// InsOrder insOrder = insOrderMapper.selectById(orderId); // if (insOrder.getOrderType().equals("C") && insOrder.getDepartmentLims().equals("璐ㄩ噺閮�")) { // try { // verifyPlan(orderId, laboratory, 2, null); @@ -1053,21 +1116,21 @@ 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'杩欑绫诲瀷(濡傛灉鏈夊涓敤'|'鍒嗛殧) + // todo 浼佷笟寰俊娑堟伅鎺ㄩ�丂zss + HashMap<String, Object> map = new HashMap<>(); + String account = userMapper.selectById(submitPlanDto.getVerifyUser()).getAccount(); + map.put("touser", account);//鎺ユ敹娑堟伅鎴愬憳鐨勮处鍙�'ZT-031292'杩欑绫诲瀷(濡傛灉鏈夊涓敤'|'鍒嗛殧) map.put("toparty", "");//鎺ユ敹閮ㄩ棬id map.put("totag", "");//娑堟伅鏍囩id map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰 - map.put("agentid", 1000513);//搴旂敤id + map.put("agentid", 1000517);//搴旂敤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));//娑堟伅鍐呭 + hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅,璁㈠崟鍙锋槸锛�"+insOrder.getEntrustCode()+",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>"); + map.put("text", hashMap);//娑堟伅鍐呭 map.put("safe", 0);//鏄惁淇濆瘑娑堟伅.0鍚� map.put("enable_id_trans", 0);//鏄惁寮�鍚痠d杞瘧.0鍚� map.put("enable_duplicate_check", 0);//鏄惁寮�鍚噸澶嶆秷鎭鏌�.0鍚� - qywxApi.send(map);*/ + qywxApi.send(map); // } //澶嶆牳浜�--妫�楠屽崟鐩稿叧璐熻矗浜� InsSampleUser insSampleUser = new InsSampleUser(); @@ -1076,25 +1139,12 @@ insSampleUser.setState(1); insSampleUser.setSonLaboratory(submitPlanDto.getLaboratory()); insSampleUserMapper.insert(insSampleUser); - /*//鏍¢獙涓�涓媟esult琛� - CompletableFuture.supplyAsync(() -> { - List<Integer> ips = insProducts.stream().map(InsProduct::getId).distinct().collect(Collectors.toList()); - for (Integer ip : ips) { - List<InsProductResult> insProductResults = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery() - .eq(InsProductResult::getNum, orderState.getNum()) - .eq(InsProductResult::getInsProductId, ip)); - if (insProductResults.size() > 1) { - for (int i = 1; i < insProductResults.size(); i++) { - insProductResultMapper.deleteById(insProductResults.get(i)); - } - } - } - return null; - });*/ /*鐢熸垚鐢佃矾璇曢獙鐨勭珯鐐规姤鍛婂苟涓婁紶鍒伴檮浠朵腑*/ if (submitPlanDto.getLaboratory().equals("鐢佃矾璇曢獙")) { + //wordUtils.generateWord(submitPlanDto.getTerm(), orderState); + //todo 鐢佃矾绔欑偣鎶ュ憡 姝e紡搴撻儴缃叉斁寮� try { - wordUtils.generateWord(submitPlanDto.getNote(), submitPlanDto.getTerm(), orderState); + wordUtils.generateWord(submitPlanDto.getTerm(), orderState); } catch (Exception e) { throw new ErrorException("鐢佃矾璇曢獙鐨勭珯鐐规姤鍛婄敓鎴愭湁璇�,璇疯仈绯诲紑鍙戜汉鍛樿皟鏁�!"); } @@ -1104,8 +1154,6 @@ RedisUtil.delsLike(key);*/ /*鐢熸垚浜ч噺宸ユ椂*/ - //鏌ヨ妫�楠屽崟淇℃伅 - InsOrder insOrder = insOrderMapper.selectById(submitPlanDto.getOrderId()); //鏍¢獙濡傛灉杩欎釜浜鸿繖涓娴嬮」鐩凡缁忔坊鍔犺繃浜嗗垯涓嶉渶瑕佸啀鏂板 //棣栧厛鍒ゆ柇褰撳墠浜虹殑褰撳墠鏃堕棿鏄惁鏄帓鐝椂闂村唴,濡傛灉涓嶆槸灏辨槸鍔犵彮 LocalDateTime today = LocalDateTime.of(LocalDate.now(), LocalTime.MIDNIGHT); -- Gitblit v1.9.3