From e8d0a2f9375da4d04da4a06a0f9fa8ef448512c4 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 19 十一月 2024 15:58:49 +0800
Subject: [PATCH] 检验下单审核进行企业微信推送
---
inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java | 3 +
inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java | 5 +
inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanTaskSwitchVo.java | 3 +
inspect-server/src/main/resources/mapper/InsSampleMapper.xml | 5 +
user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java | 4 +
framework/src/main/java/com/yuanchu/mom/service/impl/InformationNotificationServiceImpl.java | 6 +
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 8 +-
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java | 84 +++++++++++++++++++++++++++
user-server/src/main/resources/mapper/UserMapper.xml | 5 +
9 files changed, 113 insertions(+), 10 deletions(-)
diff --git a/framework/src/main/java/com/yuanchu/mom/service/impl/InformationNotificationServiceImpl.java b/framework/src/main/java/com/yuanchu/mom/service/impl/InformationNotificationServiceImpl.java
index 39c53a4..5350386 100644
--- a/framework/src/main/java/com/yuanchu/mom/service/impl/InformationNotificationServiceImpl.java
+++ b/framework/src/main/java/com/yuanchu/mom/service/impl/InformationNotificationServiceImpl.java
@@ -85,7 +85,8 @@
Map<String, Object> map = new HashMap<>();
map1 = getLook.selectPowerByMethodAndUserId("selectInsOrderParameter");
Long totalNumberOfMessages = baseMapper.selectCount(Wrappers.<InformationNotification>lambdaQuery()
- .eq(InformationNotification::getConsigneeId, map1.get("userId")));
+ .eq(InformationNotification::getConsigneeId, map1.get("userId"))
+ .eq(InformationNotification::getViewStatus, false));
Long totalNumberOfReadMessages = baseMapper.selectCount(Wrappers.<InformationNotification>lambdaQuery()
.eq(InformationNotification::getConsigneeId, map1.get("userId"))
.eq(InformationNotification::getViewStatus, true));
@@ -93,8 +94,9 @@
LocalDate sevenDaysAgo = today.minusDays(7);
Long totalNumberOfMessagesInThePastSevenDays = baseMapper.selectCount(Wrappers.<InformationNotification>lambdaQuery()
.eq(InformationNotification::getConsigneeId, map1.get("userId"))
- .between(InformationNotification::getCreateTime, today, sevenDaysAgo));
+ .between(InformationNotification::getCreateTime, today.atStartOfDay(), sevenDaysAgo.atStartOfDay()));
long remainingToDo = totalNumberOfMessages - totalNumberOfReadMessages;
+ remainingToDo=remainingToDo<0?0:remainingToDo;
map.put("totalNumberOfMessages", totalNumberOfMessages);
map.put("remainingToDo", remainingToDo);
map.put("totalNumberOfReadMessages", totalNumberOfReadMessages);
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java
index 60c7548..d6aaae8 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java
@@ -29,4 +29,7 @@
@ApiModelProperty("濮旀墭缂栧彿")
private String entrustCode;
+ @ApiModelProperty("鏍峰搧缂栧彿")
+ private String sampleCode;
+
}
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 32fbe1b..eef9505 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
@@ -414,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());
@@ -1117,9 +1115,9 @@
info.setViewStatus(false);
info.setJumpPath("b1-inspect-order-plan");
informationNotificationService.addInformationNotification(info);
- // todo 浼佷笟寰俊娑堟伅鎺ㄩ�丂zss
+ // todo 浼佷笟寰俊娑堟伅鎺ㄩ�丂zss
HashMap<String, Object> map = new HashMap<>();
- String account = userMapper.selectById(userId).getAccount();
+ String account = userMapper.selectById(submitPlanDto.getVerifyUser()).getAccount();
map.put("touser", account);//鎺ユ敹娑堟伅鎴愬憳鐨勮处鍙�'ZT-031292'杩欑绫诲瀷(濡傛灉鏈夊涓敤'|'鍒嗛殧)
map.put("toparty", "");//鎺ユ敹閮ㄩ棬id
map.put("totag", "");//娑堟伅鏍囩id
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
index c8f9b42..8701757 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
@@ -21,6 +21,7 @@
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.mapper.*;
import com.yuanchu.mom.pojo.*;
+import com.yuanchu.mom.service.InformationNotificationService;
import com.yuanchu.mom.service.InsOrderPlanService;
import com.yuanchu.mom.service.InsOrderService;
import com.yuanchu.mom.service.InsProductService;
@@ -95,6 +96,9 @@
private InsOrderStateMapper insOrderStateMapper;
@Resource
UserMapper userMapper;
+
+ @Resource
+ InformationNotificationService informationNotificationService;
@Resource
PowerMapper powerMapper;
@Resource
@@ -246,10 +250,76 @@
}
});
+ List<User> users1 = userMapper.getUserByRole("妫�娴嬩腑蹇冧富浠�");
+ List<User> users2 = userMapper.getUserByRole("鐮斿彂閮ㄧ粡鐞�");
+ List<User> users3 = userMapper.getUserByRole("鎶�鏈礋璐d汉");
//閫氫俊:濡傛灉鏄疌绫昏鍗曟棤闇�瀹℃牳鐩存帴閫氳繃
if (insOrder.getOrderType().equals("C")) {
insOrder.setState(1);
upInsOrderOfState(insOrder);
+ }else if (insOrder.getOrderType().equals("A")){
+ //甯歌澶栭儴鍗曢渶娑堟伅鎻愰啋妫�楠屼腑蹇冧富浠诲拰鐮斿彂閮ㄧ粡鐞�
+ //todo 浼佷笟寰俊鎺ㄩ��
+ users1.addAll(users2);
+ String account = users1.stream().map(User::getAccount).collect(Collectors.joining("|"));
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("touser", account);//鎺ユ敹娑堟伅鎴愬憳鐨勮处鍙�'ZT-031292'杩欑绫诲瀷(濡傛灉鏈夊涓敤'|'鍒嗛殧)
+ map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰
+ map.put("agentid", 1000517);//搴旂敤id
+ HashMap<String, Object> hashMap = new HashMap<>();
+ hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠岃鍗曢渶瑕佸鏍�,璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傚閮ㄨ鍗曞彿鏄細"+insOrder.getOutEntrustCode()+",璇峰墠寰�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);
+ //lims娑堟伅鎻愰啋
+ ArrayList<InformationNotification> notificationArrayList = new ArrayList<>();
+ for (User user : users1) {
+ InformationNotification info = new InformationNotification();
+ info.setCreateUser(userMapper.selectById(userId).getName());
+ info.setMessageType("2");
+ info.setTheme("瀹℃牳閫氱煡");
+ info.setContent("鎮ㄦ湁涓�鏉℃楠岃鍗曞緟瀹℃牳娑堟伅,璁㈠崟鐨勫閮ㄧ紪鍙锋槸:"+insOrder.getOutEntrustCode());
+ info.setSenderId(userId);
+ info.setViewStatus(false);
+ info.setJumpPath("b1-inspect-order");
+ info.setConsigneeId(user.getId());
+ notificationArrayList.add(info);
+ }
+ informationNotificationService.saveBatch(notificationArrayList);
+ }else if (insOrder.getOrderType().equals("B")){
+ //闈炲父瑙勫閮ㄥ崟闇�娑堟伅鎻愰啋妫�楠屼腑蹇冧富浠�,鐮斿彂閮ㄧ粡鐞嗗拰鎶�鏈礋璐d汉
+ //todo 浼佷笟寰俊鎺ㄩ��
+ users1.addAll(users2);
+ users1.addAll(users3);
+ String account = users1.stream().map(User::getAccount).collect(Collectors.joining("|"));
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("touser", account);//鎺ユ敹娑堟伅鎴愬憳鐨勮处鍙�'ZT-031292'杩欑绫诲瀷(濡傛灉鏈夊涓敤'|'鍒嗛殧)
+ map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰
+ map.put("agentid", 1000517);//搴旂敤id
+ HashMap<String, Object> hashMap = new HashMap<>();
+ hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠岃鍗曢渶瑕佸鏍�,璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傚閮ㄨ鍗曞彿鏄細"+insOrder.getOutEntrustCode()+",璇峰墠寰�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);
+ //lims娑堟伅鎻愰啋
+ ArrayList<InformationNotification> notificationArrayList = new ArrayList<>();
+ for (User user : users1) {
+ InformationNotification info = new InformationNotification();
+ info.setCreateUser(userMapper.selectById(userId).getName());
+ info.setMessageType("2");
+ info.setTheme("瀹℃牳閫氱煡");
+ info.setContent("鎮ㄦ湁涓�鏉℃楠岃鍗曞緟瀹℃牳娑堟伅,璁㈠崟鐨勫閮ㄧ紪鍙锋槸:"+insOrder.getOutEntrustCode());
+ info.setSenderId(userId);
+ info.setViewStatus(false);
+ info.setJumpPath("b1-inspect-order");
+ info.setConsigneeId(user.getId());
+ notificationArrayList.add(info);
+ }
+ informationNotificationService.saveBatch(notificationArrayList);
}
//濡傛灉鏈変笂浼犵殑闄勪欢
if (CollectionUtils.isNotEmpty(files)) {
@@ -295,12 +365,24 @@
map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰
map.put("agentid", 1000517);//搴旂敤id
HashMap<String, Object> hashMap = new HashMap<>();
- hashMap.put("content", "鎮ㄦ湁涓�鏉¤鍗曢渶瑕佸畬鎴�,璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傝鍗曞彿鏄細"+insOrder.getEntrustCode()+",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>");
+ hashMap.put("content", "鎮ㄦ湁涓�鏉¤鍗曢渶瑕佸畬鎴�,璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傚閮ㄨ鍗曞彿鏄細"+insOrder.getOutEntrustCode()+",璇峰墠寰�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);
+
+ //LIMS绯荤粺娑堟伅鎺ㄩ��
+ InformationNotification info = new InformationNotification();
+ info.setCreateUser(insProductMapper.selectUserById(userId).get("name"));
+ info.setMessageType("1");
+ info.setTheme("鏍锋満鍛橀�氱煡");
+ info.setContent("鎮ㄦ湁涓�鏉℃楠岃鍗曠殑鏍锋満寰呭畬鎴愭秷鎭�,澶栭儴璁㈠崟鍙锋槸锛�"+insOrder.getOutEntrustCode()+",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�");
+ info.setSenderId(userId);
+ info.setConsigneeId(insOrder.getIssueUser());
+ info.setViewStatus(false);
+ info.setJumpPath("b1-inspect-order");
+ informationNotificationService.addInformationNotification(info);
}
return insOrder.getId();
}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanTaskSwitchVo.java b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanTaskSwitchVo.java
index 1812e17..e7f5a61 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanTaskSwitchVo.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanTaskSwitchVo.java
@@ -14,6 +14,9 @@
@ValueTableShow(value = 2,name = "妫�楠屽璞�")
private String sampleType;
+ @ValueTableShow(value = 3,name = "鏍峰搧缂栧彿")
+ private String sampleCode;
+
@ValueTableShow(value = 4,name = "绱ф�ョ▼搴�")
private String type;
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
index 5e796ca..fbb62e6 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
@@ -13,7 +13,10 @@
@ValueTableShow(value = 1,name = "濮旀墭缂栧彿",width = 180)
private String entrustCode;
- @ValueTableShow(value = 2,name = "鏍峰搧鍚嶇О")
+ @ValueTableShow(value = 2,name = "鏍峰搧缂栧彿")
+ private String sampleCode;
+
+ @ValueTableShow(value = 3,name = "鏍峰搧鍚嶇О")
private String sample;
@ValueTableShow(value = 4,name = "绱ф�ョ▼搴�")
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index 3aceb0e..046862e 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -25,7 +25,8 @@
</resultMap>
<select id="findInsSampleAndOrder" resultType="com.yuanchu.mom.vo.InsOrderPlanVO">
- select * from(select * from(
+ select * from(
+ select * from(
SELECT
a.*,
ios.ins_state,
@@ -48,6 +49,7 @@
io.appointed,
io.send_time,
group_concat(distinct isa.sample,' ') sample,
+ group_concat(distinct isa.sample_code,' ') sampleCode,
userName,
checkName,
ip.son_laboratory,
@@ -114,6 +116,7 @@
io.appointed,
io.send_time,
group_concat(distinct isa.sample,' ') sampleType,
+ group_concat(distinct isa.sample_code,' ') sampleCode,
isu.user_id,
user.name userName,
ip.son_laboratory,
diff --git a/user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java b/user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java
index 1daf064..f033f56 100644
--- a/user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java
+++ b/user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java
@@ -26,4 +26,8 @@
List<User> getUser();
String selectDepartLims(String prepareUser);
+
+ //鑾峰彇绯荤粺鐨勬煇涓鑹茬殑璐﹀彿
+ List<User> getUserByRole(String name);
+
}
diff --git a/user-server/src/main/resources/mapper/UserMapper.xml b/user-server/src/main/resources/mapper/UserMapper.xml
index d2da4a7..1ce5c16 100644
--- a/user-server/src/main/resources/mapper/UserMapper.xml
+++ b/user-server/src/main/resources/mapper/UserMapper.xml
@@ -51,4 +51,9 @@
select name from department_lims
where id= (select SUBSTRING_INDEX(SUBSTRING_INDEX(depart_lims_id, ',', -2), ',', 1) AS depart_lims_id from user where name=#{prepareUser})
</select>
+ <select id="getUserByRole" resultType="com.yuanchu.mom.pojo.User">
+ select u.* from user u
+ left join role r on u.role_id = r.id
+ where r.name=#{name}
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3