From 09101577baa4b844e308238d1d4ac1972d660577 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 17 十二月 2025 16:47:22 +0800
Subject: [PATCH] 生成站点电路试验报告(天线)合并单元格
---
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 116 ++++++++++++++++++++++++++++++++--------------------------
1 files changed, 64 insertions(+), 52 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 8851ed4..59a62f1 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,21 @@
map.put("head", PrintChina.printChina(InsOrderPlanVO.class));
Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null);
String laboratory = null;
- String userName = null;
+ String myName = null;
if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId())) {
- userName = userMapper.selectById(map1.get("userId")).getName();
+ myName = userMapper.selectById(map1.get("userId")).getName();
insOrderPlanDTO.setUserId(null);
+ }
+ //妫�楠屼汉
+ if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserName())){
+ myName=(ObjectUtils.isNotNull(myName)?myName+",":"")+insOrderPlanDTO.getUserName();
+ insOrderPlanDTO.setUserName(null);
}
String sonLaboratory = insOrderPlanDTO.getSonLaboratory();//璇曢獙瀹�
insOrderPlanDTO.setSonLaboratory(null);
- IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userName, sonLaboratory, laboratory);
+ String sampleCode = insOrderPlanDTO.getSampleCode();
+ insOrderPlanDTO.setSampleCode(null);
+ IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page, QueryWrappers.queryWrappers(insOrderPlanDTO), myName, sonLaboratory, laboratory,sampleCode);
map.put("body", insOrderPage);
return map;
}
@@ -350,7 +357,7 @@
insOrderFile.setFileUrl(pathName);
insOrderFileMapper.insert(insOrderFile);
String[] split = filename.split("\\.");
- if (ObjectUtils.isNotEmpty(sonLaboratory) && sonLaboratory.equals("杩戝満") && split[split.length - 1].equals("csv")) {
+ if (ObjectUtils.isNotEmpty(sonLaboratory) && sonLaboratory.equals("杩戝満") && (split[split.length - 1].equals("csv") || split[split.length - 1].equals("xlsx"))) {
fuSheUtils.getFuSheWord1(sonLaboratory, insOrderFile);
} else if (ObjectUtils.isNotEmpty(sonLaboratory) && sonLaboratory.equals("杩滃満") && split[split.length - 1].equals("xlsx")) {
fuSheUtils.getFuSheWord2(sonLaboratory, insOrderFile);
@@ -403,10 +410,11 @@
InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery()
.eq(InsSample::getSampleCode, sampleCode)
.eq(InsSample::getInsOrderId, insOrders.get(0).getId()));
- List<String> collect = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
.eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, insSample.getId())).stream().map(InsProduct::getSonLaboratory).collect(Collectors.toList());
- if (!collect.contains(sonLaboratory)) {
+ .eq(InsProduct::getSonLaboratory,sonLaboratory)
+ .eq(InsProduct::getInsSampleId, insSample.getId()));
+ if (insProducts.size()<=0) {
throw new ErrorException("璇ユ牱鍝佹病鏈�" + sonLaboratory + "绔欑偣鐨勭浉鍏抽」鐩�,璇锋煡鐪嬩笅鍗曡鎯�!");
}
//鍒ゆ柇璇ヨ鍗曟槸鍚︾珯鐐逛换鍔℃湁缁撴潫璇曢獙(鍙浠讳竴浠诲姟缁撴潫璇曢獙閮戒笉鑳藉啀娆¤瘯楠�)
@@ -427,6 +435,11 @@
orderState.setNum(orderState.getNum() + 1);//閫掑
orderState.setCreateTime(LocalDateTime.now());
insOrderStateMapper.updateById(orderState);
+ //杩欓噷闇�瑕佸皢鍘熸潵鐨勬楠岄」鐩殑鐘舵�侀噸缃负null(鏍规嵁鏍峰搧id鍜岃瘯楠屽鏉ュ垽鏂」鐩�)
+ insProducts.stream().forEach(insProduct -> {
+ insProduct.setInsResult(null);
+ insProductMapper.updateById(insProduct);
+ });
}
} else {
InsOrderState insOrderState = new InsOrderState();
@@ -471,6 +484,8 @@
if (orderStates.getInsState()!=5) {
throw new ErrorException("褰撳墠鏍峰搧鐨勭珯鐐逛换鍔″苟涓嶆槸澶嶆牳鐨勭粨鏉熻瘯楠�,鏃犻渶鎵嬪姩鍑哄簱!");
}
+ orderStates.setIsOut(1);
+ insOrderStateMapper.updateById(orderStates);//澶嶆牳缁撴潫鍑哄簱涔嬪悗鍒楄〃涓嶆樉绀�
warehouseService.outWarehouse(sampleCode, true, entrustCode);
return 0;
}
@@ -795,10 +810,12 @@
List<InsProductResult2> result2s = new ArrayList<>();
List<InsProductUser> insProductUsers = new ArrayList<>();
for (InsProductResult2 insProductResult2 : insProductResultDtos.getInsProductResult2s()) {
- InsProduct insProduct = new InsProduct();
- insProduct.setId(insProductResult2.getInsProductId());//椤圭洰id
InsProductResult2 result2 = new InsProductResult2();
+ //瑕佹眰鍊�
+ result2.setAsk(insProductResult2.getAsk());
+ //娆℃暟
result2.setNum(orderState.getNum());
+ //鍏宠仈椤圭洰id
result2.setInsProductId(insProductResult2.getInsProductId());
//棰戠巼
result2.setFrequency(insProductResultDtos.getFrequency());
@@ -822,7 +839,7 @@
if (insProductResult2.getEquipName() != null) {
result2.setEquipName(insProductResult2.getEquipName());
}
- insProduct = insProductMapper.selectById(insProduct.getId());
+// InsProduct insProduct = insProductMapper.selectById(insProductResult2.getInsProductId());
//鍊�
if (insProductResult2.getValue() != null) {
result2.setValue(insProductResult2.getValue());
@@ -830,15 +847,15 @@
int ressult = 1;
String valueStr = insProductResult2.getValue();
String regex = "[\u4e00-\u9fa5]";
- if (!insProduct.getAsk().contains(",")) {
- if (insProduct.getAsk().equals("/") || Pattern.compile(regex).matcher(insProduct.getAsk()).find()) {
+ if (!insProductResult2.getAsk().contains(",")) {
+ if (insProductResult2.getAsk().equals("/") || Pattern.compile(regex).matcher(insProductResult2.getAsk()).find()) {
ressult = 3; //涓嶅垽瀹�
- } else if (!isValueValid(valueStr, new String[]{insProduct.getAsk()})) {
+ } else if (!isValueValid(valueStr, new String[]{insProductResult2.getAsk()})) {
ressult = 0; //涓嶅悎鏍�
}
} else {
// 濡傛灉瑕佹眰鍊兼槸(2掳鈮�20,7掳鈮�25,12掳鈮�25)杩欑鎯呭喌
- String[] askParts = insProduct.getAsk().split(",");
+ String[] askParts = insProductResult2.getAsk().split(",");
String[] angles = insProductResult2.getAngle().split(",");
for (String s : askParts) {
String[] askSplit = s.split("掳");
@@ -872,12 +889,7 @@
result2.setCreateUser(userId);
result2.setUpdateUser(userId);
result2s.add(result2);
- //insProductResult2Mapper.insert(result2);
- //insProduct.setUpdateUser(userId);
- //insProducts.add(insProduct);
- //insProductMapper.updateById(insProduct);
- insProductUsers.add(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId()));
- //insProductUserMapper.insert(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId()));
+ insProductUsers.add(new InsProductUser(null, userId, LocalDateTime.now(), insProductResult2.getInsProductId()));
/*鏇存柊鏍峰搧鐨勬楠岀姸鎬�*/
insSample.setInsState(1);
Long l = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
@@ -916,6 +928,15 @@
saveInsContext2(insProductResultDto);
}
return 1;
+ }
+
+ //鏍峰搧缂栧彿鏇存敼
+ @Override
+ public int changeSampleCode(Integer sampleId, String sampleCode) {
+ InsSample insSample = new InsSample();
+ insSample.setId(sampleId);
+ insSample.setSampleCode(sampleCode);
+ return insSampleMapper.updateById(insSample);
}
/**
@@ -1096,7 +1117,7 @@
if (ObjectUtils.isEmpty(s)) {
continue;
}
- double numericValue = Math.abs(Double.parseDouble(s));
+ double numericValue = Double.parseDouble(s);
boolean valid = Arrays.stream(valuesToCheck)
.allMatch(v -> getResult(numericValue, v));
if (!valid) {
@@ -1180,6 +1201,11 @@
.set(InsOrderState::getVerifyUser, userId)
.set(InsOrderState::getNum, record.getNum() + 1)//娆℃暟鍔�1
.set(InsOrderState::getCreateTime, LocalDateTime.now()));
+ //杩欓噷闇�瑕佸皢鍘熸潵鐨勬楠岄」鐩殑鐘舵�侀噸缃负null(鏍规嵁鏍峰搧id鍜岃瘯楠屽鏉ュ垽鏂」鐩�)
+ insProducts.stream().forEach(insProduct -> {
+ insProduct.setInsResult(null);
+ insProductMapper.updateById(insProduct);
+ });
break;
case 1:
//缁х画璇曢獙:璇ユ牱鍝佽绔欑偣浠诲姟缁撴潫(鍙互鍐嶆鎵爜妫�楠�)锛�
@@ -1209,17 +1235,8 @@
.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) {
-// try{
-// outInsOrderState(laboratory, sample.getSampleCode(), insOrder.getEntrustCode());
-// }catch (Exception e){
-// }
-// }
/*鐢熸垚瀵瑰簲鐨勬楠屾姤鍛�*/
- List<InsReportDto1> insReportDto1s=insOrderUserMapper.selectInsReportDto1(insOrder.getId());
+ List<InsReportDto1> insReportDto1s=insOrderUserMapper.selectInsReportDto1(insOrder.getId(),null);
createReport(insOrder.getId(),insReportDto1s);
break;
}
@@ -1233,6 +1250,10 @@
Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
InsSample insSample = insSampleMapper.selectById(sampleId);
InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId());
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, insSample.getId())
+ .eq(InsProduct::getSonLaboratory, laboratory)
+ .eq(InsProduct::getState, 1));
/*type=0 鍐嶆璇曢獙; type=1 缁х画璇曢獙 ; type=2 缁撴潫璇曢獙*/
// 鏌ヨ鏍规嵁 id 鍊掑簭鎺掑垪鐨勭涓�鏉¤褰�
InsOrderState record = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery()
@@ -1253,6 +1274,11 @@
.set(InsOrderState::getVerifyUser, userId)
.set(InsOrderState::getNum, record.getNum() + 1)//娆℃暟鍔�1
.set(InsOrderState::getCreateTime, LocalDateTime.now()));
+ //杩欓噷闇�瑕佸皢鍘熸潵鐨勬楠岄」鐩殑鐘舵�侀噸缃负null(鏍规嵁鏍峰搧id鍜岃瘯楠屽鏉ュ垽鏂」鐩�)
+ insProducts.stream().forEach(insProduct -> {
+ insProduct.setInsResult(null);
+ insProductMapper.updateById(insProduct);
+ });
break;
case 1:
//缁х画璇曢獙:璇ユ牱鍝佽绔欑偣浠诲姟缁撴潫(鍙互鍐嶆鎵爜妫�楠�)锛�
@@ -1295,6 +1321,7 @@
.eq(InsOrderState::getInsSampleId, sampleId)
.eq(InsOrderState::getLaboratory, laboratory)
.set(InsOrderState::getInsState, 5)
+ .set(InsOrderState::getIsOut,1)//澶嶆牳缁撴潫鍑哄簱涔嬪悗鍒楄〃涓嶆樉绀�
.set(InsOrderState::getNum, record.getNum() - 1)//娆℃暟-1
.set(InsOrderState::getVerifyTell, tell)
.set(InsOrderState::getVerifyUser, userId));
@@ -1304,19 +1331,12 @@
.eq(InsOrderState::getInsSampleId, sampleId)
.eq(InsOrderState::getLaboratory, laboratory)
.set(InsOrderState::getInsState, 5)
+ .set(InsOrderState::getIsOut,1)//澶嶆牳缁撴潫鍑哄簱涔嬪悗鍒楄〃涓嶆樉绀�
.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) {
-// try{
-// outInsOrderState(laboratory, sample.getSampleCode(), insOrder.getEntrustCode());
-// }catch (Exception e){
-// }
-// }
/*鐢熸垚瀵瑰簲鐨勬楠屾姤鍛�*/
- List<InsReportDto1> insReportDto1s=insOrderUserMapper.selectInsReportDto1(insOrder.getId());
+ List<InsReportDto1> insReportDto1s=insOrderUserMapper.selectInsReportDto1(insOrder.getId(),sampleId);
createReport(insOrder.getId(),insReportDto1s);
break;
}
@@ -1437,11 +1457,13 @@
info.setCreateUser(insProductMapper.selectUserById(userId).get("name"));
info.setMessageType("2");
info.setTheme("澶嶆牳閫氱煡");
- info.setContent("鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅,璁㈠崟鍙锋槸锛�" + insOrder.getEntrustCode() + ",鏍峰搧鍚嶇О涓猴細" + insSample.getSample());
+ info.setContent("鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅,璁㈠崟鍙锋槸锛�" + insOrder.getEntrustCode()+"绔欑偣鏄細"+submitPlanDto.getLaboratory() + ",鏍峰搧鍚嶇О涓猴細" + insSample.getSample());
info.setSenderId(userId);
info.setConsigneeId(submitPlanDto.getVerifyUser());
info.setViewStatus(false);
info.setJumpPath("b1-inspect-order-plan");
+ info.setEntrustCode(insOrder.getEntrustCode());//濮旀墭缂栧彿
+ info.setLaboratory(submitPlanDto.getLaboratory());//绔欑偣
informationNotificationService.addInformationNotification(info);
//澶嶆牳浜�--妫�楠屽崟鐩稿叧璐熻矗浜�
InsSampleUser insSampleUser = new InsSampleUser();
@@ -1457,16 +1479,6 @@
} else {
wordUtils.generateWord2(submitPlanDto.getTerm(), orderState);
}
- //todo 鐢佃矾绔欑偣鎶ュ憡 姝e紡搴撻儴缃叉斁寮�
-// try {
-// if (!insOrder.getSampleType().equals("鏃犳簮鍣ㄤ欢")) {
-// wordUtils.generateWord(submitPlanDto.getTerm(), orderState);
-// }else {
-// wordUtils.generateWord2(submitPlanDto.getTerm(), orderState);
-// }
-// } catch (Exception e) {
-// throw new ErrorException("鐢佃矾璇曢獙鐨勭珯鐐规姤鍛婄敓鎴愭湁璇�,璇疯仈绯诲紑鍙戜汉鍛樿皟鏁�!");
-// }
}
/*鐢熸垚浜ч噺宸ユ椂*/
//鏍¢獙濡傛灉杩欎釜浜鸿繖涓娴嬮」鐩凡缁忔坊鍔犺繃浜嗗垯涓嶉渶瑕佸啀鏂板
@@ -1526,7 +1538,7 @@
map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰
map.put("agentid", 1000517);//搴旂敤id
HashMap<String, Object> hashMap = new HashMap<>();
- hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅,璁㈠崟鍙锋槸锛�" + insOrder.getEntrustCode() + ",鏍峰搧鍚嶇О涓猴細" + insSample.getSample() +
+ hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅,璁㈠崟鍙锋槸锛�" + insOrder.getEntrustCode()+"绔欑偣鏄細"+submitPlanDto.getLaboratory() + ",鏍峰搧鍚嶇О涓猴細" + ",鏍峰搧鍚嶇О涓猴細" + insSample.getSample() +
",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傝鐐瑰嚮<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>");
map.put("text", hashMap);//娑堟伅鍐呭
map.put("safe", 0);//鏄惁淇濆瘑娑堟伅.0鍚�
--
Gitblit v1.9.3