From 3adcc36797b576b6c6f793e0eeac41068b6dd717 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 14 一月 2025 11:26:00 +0800
Subject: [PATCH] 1.14调整
---
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 150 ++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 122 insertions(+), 28 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 b3db4df..3a32619 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
@@ -311,6 +311,7 @@
@Override
public Object uploadFile(Integer orderId, MultipartFile file, String sonLaboratory, Integer sampleId) {
+ InsOrder insOrder = insOrderMapper.selectById(orderId);
String urlString;
String pathName;
String path;
@@ -353,9 +354,11 @@
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("鏃犳簮鍣ㄤ欢")) {
+ dianLuUtils.readDianLuFile3(sampleId, insOrderFile);
}
} catch (Exception e) {
- System.err.println("闄勪欢涓婁紶閿欒");
+ throw new ErrorException(e.getMessage());
}
return 0;
}
@@ -765,6 +768,8 @@
.in(InsProductResult2::getInsProductId, insProductResultDtos.getInsProductResult2s().stream().map(InsProductResult2::getInsProductId).distinct().collect(Collectors.toList()))
.eq(InsProductResult2::getNum, orderState.getNum())
.eq(InsProductResult2::getFrequency, insProductResultDtos.getFrequency()));
+ List<InsProductResult2> result2s = new ArrayList<>();
+ List<InsProductUser> insProductUsers = new ArrayList<>();
for (InsProductResult2 insProductResult2 : insProductResultDtos.getInsProductResult2s()) {
InsProduct insProduct = new InsProduct();
insProduct.setId(insProductResult2.getInsProductId());//椤圭洰id
@@ -842,10 +847,13 @@
}
result2.setCreateUser(userId);
result2.setUpdateUser(userId);
- insProductResult2Mapper.insert(result2);
- insProduct.setUpdateUser(userId);
- insProductMapper.updateById(insProduct);
- insProductUserMapper.insert(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId()));
+ 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()));
/*鏇存柊鏍峰搧鐨勬楠岀姸鎬�*/
insSample.setInsState(1);
Long l = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
@@ -861,8 +869,10 @@
//濡傛灉鎵�鏈夐」鐩兘鏈夌粨璁�,閭d箞璇ユ牱鍝佺姸鎬佸凡妫�
insSample.setInsState(2);
}
- insSampleMapper.updateById(insSample);
}
+ insProductResult2Mapper.saveBatch(result2s);
+ insProductUserMapper.saveBatch(insProductUsers);
+ insSampleMapper.updateById(insSample);
/*鍒ゆ柇璇ョ珯鐐圭殑妫�楠岄」鐩槸鍚﹀叏閮ㄥ凡妫�*/
int count = insProductMapper.selectInsProductCountByOrderId(insSample.getInsOrderId());
if (count == 0) {
@@ -1108,6 +1118,7 @@
InsOrderUser insOrderUser = new InsOrderUser();
insOrderUser.setInsOrderStateId(orderState.getId());
insOrderUser.setSubmitUser(getLook.selectPowerByMethodAndUserId(null).get("userId"));
+ insOrderUser.setInsTime(orderState.getInsTime());
insOrderUser.setSubmitTime(LocalDateTime.now());
insOrderUser.setNum(orderState.getNum());
insOrderUser.setNote(ObjectUtils.isNotEmpty(submitPlanDto.getNote()) ? submitPlanDto.getNote() : null);
@@ -1172,22 +1183,6 @@
info.setViewStatus(false);
info.setJumpPath("b1-inspect-order-plan");
informationNotificationService.addInformationNotification(info);
- // 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", 1000517);//搴旂敤id
- HashMap<String, Object> hashMap = new HashMap<>();
- hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅,璁㈠崟鍙锋槸锛�" + insOrder.getEntrustCode() + ",鏍峰搧鍚嶇О涓猴細" + insSample.getSample() +
- ",璇峰墠寰�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);
//澶嶆牳浜�--妫�楠屽崟鐩稿叧璐熻矗浜�
InsSampleUser insSampleUser = new InsSampleUser();
insSampleUser.setUserId(submitPlanDto.getVerifyUser());
@@ -1197,15 +1192,22 @@
insSampleUserMapper.insert(insSampleUser);
/*鐢熸垚鐢佃矾璇曢獙鐨勭珯鐐规姤鍛婂苟涓婁紶鍒伴檮浠朵腑*/
if (submitPlanDto.getLaboratory().equals("鐢佃矾璇曢獙")) {
- //wordUtils.generateWord(submitPlanDto.getTerm(), orderState);
- //todo 鐢佃矾绔欑偣鎶ュ憡 姝e紡搴撻儴缃叉斁寮�
- try {
+ if (!insOrder.getSampleType().equals("鏃犳簮鍣ㄤ欢")) {
wordUtils.generateWord(submitPlanDto.getTerm(), orderState);
- } catch (Exception e) {
- throw new ErrorException("鐢佃矾璇曢獙鐨勭珯鐐规姤鍛婄敓鎴愭湁璇�,璇疯仈绯诲紑鍙戜汉鍛樿皟鏁�!");
+ }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("鐢佃矾璇曢獙鐨勭珯鐐规姤鍛婄敓鎴愭湁璇�,璇疯仈绯诲紑鍙戜汉鍛樿皟鏁�!");
+// }
}
-
/*鐢熸垚浜ч噺宸ユ椂*/
//鏍¢獙濡傛灉杩欎釜浜鸿繖涓娴嬮」鐩凡缁忔坊鍔犺繃浜嗗垯涓嶉渶瑕佸啀鏂板
//棣栧厛鍒ゆ柇褰撳墠浜虹殑褰撳墠鏃堕棿鏄惁鏄帓鐝椂闂村唴,濡傛灉涓嶆槸灏辨槸鍔犵彮
@@ -1254,9 +1256,101 @@
}
}
}
+
+ // 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", 1000517);//搴旂敤id
+ HashMap<String, Object> hashMap = new HashMap<>();
+ hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅,璁㈠崟鍙锋槸锛�" + insOrder.getEntrustCode() + ",鏍峰搧鍚嶇О涓猴細" + insSample.getSample() +
+ ",璇峰墠寰�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);
return 1;
}
+ @Override
+ public int cancelSubmitPlan(Integer orderStateId) {
+ InsOrderState orderState = insOrderStateMapper.selectById(orderStateId);
+ InsOrder insOrder = insOrderMapper.selectById(orderState.getInsOrderId());
+ InsSample insSample = insSampleMapper.selectById(orderState.getInsSampleId());
+ /*鍒犻櫎璁板綍妫�楠屼换鍔℃瘡娆$殑澶囨敞淇℃伅*/
+ insOrderUserMapper.delete(Wrappers.<InsOrderUser>lambdaQuery()
+ .eq(InsOrderUser::getInsOrderStateId,orderState.getId())
+ .eq(InsOrderUser::getNum,orderState.getNum()));
+ //鎾ら攢鎻愪氦
+ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
+ .eq(InsOrderState::getInsOrderId, orderState.getInsOrderId())
+ .eq(InsOrderState::getInsSampleId, orderState.getInsSampleId())
+ .eq(InsOrderState::getLaboratory, orderState.getLaboratory())
+ .set(InsOrderState::getInsState, 2));
+ 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("鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳宸叉挙閿�鐨勬秷鎭�,璁㈠崟鍙锋槸锛�" + insOrder.getEntrustCode() + ",鏍峰搧鍚嶇О涓猴細" + insSample.getSample());
+ info.setSenderId(userId);
+ info.setConsigneeId(orderState.getVerifyUser());
+ info.setViewStatus(false);
+ info.setJumpPath("b1-inspect-order-plan");
+ 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()));
+ //鍒犻櫎鐢熸垚鐨勬姤鍛�
+ if (orderState.getLaboratory().equals("鐢佃矾璇曢獙")) {
+ List<InsOrderFile> insOrderFiles = insOrderFileMapper.selectList(Wrappers.<InsOrderFile>lambdaQuery()
+ .eq(InsOrderFile::getType, 2)
+ .like(InsOrderFile::getFileName,"鐢佃矾鍙傛暟.docx")
+ .eq(InsOrderFile::getInsOrderId, insOrder.getId())
+ .eq(InsOrderFile::getInsSampleId, orderState.getInsSampleId())
+ .eq(InsOrderFile::getSonLaboratory, orderState.getLaboratory()));
+ for (InsOrderFile insOrderFile : insOrderFiles) {
+ File file = new File(wordUrl + "/" + insOrderFile.getFileUrl());
+ file.delete();
+ insOrderFileMapper.deleteById(insOrderFile.getId());
+ }
+ }
+
+ /*鍒犻櫎鐢熸垚浜ч噺宸ユ椂*/
+ 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()));
+
+ // todo 浼佷笟寰俊娑堟伅鎺ㄩ�丂zss
+ HashMap<String, Object> map = new HashMap<>();
+ String account = userMapper.selectById(orderState.getVerifyUser()).getAccount();
+ map.put("touser", account);//鎺ユ敹娑堟伅鎴愬憳鐨勮处鍙�'ZT-031292'杩欑绫诲瀷(濡傛灉鏈夊涓敤'|'鍒嗛殧)
+ map.put("toparty", "");//鎺ユ敹閮ㄩ棬id
+ map.put("totag", "");//娑堟伅鏍囩id
+ map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰
+ map.put("agentid", 1000517);//搴旂敤id
+ HashMap<String, Object> hashMap = new HashMap<>();
+ hashMap.put("content", "鎮ㄦ湁涓�鏉″鏍哥殑娑堟伅宸叉挙閿�,璁㈠崟鍙锋槸锛�" + insOrder.getEntrustCode() + ",鏍峰搧鍚嶇О涓猴細" + insSample.getSample() +
+ ",璇峰墠寰�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);
+ return 0;
+ }
+
public static String getWeek(String dayStr) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
--
Gitblit v1.9.3