From 94714af765326bc0567a336952b0811667b7be92 Mon Sep 17 00:00:00 2001
From: lyfO_o <764716047@qq.com>
Date: 星期三, 27 十月 2021 16:59:27 +0800
Subject: [PATCH] 货柜预警接口:alarm 字典:alarm_type 01 主电掉电,备电工作 显示:名称+地点+柜号+内容
---
src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java | 74 ++++++++++++++++++++++++++++++++++++
src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml | 1
src/main/java/com/nanometer/smartlab/api/ApiAction.java | 2
3 files changed, 75 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/api/ApiAction.java b/src/main/java/com/nanometer/smartlab/api/ApiAction.java
index 681306b..6021835 100644
--- a/src/main/java/com/nanometer/smartlab/api/ApiAction.java
+++ b/src/main/java/com/nanometer/smartlab/api/ApiAction.java
@@ -426,7 +426,7 @@
return retJSON.toJSONString();
}
- // 报警情况接口(warning)
+ // 报警情况接口(warning) 货柜预警接口
@ResponseBody
@RequestMapping(value = "/alarm")
public String alarm(HttpServletRequest request) throws IOException {
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml
index bf8afd8..05e402a 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml
@@ -240,6 +240,7 @@
<select id="selectLocationByContainerCode" parameterType="java.lang.String" resultType="java.util.Map">
SELECT
+ sl.name,
CONCAT(sl.location1,"-",sl.location2) location,sl.bar_code barCode
FROM sys_laboratory_container slc
diff --git a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
index 0d496f9..12cd5b6 100644
--- a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
@@ -1288,6 +1288,7 @@
}
}
+ //货柜预警接口
@Override
@Transactional(propagation = Propagation.REQUIRED)
public void alarm(JSONObject jsonObject) throws ApiException {
@@ -1315,7 +1316,7 @@
String containerCode = dataJson.getString("containerCode");
//check containerCode是否存在
- SysLaboratoryContainer sysLaboratoryContainer = sysLaboratoryContainerDao
+ SysLaboratoryContainer LaboratoryContainer = sysLaboratoryContainerDao
.getSysLaboratoryContainerByContainerCode(containerCode);
if (Objects.isNull(sysLaboratoryContainer) == true) {
SysWarehouseContainer container = sysWarehouseContainerDao
@@ -1354,6 +1355,77 @@
}
sysAlarmDao.insertSysAlarm(sysAlarm);
+
+ try {
+ if (enable && "01".equals(warningId)) {
+ SysLaboratory sysLaboratory = sysLaboratoryService.getSysLaboratory(LaboratoryContainer.getLaboratoryId());
+ String project = sysLaboratory.getProject();
+ //2.根据Lab的课题组判断人员
+ List<Map> personsInCharge = null;
+ if (StringUtils.isBlank(project)) {
+ //没有课题组就是实验室部门下的负责人
+ personsInCharge = sysLaboratoryContainer.getContainerPersonInCharge(containerCode);
+ } else {
+ //有课题组就是 所有课题组下的人员负责人
+ personsInCharge = sysLaboratoryService.getPersonInChargeByProjects(project);
+ }
+
+ Map param = new HashMap();
+ param.put("groupId", "securityManager");
+ List<BaseMeta> managers = baseMetaDao.getBaseMetaList(param);
+ StringBuffer phones = new StringBuffer();
+
+ //实验室负责人手机号
+ if (personsInCharge != null && personsInCharge.size() > 0) {
+ personsInCharge.forEach(person -> {
+ Object phone = person.get("phone");
+ if (phone != null && !"".equals(phone)) {
+ phones.append(phone);
+ phones.append(",");
+ }
+
+ });
+ }
+ //所及负责人手机号
+ if (managers != null && managers.size() > 0) {
+ managers.forEach(manager -> {
+ String phone = manager.getMetaValue();
+ if (phone != null && !"".equals(phone)) {
+ phones.append(phone);
+ phones.append(",");
+ }
+ });
+ }
+ if (phones.length() > 0) {
+ phones.deleteCharAt(phones.length() - 1);
+
+ }
+
+ Map location = sysLaboratoryContainer.selectLocationByContainerCode(containerCode);
+ String messageFormat = "名称:%s,具体地点:%s,柜号:%s,";
+ String content = String.format(messageFormat, location.get("name"),location.get("location"), containerCode);
+
+ String suffix = String.format("?head=%s&signature=%s&content=%s&telnumber=%s", head, signature, content + baseMetaList.get(0).getMetaValue(), phones.toString().replace(" ", ""));
+ CloseableHttpClient client = HttpClients.createDefault();
+ HttpPost post = new HttpPost(url + suffix);
+ post.setHeader("Content-Type", "application/json;charset=UTF-8");
+ CloseableHttpResponse response = client.execute(post);
+ String resData = EntityUtils.toString(response.getEntity(), "UTF-8");
+ client.close();
+ JSONObject res = JSONObject.parseObject(resData);
+ if ("200".equals(res.getString("code")) && phones.length() > 0) {
+ String memo = String.format("短信已发送[%s]", phones);
+ }
+ logger.info(resData);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ logger.warn(e);
+ }
+ //增加发送短信接口 key:01 value:主电掉电,备电工作
+
+
+
//
// Integer warningPoint = dataJson.getInteger("warningPoint");
// if(warningPoint == null){
--
Gitblit v1.9.2