From 9c9503de4fb1e1b0127f83c8b2b0f645c6ab9e9c Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期四, 21 一月 2021 11:20:53 +0800
Subject: [PATCH] 修改处理报警接口
---
src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java | 71 +++++++++++++++++++++--------------
智慧实验室接口.docx | 0
2 files changed, 43 insertions(+), 28 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
index a2ae000..ee87d4d 100644
--- a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
@@ -33,6 +33,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.stream.Collectors;
@Service("interfaceService")
public class InterfaceServiceImpl implements InterfaceService {
@@ -43,7 +44,8 @@
private OpeUseFlowService opeUseFlowService;
@Resource
private SysWarningService sysWarningService;
-
+ @Resource(name = "sysWarningDao")
+ SysWarningDao sysWarningDao;
@Resource(name = "sysWarehouseDao")
SysWarehouseDao sysWarehouseDao;
@@ -1734,35 +1736,48 @@
// 人员违规预警接口
@Override
public void delalarmperson(JSONObject jsonObject) throws Exception {
- String containerCode = jsonObject.getString("containerCode");
- String warningId = jsonObject.getString("warningId");
- // 货柜条码 containerCode String ○
- // 报警类别 warningId Integer ○
- if (StringUtils.isBlank(containerCode) || StringUtils.isBlank(warningId)) {
- throw new ApiException(ApiStatus.PARAM_NO_EXIST);
- }
- Map<String, String> metaMap = new HashMap<>();
- metaMap.put("groupId", "user_violate_type");
- metaMap.put("metaKey", warningId);
+ JSONArray dataArr = jsonObject.getJSONArray("data");
+ Iterator<Object> dataIt = dataArr.iterator();
+ while (dataIt.hasNext()) {
+ JSONObject dataJson = JSONObject.parseObject(dataIt.next().toString());
+ // 货柜条码 containerCode String ○
+ // 报警类别 warningId Integer ○
+ if (!dataJson.containsKey("warningId") || !dataJson.containsKey("containerCode")) {
+ throw new ApiException(ApiStatus.PARAM_NO_EXIST);
+ }
+ String containerCode = dataJson.getString("containerCode");
+ String warningId = dataJson.getString("warningId");
+ List<String> warningList = Arrays.asList(warningId.split(","));
+ List<String> warningList1 = new ArrayList<>(Arrays.asList("1","2","3","4","5","6"));
+ List<String> delWarnings = warningList1.stream().filter(o->!warningList.contains(o)).collect(Collectors.toList());//新的不在原有里面的
- List<BaseMeta> baseMetaList = baseMetaDao.getBaseMetaList(metaMap);
- if (baseMetaList == null || baseMetaList.size() != 1) {
- throw new ApiException(ApiStatus.PARAM_ERR, ApiStatus.PARAM_ERR.getRetMsg() + "[warningId]");
- }
+ for (String warning : delWarnings){
+ Map<String, String> metaMap = new HashMap<>();
+ metaMap.put("groupId", "user_violate_type");
+ metaMap.put("metaKey", warning);
- SysAlarmPerson sysAlarmPerson = new SysAlarmPerson();
- sysAlarmPerson.setContainerCode(containerCode);
- sysAlarmPerson.setWarningId(baseMetaList.get(0).getId());
-
- List<SysAlarmPerson> sysAlarmPersonList = sysAlarmPersonDao.selectByCode(containerCode, baseMetaList.get(0).getId());
- // 将人员违规预警记录保存到数据库表
- for (SysAlarmPerson sysAlarm : sysAlarmPersonList) {
- if (!"".equals(alarmUrl) && StringUtils.isNotBlank(sysAlarm.getRefId()) && ("1".equals(warningId) || "2".equals(warningId))) {
- SysWarning sysWarning = new SysWarning();
- sysWarning.setId(String.valueOf(sysAlarm.getId()));
- sysWarning.setStatus(1);
- sysWarning.setAlarmId(sysAlarm.getRefId());
- sysWarningService.updateSysWarning(sysWarning);
+ List<BaseMeta> baseMetaList = baseMetaDao.getBaseMetaList(metaMap);
+ if (baseMetaList == null || baseMetaList.size() != 1) {
+ throw new ApiException(ApiStatus.PARAM_ERR, ApiStatus.PARAM_ERR.getRetMsg() + "[warningId]");
+ }
+ SysAlarmPerson sysAlarmPerson = new SysAlarmPerson();
+ sysAlarmPerson.setContainerCode(containerCode);
+ sysAlarmPerson.setWarningId(baseMetaList.get(0).getId());
+ List<SysAlarmPerson> sysAlarmPersonList = sysAlarmPersonDao.selectByCode(containerCode, baseMetaList.get(0).getId());
+ for (SysAlarmPerson sysAlarm : sysAlarmPersonList) {
+ if (!"".equals(alarmUrl) && StringUtils.isNotBlank(sysAlarm.getRefId()) && ("1".equals(warning) || "2".equals(warning))) {
+ SysWarning sysWarning = new SysWarning();
+ sysWarning.setId(String.valueOf(sysAlarm.getId()));
+ sysWarning.setStatus(1);
+ sysWarning.setAlarmId(sysAlarm.getRefId());
+ sysWarningService.updateSysWarning(sysWarning);
+ }else {
+ Map<String,Object> params = new HashMap<>();
+ params.put("status",1);
+ params.put("id", String.valueOf(sysAlarm.getId()));
+ sysWarningDao.updateSysWarning(params);
+ }
+ }
}
}
}
diff --git "a/\346\231\272\346\205\247\345\256\236\351\252\214\345\256\244\346\216\245\345\217\243.docx" "b/\346\231\272\346\205\247\345\256\236\351\252\214\345\256\244\346\216\245\345\217\243.docx"
index 0478aad..07ea617 100644
--- "a/\346\231\272\346\205\247\345\256\236\351\252\214\345\256\244\346\216\245\345\217\243.docx"
+++ "b/\346\231\272\346\205\247\345\256\236\351\252\214\345\256\244\346\216\245\345\217\243.docx"
Binary files differ
--
Gitblit v1.9.2