From 0644a19b927f4cd40ce45552b01064bb9b6521ad Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 31 十月 2024 13:53:22 +0800
Subject: [PATCH] 培训后优化
---
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 128 ++++++++++++++++++++++++++++--------------
1 files changed, 86 insertions(+), 42 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..233bcb5 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,39 @@
if (!realpath.exists()) {
realpath.mkdirs();
}
- pathName = UUID.randomUUID() + "_" + file.getOriginalFilename();
+ pathName = file.getOriginalFilename();
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")) {
+ fuSheUtils.getFuSheWord(sonLaboratory, insOrderFile);
+ }
} catch (Exception e) {
- e.printStackTrace();
System.err.println("闄勪欢涓婁紶閿欒");
- return 0;
}
+ return 0;
}
@Override
@@ -393,15 +440,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;
}
@@ -776,6 +826,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;
}
@@ -857,7 +909,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 +986,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 +1091,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,17 +1112,17 @@
info.setViewStatus(false);
info.setJumpPath("b1-inspect-order-plan");
informationNotificationService.addInformationNotification(info);
- //todo 浼佷笟寰俊娑堟伅鎺ㄩ�丂zss
- /* HashMap<String, Object> map = new HashMap<>();
+ // todo 浼佷笟寰俊娑堟伅鎺ㄩ�丂zss
+ /*HashMap<String, Object> map = new HashMap<>();
String account = userMapper.selectById(userId).getAccount();
- map.put("touser", *//*account*//*"ZT-012117");//鎺ユ敹娑堟伅鎴愬憳鐨勮处鍙�'ZT-031292'杩欑绫诲瀷(濡傛灉鏈夊涓敤'|'鍒嗛殧)
+ 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鍚�
@@ -1076,36 +1135,21 @@
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("鐢佃矾璇曢獙")) {
- try {
- wordUtils.generateWord(submitPlanDto.getNote(), submitPlanDto.getTerm(), orderState);
+ wordUtils.generateWord(submitPlanDto.getTerm(), orderState);
+ //todo 鐢佃矾绔欑偣鎶ュ憡 姝e紡搴撻儴缃叉斁寮�
+ /*try {
+ wordUtils.generateWord(submitPlanDto.getTerm(), orderState);
} catch (Exception e) {
throw new ErrorException("鐢佃矾璇曢獙鐨勭珯鐐规姤鍛婄敓鎴愭湁璇�,璇疯仈绯诲紑鍙戜汉鍛樿皟鏁�!");
- }
+ }*/
}
/*// 鍒犻櫎鏁伴噰閲囬泦娆℃暟
String key = "frequency" + ":" + submitPlanDto.getEntrustCode() + ":*";
RedisUtil.delsLike(key);*/
/*鐢熸垚浜ч噺宸ユ椂*/
- //鏌ヨ妫�楠屽崟淇℃伅
- InsOrder insOrder = insOrderMapper.selectById(submitPlanDto.getOrderId());
//鏍¢獙濡傛灉杩欎釜浜鸿繖涓娴嬮」鐩凡缁忔坊鍔犺繃浜嗗垯涓嶉渶瑕佸啀鏂板
//棣栧厛鍒ゆ柇褰撳墠浜虹殑褰撳墠鏃堕棿鏄惁鏄帓鐝椂闂村唴,濡傛灉涓嶆槸灏辨槸鍔犵彮
LocalDateTime today = LocalDateTime.of(LocalDate.now(), LocalTime.MIDNIGHT);
--
Gitblit v1.9.3