From bcc80a6833abe9f24abdb978f7c7f01b664a574f Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期二, 18 二月 2025 14:48:45 +0800 Subject: [PATCH] 优化调整 --- inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 132 ++++++++++++++++++++++++++++++++++++-------- 1 files changed, 108 insertions(+), 24 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 3a32619..bac2940 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 @@ -354,7 +354,7 @@ dianLuUtils.readDianLuFile1(sampleId, insOrderFile); } else if (ObjectUtils.isNotEmpty(sonLaboratory) && sonLaboratory.equals("鐢佃矾璇曢獙") && split[split.length - 1].equals("csv") && filename.contains("椹绘尝")) { dianLuUtils.readDianLuFile2(sampleId, insOrderFile); - }else if (ObjectUtils.isNotEmpty(sonLaboratory) && sonLaboratory.equals("鐢佃矾璇曢獙") && split[split.length - 1].equals("csv") && insOrder.getSampleType().equals("鏃犳簮鍣ㄤ欢")) { + } else if (ObjectUtils.isNotEmpty(sonLaboratory) && sonLaboratory.equals("鐢佃矾璇曢獙") && split[split.length - 1].equals("csv") && insOrder.getSampleType().equals("鏃犳簮鍣ㄤ欢")) { dianLuUtils.readDianLuFile3(sampleId, insOrderFile); } } catch (Exception e) { @@ -891,7 +891,7 @@ for (InsProductResultDto insProductResultDto : insProductResultDtos.getInsProductResultDtos()) { saveInsContext2(insProductResultDto); } - return 1; + return 1; } //娓╂箍搴﹁瘯楠�+鍔熺巼璇曢獙鐨勪繚瀛樻楠屽唴瀹� @@ -1061,16 +1061,9 @@ .set(InsOrderState::getVerifyTell, tell) .set(InsOrderState::getVerifyUser, userId)); //濡傛灉璁㈠崟绫诲瀷鏄師鐞嗘牱鏈�,鍒欒璁㈠崟鐩存帴闂幆 - if (insOrder.getFormType().equals("鍘熺悊鏍锋満")) { - //鍑哄簱 - try { - List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, insSample.getInsOrderId())); - for (InsSample sample : insSamples) { - outInsOrderState(laboratory, sample.getSampleCode(), insOrder.getEntrustCode()); - } - } catch (Exception e) { - - } + List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, insSample.getInsOrderId())); + for (InsSample sample : insSamples) { + outInsOrderState(laboratory, sample.getSampleCode(), insOrder.getEntrustCode()); } insOrder.setState(4); insOrderMapper.updateById(insOrder); @@ -1080,7 +1073,98 @@ return 1; } - private void getTemplateThing(Set<Integer> set, Map<Integer, String> map2, List<InsProduct> insProducts) { + @Override + @Transactional(rollbackFor = Exception.class) + public int verifyPlan2(Integer sampleId, String laboratory, Integer type, String tell) throws IOException { + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + InsSample insSample = insSampleMapper.selectById(sampleId); + InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId()); + /*type=0 鍐嶆璇曢獙; type=1 缁х画璇曢獙 ; type=2 缁撴潫璇曢獙*/ + // 鏌ヨ鏍规嵁 id 鍊掑簭鎺掑垪鐨勭涓�鏉¤褰� + InsOrderState record = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery() + .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()) + .eq(InsOrderState::getInsSampleId, sampleId) + .eq(InsOrderState::getLaboratory, laboratory) + .orderByDesc(InsOrderState::getId) + .last("LIMIT 1")); // 纭繚鍙彇涓�鏉¤褰� + if (record != null) { + //鏇存柊璁板綍 + insOrderUserMapper.update(null, Wrappers.<InsOrderUser>lambdaUpdate() + .eq(InsOrderUser::getInsOrderStateId, record.getId()) + .eq(InsOrderUser::getNum, record.getNum()) + .set(InsOrderUser::getTell, tell)); + switch (type) { + case 0: + //鍐嶆璇曢獙:璇ュ崟瀛愰��鍥炲埌妫�楠岀姸鎬�(鎺掑簭鏀规垚褰撳墠鐨勬渶鍚�),娆℃暟閫掑(淇濈暀浠ュ墠鐨勬暟鎹�)锛� + insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() + .eq(InsOrderState::getId, record.getId()) + .set(InsOrderState::getInsTime, LocalDateTime.now()) + .set(InsOrderState::getInsState, 4) + .set(InsOrderState::getVerifyTell, tell) + .set(InsOrderState::getVerifyUser, userId) + .set(InsOrderState::getNum, record.getNum() + 1)//娆℃暟鍔�1 + .set(InsOrderState::getCreateTime, LocalDateTime.now())); + insOrder.setState(3); + break; + case 1: + //缁х画璇曢獙:璇ユ牱鍝佽绔欑偣浠诲姟缁撴潫(鍙互鍐嶆鎵爜妫�楠�)锛� + //鍏堝垽鏂笂涓�涓鏍告槸浠�涔堢粨璁� + if (record.getInsState()==4){ + insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() + .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()) + .eq(InsOrderState::getInsSampleId, sampleId) + .eq(InsOrderState::getLaboratory, laboratory) + .set(InsOrderState::getInsState, 6) + .set(InsOrderState::getVerifyTell, tell) + .set(InsOrderState::getNum, record.getNum() - 1)//娆℃暟-1 + .set(InsOrderState::getVerifyUser, userId)); + }else { + insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() + .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()) + .eq(InsOrderState::getInsSampleId, sampleId) + .eq(InsOrderState::getLaboratory, laboratory) + .set(InsOrderState::getInsState, 6) + .set(InsOrderState::getVerifyTell, tell) + .set(InsOrderState::getVerifyUser, userId)); + } + insOrder.setState(3); + break; + case 2: + //缁撴潫璇曢獙:姝ゅ鎵樺崟鍋滄璇曢獙(鏃犳硶鍐嶆妫�楠�)銆� + //鍏堝垽鏂笂涓�涓鏍告槸浠�涔堢粨璁� + if (record.getInsState()==4){ + insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() + .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()) + .eq(InsOrderState::getInsSampleId, sampleId) + .eq(InsOrderState::getLaboratory, laboratory) + .set(InsOrderState::getInsState, 5) + .set(InsOrderState::getNum, record.getNum() - 1)//娆℃暟-1 + .set(InsOrderState::getVerifyTell, tell) + .set(InsOrderState::getVerifyUser, userId)); + }else { + insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() + .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()) + .eq(InsOrderState::getInsSampleId, sampleId) + .eq(InsOrderState::getLaboratory, laboratory) + .set(InsOrderState::getInsState, 5) + .set(InsOrderState::getVerifyTell, tell) + .set(InsOrderState::getVerifyUser, userId)); + } + //鍑哄簱 + List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, insSample.getInsOrderId())); + for (InsSample sample : insSamples) { + outInsOrderState(laboratory, sample.getSampleCode(), insOrder.getEntrustCode()); + } + insOrder.setState(4); + break; + } + insOrderMapper.updateById(insOrder); + } + return 1; + } + + private void getTemplateThing + (Set<Integer> set, Map<Integer, String> map2, List<InsProduct> insProducts) { for (InsProduct product : insProducts) { if (product.getTemplateId() == null) { product.setTemplate(new ArrayList<>()); @@ -1194,7 +1278,7 @@ if (submitPlanDto.getLaboratory().equals("鐢佃矾璇曢獙")) { if (!insOrder.getSampleType().equals("鏃犳簮鍣ㄤ欢")) { wordUtils.generateWord(submitPlanDto.getTerm(), orderState); - }else { + } else { wordUtils.generateWord2(submitPlanDto.getTerm(), orderState); } //todo 鐢佃矾绔欑偣鎶ュ憡 姝e紡搴撻儴缃叉斁寮� @@ -1283,8 +1367,8 @@ InsSample insSample = insSampleMapper.selectById(orderState.getInsSampleId()); /*鍒犻櫎璁板綍妫�楠屼换鍔℃瘡娆$殑澶囨敞淇℃伅*/ insOrderUserMapper.delete(Wrappers.<InsOrderUser>lambdaQuery() - .eq(InsOrderUser::getInsOrderStateId,orderState.getId()) - .eq(InsOrderUser::getNum,orderState.getNum())); + .eq(InsOrderUser::getInsOrderStateId, orderState.getId()) + .eq(InsOrderUser::getNum, orderState.getNum())); //鎾ら攢鎻愪氦 insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() .eq(InsOrderState::getInsOrderId, orderState.getInsOrderId()) @@ -1305,15 +1389,15 @@ informationNotificationService.addInformationNotification(info); //鍒犻櫎澶嶆牳浜�--妫�楠屽崟鐩稿叧璐熻矗浜� insSampleUserMapper.delete(Wrappers.<InsSampleUser>lambdaQuery() - .eq(InsSampleUser::getState,1) - .eq(InsSampleUser::getSonLaboratory,orderState.getLaboratory()) - .eq(InsSampleUser::getUserId,orderState.getVerifyUser()) - .eq(InsSampleUser::getInsSampleId,orderState.getInsSampleId())); + .eq(InsSampleUser::getState, 1) + .eq(InsSampleUser::getSonLaboratory, orderState.getLaboratory()) + .eq(InsSampleUser::getUserId, orderState.getVerifyUser()) + .eq(InsSampleUser::getInsSampleId, orderState.getInsSampleId())); //鍒犻櫎鐢熸垚鐨勬姤鍛� if (orderState.getLaboratory().equals("鐢佃矾璇曢獙")) { List<InsOrderFile> insOrderFiles = insOrderFileMapper.selectList(Wrappers.<InsOrderFile>lambdaQuery() .eq(InsOrderFile::getType, 2) - .like(InsOrderFile::getFileName,"鐢佃矾鍙傛暟.docx") + .like(InsOrderFile::getFileName, "鐢佃矾鍙傛暟.docx") .eq(InsOrderFile::getInsOrderId, insOrder.getId()) .eq(InsOrderFile::getInsSampleId, orderState.getInsSampleId()) .eq(InsOrderFile::getSonLaboratory, orderState.getLaboratory())); @@ -1328,9 +1412,9 @@ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, insSample.getId())); List<Integer> productIds = insProducts.stream().map(InsProduct::getId).distinct().collect(Collectors.toList()); auxiliaryOutputWorkingHoursMapper.delete(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery() - .eq(AuxiliaryOutputWorkingHours::getSample,insSample.getSampleCode()) - .in(AuxiliaryOutputWorkingHours::getInsProductId,productIds) - .eq(AuxiliaryOutputWorkingHours::getNum,orderState.getNum())); + .eq(AuxiliaryOutputWorkingHours::getSample, insSample.getSampleCode()) + .in(AuxiliaryOutputWorkingHours::getInsProductId, productIds) + .eq(AuxiliaryOutputWorkingHours::getNum, orderState.getNum())); // todo 浼佷笟寰俊娑堟伅鎺ㄩ�丂zss HashMap<String, Object> map = new HashMap<>(); -- Gitblit v1.9.3