diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml
index 95d7f58..88f7dc3 100644
--- a/casic-alarm/pom.xml
+++ b/casic-alarm/pom.xml
@@ -28,21 +28,36 @@
${admin.version}
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml
index 95d7f58..88f7dc3 100644
--- a/casic-alarm/pom.xml
+++ b/casic-alarm/pom.xml
@@ -28,21 +28,36 @@
${admin.version}
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java b/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
deleted file mode 100644
index 460d4db..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * SpringBoot方式启动类
- *
- * @author lwh
- * @Date 2021/06/06 12:06
- */
-@SpringBootApplication
-@EnableCaching
-@EnableScheduling
-@EnableTransactionManagement(proxyTargetClass = true)
-@EnableAsync
-@ServletComponentScan
-@Slf4j
-public class CasicApplication {
- public static void main(String[] args) {
- SpringApplication.run(CasicApplication.class, args);
- log.info("CasicApplication is success!");
- }
-
-}
diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml
index 95d7f58..88f7dc3 100644
--- a/casic-alarm/pom.xml
+++ b/casic-alarm/pom.xml
@@ -28,21 +28,36 @@
${admin.version}
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java b/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
deleted file mode 100644
index 460d4db..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * SpringBoot方式启动类
- *
- * @author lwh
- * @Date 2021/06/06 12:06
- */
-@SpringBootApplication
-@EnableCaching
-@EnableScheduling
-@EnableTransactionManagement(proxyTargetClass = true)
-@EnableAsync
-@ServletComponentScan
-@Slf4j
-public class CasicApplication {
- public static void main(String[] args) {
- SpringApplication.run(CasicApplication.class, args);
- log.info("CasicApplication is success!");
- }
-
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
index ef473af..6a426fa 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
@@ -1,19 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.alarm.service.ISysDictService;
-import com.casic.missiles.modular.system.warpper.AlarmJobWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -29,7 +31,10 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
@@ -40,7 +45,7 @@
*/
@Controller
@RequestMapping("/job")
-public class AlarmJobController extends BaseController {
+public class AlarmJobController extends ExportController {
@Autowired
@@ -146,16 +151,93 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatusStr)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatusStr));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatusStr));
}
}
retList = alarmJobService.jobListApp(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmJobWrapper(Map map) {
+ // 设置人员姓名
+ for (String key : map.keySet()) {
+ if (key.contains("JobPerson") || key.contains("jobBelongTo")) {
+ Object object = map.get(key);
+ if (object != null) {
+ String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
+ map.replace(key, newVal);
+ }
+ }
+ }
+
+ //设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (ObjectUtil.isEmpty(staffstr)) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 工单状态
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 流转记录(工单详情用)
+ if (map.containsKey("flow")) {
+ String flow = (String) map.get("flow");
+ flow = "[" + flow.replaceFirst(",", "") + "]";
+ List
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java b/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
deleted file mode 100644
index 460d4db..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * SpringBoot方式启动类
- *
- * @author lwh
- * @Date 2021/06/06 12:06
- */
-@SpringBootApplication
-@EnableCaching
-@EnableScheduling
-@EnableTransactionManagement(proxyTargetClass = true)
-@EnableAsync
-@ServletComponentScan
-@Slf4j
-public class CasicApplication {
- public static void main(String[] args) {
- SpringApplication.run(CasicApplication.class, args);
- log.info("CasicApplication is success!");
- }
-
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
index ef473af..6a426fa 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
@@ -1,19 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.alarm.service.ISysDictService;
-import com.casic.missiles.modular.system.warpper.AlarmJobWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -29,7 +31,10 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
@@ -40,7 +45,7 @@
*/
@Controller
@RequestMapping("/job")
-public class AlarmJobController extends BaseController {
+public class AlarmJobController extends ExportController {
@Autowired
@@ -146,16 +151,93 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatusStr)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatusStr));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatusStr));
}
}
retList = alarmJobService.jobListApp(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmJobWrapper(Map map) {
+ // 设置人员姓名
+ for (String key : map.keySet()) {
+ if (key.contains("JobPerson") || key.contains("jobBelongTo")) {
+ Object object = map.get(key);
+ if (object != null) {
+ String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
+ map.replace(key, newVal);
+ }
+ }
+ }
+
+ //设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (ObjectUtil.isEmpty(staffstr)) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 工单状态
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 流转记录(工单详情用)
+ if (map.containsKey("flow")) {
+ String flow = (String) map.get("flow");
+ flow = "[" + flow.replaceFirst(",", "") + "]";
+ List list = new ArrayList<>();
+ JSONArray jsonArray = JSONArray.parseArray(flow);
+ list = jsonArray.toJavaList(Map.class);
+ map.replace("flow", list);
+ }
+ }
+
/**
* 工单查询接口 APP用
*/
@@ -181,14 +263,13 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatus)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatus));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus));
}
}
retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime,
handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
Map retMap = new HashMap<>();
@@ -227,7 +308,7 @@
}
retList = alarmJobService.jobListDelayReApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -265,7 +346,7 @@
}
retList = alarmJobService.jobListDelayProApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -294,22 +375,35 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId());
- new AlarmJobWarpper(jobExpList).warp();
+ jobExpList.forEach(this::alarmJobWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(jobExpList)) {
fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx");
} else {
fileInputStream = new FileInputStream(templatePath + "/jobRecTemplate.xlsx");
}
+
try {
+
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "jobOverview.xlsx");
-
Map var = new HashMap<>();
var.put("标题", "工单一览表");
var.put("list", jobExpList);
- ExcelIO.writeTemplate(fileInputStream, httpServletResponse.getOutputStream(), var);
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("工单编号", "jobCode"));
+ dataFieldDefines.add(new DataFieldDefine("工单创建时间", "createTime"));
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("告警时间", "alarmTime"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+ dataFieldDefines.add(new DataFieldDefine("处理人", "handleJobPerson"));
+ dataFieldDefines.add(new DataFieldDefine("处理时间", "handleJobTime"));
+ this.exportExcelMaps(dataFieldDefines, jobExpList, "工单一览表");
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
@@ -361,7 +455,7 @@
@RequestMapping(value = "/transferJob")
@ResponseBody
public Object transferJob(@RequestParam(value = "id", required = true) int id,
- @RequestParam(value = "transferPerson", required = true) String transferPerson) throws JSONException {
+ @RequestParam(value = "transferPerson", required = true) String transferPerson) {
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
@@ -437,8 +531,7 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
List> retList = alarmJobService.jobInfo(id, dataScope, currentUser.getId());
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
return ResponseData.success(retList);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
index 5ec9ed1..a1432fd 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
@@ -1,22 +1,23 @@
package com.casic.missiles.modular.alarm.controller;
-import com.alibaba.fastjson.JSON;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.util.EhcacheConstant;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmLevelService;
import com.casic.missiles.modular.system.model.AlarmLevel;
import com.casic.missiles.modular.system.model.DeptPermission;
+import com.casic.missiles.modular.system.service.IDeptPermissionService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.util.*;
@@ -36,73 +37,74 @@
private IAlarmLevelService alarmLevelService;
@Resource
private AbstractPermissionContext permissionService;
- @Autowired
- private AbstractDeptService deptPermissionService;
+ @Resource
+ private IDeptPermissionService deptPermissionService;
/**
* 获取告警等级列表
*/
@RequestMapping("/levelList")
@ResponseBody
- public Object levelList(Long tenantId){
- List> levelList = new ArrayList<>();
+ public Object levelList(Long tenantId) {
+ List> levelList = new ArrayList<>();
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
DeptPermission deptPermission = deptPermissionService.selectDeptPermission(currUser.getDeptId());
- if(ObjectUtil.isEmpty(deptPermission)){
+ if (ObjectUtil.isEmpty(deptPermission)) {
return levelList;
}
- for(Object deviceType: JSON.parseObject(deptPermission.getDeviceType(), List.class)){
+ for (Object deviceType : JSON.parseObject(deptPermission.getDeviceType(), List.class)) {
String deviceTypeName = EhcacheConstant.retBean().getDeviceTypeNameById(deviceType.toString());
List names = new ArrayList<>();
- if(deviceTypeName.contains("液位")){
+ if (deviceTypeName.contains("液位")) {
names.add("液位");
}
- if(deviceTypeName.contains("有害气体")){
+ if (deviceTypeName.contains("有害气体")) {
names.add("一氧化碳");
names.add("硫化氢");
names.add("甲烷");
names.add("氧气");
}
- if(deviceTypeName.contains("燃气")){
+ if (deviceTypeName.contains("燃气")) {
names.add("燃气");
}
- if(deviceTypeName.contains("温湿度")){
+ if (deviceTypeName.contains("温湿度")) {
names.add("温度");
names.add("湿度");
}
- if(deviceTypeName.contains("开挖")){
+ if (deviceTypeName.contains("开挖")) {
names.add("开挖");
}
- for(String name: names){
+ for (String name : names) {
Map levelMap = new HashMap<>();
- Map level = alarmLevelService.selectByNameAndTenGroup(tenantId,name);
- levelMap.put("name",name);
- levelMap.put("deviceType",deviceType);
- levelMap.put("deviceTypeName",deviceTypeName);
+ Map level = alarmLevelService.selectByNameAndTenGroup(tenantId, name);
+ levelMap.put("name", name);
+ levelMap.put("deviceType", deviceType);
+ levelMap.put("deviceTypeName", deviceTypeName);
- if(ObjectUtil.isEmpty(level.get("openAlarm"))){
- levelMap.put("openAlarm","");
- }else{
- levelMap.put("openAlarm",level.get("openAlarm").toString());
+ if (ObjectUtil.isEmpty(level.get("openAlarm"))) {
+ levelMap.put("openAlarm", "");
+ } else {
+ levelMap.put("openAlarm", level.get("openAlarm").toString());
}
- if(ObjectUtil.isEmpty(level.get("openJob"))){
- levelMap.put("openJob","");
- }else{
- levelMap.put("openJob",level.get("openJob").toString());
+ if (ObjectUtil.isEmpty(level.get("openJob"))) {
+ levelMap.put("openJob", "");
+ } else {
+ levelMap.put("openJob", level.get("openJob").toString());
}
- if(ObjectUtil.isEmpty(level.get("ts"))){
- levelMap.put("ts","");
- }else{
- levelMap.put("ts",level.get("ts").toString());
+ if (ObjectUtil.isEmpty(level.get("ts"))) {
+ levelMap.put("ts", "");
+ } else {
+ levelMap.put("ts", level.get("ts").toString());
}
levelList.add(levelMap);
@@ -116,13 +118,14 @@
*/
@RequestMapping("/levelByType")
@ResponseBody
- public Object levelByType(Long tenantId, String name){
+ public Object levelByType(Long tenantId, String name) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
List levelList = alarmLevelService.selectByNameAndTenList(tenantId, name);
return ResponseData.success(levelList);
@@ -131,22 +134,23 @@
@RequestMapping("/configLevel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object configLevel(@RequestBody List levelList){
+ public Object configLevel(@RequestBody List levelList) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- String userTenantId = currUser.getTenantId(); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ String userTenantId = currUser.getTenantId();
Date currDate = new Date();
- for(AlarmLevel alarmLevel:levelList){
- if(ObjectUtil.isAllEmpty(alarmLevel.getTenantId(),userTenantId)){
+ for (AlarmLevel alarmLevel : levelList) {
+ if (ObjectUtil.isAllEmpty(alarmLevel.getTenantId(), userTenantId)) {
return ResponseData.error("无关联的项目id");
}
Long tenantId = ObjectUtil.isEmpty(alarmLevel.getTenantId()) ? Long.valueOf(userTenantId) : alarmLevel.getTenantId();
- AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId,alarmLevel.getName(),alarmLevel.getLevel());
- if(ObjectUtil.isEmpty(oldAlarmLevel)){
+ AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId, alarmLevel.getName(), alarmLevel.getLevel());
+ if (ObjectUtil.isEmpty(oldAlarmLevel)) {
//insert
alarmLevel.setTenantId(tenantId);
alarmLevel.setTs(currDate);
- alarmLevelService.insert(alarmLevel);
- }else{
+ alarmLevelService.save(alarmLevel);
+ } else {
//update
alarmLevel.setId(oldAlarmLevel.getId());
alarmLevel.setTenantId(tenantId);
diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml
index 95d7f58..88f7dc3 100644
--- a/casic-alarm/pom.xml
+++ b/casic-alarm/pom.xml
@@ -28,21 +28,36 @@
${admin.version}
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java b/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
deleted file mode 100644
index 460d4db..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * SpringBoot方式启动类
- *
- * @author lwh
- * @Date 2021/06/06 12:06
- */
-@SpringBootApplication
-@EnableCaching
-@EnableScheduling
-@EnableTransactionManagement(proxyTargetClass = true)
-@EnableAsync
-@ServletComponentScan
-@Slf4j
-public class CasicApplication {
- public static void main(String[] args) {
- SpringApplication.run(CasicApplication.class, args);
- log.info("CasicApplication is success!");
- }
-
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
index ef473af..6a426fa 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
@@ -1,19 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.alarm.service.ISysDictService;
-import com.casic.missiles.modular.system.warpper.AlarmJobWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -29,7 +31,10 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
@@ -40,7 +45,7 @@
*/
@Controller
@RequestMapping("/job")
-public class AlarmJobController extends BaseController {
+public class AlarmJobController extends ExportController {
@Autowired
@@ -146,16 +151,93 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatusStr)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatusStr));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatusStr));
}
}
retList = alarmJobService.jobListApp(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmJobWrapper(Map map) {
+ // 设置人员姓名
+ for (String key : map.keySet()) {
+ if (key.contains("JobPerson") || key.contains("jobBelongTo")) {
+ Object object = map.get(key);
+ if (object != null) {
+ String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
+ map.replace(key, newVal);
+ }
+ }
+ }
+
+ //设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (ObjectUtil.isEmpty(staffstr)) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 工单状态
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 流转记录(工单详情用)
+ if (map.containsKey("flow")) {
+ String flow = (String) map.get("flow");
+ flow = "[" + flow.replaceFirst(",", "") + "]";
+ List list = new ArrayList<>();
+ JSONArray jsonArray = JSONArray.parseArray(flow);
+ list = jsonArray.toJavaList(Map.class);
+ map.replace("flow", list);
+ }
+ }
+
/**
* 工单查询接口 APP用
*/
@@ -181,14 +263,13 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatus)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatus));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus));
}
}
retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime,
handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
Map retMap = new HashMap<>();
@@ -227,7 +308,7 @@
}
retList = alarmJobService.jobListDelayReApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -265,7 +346,7 @@
}
retList = alarmJobService.jobListDelayProApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -294,22 +375,35 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId());
- new AlarmJobWarpper(jobExpList).warp();
+ jobExpList.forEach(this::alarmJobWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(jobExpList)) {
fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx");
} else {
fileInputStream = new FileInputStream(templatePath + "/jobRecTemplate.xlsx");
}
+
try {
+
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "jobOverview.xlsx");
-
Map var = new HashMap<>();
var.put("标题", "工单一览表");
var.put("list", jobExpList);
- ExcelIO.writeTemplate(fileInputStream, httpServletResponse.getOutputStream(), var);
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("工单编号", "jobCode"));
+ dataFieldDefines.add(new DataFieldDefine("工单创建时间", "createTime"));
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("告警时间", "alarmTime"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+ dataFieldDefines.add(new DataFieldDefine("处理人", "handleJobPerson"));
+ dataFieldDefines.add(new DataFieldDefine("处理时间", "handleJobTime"));
+ this.exportExcelMaps(dataFieldDefines, jobExpList, "工单一览表");
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
@@ -361,7 +455,7 @@
@RequestMapping(value = "/transferJob")
@ResponseBody
public Object transferJob(@RequestParam(value = "id", required = true) int id,
- @RequestParam(value = "transferPerson", required = true) String transferPerson) throws JSONException {
+ @RequestParam(value = "transferPerson", required = true) String transferPerson) {
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
@@ -437,8 +531,7 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
List> retList = alarmJobService.jobInfo(id, dataScope, currentUser.getId());
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
return ResponseData.success(retList);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
index 5ec9ed1..a1432fd 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
@@ -1,22 +1,23 @@
package com.casic.missiles.modular.alarm.controller;
-import com.alibaba.fastjson.JSON;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.util.EhcacheConstant;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmLevelService;
import com.casic.missiles.modular.system.model.AlarmLevel;
import com.casic.missiles.modular.system.model.DeptPermission;
+import com.casic.missiles.modular.system.service.IDeptPermissionService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.util.*;
@@ -36,73 +37,74 @@
private IAlarmLevelService alarmLevelService;
@Resource
private AbstractPermissionContext permissionService;
- @Autowired
- private AbstractDeptService deptPermissionService;
+ @Resource
+ private IDeptPermissionService deptPermissionService;
/**
* 获取告警等级列表
*/
@RequestMapping("/levelList")
@ResponseBody
- public Object levelList(Long tenantId){
- List> levelList = new ArrayList<>();
+ public Object levelList(Long tenantId) {
+ List> levelList = new ArrayList<>();
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
DeptPermission deptPermission = deptPermissionService.selectDeptPermission(currUser.getDeptId());
- if(ObjectUtil.isEmpty(deptPermission)){
+ if (ObjectUtil.isEmpty(deptPermission)) {
return levelList;
}
- for(Object deviceType: JSON.parseObject(deptPermission.getDeviceType(), List.class)){
+ for (Object deviceType : JSON.parseObject(deptPermission.getDeviceType(), List.class)) {
String deviceTypeName = EhcacheConstant.retBean().getDeviceTypeNameById(deviceType.toString());
List names = new ArrayList<>();
- if(deviceTypeName.contains("液位")){
+ if (deviceTypeName.contains("液位")) {
names.add("液位");
}
- if(deviceTypeName.contains("有害气体")){
+ if (deviceTypeName.contains("有害气体")) {
names.add("一氧化碳");
names.add("硫化氢");
names.add("甲烷");
names.add("氧气");
}
- if(deviceTypeName.contains("燃气")){
+ if (deviceTypeName.contains("燃气")) {
names.add("燃气");
}
- if(deviceTypeName.contains("温湿度")){
+ if (deviceTypeName.contains("温湿度")) {
names.add("温度");
names.add("湿度");
}
- if(deviceTypeName.contains("开挖")){
+ if (deviceTypeName.contains("开挖")) {
names.add("开挖");
}
- for(String name: names){
+ for (String name : names) {
Map levelMap = new HashMap<>();
- Map level = alarmLevelService.selectByNameAndTenGroup(tenantId,name);
- levelMap.put("name",name);
- levelMap.put("deviceType",deviceType);
- levelMap.put("deviceTypeName",deviceTypeName);
+ Map level = alarmLevelService.selectByNameAndTenGroup(tenantId, name);
+ levelMap.put("name", name);
+ levelMap.put("deviceType", deviceType);
+ levelMap.put("deviceTypeName", deviceTypeName);
- if(ObjectUtil.isEmpty(level.get("openAlarm"))){
- levelMap.put("openAlarm","");
- }else{
- levelMap.put("openAlarm",level.get("openAlarm").toString());
+ if (ObjectUtil.isEmpty(level.get("openAlarm"))) {
+ levelMap.put("openAlarm", "");
+ } else {
+ levelMap.put("openAlarm", level.get("openAlarm").toString());
}
- if(ObjectUtil.isEmpty(level.get("openJob"))){
- levelMap.put("openJob","");
- }else{
- levelMap.put("openJob",level.get("openJob").toString());
+ if (ObjectUtil.isEmpty(level.get("openJob"))) {
+ levelMap.put("openJob", "");
+ } else {
+ levelMap.put("openJob", level.get("openJob").toString());
}
- if(ObjectUtil.isEmpty(level.get("ts"))){
- levelMap.put("ts","");
- }else{
- levelMap.put("ts",level.get("ts").toString());
+ if (ObjectUtil.isEmpty(level.get("ts"))) {
+ levelMap.put("ts", "");
+ } else {
+ levelMap.put("ts", level.get("ts").toString());
}
levelList.add(levelMap);
@@ -116,13 +118,14 @@
*/
@RequestMapping("/levelByType")
@ResponseBody
- public Object levelByType(Long tenantId, String name){
+ public Object levelByType(Long tenantId, String name) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
List levelList = alarmLevelService.selectByNameAndTenList(tenantId, name);
return ResponseData.success(levelList);
@@ -131,22 +134,23 @@
@RequestMapping("/configLevel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object configLevel(@RequestBody List levelList){
+ public Object configLevel(@RequestBody List levelList) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- String userTenantId = currUser.getTenantId(); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ String userTenantId = currUser.getTenantId();
Date currDate = new Date();
- for(AlarmLevel alarmLevel:levelList){
- if(ObjectUtil.isAllEmpty(alarmLevel.getTenantId(),userTenantId)){
+ for (AlarmLevel alarmLevel : levelList) {
+ if (ObjectUtil.isAllEmpty(alarmLevel.getTenantId(), userTenantId)) {
return ResponseData.error("无关联的项目id");
}
Long tenantId = ObjectUtil.isEmpty(alarmLevel.getTenantId()) ? Long.valueOf(userTenantId) : alarmLevel.getTenantId();
- AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId,alarmLevel.getName(),alarmLevel.getLevel());
- if(ObjectUtil.isEmpty(oldAlarmLevel)){
+ AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId, alarmLevel.getName(), alarmLevel.getLevel());
+ if (ObjectUtil.isEmpty(oldAlarmLevel)) {
//insert
alarmLevel.setTenantId(tenantId);
alarmLevel.setTs(currDate);
- alarmLevelService.insert(alarmLevel);
- }else{
+ alarmLevelService.save(alarmLevel);
+ } else {
//update
alarmLevel.setId(oldAlarmLevel.getId());
alarmLevel.setTenantId(tenantId);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
index 67e4b49..51e0d50 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
@@ -1,15 +1,19 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.AlarmRecords;
-import com.casic.missiles.modular.system.warpper.AlarmRecordWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -17,13 +21,13 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.collection.CollectionUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -36,7 +40,7 @@
*/
@Controller
@RequestMapping("/alarm")
-public class AlarmRecordsController extends BaseController {
+public class AlarmRecordsController extends ExportController {
@Autowired
@@ -44,13 +48,13 @@
@Resource
private AbstractPermissionContext iCommonPermissionService;
@Value("${smartcity.office.maxRowsExcel}")
- private int maxRowsExcel;
+ private int maxRowsExcel;
@Value("${smartcity.config.config-path}")
private String templatePath;
@Value("${smartcity.adminRoleName}")
- private String sAdmin;
+ private String sAdmin;
@Value("${smartcity.opRoleName}")
- private String sOperator;
+ private String sOperator;
/**
* 获取分页列表
@@ -62,7 +66,7 @@
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
@@ -73,28 +77,87 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> retList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
-
-
- new AlarmRecordWarpper(retList).warp();
+ List> retList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ retList.forEach(this::alarmRecordWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmRecordWrapper(Map map) {
+ // 设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (null == staffstr) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 告警状态
+ String statusStr = map.get("status").toString();
+ map.put("statusName", EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr, "alarmStatus"));
+
+ // 工单状态
+ if (ObjectUtil.isNotEmpty(map.get("jobStatus"))) {
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+ }
+ }
@RequestMapping(value = "/export")
- public void exportAlarm(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) throws IOException {
+ public void exportAlarm(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
Page> page = PageFactory.defaultPage();
- page.setMaxLimit((long)maxRowsExcel);
+ page.setMaxLimit((long) maxRowsExcel);
page.setSize(maxRowsExcel);
page.offset();
page.setSearchCount(false);
@@ -104,25 +167,36 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> alarmExpList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
- new AlarmRecordWarpper(alarmExpList).warp();
-
+ List> alarmExpList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ alarmExpList.forEach(this::alarmRecordWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(alarmExpList)) {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecEmpty.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecEmpty.xlsx");
} else {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecTemplate.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecTemplate.xlsx");
}
try {
httpServletResponse.setContentType("application/octet-stream");
- httpServletResponse.addHeader("Content-Disposition", " attachment;filename="+"alarmOverview.xlsx" );
+ httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "alarmOverview.xlsx");
- Map var = new HashMap<>();
- var.put("标题","报警一览表");
- var.put("list",alarmExpList);
- ExcelIO.writeTemplate(fileInputStream,httpServletResponse.getOutputStream(),var);
+ Map var = new HashMap<>();
+ var.put("标题", "报警一览表");
+ var.put("list", alarmExpList);
+
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("设备编号", "devcode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmTypeName"));
+ dataFieldDefines.add(new DataFieldDefine("告警原因", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("权属单位", "deptName"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+
+ this.exportExcelMaps(dataFieldDefines, alarmExpList, "报警一览表");
} catch (IOException e) {
e.printStackTrace();
@@ -132,7 +206,8 @@
httpServletResponse.getOutputStream().flush();
httpServletResponse.getOutputStream().close();
fileInputStream.close();
- };
+ }
+ ;
}
@@ -141,15 +216,15 @@
*/
@RequestMapping(value = "/cancelAlarm")
@ResponseBody
- public Object cancelAlarm(@RequestParam(value = "id",required = true) int id, //jobId
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object cancelAlarm(@RequestParam(value = "id", required = true) int id, //jobId
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- boolean isCancel = alarmRecordsService.cancelAlarm(id,jobStatus,handleMessage,currentUser.getId());
- if(isCancel){
+ boolean isCancel = alarmRecordsService.cancelAlarm(id, jobStatus, handleMessage, currentUser.getId());
+ if (isCancel) {
return ResponseData.success();
- }else {
+ } else {
return ResponseData.error("failure");
}
}
@@ -160,22 +235,22 @@
@RequestMapping(value = "/batchCancel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object batchCancel(@RequestParam(value = "keywords",required = false) String keywords,
- @RequestParam(value = "alarmType",required = false) String alarmType,
- @RequestParam(value = "alarmContent",required = false) String alarmContent,
- @RequestParam(value = "beginTime",required = false) String beginTime,
- @RequestParam(value = "endTime",required = false) String endTime,
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object batchCancel(@RequestParam(value = "keywords", required = false) String keywords,
+ @RequestParam(value = "alarmType", required = false) String alarmType,
+ @RequestParam(value = "alarmContent", required = false) String alarmContent,
+ @RequestParam(value = "beginTime", required = false) String beginTime,
+ @RequestParam(value = "endTime", required = false) String endTime,
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
//根据查询条件查询alarm_record记录
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope,keywords,alarmType,alarmContent,beginTime,endTime);
+ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime);
//根据jobId调用closeJob
for (AlarmRecords alarmRecord : alarmRecords) {
- alarmRecordsService.cancelAlarm(alarmRecord.getJobId(),jobStatus,handleMessage,currentUser.getId());
+ alarmRecordsService.cancelAlarm(alarmRecord.getJobId(), jobStatus, handleMessage, currentUser.getId());
}
return ResponseData.success();
}
diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml
index 95d7f58..88f7dc3 100644
--- a/casic-alarm/pom.xml
+++ b/casic-alarm/pom.xml
@@ -28,21 +28,36 @@
${admin.version}
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java b/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
deleted file mode 100644
index 460d4db..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * SpringBoot方式启动类
- *
- * @author lwh
- * @Date 2021/06/06 12:06
- */
-@SpringBootApplication
-@EnableCaching
-@EnableScheduling
-@EnableTransactionManagement(proxyTargetClass = true)
-@EnableAsync
-@ServletComponentScan
-@Slf4j
-public class CasicApplication {
- public static void main(String[] args) {
- SpringApplication.run(CasicApplication.class, args);
- log.info("CasicApplication is success!");
- }
-
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
index ef473af..6a426fa 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
@@ -1,19 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.alarm.service.ISysDictService;
-import com.casic.missiles.modular.system.warpper.AlarmJobWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -29,7 +31,10 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
@@ -40,7 +45,7 @@
*/
@Controller
@RequestMapping("/job")
-public class AlarmJobController extends BaseController {
+public class AlarmJobController extends ExportController {
@Autowired
@@ -146,16 +151,93 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatusStr)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatusStr));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatusStr));
}
}
retList = alarmJobService.jobListApp(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmJobWrapper(Map map) {
+ // 设置人员姓名
+ for (String key : map.keySet()) {
+ if (key.contains("JobPerson") || key.contains("jobBelongTo")) {
+ Object object = map.get(key);
+ if (object != null) {
+ String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
+ map.replace(key, newVal);
+ }
+ }
+ }
+
+ //设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (ObjectUtil.isEmpty(staffstr)) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 工单状态
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 流转记录(工单详情用)
+ if (map.containsKey("flow")) {
+ String flow = (String) map.get("flow");
+ flow = "[" + flow.replaceFirst(",", "") + "]";
+ List list = new ArrayList<>();
+ JSONArray jsonArray = JSONArray.parseArray(flow);
+ list = jsonArray.toJavaList(Map.class);
+ map.replace("flow", list);
+ }
+ }
+
/**
* 工单查询接口 APP用
*/
@@ -181,14 +263,13 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatus)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatus));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus));
}
}
retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime,
handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
Map retMap = new HashMap<>();
@@ -227,7 +308,7 @@
}
retList = alarmJobService.jobListDelayReApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -265,7 +346,7 @@
}
retList = alarmJobService.jobListDelayProApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -294,22 +375,35 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId());
- new AlarmJobWarpper(jobExpList).warp();
+ jobExpList.forEach(this::alarmJobWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(jobExpList)) {
fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx");
} else {
fileInputStream = new FileInputStream(templatePath + "/jobRecTemplate.xlsx");
}
+
try {
+
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "jobOverview.xlsx");
-
Map var = new HashMap<>();
var.put("标题", "工单一览表");
var.put("list", jobExpList);
- ExcelIO.writeTemplate(fileInputStream, httpServletResponse.getOutputStream(), var);
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("工单编号", "jobCode"));
+ dataFieldDefines.add(new DataFieldDefine("工单创建时间", "createTime"));
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("告警时间", "alarmTime"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+ dataFieldDefines.add(new DataFieldDefine("处理人", "handleJobPerson"));
+ dataFieldDefines.add(new DataFieldDefine("处理时间", "handleJobTime"));
+ this.exportExcelMaps(dataFieldDefines, jobExpList, "工单一览表");
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
@@ -361,7 +455,7 @@
@RequestMapping(value = "/transferJob")
@ResponseBody
public Object transferJob(@RequestParam(value = "id", required = true) int id,
- @RequestParam(value = "transferPerson", required = true) String transferPerson) throws JSONException {
+ @RequestParam(value = "transferPerson", required = true) String transferPerson) {
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
@@ -437,8 +531,7 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
List> retList = alarmJobService.jobInfo(id, dataScope, currentUser.getId());
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
return ResponseData.success(retList);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
index 5ec9ed1..a1432fd 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
@@ -1,22 +1,23 @@
package com.casic.missiles.modular.alarm.controller;
-import com.alibaba.fastjson.JSON;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.util.EhcacheConstant;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmLevelService;
import com.casic.missiles.modular.system.model.AlarmLevel;
import com.casic.missiles.modular.system.model.DeptPermission;
+import com.casic.missiles.modular.system.service.IDeptPermissionService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.util.*;
@@ -36,73 +37,74 @@
private IAlarmLevelService alarmLevelService;
@Resource
private AbstractPermissionContext permissionService;
- @Autowired
- private AbstractDeptService deptPermissionService;
+ @Resource
+ private IDeptPermissionService deptPermissionService;
/**
* 获取告警等级列表
*/
@RequestMapping("/levelList")
@ResponseBody
- public Object levelList(Long tenantId){
- List> levelList = new ArrayList<>();
+ public Object levelList(Long tenantId) {
+ List> levelList = new ArrayList<>();
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
DeptPermission deptPermission = deptPermissionService.selectDeptPermission(currUser.getDeptId());
- if(ObjectUtil.isEmpty(deptPermission)){
+ if (ObjectUtil.isEmpty(deptPermission)) {
return levelList;
}
- for(Object deviceType: JSON.parseObject(deptPermission.getDeviceType(), List.class)){
+ for (Object deviceType : JSON.parseObject(deptPermission.getDeviceType(), List.class)) {
String deviceTypeName = EhcacheConstant.retBean().getDeviceTypeNameById(deviceType.toString());
List names = new ArrayList<>();
- if(deviceTypeName.contains("液位")){
+ if (deviceTypeName.contains("液位")) {
names.add("液位");
}
- if(deviceTypeName.contains("有害气体")){
+ if (deviceTypeName.contains("有害气体")) {
names.add("一氧化碳");
names.add("硫化氢");
names.add("甲烷");
names.add("氧气");
}
- if(deviceTypeName.contains("燃气")){
+ if (deviceTypeName.contains("燃气")) {
names.add("燃气");
}
- if(deviceTypeName.contains("温湿度")){
+ if (deviceTypeName.contains("温湿度")) {
names.add("温度");
names.add("湿度");
}
- if(deviceTypeName.contains("开挖")){
+ if (deviceTypeName.contains("开挖")) {
names.add("开挖");
}
- for(String name: names){
+ for (String name : names) {
Map levelMap = new HashMap<>();
- Map level = alarmLevelService.selectByNameAndTenGroup(tenantId,name);
- levelMap.put("name",name);
- levelMap.put("deviceType",deviceType);
- levelMap.put("deviceTypeName",deviceTypeName);
+ Map level = alarmLevelService.selectByNameAndTenGroup(tenantId, name);
+ levelMap.put("name", name);
+ levelMap.put("deviceType", deviceType);
+ levelMap.put("deviceTypeName", deviceTypeName);
- if(ObjectUtil.isEmpty(level.get("openAlarm"))){
- levelMap.put("openAlarm","");
- }else{
- levelMap.put("openAlarm",level.get("openAlarm").toString());
+ if (ObjectUtil.isEmpty(level.get("openAlarm"))) {
+ levelMap.put("openAlarm", "");
+ } else {
+ levelMap.put("openAlarm", level.get("openAlarm").toString());
}
- if(ObjectUtil.isEmpty(level.get("openJob"))){
- levelMap.put("openJob","");
- }else{
- levelMap.put("openJob",level.get("openJob").toString());
+ if (ObjectUtil.isEmpty(level.get("openJob"))) {
+ levelMap.put("openJob", "");
+ } else {
+ levelMap.put("openJob", level.get("openJob").toString());
}
- if(ObjectUtil.isEmpty(level.get("ts"))){
- levelMap.put("ts","");
- }else{
- levelMap.put("ts",level.get("ts").toString());
+ if (ObjectUtil.isEmpty(level.get("ts"))) {
+ levelMap.put("ts", "");
+ } else {
+ levelMap.put("ts", level.get("ts").toString());
}
levelList.add(levelMap);
@@ -116,13 +118,14 @@
*/
@RequestMapping("/levelByType")
@ResponseBody
- public Object levelByType(Long tenantId, String name){
+ public Object levelByType(Long tenantId, String name) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
List levelList = alarmLevelService.selectByNameAndTenList(tenantId, name);
return ResponseData.success(levelList);
@@ -131,22 +134,23 @@
@RequestMapping("/configLevel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object configLevel(@RequestBody List levelList){
+ public Object configLevel(@RequestBody List levelList) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- String userTenantId = currUser.getTenantId(); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ String userTenantId = currUser.getTenantId();
Date currDate = new Date();
- for(AlarmLevel alarmLevel:levelList){
- if(ObjectUtil.isAllEmpty(alarmLevel.getTenantId(),userTenantId)){
+ for (AlarmLevel alarmLevel : levelList) {
+ if (ObjectUtil.isAllEmpty(alarmLevel.getTenantId(), userTenantId)) {
return ResponseData.error("无关联的项目id");
}
Long tenantId = ObjectUtil.isEmpty(alarmLevel.getTenantId()) ? Long.valueOf(userTenantId) : alarmLevel.getTenantId();
- AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId,alarmLevel.getName(),alarmLevel.getLevel());
- if(ObjectUtil.isEmpty(oldAlarmLevel)){
+ AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId, alarmLevel.getName(), alarmLevel.getLevel());
+ if (ObjectUtil.isEmpty(oldAlarmLevel)) {
//insert
alarmLevel.setTenantId(tenantId);
alarmLevel.setTs(currDate);
- alarmLevelService.insert(alarmLevel);
- }else{
+ alarmLevelService.save(alarmLevel);
+ } else {
//update
alarmLevel.setId(oldAlarmLevel.getId());
alarmLevel.setTenantId(tenantId);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
index 67e4b49..51e0d50 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
@@ -1,15 +1,19 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.AlarmRecords;
-import com.casic.missiles.modular.system.warpper.AlarmRecordWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -17,13 +21,13 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.collection.CollectionUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -36,7 +40,7 @@
*/
@Controller
@RequestMapping("/alarm")
-public class AlarmRecordsController extends BaseController {
+public class AlarmRecordsController extends ExportController {
@Autowired
@@ -44,13 +48,13 @@
@Resource
private AbstractPermissionContext iCommonPermissionService;
@Value("${smartcity.office.maxRowsExcel}")
- private int maxRowsExcel;
+ private int maxRowsExcel;
@Value("${smartcity.config.config-path}")
private String templatePath;
@Value("${smartcity.adminRoleName}")
- private String sAdmin;
+ private String sAdmin;
@Value("${smartcity.opRoleName}")
- private String sOperator;
+ private String sOperator;
/**
* 获取分页列表
@@ -62,7 +66,7 @@
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
@@ -73,28 +77,87 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> retList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
-
-
- new AlarmRecordWarpper(retList).warp();
+ List> retList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ retList.forEach(this::alarmRecordWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmRecordWrapper(Map map) {
+ // 设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (null == staffstr) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 告警状态
+ String statusStr = map.get("status").toString();
+ map.put("statusName", EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr, "alarmStatus"));
+
+ // 工单状态
+ if (ObjectUtil.isNotEmpty(map.get("jobStatus"))) {
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+ }
+ }
@RequestMapping(value = "/export")
- public void exportAlarm(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) throws IOException {
+ public void exportAlarm(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
Page> page = PageFactory.defaultPage();
- page.setMaxLimit((long)maxRowsExcel);
+ page.setMaxLimit((long) maxRowsExcel);
page.setSize(maxRowsExcel);
page.offset();
page.setSearchCount(false);
@@ -104,25 +167,36 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> alarmExpList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
- new AlarmRecordWarpper(alarmExpList).warp();
-
+ List> alarmExpList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ alarmExpList.forEach(this::alarmRecordWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(alarmExpList)) {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecEmpty.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecEmpty.xlsx");
} else {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecTemplate.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecTemplate.xlsx");
}
try {
httpServletResponse.setContentType("application/octet-stream");
- httpServletResponse.addHeader("Content-Disposition", " attachment;filename="+"alarmOverview.xlsx" );
+ httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "alarmOverview.xlsx");
- Map var = new HashMap<>();
- var.put("标题","报警一览表");
- var.put("list",alarmExpList);
- ExcelIO.writeTemplate(fileInputStream,httpServletResponse.getOutputStream(),var);
+ Map var = new HashMap<>();
+ var.put("标题", "报警一览表");
+ var.put("list", alarmExpList);
+
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("设备编号", "devcode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmTypeName"));
+ dataFieldDefines.add(new DataFieldDefine("告警原因", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("权属单位", "deptName"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+
+ this.exportExcelMaps(dataFieldDefines, alarmExpList, "报警一览表");
} catch (IOException e) {
e.printStackTrace();
@@ -132,7 +206,8 @@
httpServletResponse.getOutputStream().flush();
httpServletResponse.getOutputStream().close();
fileInputStream.close();
- };
+ }
+ ;
}
@@ -141,15 +216,15 @@
*/
@RequestMapping(value = "/cancelAlarm")
@ResponseBody
- public Object cancelAlarm(@RequestParam(value = "id",required = true) int id, //jobId
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object cancelAlarm(@RequestParam(value = "id", required = true) int id, //jobId
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- boolean isCancel = alarmRecordsService.cancelAlarm(id,jobStatus,handleMessage,currentUser.getId());
- if(isCancel){
+ boolean isCancel = alarmRecordsService.cancelAlarm(id, jobStatus, handleMessage, currentUser.getId());
+ if (isCancel) {
return ResponseData.success();
- }else {
+ } else {
return ResponseData.error("failure");
}
}
@@ -160,22 +235,22 @@
@RequestMapping(value = "/batchCancel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object batchCancel(@RequestParam(value = "keywords",required = false) String keywords,
- @RequestParam(value = "alarmType",required = false) String alarmType,
- @RequestParam(value = "alarmContent",required = false) String alarmContent,
- @RequestParam(value = "beginTime",required = false) String beginTime,
- @RequestParam(value = "endTime",required = false) String endTime,
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object batchCancel(@RequestParam(value = "keywords", required = false) String keywords,
+ @RequestParam(value = "alarmType", required = false) String alarmType,
+ @RequestParam(value = "alarmContent", required = false) String alarmContent,
+ @RequestParam(value = "beginTime", required = false) String beginTime,
+ @RequestParam(value = "endTime", required = false) String endTime,
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
//根据查询条件查询alarm_record记录
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope,keywords,alarmType,alarmContent,beginTime,endTime);
+ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime);
//根据jobId调用closeJob
for (AlarmRecords alarmRecord : alarmRecords) {
- alarmRecordsService.cancelAlarm(alarmRecord.getJobId(),jobStatus,handleMessage,currentUser.getId());
+ alarmRecordsService.cancelAlarm(alarmRecord.getJobId(), jobStatus, handleMessage, currentUser.getId());
}
return ResponseData.success();
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
index 7a645dd..3b39aeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
@@ -1,21 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRuleService;
import com.casic.missiles.modular.system.dto.AlarmRuleDTO;
-import com.casic.missiles.modular.system.warpper.AlarmRuleWarpper;
+import com.casic.missiles.modular.system.service.IDeviceRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.util.StrUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -54,8 +54,9 @@
public Map list(String keywords, HttpServletRequest httpServletRequest) {
String deviceType = httpServletRequest.getParameter("deviceType");
- if (StrUtil.isEmpty(deviceType))
+ if (StrUtil.isEmpty(deviceType)) {
deviceType = "";
+ }
Page> page = PageFactory.defaultPage();
Map retMap = new HashMap<>();
boolean bSessionValid = false;
@@ -66,9 +67,10 @@
return retMap;
}
List> retList = new ArrayList<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
retList = alarmRuleService.ruleListViaParam(page, keywords, deviceType, dataScope);
- new AlarmRuleWarpper(retList).warp();
+ retList.stream().forEach(this::alarmRuleWrapper);
page.setRecords(retList);
retMap.put("code", 200);
retMap.put("message", "success");
@@ -76,11 +78,19 @@
return retMap;
}
+ private void alarmRuleWrapper(Map map) {
+ String deviceType = map.get("deviceType").toString();
+ long deptid = Long.parseLong(map.get("deptid").toString());
+ map.put("deviceTypeName", EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ }
+
@RequestMapping(value = "/update")
@ResponseBody
public Map updateRule(@RequestParam(value = "id", required = true) int id, HttpServletRequest httpServletRequest) {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
if (super.getSession().getAttribute("sessionFlag") == null) {
retMap.put("code", 505);
retMap.put("message", "sessionExpired");
@@ -90,10 +100,12 @@
String sLow = httpServletRequest.getParameter("lowValue");
float highValue = 99999;
float lowValue = -99999;
- if (StrUtil.isNotEmpty(sHigh))
+ if (StrUtil.isNotEmpty(sHigh)) {
highValue = Float.parseFloat(sHigh);
- if (StrUtil.isNotEmpty(sLow))
+ }
+ if (StrUtil.isNotEmpty(sLow)) {
lowValue = Float.parseFloat(sLow);
+ }
if (alarmRuleService.updateRule(id, highValue, lowValue)) {
retMap.put("code", 200);
@@ -138,7 +150,7 @@
@RequestMapping(value = "/delete")
@ResponseBody
public Object delete(@RequestParam Integer id) {
- alarmRuleService.deleteById(id);
+ alarmRuleService.removeById(id);
return ResponseData.success();
}
@@ -151,8 +163,9 @@
public Map getNoAlarmDevice() {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
- List alarmRuleList= alarmRuleService.getNoAlarmDevice(dataScope);
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
+ List alarmRuleList = alarmRuleService.getNoAlarmDevice(dataScope);
retMap.put("code", 200);
retMap.put("message", "success");
retMap.put("data", alarmRuleList);
diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml
index 95d7f58..88f7dc3 100644
--- a/casic-alarm/pom.xml
+++ b/casic-alarm/pom.xml
@@ -28,21 +28,36 @@
${admin.version}
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java b/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
deleted file mode 100644
index 460d4db..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * SpringBoot方式启动类
- *
- * @author lwh
- * @Date 2021/06/06 12:06
- */
-@SpringBootApplication
-@EnableCaching
-@EnableScheduling
-@EnableTransactionManagement(proxyTargetClass = true)
-@EnableAsync
-@ServletComponentScan
-@Slf4j
-public class CasicApplication {
- public static void main(String[] args) {
- SpringApplication.run(CasicApplication.class, args);
- log.info("CasicApplication is success!");
- }
-
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
index ef473af..6a426fa 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
@@ -1,19 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.alarm.service.ISysDictService;
-import com.casic.missiles.modular.system.warpper.AlarmJobWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -29,7 +31,10 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
@@ -40,7 +45,7 @@
*/
@Controller
@RequestMapping("/job")
-public class AlarmJobController extends BaseController {
+public class AlarmJobController extends ExportController {
@Autowired
@@ -146,16 +151,93 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatusStr)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatusStr));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatusStr));
}
}
retList = alarmJobService.jobListApp(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmJobWrapper(Map map) {
+ // 设置人员姓名
+ for (String key : map.keySet()) {
+ if (key.contains("JobPerson") || key.contains("jobBelongTo")) {
+ Object object = map.get(key);
+ if (object != null) {
+ String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
+ map.replace(key, newVal);
+ }
+ }
+ }
+
+ //设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (ObjectUtil.isEmpty(staffstr)) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 工单状态
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 流转记录(工单详情用)
+ if (map.containsKey("flow")) {
+ String flow = (String) map.get("flow");
+ flow = "[" + flow.replaceFirst(",", "") + "]";
+ List list = new ArrayList<>();
+ JSONArray jsonArray = JSONArray.parseArray(flow);
+ list = jsonArray.toJavaList(Map.class);
+ map.replace("flow", list);
+ }
+ }
+
/**
* 工单查询接口 APP用
*/
@@ -181,14 +263,13 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatus)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatus));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus));
}
}
retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime,
handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
Map retMap = new HashMap<>();
@@ -227,7 +308,7 @@
}
retList = alarmJobService.jobListDelayReApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -265,7 +346,7 @@
}
retList = alarmJobService.jobListDelayProApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -294,22 +375,35 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId());
- new AlarmJobWarpper(jobExpList).warp();
+ jobExpList.forEach(this::alarmJobWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(jobExpList)) {
fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx");
} else {
fileInputStream = new FileInputStream(templatePath + "/jobRecTemplate.xlsx");
}
+
try {
+
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "jobOverview.xlsx");
-
Map var = new HashMap<>();
var.put("标题", "工单一览表");
var.put("list", jobExpList);
- ExcelIO.writeTemplate(fileInputStream, httpServletResponse.getOutputStream(), var);
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("工单编号", "jobCode"));
+ dataFieldDefines.add(new DataFieldDefine("工单创建时间", "createTime"));
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("告警时间", "alarmTime"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+ dataFieldDefines.add(new DataFieldDefine("处理人", "handleJobPerson"));
+ dataFieldDefines.add(new DataFieldDefine("处理时间", "handleJobTime"));
+ this.exportExcelMaps(dataFieldDefines, jobExpList, "工单一览表");
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
@@ -361,7 +455,7 @@
@RequestMapping(value = "/transferJob")
@ResponseBody
public Object transferJob(@RequestParam(value = "id", required = true) int id,
- @RequestParam(value = "transferPerson", required = true) String transferPerson) throws JSONException {
+ @RequestParam(value = "transferPerson", required = true) String transferPerson) {
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
@@ -437,8 +531,7 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
List> retList = alarmJobService.jobInfo(id, dataScope, currentUser.getId());
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
return ResponseData.success(retList);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
index 5ec9ed1..a1432fd 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
@@ -1,22 +1,23 @@
package com.casic.missiles.modular.alarm.controller;
-import com.alibaba.fastjson.JSON;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.util.EhcacheConstant;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmLevelService;
import com.casic.missiles.modular.system.model.AlarmLevel;
import com.casic.missiles.modular.system.model.DeptPermission;
+import com.casic.missiles.modular.system.service.IDeptPermissionService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.util.*;
@@ -36,73 +37,74 @@
private IAlarmLevelService alarmLevelService;
@Resource
private AbstractPermissionContext permissionService;
- @Autowired
- private AbstractDeptService deptPermissionService;
+ @Resource
+ private IDeptPermissionService deptPermissionService;
/**
* 获取告警等级列表
*/
@RequestMapping("/levelList")
@ResponseBody
- public Object levelList(Long tenantId){
- List> levelList = new ArrayList<>();
+ public Object levelList(Long tenantId) {
+ List> levelList = new ArrayList<>();
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
DeptPermission deptPermission = deptPermissionService.selectDeptPermission(currUser.getDeptId());
- if(ObjectUtil.isEmpty(deptPermission)){
+ if (ObjectUtil.isEmpty(deptPermission)) {
return levelList;
}
- for(Object deviceType: JSON.parseObject(deptPermission.getDeviceType(), List.class)){
+ for (Object deviceType : JSON.parseObject(deptPermission.getDeviceType(), List.class)) {
String deviceTypeName = EhcacheConstant.retBean().getDeviceTypeNameById(deviceType.toString());
List names = new ArrayList<>();
- if(deviceTypeName.contains("液位")){
+ if (deviceTypeName.contains("液位")) {
names.add("液位");
}
- if(deviceTypeName.contains("有害气体")){
+ if (deviceTypeName.contains("有害气体")) {
names.add("一氧化碳");
names.add("硫化氢");
names.add("甲烷");
names.add("氧气");
}
- if(deviceTypeName.contains("燃气")){
+ if (deviceTypeName.contains("燃气")) {
names.add("燃气");
}
- if(deviceTypeName.contains("温湿度")){
+ if (deviceTypeName.contains("温湿度")) {
names.add("温度");
names.add("湿度");
}
- if(deviceTypeName.contains("开挖")){
+ if (deviceTypeName.contains("开挖")) {
names.add("开挖");
}
- for(String name: names){
+ for (String name : names) {
Map levelMap = new HashMap<>();
- Map level = alarmLevelService.selectByNameAndTenGroup(tenantId,name);
- levelMap.put("name",name);
- levelMap.put("deviceType",deviceType);
- levelMap.put("deviceTypeName",deviceTypeName);
+ Map level = alarmLevelService.selectByNameAndTenGroup(tenantId, name);
+ levelMap.put("name", name);
+ levelMap.put("deviceType", deviceType);
+ levelMap.put("deviceTypeName", deviceTypeName);
- if(ObjectUtil.isEmpty(level.get("openAlarm"))){
- levelMap.put("openAlarm","");
- }else{
- levelMap.put("openAlarm",level.get("openAlarm").toString());
+ if (ObjectUtil.isEmpty(level.get("openAlarm"))) {
+ levelMap.put("openAlarm", "");
+ } else {
+ levelMap.put("openAlarm", level.get("openAlarm").toString());
}
- if(ObjectUtil.isEmpty(level.get("openJob"))){
- levelMap.put("openJob","");
- }else{
- levelMap.put("openJob",level.get("openJob").toString());
+ if (ObjectUtil.isEmpty(level.get("openJob"))) {
+ levelMap.put("openJob", "");
+ } else {
+ levelMap.put("openJob", level.get("openJob").toString());
}
- if(ObjectUtil.isEmpty(level.get("ts"))){
- levelMap.put("ts","");
- }else{
- levelMap.put("ts",level.get("ts").toString());
+ if (ObjectUtil.isEmpty(level.get("ts"))) {
+ levelMap.put("ts", "");
+ } else {
+ levelMap.put("ts", level.get("ts").toString());
}
levelList.add(levelMap);
@@ -116,13 +118,14 @@
*/
@RequestMapping("/levelByType")
@ResponseBody
- public Object levelByType(Long tenantId, String name){
+ public Object levelByType(Long tenantId, String name) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
List levelList = alarmLevelService.selectByNameAndTenList(tenantId, name);
return ResponseData.success(levelList);
@@ -131,22 +134,23 @@
@RequestMapping("/configLevel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object configLevel(@RequestBody List levelList){
+ public Object configLevel(@RequestBody List levelList) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- String userTenantId = currUser.getTenantId(); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ String userTenantId = currUser.getTenantId();
Date currDate = new Date();
- for(AlarmLevel alarmLevel:levelList){
- if(ObjectUtil.isAllEmpty(alarmLevel.getTenantId(),userTenantId)){
+ for (AlarmLevel alarmLevel : levelList) {
+ if (ObjectUtil.isAllEmpty(alarmLevel.getTenantId(), userTenantId)) {
return ResponseData.error("无关联的项目id");
}
Long tenantId = ObjectUtil.isEmpty(alarmLevel.getTenantId()) ? Long.valueOf(userTenantId) : alarmLevel.getTenantId();
- AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId,alarmLevel.getName(),alarmLevel.getLevel());
- if(ObjectUtil.isEmpty(oldAlarmLevel)){
+ AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId, alarmLevel.getName(), alarmLevel.getLevel());
+ if (ObjectUtil.isEmpty(oldAlarmLevel)) {
//insert
alarmLevel.setTenantId(tenantId);
alarmLevel.setTs(currDate);
- alarmLevelService.insert(alarmLevel);
- }else{
+ alarmLevelService.save(alarmLevel);
+ } else {
//update
alarmLevel.setId(oldAlarmLevel.getId());
alarmLevel.setTenantId(tenantId);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
index 67e4b49..51e0d50 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
@@ -1,15 +1,19 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.AlarmRecords;
-import com.casic.missiles.modular.system.warpper.AlarmRecordWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -17,13 +21,13 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.collection.CollectionUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -36,7 +40,7 @@
*/
@Controller
@RequestMapping("/alarm")
-public class AlarmRecordsController extends BaseController {
+public class AlarmRecordsController extends ExportController {
@Autowired
@@ -44,13 +48,13 @@
@Resource
private AbstractPermissionContext iCommonPermissionService;
@Value("${smartcity.office.maxRowsExcel}")
- private int maxRowsExcel;
+ private int maxRowsExcel;
@Value("${smartcity.config.config-path}")
private String templatePath;
@Value("${smartcity.adminRoleName}")
- private String sAdmin;
+ private String sAdmin;
@Value("${smartcity.opRoleName}")
- private String sOperator;
+ private String sOperator;
/**
* 获取分页列表
@@ -62,7 +66,7 @@
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
@@ -73,28 +77,87 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> retList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
-
-
- new AlarmRecordWarpper(retList).warp();
+ List> retList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ retList.forEach(this::alarmRecordWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmRecordWrapper(Map map) {
+ // 设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (null == staffstr) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 告警状态
+ String statusStr = map.get("status").toString();
+ map.put("statusName", EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr, "alarmStatus"));
+
+ // 工单状态
+ if (ObjectUtil.isNotEmpty(map.get("jobStatus"))) {
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+ }
+ }
@RequestMapping(value = "/export")
- public void exportAlarm(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) throws IOException {
+ public void exportAlarm(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
Page> page = PageFactory.defaultPage();
- page.setMaxLimit((long)maxRowsExcel);
+ page.setMaxLimit((long) maxRowsExcel);
page.setSize(maxRowsExcel);
page.offset();
page.setSearchCount(false);
@@ -104,25 +167,36 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> alarmExpList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
- new AlarmRecordWarpper(alarmExpList).warp();
-
+ List> alarmExpList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ alarmExpList.forEach(this::alarmRecordWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(alarmExpList)) {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecEmpty.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecEmpty.xlsx");
} else {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecTemplate.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecTemplate.xlsx");
}
try {
httpServletResponse.setContentType("application/octet-stream");
- httpServletResponse.addHeader("Content-Disposition", " attachment;filename="+"alarmOverview.xlsx" );
+ httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "alarmOverview.xlsx");
- Map var = new HashMap<>();
- var.put("标题","报警一览表");
- var.put("list",alarmExpList);
- ExcelIO.writeTemplate(fileInputStream,httpServletResponse.getOutputStream(),var);
+ Map var = new HashMap<>();
+ var.put("标题", "报警一览表");
+ var.put("list", alarmExpList);
+
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("设备编号", "devcode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmTypeName"));
+ dataFieldDefines.add(new DataFieldDefine("告警原因", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("权属单位", "deptName"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+
+ this.exportExcelMaps(dataFieldDefines, alarmExpList, "报警一览表");
} catch (IOException e) {
e.printStackTrace();
@@ -132,7 +206,8 @@
httpServletResponse.getOutputStream().flush();
httpServletResponse.getOutputStream().close();
fileInputStream.close();
- };
+ }
+ ;
}
@@ -141,15 +216,15 @@
*/
@RequestMapping(value = "/cancelAlarm")
@ResponseBody
- public Object cancelAlarm(@RequestParam(value = "id",required = true) int id, //jobId
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object cancelAlarm(@RequestParam(value = "id", required = true) int id, //jobId
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- boolean isCancel = alarmRecordsService.cancelAlarm(id,jobStatus,handleMessage,currentUser.getId());
- if(isCancel){
+ boolean isCancel = alarmRecordsService.cancelAlarm(id, jobStatus, handleMessage, currentUser.getId());
+ if (isCancel) {
return ResponseData.success();
- }else {
+ } else {
return ResponseData.error("failure");
}
}
@@ -160,22 +235,22 @@
@RequestMapping(value = "/batchCancel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object batchCancel(@RequestParam(value = "keywords",required = false) String keywords,
- @RequestParam(value = "alarmType",required = false) String alarmType,
- @RequestParam(value = "alarmContent",required = false) String alarmContent,
- @RequestParam(value = "beginTime",required = false) String beginTime,
- @RequestParam(value = "endTime",required = false) String endTime,
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object batchCancel(@RequestParam(value = "keywords", required = false) String keywords,
+ @RequestParam(value = "alarmType", required = false) String alarmType,
+ @RequestParam(value = "alarmContent", required = false) String alarmContent,
+ @RequestParam(value = "beginTime", required = false) String beginTime,
+ @RequestParam(value = "endTime", required = false) String endTime,
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
//根据查询条件查询alarm_record记录
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope,keywords,alarmType,alarmContent,beginTime,endTime);
+ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime);
//根据jobId调用closeJob
for (AlarmRecords alarmRecord : alarmRecords) {
- alarmRecordsService.cancelAlarm(alarmRecord.getJobId(),jobStatus,handleMessage,currentUser.getId());
+ alarmRecordsService.cancelAlarm(alarmRecord.getJobId(), jobStatus, handleMessage, currentUser.getId());
}
return ResponseData.success();
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
index 7a645dd..3b39aeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
@@ -1,21 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRuleService;
import com.casic.missiles.modular.system.dto.AlarmRuleDTO;
-import com.casic.missiles.modular.system.warpper.AlarmRuleWarpper;
+import com.casic.missiles.modular.system.service.IDeviceRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.util.StrUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -54,8 +54,9 @@
public Map list(String keywords, HttpServletRequest httpServletRequest) {
String deviceType = httpServletRequest.getParameter("deviceType");
- if (StrUtil.isEmpty(deviceType))
+ if (StrUtil.isEmpty(deviceType)) {
deviceType = "";
+ }
Page> page = PageFactory.defaultPage();
Map retMap = new HashMap<>();
boolean bSessionValid = false;
@@ -66,9 +67,10 @@
return retMap;
}
List> retList = new ArrayList<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
retList = alarmRuleService.ruleListViaParam(page, keywords, deviceType, dataScope);
- new AlarmRuleWarpper(retList).warp();
+ retList.stream().forEach(this::alarmRuleWrapper);
page.setRecords(retList);
retMap.put("code", 200);
retMap.put("message", "success");
@@ -76,11 +78,19 @@
return retMap;
}
+ private void alarmRuleWrapper(Map map) {
+ String deviceType = map.get("deviceType").toString();
+ long deptid = Long.parseLong(map.get("deptid").toString());
+ map.put("deviceTypeName", EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ }
+
@RequestMapping(value = "/update")
@ResponseBody
public Map updateRule(@RequestParam(value = "id", required = true) int id, HttpServletRequest httpServletRequest) {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
if (super.getSession().getAttribute("sessionFlag") == null) {
retMap.put("code", 505);
retMap.put("message", "sessionExpired");
@@ -90,10 +100,12 @@
String sLow = httpServletRequest.getParameter("lowValue");
float highValue = 99999;
float lowValue = -99999;
- if (StrUtil.isNotEmpty(sHigh))
+ if (StrUtil.isNotEmpty(sHigh)) {
highValue = Float.parseFloat(sHigh);
- if (StrUtil.isNotEmpty(sLow))
+ }
+ if (StrUtil.isNotEmpty(sLow)) {
lowValue = Float.parseFloat(sLow);
+ }
if (alarmRuleService.updateRule(id, highValue, lowValue)) {
retMap.put("code", 200);
@@ -138,7 +150,7 @@
@RequestMapping(value = "/delete")
@ResponseBody
public Object delete(@RequestParam Integer id) {
- alarmRuleService.deleteById(id);
+ alarmRuleService.removeById(id);
return ResponseData.success();
}
@@ -151,8 +163,9 @@
public Map getNoAlarmDevice() {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
- List alarmRuleList= alarmRuleService.getNoAlarmDevice(dataScope);
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
+ List alarmRuleList = alarmRuleService.getNoAlarmDevice(dataScope);
retMap.put("code", 200);
retMap.put("message", "success");
retMap.put("data", alarmRuleList);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
new file mode 100644
index 0000000..a749516
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
@@ -0,0 +1,109 @@
+package com.casic.missiles.modular.alarm.job;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.modular.alarm.service.IAlarmJobService;
+import com.casic.missiles.modular.system.model.AlarmJob;
+import com.casic.missiles.modular.system.util.PushList;
+import com.casic.missiles.modular.system.util.WebSocket;
+import com.casic.missiles.quartz.service.IQuartzManager;
+import com.gexin.rp.sdk.base.IPushResult;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.support.AbstractApplicationContext;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class DelayJob implements Job {
+
+ private static final Logger logger = LoggerFactory.getLogger(DelayJob.class);
+
+ private Integer jobId;
+ private IAlarmJobService iAlarmJobService;
+ private AbstractApplicationContext iCommonUserService;
+ private IQuartzManager iQuartzManager;
+ private WebSocket webSocket;
+
+ public void setJobId(Integer jobId) {
+ this.jobId = jobId;
+ }
+
+ public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
+ this.iAlarmJobService = iAlarmJobService;
+ }
+
+ public void setICommonUserService(AbstractApplicationContext iCommonUserService) {
+ this.iCommonUserService = iCommonUserService;
+ }
+
+ public void setIQuartzManager(IQuartzManager iQuartzManager) {
+ this.iQuartzManager = iQuartzManager;
+ }
+
+ public void setWebSocket(WebSocket webSocket) {
+ this.webSocket = webSocket;
+ }
+
+ @Override
+ public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+
+ //业务逻辑
+ SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
+ System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
+ getJobDelay(jobId);
+ }
+
+ private void getJobDelay(Integer id) {
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if (!"3".equals(alarmJob.getJobStatus()) && !"4".equals(alarmJob.getJobStatus())) {
+ // 超时未处理 // 延时标签
+ alarmJob.setJobFlagDelay("2");
+ // 延时记录
+ String jobFlag = alarmJob.getJobFlag1();
+ if (StrUtil.isNotEmpty(jobFlag)) {
+ jobFlag += ",2";
+ } else {
+ jobFlag = "2";
+ }
+ alarmJob.setJobFlag1(jobFlag);
+ iAlarmJobService.updateById(alarmJob); // 更新记录
+ // APP推送
+ Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
+ String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
+ List clientIds = new ArrayList<>();
+ if (StrUtil.isNotEmpty(clientId)) {
+ clientIds.add(clientId);
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未处理");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未处理工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
+ }
+ } else {
+ logger.info("超时未处理工单找不到责任人,未推送:" + id.toString());
+ }
+ // PC推送,推给信息办
+ //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+// EntityWrapper wrapper = new EntityWrapper();
+// wrapper.eq("DEPTID","1178242562491285506");
+// List userList = iCommonUserService.selectUsersList(wrapper,null);
+// List userIds = new ArrayList<>();
+// for (User user : userList) {
+// userIds.add(user.getId().toString());
+// }
+// Map map = new HashMap();
+// map.put("message","有新的超时未处理工单");
+// map.put("type","overtimeHandle");
+// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
+ }
+ String jobName = "getJobDelay" + id;
+ iQuartzManager.removeJob(jobName);
+ }
+}
diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml
index 95d7f58..88f7dc3 100644
--- a/casic-alarm/pom.xml
+++ b/casic-alarm/pom.xml
@@ -28,21 +28,36 @@
${admin.version}
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java b/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
deleted file mode 100644
index 460d4db..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * SpringBoot方式启动类
- *
- * @author lwh
- * @Date 2021/06/06 12:06
- */
-@SpringBootApplication
-@EnableCaching
-@EnableScheduling
-@EnableTransactionManagement(proxyTargetClass = true)
-@EnableAsync
-@ServletComponentScan
-@Slf4j
-public class CasicApplication {
- public static void main(String[] args) {
- SpringApplication.run(CasicApplication.class, args);
- log.info("CasicApplication is success!");
- }
-
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
index ef473af..6a426fa 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
@@ -1,19 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.alarm.service.ISysDictService;
-import com.casic.missiles.modular.system.warpper.AlarmJobWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -29,7 +31,10 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
@@ -40,7 +45,7 @@
*/
@Controller
@RequestMapping("/job")
-public class AlarmJobController extends BaseController {
+public class AlarmJobController extends ExportController {
@Autowired
@@ -146,16 +151,93 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatusStr)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatusStr));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatusStr));
}
}
retList = alarmJobService.jobListApp(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmJobWrapper(Map map) {
+ // 设置人员姓名
+ for (String key : map.keySet()) {
+ if (key.contains("JobPerson") || key.contains("jobBelongTo")) {
+ Object object = map.get(key);
+ if (object != null) {
+ String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
+ map.replace(key, newVal);
+ }
+ }
+ }
+
+ //设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (ObjectUtil.isEmpty(staffstr)) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 工单状态
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 流转记录(工单详情用)
+ if (map.containsKey("flow")) {
+ String flow = (String) map.get("flow");
+ flow = "[" + flow.replaceFirst(",", "") + "]";
+ List list = new ArrayList<>();
+ JSONArray jsonArray = JSONArray.parseArray(flow);
+ list = jsonArray.toJavaList(Map.class);
+ map.replace("flow", list);
+ }
+ }
+
/**
* 工单查询接口 APP用
*/
@@ -181,14 +263,13 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatus)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatus));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus));
}
}
retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime,
handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
Map retMap = new HashMap<>();
@@ -227,7 +308,7 @@
}
retList = alarmJobService.jobListDelayReApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -265,7 +346,7 @@
}
retList = alarmJobService.jobListDelayProApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -294,22 +375,35 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId());
- new AlarmJobWarpper(jobExpList).warp();
+ jobExpList.forEach(this::alarmJobWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(jobExpList)) {
fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx");
} else {
fileInputStream = new FileInputStream(templatePath + "/jobRecTemplate.xlsx");
}
+
try {
+
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "jobOverview.xlsx");
-
Map var = new HashMap<>();
var.put("标题", "工单一览表");
var.put("list", jobExpList);
- ExcelIO.writeTemplate(fileInputStream, httpServletResponse.getOutputStream(), var);
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("工单编号", "jobCode"));
+ dataFieldDefines.add(new DataFieldDefine("工单创建时间", "createTime"));
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("告警时间", "alarmTime"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+ dataFieldDefines.add(new DataFieldDefine("处理人", "handleJobPerson"));
+ dataFieldDefines.add(new DataFieldDefine("处理时间", "handleJobTime"));
+ this.exportExcelMaps(dataFieldDefines, jobExpList, "工单一览表");
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
@@ -361,7 +455,7 @@
@RequestMapping(value = "/transferJob")
@ResponseBody
public Object transferJob(@RequestParam(value = "id", required = true) int id,
- @RequestParam(value = "transferPerson", required = true) String transferPerson) throws JSONException {
+ @RequestParam(value = "transferPerson", required = true) String transferPerson) {
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
@@ -437,8 +531,7 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
List> retList = alarmJobService.jobInfo(id, dataScope, currentUser.getId());
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
return ResponseData.success(retList);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
index 5ec9ed1..a1432fd 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
@@ -1,22 +1,23 @@
package com.casic.missiles.modular.alarm.controller;
-import com.alibaba.fastjson.JSON;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.util.EhcacheConstant;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmLevelService;
import com.casic.missiles.modular.system.model.AlarmLevel;
import com.casic.missiles.modular.system.model.DeptPermission;
+import com.casic.missiles.modular.system.service.IDeptPermissionService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.util.*;
@@ -36,73 +37,74 @@
private IAlarmLevelService alarmLevelService;
@Resource
private AbstractPermissionContext permissionService;
- @Autowired
- private AbstractDeptService deptPermissionService;
+ @Resource
+ private IDeptPermissionService deptPermissionService;
/**
* 获取告警等级列表
*/
@RequestMapping("/levelList")
@ResponseBody
- public Object levelList(Long tenantId){
- List> levelList = new ArrayList<>();
+ public Object levelList(Long tenantId) {
+ List> levelList = new ArrayList<>();
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
DeptPermission deptPermission = deptPermissionService.selectDeptPermission(currUser.getDeptId());
- if(ObjectUtil.isEmpty(deptPermission)){
+ if (ObjectUtil.isEmpty(deptPermission)) {
return levelList;
}
- for(Object deviceType: JSON.parseObject(deptPermission.getDeviceType(), List.class)){
+ for (Object deviceType : JSON.parseObject(deptPermission.getDeviceType(), List.class)) {
String deviceTypeName = EhcacheConstant.retBean().getDeviceTypeNameById(deviceType.toString());
List names = new ArrayList<>();
- if(deviceTypeName.contains("液位")){
+ if (deviceTypeName.contains("液位")) {
names.add("液位");
}
- if(deviceTypeName.contains("有害气体")){
+ if (deviceTypeName.contains("有害气体")) {
names.add("一氧化碳");
names.add("硫化氢");
names.add("甲烷");
names.add("氧气");
}
- if(deviceTypeName.contains("燃气")){
+ if (deviceTypeName.contains("燃气")) {
names.add("燃气");
}
- if(deviceTypeName.contains("温湿度")){
+ if (deviceTypeName.contains("温湿度")) {
names.add("温度");
names.add("湿度");
}
- if(deviceTypeName.contains("开挖")){
+ if (deviceTypeName.contains("开挖")) {
names.add("开挖");
}
- for(String name: names){
+ for (String name : names) {
Map levelMap = new HashMap<>();
- Map level = alarmLevelService.selectByNameAndTenGroup(tenantId,name);
- levelMap.put("name",name);
- levelMap.put("deviceType",deviceType);
- levelMap.put("deviceTypeName",deviceTypeName);
+ Map level = alarmLevelService.selectByNameAndTenGroup(tenantId, name);
+ levelMap.put("name", name);
+ levelMap.put("deviceType", deviceType);
+ levelMap.put("deviceTypeName", deviceTypeName);
- if(ObjectUtil.isEmpty(level.get("openAlarm"))){
- levelMap.put("openAlarm","");
- }else{
- levelMap.put("openAlarm",level.get("openAlarm").toString());
+ if (ObjectUtil.isEmpty(level.get("openAlarm"))) {
+ levelMap.put("openAlarm", "");
+ } else {
+ levelMap.put("openAlarm", level.get("openAlarm").toString());
}
- if(ObjectUtil.isEmpty(level.get("openJob"))){
- levelMap.put("openJob","");
- }else{
- levelMap.put("openJob",level.get("openJob").toString());
+ if (ObjectUtil.isEmpty(level.get("openJob"))) {
+ levelMap.put("openJob", "");
+ } else {
+ levelMap.put("openJob", level.get("openJob").toString());
}
- if(ObjectUtil.isEmpty(level.get("ts"))){
- levelMap.put("ts","");
- }else{
- levelMap.put("ts",level.get("ts").toString());
+ if (ObjectUtil.isEmpty(level.get("ts"))) {
+ levelMap.put("ts", "");
+ } else {
+ levelMap.put("ts", level.get("ts").toString());
}
levelList.add(levelMap);
@@ -116,13 +118,14 @@
*/
@RequestMapping("/levelByType")
@ResponseBody
- public Object levelByType(Long tenantId, String name){
+ public Object levelByType(Long tenantId, String name) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
List levelList = alarmLevelService.selectByNameAndTenList(tenantId, name);
return ResponseData.success(levelList);
@@ -131,22 +134,23 @@
@RequestMapping("/configLevel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object configLevel(@RequestBody List levelList){
+ public Object configLevel(@RequestBody List levelList) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- String userTenantId = currUser.getTenantId(); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ String userTenantId = currUser.getTenantId();
Date currDate = new Date();
- for(AlarmLevel alarmLevel:levelList){
- if(ObjectUtil.isAllEmpty(alarmLevel.getTenantId(),userTenantId)){
+ for (AlarmLevel alarmLevel : levelList) {
+ if (ObjectUtil.isAllEmpty(alarmLevel.getTenantId(), userTenantId)) {
return ResponseData.error("无关联的项目id");
}
Long tenantId = ObjectUtil.isEmpty(alarmLevel.getTenantId()) ? Long.valueOf(userTenantId) : alarmLevel.getTenantId();
- AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId,alarmLevel.getName(),alarmLevel.getLevel());
- if(ObjectUtil.isEmpty(oldAlarmLevel)){
+ AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId, alarmLevel.getName(), alarmLevel.getLevel());
+ if (ObjectUtil.isEmpty(oldAlarmLevel)) {
//insert
alarmLevel.setTenantId(tenantId);
alarmLevel.setTs(currDate);
- alarmLevelService.insert(alarmLevel);
- }else{
+ alarmLevelService.save(alarmLevel);
+ } else {
//update
alarmLevel.setId(oldAlarmLevel.getId());
alarmLevel.setTenantId(tenantId);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
index 67e4b49..51e0d50 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
@@ -1,15 +1,19 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.AlarmRecords;
-import com.casic.missiles.modular.system.warpper.AlarmRecordWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -17,13 +21,13 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.collection.CollectionUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -36,7 +40,7 @@
*/
@Controller
@RequestMapping("/alarm")
-public class AlarmRecordsController extends BaseController {
+public class AlarmRecordsController extends ExportController {
@Autowired
@@ -44,13 +48,13 @@
@Resource
private AbstractPermissionContext iCommonPermissionService;
@Value("${smartcity.office.maxRowsExcel}")
- private int maxRowsExcel;
+ private int maxRowsExcel;
@Value("${smartcity.config.config-path}")
private String templatePath;
@Value("${smartcity.adminRoleName}")
- private String sAdmin;
+ private String sAdmin;
@Value("${smartcity.opRoleName}")
- private String sOperator;
+ private String sOperator;
/**
* 获取分页列表
@@ -62,7 +66,7 @@
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
@@ -73,28 +77,87 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> retList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
-
-
- new AlarmRecordWarpper(retList).warp();
+ List> retList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ retList.forEach(this::alarmRecordWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmRecordWrapper(Map map) {
+ // 设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (null == staffstr) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 告警状态
+ String statusStr = map.get("status").toString();
+ map.put("statusName", EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr, "alarmStatus"));
+
+ // 工单状态
+ if (ObjectUtil.isNotEmpty(map.get("jobStatus"))) {
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+ }
+ }
@RequestMapping(value = "/export")
- public void exportAlarm(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) throws IOException {
+ public void exportAlarm(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
Page> page = PageFactory.defaultPage();
- page.setMaxLimit((long)maxRowsExcel);
+ page.setMaxLimit((long) maxRowsExcel);
page.setSize(maxRowsExcel);
page.offset();
page.setSearchCount(false);
@@ -104,25 +167,36 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> alarmExpList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
- new AlarmRecordWarpper(alarmExpList).warp();
-
+ List> alarmExpList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ alarmExpList.forEach(this::alarmRecordWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(alarmExpList)) {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecEmpty.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecEmpty.xlsx");
} else {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecTemplate.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecTemplate.xlsx");
}
try {
httpServletResponse.setContentType("application/octet-stream");
- httpServletResponse.addHeader("Content-Disposition", " attachment;filename="+"alarmOverview.xlsx" );
+ httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "alarmOverview.xlsx");
- Map var = new HashMap<>();
- var.put("标题","报警一览表");
- var.put("list",alarmExpList);
- ExcelIO.writeTemplate(fileInputStream,httpServletResponse.getOutputStream(),var);
+ Map var = new HashMap<>();
+ var.put("标题", "报警一览表");
+ var.put("list", alarmExpList);
+
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("设备编号", "devcode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmTypeName"));
+ dataFieldDefines.add(new DataFieldDefine("告警原因", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("权属单位", "deptName"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+
+ this.exportExcelMaps(dataFieldDefines, alarmExpList, "报警一览表");
} catch (IOException e) {
e.printStackTrace();
@@ -132,7 +206,8 @@
httpServletResponse.getOutputStream().flush();
httpServletResponse.getOutputStream().close();
fileInputStream.close();
- };
+ }
+ ;
}
@@ -141,15 +216,15 @@
*/
@RequestMapping(value = "/cancelAlarm")
@ResponseBody
- public Object cancelAlarm(@RequestParam(value = "id",required = true) int id, //jobId
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object cancelAlarm(@RequestParam(value = "id", required = true) int id, //jobId
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- boolean isCancel = alarmRecordsService.cancelAlarm(id,jobStatus,handleMessage,currentUser.getId());
- if(isCancel){
+ boolean isCancel = alarmRecordsService.cancelAlarm(id, jobStatus, handleMessage, currentUser.getId());
+ if (isCancel) {
return ResponseData.success();
- }else {
+ } else {
return ResponseData.error("failure");
}
}
@@ -160,22 +235,22 @@
@RequestMapping(value = "/batchCancel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object batchCancel(@RequestParam(value = "keywords",required = false) String keywords,
- @RequestParam(value = "alarmType",required = false) String alarmType,
- @RequestParam(value = "alarmContent",required = false) String alarmContent,
- @RequestParam(value = "beginTime",required = false) String beginTime,
- @RequestParam(value = "endTime",required = false) String endTime,
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object batchCancel(@RequestParam(value = "keywords", required = false) String keywords,
+ @RequestParam(value = "alarmType", required = false) String alarmType,
+ @RequestParam(value = "alarmContent", required = false) String alarmContent,
+ @RequestParam(value = "beginTime", required = false) String beginTime,
+ @RequestParam(value = "endTime", required = false) String endTime,
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
//根据查询条件查询alarm_record记录
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope,keywords,alarmType,alarmContent,beginTime,endTime);
+ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime);
//根据jobId调用closeJob
for (AlarmRecords alarmRecord : alarmRecords) {
- alarmRecordsService.cancelAlarm(alarmRecord.getJobId(),jobStatus,handleMessage,currentUser.getId());
+ alarmRecordsService.cancelAlarm(alarmRecord.getJobId(), jobStatus, handleMessage, currentUser.getId());
}
return ResponseData.success();
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
index 7a645dd..3b39aeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
@@ -1,21 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRuleService;
import com.casic.missiles.modular.system.dto.AlarmRuleDTO;
-import com.casic.missiles.modular.system.warpper.AlarmRuleWarpper;
+import com.casic.missiles.modular.system.service.IDeviceRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.util.StrUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -54,8 +54,9 @@
public Map list(String keywords, HttpServletRequest httpServletRequest) {
String deviceType = httpServletRequest.getParameter("deviceType");
- if (StrUtil.isEmpty(deviceType))
+ if (StrUtil.isEmpty(deviceType)) {
deviceType = "";
+ }
Page> page = PageFactory.defaultPage();
Map retMap = new HashMap<>();
boolean bSessionValid = false;
@@ -66,9 +67,10 @@
return retMap;
}
List> retList = new ArrayList<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
retList = alarmRuleService.ruleListViaParam(page, keywords, deviceType, dataScope);
- new AlarmRuleWarpper(retList).warp();
+ retList.stream().forEach(this::alarmRuleWrapper);
page.setRecords(retList);
retMap.put("code", 200);
retMap.put("message", "success");
@@ -76,11 +78,19 @@
return retMap;
}
+ private void alarmRuleWrapper(Map map) {
+ String deviceType = map.get("deviceType").toString();
+ long deptid = Long.parseLong(map.get("deptid").toString());
+ map.put("deviceTypeName", EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ }
+
@RequestMapping(value = "/update")
@ResponseBody
public Map updateRule(@RequestParam(value = "id", required = true) int id, HttpServletRequest httpServletRequest) {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
if (super.getSession().getAttribute("sessionFlag") == null) {
retMap.put("code", 505);
retMap.put("message", "sessionExpired");
@@ -90,10 +100,12 @@
String sLow = httpServletRequest.getParameter("lowValue");
float highValue = 99999;
float lowValue = -99999;
- if (StrUtil.isNotEmpty(sHigh))
+ if (StrUtil.isNotEmpty(sHigh)) {
highValue = Float.parseFloat(sHigh);
- if (StrUtil.isNotEmpty(sLow))
+ }
+ if (StrUtil.isNotEmpty(sLow)) {
lowValue = Float.parseFloat(sLow);
+ }
if (alarmRuleService.updateRule(id, highValue, lowValue)) {
retMap.put("code", 200);
@@ -138,7 +150,7 @@
@RequestMapping(value = "/delete")
@ResponseBody
public Object delete(@RequestParam Integer id) {
- alarmRuleService.deleteById(id);
+ alarmRuleService.removeById(id);
return ResponseData.success();
}
@@ -151,8 +163,9 @@
public Map getNoAlarmDevice() {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
- List alarmRuleList= alarmRuleService.getNoAlarmDevice(dataScope);
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
+ List alarmRuleList = alarmRuleService.getNoAlarmDevice(dataScope);
retMap.put("code", 200);
retMap.put("message", "success");
retMap.put("data", alarmRuleList);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
new file mode 100644
index 0000000..a749516
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
@@ -0,0 +1,109 @@
+package com.casic.missiles.modular.alarm.job;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.modular.alarm.service.IAlarmJobService;
+import com.casic.missiles.modular.system.model.AlarmJob;
+import com.casic.missiles.modular.system.util.PushList;
+import com.casic.missiles.modular.system.util.WebSocket;
+import com.casic.missiles.quartz.service.IQuartzManager;
+import com.gexin.rp.sdk.base.IPushResult;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.support.AbstractApplicationContext;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class DelayJob implements Job {
+
+ private static final Logger logger = LoggerFactory.getLogger(DelayJob.class);
+
+ private Integer jobId;
+ private IAlarmJobService iAlarmJobService;
+ private AbstractApplicationContext iCommonUserService;
+ private IQuartzManager iQuartzManager;
+ private WebSocket webSocket;
+
+ public void setJobId(Integer jobId) {
+ this.jobId = jobId;
+ }
+
+ public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
+ this.iAlarmJobService = iAlarmJobService;
+ }
+
+ public void setICommonUserService(AbstractApplicationContext iCommonUserService) {
+ this.iCommonUserService = iCommonUserService;
+ }
+
+ public void setIQuartzManager(IQuartzManager iQuartzManager) {
+ this.iQuartzManager = iQuartzManager;
+ }
+
+ public void setWebSocket(WebSocket webSocket) {
+ this.webSocket = webSocket;
+ }
+
+ @Override
+ public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+
+ //业务逻辑
+ SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
+ System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
+ getJobDelay(jobId);
+ }
+
+ private void getJobDelay(Integer id) {
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if (!"3".equals(alarmJob.getJobStatus()) && !"4".equals(alarmJob.getJobStatus())) {
+ // 超时未处理 // 延时标签
+ alarmJob.setJobFlagDelay("2");
+ // 延时记录
+ String jobFlag = alarmJob.getJobFlag1();
+ if (StrUtil.isNotEmpty(jobFlag)) {
+ jobFlag += ",2";
+ } else {
+ jobFlag = "2";
+ }
+ alarmJob.setJobFlag1(jobFlag);
+ iAlarmJobService.updateById(alarmJob); // 更新记录
+ // APP推送
+ Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
+ String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
+ List clientIds = new ArrayList<>();
+ if (StrUtil.isNotEmpty(clientId)) {
+ clientIds.add(clientId);
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未处理");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未处理工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
+ }
+ } else {
+ logger.info("超时未处理工单找不到责任人,未推送:" + id.toString());
+ }
+ // PC推送,推给信息办
+ //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+// EntityWrapper wrapper = new EntityWrapper();
+// wrapper.eq("DEPTID","1178242562491285506");
+// List userList = iCommonUserService.selectUsersList(wrapper,null);
+// List userIds = new ArrayList<>();
+// for (User user : userList) {
+// userIds.add(user.getId().toString());
+// }
+// Map map = new HashMap();
+// map.put("message","有新的超时未处理工单");
+// map.put("type","overtimeHandle");
+// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
+ }
+ String jobName = "getJobDelay" + id;
+ iQuartzManager.removeJob(jobName);
+ }
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
index ba9f439..9d72902 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
@@ -1,10 +1,10 @@
package com.casic.missiles.modular.alarm.job;
-import com.casic.missiles.core.common.service.ICommonUserService;
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.modular.system.dto.UserClientView;
import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -15,19 +15,20 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
@Component
-public class HandleAlarmJob implements Job{
+public class HandleAlarmJob implements Job {
private static final Logger logger = LoggerFactory.getLogger(HandleAlarmJob.class);
private Integer jobId;
private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
+ private AbstractPermissionContext iCommonUserService;
private IQuartzManager iQuartzManager;
private WebSocket webSocket;
private List userClientViewList;
@@ -40,7 +41,7 @@
this.iAlarmJobService = iAlarmJobService;
}
- public void setICommonUserService(ICommonUserService iCommonUserService) {
+ public void setICommonUserService(AbstractPermissionContext iCommonUserService) {
this.iCommonUserService = iCommonUserService;
}
@@ -62,29 +63,29 @@
}
private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if("0".equals(alarmJob.getJobStatus())){
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if ("0".equals(alarmJob.getJobStatus())) {
// 超时未接收
alarmJob.setJobFlagDelay("1"); // 延时标签
alarmJob.setJobFlag1("1");
iAlarmJobService.updateById(alarmJob); // 更新记录
// APP推送 推给井盖所属权属单位
List clientIds = new ArrayList<>();
- for(UserClientView userClientView:userClientViewList){
- if(StrUtil.isNotEmpty(userClientView.getClientid())){
+ for (UserClientView userClientView : userClientViewList) {
+ if (StrUtil.isNotEmpty(userClientView.getClientid())) {
clientIds.add(userClientView.getClientid());
}
}
- if(clientIds.size()>0){
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未接收");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未接收工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
+ if (clientIds.size() > 0) {
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未接收");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未接收工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
}
- }else{
- logger.info("超时未接收工单找不到责任人,未推送:"+id.toString());
+ } else {
+ logger.info("超时未接收工单找不到责任人,未推送:" + id.toString());
}
// PC推送,推给信息办
// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml
index 95d7f58..88f7dc3 100644
--- a/casic-alarm/pom.xml
+++ b/casic-alarm/pom.xml
@@ -28,21 +28,36 @@
${admin.version}
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java b/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
deleted file mode 100644
index 460d4db..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * SpringBoot方式启动类
- *
- * @author lwh
- * @Date 2021/06/06 12:06
- */
-@SpringBootApplication
-@EnableCaching
-@EnableScheduling
-@EnableTransactionManagement(proxyTargetClass = true)
-@EnableAsync
-@ServletComponentScan
-@Slf4j
-public class CasicApplication {
- public static void main(String[] args) {
- SpringApplication.run(CasicApplication.class, args);
- log.info("CasicApplication is success!");
- }
-
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
index ef473af..6a426fa 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
@@ -1,19 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.alarm.service.ISysDictService;
-import com.casic.missiles.modular.system.warpper.AlarmJobWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -29,7 +31,10 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
@@ -40,7 +45,7 @@
*/
@Controller
@RequestMapping("/job")
-public class AlarmJobController extends BaseController {
+public class AlarmJobController extends ExportController {
@Autowired
@@ -146,16 +151,93 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatusStr)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatusStr));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatusStr));
}
}
retList = alarmJobService.jobListApp(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmJobWrapper(Map map) {
+ // 设置人员姓名
+ for (String key : map.keySet()) {
+ if (key.contains("JobPerson") || key.contains("jobBelongTo")) {
+ Object object = map.get(key);
+ if (object != null) {
+ String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
+ map.replace(key, newVal);
+ }
+ }
+ }
+
+ //设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (ObjectUtil.isEmpty(staffstr)) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 工单状态
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 流转记录(工单详情用)
+ if (map.containsKey("flow")) {
+ String flow = (String) map.get("flow");
+ flow = "[" + flow.replaceFirst(",", "") + "]";
+ List list = new ArrayList<>();
+ JSONArray jsonArray = JSONArray.parseArray(flow);
+ list = jsonArray.toJavaList(Map.class);
+ map.replace("flow", list);
+ }
+ }
+
/**
* 工单查询接口 APP用
*/
@@ -181,14 +263,13 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatus)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatus));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus));
}
}
retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime,
handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
Map retMap = new HashMap<>();
@@ -227,7 +308,7 @@
}
retList = alarmJobService.jobListDelayReApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -265,7 +346,7 @@
}
retList = alarmJobService.jobListDelayProApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -294,22 +375,35 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId());
- new AlarmJobWarpper(jobExpList).warp();
+ jobExpList.forEach(this::alarmJobWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(jobExpList)) {
fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx");
} else {
fileInputStream = new FileInputStream(templatePath + "/jobRecTemplate.xlsx");
}
+
try {
+
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "jobOverview.xlsx");
-
Map var = new HashMap<>();
var.put("标题", "工单一览表");
var.put("list", jobExpList);
- ExcelIO.writeTemplate(fileInputStream, httpServletResponse.getOutputStream(), var);
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("工单编号", "jobCode"));
+ dataFieldDefines.add(new DataFieldDefine("工单创建时间", "createTime"));
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("告警时间", "alarmTime"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+ dataFieldDefines.add(new DataFieldDefine("处理人", "handleJobPerson"));
+ dataFieldDefines.add(new DataFieldDefine("处理时间", "handleJobTime"));
+ this.exportExcelMaps(dataFieldDefines, jobExpList, "工单一览表");
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
@@ -361,7 +455,7 @@
@RequestMapping(value = "/transferJob")
@ResponseBody
public Object transferJob(@RequestParam(value = "id", required = true) int id,
- @RequestParam(value = "transferPerson", required = true) String transferPerson) throws JSONException {
+ @RequestParam(value = "transferPerson", required = true) String transferPerson) {
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
@@ -437,8 +531,7 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
List> retList = alarmJobService.jobInfo(id, dataScope, currentUser.getId());
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
return ResponseData.success(retList);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
index 5ec9ed1..a1432fd 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
@@ -1,22 +1,23 @@
package com.casic.missiles.modular.alarm.controller;
-import com.alibaba.fastjson.JSON;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.util.EhcacheConstant;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmLevelService;
import com.casic.missiles.modular.system.model.AlarmLevel;
import com.casic.missiles.modular.system.model.DeptPermission;
+import com.casic.missiles.modular.system.service.IDeptPermissionService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.util.*;
@@ -36,73 +37,74 @@
private IAlarmLevelService alarmLevelService;
@Resource
private AbstractPermissionContext permissionService;
- @Autowired
- private AbstractDeptService deptPermissionService;
+ @Resource
+ private IDeptPermissionService deptPermissionService;
/**
* 获取告警等级列表
*/
@RequestMapping("/levelList")
@ResponseBody
- public Object levelList(Long tenantId){
- List> levelList = new ArrayList<>();
+ public Object levelList(Long tenantId) {
+ List> levelList = new ArrayList<>();
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
DeptPermission deptPermission = deptPermissionService.selectDeptPermission(currUser.getDeptId());
- if(ObjectUtil.isEmpty(deptPermission)){
+ if (ObjectUtil.isEmpty(deptPermission)) {
return levelList;
}
- for(Object deviceType: JSON.parseObject(deptPermission.getDeviceType(), List.class)){
+ for (Object deviceType : JSON.parseObject(deptPermission.getDeviceType(), List.class)) {
String deviceTypeName = EhcacheConstant.retBean().getDeviceTypeNameById(deviceType.toString());
List names = new ArrayList<>();
- if(deviceTypeName.contains("液位")){
+ if (deviceTypeName.contains("液位")) {
names.add("液位");
}
- if(deviceTypeName.contains("有害气体")){
+ if (deviceTypeName.contains("有害气体")) {
names.add("一氧化碳");
names.add("硫化氢");
names.add("甲烷");
names.add("氧气");
}
- if(deviceTypeName.contains("燃气")){
+ if (deviceTypeName.contains("燃气")) {
names.add("燃气");
}
- if(deviceTypeName.contains("温湿度")){
+ if (deviceTypeName.contains("温湿度")) {
names.add("温度");
names.add("湿度");
}
- if(deviceTypeName.contains("开挖")){
+ if (deviceTypeName.contains("开挖")) {
names.add("开挖");
}
- for(String name: names){
+ for (String name : names) {
Map levelMap = new HashMap<>();
- Map level = alarmLevelService.selectByNameAndTenGroup(tenantId,name);
- levelMap.put("name",name);
- levelMap.put("deviceType",deviceType);
- levelMap.put("deviceTypeName",deviceTypeName);
+ Map level = alarmLevelService.selectByNameAndTenGroup(tenantId, name);
+ levelMap.put("name", name);
+ levelMap.put("deviceType", deviceType);
+ levelMap.put("deviceTypeName", deviceTypeName);
- if(ObjectUtil.isEmpty(level.get("openAlarm"))){
- levelMap.put("openAlarm","");
- }else{
- levelMap.put("openAlarm",level.get("openAlarm").toString());
+ if (ObjectUtil.isEmpty(level.get("openAlarm"))) {
+ levelMap.put("openAlarm", "");
+ } else {
+ levelMap.put("openAlarm", level.get("openAlarm").toString());
}
- if(ObjectUtil.isEmpty(level.get("openJob"))){
- levelMap.put("openJob","");
- }else{
- levelMap.put("openJob",level.get("openJob").toString());
+ if (ObjectUtil.isEmpty(level.get("openJob"))) {
+ levelMap.put("openJob", "");
+ } else {
+ levelMap.put("openJob", level.get("openJob").toString());
}
- if(ObjectUtil.isEmpty(level.get("ts"))){
- levelMap.put("ts","");
- }else{
- levelMap.put("ts",level.get("ts").toString());
+ if (ObjectUtil.isEmpty(level.get("ts"))) {
+ levelMap.put("ts", "");
+ } else {
+ levelMap.put("ts", level.get("ts").toString());
}
levelList.add(levelMap);
@@ -116,13 +118,14 @@
*/
@RequestMapping("/levelByType")
@ResponseBody
- public Object levelByType(Long tenantId, String name){
+ public Object levelByType(Long tenantId, String name) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
List levelList = alarmLevelService.selectByNameAndTenList(tenantId, name);
return ResponseData.success(levelList);
@@ -131,22 +134,23 @@
@RequestMapping("/configLevel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object configLevel(@RequestBody List levelList){
+ public Object configLevel(@RequestBody List levelList) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- String userTenantId = currUser.getTenantId(); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ String userTenantId = currUser.getTenantId();
Date currDate = new Date();
- for(AlarmLevel alarmLevel:levelList){
- if(ObjectUtil.isAllEmpty(alarmLevel.getTenantId(),userTenantId)){
+ for (AlarmLevel alarmLevel : levelList) {
+ if (ObjectUtil.isAllEmpty(alarmLevel.getTenantId(), userTenantId)) {
return ResponseData.error("无关联的项目id");
}
Long tenantId = ObjectUtil.isEmpty(alarmLevel.getTenantId()) ? Long.valueOf(userTenantId) : alarmLevel.getTenantId();
- AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId,alarmLevel.getName(),alarmLevel.getLevel());
- if(ObjectUtil.isEmpty(oldAlarmLevel)){
+ AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId, alarmLevel.getName(), alarmLevel.getLevel());
+ if (ObjectUtil.isEmpty(oldAlarmLevel)) {
//insert
alarmLevel.setTenantId(tenantId);
alarmLevel.setTs(currDate);
- alarmLevelService.insert(alarmLevel);
- }else{
+ alarmLevelService.save(alarmLevel);
+ } else {
//update
alarmLevel.setId(oldAlarmLevel.getId());
alarmLevel.setTenantId(tenantId);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
index 67e4b49..51e0d50 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
@@ -1,15 +1,19 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.AlarmRecords;
-import com.casic.missiles.modular.system.warpper.AlarmRecordWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -17,13 +21,13 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.collection.CollectionUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -36,7 +40,7 @@
*/
@Controller
@RequestMapping("/alarm")
-public class AlarmRecordsController extends BaseController {
+public class AlarmRecordsController extends ExportController {
@Autowired
@@ -44,13 +48,13 @@
@Resource
private AbstractPermissionContext iCommonPermissionService;
@Value("${smartcity.office.maxRowsExcel}")
- private int maxRowsExcel;
+ private int maxRowsExcel;
@Value("${smartcity.config.config-path}")
private String templatePath;
@Value("${smartcity.adminRoleName}")
- private String sAdmin;
+ private String sAdmin;
@Value("${smartcity.opRoleName}")
- private String sOperator;
+ private String sOperator;
/**
* 获取分页列表
@@ -62,7 +66,7 @@
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
@@ -73,28 +77,87 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> retList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
-
-
- new AlarmRecordWarpper(retList).warp();
+ List> retList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ retList.forEach(this::alarmRecordWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmRecordWrapper(Map map) {
+ // 设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (null == staffstr) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 告警状态
+ String statusStr = map.get("status").toString();
+ map.put("statusName", EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr, "alarmStatus"));
+
+ // 工单状态
+ if (ObjectUtil.isNotEmpty(map.get("jobStatus"))) {
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+ }
+ }
@RequestMapping(value = "/export")
- public void exportAlarm(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) throws IOException {
+ public void exportAlarm(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
Page> page = PageFactory.defaultPage();
- page.setMaxLimit((long)maxRowsExcel);
+ page.setMaxLimit((long) maxRowsExcel);
page.setSize(maxRowsExcel);
page.offset();
page.setSearchCount(false);
@@ -104,25 +167,36 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> alarmExpList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
- new AlarmRecordWarpper(alarmExpList).warp();
-
+ List> alarmExpList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ alarmExpList.forEach(this::alarmRecordWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(alarmExpList)) {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecEmpty.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecEmpty.xlsx");
} else {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecTemplate.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecTemplate.xlsx");
}
try {
httpServletResponse.setContentType("application/octet-stream");
- httpServletResponse.addHeader("Content-Disposition", " attachment;filename="+"alarmOverview.xlsx" );
+ httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "alarmOverview.xlsx");
- Map var = new HashMap<>();
- var.put("标题","报警一览表");
- var.put("list",alarmExpList);
- ExcelIO.writeTemplate(fileInputStream,httpServletResponse.getOutputStream(),var);
+ Map var = new HashMap<>();
+ var.put("标题", "报警一览表");
+ var.put("list", alarmExpList);
+
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("设备编号", "devcode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmTypeName"));
+ dataFieldDefines.add(new DataFieldDefine("告警原因", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("权属单位", "deptName"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+
+ this.exportExcelMaps(dataFieldDefines, alarmExpList, "报警一览表");
} catch (IOException e) {
e.printStackTrace();
@@ -132,7 +206,8 @@
httpServletResponse.getOutputStream().flush();
httpServletResponse.getOutputStream().close();
fileInputStream.close();
- };
+ }
+ ;
}
@@ -141,15 +216,15 @@
*/
@RequestMapping(value = "/cancelAlarm")
@ResponseBody
- public Object cancelAlarm(@RequestParam(value = "id",required = true) int id, //jobId
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object cancelAlarm(@RequestParam(value = "id", required = true) int id, //jobId
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- boolean isCancel = alarmRecordsService.cancelAlarm(id,jobStatus,handleMessage,currentUser.getId());
- if(isCancel){
+ boolean isCancel = alarmRecordsService.cancelAlarm(id, jobStatus, handleMessage, currentUser.getId());
+ if (isCancel) {
return ResponseData.success();
- }else {
+ } else {
return ResponseData.error("failure");
}
}
@@ -160,22 +235,22 @@
@RequestMapping(value = "/batchCancel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object batchCancel(@RequestParam(value = "keywords",required = false) String keywords,
- @RequestParam(value = "alarmType",required = false) String alarmType,
- @RequestParam(value = "alarmContent",required = false) String alarmContent,
- @RequestParam(value = "beginTime",required = false) String beginTime,
- @RequestParam(value = "endTime",required = false) String endTime,
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object batchCancel(@RequestParam(value = "keywords", required = false) String keywords,
+ @RequestParam(value = "alarmType", required = false) String alarmType,
+ @RequestParam(value = "alarmContent", required = false) String alarmContent,
+ @RequestParam(value = "beginTime", required = false) String beginTime,
+ @RequestParam(value = "endTime", required = false) String endTime,
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
//根据查询条件查询alarm_record记录
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope,keywords,alarmType,alarmContent,beginTime,endTime);
+ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime);
//根据jobId调用closeJob
for (AlarmRecords alarmRecord : alarmRecords) {
- alarmRecordsService.cancelAlarm(alarmRecord.getJobId(),jobStatus,handleMessage,currentUser.getId());
+ alarmRecordsService.cancelAlarm(alarmRecord.getJobId(), jobStatus, handleMessage, currentUser.getId());
}
return ResponseData.success();
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
index 7a645dd..3b39aeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
@@ -1,21 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRuleService;
import com.casic.missiles.modular.system.dto.AlarmRuleDTO;
-import com.casic.missiles.modular.system.warpper.AlarmRuleWarpper;
+import com.casic.missiles.modular.system.service.IDeviceRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.util.StrUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -54,8 +54,9 @@
public Map list(String keywords, HttpServletRequest httpServletRequest) {
String deviceType = httpServletRequest.getParameter("deviceType");
- if (StrUtil.isEmpty(deviceType))
+ if (StrUtil.isEmpty(deviceType)) {
deviceType = "";
+ }
Page> page = PageFactory.defaultPage();
Map retMap = new HashMap<>();
boolean bSessionValid = false;
@@ -66,9 +67,10 @@
return retMap;
}
List> retList = new ArrayList<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
retList = alarmRuleService.ruleListViaParam(page, keywords, deviceType, dataScope);
- new AlarmRuleWarpper(retList).warp();
+ retList.stream().forEach(this::alarmRuleWrapper);
page.setRecords(retList);
retMap.put("code", 200);
retMap.put("message", "success");
@@ -76,11 +78,19 @@
return retMap;
}
+ private void alarmRuleWrapper(Map map) {
+ String deviceType = map.get("deviceType").toString();
+ long deptid = Long.parseLong(map.get("deptid").toString());
+ map.put("deviceTypeName", EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ }
+
@RequestMapping(value = "/update")
@ResponseBody
public Map updateRule(@RequestParam(value = "id", required = true) int id, HttpServletRequest httpServletRequest) {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
if (super.getSession().getAttribute("sessionFlag") == null) {
retMap.put("code", 505);
retMap.put("message", "sessionExpired");
@@ -90,10 +100,12 @@
String sLow = httpServletRequest.getParameter("lowValue");
float highValue = 99999;
float lowValue = -99999;
- if (StrUtil.isNotEmpty(sHigh))
+ if (StrUtil.isNotEmpty(sHigh)) {
highValue = Float.parseFloat(sHigh);
- if (StrUtil.isNotEmpty(sLow))
+ }
+ if (StrUtil.isNotEmpty(sLow)) {
lowValue = Float.parseFloat(sLow);
+ }
if (alarmRuleService.updateRule(id, highValue, lowValue)) {
retMap.put("code", 200);
@@ -138,7 +150,7 @@
@RequestMapping(value = "/delete")
@ResponseBody
public Object delete(@RequestParam Integer id) {
- alarmRuleService.deleteById(id);
+ alarmRuleService.removeById(id);
return ResponseData.success();
}
@@ -151,8 +163,9 @@
public Map getNoAlarmDevice() {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
- List alarmRuleList= alarmRuleService.getNoAlarmDevice(dataScope);
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
+ List alarmRuleList = alarmRuleService.getNoAlarmDevice(dataScope);
retMap.put("code", 200);
retMap.put("message", "success");
retMap.put("data", alarmRuleList);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
new file mode 100644
index 0000000..a749516
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
@@ -0,0 +1,109 @@
+package com.casic.missiles.modular.alarm.job;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.modular.alarm.service.IAlarmJobService;
+import com.casic.missiles.modular.system.model.AlarmJob;
+import com.casic.missiles.modular.system.util.PushList;
+import com.casic.missiles.modular.system.util.WebSocket;
+import com.casic.missiles.quartz.service.IQuartzManager;
+import com.gexin.rp.sdk.base.IPushResult;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.support.AbstractApplicationContext;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class DelayJob implements Job {
+
+ private static final Logger logger = LoggerFactory.getLogger(DelayJob.class);
+
+ private Integer jobId;
+ private IAlarmJobService iAlarmJobService;
+ private AbstractApplicationContext iCommonUserService;
+ private IQuartzManager iQuartzManager;
+ private WebSocket webSocket;
+
+ public void setJobId(Integer jobId) {
+ this.jobId = jobId;
+ }
+
+ public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
+ this.iAlarmJobService = iAlarmJobService;
+ }
+
+ public void setICommonUserService(AbstractApplicationContext iCommonUserService) {
+ this.iCommonUserService = iCommonUserService;
+ }
+
+ public void setIQuartzManager(IQuartzManager iQuartzManager) {
+ this.iQuartzManager = iQuartzManager;
+ }
+
+ public void setWebSocket(WebSocket webSocket) {
+ this.webSocket = webSocket;
+ }
+
+ @Override
+ public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+
+ //业务逻辑
+ SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
+ System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
+ getJobDelay(jobId);
+ }
+
+ private void getJobDelay(Integer id) {
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if (!"3".equals(alarmJob.getJobStatus()) && !"4".equals(alarmJob.getJobStatus())) {
+ // 超时未处理 // 延时标签
+ alarmJob.setJobFlagDelay("2");
+ // 延时记录
+ String jobFlag = alarmJob.getJobFlag1();
+ if (StrUtil.isNotEmpty(jobFlag)) {
+ jobFlag += ",2";
+ } else {
+ jobFlag = "2";
+ }
+ alarmJob.setJobFlag1(jobFlag);
+ iAlarmJobService.updateById(alarmJob); // 更新记录
+ // APP推送
+ Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
+ String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
+ List clientIds = new ArrayList<>();
+ if (StrUtil.isNotEmpty(clientId)) {
+ clientIds.add(clientId);
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未处理");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未处理工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
+ }
+ } else {
+ logger.info("超时未处理工单找不到责任人,未推送:" + id.toString());
+ }
+ // PC推送,推给信息办
+ //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+// EntityWrapper wrapper = new EntityWrapper();
+// wrapper.eq("DEPTID","1178242562491285506");
+// List userList = iCommonUserService.selectUsersList(wrapper,null);
+// List userIds = new ArrayList<>();
+// for (User user : userList) {
+// userIds.add(user.getId().toString());
+// }
+// Map map = new HashMap();
+// map.put("message","有新的超时未处理工单");
+// map.put("type","overtimeHandle");
+// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
+ }
+ String jobName = "getJobDelay" + id;
+ iQuartzManager.removeJob(jobName);
+ }
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
index ba9f439..9d72902 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
@@ -1,10 +1,10 @@
package com.casic.missiles.modular.alarm.job;
-import com.casic.missiles.core.common.service.ICommonUserService;
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.modular.system.dto.UserClientView;
import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -15,19 +15,20 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
@Component
-public class HandleAlarmJob implements Job{
+public class HandleAlarmJob implements Job {
private static final Logger logger = LoggerFactory.getLogger(HandleAlarmJob.class);
private Integer jobId;
private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
+ private AbstractPermissionContext iCommonUserService;
private IQuartzManager iQuartzManager;
private WebSocket webSocket;
private List userClientViewList;
@@ -40,7 +41,7 @@
this.iAlarmJobService = iAlarmJobService;
}
- public void setICommonUserService(ICommonUserService iCommonUserService) {
+ public void setICommonUserService(AbstractPermissionContext iCommonUserService) {
this.iCommonUserService = iCommonUserService;
}
@@ -62,29 +63,29 @@
}
private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if("0".equals(alarmJob.getJobStatus())){
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if ("0".equals(alarmJob.getJobStatus())) {
// 超时未接收
alarmJob.setJobFlagDelay("1"); // 延时标签
alarmJob.setJobFlag1("1");
iAlarmJobService.updateById(alarmJob); // 更新记录
// APP推送 推给井盖所属权属单位
List clientIds = new ArrayList<>();
- for(UserClientView userClientView:userClientViewList){
- if(StrUtil.isNotEmpty(userClientView.getClientid())){
+ for (UserClientView userClientView : userClientViewList) {
+ if (StrUtil.isNotEmpty(userClientView.getClientid())) {
clientIds.add(userClientView.getClientid());
}
}
- if(clientIds.size()>0){
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未接收");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未接收工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
+ if (clientIds.size() > 0) {
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未接收");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未接收工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
}
- }else{
- logger.info("超时未接收工单找不到责任人,未推送:"+id.toString());
+ } else {
+ logger.info("超时未接收工单找不到责任人,未推送:" + id.toString());
}
// PC推送,推给信息办
// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
deleted file mode 100644
index 46eeda9..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package com.casic.missiles.modular.alarm.job;
-
-import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.util.PushList;
-import com.casic.missiles.modular.system.util.WebSocket;
-import com.casic.missiles.quartz.service.IQuartzManager;
-import com.gexin.rp.sdk.base.IPushResult;
-import com.google.gson.GsonBuilder;
-import org.quartz.Job;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
-
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-@Component
-public class getDelayJob implements Job {
-
- private static final Logger logger = LoggerFactory.getLogger(getDelayJob.class);
-
- private Integer jobId;
- private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
- private IQuartzManager iQuartzManager;
- private WebSocket webSocket;
-
- public void setJobId(Integer jobId) {
- this.jobId = jobId;
- }
-
- public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
- this.iAlarmJobService = iAlarmJobService;
- }
-
- public void setICommonUserService(ICommonUserService iCommonUserService) {
- this.iCommonUserService = iCommonUserService;
- }
-
- public void setIQuartzManager(IQuartzManager iQuartzManager) {
- this.iQuartzManager = iQuartzManager;
- }
-
- public void setWebSocket(WebSocket webSocket) {
- this.webSocket = webSocket;
- }
-
- @Override
- public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-
- //业务逻辑
- SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
- System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
- getJobDelay(jobId);
- }
-
- private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if(!"3".equals(alarmJob.getJobStatus()) &&!"4".equals(alarmJob.getJobStatus())){
- // 超时未处理
- alarmJob.setJobFlagDelay("2"); // 延时标签
- String jobFlag = alarmJob.getJobFlag1(); // 延时记录
- if(StrUtil.isNotEmpty(jobFlag)){
- jobFlag += ",2";
- }else{
- jobFlag = "2";
- }
- alarmJob.setJobFlag1(jobFlag);
- iAlarmJobService.updateById(alarmJob); // 更新记录
- // APP推送
- Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
- String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
- List clientIds = new ArrayList<>();
- if(StrUtil.isNotEmpty(clientId)){
- clientIds.add(clientId);
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未处理");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未处理工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
- }
- }else{
- logger.info("超时未处理工单找不到责任人,未推送:"+id.toString());
- }
- // PC推送,推给信息办
- //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
-// EntityWrapper wrapper = new EntityWrapper();
-// wrapper.eq("DEPTID","1178242562491285506");
-// List userList = iCommonUserService.selectUsersList(wrapper,null);
-// List userIds = new ArrayList<>();
-// for (User user : userList) {
-// userIds.add(user.getId().toString());
-// }
-// Map map = new HashMap();
-// map.put("message","有新的超时未处理工单");
-// map.put("type","overtimeHandle");
-// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
- }
- String jobName = "getJobDelay" + id;
- iQuartzManager.removeJob(jobName);
- }
-}
diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml
index 95d7f58..88f7dc3 100644
--- a/casic-alarm/pom.xml
+++ b/casic-alarm/pom.xml
@@ -28,21 +28,36 @@
${admin.version}
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java b/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
deleted file mode 100644
index 460d4db..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * SpringBoot方式启动类
- *
- * @author lwh
- * @Date 2021/06/06 12:06
- */
-@SpringBootApplication
-@EnableCaching
-@EnableScheduling
-@EnableTransactionManagement(proxyTargetClass = true)
-@EnableAsync
-@ServletComponentScan
-@Slf4j
-public class CasicApplication {
- public static void main(String[] args) {
- SpringApplication.run(CasicApplication.class, args);
- log.info("CasicApplication is success!");
- }
-
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
index ef473af..6a426fa 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
@@ -1,19 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.alarm.service.ISysDictService;
-import com.casic.missiles.modular.system.warpper.AlarmJobWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -29,7 +31,10 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
@@ -40,7 +45,7 @@
*/
@Controller
@RequestMapping("/job")
-public class AlarmJobController extends BaseController {
+public class AlarmJobController extends ExportController {
@Autowired
@@ -146,16 +151,93 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatusStr)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatusStr));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatusStr));
}
}
retList = alarmJobService.jobListApp(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmJobWrapper(Map map) {
+ // 设置人员姓名
+ for (String key : map.keySet()) {
+ if (key.contains("JobPerson") || key.contains("jobBelongTo")) {
+ Object object = map.get(key);
+ if (object != null) {
+ String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
+ map.replace(key, newVal);
+ }
+ }
+ }
+
+ //设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (ObjectUtil.isEmpty(staffstr)) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 工单状态
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 流转记录(工单详情用)
+ if (map.containsKey("flow")) {
+ String flow = (String) map.get("flow");
+ flow = "[" + flow.replaceFirst(",", "") + "]";
+ List list = new ArrayList<>();
+ JSONArray jsonArray = JSONArray.parseArray(flow);
+ list = jsonArray.toJavaList(Map.class);
+ map.replace("flow", list);
+ }
+ }
+
/**
* 工单查询接口 APP用
*/
@@ -181,14 +263,13 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatus)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatus));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus));
}
}
retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime,
handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
Map retMap = new HashMap<>();
@@ -227,7 +308,7 @@
}
retList = alarmJobService.jobListDelayReApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -265,7 +346,7 @@
}
retList = alarmJobService.jobListDelayProApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -294,22 +375,35 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId());
- new AlarmJobWarpper(jobExpList).warp();
+ jobExpList.forEach(this::alarmJobWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(jobExpList)) {
fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx");
} else {
fileInputStream = new FileInputStream(templatePath + "/jobRecTemplate.xlsx");
}
+
try {
+
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "jobOverview.xlsx");
-
Map var = new HashMap<>();
var.put("标题", "工单一览表");
var.put("list", jobExpList);
- ExcelIO.writeTemplate(fileInputStream, httpServletResponse.getOutputStream(), var);
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("工单编号", "jobCode"));
+ dataFieldDefines.add(new DataFieldDefine("工单创建时间", "createTime"));
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("告警时间", "alarmTime"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+ dataFieldDefines.add(new DataFieldDefine("处理人", "handleJobPerson"));
+ dataFieldDefines.add(new DataFieldDefine("处理时间", "handleJobTime"));
+ this.exportExcelMaps(dataFieldDefines, jobExpList, "工单一览表");
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
@@ -361,7 +455,7 @@
@RequestMapping(value = "/transferJob")
@ResponseBody
public Object transferJob(@RequestParam(value = "id", required = true) int id,
- @RequestParam(value = "transferPerson", required = true) String transferPerson) throws JSONException {
+ @RequestParam(value = "transferPerson", required = true) String transferPerson) {
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
@@ -437,8 +531,7 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
List> retList = alarmJobService.jobInfo(id, dataScope, currentUser.getId());
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
return ResponseData.success(retList);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
index 5ec9ed1..a1432fd 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
@@ -1,22 +1,23 @@
package com.casic.missiles.modular.alarm.controller;
-import com.alibaba.fastjson.JSON;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.util.EhcacheConstant;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmLevelService;
import com.casic.missiles.modular.system.model.AlarmLevel;
import com.casic.missiles.modular.system.model.DeptPermission;
+import com.casic.missiles.modular.system.service.IDeptPermissionService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.util.*;
@@ -36,73 +37,74 @@
private IAlarmLevelService alarmLevelService;
@Resource
private AbstractPermissionContext permissionService;
- @Autowired
- private AbstractDeptService deptPermissionService;
+ @Resource
+ private IDeptPermissionService deptPermissionService;
/**
* 获取告警等级列表
*/
@RequestMapping("/levelList")
@ResponseBody
- public Object levelList(Long tenantId){
- List> levelList = new ArrayList<>();
+ public Object levelList(Long tenantId) {
+ List> levelList = new ArrayList<>();
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
DeptPermission deptPermission = deptPermissionService.selectDeptPermission(currUser.getDeptId());
- if(ObjectUtil.isEmpty(deptPermission)){
+ if (ObjectUtil.isEmpty(deptPermission)) {
return levelList;
}
- for(Object deviceType: JSON.parseObject(deptPermission.getDeviceType(), List.class)){
+ for (Object deviceType : JSON.parseObject(deptPermission.getDeviceType(), List.class)) {
String deviceTypeName = EhcacheConstant.retBean().getDeviceTypeNameById(deviceType.toString());
List names = new ArrayList<>();
- if(deviceTypeName.contains("液位")){
+ if (deviceTypeName.contains("液位")) {
names.add("液位");
}
- if(deviceTypeName.contains("有害气体")){
+ if (deviceTypeName.contains("有害气体")) {
names.add("一氧化碳");
names.add("硫化氢");
names.add("甲烷");
names.add("氧气");
}
- if(deviceTypeName.contains("燃气")){
+ if (deviceTypeName.contains("燃气")) {
names.add("燃气");
}
- if(deviceTypeName.contains("温湿度")){
+ if (deviceTypeName.contains("温湿度")) {
names.add("温度");
names.add("湿度");
}
- if(deviceTypeName.contains("开挖")){
+ if (deviceTypeName.contains("开挖")) {
names.add("开挖");
}
- for(String name: names){
+ for (String name : names) {
Map levelMap = new HashMap<>();
- Map level = alarmLevelService.selectByNameAndTenGroup(tenantId,name);
- levelMap.put("name",name);
- levelMap.put("deviceType",deviceType);
- levelMap.put("deviceTypeName",deviceTypeName);
+ Map level = alarmLevelService.selectByNameAndTenGroup(tenantId, name);
+ levelMap.put("name", name);
+ levelMap.put("deviceType", deviceType);
+ levelMap.put("deviceTypeName", deviceTypeName);
- if(ObjectUtil.isEmpty(level.get("openAlarm"))){
- levelMap.put("openAlarm","");
- }else{
- levelMap.put("openAlarm",level.get("openAlarm").toString());
+ if (ObjectUtil.isEmpty(level.get("openAlarm"))) {
+ levelMap.put("openAlarm", "");
+ } else {
+ levelMap.put("openAlarm", level.get("openAlarm").toString());
}
- if(ObjectUtil.isEmpty(level.get("openJob"))){
- levelMap.put("openJob","");
- }else{
- levelMap.put("openJob",level.get("openJob").toString());
+ if (ObjectUtil.isEmpty(level.get("openJob"))) {
+ levelMap.put("openJob", "");
+ } else {
+ levelMap.put("openJob", level.get("openJob").toString());
}
- if(ObjectUtil.isEmpty(level.get("ts"))){
- levelMap.put("ts","");
- }else{
- levelMap.put("ts",level.get("ts").toString());
+ if (ObjectUtil.isEmpty(level.get("ts"))) {
+ levelMap.put("ts", "");
+ } else {
+ levelMap.put("ts", level.get("ts").toString());
}
levelList.add(levelMap);
@@ -116,13 +118,14 @@
*/
@RequestMapping("/levelByType")
@ResponseBody
- public Object levelByType(Long tenantId, String name){
+ public Object levelByType(Long tenantId, String name) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
List levelList = alarmLevelService.selectByNameAndTenList(tenantId, name);
return ResponseData.success(levelList);
@@ -131,22 +134,23 @@
@RequestMapping("/configLevel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object configLevel(@RequestBody List levelList){
+ public Object configLevel(@RequestBody List levelList) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- String userTenantId = currUser.getTenantId(); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ String userTenantId = currUser.getTenantId();
Date currDate = new Date();
- for(AlarmLevel alarmLevel:levelList){
- if(ObjectUtil.isAllEmpty(alarmLevel.getTenantId(),userTenantId)){
+ for (AlarmLevel alarmLevel : levelList) {
+ if (ObjectUtil.isAllEmpty(alarmLevel.getTenantId(), userTenantId)) {
return ResponseData.error("无关联的项目id");
}
Long tenantId = ObjectUtil.isEmpty(alarmLevel.getTenantId()) ? Long.valueOf(userTenantId) : alarmLevel.getTenantId();
- AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId,alarmLevel.getName(),alarmLevel.getLevel());
- if(ObjectUtil.isEmpty(oldAlarmLevel)){
+ AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId, alarmLevel.getName(), alarmLevel.getLevel());
+ if (ObjectUtil.isEmpty(oldAlarmLevel)) {
//insert
alarmLevel.setTenantId(tenantId);
alarmLevel.setTs(currDate);
- alarmLevelService.insert(alarmLevel);
- }else{
+ alarmLevelService.save(alarmLevel);
+ } else {
//update
alarmLevel.setId(oldAlarmLevel.getId());
alarmLevel.setTenantId(tenantId);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
index 67e4b49..51e0d50 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
@@ -1,15 +1,19 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.AlarmRecords;
-import com.casic.missiles.modular.system.warpper.AlarmRecordWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -17,13 +21,13 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.collection.CollectionUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -36,7 +40,7 @@
*/
@Controller
@RequestMapping("/alarm")
-public class AlarmRecordsController extends BaseController {
+public class AlarmRecordsController extends ExportController {
@Autowired
@@ -44,13 +48,13 @@
@Resource
private AbstractPermissionContext iCommonPermissionService;
@Value("${smartcity.office.maxRowsExcel}")
- private int maxRowsExcel;
+ private int maxRowsExcel;
@Value("${smartcity.config.config-path}")
private String templatePath;
@Value("${smartcity.adminRoleName}")
- private String sAdmin;
+ private String sAdmin;
@Value("${smartcity.opRoleName}")
- private String sOperator;
+ private String sOperator;
/**
* 获取分页列表
@@ -62,7 +66,7 @@
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
@@ -73,28 +77,87 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> retList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
-
-
- new AlarmRecordWarpper(retList).warp();
+ List> retList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ retList.forEach(this::alarmRecordWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmRecordWrapper(Map map) {
+ // 设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (null == staffstr) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 告警状态
+ String statusStr = map.get("status").toString();
+ map.put("statusName", EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr, "alarmStatus"));
+
+ // 工单状态
+ if (ObjectUtil.isNotEmpty(map.get("jobStatus"))) {
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+ }
+ }
@RequestMapping(value = "/export")
- public void exportAlarm(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) throws IOException {
+ public void exportAlarm(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
Page> page = PageFactory.defaultPage();
- page.setMaxLimit((long)maxRowsExcel);
+ page.setMaxLimit((long) maxRowsExcel);
page.setSize(maxRowsExcel);
page.offset();
page.setSearchCount(false);
@@ -104,25 +167,36 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> alarmExpList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
- new AlarmRecordWarpper(alarmExpList).warp();
-
+ List> alarmExpList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ alarmExpList.forEach(this::alarmRecordWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(alarmExpList)) {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecEmpty.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecEmpty.xlsx");
} else {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecTemplate.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecTemplate.xlsx");
}
try {
httpServletResponse.setContentType("application/octet-stream");
- httpServletResponse.addHeader("Content-Disposition", " attachment;filename="+"alarmOverview.xlsx" );
+ httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "alarmOverview.xlsx");
- Map var = new HashMap<>();
- var.put("标题","报警一览表");
- var.put("list",alarmExpList);
- ExcelIO.writeTemplate(fileInputStream,httpServletResponse.getOutputStream(),var);
+ Map var = new HashMap<>();
+ var.put("标题", "报警一览表");
+ var.put("list", alarmExpList);
+
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("设备编号", "devcode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmTypeName"));
+ dataFieldDefines.add(new DataFieldDefine("告警原因", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("权属单位", "deptName"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+
+ this.exportExcelMaps(dataFieldDefines, alarmExpList, "报警一览表");
} catch (IOException e) {
e.printStackTrace();
@@ -132,7 +206,8 @@
httpServletResponse.getOutputStream().flush();
httpServletResponse.getOutputStream().close();
fileInputStream.close();
- };
+ }
+ ;
}
@@ -141,15 +216,15 @@
*/
@RequestMapping(value = "/cancelAlarm")
@ResponseBody
- public Object cancelAlarm(@RequestParam(value = "id",required = true) int id, //jobId
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object cancelAlarm(@RequestParam(value = "id", required = true) int id, //jobId
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- boolean isCancel = alarmRecordsService.cancelAlarm(id,jobStatus,handleMessage,currentUser.getId());
- if(isCancel){
+ boolean isCancel = alarmRecordsService.cancelAlarm(id, jobStatus, handleMessage, currentUser.getId());
+ if (isCancel) {
return ResponseData.success();
- }else {
+ } else {
return ResponseData.error("failure");
}
}
@@ -160,22 +235,22 @@
@RequestMapping(value = "/batchCancel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object batchCancel(@RequestParam(value = "keywords",required = false) String keywords,
- @RequestParam(value = "alarmType",required = false) String alarmType,
- @RequestParam(value = "alarmContent",required = false) String alarmContent,
- @RequestParam(value = "beginTime",required = false) String beginTime,
- @RequestParam(value = "endTime",required = false) String endTime,
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object batchCancel(@RequestParam(value = "keywords", required = false) String keywords,
+ @RequestParam(value = "alarmType", required = false) String alarmType,
+ @RequestParam(value = "alarmContent", required = false) String alarmContent,
+ @RequestParam(value = "beginTime", required = false) String beginTime,
+ @RequestParam(value = "endTime", required = false) String endTime,
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
//根据查询条件查询alarm_record记录
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope,keywords,alarmType,alarmContent,beginTime,endTime);
+ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime);
//根据jobId调用closeJob
for (AlarmRecords alarmRecord : alarmRecords) {
- alarmRecordsService.cancelAlarm(alarmRecord.getJobId(),jobStatus,handleMessage,currentUser.getId());
+ alarmRecordsService.cancelAlarm(alarmRecord.getJobId(), jobStatus, handleMessage, currentUser.getId());
}
return ResponseData.success();
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
index 7a645dd..3b39aeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
@@ -1,21 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRuleService;
import com.casic.missiles.modular.system.dto.AlarmRuleDTO;
-import com.casic.missiles.modular.system.warpper.AlarmRuleWarpper;
+import com.casic.missiles.modular.system.service.IDeviceRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.util.StrUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -54,8 +54,9 @@
public Map list(String keywords, HttpServletRequest httpServletRequest) {
String deviceType = httpServletRequest.getParameter("deviceType");
- if (StrUtil.isEmpty(deviceType))
+ if (StrUtil.isEmpty(deviceType)) {
deviceType = "";
+ }
Page> page = PageFactory.defaultPage();
Map retMap = new HashMap<>();
boolean bSessionValid = false;
@@ -66,9 +67,10 @@
return retMap;
}
List> retList = new ArrayList<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
retList = alarmRuleService.ruleListViaParam(page, keywords, deviceType, dataScope);
- new AlarmRuleWarpper(retList).warp();
+ retList.stream().forEach(this::alarmRuleWrapper);
page.setRecords(retList);
retMap.put("code", 200);
retMap.put("message", "success");
@@ -76,11 +78,19 @@
return retMap;
}
+ private void alarmRuleWrapper(Map map) {
+ String deviceType = map.get("deviceType").toString();
+ long deptid = Long.parseLong(map.get("deptid").toString());
+ map.put("deviceTypeName", EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ }
+
@RequestMapping(value = "/update")
@ResponseBody
public Map updateRule(@RequestParam(value = "id", required = true) int id, HttpServletRequest httpServletRequest) {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
if (super.getSession().getAttribute("sessionFlag") == null) {
retMap.put("code", 505);
retMap.put("message", "sessionExpired");
@@ -90,10 +100,12 @@
String sLow = httpServletRequest.getParameter("lowValue");
float highValue = 99999;
float lowValue = -99999;
- if (StrUtil.isNotEmpty(sHigh))
+ if (StrUtil.isNotEmpty(sHigh)) {
highValue = Float.parseFloat(sHigh);
- if (StrUtil.isNotEmpty(sLow))
+ }
+ if (StrUtil.isNotEmpty(sLow)) {
lowValue = Float.parseFloat(sLow);
+ }
if (alarmRuleService.updateRule(id, highValue, lowValue)) {
retMap.put("code", 200);
@@ -138,7 +150,7 @@
@RequestMapping(value = "/delete")
@ResponseBody
public Object delete(@RequestParam Integer id) {
- alarmRuleService.deleteById(id);
+ alarmRuleService.removeById(id);
return ResponseData.success();
}
@@ -151,8 +163,9 @@
public Map getNoAlarmDevice() {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
- List alarmRuleList= alarmRuleService.getNoAlarmDevice(dataScope);
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
+ List alarmRuleList = alarmRuleService.getNoAlarmDevice(dataScope);
retMap.put("code", 200);
retMap.put("message", "success");
retMap.put("data", alarmRuleList);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
new file mode 100644
index 0000000..a749516
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
@@ -0,0 +1,109 @@
+package com.casic.missiles.modular.alarm.job;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.modular.alarm.service.IAlarmJobService;
+import com.casic.missiles.modular.system.model.AlarmJob;
+import com.casic.missiles.modular.system.util.PushList;
+import com.casic.missiles.modular.system.util.WebSocket;
+import com.casic.missiles.quartz.service.IQuartzManager;
+import com.gexin.rp.sdk.base.IPushResult;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.support.AbstractApplicationContext;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class DelayJob implements Job {
+
+ private static final Logger logger = LoggerFactory.getLogger(DelayJob.class);
+
+ private Integer jobId;
+ private IAlarmJobService iAlarmJobService;
+ private AbstractApplicationContext iCommonUserService;
+ private IQuartzManager iQuartzManager;
+ private WebSocket webSocket;
+
+ public void setJobId(Integer jobId) {
+ this.jobId = jobId;
+ }
+
+ public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
+ this.iAlarmJobService = iAlarmJobService;
+ }
+
+ public void setICommonUserService(AbstractApplicationContext iCommonUserService) {
+ this.iCommonUserService = iCommonUserService;
+ }
+
+ public void setIQuartzManager(IQuartzManager iQuartzManager) {
+ this.iQuartzManager = iQuartzManager;
+ }
+
+ public void setWebSocket(WebSocket webSocket) {
+ this.webSocket = webSocket;
+ }
+
+ @Override
+ public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+
+ //业务逻辑
+ SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
+ System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
+ getJobDelay(jobId);
+ }
+
+ private void getJobDelay(Integer id) {
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if (!"3".equals(alarmJob.getJobStatus()) && !"4".equals(alarmJob.getJobStatus())) {
+ // 超时未处理 // 延时标签
+ alarmJob.setJobFlagDelay("2");
+ // 延时记录
+ String jobFlag = alarmJob.getJobFlag1();
+ if (StrUtil.isNotEmpty(jobFlag)) {
+ jobFlag += ",2";
+ } else {
+ jobFlag = "2";
+ }
+ alarmJob.setJobFlag1(jobFlag);
+ iAlarmJobService.updateById(alarmJob); // 更新记录
+ // APP推送
+ Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
+ String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
+ List clientIds = new ArrayList<>();
+ if (StrUtil.isNotEmpty(clientId)) {
+ clientIds.add(clientId);
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未处理");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未处理工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
+ }
+ } else {
+ logger.info("超时未处理工单找不到责任人,未推送:" + id.toString());
+ }
+ // PC推送,推给信息办
+ //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+// EntityWrapper wrapper = new EntityWrapper();
+// wrapper.eq("DEPTID","1178242562491285506");
+// List userList = iCommonUserService.selectUsersList(wrapper,null);
+// List userIds = new ArrayList<>();
+// for (User user : userList) {
+// userIds.add(user.getId().toString());
+// }
+// Map map = new HashMap();
+// map.put("message","有新的超时未处理工单");
+// map.put("type","overtimeHandle");
+// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
+ }
+ String jobName = "getJobDelay" + id;
+ iQuartzManager.removeJob(jobName);
+ }
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
index ba9f439..9d72902 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
@@ -1,10 +1,10 @@
package com.casic.missiles.modular.alarm.job;
-import com.casic.missiles.core.common.service.ICommonUserService;
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.modular.system.dto.UserClientView;
import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -15,19 +15,20 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
@Component
-public class HandleAlarmJob implements Job{
+public class HandleAlarmJob implements Job {
private static final Logger logger = LoggerFactory.getLogger(HandleAlarmJob.class);
private Integer jobId;
private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
+ private AbstractPermissionContext iCommonUserService;
private IQuartzManager iQuartzManager;
private WebSocket webSocket;
private List userClientViewList;
@@ -40,7 +41,7 @@
this.iAlarmJobService = iAlarmJobService;
}
- public void setICommonUserService(ICommonUserService iCommonUserService) {
+ public void setICommonUserService(AbstractPermissionContext iCommonUserService) {
this.iCommonUserService = iCommonUserService;
}
@@ -62,29 +63,29 @@
}
private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if("0".equals(alarmJob.getJobStatus())){
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if ("0".equals(alarmJob.getJobStatus())) {
// 超时未接收
alarmJob.setJobFlagDelay("1"); // 延时标签
alarmJob.setJobFlag1("1");
iAlarmJobService.updateById(alarmJob); // 更新记录
// APP推送 推给井盖所属权属单位
List clientIds = new ArrayList<>();
- for(UserClientView userClientView:userClientViewList){
- if(StrUtil.isNotEmpty(userClientView.getClientid())){
+ for (UserClientView userClientView : userClientViewList) {
+ if (StrUtil.isNotEmpty(userClientView.getClientid())) {
clientIds.add(userClientView.getClientid());
}
}
- if(clientIds.size()>0){
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未接收");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未接收工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
+ if (clientIds.size() > 0) {
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未接收");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未接收工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
}
- }else{
- logger.info("超时未接收工单找不到责任人,未推送:"+id.toString());
+ } else {
+ logger.info("超时未接收工单找不到责任人,未推送:" + id.toString());
}
// PC推送,推给信息办
// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
deleted file mode 100644
index 46eeda9..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package com.casic.missiles.modular.alarm.job;
-
-import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.util.PushList;
-import com.casic.missiles.modular.system.util.WebSocket;
-import com.casic.missiles.quartz.service.IQuartzManager;
-import com.gexin.rp.sdk.base.IPushResult;
-import com.google.gson.GsonBuilder;
-import org.quartz.Job;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
-
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-@Component
-public class getDelayJob implements Job {
-
- private static final Logger logger = LoggerFactory.getLogger(getDelayJob.class);
-
- private Integer jobId;
- private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
- private IQuartzManager iQuartzManager;
- private WebSocket webSocket;
-
- public void setJobId(Integer jobId) {
- this.jobId = jobId;
- }
-
- public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
- this.iAlarmJobService = iAlarmJobService;
- }
-
- public void setICommonUserService(ICommonUserService iCommonUserService) {
- this.iCommonUserService = iCommonUserService;
- }
-
- public void setIQuartzManager(IQuartzManager iQuartzManager) {
- this.iQuartzManager = iQuartzManager;
- }
-
- public void setWebSocket(WebSocket webSocket) {
- this.webSocket = webSocket;
- }
-
- @Override
- public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-
- //业务逻辑
- SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
- System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
- getJobDelay(jobId);
- }
-
- private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if(!"3".equals(alarmJob.getJobStatus()) &&!"4".equals(alarmJob.getJobStatus())){
- // 超时未处理
- alarmJob.setJobFlagDelay("2"); // 延时标签
- String jobFlag = alarmJob.getJobFlag1(); // 延时记录
- if(StrUtil.isNotEmpty(jobFlag)){
- jobFlag += ",2";
- }else{
- jobFlag = "2";
- }
- alarmJob.setJobFlag1(jobFlag);
- iAlarmJobService.updateById(alarmJob); // 更新记录
- // APP推送
- Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
- String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
- List clientIds = new ArrayList<>();
- if(StrUtil.isNotEmpty(clientId)){
- clientIds.add(clientId);
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未处理");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未处理工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
- }
- }else{
- logger.info("超时未处理工单找不到责任人,未推送:"+id.toString());
- }
- // PC推送,推给信息办
- //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
-// EntityWrapper wrapper = new EntityWrapper();
-// wrapper.eq("DEPTID","1178242562491285506");
-// List userList = iCommonUserService.selectUsersList(wrapper,null);
-// List userIds = new ArrayList<>();
-// for (User user : userList) {
-// userIds.add(user.getId().toString());
-// }
-// Map map = new HashMap();
-// map.put("message","有新的超时未处理工单");
-// map.put("type","overtimeHandle");
-// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
- }
- String jobName = "getJobDelay" + id;
- iQuartzManager.removeJob(jobName);
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
index d9ca2a1..450b861 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
@@ -1,11 +1,13 @@
package com.casic.missiles.modular.alarm.service.impl;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.enums.UserQueryEnum;
import com.casic.missiles.modular.alarm.job.HandleAlarmJob;
-import com.casic.missiles.modular.alarm.job.getDelayJob;
+import com.casic.missiles.modular.alarm.job.DelayJob;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.util.EhcacheConstant;
@@ -16,7 +18,7 @@
import com.casic.missiles.modular.system.model.AlarmJob;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -31,7 +33,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
-import cn.hutool.core.util.ObjectUtil;
+
import cn.hutool.core.util.StrUtil;
/**
@@ -68,7 +70,8 @@
@Resource
private IQuartzManager quartzManager;
- @Autowired IBusWellInfoService busWellInfoService;
+ @Resource
+ private IBusWellInfoSupportService busWellInfoService;
@Override
public List> jobList(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, DataScope dataScope,Long userId) {
@@ -177,7 +180,7 @@
map.put("iCommonUserService",iCommonUserService);
map.put("iQuartzManager",quartzManager);
map.put("webSocket",webSocket);
- quartzManager.addJob(jobName,getDelayJob.class,shouldHandleTime,map);
+ quartzManager.addJob(jobName, DelayJob.class,shouldHandleTime,map);
}
return this.baseMapper.getJob(id,personId,getTime,shouldHandleTime);
@@ -228,7 +231,7 @@
@Override
public boolean checkJobStatus(String jobStatus) {
- if(ToolUtil.isEmpty(jobStatus)){
+ if(StrUtil.isEmpty(jobStatus)){
return false;
}else{
return "1".equals(jobStatus) || "2".equals(jobStatus) || "3".equals(jobStatus);
@@ -283,7 +286,7 @@
public void updateSinkJob(String id, String msg,String wellCode) {
List userClientViewList = new ArrayList<>();
List selectDtoList = selectRoles();
- EntityWrapper busWellInfoEntityWrapper = new EntityWrapper<>();
+ QueryWrapper busWellInfoEntityWrapper = new QueryWrapper<>();
busWellInfoEntityWrapper.eq("WELL_CODE",wellCode);
BusWellInfo busWellInfo = busWellInfoService.selectOne(busWellInfoEntityWrapper);
if(busWellInfo!=null&&StrUtil.isNotEmpty(busWellInfo.getDeptid())){
@@ -338,10 +341,10 @@
logger.info("告警消息app端找不到责任人,未推送:" + msg);
}
// PC推送,推给信息办
-// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
- EntityWrapper wrapper = new EntityWrapper();
- wrapper.eq("DEPTID", "1178242562491285506");
- List userList = iCommonUserService.selectUsersList(wrapper, null);
+ // List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+ QueryWrapper wrapper = new QueryWrapper();
+ wrapper.eq(UserQueryEnum.DEPT_ID, "1178242562491285506");
+ List userList = iCommonUserService.getUserService().list(wrapper);
for (User user : userList) {
userIds.add(user.getId().toString());
}
diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml
index 95d7f58..88f7dc3 100644
--- a/casic-alarm/pom.xml
+++ b/casic-alarm/pom.xml
@@ -28,21 +28,36 @@
${admin.version}
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java b/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
deleted file mode 100644
index 460d4db..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * SpringBoot方式启动类
- *
- * @author lwh
- * @Date 2021/06/06 12:06
- */
-@SpringBootApplication
-@EnableCaching
-@EnableScheduling
-@EnableTransactionManagement(proxyTargetClass = true)
-@EnableAsync
-@ServletComponentScan
-@Slf4j
-public class CasicApplication {
- public static void main(String[] args) {
- SpringApplication.run(CasicApplication.class, args);
- log.info("CasicApplication is success!");
- }
-
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
index ef473af..6a426fa 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
@@ -1,19 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.alarm.service.ISysDictService;
-import com.casic.missiles.modular.system.warpper.AlarmJobWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -29,7 +31,10 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
@@ -40,7 +45,7 @@
*/
@Controller
@RequestMapping("/job")
-public class AlarmJobController extends BaseController {
+public class AlarmJobController extends ExportController {
@Autowired
@@ -146,16 +151,93 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatusStr)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatusStr));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatusStr));
}
}
retList = alarmJobService.jobListApp(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmJobWrapper(Map map) {
+ // 设置人员姓名
+ for (String key : map.keySet()) {
+ if (key.contains("JobPerson") || key.contains("jobBelongTo")) {
+ Object object = map.get(key);
+ if (object != null) {
+ String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
+ map.replace(key, newVal);
+ }
+ }
+ }
+
+ //设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (ObjectUtil.isEmpty(staffstr)) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 工单状态
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 流转记录(工单详情用)
+ if (map.containsKey("flow")) {
+ String flow = (String) map.get("flow");
+ flow = "[" + flow.replaceFirst(",", "") + "]";
+ List list = new ArrayList<>();
+ JSONArray jsonArray = JSONArray.parseArray(flow);
+ list = jsonArray.toJavaList(Map.class);
+ map.replace("flow", list);
+ }
+ }
+
/**
* 工单查询接口 APP用
*/
@@ -181,14 +263,13 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatus)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatus));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus));
}
}
retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime,
handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
Map retMap = new HashMap<>();
@@ -227,7 +308,7 @@
}
retList = alarmJobService.jobListDelayReApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -265,7 +346,7 @@
}
retList = alarmJobService.jobListDelayProApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -294,22 +375,35 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId());
- new AlarmJobWarpper(jobExpList).warp();
+ jobExpList.forEach(this::alarmJobWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(jobExpList)) {
fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx");
} else {
fileInputStream = new FileInputStream(templatePath + "/jobRecTemplate.xlsx");
}
+
try {
+
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "jobOverview.xlsx");
-
Map var = new HashMap<>();
var.put("标题", "工单一览表");
var.put("list", jobExpList);
- ExcelIO.writeTemplate(fileInputStream, httpServletResponse.getOutputStream(), var);
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("工单编号", "jobCode"));
+ dataFieldDefines.add(new DataFieldDefine("工单创建时间", "createTime"));
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("告警时间", "alarmTime"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+ dataFieldDefines.add(new DataFieldDefine("处理人", "handleJobPerson"));
+ dataFieldDefines.add(new DataFieldDefine("处理时间", "handleJobTime"));
+ this.exportExcelMaps(dataFieldDefines, jobExpList, "工单一览表");
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
@@ -361,7 +455,7 @@
@RequestMapping(value = "/transferJob")
@ResponseBody
public Object transferJob(@RequestParam(value = "id", required = true) int id,
- @RequestParam(value = "transferPerson", required = true) String transferPerson) throws JSONException {
+ @RequestParam(value = "transferPerson", required = true) String transferPerson) {
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
@@ -437,8 +531,7 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
List> retList = alarmJobService.jobInfo(id, dataScope, currentUser.getId());
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
return ResponseData.success(retList);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
index 5ec9ed1..a1432fd 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
@@ -1,22 +1,23 @@
package com.casic.missiles.modular.alarm.controller;
-import com.alibaba.fastjson.JSON;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.util.EhcacheConstant;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmLevelService;
import com.casic.missiles.modular.system.model.AlarmLevel;
import com.casic.missiles.modular.system.model.DeptPermission;
+import com.casic.missiles.modular.system.service.IDeptPermissionService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.util.*;
@@ -36,73 +37,74 @@
private IAlarmLevelService alarmLevelService;
@Resource
private AbstractPermissionContext permissionService;
- @Autowired
- private AbstractDeptService deptPermissionService;
+ @Resource
+ private IDeptPermissionService deptPermissionService;
/**
* 获取告警等级列表
*/
@RequestMapping("/levelList")
@ResponseBody
- public Object levelList(Long tenantId){
- List> levelList = new ArrayList<>();
+ public Object levelList(Long tenantId) {
+ List> levelList = new ArrayList<>();
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
DeptPermission deptPermission = deptPermissionService.selectDeptPermission(currUser.getDeptId());
- if(ObjectUtil.isEmpty(deptPermission)){
+ if (ObjectUtil.isEmpty(deptPermission)) {
return levelList;
}
- for(Object deviceType: JSON.parseObject(deptPermission.getDeviceType(), List.class)){
+ for (Object deviceType : JSON.parseObject(deptPermission.getDeviceType(), List.class)) {
String deviceTypeName = EhcacheConstant.retBean().getDeviceTypeNameById(deviceType.toString());
List names = new ArrayList<>();
- if(deviceTypeName.contains("液位")){
+ if (deviceTypeName.contains("液位")) {
names.add("液位");
}
- if(deviceTypeName.contains("有害气体")){
+ if (deviceTypeName.contains("有害气体")) {
names.add("一氧化碳");
names.add("硫化氢");
names.add("甲烷");
names.add("氧气");
}
- if(deviceTypeName.contains("燃气")){
+ if (deviceTypeName.contains("燃气")) {
names.add("燃气");
}
- if(deviceTypeName.contains("温湿度")){
+ if (deviceTypeName.contains("温湿度")) {
names.add("温度");
names.add("湿度");
}
- if(deviceTypeName.contains("开挖")){
+ if (deviceTypeName.contains("开挖")) {
names.add("开挖");
}
- for(String name: names){
+ for (String name : names) {
Map levelMap = new HashMap<>();
- Map level = alarmLevelService.selectByNameAndTenGroup(tenantId,name);
- levelMap.put("name",name);
- levelMap.put("deviceType",deviceType);
- levelMap.put("deviceTypeName",deviceTypeName);
+ Map level = alarmLevelService.selectByNameAndTenGroup(tenantId, name);
+ levelMap.put("name", name);
+ levelMap.put("deviceType", deviceType);
+ levelMap.put("deviceTypeName", deviceTypeName);
- if(ObjectUtil.isEmpty(level.get("openAlarm"))){
- levelMap.put("openAlarm","");
- }else{
- levelMap.put("openAlarm",level.get("openAlarm").toString());
+ if (ObjectUtil.isEmpty(level.get("openAlarm"))) {
+ levelMap.put("openAlarm", "");
+ } else {
+ levelMap.put("openAlarm", level.get("openAlarm").toString());
}
- if(ObjectUtil.isEmpty(level.get("openJob"))){
- levelMap.put("openJob","");
- }else{
- levelMap.put("openJob",level.get("openJob").toString());
+ if (ObjectUtil.isEmpty(level.get("openJob"))) {
+ levelMap.put("openJob", "");
+ } else {
+ levelMap.put("openJob", level.get("openJob").toString());
}
- if(ObjectUtil.isEmpty(level.get("ts"))){
- levelMap.put("ts","");
- }else{
- levelMap.put("ts",level.get("ts").toString());
+ if (ObjectUtil.isEmpty(level.get("ts"))) {
+ levelMap.put("ts", "");
+ } else {
+ levelMap.put("ts", level.get("ts").toString());
}
levelList.add(levelMap);
@@ -116,13 +118,14 @@
*/
@RequestMapping("/levelByType")
@ResponseBody
- public Object levelByType(Long tenantId, String name){
+ public Object levelByType(Long tenantId, String name) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
List levelList = alarmLevelService.selectByNameAndTenList(tenantId, name);
return ResponseData.success(levelList);
@@ -131,22 +134,23 @@
@RequestMapping("/configLevel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object configLevel(@RequestBody List levelList){
+ public Object configLevel(@RequestBody List levelList) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- String userTenantId = currUser.getTenantId(); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ String userTenantId = currUser.getTenantId();
Date currDate = new Date();
- for(AlarmLevel alarmLevel:levelList){
- if(ObjectUtil.isAllEmpty(alarmLevel.getTenantId(),userTenantId)){
+ for (AlarmLevel alarmLevel : levelList) {
+ if (ObjectUtil.isAllEmpty(alarmLevel.getTenantId(), userTenantId)) {
return ResponseData.error("无关联的项目id");
}
Long tenantId = ObjectUtil.isEmpty(alarmLevel.getTenantId()) ? Long.valueOf(userTenantId) : alarmLevel.getTenantId();
- AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId,alarmLevel.getName(),alarmLevel.getLevel());
- if(ObjectUtil.isEmpty(oldAlarmLevel)){
+ AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId, alarmLevel.getName(), alarmLevel.getLevel());
+ if (ObjectUtil.isEmpty(oldAlarmLevel)) {
//insert
alarmLevel.setTenantId(tenantId);
alarmLevel.setTs(currDate);
- alarmLevelService.insert(alarmLevel);
- }else{
+ alarmLevelService.save(alarmLevel);
+ } else {
//update
alarmLevel.setId(oldAlarmLevel.getId());
alarmLevel.setTenantId(tenantId);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
index 67e4b49..51e0d50 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
@@ -1,15 +1,19 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.AlarmRecords;
-import com.casic.missiles.modular.system.warpper.AlarmRecordWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -17,13 +21,13 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.collection.CollectionUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -36,7 +40,7 @@
*/
@Controller
@RequestMapping("/alarm")
-public class AlarmRecordsController extends BaseController {
+public class AlarmRecordsController extends ExportController {
@Autowired
@@ -44,13 +48,13 @@
@Resource
private AbstractPermissionContext iCommonPermissionService;
@Value("${smartcity.office.maxRowsExcel}")
- private int maxRowsExcel;
+ private int maxRowsExcel;
@Value("${smartcity.config.config-path}")
private String templatePath;
@Value("${smartcity.adminRoleName}")
- private String sAdmin;
+ private String sAdmin;
@Value("${smartcity.opRoleName}")
- private String sOperator;
+ private String sOperator;
/**
* 获取分页列表
@@ -62,7 +66,7 @@
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
@@ -73,28 +77,87 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> retList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
-
-
- new AlarmRecordWarpper(retList).warp();
+ List> retList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ retList.forEach(this::alarmRecordWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmRecordWrapper(Map map) {
+ // 设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (null == staffstr) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 告警状态
+ String statusStr = map.get("status").toString();
+ map.put("statusName", EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr, "alarmStatus"));
+
+ // 工单状态
+ if (ObjectUtil.isNotEmpty(map.get("jobStatus"))) {
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+ }
+ }
@RequestMapping(value = "/export")
- public void exportAlarm(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) throws IOException {
+ public void exportAlarm(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
Page> page = PageFactory.defaultPage();
- page.setMaxLimit((long)maxRowsExcel);
+ page.setMaxLimit((long) maxRowsExcel);
page.setSize(maxRowsExcel);
page.offset();
page.setSearchCount(false);
@@ -104,25 +167,36 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> alarmExpList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
- new AlarmRecordWarpper(alarmExpList).warp();
-
+ List> alarmExpList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ alarmExpList.forEach(this::alarmRecordWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(alarmExpList)) {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecEmpty.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecEmpty.xlsx");
} else {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecTemplate.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecTemplate.xlsx");
}
try {
httpServletResponse.setContentType("application/octet-stream");
- httpServletResponse.addHeader("Content-Disposition", " attachment;filename="+"alarmOverview.xlsx" );
+ httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "alarmOverview.xlsx");
- Map var = new HashMap<>();
- var.put("标题","报警一览表");
- var.put("list",alarmExpList);
- ExcelIO.writeTemplate(fileInputStream,httpServletResponse.getOutputStream(),var);
+ Map var = new HashMap<>();
+ var.put("标题", "报警一览表");
+ var.put("list", alarmExpList);
+
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("设备编号", "devcode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmTypeName"));
+ dataFieldDefines.add(new DataFieldDefine("告警原因", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("权属单位", "deptName"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+
+ this.exportExcelMaps(dataFieldDefines, alarmExpList, "报警一览表");
} catch (IOException e) {
e.printStackTrace();
@@ -132,7 +206,8 @@
httpServletResponse.getOutputStream().flush();
httpServletResponse.getOutputStream().close();
fileInputStream.close();
- };
+ }
+ ;
}
@@ -141,15 +216,15 @@
*/
@RequestMapping(value = "/cancelAlarm")
@ResponseBody
- public Object cancelAlarm(@RequestParam(value = "id",required = true) int id, //jobId
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object cancelAlarm(@RequestParam(value = "id", required = true) int id, //jobId
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- boolean isCancel = alarmRecordsService.cancelAlarm(id,jobStatus,handleMessage,currentUser.getId());
- if(isCancel){
+ boolean isCancel = alarmRecordsService.cancelAlarm(id, jobStatus, handleMessage, currentUser.getId());
+ if (isCancel) {
return ResponseData.success();
- }else {
+ } else {
return ResponseData.error("failure");
}
}
@@ -160,22 +235,22 @@
@RequestMapping(value = "/batchCancel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object batchCancel(@RequestParam(value = "keywords",required = false) String keywords,
- @RequestParam(value = "alarmType",required = false) String alarmType,
- @RequestParam(value = "alarmContent",required = false) String alarmContent,
- @RequestParam(value = "beginTime",required = false) String beginTime,
- @RequestParam(value = "endTime",required = false) String endTime,
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object batchCancel(@RequestParam(value = "keywords", required = false) String keywords,
+ @RequestParam(value = "alarmType", required = false) String alarmType,
+ @RequestParam(value = "alarmContent", required = false) String alarmContent,
+ @RequestParam(value = "beginTime", required = false) String beginTime,
+ @RequestParam(value = "endTime", required = false) String endTime,
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
//根据查询条件查询alarm_record记录
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope,keywords,alarmType,alarmContent,beginTime,endTime);
+ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime);
//根据jobId调用closeJob
for (AlarmRecords alarmRecord : alarmRecords) {
- alarmRecordsService.cancelAlarm(alarmRecord.getJobId(),jobStatus,handleMessage,currentUser.getId());
+ alarmRecordsService.cancelAlarm(alarmRecord.getJobId(), jobStatus, handleMessage, currentUser.getId());
}
return ResponseData.success();
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
index 7a645dd..3b39aeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
@@ -1,21 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRuleService;
import com.casic.missiles.modular.system.dto.AlarmRuleDTO;
-import com.casic.missiles.modular.system.warpper.AlarmRuleWarpper;
+import com.casic.missiles.modular.system.service.IDeviceRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.util.StrUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -54,8 +54,9 @@
public Map list(String keywords, HttpServletRequest httpServletRequest) {
String deviceType = httpServletRequest.getParameter("deviceType");
- if (StrUtil.isEmpty(deviceType))
+ if (StrUtil.isEmpty(deviceType)) {
deviceType = "";
+ }
Page> page = PageFactory.defaultPage();
Map retMap = new HashMap<>();
boolean bSessionValid = false;
@@ -66,9 +67,10 @@
return retMap;
}
List> retList = new ArrayList<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
retList = alarmRuleService.ruleListViaParam(page, keywords, deviceType, dataScope);
- new AlarmRuleWarpper(retList).warp();
+ retList.stream().forEach(this::alarmRuleWrapper);
page.setRecords(retList);
retMap.put("code", 200);
retMap.put("message", "success");
@@ -76,11 +78,19 @@
return retMap;
}
+ private void alarmRuleWrapper(Map map) {
+ String deviceType = map.get("deviceType").toString();
+ long deptid = Long.parseLong(map.get("deptid").toString());
+ map.put("deviceTypeName", EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ }
+
@RequestMapping(value = "/update")
@ResponseBody
public Map updateRule(@RequestParam(value = "id", required = true) int id, HttpServletRequest httpServletRequest) {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
if (super.getSession().getAttribute("sessionFlag") == null) {
retMap.put("code", 505);
retMap.put("message", "sessionExpired");
@@ -90,10 +100,12 @@
String sLow = httpServletRequest.getParameter("lowValue");
float highValue = 99999;
float lowValue = -99999;
- if (StrUtil.isNotEmpty(sHigh))
+ if (StrUtil.isNotEmpty(sHigh)) {
highValue = Float.parseFloat(sHigh);
- if (StrUtil.isNotEmpty(sLow))
+ }
+ if (StrUtil.isNotEmpty(sLow)) {
lowValue = Float.parseFloat(sLow);
+ }
if (alarmRuleService.updateRule(id, highValue, lowValue)) {
retMap.put("code", 200);
@@ -138,7 +150,7 @@
@RequestMapping(value = "/delete")
@ResponseBody
public Object delete(@RequestParam Integer id) {
- alarmRuleService.deleteById(id);
+ alarmRuleService.removeById(id);
return ResponseData.success();
}
@@ -151,8 +163,9 @@
public Map getNoAlarmDevice() {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
- List alarmRuleList= alarmRuleService.getNoAlarmDevice(dataScope);
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
+ List alarmRuleList = alarmRuleService.getNoAlarmDevice(dataScope);
retMap.put("code", 200);
retMap.put("message", "success");
retMap.put("data", alarmRuleList);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
new file mode 100644
index 0000000..a749516
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
@@ -0,0 +1,109 @@
+package com.casic.missiles.modular.alarm.job;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.modular.alarm.service.IAlarmJobService;
+import com.casic.missiles.modular.system.model.AlarmJob;
+import com.casic.missiles.modular.system.util.PushList;
+import com.casic.missiles.modular.system.util.WebSocket;
+import com.casic.missiles.quartz.service.IQuartzManager;
+import com.gexin.rp.sdk.base.IPushResult;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.support.AbstractApplicationContext;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class DelayJob implements Job {
+
+ private static final Logger logger = LoggerFactory.getLogger(DelayJob.class);
+
+ private Integer jobId;
+ private IAlarmJobService iAlarmJobService;
+ private AbstractApplicationContext iCommonUserService;
+ private IQuartzManager iQuartzManager;
+ private WebSocket webSocket;
+
+ public void setJobId(Integer jobId) {
+ this.jobId = jobId;
+ }
+
+ public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
+ this.iAlarmJobService = iAlarmJobService;
+ }
+
+ public void setICommonUserService(AbstractApplicationContext iCommonUserService) {
+ this.iCommonUserService = iCommonUserService;
+ }
+
+ public void setIQuartzManager(IQuartzManager iQuartzManager) {
+ this.iQuartzManager = iQuartzManager;
+ }
+
+ public void setWebSocket(WebSocket webSocket) {
+ this.webSocket = webSocket;
+ }
+
+ @Override
+ public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+
+ //业务逻辑
+ SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
+ System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
+ getJobDelay(jobId);
+ }
+
+ private void getJobDelay(Integer id) {
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if (!"3".equals(alarmJob.getJobStatus()) && !"4".equals(alarmJob.getJobStatus())) {
+ // 超时未处理 // 延时标签
+ alarmJob.setJobFlagDelay("2");
+ // 延时记录
+ String jobFlag = alarmJob.getJobFlag1();
+ if (StrUtil.isNotEmpty(jobFlag)) {
+ jobFlag += ",2";
+ } else {
+ jobFlag = "2";
+ }
+ alarmJob.setJobFlag1(jobFlag);
+ iAlarmJobService.updateById(alarmJob); // 更新记录
+ // APP推送
+ Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
+ String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
+ List clientIds = new ArrayList<>();
+ if (StrUtil.isNotEmpty(clientId)) {
+ clientIds.add(clientId);
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未处理");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未处理工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
+ }
+ } else {
+ logger.info("超时未处理工单找不到责任人,未推送:" + id.toString());
+ }
+ // PC推送,推给信息办
+ //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+// EntityWrapper wrapper = new EntityWrapper();
+// wrapper.eq("DEPTID","1178242562491285506");
+// List userList = iCommonUserService.selectUsersList(wrapper,null);
+// List userIds = new ArrayList<>();
+// for (User user : userList) {
+// userIds.add(user.getId().toString());
+// }
+// Map map = new HashMap();
+// map.put("message","有新的超时未处理工单");
+// map.put("type","overtimeHandle");
+// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
+ }
+ String jobName = "getJobDelay" + id;
+ iQuartzManager.removeJob(jobName);
+ }
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
index ba9f439..9d72902 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
@@ -1,10 +1,10 @@
package com.casic.missiles.modular.alarm.job;
-import com.casic.missiles.core.common.service.ICommonUserService;
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.modular.system.dto.UserClientView;
import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -15,19 +15,20 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
@Component
-public class HandleAlarmJob implements Job{
+public class HandleAlarmJob implements Job {
private static final Logger logger = LoggerFactory.getLogger(HandleAlarmJob.class);
private Integer jobId;
private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
+ private AbstractPermissionContext iCommonUserService;
private IQuartzManager iQuartzManager;
private WebSocket webSocket;
private List userClientViewList;
@@ -40,7 +41,7 @@
this.iAlarmJobService = iAlarmJobService;
}
- public void setICommonUserService(ICommonUserService iCommonUserService) {
+ public void setICommonUserService(AbstractPermissionContext iCommonUserService) {
this.iCommonUserService = iCommonUserService;
}
@@ -62,29 +63,29 @@
}
private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if("0".equals(alarmJob.getJobStatus())){
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if ("0".equals(alarmJob.getJobStatus())) {
// 超时未接收
alarmJob.setJobFlagDelay("1"); // 延时标签
alarmJob.setJobFlag1("1");
iAlarmJobService.updateById(alarmJob); // 更新记录
// APP推送 推给井盖所属权属单位
List clientIds = new ArrayList<>();
- for(UserClientView userClientView:userClientViewList){
- if(StrUtil.isNotEmpty(userClientView.getClientid())){
+ for (UserClientView userClientView : userClientViewList) {
+ if (StrUtil.isNotEmpty(userClientView.getClientid())) {
clientIds.add(userClientView.getClientid());
}
}
- if(clientIds.size()>0){
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未接收");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未接收工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
+ if (clientIds.size() > 0) {
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未接收");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未接收工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
}
- }else{
- logger.info("超时未接收工单找不到责任人,未推送:"+id.toString());
+ } else {
+ logger.info("超时未接收工单找不到责任人,未推送:" + id.toString());
}
// PC推送,推给信息办
// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
deleted file mode 100644
index 46eeda9..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package com.casic.missiles.modular.alarm.job;
-
-import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.util.PushList;
-import com.casic.missiles.modular.system.util.WebSocket;
-import com.casic.missiles.quartz.service.IQuartzManager;
-import com.gexin.rp.sdk.base.IPushResult;
-import com.google.gson.GsonBuilder;
-import org.quartz.Job;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
-
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-@Component
-public class getDelayJob implements Job {
-
- private static final Logger logger = LoggerFactory.getLogger(getDelayJob.class);
-
- private Integer jobId;
- private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
- private IQuartzManager iQuartzManager;
- private WebSocket webSocket;
-
- public void setJobId(Integer jobId) {
- this.jobId = jobId;
- }
-
- public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
- this.iAlarmJobService = iAlarmJobService;
- }
-
- public void setICommonUserService(ICommonUserService iCommonUserService) {
- this.iCommonUserService = iCommonUserService;
- }
-
- public void setIQuartzManager(IQuartzManager iQuartzManager) {
- this.iQuartzManager = iQuartzManager;
- }
-
- public void setWebSocket(WebSocket webSocket) {
- this.webSocket = webSocket;
- }
-
- @Override
- public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-
- //业务逻辑
- SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
- System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
- getJobDelay(jobId);
- }
-
- private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if(!"3".equals(alarmJob.getJobStatus()) &&!"4".equals(alarmJob.getJobStatus())){
- // 超时未处理
- alarmJob.setJobFlagDelay("2"); // 延时标签
- String jobFlag = alarmJob.getJobFlag1(); // 延时记录
- if(StrUtil.isNotEmpty(jobFlag)){
- jobFlag += ",2";
- }else{
- jobFlag = "2";
- }
- alarmJob.setJobFlag1(jobFlag);
- iAlarmJobService.updateById(alarmJob); // 更新记录
- // APP推送
- Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
- String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
- List clientIds = new ArrayList<>();
- if(StrUtil.isNotEmpty(clientId)){
- clientIds.add(clientId);
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未处理");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未处理工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
- }
- }else{
- logger.info("超时未处理工单找不到责任人,未推送:"+id.toString());
- }
- // PC推送,推给信息办
- //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
-// EntityWrapper wrapper = new EntityWrapper();
-// wrapper.eq("DEPTID","1178242562491285506");
-// List userList = iCommonUserService.selectUsersList(wrapper,null);
-// List userIds = new ArrayList<>();
-// for (User user : userList) {
-// userIds.add(user.getId().toString());
-// }
-// Map map = new HashMap();
-// map.put("message","有新的超时未处理工单");
-// map.put("type","overtimeHandle");
-// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
- }
- String jobName = "getJobDelay" + id;
- iQuartzManager.removeJob(jobName);
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
index d9ca2a1..450b861 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
@@ -1,11 +1,13 @@
package com.casic.missiles.modular.alarm.service.impl;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.enums.UserQueryEnum;
import com.casic.missiles.modular.alarm.job.HandleAlarmJob;
-import com.casic.missiles.modular.alarm.job.getDelayJob;
+import com.casic.missiles.modular.alarm.job.DelayJob;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.util.EhcacheConstant;
@@ -16,7 +18,7 @@
import com.casic.missiles.modular.system.model.AlarmJob;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -31,7 +33,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
-import cn.hutool.core.util.ObjectUtil;
+
import cn.hutool.core.util.StrUtil;
/**
@@ -68,7 +70,8 @@
@Resource
private IQuartzManager quartzManager;
- @Autowired IBusWellInfoService busWellInfoService;
+ @Resource
+ private IBusWellInfoSupportService busWellInfoService;
@Override
public List> jobList(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, DataScope dataScope,Long userId) {
@@ -177,7 +180,7 @@
map.put("iCommonUserService",iCommonUserService);
map.put("iQuartzManager",quartzManager);
map.put("webSocket",webSocket);
- quartzManager.addJob(jobName,getDelayJob.class,shouldHandleTime,map);
+ quartzManager.addJob(jobName, DelayJob.class,shouldHandleTime,map);
}
return this.baseMapper.getJob(id,personId,getTime,shouldHandleTime);
@@ -228,7 +231,7 @@
@Override
public boolean checkJobStatus(String jobStatus) {
- if(ToolUtil.isEmpty(jobStatus)){
+ if(StrUtil.isEmpty(jobStatus)){
return false;
}else{
return "1".equals(jobStatus) || "2".equals(jobStatus) || "3".equals(jobStatus);
@@ -283,7 +286,7 @@
public void updateSinkJob(String id, String msg,String wellCode) {
List userClientViewList = new ArrayList<>();
List selectDtoList = selectRoles();
- EntityWrapper busWellInfoEntityWrapper = new EntityWrapper<>();
+ QueryWrapper busWellInfoEntityWrapper = new QueryWrapper<>();
busWellInfoEntityWrapper.eq("WELL_CODE",wellCode);
BusWellInfo busWellInfo = busWellInfoService.selectOne(busWellInfoEntityWrapper);
if(busWellInfo!=null&&StrUtil.isNotEmpty(busWellInfo.getDeptid())){
@@ -338,10 +341,10 @@
logger.info("告警消息app端找不到责任人,未推送:" + msg);
}
// PC推送,推给信息办
-// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
- EntityWrapper wrapper = new EntityWrapper();
- wrapper.eq("DEPTID", "1178242562491285506");
- List userList = iCommonUserService.selectUsersList(wrapper, null);
+ // List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+ QueryWrapper wrapper = new QueryWrapper();
+ wrapper.eq(UserQueryEnum.DEPT_ID, "1178242562491285506");
+ List userList = iCommonUserService.getUserService().list(wrapper);
for (User user : userList) {
userIds.add(user.getId().toString());
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
index 134a817..44f6788 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
@@ -1,13 +1,16 @@
package com.casic.missiles.modular.system.controller;
-import com.casic.missiles.core.base.controller.BaseController;
+import cn.hutool.core.util.ObjectUtil;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.model.exception.ServiceException;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.model.response.SuccessResponseData;
import com.casic.missiles.modular.system.dto.AlarmNowView;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.service.IAlarmNowViewService;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -20,7 +23,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import cn.hutool.core.util.ObjectUtil;
+
/**
* 地图总览模块的controller
*
@@ -38,7 +41,7 @@
private IAlarmNowViewService alarmNowViewService;
@Autowired
- private IBusWellInfoService busWellInfoService;
+ private IBusWellInfoSupportService busWellInfoService;
/**
* 获取当前全部告警列表
@@ -65,20 +68,20 @@
@RequestMapping(value = "/alarmsByWell", method = RequestMethod.GET)
@ResponseBody
public Object alarmsByWell(@RequestParam(required = true) Long id) {
- if(ObjectUtil.isEmpty(id)){
- throw new GunsException(GunsExceptionEnum.REQUEST_NULL);
+ if (ObjectUtil.isEmpty(id)) {
+ throw new ServiceException(CoreExceptionEnum.REQUEST_NULL);
}
SuccessResponseData successResult = new SuccessResponseData();
// 查询闸井信息
- BusWellInfo busWellInfo = busWellInfoService.selectById(id);
+ BusWellInfo busWellInfo = busWellInfoService.getById(id);
Map dataMap = new HashMap();
if (null != busWellInfo) {
dataMap.put("id", busWellInfo.getId());
dataMap.put("wellCode", busWellInfo.getWellCode());
dataMap.put("deptId", busWellInfo.getDeptid());
- dataMap.put("deptName", permissionService.getDeptName(String.valueOf(busWellInfo.getDeptid())));
- dataMap.put("wellTypeName",busWellInfo.getWellTypeName());
+ dataMap.put("deptName", permissionService.getDeptService().getDeptName(String.valueOf(busWellInfo.getDeptid())));
+ dataMap.put("wellTypeName", busWellInfo.getWellTypeName());
dataMap.put("position", busWellInfo.getPosition());
dataMap.put("deep", busWellInfo.getDeep());
diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml
index 95d7f58..88f7dc3 100644
--- a/casic-alarm/pom.xml
+++ b/casic-alarm/pom.xml
@@ -28,21 +28,36 @@
${admin.version}
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java b/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
deleted file mode 100644
index 460d4db..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * SpringBoot方式启动类
- *
- * @author lwh
- * @Date 2021/06/06 12:06
- */
-@SpringBootApplication
-@EnableCaching
-@EnableScheduling
-@EnableTransactionManagement(proxyTargetClass = true)
-@EnableAsync
-@ServletComponentScan
-@Slf4j
-public class CasicApplication {
- public static void main(String[] args) {
- SpringApplication.run(CasicApplication.class, args);
- log.info("CasicApplication is success!");
- }
-
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
index ef473af..6a426fa 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
@@ -1,19 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.alarm.service.ISysDictService;
-import com.casic.missiles.modular.system.warpper.AlarmJobWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -29,7 +31,10 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
@@ -40,7 +45,7 @@
*/
@Controller
@RequestMapping("/job")
-public class AlarmJobController extends BaseController {
+public class AlarmJobController extends ExportController {
@Autowired
@@ -146,16 +151,93 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatusStr)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatusStr));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatusStr));
}
}
retList = alarmJobService.jobListApp(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmJobWrapper(Map map) {
+ // 设置人员姓名
+ for (String key : map.keySet()) {
+ if (key.contains("JobPerson") || key.contains("jobBelongTo")) {
+ Object object = map.get(key);
+ if (object != null) {
+ String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
+ map.replace(key, newVal);
+ }
+ }
+ }
+
+ //设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (ObjectUtil.isEmpty(staffstr)) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 工单状态
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 流转记录(工单详情用)
+ if (map.containsKey("flow")) {
+ String flow = (String) map.get("flow");
+ flow = "[" + flow.replaceFirst(",", "") + "]";
+ List list = new ArrayList<>();
+ JSONArray jsonArray = JSONArray.parseArray(flow);
+ list = jsonArray.toJavaList(Map.class);
+ map.replace("flow", list);
+ }
+ }
+
/**
* 工单查询接口 APP用
*/
@@ -181,14 +263,13 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatus)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatus));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus));
}
}
retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime,
handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
Map retMap = new HashMap<>();
@@ -227,7 +308,7 @@
}
retList = alarmJobService.jobListDelayReApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -265,7 +346,7 @@
}
retList = alarmJobService.jobListDelayProApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -294,22 +375,35 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId());
- new AlarmJobWarpper(jobExpList).warp();
+ jobExpList.forEach(this::alarmJobWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(jobExpList)) {
fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx");
} else {
fileInputStream = new FileInputStream(templatePath + "/jobRecTemplate.xlsx");
}
+
try {
+
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "jobOverview.xlsx");
-
Map var = new HashMap<>();
var.put("标题", "工单一览表");
var.put("list", jobExpList);
- ExcelIO.writeTemplate(fileInputStream, httpServletResponse.getOutputStream(), var);
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("工单编号", "jobCode"));
+ dataFieldDefines.add(new DataFieldDefine("工单创建时间", "createTime"));
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("告警时间", "alarmTime"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+ dataFieldDefines.add(new DataFieldDefine("处理人", "handleJobPerson"));
+ dataFieldDefines.add(new DataFieldDefine("处理时间", "handleJobTime"));
+ this.exportExcelMaps(dataFieldDefines, jobExpList, "工单一览表");
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
@@ -361,7 +455,7 @@
@RequestMapping(value = "/transferJob")
@ResponseBody
public Object transferJob(@RequestParam(value = "id", required = true) int id,
- @RequestParam(value = "transferPerson", required = true) String transferPerson) throws JSONException {
+ @RequestParam(value = "transferPerson", required = true) String transferPerson) {
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
@@ -437,8 +531,7 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
List> retList = alarmJobService.jobInfo(id, dataScope, currentUser.getId());
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
return ResponseData.success(retList);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
index 5ec9ed1..a1432fd 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
@@ -1,22 +1,23 @@
package com.casic.missiles.modular.alarm.controller;
-import com.alibaba.fastjson.JSON;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.util.EhcacheConstant;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmLevelService;
import com.casic.missiles.modular.system.model.AlarmLevel;
import com.casic.missiles.modular.system.model.DeptPermission;
+import com.casic.missiles.modular.system.service.IDeptPermissionService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.util.*;
@@ -36,73 +37,74 @@
private IAlarmLevelService alarmLevelService;
@Resource
private AbstractPermissionContext permissionService;
- @Autowired
- private AbstractDeptService deptPermissionService;
+ @Resource
+ private IDeptPermissionService deptPermissionService;
/**
* 获取告警等级列表
*/
@RequestMapping("/levelList")
@ResponseBody
- public Object levelList(Long tenantId){
- List> levelList = new ArrayList<>();
+ public Object levelList(Long tenantId) {
+ List> levelList = new ArrayList<>();
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
DeptPermission deptPermission = deptPermissionService.selectDeptPermission(currUser.getDeptId());
- if(ObjectUtil.isEmpty(deptPermission)){
+ if (ObjectUtil.isEmpty(deptPermission)) {
return levelList;
}
- for(Object deviceType: JSON.parseObject(deptPermission.getDeviceType(), List.class)){
+ for (Object deviceType : JSON.parseObject(deptPermission.getDeviceType(), List.class)) {
String deviceTypeName = EhcacheConstant.retBean().getDeviceTypeNameById(deviceType.toString());
List names = new ArrayList<>();
- if(deviceTypeName.contains("液位")){
+ if (deviceTypeName.contains("液位")) {
names.add("液位");
}
- if(deviceTypeName.contains("有害气体")){
+ if (deviceTypeName.contains("有害气体")) {
names.add("一氧化碳");
names.add("硫化氢");
names.add("甲烷");
names.add("氧气");
}
- if(deviceTypeName.contains("燃气")){
+ if (deviceTypeName.contains("燃气")) {
names.add("燃气");
}
- if(deviceTypeName.contains("温湿度")){
+ if (deviceTypeName.contains("温湿度")) {
names.add("温度");
names.add("湿度");
}
- if(deviceTypeName.contains("开挖")){
+ if (deviceTypeName.contains("开挖")) {
names.add("开挖");
}
- for(String name: names){
+ for (String name : names) {
Map levelMap = new HashMap<>();
- Map level = alarmLevelService.selectByNameAndTenGroup(tenantId,name);
- levelMap.put("name",name);
- levelMap.put("deviceType",deviceType);
- levelMap.put("deviceTypeName",deviceTypeName);
+ Map level = alarmLevelService.selectByNameAndTenGroup(tenantId, name);
+ levelMap.put("name", name);
+ levelMap.put("deviceType", deviceType);
+ levelMap.put("deviceTypeName", deviceTypeName);
- if(ObjectUtil.isEmpty(level.get("openAlarm"))){
- levelMap.put("openAlarm","");
- }else{
- levelMap.put("openAlarm",level.get("openAlarm").toString());
+ if (ObjectUtil.isEmpty(level.get("openAlarm"))) {
+ levelMap.put("openAlarm", "");
+ } else {
+ levelMap.put("openAlarm", level.get("openAlarm").toString());
}
- if(ObjectUtil.isEmpty(level.get("openJob"))){
- levelMap.put("openJob","");
- }else{
- levelMap.put("openJob",level.get("openJob").toString());
+ if (ObjectUtil.isEmpty(level.get("openJob"))) {
+ levelMap.put("openJob", "");
+ } else {
+ levelMap.put("openJob", level.get("openJob").toString());
}
- if(ObjectUtil.isEmpty(level.get("ts"))){
- levelMap.put("ts","");
- }else{
- levelMap.put("ts",level.get("ts").toString());
+ if (ObjectUtil.isEmpty(level.get("ts"))) {
+ levelMap.put("ts", "");
+ } else {
+ levelMap.put("ts", level.get("ts").toString());
}
levelList.add(levelMap);
@@ -116,13 +118,14 @@
*/
@RequestMapping("/levelByType")
@ResponseBody
- public Object levelByType(Long tenantId, String name){
+ public Object levelByType(Long tenantId, String name) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
List levelList = alarmLevelService.selectByNameAndTenList(tenantId, name);
return ResponseData.success(levelList);
@@ -131,22 +134,23 @@
@RequestMapping("/configLevel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object configLevel(@RequestBody List levelList){
+ public Object configLevel(@RequestBody List levelList) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- String userTenantId = currUser.getTenantId(); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ String userTenantId = currUser.getTenantId();
Date currDate = new Date();
- for(AlarmLevel alarmLevel:levelList){
- if(ObjectUtil.isAllEmpty(alarmLevel.getTenantId(),userTenantId)){
+ for (AlarmLevel alarmLevel : levelList) {
+ if (ObjectUtil.isAllEmpty(alarmLevel.getTenantId(), userTenantId)) {
return ResponseData.error("无关联的项目id");
}
Long tenantId = ObjectUtil.isEmpty(alarmLevel.getTenantId()) ? Long.valueOf(userTenantId) : alarmLevel.getTenantId();
- AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId,alarmLevel.getName(),alarmLevel.getLevel());
- if(ObjectUtil.isEmpty(oldAlarmLevel)){
+ AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId, alarmLevel.getName(), alarmLevel.getLevel());
+ if (ObjectUtil.isEmpty(oldAlarmLevel)) {
//insert
alarmLevel.setTenantId(tenantId);
alarmLevel.setTs(currDate);
- alarmLevelService.insert(alarmLevel);
- }else{
+ alarmLevelService.save(alarmLevel);
+ } else {
//update
alarmLevel.setId(oldAlarmLevel.getId());
alarmLevel.setTenantId(tenantId);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
index 67e4b49..51e0d50 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
@@ -1,15 +1,19 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.AlarmRecords;
-import com.casic.missiles.modular.system.warpper.AlarmRecordWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -17,13 +21,13 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.collection.CollectionUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -36,7 +40,7 @@
*/
@Controller
@RequestMapping("/alarm")
-public class AlarmRecordsController extends BaseController {
+public class AlarmRecordsController extends ExportController {
@Autowired
@@ -44,13 +48,13 @@
@Resource
private AbstractPermissionContext iCommonPermissionService;
@Value("${smartcity.office.maxRowsExcel}")
- private int maxRowsExcel;
+ private int maxRowsExcel;
@Value("${smartcity.config.config-path}")
private String templatePath;
@Value("${smartcity.adminRoleName}")
- private String sAdmin;
+ private String sAdmin;
@Value("${smartcity.opRoleName}")
- private String sOperator;
+ private String sOperator;
/**
* 获取分页列表
@@ -62,7 +66,7 @@
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
@@ -73,28 +77,87 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> retList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
-
-
- new AlarmRecordWarpper(retList).warp();
+ List> retList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ retList.forEach(this::alarmRecordWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmRecordWrapper(Map map) {
+ // 设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (null == staffstr) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 告警状态
+ String statusStr = map.get("status").toString();
+ map.put("statusName", EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr, "alarmStatus"));
+
+ // 工单状态
+ if (ObjectUtil.isNotEmpty(map.get("jobStatus"))) {
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+ }
+ }
@RequestMapping(value = "/export")
- public void exportAlarm(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) throws IOException {
+ public void exportAlarm(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
Page> page = PageFactory.defaultPage();
- page.setMaxLimit((long)maxRowsExcel);
+ page.setMaxLimit((long) maxRowsExcel);
page.setSize(maxRowsExcel);
page.offset();
page.setSearchCount(false);
@@ -104,25 +167,36 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> alarmExpList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
- new AlarmRecordWarpper(alarmExpList).warp();
-
+ List> alarmExpList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ alarmExpList.forEach(this::alarmRecordWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(alarmExpList)) {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecEmpty.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecEmpty.xlsx");
} else {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecTemplate.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecTemplate.xlsx");
}
try {
httpServletResponse.setContentType("application/octet-stream");
- httpServletResponse.addHeader("Content-Disposition", " attachment;filename="+"alarmOverview.xlsx" );
+ httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "alarmOverview.xlsx");
- Map var = new HashMap<>();
- var.put("标题","报警一览表");
- var.put("list",alarmExpList);
- ExcelIO.writeTemplate(fileInputStream,httpServletResponse.getOutputStream(),var);
+ Map var = new HashMap<>();
+ var.put("标题", "报警一览表");
+ var.put("list", alarmExpList);
+
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("设备编号", "devcode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmTypeName"));
+ dataFieldDefines.add(new DataFieldDefine("告警原因", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("权属单位", "deptName"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+
+ this.exportExcelMaps(dataFieldDefines, alarmExpList, "报警一览表");
} catch (IOException e) {
e.printStackTrace();
@@ -132,7 +206,8 @@
httpServletResponse.getOutputStream().flush();
httpServletResponse.getOutputStream().close();
fileInputStream.close();
- };
+ }
+ ;
}
@@ -141,15 +216,15 @@
*/
@RequestMapping(value = "/cancelAlarm")
@ResponseBody
- public Object cancelAlarm(@RequestParam(value = "id",required = true) int id, //jobId
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object cancelAlarm(@RequestParam(value = "id", required = true) int id, //jobId
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- boolean isCancel = alarmRecordsService.cancelAlarm(id,jobStatus,handleMessage,currentUser.getId());
- if(isCancel){
+ boolean isCancel = alarmRecordsService.cancelAlarm(id, jobStatus, handleMessage, currentUser.getId());
+ if (isCancel) {
return ResponseData.success();
- }else {
+ } else {
return ResponseData.error("failure");
}
}
@@ -160,22 +235,22 @@
@RequestMapping(value = "/batchCancel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object batchCancel(@RequestParam(value = "keywords",required = false) String keywords,
- @RequestParam(value = "alarmType",required = false) String alarmType,
- @RequestParam(value = "alarmContent",required = false) String alarmContent,
- @RequestParam(value = "beginTime",required = false) String beginTime,
- @RequestParam(value = "endTime",required = false) String endTime,
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object batchCancel(@RequestParam(value = "keywords", required = false) String keywords,
+ @RequestParam(value = "alarmType", required = false) String alarmType,
+ @RequestParam(value = "alarmContent", required = false) String alarmContent,
+ @RequestParam(value = "beginTime", required = false) String beginTime,
+ @RequestParam(value = "endTime", required = false) String endTime,
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
//根据查询条件查询alarm_record记录
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope,keywords,alarmType,alarmContent,beginTime,endTime);
+ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime);
//根据jobId调用closeJob
for (AlarmRecords alarmRecord : alarmRecords) {
- alarmRecordsService.cancelAlarm(alarmRecord.getJobId(),jobStatus,handleMessage,currentUser.getId());
+ alarmRecordsService.cancelAlarm(alarmRecord.getJobId(), jobStatus, handleMessage, currentUser.getId());
}
return ResponseData.success();
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
index 7a645dd..3b39aeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
@@ -1,21 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRuleService;
import com.casic.missiles.modular.system.dto.AlarmRuleDTO;
-import com.casic.missiles.modular.system.warpper.AlarmRuleWarpper;
+import com.casic.missiles.modular.system.service.IDeviceRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.util.StrUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -54,8 +54,9 @@
public Map list(String keywords, HttpServletRequest httpServletRequest) {
String deviceType = httpServletRequest.getParameter("deviceType");
- if (StrUtil.isEmpty(deviceType))
+ if (StrUtil.isEmpty(deviceType)) {
deviceType = "";
+ }
Page> page = PageFactory.defaultPage();
Map retMap = new HashMap<>();
boolean bSessionValid = false;
@@ -66,9 +67,10 @@
return retMap;
}
List> retList = new ArrayList<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
retList = alarmRuleService.ruleListViaParam(page, keywords, deviceType, dataScope);
- new AlarmRuleWarpper(retList).warp();
+ retList.stream().forEach(this::alarmRuleWrapper);
page.setRecords(retList);
retMap.put("code", 200);
retMap.put("message", "success");
@@ -76,11 +78,19 @@
return retMap;
}
+ private void alarmRuleWrapper(Map map) {
+ String deviceType = map.get("deviceType").toString();
+ long deptid = Long.parseLong(map.get("deptid").toString());
+ map.put("deviceTypeName", EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ }
+
@RequestMapping(value = "/update")
@ResponseBody
public Map updateRule(@RequestParam(value = "id", required = true) int id, HttpServletRequest httpServletRequest) {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
if (super.getSession().getAttribute("sessionFlag") == null) {
retMap.put("code", 505);
retMap.put("message", "sessionExpired");
@@ -90,10 +100,12 @@
String sLow = httpServletRequest.getParameter("lowValue");
float highValue = 99999;
float lowValue = -99999;
- if (StrUtil.isNotEmpty(sHigh))
+ if (StrUtil.isNotEmpty(sHigh)) {
highValue = Float.parseFloat(sHigh);
- if (StrUtil.isNotEmpty(sLow))
+ }
+ if (StrUtil.isNotEmpty(sLow)) {
lowValue = Float.parseFloat(sLow);
+ }
if (alarmRuleService.updateRule(id, highValue, lowValue)) {
retMap.put("code", 200);
@@ -138,7 +150,7 @@
@RequestMapping(value = "/delete")
@ResponseBody
public Object delete(@RequestParam Integer id) {
- alarmRuleService.deleteById(id);
+ alarmRuleService.removeById(id);
return ResponseData.success();
}
@@ -151,8 +163,9 @@
public Map getNoAlarmDevice() {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
- List alarmRuleList= alarmRuleService.getNoAlarmDevice(dataScope);
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
+ List alarmRuleList = alarmRuleService.getNoAlarmDevice(dataScope);
retMap.put("code", 200);
retMap.put("message", "success");
retMap.put("data", alarmRuleList);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
new file mode 100644
index 0000000..a749516
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
@@ -0,0 +1,109 @@
+package com.casic.missiles.modular.alarm.job;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.modular.alarm.service.IAlarmJobService;
+import com.casic.missiles.modular.system.model.AlarmJob;
+import com.casic.missiles.modular.system.util.PushList;
+import com.casic.missiles.modular.system.util.WebSocket;
+import com.casic.missiles.quartz.service.IQuartzManager;
+import com.gexin.rp.sdk.base.IPushResult;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.support.AbstractApplicationContext;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class DelayJob implements Job {
+
+ private static final Logger logger = LoggerFactory.getLogger(DelayJob.class);
+
+ private Integer jobId;
+ private IAlarmJobService iAlarmJobService;
+ private AbstractApplicationContext iCommonUserService;
+ private IQuartzManager iQuartzManager;
+ private WebSocket webSocket;
+
+ public void setJobId(Integer jobId) {
+ this.jobId = jobId;
+ }
+
+ public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
+ this.iAlarmJobService = iAlarmJobService;
+ }
+
+ public void setICommonUserService(AbstractApplicationContext iCommonUserService) {
+ this.iCommonUserService = iCommonUserService;
+ }
+
+ public void setIQuartzManager(IQuartzManager iQuartzManager) {
+ this.iQuartzManager = iQuartzManager;
+ }
+
+ public void setWebSocket(WebSocket webSocket) {
+ this.webSocket = webSocket;
+ }
+
+ @Override
+ public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+
+ //业务逻辑
+ SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
+ System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
+ getJobDelay(jobId);
+ }
+
+ private void getJobDelay(Integer id) {
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if (!"3".equals(alarmJob.getJobStatus()) && !"4".equals(alarmJob.getJobStatus())) {
+ // 超时未处理 // 延时标签
+ alarmJob.setJobFlagDelay("2");
+ // 延时记录
+ String jobFlag = alarmJob.getJobFlag1();
+ if (StrUtil.isNotEmpty(jobFlag)) {
+ jobFlag += ",2";
+ } else {
+ jobFlag = "2";
+ }
+ alarmJob.setJobFlag1(jobFlag);
+ iAlarmJobService.updateById(alarmJob); // 更新记录
+ // APP推送
+ Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
+ String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
+ List clientIds = new ArrayList<>();
+ if (StrUtil.isNotEmpty(clientId)) {
+ clientIds.add(clientId);
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未处理");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未处理工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
+ }
+ } else {
+ logger.info("超时未处理工单找不到责任人,未推送:" + id.toString());
+ }
+ // PC推送,推给信息办
+ //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+// EntityWrapper wrapper = new EntityWrapper();
+// wrapper.eq("DEPTID","1178242562491285506");
+// List userList = iCommonUserService.selectUsersList(wrapper,null);
+// List userIds = new ArrayList<>();
+// for (User user : userList) {
+// userIds.add(user.getId().toString());
+// }
+// Map map = new HashMap();
+// map.put("message","有新的超时未处理工单");
+// map.put("type","overtimeHandle");
+// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
+ }
+ String jobName = "getJobDelay" + id;
+ iQuartzManager.removeJob(jobName);
+ }
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
index ba9f439..9d72902 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
@@ -1,10 +1,10 @@
package com.casic.missiles.modular.alarm.job;
-import com.casic.missiles.core.common.service.ICommonUserService;
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.modular.system.dto.UserClientView;
import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -15,19 +15,20 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
@Component
-public class HandleAlarmJob implements Job{
+public class HandleAlarmJob implements Job {
private static final Logger logger = LoggerFactory.getLogger(HandleAlarmJob.class);
private Integer jobId;
private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
+ private AbstractPermissionContext iCommonUserService;
private IQuartzManager iQuartzManager;
private WebSocket webSocket;
private List userClientViewList;
@@ -40,7 +41,7 @@
this.iAlarmJobService = iAlarmJobService;
}
- public void setICommonUserService(ICommonUserService iCommonUserService) {
+ public void setICommonUserService(AbstractPermissionContext iCommonUserService) {
this.iCommonUserService = iCommonUserService;
}
@@ -62,29 +63,29 @@
}
private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if("0".equals(alarmJob.getJobStatus())){
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if ("0".equals(alarmJob.getJobStatus())) {
// 超时未接收
alarmJob.setJobFlagDelay("1"); // 延时标签
alarmJob.setJobFlag1("1");
iAlarmJobService.updateById(alarmJob); // 更新记录
// APP推送 推给井盖所属权属单位
List clientIds = new ArrayList<>();
- for(UserClientView userClientView:userClientViewList){
- if(StrUtil.isNotEmpty(userClientView.getClientid())){
+ for (UserClientView userClientView : userClientViewList) {
+ if (StrUtil.isNotEmpty(userClientView.getClientid())) {
clientIds.add(userClientView.getClientid());
}
}
- if(clientIds.size()>0){
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未接收");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未接收工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
+ if (clientIds.size() > 0) {
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未接收");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未接收工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
}
- }else{
- logger.info("超时未接收工单找不到责任人,未推送:"+id.toString());
+ } else {
+ logger.info("超时未接收工单找不到责任人,未推送:" + id.toString());
}
// PC推送,推给信息办
// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
deleted file mode 100644
index 46eeda9..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package com.casic.missiles.modular.alarm.job;
-
-import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.util.PushList;
-import com.casic.missiles.modular.system.util.WebSocket;
-import com.casic.missiles.quartz.service.IQuartzManager;
-import com.gexin.rp.sdk.base.IPushResult;
-import com.google.gson.GsonBuilder;
-import org.quartz.Job;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
-
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-@Component
-public class getDelayJob implements Job {
-
- private static final Logger logger = LoggerFactory.getLogger(getDelayJob.class);
-
- private Integer jobId;
- private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
- private IQuartzManager iQuartzManager;
- private WebSocket webSocket;
-
- public void setJobId(Integer jobId) {
- this.jobId = jobId;
- }
-
- public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
- this.iAlarmJobService = iAlarmJobService;
- }
-
- public void setICommonUserService(ICommonUserService iCommonUserService) {
- this.iCommonUserService = iCommonUserService;
- }
-
- public void setIQuartzManager(IQuartzManager iQuartzManager) {
- this.iQuartzManager = iQuartzManager;
- }
-
- public void setWebSocket(WebSocket webSocket) {
- this.webSocket = webSocket;
- }
-
- @Override
- public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-
- //业务逻辑
- SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
- System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
- getJobDelay(jobId);
- }
-
- private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if(!"3".equals(alarmJob.getJobStatus()) &&!"4".equals(alarmJob.getJobStatus())){
- // 超时未处理
- alarmJob.setJobFlagDelay("2"); // 延时标签
- String jobFlag = alarmJob.getJobFlag1(); // 延时记录
- if(StrUtil.isNotEmpty(jobFlag)){
- jobFlag += ",2";
- }else{
- jobFlag = "2";
- }
- alarmJob.setJobFlag1(jobFlag);
- iAlarmJobService.updateById(alarmJob); // 更新记录
- // APP推送
- Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
- String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
- List clientIds = new ArrayList<>();
- if(StrUtil.isNotEmpty(clientId)){
- clientIds.add(clientId);
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未处理");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未处理工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
- }
- }else{
- logger.info("超时未处理工单找不到责任人,未推送:"+id.toString());
- }
- // PC推送,推给信息办
- //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
-// EntityWrapper wrapper = new EntityWrapper();
-// wrapper.eq("DEPTID","1178242562491285506");
-// List userList = iCommonUserService.selectUsersList(wrapper,null);
-// List userIds = new ArrayList<>();
-// for (User user : userList) {
-// userIds.add(user.getId().toString());
-// }
-// Map map = new HashMap();
-// map.put("message","有新的超时未处理工单");
-// map.put("type","overtimeHandle");
-// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
- }
- String jobName = "getJobDelay" + id;
- iQuartzManager.removeJob(jobName);
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
index d9ca2a1..450b861 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
@@ -1,11 +1,13 @@
package com.casic.missiles.modular.alarm.service.impl;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.enums.UserQueryEnum;
import com.casic.missiles.modular.alarm.job.HandleAlarmJob;
-import com.casic.missiles.modular.alarm.job.getDelayJob;
+import com.casic.missiles.modular.alarm.job.DelayJob;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.util.EhcacheConstant;
@@ -16,7 +18,7 @@
import com.casic.missiles.modular.system.model.AlarmJob;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -31,7 +33,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
-import cn.hutool.core.util.ObjectUtil;
+
import cn.hutool.core.util.StrUtil;
/**
@@ -68,7 +70,8 @@
@Resource
private IQuartzManager quartzManager;
- @Autowired IBusWellInfoService busWellInfoService;
+ @Resource
+ private IBusWellInfoSupportService busWellInfoService;
@Override
public List> jobList(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, DataScope dataScope,Long userId) {
@@ -177,7 +180,7 @@
map.put("iCommonUserService",iCommonUserService);
map.put("iQuartzManager",quartzManager);
map.put("webSocket",webSocket);
- quartzManager.addJob(jobName,getDelayJob.class,shouldHandleTime,map);
+ quartzManager.addJob(jobName, DelayJob.class,shouldHandleTime,map);
}
return this.baseMapper.getJob(id,personId,getTime,shouldHandleTime);
@@ -228,7 +231,7 @@
@Override
public boolean checkJobStatus(String jobStatus) {
- if(ToolUtil.isEmpty(jobStatus)){
+ if(StrUtil.isEmpty(jobStatus)){
return false;
}else{
return "1".equals(jobStatus) || "2".equals(jobStatus) || "3".equals(jobStatus);
@@ -283,7 +286,7 @@
public void updateSinkJob(String id, String msg,String wellCode) {
List userClientViewList = new ArrayList<>();
List selectDtoList = selectRoles();
- EntityWrapper busWellInfoEntityWrapper = new EntityWrapper<>();
+ QueryWrapper busWellInfoEntityWrapper = new QueryWrapper<>();
busWellInfoEntityWrapper.eq("WELL_CODE",wellCode);
BusWellInfo busWellInfo = busWellInfoService.selectOne(busWellInfoEntityWrapper);
if(busWellInfo!=null&&StrUtil.isNotEmpty(busWellInfo.getDeptid())){
@@ -338,10 +341,10 @@
logger.info("告警消息app端找不到责任人,未推送:" + msg);
}
// PC推送,推给信息办
-// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
- EntityWrapper wrapper = new EntityWrapper();
- wrapper.eq("DEPTID", "1178242562491285506");
- List userList = iCommonUserService.selectUsersList(wrapper, null);
+ // List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+ QueryWrapper wrapper = new QueryWrapper();
+ wrapper.eq(UserQueryEnum.DEPT_ID, "1178242562491285506");
+ List userList = iCommonUserService.getUserService().list(wrapper);
for (User user : userList) {
userIds.add(user.getId().toString());
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
index 134a817..44f6788 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
@@ -1,13 +1,16 @@
package com.casic.missiles.modular.system.controller;
-import com.casic.missiles.core.base.controller.BaseController;
+import cn.hutool.core.util.ObjectUtil;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.model.exception.ServiceException;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.model.response.SuccessResponseData;
import com.casic.missiles.modular.system.dto.AlarmNowView;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.service.IAlarmNowViewService;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -20,7 +23,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import cn.hutool.core.util.ObjectUtil;
+
/**
* 地图总览模块的controller
*
@@ -38,7 +41,7 @@
private IAlarmNowViewService alarmNowViewService;
@Autowired
- private IBusWellInfoService busWellInfoService;
+ private IBusWellInfoSupportService busWellInfoService;
/**
* 获取当前全部告警列表
@@ -65,20 +68,20 @@
@RequestMapping(value = "/alarmsByWell", method = RequestMethod.GET)
@ResponseBody
public Object alarmsByWell(@RequestParam(required = true) Long id) {
- if(ObjectUtil.isEmpty(id)){
- throw new GunsException(GunsExceptionEnum.REQUEST_NULL);
+ if (ObjectUtil.isEmpty(id)) {
+ throw new ServiceException(CoreExceptionEnum.REQUEST_NULL);
}
SuccessResponseData successResult = new SuccessResponseData();
// 查询闸井信息
- BusWellInfo busWellInfo = busWellInfoService.selectById(id);
+ BusWellInfo busWellInfo = busWellInfoService.getById(id);
Map dataMap = new HashMap();
if (null != busWellInfo) {
dataMap.put("id", busWellInfo.getId());
dataMap.put("wellCode", busWellInfo.getWellCode());
dataMap.put("deptId", busWellInfo.getDeptid());
- dataMap.put("deptName", permissionService.getDeptName(String.valueOf(busWellInfo.getDeptid())));
- dataMap.put("wellTypeName",busWellInfo.getWellTypeName());
+ dataMap.put("deptName", permissionService.getDeptService().getDeptName(String.valueOf(busWellInfo.getDeptid())));
+ dataMap.put("wellTypeName", busWellInfo.getWellTypeName());
dataMap.put("position", busWellInfo.getPosition());
dataMap.put("deep", busWellInfo.getDeep());
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
index 263839d..d1e0d38 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
@@ -1,7 +1,7 @@
package com.casic.missiles.modular.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.dao.AlarmNowViewMapper;
import com.casic.missiles.modular.system.dto.AlarmNowView;
@@ -13,7 +13,7 @@
/**
*
- * 服务实现类
+ * 服务实现类
*
*
* @author casic123
@@ -23,13 +23,13 @@
public class AlarmNowViewServiceImpl extends ServiceImpl implements IAlarmNowViewService {
@Resource
- private AbstractPermissionContext permissionService;
+ private AbstractDictService dictService;
@Override
public List getNowAlarmRecords(DataScope dataScope) {
List alarmNowViewList = this.baseMapper.getNowAlarmRecords(dataScope);
for (AlarmNowView alarmNowView : alarmNowViewList) {
- alarmNowView.setWellTypeName(permissionService.getDictNameByCode("sluicewellType",alarmNowView.getWellType()));
+ alarmNowView.setWellTypeName(dictService.getDictNameByCode("sluicewellType", alarmNowView.getWellType()));
}
return alarmNowViewList;
}
diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml
index 95d7f58..88f7dc3 100644
--- a/casic-alarm/pom.xml
+++ b/casic-alarm/pom.xml
@@ -28,21 +28,36 @@
${admin.version}
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java b/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
deleted file mode 100644
index 460d4db..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * SpringBoot方式启动类
- *
- * @author lwh
- * @Date 2021/06/06 12:06
- */
-@SpringBootApplication
-@EnableCaching
-@EnableScheduling
-@EnableTransactionManagement(proxyTargetClass = true)
-@EnableAsync
-@ServletComponentScan
-@Slf4j
-public class CasicApplication {
- public static void main(String[] args) {
- SpringApplication.run(CasicApplication.class, args);
- log.info("CasicApplication is success!");
- }
-
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
index ef473af..6a426fa 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
@@ -1,19 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.alarm.service.ISysDictService;
-import com.casic.missiles.modular.system.warpper.AlarmJobWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -29,7 +31,10 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
@@ -40,7 +45,7 @@
*/
@Controller
@RequestMapping("/job")
-public class AlarmJobController extends BaseController {
+public class AlarmJobController extends ExportController {
@Autowired
@@ -146,16 +151,93 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatusStr)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatusStr));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatusStr));
}
}
retList = alarmJobService.jobListApp(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmJobWrapper(Map map) {
+ // 设置人员姓名
+ for (String key : map.keySet()) {
+ if (key.contains("JobPerson") || key.contains("jobBelongTo")) {
+ Object object = map.get(key);
+ if (object != null) {
+ String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
+ map.replace(key, newVal);
+ }
+ }
+ }
+
+ //设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (ObjectUtil.isEmpty(staffstr)) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 工单状态
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 流转记录(工单详情用)
+ if (map.containsKey("flow")) {
+ String flow = (String) map.get("flow");
+ flow = "[" + flow.replaceFirst(",", "") + "]";
+ List list = new ArrayList<>();
+ JSONArray jsonArray = JSONArray.parseArray(flow);
+ list = jsonArray.toJavaList(Map.class);
+ map.replace("flow", list);
+ }
+ }
+
/**
* 工单查询接口 APP用
*/
@@ -181,14 +263,13 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatus)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatus));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus));
}
}
retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime,
handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
Map retMap = new HashMap<>();
@@ -227,7 +308,7 @@
}
retList = alarmJobService.jobListDelayReApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -265,7 +346,7 @@
}
retList = alarmJobService.jobListDelayProApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -294,22 +375,35 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId());
- new AlarmJobWarpper(jobExpList).warp();
+ jobExpList.forEach(this::alarmJobWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(jobExpList)) {
fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx");
} else {
fileInputStream = new FileInputStream(templatePath + "/jobRecTemplate.xlsx");
}
+
try {
+
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "jobOverview.xlsx");
-
Map var = new HashMap<>();
var.put("标题", "工单一览表");
var.put("list", jobExpList);
- ExcelIO.writeTemplate(fileInputStream, httpServletResponse.getOutputStream(), var);
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("工单编号", "jobCode"));
+ dataFieldDefines.add(new DataFieldDefine("工单创建时间", "createTime"));
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("告警时间", "alarmTime"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+ dataFieldDefines.add(new DataFieldDefine("处理人", "handleJobPerson"));
+ dataFieldDefines.add(new DataFieldDefine("处理时间", "handleJobTime"));
+ this.exportExcelMaps(dataFieldDefines, jobExpList, "工单一览表");
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
@@ -361,7 +455,7 @@
@RequestMapping(value = "/transferJob")
@ResponseBody
public Object transferJob(@RequestParam(value = "id", required = true) int id,
- @RequestParam(value = "transferPerson", required = true) String transferPerson) throws JSONException {
+ @RequestParam(value = "transferPerson", required = true) String transferPerson) {
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
@@ -437,8 +531,7 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
List> retList = alarmJobService.jobInfo(id, dataScope, currentUser.getId());
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
return ResponseData.success(retList);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
index 5ec9ed1..a1432fd 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
@@ -1,22 +1,23 @@
package com.casic.missiles.modular.alarm.controller;
-import com.alibaba.fastjson.JSON;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.util.EhcacheConstant;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmLevelService;
import com.casic.missiles.modular.system.model.AlarmLevel;
import com.casic.missiles.modular.system.model.DeptPermission;
+import com.casic.missiles.modular.system.service.IDeptPermissionService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.util.*;
@@ -36,73 +37,74 @@
private IAlarmLevelService alarmLevelService;
@Resource
private AbstractPermissionContext permissionService;
- @Autowired
- private AbstractDeptService deptPermissionService;
+ @Resource
+ private IDeptPermissionService deptPermissionService;
/**
* 获取告警等级列表
*/
@RequestMapping("/levelList")
@ResponseBody
- public Object levelList(Long tenantId){
- List> levelList = new ArrayList<>();
+ public Object levelList(Long tenantId) {
+ List> levelList = new ArrayList<>();
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
DeptPermission deptPermission = deptPermissionService.selectDeptPermission(currUser.getDeptId());
- if(ObjectUtil.isEmpty(deptPermission)){
+ if (ObjectUtil.isEmpty(deptPermission)) {
return levelList;
}
- for(Object deviceType: JSON.parseObject(deptPermission.getDeviceType(), List.class)){
+ for (Object deviceType : JSON.parseObject(deptPermission.getDeviceType(), List.class)) {
String deviceTypeName = EhcacheConstant.retBean().getDeviceTypeNameById(deviceType.toString());
List names = new ArrayList<>();
- if(deviceTypeName.contains("液位")){
+ if (deviceTypeName.contains("液位")) {
names.add("液位");
}
- if(deviceTypeName.contains("有害气体")){
+ if (deviceTypeName.contains("有害气体")) {
names.add("一氧化碳");
names.add("硫化氢");
names.add("甲烷");
names.add("氧气");
}
- if(deviceTypeName.contains("燃气")){
+ if (deviceTypeName.contains("燃气")) {
names.add("燃气");
}
- if(deviceTypeName.contains("温湿度")){
+ if (deviceTypeName.contains("温湿度")) {
names.add("温度");
names.add("湿度");
}
- if(deviceTypeName.contains("开挖")){
+ if (deviceTypeName.contains("开挖")) {
names.add("开挖");
}
- for(String name: names){
+ for (String name : names) {
Map levelMap = new HashMap<>();
- Map level = alarmLevelService.selectByNameAndTenGroup(tenantId,name);
- levelMap.put("name",name);
- levelMap.put("deviceType",deviceType);
- levelMap.put("deviceTypeName",deviceTypeName);
+ Map level = alarmLevelService.selectByNameAndTenGroup(tenantId, name);
+ levelMap.put("name", name);
+ levelMap.put("deviceType", deviceType);
+ levelMap.put("deviceTypeName", deviceTypeName);
- if(ObjectUtil.isEmpty(level.get("openAlarm"))){
- levelMap.put("openAlarm","");
- }else{
- levelMap.put("openAlarm",level.get("openAlarm").toString());
+ if (ObjectUtil.isEmpty(level.get("openAlarm"))) {
+ levelMap.put("openAlarm", "");
+ } else {
+ levelMap.put("openAlarm", level.get("openAlarm").toString());
}
- if(ObjectUtil.isEmpty(level.get("openJob"))){
- levelMap.put("openJob","");
- }else{
- levelMap.put("openJob",level.get("openJob").toString());
+ if (ObjectUtil.isEmpty(level.get("openJob"))) {
+ levelMap.put("openJob", "");
+ } else {
+ levelMap.put("openJob", level.get("openJob").toString());
}
- if(ObjectUtil.isEmpty(level.get("ts"))){
- levelMap.put("ts","");
- }else{
- levelMap.put("ts",level.get("ts").toString());
+ if (ObjectUtil.isEmpty(level.get("ts"))) {
+ levelMap.put("ts", "");
+ } else {
+ levelMap.put("ts", level.get("ts").toString());
}
levelList.add(levelMap);
@@ -116,13 +118,14 @@
*/
@RequestMapping("/levelByType")
@ResponseBody
- public Object levelByType(Long tenantId, String name){
+ public Object levelByType(Long tenantId, String name) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
List levelList = alarmLevelService.selectByNameAndTenList(tenantId, name);
return ResponseData.success(levelList);
@@ -131,22 +134,23 @@
@RequestMapping("/configLevel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object configLevel(@RequestBody List levelList){
+ public Object configLevel(@RequestBody List levelList) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- String userTenantId = currUser.getTenantId(); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ String userTenantId = currUser.getTenantId();
Date currDate = new Date();
- for(AlarmLevel alarmLevel:levelList){
- if(ObjectUtil.isAllEmpty(alarmLevel.getTenantId(),userTenantId)){
+ for (AlarmLevel alarmLevel : levelList) {
+ if (ObjectUtil.isAllEmpty(alarmLevel.getTenantId(), userTenantId)) {
return ResponseData.error("无关联的项目id");
}
Long tenantId = ObjectUtil.isEmpty(alarmLevel.getTenantId()) ? Long.valueOf(userTenantId) : alarmLevel.getTenantId();
- AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId,alarmLevel.getName(),alarmLevel.getLevel());
- if(ObjectUtil.isEmpty(oldAlarmLevel)){
+ AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId, alarmLevel.getName(), alarmLevel.getLevel());
+ if (ObjectUtil.isEmpty(oldAlarmLevel)) {
//insert
alarmLevel.setTenantId(tenantId);
alarmLevel.setTs(currDate);
- alarmLevelService.insert(alarmLevel);
- }else{
+ alarmLevelService.save(alarmLevel);
+ } else {
//update
alarmLevel.setId(oldAlarmLevel.getId());
alarmLevel.setTenantId(tenantId);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
index 67e4b49..51e0d50 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
@@ -1,15 +1,19 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.AlarmRecords;
-import com.casic.missiles.modular.system.warpper.AlarmRecordWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -17,13 +21,13 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.collection.CollectionUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -36,7 +40,7 @@
*/
@Controller
@RequestMapping("/alarm")
-public class AlarmRecordsController extends BaseController {
+public class AlarmRecordsController extends ExportController {
@Autowired
@@ -44,13 +48,13 @@
@Resource
private AbstractPermissionContext iCommonPermissionService;
@Value("${smartcity.office.maxRowsExcel}")
- private int maxRowsExcel;
+ private int maxRowsExcel;
@Value("${smartcity.config.config-path}")
private String templatePath;
@Value("${smartcity.adminRoleName}")
- private String sAdmin;
+ private String sAdmin;
@Value("${smartcity.opRoleName}")
- private String sOperator;
+ private String sOperator;
/**
* 获取分页列表
@@ -62,7 +66,7 @@
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
@@ -73,28 +77,87 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> retList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
-
-
- new AlarmRecordWarpper(retList).warp();
+ List> retList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ retList.forEach(this::alarmRecordWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmRecordWrapper(Map map) {
+ // 设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (null == staffstr) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 告警状态
+ String statusStr = map.get("status").toString();
+ map.put("statusName", EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr, "alarmStatus"));
+
+ // 工单状态
+ if (ObjectUtil.isNotEmpty(map.get("jobStatus"))) {
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+ }
+ }
@RequestMapping(value = "/export")
- public void exportAlarm(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) throws IOException {
+ public void exportAlarm(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
Page> page = PageFactory.defaultPage();
- page.setMaxLimit((long)maxRowsExcel);
+ page.setMaxLimit((long) maxRowsExcel);
page.setSize(maxRowsExcel);
page.offset();
page.setSearchCount(false);
@@ -104,25 +167,36 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> alarmExpList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
- new AlarmRecordWarpper(alarmExpList).warp();
-
+ List> alarmExpList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ alarmExpList.forEach(this::alarmRecordWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(alarmExpList)) {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecEmpty.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecEmpty.xlsx");
} else {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecTemplate.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecTemplate.xlsx");
}
try {
httpServletResponse.setContentType("application/octet-stream");
- httpServletResponse.addHeader("Content-Disposition", " attachment;filename="+"alarmOverview.xlsx" );
+ httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "alarmOverview.xlsx");
- Map var = new HashMap<>();
- var.put("标题","报警一览表");
- var.put("list",alarmExpList);
- ExcelIO.writeTemplate(fileInputStream,httpServletResponse.getOutputStream(),var);
+ Map var = new HashMap<>();
+ var.put("标题", "报警一览表");
+ var.put("list", alarmExpList);
+
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("设备编号", "devcode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmTypeName"));
+ dataFieldDefines.add(new DataFieldDefine("告警原因", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("权属单位", "deptName"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+
+ this.exportExcelMaps(dataFieldDefines, alarmExpList, "报警一览表");
} catch (IOException e) {
e.printStackTrace();
@@ -132,7 +206,8 @@
httpServletResponse.getOutputStream().flush();
httpServletResponse.getOutputStream().close();
fileInputStream.close();
- };
+ }
+ ;
}
@@ -141,15 +216,15 @@
*/
@RequestMapping(value = "/cancelAlarm")
@ResponseBody
- public Object cancelAlarm(@RequestParam(value = "id",required = true) int id, //jobId
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object cancelAlarm(@RequestParam(value = "id", required = true) int id, //jobId
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- boolean isCancel = alarmRecordsService.cancelAlarm(id,jobStatus,handleMessage,currentUser.getId());
- if(isCancel){
+ boolean isCancel = alarmRecordsService.cancelAlarm(id, jobStatus, handleMessage, currentUser.getId());
+ if (isCancel) {
return ResponseData.success();
- }else {
+ } else {
return ResponseData.error("failure");
}
}
@@ -160,22 +235,22 @@
@RequestMapping(value = "/batchCancel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object batchCancel(@RequestParam(value = "keywords",required = false) String keywords,
- @RequestParam(value = "alarmType",required = false) String alarmType,
- @RequestParam(value = "alarmContent",required = false) String alarmContent,
- @RequestParam(value = "beginTime",required = false) String beginTime,
- @RequestParam(value = "endTime",required = false) String endTime,
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object batchCancel(@RequestParam(value = "keywords", required = false) String keywords,
+ @RequestParam(value = "alarmType", required = false) String alarmType,
+ @RequestParam(value = "alarmContent", required = false) String alarmContent,
+ @RequestParam(value = "beginTime", required = false) String beginTime,
+ @RequestParam(value = "endTime", required = false) String endTime,
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
//根据查询条件查询alarm_record记录
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope,keywords,alarmType,alarmContent,beginTime,endTime);
+ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime);
//根据jobId调用closeJob
for (AlarmRecords alarmRecord : alarmRecords) {
- alarmRecordsService.cancelAlarm(alarmRecord.getJobId(),jobStatus,handleMessage,currentUser.getId());
+ alarmRecordsService.cancelAlarm(alarmRecord.getJobId(), jobStatus, handleMessage, currentUser.getId());
}
return ResponseData.success();
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
index 7a645dd..3b39aeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
@@ -1,21 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRuleService;
import com.casic.missiles.modular.system.dto.AlarmRuleDTO;
-import com.casic.missiles.modular.system.warpper.AlarmRuleWarpper;
+import com.casic.missiles.modular.system.service.IDeviceRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.util.StrUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -54,8 +54,9 @@
public Map list(String keywords, HttpServletRequest httpServletRequest) {
String deviceType = httpServletRequest.getParameter("deviceType");
- if (StrUtil.isEmpty(deviceType))
+ if (StrUtil.isEmpty(deviceType)) {
deviceType = "";
+ }
Page> page = PageFactory.defaultPage();
Map retMap = new HashMap<>();
boolean bSessionValid = false;
@@ -66,9 +67,10 @@
return retMap;
}
List> retList = new ArrayList<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
retList = alarmRuleService.ruleListViaParam(page, keywords, deviceType, dataScope);
- new AlarmRuleWarpper(retList).warp();
+ retList.stream().forEach(this::alarmRuleWrapper);
page.setRecords(retList);
retMap.put("code", 200);
retMap.put("message", "success");
@@ -76,11 +78,19 @@
return retMap;
}
+ private void alarmRuleWrapper(Map map) {
+ String deviceType = map.get("deviceType").toString();
+ long deptid = Long.parseLong(map.get("deptid").toString());
+ map.put("deviceTypeName", EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ }
+
@RequestMapping(value = "/update")
@ResponseBody
public Map updateRule(@RequestParam(value = "id", required = true) int id, HttpServletRequest httpServletRequest) {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
if (super.getSession().getAttribute("sessionFlag") == null) {
retMap.put("code", 505);
retMap.put("message", "sessionExpired");
@@ -90,10 +100,12 @@
String sLow = httpServletRequest.getParameter("lowValue");
float highValue = 99999;
float lowValue = -99999;
- if (StrUtil.isNotEmpty(sHigh))
+ if (StrUtil.isNotEmpty(sHigh)) {
highValue = Float.parseFloat(sHigh);
- if (StrUtil.isNotEmpty(sLow))
+ }
+ if (StrUtil.isNotEmpty(sLow)) {
lowValue = Float.parseFloat(sLow);
+ }
if (alarmRuleService.updateRule(id, highValue, lowValue)) {
retMap.put("code", 200);
@@ -138,7 +150,7 @@
@RequestMapping(value = "/delete")
@ResponseBody
public Object delete(@RequestParam Integer id) {
- alarmRuleService.deleteById(id);
+ alarmRuleService.removeById(id);
return ResponseData.success();
}
@@ -151,8 +163,9 @@
public Map getNoAlarmDevice() {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
- List alarmRuleList= alarmRuleService.getNoAlarmDevice(dataScope);
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
+ List alarmRuleList = alarmRuleService.getNoAlarmDevice(dataScope);
retMap.put("code", 200);
retMap.put("message", "success");
retMap.put("data", alarmRuleList);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
new file mode 100644
index 0000000..a749516
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
@@ -0,0 +1,109 @@
+package com.casic.missiles.modular.alarm.job;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.modular.alarm.service.IAlarmJobService;
+import com.casic.missiles.modular.system.model.AlarmJob;
+import com.casic.missiles.modular.system.util.PushList;
+import com.casic.missiles.modular.system.util.WebSocket;
+import com.casic.missiles.quartz.service.IQuartzManager;
+import com.gexin.rp.sdk.base.IPushResult;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.support.AbstractApplicationContext;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class DelayJob implements Job {
+
+ private static final Logger logger = LoggerFactory.getLogger(DelayJob.class);
+
+ private Integer jobId;
+ private IAlarmJobService iAlarmJobService;
+ private AbstractApplicationContext iCommonUserService;
+ private IQuartzManager iQuartzManager;
+ private WebSocket webSocket;
+
+ public void setJobId(Integer jobId) {
+ this.jobId = jobId;
+ }
+
+ public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
+ this.iAlarmJobService = iAlarmJobService;
+ }
+
+ public void setICommonUserService(AbstractApplicationContext iCommonUserService) {
+ this.iCommonUserService = iCommonUserService;
+ }
+
+ public void setIQuartzManager(IQuartzManager iQuartzManager) {
+ this.iQuartzManager = iQuartzManager;
+ }
+
+ public void setWebSocket(WebSocket webSocket) {
+ this.webSocket = webSocket;
+ }
+
+ @Override
+ public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+
+ //业务逻辑
+ SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
+ System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
+ getJobDelay(jobId);
+ }
+
+ private void getJobDelay(Integer id) {
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if (!"3".equals(alarmJob.getJobStatus()) && !"4".equals(alarmJob.getJobStatus())) {
+ // 超时未处理 // 延时标签
+ alarmJob.setJobFlagDelay("2");
+ // 延时记录
+ String jobFlag = alarmJob.getJobFlag1();
+ if (StrUtil.isNotEmpty(jobFlag)) {
+ jobFlag += ",2";
+ } else {
+ jobFlag = "2";
+ }
+ alarmJob.setJobFlag1(jobFlag);
+ iAlarmJobService.updateById(alarmJob); // 更新记录
+ // APP推送
+ Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
+ String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
+ List clientIds = new ArrayList<>();
+ if (StrUtil.isNotEmpty(clientId)) {
+ clientIds.add(clientId);
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未处理");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未处理工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
+ }
+ } else {
+ logger.info("超时未处理工单找不到责任人,未推送:" + id.toString());
+ }
+ // PC推送,推给信息办
+ //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+// EntityWrapper wrapper = new EntityWrapper();
+// wrapper.eq("DEPTID","1178242562491285506");
+// List userList = iCommonUserService.selectUsersList(wrapper,null);
+// List userIds = new ArrayList<>();
+// for (User user : userList) {
+// userIds.add(user.getId().toString());
+// }
+// Map map = new HashMap();
+// map.put("message","有新的超时未处理工单");
+// map.put("type","overtimeHandle");
+// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
+ }
+ String jobName = "getJobDelay" + id;
+ iQuartzManager.removeJob(jobName);
+ }
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
index ba9f439..9d72902 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
@@ -1,10 +1,10 @@
package com.casic.missiles.modular.alarm.job;
-import com.casic.missiles.core.common.service.ICommonUserService;
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.modular.system.dto.UserClientView;
import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -15,19 +15,20 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
@Component
-public class HandleAlarmJob implements Job{
+public class HandleAlarmJob implements Job {
private static final Logger logger = LoggerFactory.getLogger(HandleAlarmJob.class);
private Integer jobId;
private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
+ private AbstractPermissionContext iCommonUserService;
private IQuartzManager iQuartzManager;
private WebSocket webSocket;
private List userClientViewList;
@@ -40,7 +41,7 @@
this.iAlarmJobService = iAlarmJobService;
}
- public void setICommonUserService(ICommonUserService iCommonUserService) {
+ public void setICommonUserService(AbstractPermissionContext iCommonUserService) {
this.iCommonUserService = iCommonUserService;
}
@@ -62,29 +63,29 @@
}
private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if("0".equals(alarmJob.getJobStatus())){
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if ("0".equals(alarmJob.getJobStatus())) {
// 超时未接收
alarmJob.setJobFlagDelay("1"); // 延时标签
alarmJob.setJobFlag1("1");
iAlarmJobService.updateById(alarmJob); // 更新记录
// APP推送 推给井盖所属权属单位
List clientIds = new ArrayList<>();
- for(UserClientView userClientView:userClientViewList){
- if(StrUtil.isNotEmpty(userClientView.getClientid())){
+ for (UserClientView userClientView : userClientViewList) {
+ if (StrUtil.isNotEmpty(userClientView.getClientid())) {
clientIds.add(userClientView.getClientid());
}
}
- if(clientIds.size()>0){
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未接收");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未接收工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
+ if (clientIds.size() > 0) {
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未接收");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未接收工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
}
- }else{
- logger.info("超时未接收工单找不到责任人,未推送:"+id.toString());
+ } else {
+ logger.info("超时未接收工单找不到责任人,未推送:" + id.toString());
}
// PC推送,推给信息办
// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
deleted file mode 100644
index 46eeda9..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package com.casic.missiles.modular.alarm.job;
-
-import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.util.PushList;
-import com.casic.missiles.modular.system.util.WebSocket;
-import com.casic.missiles.quartz.service.IQuartzManager;
-import com.gexin.rp.sdk.base.IPushResult;
-import com.google.gson.GsonBuilder;
-import org.quartz.Job;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
-
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-@Component
-public class getDelayJob implements Job {
-
- private static final Logger logger = LoggerFactory.getLogger(getDelayJob.class);
-
- private Integer jobId;
- private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
- private IQuartzManager iQuartzManager;
- private WebSocket webSocket;
-
- public void setJobId(Integer jobId) {
- this.jobId = jobId;
- }
-
- public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
- this.iAlarmJobService = iAlarmJobService;
- }
-
- public void setICommonUserService(ICommonUserService iCommonUserService) {
- this.iCommonUserService = iCommonUserService;
- }
-
- public void setIQuartzManager(IQuartzManager iQuartzManager) {
- this.iQuartzManager = iQuartzManager;
- }
-
- public void setWebSocket(WebSocket webSocket) {
- this.webSocket = webSocket;
- }
-
- @Override
- public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-
- //业务逻辑
- SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
- System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
- getJobDelay(jobId);
- }
-
- private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if(!"3".equals(alarmJob.getJobStatus()) &&!"4".equals(alarmJob.getJobStatus())){
- // 超时未处理
- alarmJob.setJobFlagDelay("2"); // 延时标签
- String jobFlag = alarmJob.getJobFlag1(); // 延时记录
- if(StrUtil.isNotEmpty(jobFlag)){
- jobFlag += ",2";
- }else{
- jobFlag = "2";
- }
- alarmJob.setJobFlag1(jobFlag);
- iAlarmJobService.updateById(alarmJob); // 更新记录
- // APP推送
- Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
- String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
- List clientIds = new ArrayList<>();
- if(StrUtil.isNotEmpty(clientId)){
- clientIds.add(clientId);
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未处理");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未处理工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
- }
- }else{
- logger.info("超时未处理工单找不到责任人,未推送:"+id.toString());
- }
- // PC推送,推给信息办
- //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
-// EntityWrapper wrapper = new EntityWrapper();
-// wrapper.eq("DEPTID","1178242562491285506");
-// List userList = iCommonUserService.selectUsersList(wrapper,null);
-// List userIds = new ArrayList<>();
-// for (User user : userList) {
-// userIds.add(user.getId().toString());
-// }
-// Map map = new HashMap();
-// map.put("message","有新的超时未处理工单");
-// map.put("type","overtimeHandle");
-// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
- }
- String jobName = "getJobDelay" + id;
- iQuartzManager.removeJob(jobName);
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
index d9ca2a1..450b861 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
@@ -1,11 +1,13 @@
package com.casic.missiles.modular.alarm.service.impl;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.enums.UserQueryEnum;
import com.casic.missiles.modular.alarm.job.HandleAlarmJob;
-import com.casic.missiles.modular.alarm.job.getDelayJob;
+import com.casic.missiles.modular.alarm.job.DelayJob;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.util.EhcacheConstant;
@@ -16,7 +18,7 @@
import com.casic.missiles.modular.system.model.AlarmJob;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -31,7 +33,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
-import cn.hutool.core.util.ObjectUtil;
+
import cn.hutool.core.util.StrUtil;
/**
@@ -68,7 +70,8 @@
@Resource
private IQuartzManager quartzManager;
- @Autowired IBusWellInfoService busWellInfoService;
+ @Resource
+ private IBusWellInfoSupportService busWellInfoService;
@Override
public List> jobList(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, DataScope dataScope,Long userId) {
@@ -177,7 +180,7 @@
map.put("iCommonUserService",iCommonUserService);
map.put("iQuartzManager",quartzManager);
map.put("webSocket",webSocket);
- quartzManager.addJob(jobName,getDelayJob.class,shouldHandleTime,map);
+ quartzManager.addJob(jobName, DelayJob.class,shouldHandleTime,map);
}
return this.baseMapper.getJob(id,personId,getTime,shouldHandleTime);
@@ -228,7 +231,7 @@
@Override
public boolean checkJobStatus(String jobStatus) {
- if(ToolUtil.isEmpty(jobStatus)){
+ if(StrUtil.isEmpty(jobStatus)){
return false;
}else{
return "1".equals(jobStatus) || "2".equals(jobStatus) || "3".equals(jobStatus);
@@ -283,7 +286,7 @@
public void updateSinkJob(String id, String msg,String wellCode) {
List userClientViewList = new ArrayList<>();
List selectDtoList = selectRoles();
- EntityWrapper busWellInfoEntityWrapper = new EntityWrapper<>();
+ QueryWrapper busWellInfoEntityWrapper = new QueryWrapper<>();
busWellInfoEntityWrapper.eq("WELL_CODE",wellCode);
BusWellInfo busWellInfo = busWellInfoService.selectOne(busWellInfoEntityWrapper);
if(busWellInfo!=null&&StrUtil.isNotEmpty(busWellInfo.getDeptid())){
@@ -338,10 +341,10 @@
logger.info("告警消息app端找不到责任人,未推送:" + msg);
}
// PC推送,推给信息办
-// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
- EntityWrapper wrapper = new EntityWrapper();
- wrapper.eq("DEPTID", "1178242562491285506");
- List userList = iCommonUserService.selectUsersList(wrapper, null);
+ // List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+ QueryWrapper wrapper = new QueryWrapper();
+ wrapper.eq(UserQueryEnum.DEPT_ID, "1178242562491285506");
+ List userList = iCommonUserService.getUserService().list(wrapper);
for (User user : userList) {
userIds.add(user.getId().toString());
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
index 134a817..44f6788 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
@@ -1,13 +1,16 @@
package com.casic.missiles.modular.system.controller;
-import com.casic.missiles.core.base.controller.BaseController;
+import cn.hutool.core.util.ObjectUtil;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.model.exception.ServiceException;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.model.response.SuccessResponseData;
import com.casic.missiles.modular.system.dto.AlarmNowView;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.service.IAlarmNowViewService;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -20,7 +23,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import cn.hutool.core.util.ObjectUtil;
+
/**
* 地图总览模块的controller
*
@@ -38,7 +41,7 @@
private IAlarmNowViewService alarmNowViewService;
@Autowired
- private IBusWellInfoService busWellInfoService;
+ private IBusWellInfoSupportService busWellInfoService;
/**
* 获取当前全部告警列表
@@ -65,20 +68,20 @@
@RequestMapping(value = "/alarmsByWell", method = RequestMethod.GET)
@ResponseBody
public Object alarmsByWell(@RequestParam(required = true) Long id) {
- if(ObjectUtil.isEmpty(id)){
- throw new GunsException(GunsExceptionEnum.REQUEST_NULL);
+ if (ObjectUtil.isEmpty(id)) {
+ throw new ServiceException(CoreExceptionEnum.REQUEST_NULL);
}
SuccessResponseData successResult = new SuccessResponseData();
// 查询闸井信息
- BusWellInfo busWellInfo = busWellInfoService.selectById(id);
+ BusWellInfo busWellInfo = busWellInfoService.getById(id);
Map dataMap = new HashMap();
if (null != busWellInfo) {
dataMap.put("id", busWellInfo.getId());
dataMap.put("wellCode", busWellInfo.getWellCode());
dataMap.put("deptId", busWellInfo.getDeptid());
- dataMap.put("deptName", permissionService.getDeptName(String.valueOf(busWellInfo.getDeptid())));
- dataMap.put("wellTypeName",busWellInfo.getWellTypeName());
+ dataMap.put("deptName", permissionService.getDeptService().getDeptName(String.valueOf(busWellInfo.getDeptid())));
+ dataMap.put("wellTypeName", busWellInfo.getWellTypeName());
dataMap.put("position", busWellInfo.getPosition());
dataMap.put("deep", busWellInfo.getDeep());
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
index 263839d..d1e0d38 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
@@ -1,7 +1,7 @@
package com.casic.missiles.modular.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.dao.AlarmNowViewMapper;
import com.casic.missiles.modular.system.dto.AlarmNowView;
@@ -13,7 +13,7 @@
/**
*
- * 服务实现类
+ * 服务实现类
*
*
* @author casic123
@@ -23,13 +23,13 @@
public class AlarmNowViewServiceImpl extends ServiceImpl implements IAlarmNowViewService {
@Resource
- private AbstractPermissionContext permissionService;
+ private AbstractDictService dictService;
@Override
public List getNowAlarmRecords(DataScope dataScope) {
List alarmNowViewList = this.baseMapper.getNowAlarmRecords(dataScope);
for (AlarmNowView alarmNowView : alarmNowViewList) {
- alarmNowView.setWellTypeName(permissionService.getDictNameByCode("sluicewellType",alarmNowView.getWellType()));
+ alarmNowView.setWellTypeName(dictService.getDictNameByCode("sluicewellType", alarmNowView.getWellType()));
}
return alarmNowViewList;
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
index 760fdf6..affce72 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
@@ -1,15 +1,15 @@
package com.casic.missiles.modular.system.service.impl;
+import cn.hutool.core.util.ObjectUtil;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.dao.AlarmNowViewMapper;
import com.casic.missiles.modular.system.dao.StatisticMapper;
import com.casic.missiles.modular.system.model.Dept;
import com.casic.missiles.modular.system.service.IStatisticsService;
import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import cn.hutool.core.util.ObjectUtil;
import javax.annotation.Resource;
import java.text.ParseException;
@@ -18,35 +18,37 @@
@Service
public class StatisticServiceImpl implements IStatisticsService {
- @Autowired
+ @Resource
private StatisticMapper statisticMapper;
- @Autowired
+ @Resource
private AlarmNowViewMapper alarmNowViewMapper;
@Resource
private AbstractPermissionContext permissionService;
+ @Resource
+ private AbstractDictService dictService;
@Override
public List> wellStaticsByDept(DataScope dataScope) {
List> mapList = statisticMapper.wellStaticsByDept(dataScope);
for (Map map : mapList) {
- map.put("pidName",permissionService.getDeptName(Long.valueOf(map.get("pid").toString())));
+ map.put("pidName", permissionService.getDeptService().getDeptName(Long.valueOf(map.get("pid").toString())));
}
return mapList;
}
@Override
public List> wellStaticsByType(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
List> mapList = statisticMapper.wellStaticsByType(deptIds);
for (Map map : mapList) {
- map.put("wellTypeName",permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString()));
+ map.put("wellTypeName", dictService.getDictNameByCode("sluicewellType", map.get("wellType").toString()));
}
return mapList;
}
@Override
public List> deviceStaticsByType(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
List> mapList = statisticMapper.deviceStaticsByType(deptIds);
// for (Map map : mapList) {
// map.replace("deviceType",sysDictMapper.getDeviceTypeNameById(map.get("deviceType").toString()));
@@ -55,51 +57,53 @@
}
@Override
- public List> deviceStaticsByDept(DataScope dataScope,String deviceType) {
- List> mapList = statisticMapper.deviceStaticsByDept(dataScope,deviceType);
+ public List> deviceStaticsByDept(DataScope dataScope, String deviceType) {
+ List> mapList = statisticMapper.deviceStaticsByDept(dataScope, deviceType);
for (Map map : mapList) {
- map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString())));
+ map.put("deptName", permissionService.getDeptService().getDeptName(Long.valueOf(map.get("deptid").toString())));
}
return mapList;
}
@Override
public Map deviceStaticsByStatus(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
Map map = statisticMapper.deviceStaticsByStatus(deptIds);
- for(String s:map.keySet()){ //value都转为string
- map.replace(s,map.get(s).toString());
+ for (String s : map.keySet()) { //value都转为string
+ map.replace(s, map.get(s).toString());
}
return map;
}
@Override
- public List> jobsByDept(DataScope dataScope,String beginTime, String endTime, String deviceType) throws ParseException {
+ public List> jobsByDept(DataScope dataScope, String beginTime, String endTime, String deviceType) throws ParseException {
List> mapList = new ArrayList<>();
List deptIds = dataScope.getDeptIds();
for (Long deptId : deptIds) {
- if(deptId==0){ // 顶级不统计
+ // 顶级不统计
+ if (deptId == 0) {
continue;
}
- Dept dept = permissionService.getDeptById(deptId);
- if( ObjectUtil.isEmpty(dept) || "04".equals(dept.getDeptType())){ // 小组不统计
+ Dept dept = permissionService.getDeptService().getById(deptId);
+ // 小组不统计
+ if (ObjectUtil.isEmpty(dept) || "04".equals(dept.getDeptType())) {
continue;
}
Map map = new HashMap<>();
- List subDeptIds = permissionService.getSubDepts(deptId,null);
+ List subDeptIds = permissionService.getDeptService().getIdsRecursionByPid(deptId, null);
subDeptIds.add(deptId);
- String subDeptIdstr = StringUtils.strip(subDeptIds.toString(),"[]");
+ String subDeptIdstr = StringUtils.strip(subDeptIds.toString(), "[]");
map.put("deptId", deptId);
- map.put("deptName",permissionService.getDeptName(deptId));
- Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr,beginTime,endTime);
- if(ToolUtil.isNotEmpty(countMap)){
+ map.put("deptName", permissionService.getDeptService().getDeptName(deptId));
+ Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr, beginTime, endTime);
+ if (ObjectUtil.isNotEmpty(countMap)) {
map.putAll(countMap);
- }else{
- map.put("beforeGet",0);
- map.put("beforeConfirm",0);
- map.put("inHandle",0);
- map.put("over",0);
- map.put("cancel",0);
+ } else {
+ map.put("beforeGet", 0);
+ map.put("beforeConfirm", 0);
+ map.put("inHandle", 0);
+ map.put("over", 0);
+ map.put("cancel", 0);
}
mapList.add(map);
}
@@ -108,23 +112,23 @@
@Override
public List> alarmsByDay(String beginTime, String endTime, DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
List> mapList = new ArrayList<>();
- try{
+ try {
Date beginDate = sdf1.parse(beginTime);
Date endDate = sdf1.parse(endTime);
Calendar date = Calendar.getInstance();
date.setTime(beginDate);
while (date.getTime().compareTo(endDate) <= 0) {
String tmp = sdf1.format(date.getTime());
- Map map = alarmNowViewMapper.countAlarmsByDay(tmp,deptIds);
- map.put("date",sdf2.format(date.getTime()));
+ Map map = alarmNowViewMapper.countAlarmsByDay(tmp, deptIds);
+ map.put("date", sdf2.format(date.getTime()));
mapList.add(map);
- date.add(Calendar.DAY_OF_MONTH,1);
+ date.add(Calendar.DAY_OF_MONTH, 1);
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
return mapList;
diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml
index 95d7f58..88f7dc3 100644
--- a/casic-alarm/pom.xml
+++ b/casic-alarm/pom.xml
@@ -28,21 +28,36 @@
${admin.version}
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java b/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
deleted file mode 100644
index 460d4db..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * SpringBoot方式启动类
- *
- * @author lwh
- * @Date 2021/06/06 12:06
- */
-@SpringBootApplication
-@EnableCaching
-@EnableScheduling
-@EnableTransactionManagement(proxyTargetClass = true)
-@EnableAsync
-@ServletComponentScan
-@Slf4j
-public class CasicApplication {
- public static void main(String[] args) {
- SpringApplication.run(CasicApplication.class, args);
- log.info("CasicApplication is success!");
- }
-
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
index ef473af..6a426fa 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
@@ -1,19 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.alarm.service.ISysDictService;
-import com.casic.missiles.modular.system.warpper.AlarmJobWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -29,7 +31,10 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
@@ -40,7 +45,7 @@
*/
@Controller
@RequestMapping("/job")
-public class AlarmJobController extends BaseController {
+public class AlarmJobController extends ExportController {
@Autowired
@@ -146,16 +151,93 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatusStr)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatusStr));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatusStr));
}
}
retList = alarmJobService.jobListApp(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmJobWrapper(Map map) {
+ // 设置人员姓名
+ for (String key : map.keySet()) {
+ if (key.contains("JobPerson") || key.contains("jobBelongTo")) {
+ Object object = map.get(key);
+ if (object != null) {
+ String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
+ map.replace(key, newVal);
+ }
+ }
+ }
+
+ //设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (ObjectUtil.isEmpty(staffstr)) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 工单状态
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 流转记录(工单详情用)
+ if (map.containsKey("flow")) {
+ String flow = (String) map.get("flow");
+ flow = "[" + flow.replaceFirst(",", "") + "]";
+ List list = new ArrayList<>();
+ JSONArray jsonArray = JSONArray.parseArray(flow);
+ list = jsonArray.toJavaList(Map.class);
+ map.replace("flow", list);
+ }
+ }
+
/**
* 工单查询接口 APP用
*/
@@ -181,14 +263,13 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatus)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatus));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus));
}
}
retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime,
handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
Map retMap = new HashMap<>();
@@ -227,7 +308,7 @@
}
retList = alarmJobService.jobListDelayReApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -265,7 +346,7 @@
}
retList = alarmJobService.jobListDelayProApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -294,22 +375,35 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId());
- new AlarmJobWarpper(jobExpList).warp();
+ jobExpList.forEach(this::alarmJobWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(jobExpList)) {
fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx");
} else {
fileInputStream = new FileInputStream(templatePath + "/jobRecTemplate.xlsx");
}
+
try {
+
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "jobOverview.xlsx");
-
Map var = new HashMap<>();
var.put("标题", "工单一览表");
var.put("list", jobExpList);
- ExcelIO.writeTemplate(fileInputStream, httpServletResponse.getOutputStream(), var);
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("工单编号", "jobCode"));
+ dataFieldDefines.add(new DataFieldDefine("工单创建时间", "createTime"));
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("告警时间", "alarmTime"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+ dataFieldDefines.add(new DataFieldDefine("处理人", "handleJobPerson"));
+ dataFieldDefines.add(new DataFieldDefine("处理时间", "handleJobTime"));
+ this.exportExcelMaps(dataFieldDefines, jobExpList, "工单一览表");
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
@@ -361,7 +455,7 @@
@RequestMapping(value = "/transferJob")
@ResponseBody
public Object transferJob(@RequestParam(value = "id", required = true) int id,
- @RequestParam(value = "transferPerson", required = true) String transferPerson) throws JSONException {
+ @RequestParam(value = "transferPerson", required = true) String transferPerson) {
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
@@ -437,8 +531,7 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
List> retList = alarmJobService.jobInfo(id, dataScope, currentUser.getId());
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
return ResponseData.success(retList);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
index 5ec9ed1..a1432fd 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
@@ -1,22 +1,23 @@
package com.casic.missiles.modular.alarm.controller;
-import com.alibaba.fastjson.JSON;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.util.EhcacheConstant;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmLevelService;
import com.casic.missiles.modular.system.model.AlarmLevel;
import com.casic.missiles.modular.system.model.DeptPermission;
+import com.casic.missiles.modular.system.service.IDeptPermissionService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.util.*;
@@ -36,73 +37,74 @@
private IAlarmLevelService alarmLevelService;
@Resource
private AbstractPermissionContext permissionService;
- @Autowired
- private AbstractDeptService deptPermissionService;
+ @Resource
+ private IDeptPermissionService deptPermissionService;
/**
* 获取告警等级列表
*/
@RequestMapping("/levelList")
@ResponseBody
- public Object levelList(Long tenantId){
- List> levelList = new ArrayList<>();
+ public Object levelList(Long tenantId) {
+ List> levelList = new ArrayList<>();
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
DeptPermission deptPermission = deptPermissionService.selectDeptPermission(currUser.getDeptId());
- if(ObjectUtil.isEmpty(deptPermission)){
+ if (ObjectUtil.isEmpty(deptPermission)) {
return levelList;
}
- for(Object deviceType: JSON.parseObject(deptPermission.getDeviceType(), List.class)){
+ for (Object deviceType : JSON.parseObject(deptPermission.getDeviceType(), List.class)) {
String deviceTypeName = EhcacheConstant.retBean().getDeviceTypeNameById(deviceType.toString());
List names = new ArrayList<>();
- if(deviceTypeName.contains("液位")){
+ if (deviceTypeName.contains("液位")) {
names.add("液位");
}
- if(deviceTypeName.contains("有害气体")){
+ if (deviceTypeName.contains("有害气体")) {
names.add("一氧化碳");
names.add("硫化氢");
names.add("甲烷");
names.add("氧气");
}
- if(deviceTypeName.contains("燃气")){
+ if (deviceTypeName.contains("燃气")) {
names.add("燃气");
}
- if(deviceTypeName.contains("温湿度")){
+ if (deviceTypeName.contains("温湿度")) {
names.add("温度");
names.add("湿度");
}
- if(deviceTypeName.contains("开挖")){
+ if (deviceTypeName.contains("开挖")) {
names.add("开挖");
}
- for(String name: names){
+ for (String name : names) {
Map levelMap = new HashMap<>();
- Map level = alarmLevelService.selectByNameAndTenGroup(tenantId,name);
- levelMap.put("name",name);
- levelMap.put("deviceType",deviceType);
- levelMap.put("deviceTypeName",deviceTypeName);
+ Map level = alarmLevelService.selectByNameAndTenGroup(tenantId, name);
+ levelMap.put("name", name);
+ levelMap.put("deviceType", deviceType);
+ levelMap.put("deviceTypeName", deviceTypeName);
- if(ObjectUtil.isEmpty(level.get("openAlarm"))){
- levelMap.put("openAlarm","");
- }else{
- levelMap.put("openAlarm",level.get("openAlarm").toString());
+ if (ObjectUtil.isEmpty(level.get("openAlarm"))) {
+ levelMap.put("openAlarm", "");
+ } else {
+ levelMap.put("openAlarm", level.get("openAlarm").toString());
}
- if(ObjectUtil.isEmpty(level.get("openJob"))){
- levelMap.put("openJob","");
- }else{
- levelMap.put("openJob",level.get("openJob").toString());
+ if (ObjectUtil.isEmpty(level.get("openJob"))) {
+ levelMap.put("openJob", "");
+ } else {
+ levelMap.put("openJob", level.get("openJob").toString());
}
- if(ObjectUtil.isEmpty(level.get("ts"))){
- levelMap.put("ts","");
- }else{
- levelMap.put("ts",level.get("ts").toString());
+ if (ObjectUtil.isEmpty(level.get("ts"))) {
+ levelMap.put("ts", "");
+ } else {
+ levelMap.put("ts", level.get("ts").toString());
}
levelList.add(levelMap);
@@ -116,13 +118,14 @@
*/
@RequestMapping("/levelByType")
@ResponseBody
- public Object levelByType(Long tenantId, String name){
+ public Object levelByType(Long tenantId, String name) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
List levelList = alarmLevelService.selectByNameAndTenList(tenantId, name);
return ResponseData.success(levelList);
@@ -131,22 +134,23 @@
@RequestMapping("/configLevel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object configLevel(@RequestBody List levelList){
+ public Object configLevel(@RequestBody List levelList) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- String userTenantId = currUser.getTenantId(); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ String userTenantId = currUser.getTenantId();
Date currDate = new Date();
- for(AlarmLevel alarmLevel:levelList){
- if(ObjectUtil.isAllEmpty(alarmLevel.getTenantId(),userTenantId)){
+ for (AlarmLevel alarmLevel : levelList) {
+ if (ObjectUtil.isAllEmpty(alarmLevel.getTenantId(), userTenantId)) {
return ResponseData.error("无关联的项目id");
}
Long tenantId = ObjectUtil.isEmpty(alarmLevel.getTenantId()) ? Long.valueOf(userTenantId) : alarmLevel.getTenantId();
- AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId,alarmLevel.getName(),alarmLevel.getLevel());
- if(ObjectUtil.isEmpty(oldAlarmLevel)){
+ AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId, alarmLevel.getName(), alarmLevel.getLevel());
+ if (ObjectUtil.isEmpty(oldAlarmLevel)) {
//insert
alarmLevel.setTenantId(tenantId);
alarmLevel.setTs(currDate);
- alarmLevelService.insert(alarmLevel);
- }else{
+ alarmLevelService.save(alarmLevel);
+ } else {
//update
alarmLevel.setId(oldAlarmLevel.getId());
alarmLevel.setTenantId(tenantId);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
index 67e4b49..51e0d50 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
@@ -1,15 +1,19 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.AlarmRecords;
-import com.casic.missiles.modular.system.warpper.AlarmRecordWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -17,13 +21,13 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.collection.CollectionUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -36,7 +40,7 @@
*/
@Controller
@RequestMapping("/alarm")
-public class AlarmRecordsController extends BaseController {
+public class AlarmRecordsController extends ExportController {
@Autowired
@@ -44,13 +48,13 @@
@Resource
private AbstractPermissionContext iCommonPermissionService;
@Value("${smartcity.office.maxRowsExcel}")
- private int maxRowsExcel;
+ private int maxRowsExcel;
@Value("${smartcity.config.config-path}")
private String templatePath;
@Value("${smartcity.adminRoleName}")
- private String sAdmin;
+ private String sAdmin;
@Value("${smartcity.opRoleName}")
- private String sOperator;
+ private String sOperator;
/**
* 获取分页列表
@@ -62,7 +66,7 @@
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
@@ -73,28 +77,87 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> retList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
-
-
- new AlarmRecordWarpper(retList).warp();
+ List> retList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ retList.forEach(this::alarmRecordWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmRecordWrapper(Map map) {
+ // 设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (null == staffstr) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 告警状态
+ String statusStr = map.get("status").toString();
+ map.put("statusName", EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr, "alarmStatus"));
+
+ // 工单状态
+ if (ObjectUtil.isNotEmpty(map.get("jobStatus"))) {
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+ }
+ }
@RequestMapping(value = "/export")
- public void exportAlarm(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) throws IOException {
+ public void exportAlarm(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
Page> page = PageFactory.defaultPage();
- page.setMaxLimit((long)maxRowsExcel);
+ page.setMaxLimit((long) maxRowsExcel);
page.setSize(maxRowsExcel);
page.offset();
page.setSearchCount(false);
@@ -104,25 +167,36 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> alarmExpList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
- new AlarmRecordWarpper(alarmExpList).warp();
-
+ List> alarmExpList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ alarmExpList.forEach(this::alarmRecordWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(alarmExpList)) {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecEmpty.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecEmpty.xlsx");
} else {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecTemplate.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecTemplate.xlsx");
}
try {
httpServletResponse.setContentType("application/octet-stream");
- httpServletResponse.addHeader("Content-Disposition", " attachment;filename="+"alarmOverview.xlsx" );
+ httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "alarmOverview.xlsx");
- Map var = new HashMap<>();
- var.put("标题","报警一览表");
- var.put("list",alarmExpList);
- ExcelIO.writeTemplate(fileInputStream,httpServletResponse.getOutputStream(),var);
+ Map var = new HashMap<>();
+ var.put("标题", "报警一览表");
+ var.put("list", alarmExpList);
+
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("设备编号", "devcode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmTypeName"));
+ dataFieldDefines.add(new DataFieldDefine("告警原因", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("权属单位", "deptName"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+
+ this.exportExcelMaps(dataFieldDefines, alarmExpList, "报警一览表");
} catch (IOException e) {
e.printStackTrace();
@@ -132,7 +206,8 @@
httpServletResponse.getOutputStream().flush();
httpServletResponse.getOutputStream().close();
fileInputStream.close();
- };
+ }
+ ;
}
@@ -141,15 +216,15 @@
*/
@RequestMapping(value = "/cancelAlarm")
@ResponseBody
- public Object cancelAlarm(@RequestParam(value = "id",required = true) int id, //jobId
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object cancelAlarm(@RequestParam(value = "id", required = true) int id, //jobId
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- boolean isCancel = alarmRecordsService.cancelAlarm(id,jobStatus,handleMessage,currentUser.getId());
- if(isCancel){
+ boolean isCancel = alarmRecordsService.cancelAlarm(id, jobStatus, handleMessage, currentUser.getId());
+ if (isCancel) {
return ResponseData.success();
- }else {
+ } else {
return ResponseData.error("failure");
}
}
@@ -160,22 +235,22 @@
@RequestMapping(value = "/batchCancel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object batchCancel(@RequestParam(value = "keywords",required = false) String keywords,
- @RequestParam(value = "alarmType",required = false) String alarmType,
- @RequestParam(value = "alarmContent",required = false) String alarmContent,
- @RequestParam(value = "beginTime",required = false) String beginTime,
- @RequestParam(value = "endTime",required = false) String endTime,
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object batchCancel(@RequestParam(value = "keywords", required = false) String keywords,
+ @RequestParam(value = "alarmType", required = false) String alarmType,
+ @RequestParam(value = "alarmContent", required = false) String alarmContent,
+ @RequestParam(value = "beginTime", required = false) String beginTime,
+ @RequestParam(value = "endTime", required = false) String endTime,
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
//根据查询条件查询alarm_record记录
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope,keywords,alarmType,alarmContent,beginTime,endTime);
+ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime);
//根据jobId调用closeJob
for (AlarmRecords alarmRecord : alarmRecords) {
- alarmRecordsService.cancelAlarm(alarmRecord.getJobId(),jobStatus,handleMessage,currentUser.getId());
+ alarmRecordsService.cancelAlarm(alarmRecord.getJobId(), jobStatus, handleMessage, currentUser.getId());
}
return ResponseData.success();
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
index 7a645dd..3b39aeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
@@ -1,21 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRuleService;
import com.casic.missiles.modular.system.dto.AlarmRuleDTO;
-import com.casic.missiles.modular.system.warpper.AlarmRuleWarpper;
+import com.casic.missiles.modular.system.service.IDeviceRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.util.StrUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -54,8 +54,9 @@
public Map list(String keywords, HttpServletRequest httpServletRequest) {
String deviceType = httpServletRequest.getParameter("deviceType");
- if (StrUtil.isEmpty(deviceType))
+ if (StrUtil.isEmpty(deviceType)) {
deviceType = "";
+ }
Page> page = PageFactory.defaultPage();
Map retMap = new HashMap<>();
boolean bSessionValid = false;
@@ -66,9 +67,10 @@
return retMap;
}
List> retList = new ArrayList<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
retList = alarmRuleService.ruleListViaParam(page, keywords, deviceType, dataScope);
- new AlarmRuleWarpper(retList).warp();
+ retList.stream().forEach(this::alarmRuleWrapper);
page.setRecords(retList);
retMap.put("code", 200);
retMap.put("message", "success");
@@ -76,11 +78,19 @@
return retMap;
}
+ private void alarmRuleWrapper(Map map) {
+ String deviceType = map.get("deviceType").toString();
+ long deptid = Long.parseLong(map.get("deptid").toString());
+ map.put("deviceTypeName", EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ }
+
@RequestMapping(value = "/update")
@ResponseBody
public Map updateRule(@RequestParam(value = "id", required = true) int id, HttpServletRequest httpServletRequest) {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
if (super.getSession().getAttribute("sessionFlag") == null) {
retMap.put("code", 505);
retMap.put("message", "sessionExpired");
@@ -90,10 +100,12 @@
String sLow = httpServletRequest.getParameter("lowValue");
float highValue = 99999;
float lowValue = -99999;
- if (StrUtil.isNotEmpty(sHigh))
+ if (StrUtil.isNotEmpty(sHigh)) {
highValue = Float.parseFloat(sHigh);
- if (StrUtil.isNotEmpty(sLow))
+ }
+ if (StrUtil.isNotEmpty(sLow)) {
lowValue = Float.parseFloat(sLow);
+ }
if (alarmRuleService.updateRule(id, highValue, lowValue)) {
retMap.put("code", 200);
@@ -138,7 +150,7 @@
@RequestMapping(value = "/delete")
@ResponseBody
public Object delete(@RequestParam Integer id) {
- alarmRuleService.deleteById(id);
+ alarmRuleService.removeById(id);
return ResponseData.success();
}
@@ -151,8 +163,9 @@
public Map getNoAlarmDevice() {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
- List alarmRuleList= alarmRuleService.getNoAlarmDevice(dataScope);
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
+ List alarmRuleList = alarmRuleService.getNoAlarmDevice(dataScope);
retMap.put("code", 200);
retMap.put("message", "success");
retMap.put("data", alarmRuleList);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
new file mode 100644
index 0000000..a749516
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
@@ -0,0 +1,109 @@
+package com.casic.missiles.modular.alarm.job;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.modular.alarm.service.IAlarmJobService;
+import com.casic.missiles.modular.system.model.AlarmJob;
+import com.casic.missiles.modular.system.util.PushList;
+import com.casic.missiles.modular.system.util.WebSocket;
+import com.casic.missiles.quartz.service.IQuartzManager;
+import com.gexin.rp.sdk.base.IPushResult;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.support.AbstractApplicationContext;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class DelayJob implements Job {
+
+ private static final Logger logger = LoggerFactory.getLogger(DelayJob.class);
+
+ private Integer jobId;
+ private IAlarmJobService iAlarmJobService;
+ private AbstractApplicationContext iCommonUserService;
+ private IQuartzManager iQuartzManager;
+ private WebSocket webSocket;
+
+ public void setJobId(Integer jobId) {
+ this.jobId = jobId;
+ }
+
+ public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
+ this.iAlarmJobService = iAlarmJobService;
+ }
+
+ public void setICommonUserService(AbstractApplicationContext iCommonUserService) {
+ this.iCommonUserService = iCommonUserService;
+ }
+
+ public void setIQuartzManager(IQuartzManager iQuartzManager) {
+ this.iQuartzManager = iQuartzManager;
+ }
+
+ public void setWebSocket(WebSocket webSocket) {
+ this.webSocket = webSocket;
+ }
+
+ @Override
+ public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+
+ //业务逻辑
+ SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
+ System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
+ getJobDelay(jobId);
+ }
+
+ private void getJobDelay(Integer id) {
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if (!"3".equals(alarmJob.getJobStatus()) && !"4".equals(alarmJob.getJobStatus())) {
+ // 超时未处理 // 延时标签
+ alarmJob.setJobFlagDelay("2");
+ // 延时记录
+ String jobFlag = alarmJob.getJobFlag1();
+ if (StrUtil.isNotEmpty(jobFlag)) {
+ jobFlag += ",2";
+ } else {
+ jobFlag = "2";
+ }
+ alarmJob.setJobFlag1(jobFlag);
+ iAlarmJobService.updateById(alarmJob); // 更新记录
+ // APP推送
+ Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
+ String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
+ List clientIds = new ArrayList<>();
+ if (StrUtil.isNotEmpty(clientId)) {
+ clientIds.add(clientId);
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未处理");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未处理工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
+ }
+ } else {
+ logger.info("超时未处理工单找不到责任人,未推送:" + id.toString());
+ }
+ // PC推送,推给信息办
+ //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+// EntityWrapper wrapper = new EntityWrapper();
+// wrapper.eq("DEPTID","1178242562491285506");
+// List userList = iCommonUserService.selectUsersList(wrapper,null);
+// List userIds = new ArrayList<>();
+// for (User user : userList) {
+// userIds.add(user.getId().toString());
+// }
+// Map map = new HashMap();
+// map.put("message","有新的超时未处理工单");
+// map.put("type","overtimeHandle");
+// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
+ }
+ String jobName = "getJobDelay" + id;
+ iQuartzManager.removeJob(jobName);
+ }
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
index ba9f439..9d72902 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
@@ -1,10 +1,10 @@
package com.casic.missiles.modular.alarm.job;
-import com.casic.missiles.core.common.service.ICommonUserService;
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.modular.system.dto.UserClientView;
import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -15,19 +15,20 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
@Component
-public class HandleAlarmJob implements Job{
+public class HandleAlarmJob implements Job {
private static final Logger logger = LoggerFactory.getLogger(HandleAlarmJob.class);
private Integer jobId;
private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
+ private AbstractPermissionContext iCommonUserService;
private IQuartzManager iQuartzManager;
private WebSocket webSocket;
private List userClientViewList;
@@ -40,7 +41,7 @@
this.iAlarmJobService = iAlarmJobService;
}
- public void setICommonUserService(ICommonUserService iCommonUserService) {
+ public void setICommonUserService(AbstractPermissionContext iCommonUserService) {
this.iCommonUserService = iCommonUserService;
}
@@ -62,29 +63,29 @@
}
private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if("0".equals(alarmJob.getJobStatus())){
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if ("0".equals(alarmJob.getJobStatus())) {
// 超时未接收
alarmJob.setJobFlagDelay("1"); // 延时标签
alarmJob.setJobFlag1("1");
iAlarmJobService.updateById(alarmJob); // 更新记录
// APP推送 推给井盖所属权属单位
List clientIds = new ArrayList<>();
- for(UserClientView userClientView:userClientViewList){
- if(StrUtil.isNotEmpty(userClientView.getClientid())){
+ for (UserClientView userClientView : userClientViewList) {
+ if (StrUtil.isNotEmpty(userClientView.getClientid())) {
clientIds.add(userClientView.getClientid());
}
}
- if(clientIds.size()>0){
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未接收");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未接收工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
+ if (clientIds.size() > 0) {
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未接收");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未接收工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
}
- }else{
- logger.info("超时未接收工单找不到责任人,未推送:"+id.toString());
+ } else {
+ logger.info("超时未接收工单找不到责任人,未推送:" + id.toString());
}
// PC推送,推给信息办
// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
deleted file mode 100644
index 46eeda9..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package com.casic.missiles.modular.alarm.job;
-
-import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.util.PushList;
-import com.casic.missiles.modular.system.util.WebSocket;
-import com.casic.missiles.quartz.service.IQuartzManager;
-import com.gexin.rp.sdk.base.IPushResult;
-import com.google.gson.GsonBuilder;
-import org.quartz.Job;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
-
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-@Component
-public class getDelayJob implements Job {
-
- private static final Logger logger = LoggerFactory.getLogger(getDelayJob.class);
-
- private Integer jobId;
- private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
- private IQuartzManager iQuartzManager;
- private WebSocket webSocket;
-
- public void setJobId(Integer jobId) {
- this.jobId = jobId;
- }
-
- public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
- this.iAlarmJobService = iAlarmJobService;
- }
-
- public void setICommonUserService(ICommonUserService iCommonUserService) {
- this.iCommonUserService = iCommonUserService;
- }
-
- public void setIQuartzManager(IQuartzManager iQuartzManager) {
- this.iQuartzManager = iQuartzManager;
- }
-
- public void setWebSocket(WebSocket webSocket) {
- this.webSocket = webSocket;
- }
-
- @Override
- public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-
- //业务逻辑
- SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
- System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
- getJobDelay(jobId);
- }
-
- private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if(!"3".equals(alarmJob.getJobStatus()) &&!"4".equals(alarmJob.getJobStatus())){
- // 超时未处理
- alarmJob.setJobFlagDelay("2"); // 延时标签
- String jobFlag = alarmJob.getJobFlag1(); // 延时记录
- if(StrUtil.isNotEmpty(jobFlag)){
- jobFlag += ",2";
- }else{
- jobFlag = "2";
- }
- alarmJob.setJobFlag1(jobFlag);
- iAlarmJobService.updateById(alarmJob); // 更新记录
- // APP推送
- Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
- String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
- List clientIds = new ArrayList<>();
- if(StrUtil.isNotEmpty(clientId)){
- clientIds.add(clientId);
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未处理");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未处理工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
- }
- }else{
- logger.info("超时未处理工单找不到责任人,未推送:"+id.toString());
- }
- // PC推送,推给信息办
- //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
-// EntityWrapper wrapper = new EntityWrapper();
-// wrapper.eq("DEPTID","1178242562491285506");
-// List userList = iCommonUserService.selectUsersList(wrapper,null);
-// List userIds = new ArrayList<>();
-// for (User user : userList) {
-// userIds.add(user.getId().toString());
-// }
-// Map map = new HashMap();
-// map.put("message","有新的超时未处理工单");
-// map.put("type","overtimeHandle");
-// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
- }
- String jobName = "getJobDelay" + id;
- iQuartzManager.removeJob(jobName);
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
index d9ca2a1..450b861 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
@@ -1,11 +1,13 @@
package com.casic.missiles.modular.alarm.service.impl;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.enums.UserQueryEnum;
import com.casic.missiles.modular.alarm.job.HandleAlarmJob;
-import com.casic.missiles.modular.alarm.job.getDelayJob;
+import com.casic.missiles.modular.alarm.job.DelayJob;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.util.EhcacheConstant;
@@ -16,7 +18,7 @@
import com.casic.missiles.modular.system.model.AlarmJob;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -31,7 +33,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
-import cn.hutool.core.util.ObjectUtil;
+
import cn.hutool.core.util.StrUtil;
/**
@@ -68,7 +70,8 @@
@Resource
private IQuartzManager quartzManager;
- @Autowired IBusWellInfoService busWellInfoService;
+ @Resource
+ private IBusWellInfoSupportService busWellInfoService;
@Override
public List> jobList(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, DataScope dataScope,Long userId) {
@@ -177,7 +180,7 @@
map.put("iCommonUserService",iCommonUserService);
map.put("iQuartzManager",quartzManager);
map.put("webSocket",webSocket);
- quartzManager.addJob(jobName,getDelayJob.class,shouldHandleTime,map);
+ quartzManager.addJob(jobName, DelayJob.class,shouldHandleTime,map);
}
return this.baseMapper.getJob(id,personId,getTime,shouldHandleTime);
@@ -228,7 +231,7 @@
@Override
public boolean checkJobStatus(String jobStatus) {
- if(ToolUtil.isEmpty(jobStatus)){
+ if(StrUtil.isEmpty(jobStatus)){
return false;
}else{
return "1".equals(jobStatus) || "2".equals(jobStatus) || "3".equals(jobStatus);
@@ -283,7 +286,7 @@
public void updateSinkJob(String id, String msg,String wellCode) {
List userClientViewList = new ArrayList<>();
List selectDtoList = selectRoles();
- EntityWrapper busWellInfoEntityWrapper = new EntityWrapper<>();
+ QueryWrapper busWellInfoEntityWrapper = new QueryWrapper<>();
busWellInfoEntityWrapper.eq("WELL_CODE",wellCode);
BusWellInfo busWellInfo = busWellInfoService.selectOne(busWellInfoEntityWrapper);
if(busWellInfo!=null&&StrUtil.isNotEmpty(busWellInfo.getDeptid())){
@@ -338,10 +341,10 @@
logger.info("告警消息app端找不到责任人,未推送:" + msg);
}
// PC推送,推给信息办
-// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
- EntityWrapper wrapper = new EntityWrapper();
- wrapper.eq("DEPTID", "1178242562491285506");
- List userList = iCommonUserService.selectUsersList(wrapper, null);
+ // List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+ QueryWrapper wrapper = new QueryWrapper();
+ wrapper.eq(UserQueryEnum.DEPT_ID, "1178242562491285506");
+ List userList = iCommonUserService.getUserService().list(wrapper);
for (User user : userList) {
userIds.add(user.getId().toString());
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
index 134a817..44f6788 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
@@ -1,13 +1,16 @@
package com.casic.missiles.modular.system.controller;
-import com.casic.missiles.core.base.controller.BaseController;
+import cn.hutool.core.util.ObjectUtil;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.model.exception.ServiceException;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.model.response.SuccessResponseData;
import com.casic.missiles.modular.system.dto.AlarmNowView;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.service.IAlarmNowViewService;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -20,7 +23,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import cn.hutool.core.util.ObjectUtil;
+
/**
* 地图总览模块的controller
*
@@ -38,7 +41,7 @@
private IAlarmNowViewService alarmNowViewService;
@Autowired
- private IBusWellInfoService busWellInfoService;
+ private IBusWellInfoSupportService busWellInfoService;
/**
* 获取当前全部告警列表
@@ -65,20 +68,20 @@
@RequestMapping(value = "/alarmsByWell", method = RequestMethod.GET)
@ResponseBody
public Object alarmsByWell(@RequestParam(required = true) Long id) {
- if(ObjectUtil.isEmpty(id)){
- throw new GunsException(GunsExceptionEnum.REQUEST_NULL);
+ if (ObjectUtil.isEmpty(id)) {
+ throw new ServiceException(CoreExceptionEnum.REQUEST_NULL);
}
SuccessResponseData successResult = new SuccessResponseData();
// 查询闸井信息
- BusWellInfo busWellInfo = busWellInfoService.selectById(id);
+ BusWellInfo busWellInfo = busWellInfoService.getById(id);
Map dataMap = new HashMap();
if (null != busWellInfo) {
dataMap.put("id", busWellInfo.getId());
dataMap.put("wellCode", busWellInfo.getWellCode());
dataMap.put("deptId", busWellInfo.getDeptid());
- dataMap.put("deptName", permissionService.getDeptName(String.valueOf(busWellInfo.getDeptid())));
- dataMap.put("wellTypeName",busWellInfo.getWellTypeName());
+ dataMap.put("deptName", permissionService.getDeptService().getDeptName(String.valueOf(busWellInfo.getDeptid())));
+ dataMap.put("wellTypeName", busWellInfo.getWellTypeName());
dataMap.put("position", busWellInfo.getPosition());
dataMap.put("deep", busWellInfo.getDeep());
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
index 263839d..d1e0d38 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
@@ -1,7 +1,7 @@
package com.casic.missiles.modular.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.dao.AlarmNowViewMapper;
import com.casic.missiles.modular.system.dto.AlarmNowView;
@@ -13,7 +13,7 @@
/**
*
- * 服务实现类
+ * 服务实现类
*
*
* @author casic123
@@ -23,13 +23,13 @@
public class AlarmNowViewServiceImpl extends ServiceImpl implements IAlarmNowViewService {
@Resource
- private AbstractPermissionContext permissionService;
+ private AbstractDictService dictService;
@Override
public List getNowAlarmRecords(DataScope dataScope) {
List alarmNowViewList = this.baseMapper.getNowAlarmRecords(dataScope);
for (AlarmNowView alarmNowView : alarmNowViewList) {
- alarmNowView.setWellTypeName(permissionService.getDictNameByCode("sluicewellType",alarmNowView.getWellType()));
+ alarmNowView.setWellTypeName(dictService.getDictNameByCode("sluicewellType", alarmNowView.getWellType()));
}
return alarmNowViewList;
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
index 760fdf6..affce72 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
@@ -1,15 +1,15 @@
package com.casic.missiles.modular.system.service.impl;
+import cn.hutool.core.util.ObjectUtil;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.dao.AlarmNowViewMapper;
import com.casic.missiles.modular.system.dao.StatisticMapper;
import com.casic.missiles.modular.system.model.Dept;
import com.casic.missiles.modular.system.service.IStatisticsService;
import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import cn.hutool.core.util.ObjectUtil;
import javax.annotation.Resource;
import java.text.ParseException;
@@ -18,35 +18,37 @@
@Service
public class StatisticServiceImpl implements IStatisticsService {
- @Autowired
+ @Resource
private StatisticMapper statisticMapper;
- @Autowired
+ @Resource
private AlarmNowViewMapper alarmNowViewMapper;
@Resource
private AbstractPermissionContext permissionService;
+ @Resource
+ private AbstractDictService dictService;
@Override
public List> wellStaticsByDept(DataScope dataScope) {
List> mapList = statisticMapper.wellStaticsByDept(dataScope);
for (Map map : mapList) {
- map.put("pidName",permissionService.getDeptName(Long.valueOf(map.get("pid").toString())));
+ map.put("pidName", permissionService.getDeptService().getDeptName(Long.valueOf(map.get("pid").toString())));
}
return mapList;
}
@Override
public List> wellStaticsByType(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
List> mapList = statisticMapper.wellStaticsByType(deptIds);
for (Map map : mapList) {
- map.put("wellTypeName",permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString()));
+ map.put("wellTypeName", dictService.getDictNameByCode("sluicewellType", map.get("wellType").toString()));
}
return mapList;
}
@Override
public List> deviceStaticsByType(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
List> mapList = statisticMapper.deviceStaticsByType(deptIds);
// for (Map map : mapList) {
// map.replace("deviceType",sysDictMapper.getDeviceTypeNameById(map.get("deviceType").toString()));
@@ -55,51 +57,53 @@
}
@Override
- public List> deviceStaticsByDept(DataScope dataScope,String deviceType) {
- List> mapList = statisticMapper.deviceStaticsByDept(dataScope,deviceType);
+ public List> deviceStaticsByDept(DataScope dataScope, String deviceType) {
+ List> mapList = statisticMapper.deviceStaticsByDept(dataScope, deviceType);
for (Map map : mapList) {
- map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString())));
+ map.put("deptName", permissionService.getDeptService().getDeptName(Long.valueOf(map.get("deptid").toString())));
}
return mapList;
}
@Override
public Map deviceStaticsByStatus(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
Map map = statisticMapper.deviceStaticsByStatus(deptIds);
- for(String s:map.keySet()){ //value都转为string
- map.replace(s,map.get(s).toString());
+ for (String s : map.keySet()) { //value都转为string
+ map.replace(s, map.get(s).toString());
}
return map;
}
@Override
- public List> jobsByDept(DataScope dataScope,String beginTime, String endTime, String deviceType) throws ParseException {
+ public List> jobsByDept(DataScope dataScope, String beginTime, String endTime, String deviceType) throws ParseException {
List> mapList = new ArrayList<>();
List deptIds = dataScope.getDeptIds();
for (Long deptId : deptIds) {
- if(deptId==0){ // 顶级不统计
+ // 顶级不统计
+ if (deptId == 0) {
continue;
}
- Dept dept = permissionService.getDeptById(deptId);
- if( ObjectUtil.isEmpty(dept) || "04".equals(dept.getDeptType())){ // 小组不统计
+ Dept dept = permissionService.getDeptService().getById(deptId);
+ // 小组不统计
+ if (ObjectUtil.isEmpty(dept) || "04".equals(dept.getDeptType())) {
continue;
}
Map map = new HashMap<>();
- List subDeptIds = permissionService.getSubDepts(deptId,null);
+ List subDeptIds = permissionService.getDeptService().getIdsRecursionByPid(deptId, null);
subDeptIds.add(deptId);
- String subDeptIdstr = StringUtils.strip(subDeptIds.toString(),"[]");
+ String subDeptIdstr = StringUtils.strip(subDeptIds.toString(), "[]");
map.put("deptId", deptId);
- map.put("deptName",permissionService.getDeptName(deptId));
- Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr,beginTime,endTime);
- if(ToolUtil.isNotEmpty(countMap)){
+ map.put("deptName", permissionService.getDeptService().getDeptName(deptId));
+ Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr, beginTime, endTime);
+ if (ObjectUtil.isNotEmpty(countMap)) {
map.putAll(countMap);
- }else{
- map.put("beforeGet",0);
- map.put("beforeConfirm",0);
- map.put("inHandle",0);
- map.put("over",0);
- map.put("cancel",0);
+ } else {
+ map.put("beforeGet", 0);
+ map.put("beforeConfirm", 0);
+ map.put("inHandle", 0);
+ map.put("over", 0);
+ map.put("cancel", 0);
}
mapList.add(map);
}
@@ -108,23 +112,23 @@
@Override
public List> alarmsByDay(String beginTime, String endTime, DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
List> mapList = new ArrayList<>();
- try{
+ try {
Date beginDate = sdf1.parse(beginTime);
Date endDate = sdf1.parse(endTime);
Calendar date = Calendar.getInstance();
date.setTime(beginDate);
while (date.getTime().compareTo(endDate) <= 0) {
String tmp = sdf1.format(date.getTime());
- Map map = alarmNowViewMapper.countAlarmsByDay(tmp,deptIds);
- map.put("date",sdf2.format(date.getTime()));
+ Map map = alarmNowViewMapper.countAlarmsByDay(tmp, deptIds);
+ map.put("date", sdf2.format(date.getTime()));
mapList.add(map);
- date.add(Calendar.DAY_OF_MONTH,1);
+ date.add(Calendar.DAY_OF_MONTH, 1);
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
return mapList;
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
index 0da3db8..0f499e6 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
@@ -13,38 +13,40 @@
import java.util.Map;
import java.util.concurrent.CopyOnWriteArraySet;
+/**
+ * 此注解相当于设置访问URL
+ */
@Component
@ServerEndpoint("/websocket/{userId}")
-//此注解相当于设置访问URL
public class WebSocket {
private Session session;
- private static CopyOnWriteArraySet webSockets =new CopyOnWriteArraySet<>();
- private static Map sessionPool = new HashMap();
+ private static CopyOnWriteArraySet webSockets = new CopyOnWriteArraySet<>();
+ private static Map sessionPool = new HashMap();
@OnOpen
- public void onOpen(Session session, @PathParam(value="userId")String userId) {
+ public void onOpen(Session session, @PathParam(value = "userId") String userId) {
this.session = session;
webSockets.add(this);
sessionPool.put(userId, session);
- System.out.println(userId+"【websocket消息】有新的连接,总数为:"+webSockets.size());
+ System.out.println(userId + "【websocket消息】有新的连接,总数为:" + webSockets.size());
}
@OnClose
public void onClose() {
webSockets.remove(this);
- System.out.println("【websocket消息】连接断开,总数为:"+webSockets.size());
+ System.out.println("【websocket消息】连接断开,总数为:" + webSockets.size());
}
@OnMessage
public void onMessage(String message) {
- System.out.println("【websocket消息】收到客户端消息:"+message);
+ System.out.println("【websocket消息】收到客户端消息:" + message);
}
// 此为广播消息
public void sendAllMessage(String message) {
- for(WebSocket webSocket : webSockets) {
- System.out.println("【websocket消息】广播消息:"+message);
+ for (WebSocket webSocket : webSockets) {
+ System.out.println("【websocket消息】广播消息:" + message);
try {
webSocket.session.getAsyncRemote().sendText(message);
} catch (Exception e) {
@@ -54,8 +56,8 @@
}
// 发送列表消息
- public void sendListMessage(List userIds, String message){
- System.out.println("【websocket消息】列表消息:"+message);
+ public void sendListMessage(List userIds, String message) {
+ System.out.println("【websocket消息】列表消息:" + message);
for (String userId : userIds) {
Session session = sessionPool.get(userId);
if (session != null) {
@@ -87,7 +89,7 @@
// 此为单点消息
public void sendOneMessage(String userId, String message) {
- System.out.println("【websocket消息】单点消息:"+message);
+ System.out.println("【websocket消息】单点消息:" + message);
Session session = sessionPool.get(userId);
if (session != null) {
try {
diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml
index 95d7f58..88f7dc3 100644
--- a/casic-alarm/pom.xml
+++ b/casic-alarm/pom.xml
@@ -28,21 +28,36 @@
${admin.version}
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java b/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
deleted file mode 100644
index 460d4db..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * SpringBoot方式启动类
- *
- * @author lwh
- * @Date 2021/06/06 12:06
- */
-@SpringBootApplication
-@EnableCaching
-@EnableScheduling
-@EnableTransactionManagement(proxyTargetClass = true)
-@EnableAsync
-@ServletComponentScan
-@Slf4j
-public class CasicApplication {
- public static void main(String[] args) {
- SpringApplication.run(CasicApplication.class, args);
- log.info("CasicApplication is success!");
- }
-
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
index ef473af..6a426fa 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
@@ -1,19 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.alarm.service.ISysDictService;
-import com.casic.missiles.modular.system.warpper.AlarmJobWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -29,7 +31,10 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
@@ -40,7 +45,7 @@
*/
@Controller
@RequestMapping("/job")
-public class AlarmJobController extends BaseController {
+public class AlarmJobController extends ExportController {
@Autowired
@@ -146,16 +151,93 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatusStr)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatusStr));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatusStr));
}
}
retList = alarmJobService.jobListApp(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmJobWrapper(Map map) {
+ // 设置人员姓名
+ for (String key : map.keySet()) {
+ if (key.contains("JobPerson") || key.contains("jobBelongTo")) {
+ Object object = map.get(key);
+ if (object != null) {
+ String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
+ map.replace(key, newVal);
+ }
+ }
+ }
+
+ //设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (ObjectUtil.isEmpty(staffstr)) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 工单状态
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 流转记录(工单详情用)
+ if (map.containsKey("flow")) {
+ String flow = (String) map.get("flow");
+ flow = "[" + flow.replaceFirst(",", "") + "]";
+ List list = new ArrayList<>();
+ JSONArray jsonArray = JSONArray.parseArray(flow);
+ list = jsonArray.toJavaList(Map.class);
+ map.replace("flow", list);
+ }
+ }
+
/**
* 工单查询接口 APP用
*/
@@ -181,14 +263,13 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatus)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatus));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus));
}
}
retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime,
handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
Map retMap = new HashMap<>();
@@ -227,7 +308,7 @@
}
retList = alarmJobService.jobListDelayReApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -265,7 +346,7 @@
}
retList = alarmJobService.jobListDelayProApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -294,22 +375,35 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId());
- new AlarmJobWarpper(jobExpList).warp();
+ jobExpList.forEach(this::alarmJobWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(jobExpList)) {
fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx");
} else {
fileInputStream = new FileInputStream(templatePath + "/jobRecTemplate.xlsx");
}
+
try {
+
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "jobOverview.xlsx");
-
Map var = new HashMap<>();
var.put("标题", "工单一览表");
var.put("list", jobExpList);
- ExcelIO.writeTemplate(fileInputStream, httpServletResponse.getOutputStream(), var);
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("工单编号", "jobCode"));
+ dataFieldDefines.add(new DataFieldDefine("工单创建时间", "createTime"));
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("告警时间", "alarmTime"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+ dataFieldDefines.add(new DataFieldDefine("处理人", "handleJobPerson"));
+ dataFieldDefines.add(new DataFieldDefine("处理时间", "handleJobTime"));
+ this.exportExcelMaps(dataFieldDefines, jobExpList, "工单一览表");
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
@@ -361,7 +455,7 @@
@RequestMapping(value = "/transferJob")
@ResponseBody
public Object transferJob(@RequestParam(value = "id", required = true) int id,
- @RequestParam(value = "transferPerson", required = true) String transferPerson) throws JSONException {
+ @RequestParam(value = "transferPerson", required = true) String transferPerson) {
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
@@ -437,8 +531,7 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
List> retList = alarmJobService.jobInfo(id, dataScope, currentUser.getId());
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
return ResponseData.success(retList);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
index 5ec9ed1..a1432fd 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
@@ -1,22 +1,23 @@
package com.casic.missiles.modular.alarm.controller;
-import com.alibaba.fastjson.JSON;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.util.EhcacheConstant;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmLevelService;
import com.casic.missiles.modular.system.model.AlarmLevel;
import com.casic.missiles.modular.system.model.DeptPermission;
+import com.casic.missiles.modular.system.service.IDeptPermissionService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.util.*;
@@ -36,73 +37,74 @@
private IAlarmLevelService alarmLevelService;
@Resource
private AbstractPermissionContext permissionService;
- @Autowired
- private AbstractDeptService deptPermissionService;
+ @Resource
+ private IDeptPermissionService deptPermissionService;
/**
* 获取告警等级列表
*/
@RequestMapping("/levelList")
@ResponseBody
- public Object levelList(Long tenantId){
- List> levelList = new ArrayList<>();
+ public Object levelList(Long tenantId) {
+ List> levelList = new ArrayList<>();
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
DeptPermission deptPermission = deptPermissionService.selectDeptPermission(currUser.getDeptId());
- if(ObjectUtil.isEmpty(deptPermission)){
+ if (ObjectUtil.isEmpty(deptPermission)) {
return levelList;
}
- for(Object deviceType: JSON.parseObject(deptPermission.getDeviceType(), List.class)){
+ for (Object deviceType : JSON.parseObject(deptPermission.getDeviceType(), List.class)) {
String deviceTypeName = EhcacheConstant.retBean().getDeviceTypeNameById(deviceType.toString());
List names = new ArrayList<>();
- if(deviceTypeName.contains("液位")){
+ if (deviceTypeName.contains("液位")) {
names.add("液位");
}
- if(deviceTypeName.contains("有害气体")){
+ if (deviceTypeName.contains("有害气体")) {
names.add("一氧化碳");
names.add("硫化氢");
names.add("甲烷");
names.add("氧气");
}
- if(deviceTypeName.contains("燃气")){
+ if (deviceTypeName.contains("燃气")) {
names.add("燃气");
}
- if(deviceTypeName.contains("温湿度")){
+ if (deviceTypeName.contains("温湿度")) {
names.add("温度");
names.add("湿度");
}
- if(deviceTypeName.contains("开挖")){
+ if (deviceTypeName.contains("开挖")) {
names.add("开挖");
}
- for(String name: names){
+ for (String name : names) {
Map levelMap = new HashMap<>();
- Map level = alarmLevelService.selectByNameAndTenGroup(tenantId,name);
- levelMap.put("name",name);
- levelMap.put("deviceType",deviceType);
- levelMap.put("deviceTypeName",deviceTypeName);
+ Map level = alarmLevelService.selectByNameAndTenGroup(tenantId, name);
+ levelMap.put("name", name);
+ levelMap.put("deviceType", deviceType);
+ levelMap.put("deviceTypeName", deviceTypeName);
- if(ObjectUtil.isEmpty(level.get("openAlarm"))){
- levelMap.put("openAlarm","");
- }else{
- levelMap.put("openAlarm",level.get("openAlarm").toString());
+ if (ObjectUtil.isEmpty(level.get("openAlarm"))) {
+ levelMap.put("openAlarm", "");
+ } else {
+ levelMap.put("openAlarm", level.get("openAlarm").toString());
}
- if(ObjectUtil.isEmpty(level.get("openJob"))){
- levelMap.put("openJob","");
- }else{
- levelMap.put("openJob",level.get("openJob").toString());
+ if (ObjectUtil.isEmpty(level.get("openJob"))) {
+ levelMap.put("openJob", "");
+ } else {
+ levelMap.put("openJob", level.get("openJob").toString());
}
- if(ObjectUtil.isEmpty(level.get("ts"))){
- levelMap.put("ts","");
- }else{
- levelMap.put("ts",level.get("ts").toString());
+ if (ObjectUtil.isEmpty(level.get("ts"))) {
+ levelMap.put("ts", "");
+ } else {
+ levelMap.put("ts", level.get("ts").toString());
}
levelList.add(levelMap);
@@ -116,13 +118,14 @@
*/
@RequestMapping("/levelByType")
@ResponseBody
- public Object levelByType(Long tenantId, String name){
+ public Object levelByType(Long tenantId, String name) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
List levelList = alarmLevelService.selectByNameAndTenList(tenantId, name);
return ResponseData.success(levelList);
@@ -131,22 +134,23 @@
@RequestMapping("/configLevel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object configLevel(@RequestBody List levelList){
+ public Object configLevel(@RequestBody List levelList) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- String userTenantId = currUser.getTenantId(); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ String userTenantId = currUser.getTenantId();
Date currDate = new Date();
- for(AlarmLevel alarmLevel:levelList){
- if(ObjectUtil.isAllEmpty(alarmLevel.getTenantId(),userTenantId)){
+ for (AlarmLevel alarmLevel : levelList) {
+ if (ObjectUtil.isAllEmpty(alarmLevel.getTenantId(), userTenantId)) {
return ResponseData.error("无关联的项目id");
}
Long tenantId = ObjectUtil.isEmpty(alarmLevel.getTenantId()) ? Long.valueOf(userTenantId) : alarmLevel.getTenantId();
- AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId,alarmLevel.getName(),alarmLevel.getLevel());
- if(ObjectUtil.isEmpty(oldAlarmLevel)){
+ AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId, alarmLevel.getName(), alarmLevel.getLevel());
+ if (ObjectUtil.isEmpty(oldAlarmLevel)) {
//insert
alarmLevel.setTenantId(tenantId);
alarmLevel.setTs(currDate);
- alarmLevelService.insert(alarmLevel);
- }else{
+ alarmLevelService.save(alarmLevel);
+ } else {
//update
alarmLevel.setId(oldAlarmLevel.getId());
alarmLevel.setTenantId(tenantId);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
index 67e4b49..51e0d50 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
@@ -1,15 +1,19 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.AlarmRecords;
-import com.casic.missiles.modular.system.warpper.AlarmRecordWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -17,13 +21,13 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.collection.CollectionUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -36,7 +40,7 @@
*/
@Controller
@RequestMapping("/alarm")
-public class AlarmRecordsController extends BaseController {
+public class AlarmRecordsController extends ExportController {
@Autowired
@@ -44,13 +48,13 @@
@Resource
private AbstractPermissionContext iCommonPermissionService;
@Value("${smartcity.office.maxRowsExcel}")
- private int maxRowsExcel;
+ private int maxRowsExcel;
@Value("${smartcity.config.config-path}")
private String templatePath;
@Value("${smartcity.adminRoleName}")
- private String sAdmin;
+ private String sAdmin;
@Value("${smartcity.opRoleName}")
- private String sOperator;
+ private String sOperator;
/**
* 获取分页列表
@@ -62,7 +66,7 @@
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
@@ -73,28 +77,87 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> retList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
-
-
- new AlarmRecordWarpper(retList).warp();
+ List> retList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ retList.forEach(this::alarmRecordWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmRecordWrapper(Map map) {
+ // 设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (null == staffstr) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 告警状态
+ String statusStr = map.get("status").toString();
+ map.put("statusName", EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr, "alarmStatus"));
+
+ // 工单状态
+ if (ObjectUtil.isNotEmpty(map.get("jobStatus"))) {
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+ }
+ }
@RequestMapping(value = "/export")
- public void exportAlarm(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) throws IOException {
+ public void exportAlarm(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
Page> page = PageFactory.defaultPage();
- page.setMaxLimit((long)maxRowsExcel);
+ page.setMaxLimit((long) maxRowsExcel);
page.setSize(maxRowsExcel);
page.offset();
page.setSearchCount(false);
@@ -104,25 +167,36 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> alarmExpList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
- new AlarmRecordWarpper(alarmExpList).warp();
-
+ List> alarmExpList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ alarmExpList.forEach(this::alarmRecordWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(alarmExpList)) {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecEmpty.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecEmpty.xlsx");
} else {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecTemplate.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecTemplate.xlsx");
}
try {
httpServletResponse.setContentType("application/octet-stream");
- httpServletResponse.addHeader("Content-Disposition", " attachment;filename="+"alarmOverview.xlsx" );
+ httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "alarmOverview.xlsx");
- Map var = new HashMap<>();
- var.put("标题","报警一览表");
- var.put("list",alarmExpList);
- ExcelIO.writeTemplate(fileInputStream,httpServletResponse.getOutputStream(),var);
+ Map var = new HashMap<>();
+ var.put("标题", "报警一览表");
+ var.put("list", alarmExpList);
+
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("设备编号", "devcode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmTypeName"));
+ dataFieldDefines.add(new DataFieldDefine("告警原因", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("权属单位", "deptName"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+
+ this.exportExcelMaps(dataFieldDefines, alarmExpList, "报警一览表");
} catch (IOException e) {
e.printStackTrace();
@@ -132,7 +206,8 @@
httpServletResponse.getOutputStream().flush();
httpServletResponse.getOutputStream().close();
fileInputStream.close();
- };
+ }
+ ;
}
@@ -141,15 +216,15 @@
*/
@RequestMapping(value = "/cancelAlarm")
@ResponseBody
- public Object cancelAlarm(@RequestParam(value = "id",required = true) int id, //jobId
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object cancelAlarm(@RequestParam(value = "id", required = true) int id, //jobId
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- boolean isCancel = alarmRecordsService.cancelAlarm(id,jobStatus,handleMessage,currentUser.getId());
- if(isCancel){
+ boolean isCancel = alarmRecordsService.cancelAlarm(id, jobStatus, handleMessage, currentUser.getId());
+ if (isCancel) {
return ResponseData.success();
- }else {
+ } else {
return ResponseData.error("failure");
}
}
@@ -160,22 +235,22 @@
@RequestMapping(value = "/batchCancel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object batchCancel(@RequestParam(value = "keywords",required = false) String keywords,
- @RequestParam(value = "alarmType",required = false) String alarmType,
- @RequestParam(value = "alarmContent",required = false) String alarmContent,
- @RequestParam(value = "beginTime",required = false) String beginTime,
- @RequestParam(value = "endTime",required = false) String endTime,
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object batchCancel(@RequestParam(value = "keywords", required = false) String keywords,
+ @RequestParam(value = "alarmType", required = false) String alarmType,
+ @RequestParam(value = "alarmContent", required = false) String alarmContent,
+ @RequestParam(value = "beginTime", required = false) String beginTime,
+ @RequestParam(value = "endTime", required = false) String endTime,
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
//根据查询条件查询alarm_record记录
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope,keywords,alarmType,alarmContent,beginTime,endTime);
+ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime);
//根据jobId调用closeJob
for (AlarmRecords alarmRecord : alarmRecords) {
- alarmRecordsService.cancelAlarm(alarmRecord.getJobId(),jobStatus,handleMessage,currentUser.getId());
+ alarmRecordsService.cancelAlarm(alarmRecord.getJobId(), jobStatus, handleMessage, currentUser.getId());
}
return ResponseData.success();
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
index 7a645dd..3b39aeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
@@ -1,21 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRuleService;
import com.casic.missiles.modular.system.dto.AlarmRuleDTO;
-import com.casic.missiles.modular.system.warpper.AlarmRuleWarpper;
+import com.casic.missiles.modular.system.service.IDeviceRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.util.StrUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -54,8 +54,9 @@
public Map list(String keywords, HttpServletRequest httpServletRequest) {
String deviceType = httpServletRequest.getParameter("deviceType");
- if (StrUtil.isEmpty(deviceType))
+ if (StrUtil.isEmpty(deviceType)) {
deviceType = "";
+ }
Page> page = PageFactory.defaultPage();
Map retMap = new HashMap<>();
boolean bSessionValid = false;
@@ -66,9 +67,10 @@
return retMap;
}
List> retList = new ArrayList<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
retList = alarmRuleService.ruleListViaParam(page, keywords, deviceType, dataScope);
- new AlarmRuleWarpper(retList).warp();
+ retList.stream().forEach(this::alarmRuleWrapper);
page.setRecords(retList);
retMap.put("code", 200);
retMap.put("message", "success");
@@ -76,11 +78,19 @@
return retMap;
}
+ private void alarmRuleWrapper(Map map) {
+ String deviceType = map.get("deviceType").toString();
+ long deptid = Long.parseLong(map.get("deptid").toString());
+ map.put("deviceTypeName", EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ }
+
@RequestMapping(value = "/update")
@ResponseBody
public Map updateRule(@RequestParam(value = "id", required = true) int id, HttpServletRequest httpServletRequest) {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
if (super.getSession().getAttribute("sessionFlag") == null) {
retMap.put("code", 505);
retMap.put("message", "sessionExpired");
@@ -90,10 +100,12 @@
String sLow = httpServletRequest.getParameter("lowValue");
float highValue = 99999;
float lowValue = -99999;
- if (StrUtil.isNotEmpty(sHigh))
+ if (StrUtil.isNotEmpty(sHigh)) {
highValue = Float.parseFloat(sHigh);
- if (StrUtil.isNotEmpty(sLow))
+ }
+ if (StrUtil.isNotEmpty(sLow)) {
lowValue = Float.parseFloat(sLow);
+ }
if (alarmRuleService.updateRule(id, highValue, lowValue)) {
retMap.put("code", 200);
@@ -138,7 +150,7 @@
@RequestMapping(value = "/delete")
@ResponseBody
public Object delete(@RequestParam Integer id) {
- alarmRuleService.deleteById(id);
+ alarmRuleService.removeById(id);
return ResponseData.success();
}
@@ -151,8 +163,9 @@
public Map getNoAlarmDevice() {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
- List alarmRuleList= alarmRuleService.getNoAlarmDevice(dataScope);
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
+ List alarmRuleList = alarmRuleService.getNoAlarmDevice(dataScope);
retMap.put("code", 200);
retMap.put("message", "success");
retMap.put("data", alarmRuleList);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
new file mode 100644
index 0000000..a749516
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
@@ -0,0 +1,109 @@
+package com.casic.missiles.modular.alarm.job;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.modular.alarm.service.IAlarmJobService;
+import com.casic.missiles.modular.system.model.AlarmJob;
+import com.casic.missiles.modular.system.util.PushList;
+import com.casic.missiles.modular.system.util.WebSocket;
+import com.casic.missiles.quartz.service.IQuartzManager;
+import com.gexin.rp.sdk.base.IPushResult;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.support.AbstractApplicationContext;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class DelayJob implements Job {
+
+ private static final Logger logger = LoggerFactory.getLogger(DelayJob.class);
+
+ private Integer jobId;
+ private IAlarmJobService iAlarmJobService;
+ private AbstractApplicationContext iCommonUserService;
+ private IQuartzManager iQuartzManager;
+ private WebSocket webSocket;
+
+ public void setJobId(Integer jobId) {
+ this.jobId = jobId;
+ }
+
+ public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
+ this.iAlarmJobService = iAlarmJobService;
+ }
+
+ public void setICommonUserService(AbstractApplicationContext iCommonUserService) {
+ this.iCommonUserService = iCommonUserService;
+ }
+
+ public void setIQuartzManager(IQuartzManager iQuartzManager) {
+ this.iQuartzManager = iQuartzManager;
+ }
+
+ public void setWebSocket(WebSocket webSocket) {
+ this.webSocket = webSocket;
+ }
+
+ @Override
+ public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+
+ //业务逻辑
+ SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
+ System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
+ getJobDelay(jobId);
+ }
+
+ private void getJobDelay(Integer id) {
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if (!"3".equals(alarmJob.getJobStatus()) && !"4".equals(alarmJob.getJobStatus())) {
+ // 超时未处理 // 延时标签
+ alarmJob.setJobFlagDelay("2");
+ // 延时记录
+ String jobFlag = alarmJob.getJobFlag1();
+ if (StrUtil.isNotEmpty(jobFlag)) {
+ jobFlag += ",2";
+ } else {
+ jobFlag = "2";
+ }
+ alarmJob.setJobFlag1(jobFlag);
+ iAlarmJobService.updateById(alarmJob); // 更新记录
+ // APP推送
+ Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
+ String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
+ List clientIds = new ArrayList<>();
+ if (StrUtil.isNotEmpty(clientId)) {
+ clientIds.add(clientId);
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未处理");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未处理工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
+ }
+ } else {
+ logger.info("超时未处理工单找不到责任人,未推送:" + id.toString());
+ }
+ // PC推送,推给信息办
+ //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+// EntityWrapper wrapper = new EntityWrapper();
+// wrapper.eq("DEPTID","1178242562491285506");
+// List userList = iCommonUserService.selectUsersList(wrapper,null);
+// List userIds = new ArrayList<>();
+// for (User user : userList) {
+// userIds.add(user.getId().toString());
+// }
+// Map map = new HashMap();
+// map.put("message","有新的超时未处理工单");
+// map.put("type","overtimeHandle");
+// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
+ }
+ String jobName = "getJobDelay" + id;
+ iQuartzManager.removeJob(jobName);
+ }
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
index ba9f439..9d72902 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
@@ -1,10 +1,10 @@
package com.casic.missiles.modular.alarm.job;
-import com.casic.missiles.core.common.service.ICommonUserService;
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.modular.system.dto.UserClientView;
import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -15,19 +15,20 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
@Component
-public class HandleAlarmJob implements Job{
+public class HandleAlarmJob implements Job {
private static final Logger logger = LoggerFactory.getLogger(HandleAlarmJob.class);
private Integer jobId;
private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
+ private AbstractPermissionContext iCommonUserService;
private IQuartzManager iQuartzManager;
private WebSocket webSocket;
private List userClientViewList;
@@ -40,7 +41,7 @@
this.iAlarmJobService = iAlarmJobService;
}
- public void setICommonUserService(ICommonUserService iCommonUserService) {
+ public void setICommonUserService(AbstractPermissionContext iCommonUserService) {
this.iCommonUserService = iCommonUserService;
}
@@ -62,29 +63,29 @@
}
private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if("0".equals(alarmJob.getJobStatus())){
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if ("0".equals(alarmJob.getJobStatus())) {
// 超时未接收
alarmJob.setJobFlagDelay("1"); // 延时标签
alarmJob.setJobFlag1("1");
iAlarmJobService.updateById(alarmJob); // 更新记录
// APP推送 推给井盖所属权属单位
List clientIds = new ArrayList<>();
- for(UserClientView userClientView:userClientViewList){
- if(StrUtil.isNotEmpty(userClientView.getClientid())){
+ for (UserClientView userClientView : userClientViewList) {
+ if (StrUtil.isNotEmpty(userClientView.getClientid())) {
clientIds.add(userClientView.getClientid());
}
}
- if(clientIds.size()>0){
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未接收");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未接收工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
+ if (clientIds.size() > 0) {
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未接收");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未接收工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
}
- }else{
- logger.info("超时未接收工单找不到责任人,未推送:"+id.toString());
+ } else {
+ logger.info("超时未接收工单找不到责任人,未推送:" + id.toString());
}
// PC推送,推给信息办
// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
deleted file mode 100644
index 46eeda9..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package com.casic.missiles.modular.alarm.job;
-
-import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.util.PushList;
-import com.casic.missiles.modular.system.util.WebSocket;
-import com.casic.missiles.quartz.service.IQuartzManager;
-import com.gexin.rp.sdk.base.IPushResult;
-import com.google.gson.GsonBuilder;
-import org.quartz.Job;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
-
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-@Component
-public class getDelayJob implements Job {
-
- private static final Logger logger = LoggerFactory.getLogger(getDelayJob.class);
-
- private Integer jobId;
- private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
- private IQuartzManager iQuartzManager;
- private WebSocket webSocket;
-
- public void setJobId(Integer jobId) {
- this.jobId = jobId;
- }
-
- public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
- this.iAlarmJobService = iAlarmJobService;
- }
-
- public void setICommonUserService(ICommonUserService iCommonUserService) {
- this.iCommonUserService = iCommonUserService;
- }
-
- public void setIQuartzManager(IQuartzManager iQuartzManager) {
- this.iQuartzManager = iQuartzManager;
- }
-
- public void setWebSocket(WebSocket webSocket) {
- this.webSocket = webSocket;
- }
-
- @Override
- public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-
- //业务逻辑
- SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
- System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
- getJobDelay(jobId);
- }
-
- private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if(!"3".equals(alarmJob.getJobStatus()) &&!"4".equals(alarmJob.getJobStatus())){
- // 超时未处理
- alarmJob.setJobFlagDelay("2"); // 延时标签
- String jobFlag = alarmJob.getJobFlag1(); // 延时记录
- if(StrUtil.isNotEmpty(jobFlag)){
- jobFlag += ",2";
- }else{
- jobFlag = "2";
- }
- alarmJob.setJobFlag1(jobFlag);
- iAlarmJobService.updateById(alarmJob); // 更新记录
- // APP推送
- Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
- String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
- List clientIds = new ArrayList<>();
- if(StrUtil.isNotEmpty(clientId)){
- clientIds.add(clientId);
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未处理");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未处理工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
- }
- }else{
- logger.info("超时未处理工单找不到责任人,未推送:"+id.toString());
- }
- // PC推送,推给信息办
- //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
-// EntityWrapper wrapper = new EntityWrapper();
-// wrapper.eq("DEPTID","1178242562491285506");
-// List userList = iCommonUserService.selectUsersList(wrapper,null);
-// List userIds = new ArrayList<>();
-// for (User user : userList) {
-// userIds.add(user.getId().toString());
-// }
-// Map map = new HashMap();
-// map.put("message","有新的超时未处理工单");
-// map.put("type","overtimeHandle");
-// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
- }
- String jobName = "getJobDelay" + id;
- iQuartzManager.removeJob(jobName);
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
index d9ca2a1..450b861 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
@@ -1,11 +1,13 @@
package com.casic.missiles.modular.alarm.service.impl;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.enums.UserQueryEnum;
import com.casic.missiles.modular.alarm.job.HandleAlarmJob;
-import com.casic.missiles.modular.alarm.job.getDelayJob;
+import com.casic.missiles.modular.alarm.job.DelayJob;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.util.EhcacheConstant;
@@ -16,7 +18,7 @@
import com.casic.missiles.modular.system.model.AlarmJob;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -31,7 +33,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
-import cn.hutool.core.util.ObjectUtil;
+
import cn.hutool.core.util.StrUtil;
/**
@@ -68,7 +70,8 @@
@Resource
private IQuartzManager quartzManager;
- @Autowired IBusWellInfoService busWellInfoService;
+ @Resource
+ private IBusWellInfoSupportService busWellInfoService;
@Override
public List> jobList(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, DataScope dataScope,Long userId) {
@@ -177,7 +180,7 @@
map.put("iCommonUserService",iCommonUserService);
map.put("iQuartzManager",quartzManager);
map.put("webSocket",webSocket);
- quartzManager.addJob(jobName,getDelayJob.class,shouldHandleTime,map);
+ quartzManager.addJob(jobName, DelayJob.class,shouldHandleTime,map);
}
return this.baseMapper.getJob(id,personId,getTime,shouldHandleTime);
@@ -228,7 +231,7 @@
@Override
public boolean checkJobStatus(String jobStatus) {
- if(ToolUtil.isEmpty(jobStatus)){
+ if(StrUtil.isEmpty(jobStatus)){
return false;
}else{
return "1".equals(jobStatus) || "2".equals(jobStatus) || "3".equals(jobStatus);
@@ -283,7 +286,7 @@
public void updateSinkJob(String id, String msg,String wellCode) {
List userClientViewList = new ArrayList<>();
List selectDtoList = selectRoles();
- EntityWrapper busWellInfoEntityWrapper = new EntityWrapper<>();
+ QueryWrapper busWellInfoEntityWrapper = new QueryWrapper<>();
busWellInfoEntityWrapper.eq("WELL_CODE",wellCode);
BusWellInfo busWellInfo = busWellInfoService.selectOne(busWellInfoEntityWrapper);
if(busWellInfo!=null&&StrUtil.isNotEmpty(busWellInfo.getDeptid())){
@@ -338,10 +341,10 @@
logger.info("告警消息app端找不到责任人,未推送:" + msg);
}
// PC推送,推给信息办
-// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
- EntityWrapper wrapper = new EntityWrapper();
- wrapper.eq("DEPTID", "1178242562491285506");
- List userList = iCommonUserService.selectUsersList(wrapper, null);
+ // List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+ QueryWrapper wrapper = new QueryWrapper();
+ wrapper.eq(UserQueryEnum.DEPT_ID, "1178242562491285506");
+ List userList = iCommonUserService.getUserService().list(wrapper);
for (User user : userList) {
userIds.add(user.getId().toString());
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
index 134a817..44f6788 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
@@ -1,13 +1,16 @@
package com.casic.missiles.modular.system.controller;
-import com.casic.missiles.core.base.controller.BaseController;
+import cn.hutool.core.util.ObjectUtil;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.model.exception.ServiceException;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.model.response.SuccessResponseData;
import com.casic.missiles.modular.system.dto.AlarmNowView;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.service.IAlarmNowViewService;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -20,7 +23,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import cn.hutool.core.util.ObjectUtil;
+
/**
* 地图总览模块的controller
*
@@ -38,7 +41,7 @@
private IAlarmNowViewService alarmNowViewService;
@Autowired
- private IBusWellInfoService busWellInfoService;
+ private IBusWellInfoSupportService busWellInfoService;
/**
* 获取当前全部告警列表
@@ -65,20 +68,20 @@
@RequestMapping(value = "/alarmsByWell", method = RequestMethod.GET)
@ResponseBody
public Object alarmsByWell(@RequestParam(required = true) Long id) {
- if(ObjectUtil.isEmpty(id)){
- throw new GunsException(GunsExceptionEnum.REQUEST_NULL);
+ if (ObjectUtil.isEmpty(id)) {
+ throw new ServiceException(CoreExceptionEnum.REQUEST_NULL);
}
SuccessResponseData successResult = new SuccessResponseData();
// 查询闸井信息
- BusWellInfo busWellInfo = busWellInfoService.selectById(id);
+ BusWellInfo busWellInfo = busWellInfoService.getById(id);
Map dataMap = new HashMap();
if (null != busWellInfo) {
dataMap.put("id", busWellInfo.getId());
dataMap.put("wellCode", busWellInfo.getWellCode());
dataMap.put("deptId", busWellInfo.getDeptid());
- dataMap.put("deptName", permissionService.getDeptName(String.valueOf(busWellInfo.getDeptid())));
- dataMap.put("wellTypeName",busWellInfo.getWellTypeName());
+ dataMap.put("deptName", permissionService.getDeptService().getDeptName(String.valueOf(busWellInfo.getDeptid())));
+ dataMap.put("wellTypeName", busWellInfo.getWellTypeName());
dataMap.put("position", busWellInfo.getPosition());
dataMap.put("deep", busWellInfo.getDeep());
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
index 263839d..d1e0d38 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
@@ -1,7 +1,7 @@
package com.casic.missiles.modular.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.dao.AlarmNowViewMapper;
import com.casic.missiles.modular.system.dto.AlarmNowView;
@@ -13,7 +13,7 @@
/**
*
- * 服务实现类
+ * 服务实现类
*
*
* @author casic123
@@ -23,13 +23,13 @@
public class AlarmNowViewServiceImpl extends ServiceImpl implements IAlarmNowViewService {
@Resource
- private AbstractPermissionContext permissionService;
+ private AbstractDictService dictService;
@Override
public List getNowAlarmRecords(DataScope dataScope) {
List alarmNowViewList = this.baseMapper.getNowAlarmRecords(dataScope);
for (AlarmNowView alarmNowView : alarmNowViewList) {
- alarmNowView.setWellTypeName(permissionService.getDictNameByCode("sluicewellType",alarmNowView.getWellType()));
+ alarmNowView.setWellTypeName(dictService.getDictNameByCode("sluicewellType", alarmNowView.getWellType()));
}
return alarmNowViewList;
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
index 760fdf6..affce72 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
@@ -1,15 +1,15 @@
package com.casic.missiles.modular.system.service.impl;
+import cn.hutool.core.util.ObjectUtil;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.dao.AlarmNowViewMapper;
import com.casic.missiles.modular.system.dao.StatisticMapper;
import com.casic.missiles.modular.system.model.Dept;
import com.casic.missiles.modular.system.service.IStatisticsService;
import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import cn.hutool.core.util.ObjectUtil;
import javax.annotation.Resource;
import java.text.ParseException;
@@ -18,35 +18,37 @@
@Service
public class StatisticServiceImpl implements IStatisticsService {
- @Autowired
+ @Resource
private StatisticMapper statisticMapper;
- @Autowired
+ @Resource
private AlarmNowViewMapper alarmNowViewMapper;
@Resource
private AbstractPermissionContext permissionService;
+ @Resource
+ private AbstractDictService dictService;
@Override
public List> wellStaticsByDept(DataScope dataScope) {
List> mapList = statisticMapper.wellStaticsByDept(dataScope);
for (Map map : mapList) {
- map.put("pidName",permissionService.getDeptName(Long.valueOf(map.get("pid").toString())));
+ map.put("pidName", permissionService.getDeptService().getDeptName(Long.valueOf(map.get("pid").toString())));
}
return mapList;
}
@Override
public List> wellStaticsByType(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
List> mapList = statisticMapper.wellStaticsByType(deptIds);
for (Map map : mapList) {
- map.put("wellTypeName",permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString()));
+ map.put("wellTypeName", dictService.getDictNameByCode("sluicewellType", map.get("wellType").toString()));
}
return mapList;
}
@Override
public List> deviceStaticsByType(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
List> mapList = statisticMapper.deviceStaticsByType(deptIds);
// for (Map map : mapList) {
// map.replace("deviceType",sysDictMapper.getDeviceTypeNameById(map.get("deviceType").toString()));
@@ -55,51 +57,53 @@
}
@Override
- public List> deviceStaticsByDept(DataScope dataScope,String deviceType) {
- List> mapList = statisticMapper.deviceStaticsByDept(dataScope,deviceType);
+ public List> deviceStaticsByDept(DataScope dataScope, String deviceType) {
+ List> mapList = statisticMapper.deviceStaticsByDept(dataScope, deviceType);
for (Map map : mapList) {
- map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString())));
+ map.put("deptName", permissionService.getDeptService().getDeptName(Long.valueOf(map.get("deptid").toString())));
}
return mapList;
}
@Override
public Map deviceStaticsByStatus(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
Map map = statisticMapper.deviceStaticsByStatus(deptIds);
- for(String s:map.keySet()){ //value都转为string
- map.replace(s,map.get(s).toString());
+ for (String s : map.keySet()) { //value都转为string
+ map.replace(s, map.get(s).toString());
}
return map;
}
@Override
- public List> jobsByDept(DataScope dataScope,String beginTime, String endTime, String deviceType) throws ParseException {
+ public List> jobsByDept(DataScope dataScope, String beginTime, String endTime, String deviceType) throws ParseException {
List> mapList = new ArrayList<>();
List deptIds = dataScope.getDeptIds();
for (Long deptId : deptIds) {
- if(deptId==0){ // 顶级不统计
+ // 顶级不统计
+ if (deptId == 0) {
continue;
}
- Dept dept = permissionService.getDeptById(deptId);
- if( ObjectUtil.isEmpty(dept) || "04".equals(dept.getDeptType())){ // 小组不统计
+ Dept dept = permissionService.getDeptService().getById(deptId);
+ // 小组不统计
+ if (ObjectUtil.isEmpty(dept) || "04".equals(dept.getDeptType())) {
continue;
}
Map map = new HashMap<>();
- List subDeptIds = permissionService.getSubDepts(deptId,null);
+ List subDeptIds = permissionService.getDeptService().getIdsRecursionByPid(deptId, null);
subDeptIds.add(deptId);
- String subDeptIdstr = StringUtils.strip(subDeptIds.toString(),"[]");
+ String subDeptIdstr = StringUtils.strip(subDeptIds.toString(), "[]");
map.put("deptId", deptId);
- map.put("deptName",permissionService.getDeptName(deptId));
- Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr,beginTime,endTime);
- if(ToolUtil.isNotEmpty(countMap)){
+ map.put("deptName", permissionService.getDeptService().getDeptName(deptId));
+ Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr, beginTime, endTime);
+ if (ObjectUtil.isNotEmpty(countMap)) {
map.putAll(countMap);
- }else{
- map.put("beforeGet",0);
- map.put("beforeConfirm",0);
- map.put("inHandle",0);
- map.put("over",0);
- map.put("cancel",0);
+ } else {
+ map.put("beforeGet", 0);
+ map.put("beforeConfirm", 0);
+ map.put("inHandle", 0);
+ map.put("over", 0);
+ map.put("cancel", 0);
}
mapList.add(map);
}
@@ -108,23 +112,23 @@
@Override
public List> alarmsByDay(String beginTime, String endTime, DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
List> mapList = new ArrayList<>();
- try{
+ try {
Date beginDate = sdf1.parse(beginTime);
Date endDate = sdf1.parse(endTime);
Calendar date = Calendar.getInstance();
date.setTime(beginDate);
while (date.getTime().compareTo(endDate) <= 0) {
String tmp = sdf1.format(date.getTime());
- Map map = alarmNowViewMapper.countAlarmsByDay(tmp,deptIds);
- map.put("date",sdf2.format(date.getTime()));
+ Map map = alarmNowViewMapper.countAlarmsByDay(tmp, deptIds);
+ map.put("date", sdf2.format(date.getTime()));
mapList.add(map);
- date.add(Calendar.DAY_OF_MONTH,1);
+ date.add(Calendar.DAY_OF_MONTH, 1);
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
return mapList;
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
index 0da3db8..0f499e6 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
@@ -13,38 +13,40 @@
import java.util.Map;
import java.util.concurrent.CopyOnWriteArraySet;
+/**
+ * 此注解相当于设置访问URL
+ */
@Component
@ServerEndpoint("/websocket/{userId}")
-//此注解相当于设置访问URL
public class WebSocket {
private Session session;
- private static CopyOnWriteArraySet webSockets =new CopyOnWriteArraySet<>();
- private static Map sessionPool = new HashMap();
+ private static CopyOnWriteArraySet webSockets = new CopyOnWriteArraySet<>();
+ private static Map sessionPool = new HashMap();
@OnOpen
- public void onOpen(Session session, @PathParam(value="userId")String userId) {
+ public void onOpen(Session session, @PathParam(value = "userId") String userId) {
this.session = session;
webSockets.add(this);
sessionPool.put(userId, session);
- System.out.println(userId+"【websocket消息】有新的连接,总数为:"+webSockets.size());
+ System.out.println(userId + "【websocket消息】有新的连接,总数为:" + webSockets.size());
}
@OnClose
public void onClose() {
webSockets.remove(this);
- System.out.println("【websocket消息】连接断开,总数为:"+webSockets.size());
+ System.out.println("【websocket消息】连接断开,总数为:" + webSockets.size());
}
@OnMessage
public void onMessage(String message) {
- System.out.println("【websocket消息】收到客户端消息:"+message);
+ System.out.println("【websocket消息】收到客户端消息:" + message);
}
// 此为广播消息
public void sendAllMessage(String message) {
- for(WebSocket webSocket : webSockets) {
- System.out.println("【websocket消息】广播消息:"+message);
+ for (WebSocket webSocket : webSockets) {
+ System.out.println("【websocket消息】广播消息:" + message);
try {
webSocket.session.getAsyncRemote().sendText(message);
} catch (Exception e) {
@@ -54,8 +56,8 @@
}
// 发送列表消息
- public void sendListMessage(List userIds, String message){
- System.out.println("【websocket消息】列表消息:"+message);
+ public void sendListMessage(List userIds, String message) {
+ System.out.println("【websocket消息】列表消息:" + message);
for (String userId : userIds) {
Session session = sessionPool.get(userId);
if (session != null) {
@@ -87,7 +89,7 @@
// 此为单点消息
public void sendOneMessage(String userId, String message) {
- System.out.println("【websocket消息】单点消息:"+message);
+ System.out.println("【websocket消息】单点消息:" + message);
Session session = sessionPool.get(userId);
if (session != null) {
try {
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java
deleted file mode 100644
index 431e0bd..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package com.casic.missiles.modular.system.warpper;
-
-import com.alibaba.fastjson.JSONArray;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.core.util.ObjectUtil;
-
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-//@Service
-//@Primary
-public class AlarmJobWarpper extends BaseControllerWarpper {
-// private EhcacheConstant ehcacheConstant = new EhcacheConstant();
- public AlarmJobWarpper(Object list) { super(list); }
- @Override
- public void warpTheMap(Map map) {
-
- // 设置人员姓名
- for (String key : map.keySet())
- {
- if (key.contains("JobPerson")|| key.contains("jobBelongTo"))
- {
- Object object = map.get(key);
- if (object!=null)
- {
- String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
- map.replace(key,newVal);
- }
- }
- }
-
- //设置闸井相关字段
- String wellCode = map.get("wellCode").toString();
- Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
- // 设置权属单位、负责人、联系电话
- String deptidStr = wellInfoMap.get("deptid").toString();
- long deptid = StrUtil.isEmpty(deptidStr)? -1: Long.valueOf(deptidStr);
- map.put("deptName",EhcacheConstant.retBean().getDeptNameById(deptid));
- if(deptid>0){
- Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
- if(ObjectUtil.isEmpty(staffstr)){
- wellInfoMap.replace("staff","");
- wellInfoMap.replace("tel","");
- }else {
- Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
- wellInfoMap.putAll(userInfoMap);
- }
- }
- map.putAll(wellInfoMap);
-
- // 告警类型
- String alarmTypeStr = map.get("alarmType").toString();
- map.put("alarmTypeName",EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
-
- // 告警内容
- String alarmContentNameStr = map.get("alarmContentName").toString();
- map.put("alarmContent",EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
-
- // 告警值加单位
- if(ObjectUtil.isNotEmpty(map.get("alarmValue"))){
- String alarmValue = map.get("alarmValue").toString();
- String alarmContentName = map.get("alarmContentName").toString();
- if("液位超限".equals(alarmContentName)) {
- alarmValue += "m";
- map.replace("alarmValue",alarmValue);
- }
- if("浓度超限".equals(alarmContentName)) {
- alarmValue += "%LEL";
- map.replace("alarmValue",alarmValue);
- }
- if("疑似开挖".equals(alarmContentName)) {
- alarmValue += "mg";
- map.replace("alarmValue",alarmValue);
- }
- }
-
- // 工单状态
- String jobStatusStr = map.get("jobStatus").toString();
- map.put("jobStatusName",EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
-
- // 告警值
- if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr))
- {
- map.replace("alarmValue","--");
- }
-
- // 流转记录(工单详情用)
- if (map.containsKey("flow"))
- {
- String flow = (String) map.get("flow");
- flow = "["+flow.replaceFirst(",","")+"]";
- List list = new ArrayList<>();
- JSONArray jsonArray = JSONArray.parseArray(flow);
- list = jsonArray.toJavaList(Map.class);
- map.replace("flow",list);
- }
-
- }
-}
diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml
index 95d7f58..88f7dc3 100644
--- a/casic-alarm/pom.xml
+++ b/casic-alarm/pom.xml
@@ -28,21 +28,36 @@
${admin.version}
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java b/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
deleted file mode 100644
index 460d4db..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * SpringBoot方式启动类
- *
- * @author lwh
- * @Date 2021/06/06 12:06
- */
-@SpringBootApplication
-@EnableCaching
-@EnableScheduling
-@EnableTransactionManagement(proxyTargetClass = true)
-@EnableAsync
-@ServletComponentScan
-@Slf4j
-public class CasicApplication {
- public static void main(String[] args) {
- SpringApplication.run(CasicApplication.class, args);
- log.info("CasicApplication is success!");
- }
-
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
index ef473af..6a426fa 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
@@ -1,19 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.alarm.service.ISysDictService;
-import com.casic.missiles.modular.system.warpper.AlarmJobWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -29,7 +31,10 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
@@ -40,7 +45,7 @@
*/
@Controller
@RequestMapping("/job")
-public class AlarmJobController extends BaseController {
+public class AlarmJobController extends ExportController {
@Autowired
@@ -146,16 +151,93 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatusStr)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatusStr));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatusStr));
}
}
retList = alarmJobService.jobListApp(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmJobWrapper(Map map) {
+ // 设置人员姓名
+ for (String key : map.keySet()) {
+ if (key.contains("JobPerson") || key.contains("jobBelongTo")) {
+ Object object = map.get(key);
+ if (object != null) {
+ String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
+ map.replace(key, newVal);
+ }
+ }
+ }
+
+ //设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (ObjectUtil.isEmpty(staffstr)) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 工单状态
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 流转记录(工单详情用)
+ if (map.containsKey("flow")) {
+ String flow = (String) map.get("flow");
+ flow = "[" + flow.replaceFirst(",", "") + "]";
+ List list = new ArrayList<>();
+ JSONArray jsonArray = JSONArray.parseArray(flow);
+ list = jsonArray.toJavaList(Map.class);
+ map.replace("flow", list);
+ }
+ }
+
/**
* 工单查询接口 APP用
*/
@@ -181,14 +263,13 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatus)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatus));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus));
}
}
retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime,
handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
Map retMap = new HashMap<>();
@@ -227,7 +308,7 @@
}
retList = alarmJobService.jobListDelayReApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -265,7 +346,7 @@
}
retList = alarmJobService.jobListDelayProApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -294,22 +375,35 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId());
- new AlarmJobWarpper(jobExpList).warp();
+ jobExpList.forEach(this::alarmJobWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(jobExpList)) {
fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx");
} else {
fileInputStream = new FileInputStream(templatePath + "/jobRecTemplate.xlsx");
}
+
try {
+
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "jobOverview.xlsx");
-
Map var = new HashMap<>();
var.put("标题", "工单一览表");
var.put("list", jobExpList);
- ExcelIO.writeTemplate(fileInputStream, httpServletResponse.getOutputStream(), var);
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("工单编号", "jobCode"));
+ dataFieldDefines.add(new DataFieldDefine("工单创建时间", "createTime"));
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("告警时间", "alarmTime"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+ dataFieldDefines.add(new DataFieldDefine("处理人", "handleJobPerson"));
+ dataFieldDefines.add(new DataFieldDefine("处理时间", "handleJobTime"));
+ this.exportExcelMaps(dataFieldDefines, jobExpList, "工单一览表");
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
@@ -361,7 +455,7 @@
@RequestMapping(value = "/transferJob")
@ResponseBody
public Object transferJob(@RequestParam(value = "id", required = true) int id,
- @RequestParam(value = "transferPerson", required = true) String transferPerson) throws JSONException {
+ @RequestParam(value = "transferPerson", required = true) String transferPerson) {
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
@@ -437,8 +531,7 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
List> retList = alarmJobService.jobInfo(id, dataScope, currentUser.getId());
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
return ResponseData.success(retList);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
index 5ec9ed1..a1432fd 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
@@ -1,22 +1,23 @@
package com.casic.missiles.modular.alarm.controller;
-import com.alibaba.fastjson.JSON;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.util.EhcacheConstant;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmLevelService;
import com.casic.missiles.modular.system.model.AlarmLevel;
import com.casic.missiles.modular.system.model.DeptPermission;
+import com.casic.missiles.modular.system.service.IDeptPermissionService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.util.*;
@@ -36,73 +37,74 @@
private IAlarmLevelService alarmLevelService;
@Resource
private AbstractPermissionContext permissionService;
- @Autowired
- private AbstractDeptService deptPermissionService;
+ @Resource
+ private IDeptPermissionService deptPermissionService;
/**
* 获取告警等级列表
*/
@RequestMapping("/levelList")
@ResponseBody
- public Object levelList(Long tenantId){
- List> levelList = new ArrayList<>();
+ public Object levelList(Long tenantId) {
+ List> levelList = new ArrayList<>();
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
DeptPermission deptPermission = deptPermissionService.selectDeptPermission(currUser.getDeptId());
- if(ObjectUtil.isEmpty(deptPermission)){
+ if (ObjectUtil.isEmpty(deptPermission)) {
return levelList;
}
- for(Object deviceType: JSON.parseObject(deptPermission.getDeviceType(), List.class)){
+ for (Object deviceType : JSON.parseObject(deptPermission.getDeviceType(), List.class)) {
String deviceTypeName = EhcacheConstant.retBean().getDeviceTypeNameById(deviceType.toString());
List names = new ArrayList<>();
- if(deviceTypeName.contains("液位")){
+ if (deviceTypeName.contains("液位")) {
names.add("液位");
}
- if(deviceTypeName.contains("有害气体")){
+ if (deviceTypeName.contains("有害气体")) {
names.add("一氧化碳");
names.add("硫化氢");
names.add("甲烷");
names.add("氧气");
}
- if(deviceTypeName.contains("燃气")){
+ if (deviceTypeName.contains("燃气")) {
names.add("燃气");
}
- if(deviceTypeName.contains("温湿度")){
+ if (deviceTypeName.contains("温湿度")) {
names.add("温度");
names.add("湿度");
}
- if(deviceTypeName.contains("开挖")){
+ if (deviceTypeName.contains("开挖")) {
names.add("开挖");
}
- for(String name: names){
+ for (String name : names) {
Map levelMap = new HashMap<>();
- Map level = alarmLevelService.selectByNameAndTenGroup(tenantId,name);
- levelMap.put("name",name);
- levelMap.put("deviceType",deviceType);
- levelMap.put("deviceTypeName",deviceTypeName);
+ Map level = alarmLevelService.selectByNameAndTenGroup(tenantId, name);
+ levelMap.put("name", name);
+ levelMap.put("deviceType", deviceType);
+ levelMap.put("deviceTypeName", deviceTypeName);
- if(ObjectUtil.isEmpty(level.get("openAlarm"))){
- levelMap.put("openAlarm","");
- }else{
- levelMap.put("openAlarm",level.get("openAlarm").toString());
+ if (ObjectUtil.isEmpty(level.get("openAlarm"))) {
+ levelMap.put("openAlarm", "");
+ } else {
+ levelMap.put("openAlarm", level.get("openAlarm").toString());
}
- if(ObjectUtil.isEmpty(level.get("openJob"))){
- levelMap.put("openJob","");
- }else{
- levelMap.put("openJob",level.get("openJob").toString());
+ if (ObjectUtil.isEmpty(level.get("openJob"))) {
+ levelMap.put("openJob", "");
+ } else {
+ levelMap.put("openJob", level.get("openJob").toString());
}
- if(ObjectUtil.isEmpty(level.get("ts"))){
- levelMap.put("ts","");
- }else{
- levelMap.put("ts",level.get("ts").toString());
+ if (ObjectUtil.isEmpty(level.get("ts"))) {
+ levelMap.put("ts", "");
+ } else {
+ levelMap.put("ts", level.get("ts").toString());
}
levelList.add(levelMap);
@@ -116,13 +118,14 @@
*/
@RequestMapping("/levelByType")
@ResponseBody
- public Object levelByType(Long tenantId, String name){
+ public Object levelByType(Long tenantId, String name) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
List levelList = alarmLevelService.selectByNameAndTenList(tenantId, name);
return ResponseData.success(levelList);
@@ -131,22 +134,23 @@
@RequestMapping("/configLevel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object configLevel(@RequestBody List levelList){
+ public Object configLevel(@RequestBody List levelList) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- String userTenantId = currUser.getTenantId(); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ String userTenantId = currUser.getTenantId();
Date currDate = new Date();
- for(AlarmLevel alarmLevel:levelList){
- if(ObjectUtil.isAllEmpty(alarmLevel.getTenantId(),userTenantId)){
+ for (AlarmLevel alarmLevel : levelList) {
+ if (ObjectUtil.isAllEmpty(alarmLevel.getTenantId(), userTenantId)) {
return ResponseData.error("无关联的项目id");
}
Long tenantId = ObjectUtil.isEmpty(alarmLevel.getTenantId()) ? Long.valueOf(userTenantId) : alarmLevel.getTenantId();
- AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId,alarmLevel.getName(),alarmLevel.getLevel());
- if(ObjectUtil.isEmpty(oldAlarmLevel)){
+ AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId, alarmLevel.getName(), alarmLevel.getLevel());
+ if (ObjectUtil.isEmpty(oldAlarmLevel)) {
//insert
alarmLevel.setTenantId(tenantId);
alarmLevel.setTs(currDate);
- alarmLevelService.insert(alarmLevel);
- }else{
+ alarmLevelService.save(alarmLevel);
+ } else {
//update
alarmLevel.setId(oldAlarmLevel.getId());
alarmLevel.setTenantId(tenantId);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
index 67e4b49..51e0d50 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
@@ -1,15 +1,19 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.AlarmRecords;
-import com.casic.missiles.modular.system.warpper.AlarmRecordWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -17,13 +21,13 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.collection.CollectionUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -36,7 +40,7 @@
*/
@Controller
@RequestMapping("/alarm")
-public class AlarmRecordsController extends BaseController {
+public class AlarmRecordsController extends ExportController {
@Autowired
@@ -44,13 +48,13 @@
@Resource
private AbstractPermissionContext iCommonPermissionService;
@Value("${smartcity.office.maxRowsExcel}")
- private int maxRowsExcel;
+ private int maxRowsExcel;
@Value("${smartcity.config.config-path}")
private String templatePath;
@Value("${smartcity.adminRoleName}")
- private String sAdmin;
+ private String sAdmin;
@Value("${smartcity.opRoleName}")
- private String sOperator;
+ private String sOperator;
/**
* 获取分页列表
@@ -62,7 +66,7 @@
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
@@ -73,28 +77,87 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> retList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
-
-
- new AlarmRecordWarpper(retList).warp();
+ List> retList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ retList.forEach(this::alarmRecordWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmRecordWrapper(Map map) {
+ // 设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (null == staffstr) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 告警状态
+ String statusStr = map.get("status").toString();
+ map.put("statusName", EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr, "alarmStatus"));
+
+ // 工单状态
+ if (ObjectUtil.isNotEmpty(map.get("jobStatus"))) {
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+ }
+ }
@RequestMapping(value = "/export")
- public void exportAlarm(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) throws IOException {
+ public void exportAlarm(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
Page> page = PageFactory.defaultPage();
- page.setMaxLimit((long)maxRowsExcel);
+ page.setMaxLimit((long) maxRowsExcel);
page.setSize(maxRowsExcel);
page.offset();
page.setSearchCount(false);
@@ -104,25 +167,36 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> alarmExpList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
- new AlarmRecordWarpper(alarmExpList).warp();
-
+ List> alarmExpList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ alarmExpList.forEach(this::alarmRecordWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(alarmExpList)) {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecEmpty.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecEmpty.xlsx");
} else {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecTemplate.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecTemplate.xlsx");
}
try {
httpServletResponse.setContentType("application/octet-stream");
- httpServletResponse.addHeader("Content-Disposition", " attachment;filename="+"alarmOverview.xlsx" );
+ httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "alarmOverview.xlsx");
- Map var = new HashMap<>();
- var.put("标题","报警一览表");
- var.put("list",alarmExpList);
- ExcelIO.writeTemplate(fileInputStream,httpServletResponse.getOutputStream(),var);
+ Map var = new HashMap<>();
+ var.put("标题", "报警一览表");
+ var.put("list", alarmExpList);
+
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("设备编号", "devcode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmTypeName"));
+ dataFieldDefines.add(new DataFieldDefine("告警原因", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("权属单位", "deptName"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+
+ this.exportExcelMaps(dataFieldDefines, alarmExpList, "报警一览表");
} catch (IOException e) {
e.printStackTrace();
@@ -132,7 +206,8 @@
httpServletResponse.getOutputStream().flush();
httpServletResponse.getOutputStream().close();
fileInputStream.close();
- };
+ }
+ ;
}
@@ -141,15 +216,15 @@
*/
@RequestMapping(value = "/cancelAlarm")
@ResponseBody
- public Object cancelAlarm(@RequestParam(value = "id",required = true) int id, //jobId
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object cancelAlarm(@RequestParam(value = "id", required = true) int id, //jobId
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- boolean isCancel = alarmRecordsService.cancelAlarm(id,jobStatus,handleMessage,currentUser.getId());
- if(isCancel){
+ boolean isCancel = alarmRecordsService.cancelAlarm(id, jobStatus, handleMessage, currentUser.getId());
+ if (isCancel) {
return ResponseData.success();
- }else {
+ } else {
return ResponseData.error("failure");
}
}
@@ -160,22 +235,22 @@
@RequestMapping(value = "/batchCancel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object batchCancel(@RequestParam(value = "keywords",required = false) String keywords,
- @RequestParam(value = "alarmType",required = false) String alarmType,
- @RequestParam(value = "alarmContent",required = false) String alarmContent,
- @RequestParam(value = "beginTime",required = false) String beginTime,
- @RequestParam(value = "endTime",required = false) String endTime,
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object batchCancel(@RequestParam(value = "keywords", required = false) String keywords,
+ @RequestParam(value = "alarmType", required = false) String alarmType,
+ @RequestParam(value = "alarmContent", required = false) String alarmContent,
+ @RequestParam(value = "beginTime", required = false) String beginTime,
+ @RequestParam(value = "endTime", required = false) String endTime,
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
//根据查询条件查询alarm_record记录
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope,keywords,alarmType,alarmContent,beginTime,endTime);
+ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime);
//根据jobId调用closeJob
for (AlarmRecords alarmRecord : alarmRecords) {
- alarmRecordsService.cancelAlarm(alarmRecord.getJobId(),jobStatus,handleMessage,currentUser.getId());
+ alarmRecordsService.cancelAlarm(alarmRecord.getJobId(), jobStatus, handleMessage, currentUser.getId());
}
return ResponseData.success();
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
index 7a645dd..3b39aeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
@@ -1,21 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRuleService;
import com.casic.missiles.modular.system.dto.AlarmRuleDTO;
-import com.casic.missiles.modular.system.warpper.AlarmRuleWarpper;
+import com.casic.missiles.modular.system.service.IDeviceRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.util.StrUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -54,8 +54,9 @@
public Map list(String keywords, HttpServletRequest httpServletRequest) {
String deviceType = httpServletRequest.getParameter("deviceType");
- if (StrUtil.isEmpty(deviceType))
+ if (StrUtil.isEmpty(deviceType)) {
deviceType = "";
+ }
Page> page = PageFactory.defaultPage();
Map retMap = new HashMap<>();
boolean bSessionValid = false;
@@ -66,9 +67,10 @@
return retMap;
}
List> retList = new ArrayList<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
retList = alarmRuleService.ruleListViaParam(page, keywords, deviceType, dataScope);
- new AlarmRuleWarpper(retList).warp();
+ retList.stream().forEach(this::alarmRuleWrapper);
page.setRecords(retList);
retMap.put("code", 200);
retMap.put("message", "success");
@@ -76,11 +78,19 @@
return retMap;
}
+ private void alarmRuleWrapper(Map map) {
+ String deviceType = map.get("deviceType").toString();
+ long deptid = Long.parseLong(map.get("deptid").toString());
+ map.put("deviceTypeName", EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ }
+
@RequestMapping(value = "/update")
@ResponseBody
public Map updateRule(@RequestParam(value = "id", required = true) int id, HttpServletRequest httpServletRequest) {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
if (super.getSession().getAttribute("sessionFlag") == null) {
retMap.put("code", 505);
retMap.put("message", "sessionExpired");
@@ -90,10 +100,12 @@
String sLow = httpServletRequest.getParameter("lowValue");
float highValue = 99999;
float lowValue = -99999;
- if (StrUtil.isNotEmpty(sHigh))
+ if (StrUtil.isNotEmpty(sHigh)) {
highValue = Float.parseFloat(sHigh);
- if (StrUtil.isNotEmpty(sLow))
+ }
+ if (StrUtil.isNotEmpty(sLow)) {
lowValue = Float.parseFloat(sLow);
+ }
if (alarmRuleService.updateRule(id, highValue, lowValue)) {
retMap.put("code", 200);
@@ -138,7 +150,7 @@
@RequestMapping(value = "/delete")
@ResponseBody
public Object delete(@RequestParam Integer id) {
- alarmRuleService.deleteById(id);
+ alarmRuleService.removeById(id);
return ResponseData.success();
}
@@ -151,8 +163,9 @@
public Map getNoAlarmDevice() {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
- List alarmRuleList= alarmRuleService.getNoAlarmDevice(dataScope);
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
+ List alarmRuleList = alarmRuleService.getNoAlarmDevice(dataScope);
retMap.put("code", 200);
retMap.put("message", "success");
retMap.put("data", alarmRuleList);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
new file mode 100644
index 0000000..a749516
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
@@ -0,0 +1,109 @@
+package com.casic.missiles.modular.alarm.job;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.modular.alarm.service.IAlarmJobService;
+import com.casic.missiles.modular.system.model.AlarmJob;
+import com.casic.missiles.modular.system.util.PushList;
+import com.casic.missiles.modular.system.util.WebSocket;
+import com.casic.missiles.quartz.service.IQuartzManager;
+import com.gexin.rp.sdk.base.IPushResult;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.support.AbstractApplicationContext;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class DelayJob implements Job {
+
+ private static final Logger logger = LoggerFactory.getLogger(DelayJob.class);
+
+ private Integer jobId;
+ private IAlarmJobService iAlarmJobService;
+ private AbstractApplicationContext iCommonUserService;
+ private IQuartzManager iQuartzManager;
+ private WebSocket webSocket;
+
+ public void setJobId(Integer jobId) {
+ this.jobId = jobId;
+ }
+
+ public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
+ this.iAlarmJobService = iAlarmJobService;
+ }
+
+ public void setICommonUserService(AbstractApplicationContext iCommonUserService) {
+ this.iCommonUserService = iCommonUserService;
+ }
+
+ public void setIQuartzManager(IQuartzManager iQuartzManager) {
+ this.iQuartzManager = iQuartzManager;
+ }
+
+ public void setWebSocket(WebSocket webSocket) {
+ this.webSocket = webSocket;
+ }
+
+ @Override
+ public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+
+ //业务逻辑
+ SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
+ System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
+ getJobDelay(jobId);
+ }
+
+ private void getJobDelay(Integer id) {
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if (!"3".equals(alarmJob.getJobStatus()) && !"4".equals(alarmJob.getJobStatus())) {
+ // 超时未处理 // 延时标签
+ alarmJob.setJobFlagDelay("2");
+ // 延时记录
+ String jobFlag = alarmJob.getJobFlag1();
+ if (StrUtil.isNotEmpty(jobFlag)) {
+ jobFlag += ",2";
+ } else {
+ jobFlag = "2";
+ }
+ alarmJob.setJobFlag1(jobFlag);
+ iAlarmJobService.updateById(alarmJob); // 更新记录
+ // APP推送
+ Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
+ String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
+ List clientIds = new ArrayList<>();
+ if (StrUtil.isNotEmpty(clientId)) {
+ clientIds.add(clientId);
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未处理");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未处理工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
+ }
+ } else {
+ logger.info("超时未处理工单找不到责任人,未推送:" + id.toString());
+ }
+ // PC推送,推给信息办
+ //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+// EntityWrapper wrapper = new EntityWrapper();
+// wrapper.eq("DEPTID","1178242562491285506");
+// List userList = iCommonUserService.selectUsersList(wrapper,null);
+// List userIds = new ArrayList<>();
+// for (User user : userList) {
+// userIds.add(user.getId().toString());
+// }
+// Map map = new HashMap();
+// map.put("message","有新的超时未处理工单");
+// map.put("type","overtimeHandle");
+// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
+ }
+ String jobName = "getJobDelay" + id;
+ iQuartzManager.removeJob(jobName);
+ }
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
index ba9f439..9d72902 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
@@ -1,10 +1,10 @@
package com.casic.missiles.modular.alarm.job;
-import com.casic.missiles.core.common.service.ICommonUserService;
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.modular.system.dto.UserClientView;
import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -15,19 +15,20 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
@Component
-public class HandleAlarmJob implements Job{
+public class HandleAlarmJob implements Job {
private static final Logger logger = LoggerFactory.getLogger(HandleAlarmJob.class);
private Integer jobId;
private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
+ private AbstractPermissionContext iCommonUserService;
private IQuartzManager iQuartzManager;
private WebSocket webSocket;
private List userClientViewList;
@@ -40,7 +41,7 @@
this.iAlarmJobService = iAlarmJobService;
}
- public void setICommonUserService(ICommonUserService iCommonUserService) {
+ public void setICommonUserService(AbstractPermissionContext iCommonUserService) {
this.iCommonUserService = iCommonUserService;
}
@@ -62,29 +63,29 @@
}
private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if("0".equals(alarmJob.getJobStatus())){
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if ("0".equals(alarmJob.getJobStatus())) {
// 超时未接收
alarmJob.setJobFlagDelay("1"); // 延时标签
alarmJob.setJobFlag1("1");
iAlarmJobService.updateById(alarmJob); // 更新记录
// APP推送 推给井盖所属权属单位
List clientIds = new ArrayList<>();
- for(UserClientView userClientView:userClientViewList){
- if(StrUtil.isNotEmpty(userClientView.getClientid())){
+ for (UserClientView userClientView : userClientViewList) {
+ if (StrUtil.isNotEmpty(userClientView.getClientid())) {
clientIds.add(userClientView.getClientid());
}
}
- if(clientIds.size()>0){
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未接收");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未接收工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
+ if (clientIds.size() > 0) {
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未接收");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未接收工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
}
- }else{
- logger.info("超时未接收工单找不到责任人,未推送:"+id.toString());
+ } else {
+ logger.info("超时未接收工单找不到责任人,未推送:" + id.toString());
}
// PC推送,推给信息办
// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
deleted file mode 100644
index 46eeda9..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package com.casic.missiles.modular.alarm.job;
-
-import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.util.PushList;
-import com.casic.missiles.modular.system.util.WebSocket;
-import com.casic.missiles.quartz.service.IQuartzManager;
-import com.gexin.rp.sdk.base.IPushResult;
-import com.google.gson.GsonBuilder;
-import org.quartz.Job;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
-
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-@Component
-public class getDelayJob implements Job {
-
- private static final Logger logger = LoggerFactory.getLogger(getDelayJob.class);
-
- private Integer jobId;
- private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
- private IQuartzManager iQuartzManager;
- private WebSocket webSocket;
-
- public void setJobId(Integer jobId) {
- this.jobId = jobId;
- }
-
- public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
- this.iAlarmJobService = iAlarmJobService;
- }
-
- public void setICommonUserService(ICommonUserService iCommonUserService) {
- this.iCommonUserService = iCommonUserService;
- }
-
- public void setIQuartzManager(IQuartzManager iQuartzManager) {
- this.iQuartzManager = iQuartzManager;
- }
-
- public void setWebSocket(WebSocket webSocket) {
- this.webSocket = webSocket;
- }
-
- @Override
- public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-
- //业务逻辑
- SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
- System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
- getJobDelay(jobId);
- }
-
- private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if(!"3".equals(alarmJob.getJobStatus()) &&!"4".equals(alarmJob.getJobStatus())){
- // 超时未处理
- alarmJob.setJobFlagDelay("2"); // 延时标签
- String jobFlag = alarmJob.getJobFlag1(); // 延时记录
- if(StrUtil.isNotEmpty(jobFlag)){
- jobFlag += ",2";
- }else{
- jobFlag = "2";
- }
- alarmJob.setJobFlag1(jobFlag);
- iAlarmJobService.updateById(alarmJob); // 更新记录
- // APP推送
- Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
- String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
- List clientIds = new ArrayList<>();
- if(StrUtil.isNotEmpty(clientId)){
- clientIds.add(clientId);
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未处理");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未处理工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
- }
- }else{
- logger.info("超时未处理工单找不到责任人,未推送:"+id.toString());
- }
- // PC推送,推给信息办
- //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
-// EntityWrapper wrapper = new EntityWrapper();
-// wrapper.eq("DEPTID","1178242562491285506");
-// List userList = iCommonUserService.selectUsersList(wrapper,null);
-// List userIds = new ArrayList<>();
-// for (User user : userList) {
-// userIds.add(user.getId().toString());
-// }
-// Map map = new HashMap();
-// map.put("message","有新的超时未处理工单");
-// map.put("type","overtimeHandle");
-// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
- }
- String jobName = "getJobDelay" + id;
- iQuartzManager.removeJob(jobName);
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
index d9ca2a1..450b861 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
@@ -1,11 +1,13 @@
package com.casic.missiles.modular.alarm.service.impl;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.enums.UserQueryEnum;
import com.casic.missiles.modular.alarm.job.HandleAlarmJob;
-import com.casic.missiles.modular.alarm.job.getDelayJob;
+import com.casic.missiles.modular.alarm.job.DelayJob;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.util.EhcacheConstant;
@@ -16,7 +18,7 @@
import com.casic.missiles.modular.system.model.AlarmJob;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -31,7 +33,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
-import cn.hutool.core.util.ObjectUtil;
+
import cn.hutool.core.util.StrUtil;
/**
@@ -68,7 +70,8 @@
@Resource
private IQuartzManager quartzManager;
- @Autowired IBusWellInfoService busWellInfoService;
+ @Resource
+ private IBusWellInfoSupportService busWellInfoService;
@Override
public List> jobList(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, DataScope dataScope,Long userId) {
@@ -177,7 +180,7 @@
map.put("iCommonUserService",iCommonUserService);
map.put("iQuartzManager",quartzManager);
map.put("webSocket",webSocket);
- quartzManager.addJob(jobName,getDelayJob.class,shouldHandleTime,map);
+ quartzManager.addJob(jobName, DelayJob.class,shouldHandleTime,map);
}
return this.baseMapper.getJob(id,personId,getTime,shouldHandleTime);
@@ -228,7 +231,7 @@
@Override
public boolean checkJobStatus(String jobStatus) {
- if(ToolUtil.isEmpty(jobStatus)){
+ if(StrUtil.isEmpty(jobStatus)){
return false;
}else{
return "1".equals(jobStatus) || "2".equals(jobStatus) || "3".equals(jobStatus);
@@ -283,7 +286,7 @@
public void updateSinkJob(String id, String msg,String wellCode) {
List userClientViewList = new ArrayList<>();
List selectDtoList = selectRoles();
- EntityWrapper busWellInfoEntityWrapper = new EntityWrapper<>();
+ QueryWrapper busWellInfoEntityWrapper = new QueryWrapper<>();
busWellInfoEntityWrapper.eq("WELL_CODE",wellCode);
BusWellInfo busWellInfo = busWellInfoService.selectOne(busWellInfoEntityWrapper);
if(busWellInfo!=null&&StrUtil.isNotEmpty(busWellInfo.getDeptid())){
@@ -338,10 +341,10 @@
logger.info("告警消息app端找不到责任人,未推送:" + msg);
}
// PC推送,推给信息办
-// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
- EntityWrapper wrapper = new EntityWrapper();
- wrapper.eq("DEPTID", "1178242562491285506");
- List userList = iCommonUserService.selectUsersList(wrapper, null);
+ // List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+ QueryWrapper wrapper = new QueryWrapper();
+ wrapper.eq(UserQueryEnum.DEPT_ID, "1178242562491285506");
+ List userList = iCommonUserService.getUserService().list(wrapper);
for (User user : userList) {
userIds.add(user.getId().toString());
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
index 134a817..44f6788 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
@@ -1,13 +1,16 @@
package com.casic.missiles.modular.system.controller;
-import com.casic.missiles.core.base.controller.BaseController;
+import cn.hutool.core.util.ObjectUtil;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.model.exception.ServiceException;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.model.response.SuccessResponseData;
import com.casic.missiles.modular.system.dto.AlarmNowView;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.service.IAlarmNowViewService;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -20,7 +23,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import cn.hutool.core.util.ObjectUtil;
+
/**
* 地图总览模块的controller
*
@@ -38,7 +41,7 @@
private IAlarmNowViewService alarmNowViewService;
@Autowired
- private IBusWellInfoService busWellInfoService;
+ private IBusWellInfoSupportService busWellInfoService;
/**
* 获取当前全部告警列表
@@ -65,20 +68,20 @@
@RequestMapping(value = "/alarmsByWell", method = RequestMethod.GET)
@ResponseBody
public Object alarmsByWell(@RequestParam(required = true) Long id) {
- if(ObjectUtil.isEmpty(id)){
- throw new GunsException(GunsExceptionEnum.REQUEST_NULL);
+ if (ObjectUtil.isEmpty(id)) {
+ throw new ServiceException(CoreExceptionEnum.REQUEST_NULL);
}
SuccessResponseData successResult = new SuccessResponseData();
// 查询闸井信息
- BusWellInfo busWellInfo = busWellInfoService.selectById(id);
+ BusWellInfo busWellInfo = busWellInfoService.getById(id);
Map dataMap = new HashMap();
if (null != busWellInfo) {
dataMap.put("id", busWellInfo.getId());
dataMap.put("wellCode", busWellInfo.getWellCode());
dataMap.put("deptId", busWellInfo.getDeptid());
- dataMap.put("deptName", permissionService.getDeptName(String.valueOf(busWellInfo.getDeptid())));
- dataMap.put("wellTypeName",busWellInfo.getWellTypeName());
+ dataMap.put("deptName", permissionService.getDeptService().getDeptName(String.valueOf(busWellInfo.getDeptid())));
+ dataMap.put("wellTypeName", busWellInfo.getWellTypeName());
dataMap.put("position", busWellInfo.getPosition());
dataMap.put("deep", busWellInfo.getDeep());
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
index 263839d..d1e0d38 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
@@ -1,7 +1,7 @@
package com.casic.missiles.modular.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.dao.AlarmNowViewMapper;
import com.casic.missiles.modular.system.dto.AlarmNowView;
@@ -13,7 +13,7 @@
/**
*
- * 服务实现类
+ * 服务实现类
*
*
* @author casic123
@@ -23,13 +23,13 @@
public class AlarmNowViewServiceImpl extends ServiceImpl implements IAlarmNowViewService {
@Resource
- private AbstractPermissionContext permissionService;
+ private AbstractDictService dictService;
@Override
public List getNowAlarmRecords(DataScope dataScope) {
List alarmNowViewList = this.baseMapper.getNowAlarmRecords(dataScope);
for (AlarmNowView alarmNowView : alarmNowViewList) {
- alarmNowView.setWellTypeName(permissionService.getDictNameByCode("sluicewellType",alarmNowView.getWellType()));
+ alarmNowView.setWellTypeName(dictService.getDictNameByCode("sluicewellType", alarmNowView.getWellType()));
}
return alarmNowViewList;
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
index 760fdf6..affce72 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
@@ -1,15 +1,15 @@
package com.casic.missiles.modular.system.service.impl;
+import cn.hutool.core.util.ObjectUtil;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.dao.AlarmNowViewMapper;
import com.casic.missiles.modular.system.dao.StatisticMapper;
import com.casic.missiles.modular.system.model.Dept;
import com.casic.missiles.modular.system.service.IStatisticsService;
import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import cn.hutool.core.util.ObjectUtil;
import javax.annotation.Resource;
import java.text.ParseException;
@@ -18,35 +18,37 @@
@Service
public class StatisticServiceImpl implements IStatisticsService {
- @Autowired
+ @Resource
private StatisticMapper statisticMapper;
- @Autowired
+ @Resource
private AlarmNowViewMapper alarmNowViewMapper;
@Resource
private AbstractPermissionContext permissionService;
+ @Resource
+ private AbstractDictService dictService;
@Override
public List> wellStaticsByDept(DataScope dataScope) {
List> mapList = statisticMapper.wellStaticsByDept(dataScope);
for (Map map : mapList) {
- map.put("pidName",permissionService.getDeptName(Long.valueOf(map.get("pid").toString())));
+ map.put("pidName", permissionService.getDeptService().getDeptName(Long.valueOf(map.get("pid").toString())));
}
return mapList;
}
@Override
public List> wellStaticsByType(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
List> mapList = statisticMapper.wellStaticsByType(deptIds);
for (Map map : mapList) {
- map.put("wellTypeName",permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString()));
+ map.put("wellTypeName", dictService.getDictNameByCode("sluicewellType", map.get("wellType").toString()));
}
return mapList;
}
@Override
public List> deviceStaticsByType(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
List> mapList = statisticMapper.deviceStaticsByType(deptIds);
// for (Map map : mapList) {
// map.replace("deviceType",sysDictMapper.getDeviceTypeNameById(map.get("deviceType").toString()));
@@ -55,51 +57,53 @@
}
@Override
- public List> deviceStaticsByDept(DataScope dataScope,String deviceType) {
- List> mapList = statisticMapper.deviceStaticsByDept(dataScope,deviceType);
+ public List> deviceStaticsByDept(DataScope dataScope, String deviceType) {
+ List> mapList = statisticMapper.deviceStaticsByDept(dataScope, deviceType);
for (Map map : mapList) {
- map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString())));
+ map.put("deptName", permissionService.getDeptService().getDeptName(Long.valueOf(map.get("deptid").toString())));
}
return mapList;
}
@Override
public Map deviceStaticsByStatus(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
Map map = statisticMapper.deviceStaticsByStatus(deptIds);
- for(String s:map.keySet()){ //value都转为string
- map.replace(s,map.get(s).toString());
+ for (String s : map.keySet()) { //value都转为string
+ map.replace(s, map.get(s).toString());
}
return map;
}
@Override
- public List> jobsByDept(DataScope dataScope,String beginTime, String endTime, String deviceType) throws ParseException {
+ public List> jobsByDept(DataScope dataScope, String beginTime, String endTime, String deviceType) throws ParseException {
List> mapList = new ArrayList<>();
List deptIds = dataScope.getDeptIds();
for (Long deptId : deptIds) {
- if(deptId==0){ // 顶级不统计
+ // 顶级不统计
+ if (deptId == 0) {
continue;
}
- Dept dept = permissionService.getDeptById(deptId);
- if( ObjectUtil.isEmpty(dept) || "04".equals(dept.getDeptType())){ // 小组不统计
+ Dept dept = permissionService.getDeptService().getById(deptId);
+ // 小组不统计
+ if (ObjectUtil.isEmpty(dept) || "04".equals(dept.getDeptType())) {
continue;
}
Map map = new HashMap<>();
- List subDeptIds = permissionService.getSubDepts(deptId,null);
+ List subDeptIds = permissionService.getDeptService().getIdsRecursionByPid(deptId, null);
subDeptIds.add(deptId);
- String subDeptIdstr = StringUtils.strip(subDeptIds.toString(),"[]");
+ String subDeptIdstr = StringUtils.strip(subDeptIds.toString(), "[]");
map.put("deptId", deptId);
- map.put("deptName",permissionService.getDeptName(deptId));
- Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr,beginTime,endTime);
- if(ToolUtil.isNotEmpty(countMap)){
+ map.put("deptName", permissionService.getDeptService().getDeptName(deptId));
+ Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr, beginTime, endTime);
+ if (ObjectUtil.isNotEmpty(countMap)) {
map.putAll(countMap);
- }else{
- map.put("beforeGet",0);
- map.put("beforeConfirm",0);
- map.put("inHandle",0);
- map.put("over",0);
- map.put("cancel",0);
+ } else {
+ map.put("beforeGet", 0);
+ map.put("beforeConfirm", 0);
+ map.put("inHandle", 0);
+ map.put("over", 0);
+ map.put("cancel", 0);
}
mapList.add(map);
}
@@ -108,23 +112,23 @@
@Override
public List> alarmsByDay(String beginTime, String endTime, DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
List> mapList = new ArrayList<>();
- try{
+ try {
Date beginDate = sdf1.parse(beginTime);
Date endDate = sdf1.parse(endTime);
Calendar date = Calendar.getInstance();
date.setTime(beginDate);
while (date.getTime().compareTo(endDate) <= 0) {
String tmp = sdf1.format(date.getTime());
- Map map = alarmNowViewMapper.countAlarmsByDay(tmp,deptIds);
- map.put("date",sdf2.format(date.getTime()));
+ Map map = alarmNowViewMapper.countAlarmsByDay(tmp, deptIds);
+ map.put("date", sdf2.format(date.getTime()));
mapList.add(map);
- date.add(Calendar.DAY_OF_MONTH,1);
+ date.add(Calendar.DAY_OF_MONTH, 1);
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
return mapList;
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
index 0da3db8..0f499e6 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
@@ -13,38 +13,40 @@
import java.util.Map;
import java.util.concurrent.CopyOnWriteArraySet;
+/**
+ * 此注解相当于设置访问URL
+ */
@Component
@ServerEndpoint("/websocket/{userId}")
-//此注解相当于设置访问URL
public class WebSocket {
private Session session;
- private static CopyOnWriteArraySet webSockets =new CopyOnWriteArraySet<>();
- private static Map sessionPool = new HashMap();
+ private static CopyOnWriteArraySet webSockets = new CopyOnWriteArraySet<>();
+ private static Map sessionPool = new HashMap();
@OnOpen
- public void onOpen(Session session, @PathParam(value="userId")String userId) {
+ public void onOpen(Session session, @PathParam(value = "userId") String userId) {
this.session = session;
webSockets.add(this);
sessionPool.put(userId, session);
- System.out.println(userId+"【websocket消息】有新的连接,总数为:"+webSockets.size());
+ System.out.println(userId + "【websocket消息】有新的连接,总数为:" + webSockets.size());
}
@OnClose
public void onClose() {
webSockets.remove(this);
- System.out.println("【websocket消息】连接断开,总数为:"+webSockets.size());
+ System.out.println("【websocket消息】连接断开,总数为:" + webSockets.size());
}
@OnMessage
public void onMessage(String message) {
- System.out.println("【websocket消息】收到客户端消息:"+message);
+ System.out.println("【websocket消息】收到客户端消息:" + message);
}
// 此为广播消息
public void sendAllMessage(String message) {
- for(WebSocket webSocket : webSockets) {
- System.out.println("【websocket消息】广播消息:"+message);
+ for (WebSocket webSocket : webSockets) {
+ System.out.println("【websocket消息】广播消息:" + message);
try {
webSocket.session.getAsyncRemote().sendText(message);
} catch (Exception e) {
@@ -54,8 +56,8 @@
}
// 发送列表消息
- public void sendListMessage(List userIds, String message){
- System.out.println("【websocket消息】列表消息:"+message);
+ public void sendListMessage(List userIds, String message) {
+ System.out.println("【websocket消息】列表消息:" + message);
for (String userId : userIds) {
Session session = sessionPool.get(userId);
if (session != null) {
@@ -87,7 +89,7 @@
// 此为单点消息
public void sendOneMessage(String userId, String message) {
- System.out.println("【websocket消息】单点消息:"+message);
+ System.out.println("【websocket消息】单点消息:" + message);
Session session = sessionPool.get(userId);
if (session != null) {
try {
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java
deleted file mode 100644
index 431e0bd..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package com.casic.missiles.modular.system.warpper;
-
-import com.alibaba.fastjson.JSONArray;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.core.util.ObjectUtil;
-
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-//@Service
-//@Primary
-public class AlarmJobWarpper extends BaseControllerWarpper {
-// private EhcacheConstant ehcacheConstant = new EhcacheConstant();
- public AlarmJobWarpper(Object list) { super(list); }
- @Override
- public void warpTheMap(Map map) {
-
- // 设置人员姓名
- for (String key : map.keySet())
- {
- if (key.contains("JobPerson")|| key.contains("jobBelongTo"))
- {
- Object object = map.get(key);
- if (object!=null)
- {
- String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
- map.replace(key,newVal);
- }
- }
- }
-
- //设置闸井相关字段
- String wellCode = map.get("wellCode").toString();
- Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
- // 设置权属单位、负责人、联系电话
- String deptidStr = wellInfoMap.get("deptid").toString();
- long deptid = StrUtil.isEmpty(deptidStr)? -1: Long.valueOf(deptidStr);
- map.put("deptName",EhcacheConstant.retBean().getDeptNameById(deptid));
- if(deptid>0){
- Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
- if(ObjectUtil.isEmpty(staffstr)){
- wellInfoMap.replace("staff","");
- wellInfoMap.replace("tel","");
- }else {
- Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
- wellInfoMap.putAll(userInfoMap);
- }
- }
- map.putAll(wellInfoMap);
-
- // 告警类型
- String alarmTypeStr = map.get("alarmType").toString();
- map.put("alarmTypeName",EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
-
- // 告警内容
- String alarmContentNameStr = map.get("alarmContentName").toString();
- map.put("alarmContent",EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
-
- // 告警值加单位
- if(ObjectUtil.isNotEmpty(map.get("alarmValue"))){
- String alarmValue = map.get("alarmValue").toString();
- String alarmContentName = map.get("alarmContentName").toString();
- if("液位超限".equals(alarmContentName)) {
- alarmValue += "m";
- map.replace("alarmValue",alarmValue);
- }
- if("浓度超限".equals(alarmContentName)) {
- alarmValue += "%LEL";
- map.replace("alarmValue",alarmValue);
- }
- if("疑似开挖".equals(alarmContentName)) {
- alarmValue += "mg";
- map.replace("alarmValue",alarmValue);
- }
- }
-
- // 工单状态
- String jobStatusStr = map.get("jobStatus").toString();
- map.put("jobStatusName",EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
-
- // 告警值
- if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr))
- {
- map.replace("alarmValue","--");
- }
-
- // 流转记录(工单详情用)
- if (map.containsKey("flow"))
- {
- String flow = (String) map.get("flow");
- flow = "["+flow.replaceFirst(",","")+"]";
- List list = new ArrayList<>();
- JSONArray jsonArray = JSONArray.parseArray(flow);
- list = jsonArray.toJavaList(Map.class);
- map.replace("flow",list);
- }
-
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRecordWarpper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRecordWarpper.java
deleted file mode 100644
index 3c4807a..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRecordWarpper.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.casic.missiles.modular.system.warpper;
-
-import com.casic.missiles.core.util.EhcacheConstant;
-import com.casic.missiles.core.base.warpper.BaseControllerWarpper;
-import com.casic.missiles.core.util.ToolUtil;
-
-import java.util.HashMap;
-import java.util.Map;
-
-//@Service
-//@Primary
-public class AlarmRecordWarpper extends BaseControllerWarpper {
- public AlarmRecordWarpper(Object list) { super(list); }
- @Override
- public void warpTheMap(Map map) {
-
- // 设置闸井相关字段
- String wellCode = map.get("wellCode").toString();
- Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
- // 设置权属单位、负责人、联系电话
- String deptidStr = wellInfoMap.get("deptid").toString();
- long deptid = ToolUtil.isEmpty(deptidStr)? -1: Long.valueOf(deptidStr);
- map.put("deptName",EhcacheConstant.retBean().getDeptNameById(deptid));
- if(deptid>0){
- Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
- if(ToolUtil.isEmpty(staffstr)){
- wellInfoMap.replace("staff","");
- wellInfoMap.replace("tel","");
- }else {
- Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
- wellInfoMap.putAll(userInfoMap);
- }
- }
- map.putAll(wellInfoMap);
-
- // 告警类型
- String alarmTypeStr = map.get("alarmType").toString();
- map.put("alarmTypeName",EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
-
- // 告警内容
- String alarmContentNameStr = map.get("alarmContentName").toString();
- map.put("alarmContent",EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
-
- // 告警值加单位
- if(ToolUtil.isNotEmpty(map.get("alarmValue"))){
- String alarmValue = map.get("alarmValue").toString();
- String alarmContentName = map.get("alarmContentName").toString();
- if("液位超限".equals(alarmContentName)) {
- alarmValue += "m";
- map.replace("alarmValue",alarmValue);
- }
- if("浓度超限".equals(alarmContentName)) {
- alarmValue += "%LEL";
- map.replace("alarmValue",alarmValue);
- }
- if("疑似开挖".equals(alarmContentName)) {
- alarmValue += "mg";
- map.replace("alarmValue",alarmValue);
- }
- }
-
- // 告警值
- if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr))
- {
- map.replace("alarmValue","--");
- }
-
- // 告警状态
- String statusStr = map.get("status").toString();
- map.put("statusName",EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr,"alarmStatus"));
-
- // 工单状态
- if(ToolUtil.isNotEmpty(map.get("jobStatus"))){
- String jobStatusStr = map.get("jobStatus").toString();
- map.put("jobStatusName",EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
- }
-
- }
-}
diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml
index 95d7f58..88f7dc3 100644
--- a/casic-alarm/pom.xml
+++ b/casic-alarm/pom.xml
@@ -28,21 +28,36 @@
${admin.version}
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java b/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
deleted file mode 100644
index 460d4db..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * SpringBoot方式启动类
- *
- * @author lwh
- * @Date 2021/06/06 12:06
- */
-@SpringBootApplication
-@EnableCaching
-@EnableScheduling
-@EnableTransactionManagement(proxyTargetClass = true)
-@EnableAsync
-@ServletComponentScan
-@Slf4j
-public class CasicApplication {
- public static void main(String[] args) {
- SpringApplication.run(CasicApplication.class, args);
- log.info("CasicApplication is success!");
- }
-
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
index ef473af..6a426fa 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
@@ -1,19 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.alarm.service.ISysDictService;
-import com.casic.missiles.modular.system.warpper.AlarmJobWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -29,7 +31,10 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
@@ -40,7 +45,7 @@
*/
@Controller
@RequestMapping("/job")
-public class AlarmJobController extends BaseController {
+public class AlarmJobController extends ExportController {
@Autowired
@@ -146,16 +151,93 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatusStr)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatusStr));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatusStr));
}
}
retList = alarmJobService.jobListApp(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmJobWrapper(Map map) {
+ // 设置人员姓名
+ for (String key : map.keySet()) {
+ if (key.contains("JobPerson") || key.contains("jobBelongTo")) {
+ Object object = map.get(key);
+ if (object != null) {
+ String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
+ map.replace(key, newVal);
+ }
+ }
+ }
+
+ //设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (ObjectUtil.isEmpty(staffstr)) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 工单状态
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 流转记录(工单详情用)
+ if (map.containsKey("flow")) {
+ String flow = (String) map.get("flow");
+ flow = "[" + flow.replaceFirst(",", "") + "]";
+ List list = new ArrayList<>();
+ JSONArray jsonArray = JSONArray.parseArray(flow);
+ list = jsonArray.toJavaList(Map.class);
+ map.replace("flow", list);
+ }
+ }
+
/**
* 工单查询接口 APP用
*/
@@ -181,14 +263,13 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatus)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatus));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus));
}
}
retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime,
handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
Map retMap = new HashMap<>();
@@ -227,7 +308,7 @@
}
retList = alarmJobService.jobListDelayReApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -265,7 +346,7 @@
}
retList = alarmJobService.jobListDelayProApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -294,22 +375,35 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId());
- new AlarmJobWarpper(jobExpList).warp();
+ jobExpList.forEach(this::alarmJobWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(jobExpList)) {
fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx");
} else {
fileInputStream = new FileInputStream(templatePath + "/jobRecTemplate.xlsx");
}
+
try {
+
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "jobOverview.xlsx");
-
Map var = new HashMap<>();
var.put("标题", "工单一览表");
var.put("list", jobExpList);
- ExcelIO.writeTemplate(fileInputStream, httpServletResponse.getOutputStream(), var);
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("工单编号", "jobCode"));
+ dataFieldDefines.add(new DataFieldDefine("工单创建时间", "createTime"));
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("告警时间", "alarmTime"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+ dataFieldDefines.add(new DataFieldDefine("处理人", "handleJobPerson"));
+ dataFieldDefines.add(new DataFieldDefine("处理时间", "handleJobTime"));
+ this.exportExcelMaps(dataFieldDefines, jobExpList, "工单一览表");
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
@@ -361,7 +455,7 @@
@RequestMapping(value = "/transferJob")
@ResponseBody
public Object transferJob(@RequestParam(value = "id", required = true) int id,
- @RequestParam(value = "transferPerson", required = true) String transferPerson) throws JSONException {
+ @RequestParam(value = "transferPerson", required = true) String transferPerson) {
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
@@ -437,8 +531,7 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
List> retList = alarmJobService.jobInfo(id, dataScope, currentUser.getId());
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
return ResponseData.success(retList);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
index 5ec9ed1..a1432fd 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
@@ -1,22 +1,23 @@
package com.casic.missiles.modular.alarm.controller;
-import com.alibaba.fastjson.JSON;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.util.EhcacheConstant;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmLevelService;
import com.casic.missiles.modular.system.model.AlarmLevel;
import com.casic.missiles.modular.system.model.DeptPermission;
+import com.casic.missiles.modular.system.service.IDeptPermissionService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.util.*;
@@ -36,73 +37,74 @@
private IAlarmLevelService alarmLevelService;
@Resource
private AbstractPermissionContext permissionService;
- @Autowired
- private AbstractDeptService deptPermissionService;
+ @Resource
+ private IDeptPermissionService deptPermissionService;
/**
* 获取告警等级列表
*/
@RequestMapping("/levelList")
@ResponseBody
- public Object levelList(Long tenantId){
- List> levelList = new ArrayList<>();
+ public Object levelList(Long tenantId) {
+ List> levelList = new ArrayList<>();
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
DeptPermission deptPermission = deptPermissionService.selectDeptPermission(currUser.getDeptId());
- if(ObjectUtil.isEmpty(deptPermission)){
+ if (ObjectUtil.isEmpty(deptPermission)) {
return levelList;
}
- for(Object deviceType: JSON.parseObject(deptPermission.getDeviceType(), List.class)){
+ for (Object deviceType : JSON.parseObject(deptPermission.getDeviceType(), List.class)) {
String deviceTypeName = EhcacheConstant.retBean().getDeviceTypeNameById(deviceType.toString());
List names = new ArrayList<>();
- if(deviceTypeName.contains("液位")){
+ if (deviceTypeName.contains("液位")) {
names.add("液位");
}
- if(deviceTypeName.contains("有害气体")){
+ if (deviceTypeName.contains("有害气体")) {
names.add("一氧化碳");
names.add("硫化氢");
names.add("甲烷");
names.add("氧气");
}
- if(deviceTypeName.contains("燃气")){
+ if (deviceTypeName.contains("燃气")) {
names.add("燃气");
}
- if(deviceTypeName.contains("温湿度")){
+ if (deviceTypeName.contains("温湿度")) {
names.add("温度");
names.add("湿度");
}
- if(deviceTypeName.contains("开挖")){
+ if (deviceTypeName.contains("开挖")) {
names.add("开挖");
}
- for(String name: names){
+ for (String name : names) {
Map levelMap = new HashMap<>();
- Map level = alarmLevelService.selectByNameAndTenGroup(tenantId,name);
- levelMap.put("name",name);
- levelMap.put("deviceType",deviceType);
- levelMap.put("deviceTypeName",deviceTypeName);
+ Map level = alarmLevelService.selectByNameAndTenGroup(tenantId, name);
+ levelMap.put("name", name);
+ levelMap.put("deviceType", deviceType);
+ levelMap.put("deviceTypeName", deviceTypeName);
- if(ObjectUtil.isEmpty(level.get("openAlarm"))){
- levelMap.put("openAlarm","");
- }else{
- levelMap.put("openAlarm",level.get("openAlarm").toString());
+ if (ObjectUtil.isEmpty(level.get("openAlarm"))) {
+ levelMap.put("openAlarm", "");
+ } else {
+ levelMap.put("openAlarm", level.get("openAlarm").toString());
}
- if(ObjectUtil.isEmpty(level.get("openJob"))){
- levelMap.put("openJob","");
- }else{
- levelMap.put("openJob",level.get("openJob").toString());
+ if (ObjectUtil.isEmpty(level.get("openJob"))) {
+ levelMap.put("openJob", "");
+ } else {
+ levelMap.put("openJob", level.get("openJob").toString());
}
- if(ObjectUtil.isEmpty(level.get("ts"))){
- levelMap.put("ts","");
- }else{
- levelMap.put("ts",level.get("ts").toString());
+ if (ObjectUtil.isEmpty(level.get("ts"))) {
+ levelMap.put("ts", "");
+ } else {
+ levelMap.put("ts", level.get("ts").toString());
}
levelList.add(levelMap);
@@ -116,13 +118,14 @@
*/
@RequestMapping("/levelByType")
@ResponseBody
- public Object levelByType(Long tenantId, String name){
+ public Object levelByType(Long tenantId, String name) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
List levelList = alarmLevelService.selectByNameAndTenList(tenantId, name);
return ResponseData.success(levelList);
@@ -131,22 +134,23 @@
@RequestMapping("/configLevel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object configLevel(@RequestBody List levelList){
+ public Object configLevel(@RequestBody List levelList) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- String userTenantId = currUser.getTenantId(); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ String userTenantId = currUser.getTenantId();
Date currDate = new Date();
- for(AlarmLevel alarmLevel:levelList){
- if(ObjectUtil.isAllEmpty(alarmLevel.getTenantId(),userTenantId)){
+ for (AlarmLevel alarmLevel : levelList) {
+ if (ObjectUtil.isAllEmpty(alarmLevel.getTenantId(), userTenantId)) {
return ResponseData.error("无关联的项目id");
}
Long tenantId = ObjectUtil.isEmpty(alarmLevel.getTenantId()) ? Long.valueOf(userTenantId) : alarmLevel.getTenantId();
- AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId,alarmLevel.getName(),alarmLevel.getLevel());
- if(ObjectUtil.isEmpty(oldAlarmLevel)){
+ AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId, alarmLevel.getName(), alarmLevel.getLevel());
+ if (ObjectUtil.isEmpty(oldAlarmLevel)) {
//insert
alarmLevel.setTenantId(tenantId);
alarmLevel.setTs(currDate);
- alarmLevelService.insert(alarmLevel);
- }else{
+ alarmLevelService.save(alarmLevel);
+ } else {
//update
alarmLevel.setId(oldAlarmLevel.getId());
alarmLevel.setTenantId(tenantId);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
index 67e4b49..51e0d50 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
@@ -1,15 +1,19 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.AlarmRecords;
-import com.casic.missiles.modular.system.warpper.AlarmRecordWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -17,13 +21,13 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.collection.CollectionUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -36,7 +40,7 @@
*/
@Controller
@RequestMapping("/alarm")
-public class AlarmRecordsController extends BaseController {
+public class AlarmRecordsController extends ExportController {
@Autowired
@@ -44,13 +48,13 @@
@Resource
private AbstractPermissionContext iCommonPermissionService;
@Value("${smartcity.office.maxRowsExcel}")
- private int maxRowsExcel;
+ private int maxRowsExcel;
@Value("${smartcity.config.config-path}")
private String templatePath;
@Value("${smartcity.adminRoleName}")
- private String sAdmin;
+ private String sAdmin;
@Value("${smartcity.opRoleName}")
- private String sOperator;
+ private String sOperator;
/**
* 获取分页列表
@@ -62,7 +66,7 @@
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
@@ -73,28 +77,87 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> retList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
-
-
- new AlarmRecordWarpper(retList).warp();
+ List> retList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ retList.forEach(this::alarmRecordWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmRecordWrapper(Map map) {
+ // 设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (null == staffstr) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 告警状态
+ String statusStr = map.get("status").toString();
+ map.put("statusName", EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr, "alarmStatus"));
+
+ // 工单状态
+ if (ObjectUtil.isNotEmpty(map.get("jobStatus"))) {
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+ }
+ }
@RequestMapping(value = "/export")
- public void exportAlarm(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) throws IOException {
+ public void exportAlarm(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
Page> page = PageFactory.defaultPage();
- page.setMaxLimit((long)maxRowsExcel);
+ page.setMaxLimit((long) maxRowsExcel);
page.setSize(maxRowsExcel);
page.offset();
page.setSearchCount(false);
@@ -104,25 +167,36 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> alarmExpList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
- new AlarmRecordWarpper(alarmExpList).warp();
-
+ List> alarmExpList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ alarmExpList.forEach(this::alarmRecordWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(alarmExpList)) {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecEmpty.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecEmpty.xlsx");
} else {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecTemplate.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecTemplate.xlsx");
}
try {
httpServletResponse.setContentType("application/octet-stream");
- httpServletResponse.addHeader("Content-Disposition", " attachment;filename="+"alarmOverview.xlsx" );
+ httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "alarmOverview.xlsx");
- Map var = new HashMap<>();
- var.put("标题","报警一览表");
- var.put("list",alarmExpList);
- ExcelIO.writeTemplate(fileInputStream,httpServletResponse.getOutputStream(),var);
+ Map var = new HashMap<>();
+ var.put("标题", "报警一览表");
+ var.put("list", alarmExpList);
+
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("设备编号", "devcode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmTypeName"));
+ dataFieldDefines.add(new DataFieldDefine("告警原因", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("权属单位", "deptName"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+
+ this.exportExcelMaps(dataFieldDefines, alarmExpList, "报警一览表");
} catch (IOException e) {
e.printStackTrace();
@@ -132,7 +206,8 @@
httpServletResponse.getOutputStream().flush();
httpServletResponse.getOutputStream().close();
fileInputStream.close();
- };
+ }
+ ;
}
@@ -141,15 +216,15 @@
*/
@RequestMapping(value = "/cancelAlarm")
@ResponseBody
- public Object cancelAlarm(@RequestParam(value = "id",required = true) int id, //jobId
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object cancelAlarm(@RequestParam(value = "id", required = true) int id, //jobId
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- boolean isCancel = alarmRecordsService.cancelAlarm(id,jobStatus,handleMessage,currentUser.getId());
- if(isCancel){
+ boolean isCancel = alarmRecordsService.cancelAlarm(id, jobStatus, handleMessage, currentUser.getId());
+ if (isCancel) {
return ResponseData.success();
- }else {
+ } else {
return ResponseData.error("failure");
}
}
@@ -160,22 +235,22 @@
@RequestMapping(value = "/batchCancel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object batchCancel(@RequestParam(value = "keywords",required = false) String keywords,
- @RequestParam(value = "alarmType",required = false) String alarmType,
- @RequestParam(value = "alarmContent",required = false) String alarmContent,
- @RequestParam(value = "beginTime",required = false) String beginTime,
- @RequestParam(value = "endTime",required = false) String endTime,
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object batchCancel(@RequestParam(value = "keywords", required = false) String keywords,
+ @RequestParam(value = "alarmType", required = false) String alarmType,
+ @RequestParam(value = "alarmContent", required = false) String alarmContent,
+ @RequestParam(value = "beginTime", required = false) String beginTime,
+ @RequestParam(value = "endTime", required = false) String endTime,
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
//根据查询条件查询alarm_record记录
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope,keywords,alarmType,alarmContent,beginTime,endTime);
+ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime);
//根据jobId调用closeJob
for (AlarmRecords alarmRecord : alarmRecords) {
- alarmRecordsService.cancelAlarm(alarmRecord.getJobId(),jobStatus,handleMessage,currentUser.getId());
+ alarmRecordsService.cancelAlarm(alarmRecord.getJobId(), jobStatus, handleMessage, currentUser.getId());
}
return ResponseData.success();
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
index 7a645dd..3b39aeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
@@ -1,21 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRuleService;
import com.casic.missiles.modular.system.dto.AlarmRuleDTO;
-import com.casic.missiles.modular.system.warpper.AlarmRuleWarpper;
+import com.casic.missiles.modular.system.service.IDeviceRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.util.StrUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -54,8 +54,9 @@
public Map list(String keywords, HttpServletRequest httpServletRequest) {
String deviceType = httpServletRequest.getParameter("deviceType");
- if (StrUtil.isEmpty(deviceType))
+ if (StrUtil.isEmpty(deviceType)) {
deviceType = "";
+ }
Page> page = PageFactory.defaultPage();
Map retMap = new HashMap<>();
boolean bSessionValid = false;
@@ -66,9 +67,10 @@
return retMap;
}
List> retList = new ArrayList<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
retList = alarmRuleService.ruleListViaParam(page, keywords, deviceType, dataScope);
- new AlarmRuleWarpper(retList).warp();
+ retList.stream().forEach(this::alarmRuleWrapper);
page.setRecords(retList);
retMap.put("code", 200);
retMap.put("message", "success");
@@ -76,11 +78,19 @@
return retMap;
}
+ private void alarmRuleWrapper(Map map) {
+ String deviceType = map.get("deviceType").toString();
+ long deptid = Long.parseLong(map.get("deptid").toString());
+ map.put("deviceTypeName", EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ }
+
@RequestMapping(value = "/update")
@ResponseBody
public Map updateRule(@RequestParam(value = "id", required = true) int id, HttpServletRequest httpServletRequest) {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
if (super.getSession().getAttribute("sessionFlag") == null) {
retMap.put("code", 505);
retMap.put("message", "sessionExpired");
@@ -90,10 +100,12 @@
String sLow = httpServletRequest.getParameter("lowValue");
float highValue = 99999;
float lowValue = -99999;
- if (StrUtil.isNotEmpty(sHigh))
+ if (StrUtil.isNotEmpty(sHigh)) {
highValue = Float.parseFloat(sHigh);
- if (StrUtil.isNotEmpty(sLow))
+ }
+ if (StrUtil.isNotEmpty(sLow)) {
lowValue = Float.parseFloat(sLow);
+ }
if (alarmRuleService.updateRule(id, highValue, lowValue)) {
retMap.put("code", 200);
@@ -138,7 +150,7 @@
@RequestMapping(value = "/delete")
@ResponseBody
public Object delete(@RequestParam Integer id) {
- alarmRuleService.deleteById(id);
+ alarmRuleService.removeById(id);
return ResponseData.success();
}
@@ -151,8 +163,9 @@
public Map getNoAlarmDevice() {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
- List alarmRuleList= alarmRuleService.getNoAlarmDevice(dataScope);
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
+ List alarmRuleList = alarmRuleService.getNoAlarmDevice(dataScope);
retMap.put("code", 200);
retMap.put("message", "success");
retMap.put("data", alarmRuleList);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
new file mode 100644
index 0000000..a749516
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
@@ -0,0 +1,109 @@
+package com.casic.missiles.modular.alarm.job;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.modular.alarm.service.IAlarmJobService;
+import com.casic.missiles.modular.system.model.AlarmJob;
+import com.casic.missiles.modular.system.util.PushList;
+import com.casic.missiles.modular.system.util.WebSocket;
+import com.casic.missiles.quartz.service.IQuartzManager;
+import com.gexin.rp.sdk.base.IPushResult;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.support.AbstractApplicationContext;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class DelayJob implements Job {
+
+ private static final Logger logger = LoggerFactory.getLogger(DelayJob.class);
+
+ private Integer jobId;
+ private IAlarmJobService iAlarmJobService;
+ private AbstractApplicationContext iCommonUserService;
+ private IQuartzManager iQuartzManager;
+ private WebSocket webSocket;
+
+ public void setJobId(Integer jobId) {
+ this.jobId = jobId;
+ }
+
+ public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
+ this.iAlarmJobService = iAlarmJobService;
+ }
+
+ public void setICommonUserService(AbstractApplicationContext iCommonUserService) {
+ this.iCommonUserService = iCommonUserService;
+ }
+
+ public void setIQuartzManager(IQuartzManager iQuartzManager) {
+ this.iQuartzManager = iQuartzManager;
+ }
+
+ public void setWebSocket(WebSocket webSocket) {
+ this.webSocket = webSocket;
+ }
+
+ @Override
+ public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+
+ //业务逻辑
+ SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
+ System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
+ getJobDelay(jobId);
+ }
+
+ private void getJobDelay(Integer id) {
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if (!"3".equals(alarmJob.getJobStatus()) && !"4".equals(alarmJob.getJobStatus())) {
+ // 超时未处理 // 延时标签
+ alarmJob.setJobFlagDelay("2");
+ // 延时记录
+ String jobFlag = alarmJob.getJobFlag1();
+ if (StrUtil.isNotEmpty(jobFlag)) {
+ jobFlag += ",2";
+ } else {
+ jobFlag = "2";
+ }
+ alarmJob.setJobFlag1(jobFlag);
+ iAlarmJobService.updateById(alarmJob); // 更新记录
+ // APP推送
+ Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
+ String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
+ List clientIds = new ArrayList<>();
+ if (StrUtil.isNotEmpty(clientId)) {
+ clientIds.add(clientId);
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未处理");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未处理工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
+ }
+ } else {
+ logger.info("超时未处理工单找不到责任人,未推送:" + id.toString());
+ }
+ // PC推送,推给信息办
+ //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+// EntityWrapper wrapper = new EntityWrapper();
+// wrapper.eq("DEPTID","1178242562491285506");
+// List userList = iCommonUserService.selectUsersList(wrapper,null);
+// List userIds = new ArrayList<>();
+// for (User user : userList) {
+// userIds.add(user.getId().toString());
+// }
+// Map map = new HashMap();
+// map.put("message","有新的超时未处理工单");
+// map.put("type","overtimeHandle");
+// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
+ }
+ String jobName = "getJobDelay" + id;
+ iQuartzManager.removeJob(jobName);
+ }
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
index ba9f439..9d72902 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
@@ -1,10 +1,10 @@
package com.casic.missiles.modular.alarm.job;
-import com.casic.missiles.core.common.service.ICommonUserService;
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.modular.system.dto.UserClientView;
import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -15,19 +15,20 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
@Component
-public class HandleAlarmJob implements Job{
+public class HandleAlarmJob implements Job {
private static final Logger logger = LoggerFactory.getLogger(HandleAlarmJob.class);
private Integer jobId;
private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
+ private AbstractPermissionContext iCommonUserService;
private IQuartzManager iQuartzManager;
private WebSocket webSocket;
private List userClientViewList;
@@ -40,7 +41,7 @@
this.iAlarmJobService = iAlarmJobService;
}
- public void setICommonUserService(ICommonUserService iCommonUserService) {
+ public void setICommonUserService(AbstractPermissionContext iCommonUserService) {
this.iCommonUserService = iCommonUserService;
}
@@ -62,29 +63,29 @@
}
private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if("0".equals(alarmJob.getJobStatus())){
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if ("0".equals(alarmJob.getJobStatus())) {
// 超时未接收
alarmJob.setJobFlagDelay("1"); // 延时标签
alarmJob.setJobFlag1("1");
iAlarmJobService.updateById(alarmJob); // 更新记录
// APP推送 推给井盖所属权属单位
List clientIds = new ArrayList<>();
- for(UserClientView userClientView:userClientViewList){
- if(StrUtil.isNotEmpty(userClientView.getClientid())){
+ for (UserClientView userClientView : userClientViewList) {
+ if (StrUtil.isNotEmpty(userClientView.getClientid())) {
clientIds.add(userClientView.getClientid());
}
}
- if(clientIds.size()>0){
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未接收");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未接收工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
+ if (clientIds.size() > 0) {
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未接收");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未接收工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
}
- }else{
- logger.info("超时未接收工单找不到责任人,未推送:"+id.toString());
+ } else {
+ logger.info("超时未接收工单找不到责任人,未推送:" + id.toString());
}
// PC推送,推给信息办
// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
deleted file mode 100644
index 46eeda9..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package com.casic.missiles.modular.alarm.job;
-
-import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.util.PushList;
-import com.casic.missiles.modular.system.util.WebSocket;
-import com.casic.missiles.quartz.service.IQuartzManager;
-import com.gexin.rp.sdk.base.IPushResult;
-import com.google.gson.GsonBuilder;
-import org.quartz.Job;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
-
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-@Component
-public class getDelayJob implements Job {
-
- private static final Logger logger = LoggerFactory.getLogger(getDelayJob.class);
-
- private Integer jobId;
- private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
- private IQuartzManager iQuartzManager;
- private WebSocket webSocket;
-
- public void setJobId(Integer jobId) {
- this.jobId = jobId;
- }
-
- public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
- this.iAlarmJobService = iAlarmJobService;
- }
-
- public void setICommonUserService(ICommonUserService iCommonUserService) {
- this.iCommonUserService = iCommonUserService;
- }
-
- public void setIQuartzManager(IQuartzManager iQuartzManager) {
- this.iQuartzManager = iQuartzManager;
- }
-
- public void setWebSocket(WebSocket webSocket) {
- this.webSocket = webSocket;
- }
-
- @Override
- public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-
- //业务逻辑
- SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
- System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
- getJobDelay(jobId);
- }
-
- private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if(!"3".equals(alarmJob.getJobStatus()) &&!"4".equals(alarmJob.getJobStatus())){
- // 超时未处理
- alarmJob.setJobFlagDelay("2"); // 延时标签
- String jobFlag = alarmJob.getJobFlag1(); // 延时记录
- if(StrUtil.isNotEmpty(jobFlag)){
- jobFlag += ",2";
- }else{
- jobFlag = "2";
- }
- alarmJob.setJobFlag1(jobFlag);
- iAlarmJobService.updateById(alarmJob); // 更新记录
- // APP推送
- Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
- String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
- List clientIds = new ArrayList<>();
- if(StrUtil.isNotEmpty(clientId)){
- clientIds.add(clientId);
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未处理");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未处理工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
- }
- }else{
- logger.info("超时未处理工单找不到责任人,未推送:"+id.toString());
- }
- // PC推送,推给信息办
- //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
-// EntityWrapper wrapper = new EntityWrapper();
-// wrapper.eq("DEPTID","1178242562491285506");
-// List userList = iCommonUserService.selectUsersList(wrapper,null);
-// List userIds = new ArrayList<>();
-// for (User user : userList) {
-// userIds.add(user.getId().toString());
-// }
-// Map map = new HashMap();
-// map.put("message","有新的超时未处理工单");
-// map.put("type","overtimeHandle");
-// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
- }
- String jobName = "getJobDelay" + id;
- iQuartzManager.removeJob(jobName);
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
index d9ca2a1..450b861 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
@@ -1,11 +1,13 @@
package com.casic.missiles.modular.alarm.service.impl;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.enums.UserQueryEnum;
import com.casic.missiles.modular.alarm.job.HandleAlarmJob;
-import com.casic.missiles.modular.alarm.job.getDelayJob;
+import com.casic.missiles.modular.alarm.job.DelayJob;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.util.EhcacheConstant;
@@ -16,7 +18,7 @@
import com.casic.missiles.modular.system.model.AlarmJob;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -31,7 +33,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
-import cn.hutool.core.util.ObjectUtil;
+
import cn.hutool.core.util.StrUtil;
/**
@@ -68,7 +70,8 @@
@Resource
private IQuartzManager quartzManager;
- @Autowired IBusWellInfoService busWellInfoService;
+ @Resource
+ private IBusWellInfoSupportService busWellInfoService;
@Override
public List> jobList(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, DataScope dataScope,Long userId) {
@@ -177,7 +180,7 @@
map.put("iCommonUserService",iCommonUserService);
map.put("iQuartzManager",quartzManager);
map.put("webSocket",webSocket);
- quartzManager.addJob(jobName,getDelayJob.class,shouldHandleTime,map);
+ quartzManager.addJob(jobName, DelayJob.class,shouldHandleTime,map);
}
return this.baseMapper.getJob(id,personId,getTime,shouldHandleTime);
@@ -228,7 +231,7 @@
@Override
public boolean checkJobStatus(String jobStatus) {
- if(ToolUtil.isEmpty(jobStatus)){
+ if(StrUtil.isEmpty(jobStatus)){
return false;
}else{
return "1".equals(jobStatus) || "2".equals(jobStatus) || "3".equals(jobStatus);
@@ -283,7 +286,7 @@
public void updateSinkJob(String id, String msg,String wellCode) {
List userClientViewList = new ArrayList<>();
List selectDtoList = selectRoles();
- EntityWrapper busWellInfoEntityWrapper = new EntityWrapper<>();
+ QueryWrapper busWellInfoEntityWrapper = new QueryWrapper<>();
busWellInfoEntityWrapper.eq("WELL_CODE",wellCode);
BusWellInfo busWellInfo = busWellInfoService.selectOne(busWellInfoEntityWrapper);
if(busWellInfo!=null&&StrUtil.isNotEmpty(busWellInfo.getDeptid())){
@@ -338,10 +341,10 @@
logger.info("告警消息app端找不到责任人,未推送:" + msg);
}
// PC推送,推给信息办
-// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
- EntityWrapper wrapper = new EntityWrapper();
- wrapper.eq("DEPTID", "1178242562491285506");
- List userList = iCommonUserService.selectUsersList(wrapper, null);
+ // List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+ QueryWrapper wrapper = new QueryWrapper();
+ wrapper.eq(UserQueryEnum.DEPT_ID, "1178242562491285506");
+ List userList = iCommonUserService.getUserService().list(wrapper);
for (User user : userList) {
userIds.add(user.getId().toString());
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
index 134a817..44f6788 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
@@ -1,13 +1,16 @@
package com.casic.missiles.modular.system.controller;
-import com.casic.missiles.core.base.controller.BaseController;
+import cn.hutool.core.util.ObjectUtil;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.model.exception.ServiceException;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.model.response.SuccessResponseData;
import com.casic.missiles.modular.system.dto.AlarmNowView;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.service.IAlarmNowViewService;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -20,7 +23,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import cn.hutool.core.util.ObjectUtil;
+
/**
* 地图总览模块的controller
*
@@ -38,7 +41,7 @@
private IAlarmNowViewService alarmNowViewService;
@Autowired
- private IBusWellInfoService busWellInfoService;
+ private IBusWellInfoSupportService busWellInfoService;
/**
* 获取当前全部告警列表
@@ -65,20 +68,20 @@
@RequestMapping(value = "/alarmsByWell", method = RequestMethod.GET)
@ResponseBody
public Object alarmsByWell(@RequestParam(required = true) Long id) {
- if(ObjectUtil.isEmpty(id)){
- throw new GunsException(GunsExceptionEnum.REQUEST_NULL);
+ if (ObjectUtil.isEmpty(id)) {
+ throw new ServiceException(CoreExceptionEnum.REQUEST_NULL);
}
SuccessResponseData successResult = new SuccessResponseData();
// 查询闸井信息
- BusWellInfo busWellInfo = busWellInfoService.selectById(id);
+ BusWellInfo busWellInfo = busWellInfoService.getById(id);
Map dataMap = new HashMap();
if (null != busWellInfo) {
dataMap.put("id", busWellInfo.getId());
dataMap.put("wellCode", busWellInfo.getWellCode());
dataMap.put("deptId", busWellInfo.getDeptid());
- dataMap.put("deptName", permissionService.getDeptName(String.valueOf(busWellInfo.getDeptid())));
- dataMap.put("wellTypeName",busWellInfo.getWellTypeName());
+ dataMap.put("deptName", permissionService.getDeptService().getDeptName(String.valueOf(busWellInfo.getDeptid())));
+ dataMap.put("wellTypeName", busWellInfo.getWellTypeName());
dataMap.put("position", busWellInfo.getPosition());
dataMap.put("deep", busWellInfo.getDeep());
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
index 263839d..d1e0d38 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
@@ -1,7 +1,7 @@
package com.casic.missiles.modular.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.dao.AlarmNowViewMapper;
import com.casic.missiles.modular.system.dto.AlarmNowView;
@@ -13,7 +13,7 @@
/**
*
- * 服务实现类
+ * 服务实现类
*
*
* @author casic123
@@ -23,13 +23,13 @@
public class AlarmNowViewServiceImpl extends ServiceImpl implements IAlarmNowViewService {
@Resource
- private AbstractPermissionContext permissionService;
+ private AbstractDictService dictService;
@Override
public List getNowAlarmRecords(DataScope dataScope) {
List alarmNowViewList = this.baseMapper.getNowAlarmRecords(dataScope);
for (AlarmNowView alarmNowView : alarmNowViewList) {
- alarmNowView.setWellTypeName(permissionService.getDictNameByCode("sluicewellType",alarmNowView.getWellType()));
+ alarmNowView.setWellTypeName(dictService.getDictNameByCode("sluicewellType", alarmNowView.getWellType()));
}
return alarmNowViewList;
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
index 760fdf6..affce72 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
@@ -1,15 +1,15 @@
package com.casic.missiles.modular.system.service.impl;
+import cn.hutool.core.util.ObjectUtil;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.dao.AlarmNowViewMapper;
import com.casic.missiles.modular.system.dao.StatisticMapper;
import com.casic.missiles.modular.system.model.Dept;
import com.casic.missiles.modular.system.service.IStatisticsService;
import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import cn.hutool.core.util.ObjectUtil;
import javax.annotation.Resource;
import java.text.ParseException;
@@ -18,35 +18,37 @@
@Service
public class StatisticServiceImpl implements IStatisticsService {
- @Autowired
+ @Resource
private StatisticMapper statisticMapper;
- @Autowired
+ @Resource
private AlarmNowViewMapper alarmNowViewMapper;
@Resource
private AbstractPermissionContext permissionService;
+ @Resource
+ private AbstractDictService dictService;
@Override
public List> wellStaticsByDept(DataScope dataScope) {
List> mapList = statisticMapper.wellStaticsByDept(dataScope);
for (Map map : mapList) {
- map.put("pidName",permissionService.getDeptName(Long.valueOf(map.get("pid").toString())));
+ map.put("pidName", permissionService.getDeptService().getDeptName(Long.valueOf(map.get("pid").toString())));
}
return mapList;
}
@Override
public List> wellStaticsByType(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
List> mapList = statisticMapper.wellStaticsByType(deptIds);
for (Map map : mapList) {
- map.put("wellTypeName",permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString()));
+ map.put("wellTypeName", dictService.getDictNameByCode("sluicewellType", map.get("wellType").toString()));
}
return mapList;
}
@Override
public List> deviceStaticsByType(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
List> mapList = statisticMapper.deviceStaticsByType(deptIds);
// for (Map map : mapList) {
// map.replace("deviceType",sysDictMapper.getDeviceTypeNameById(map.get("deviceType").toString()));
@@ -55,51 +57,53 @@
}
@Override
- public List> deviceStaticsByDept(DataScope dataScope,String deviceType) {
- List> mapList = statisticMapper.deviceStaticsByDept(dataScope,deviceType);
+ public List> deviceStaticsByDept(DataScope dataScope, String deviceType) {
+ List> mapList = statisticMapper.deviceStaticsByDept(dataScope, deviceType);
for (Map map : mapList) {
- map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString())));
+ map.put("deptName", permissionService.getDeptService().getDeptName(Long.valueOf(map.get("deptid").toString())));
}
return mapList;
}
@Override
public Map deviceStaticsByStatus(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
Map map = statisticMapper.deviceStaticsByStatus(deptIds);
- for(String s:map.keySet()){ //value都转为string
- map.replace(s,map.get(s).toString());
+ for (String s : map.keySet()) { //value都转为string
+ map.replace(s, map.get(s).toString());
}
return map;
}
@Override
- public List> jobsByDept(DataScope dataScope,String beginTime, String endTime, String deviceType) throws ParseException {
+ public List> jobsByDept(DataScope dataScope, String beginTime, String endTime, String deviceType) throws ParseException {
List> mapList = new ArrayList<>();
List deptIds = dataScope.getDeptIds();
for (Long deptId : deptIds) {
- if(deptId==0){ // 顶级不统计
+ // 顶级不统计
+ if (deptId == 0) {
continue;
}
- Dept dept = permissionService.getDeptById(deptId);
- if( ObjectUtil.isEmpty(dept) || "04".equals(dept.getDeptType())){ // 小组不统计
+ Dept dept = permissionService.getDeptService().getById(deptId);
+ // 小组不统计
+ if (ObjectUtil.isEmpty(dept) || "04".equals(dept.getDeptType())) {
continue;
}
Map map = new HashMap<>();
- List subDeptIds = permissionService.getSubDepts(deptId,null);
+ List subDeptIds = permissionService.getDeptService().getIdsRecursionByPid(deptId, null);
subDeptIds.add(deptId);
- String subDeptIdstr = StringUtils.strip(subDeptIds.toString(),"[]");
+ String subDeptIdstr = StringUtils.strip(subDeptIds.toString(), "[]");
map.put("deptId", deptId);
- map.put("deptName",permissionService.getDeptName(deptId));
- Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr,beginTime,endTime);
- if(ToolUtil.isNotEmpty(countMap)){
+ map.put("deptName", permissionService.getDeptService().getDeptName(deptId));
+ Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr, beginTime, endTime);
+ if (ObjectUtil.isNotEmpty(countMap)) {
map.putAll(countMap);
- }else{
- map.put("beforeGet",0);
- map.put("beforeConfirm",0);
- map.put("inHandle",0);
- map.put("over",0);
- map.put("cancel",0);
+ } else {
+ map.put("beforeGet", 0);
+ map.put("beforeConfirm", 0);
+ map.put("inHandle", 0);
+ map.put("over", 0);
+ map.put("cancel", 0);
}
mapList.add(map);
}
@@ -108,23 +112,23 @@
@Override
public List> alarmsByDay(String beginTime, String endTime, DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
List> mapList = new ArrayList<>();
- try{
+ try {
Date beginDate = sdf1.parse(beginTime);
Date endDate = sdf1.parse(endTime);
Calendar date = Calendar.getInstance();
date.setTime(beginDate);
while (date.getTime().compareTo(endDate) <= 0) {
String tmp = sdf1.format(date.getTime());
- Map map = alarmNowViewMapper.countAlarmsByDay(tmp,deptIds);
- map.put("date",sdf2.format(date.getTime()));
+ Map map = alarmNowViewMapper.countAlarmsByDay(tmp, deptIds);
+ map.put("date", sdf2.format(date.getTime()));
mapList.add(map);
- date.add(Calendar.DAY_OF_MONTH,1);
+ date.add(Calendar.DAY_OF_MONTH, 1);
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
return mapList;
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
index 0da3db8..0f499e6 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
@@ -13,38 +13,40 @@
import java.util.Map;
import java.util.concurrent.CopyOnWriteArraySet;
+/**
+ * 此注解相当于设置访问URL
+ */
@Component
@ServerEndpoint("/websocket/{userId}")
-//此注解相当于设置访问URL
public class WebSocket {
private Session session;
- private static CopyOnWriteArraySet webSockets =new CopyOnWriteArraySet<>();
- private static Map sessionPool = new HashMap();
+ private static CopyOnWriteArraySet webSockets = new CopyOnWriteArraySet<>();
+ private static Map sessionPool = new HashMap();
@OnOpen
- public void onOpen(Session session, @PathParam(value="userId")String userId) {
+ public void onOpen(Session session, @PathParam(value = "userId") String userId) {
this.session = session;
webSockets.add(this);
sessionPool.put(userId, session);
- System.out.println(userId+"【websocket消息】有新的连接,总数为:"+webSockets.size());
+ System.out.println(userId + "【websocket消息】有新的连接,总数为:" + webSockets.size());
}
@OnClose
public void onClose() {
webSockets.remove(this);
- System.out.println("【websocket消息】连接断开,总数为:"+webSockets.size());
+ System.out.println("【websocket消息】连接断开,总数为:" + webSockets.size());
}
@OnMessage
public void onMessage(String message) {
- System.out.println("【websocket消息】收到客户端消息:"+message);
+ System.out.println("【websocket消息】收到客户端消息:" + message);
}
// 此为广播消息
public void sendAllMessage(String message) {
- for(WebSocket webSocket : webSockets) {
- System.out.println("【websocket消息】广播消息:"+message);
+ for (WebSocket webSocket : webSockets) {
+ System.out.println("【websocket消息】广播消息:" + message);
try {
webSocket.session.getAsyncRemote().sendText(message);
} catch (Exception e) {
@@ -54,8 +56,8 @@
}
// 发送列表消息
- public void sendListMessage(List userIds, String message){
- System.out.println("【websocket消息】列表消息:"+message);
+ public void sendListMessage(List userIds, String message) {
+ System.out.println("【websocket消息】列表消息:" + message);
for (String userId : userIds) {
Session session = sessionPool.get(userId);
if (session != null) {
@@ -87,7 +89,7 @@
// 此为单点消息
public void sendOneMessage(String userId, String message) {
- System.out.println("【websocket消息】单点消息:"+message);
+ System.out.println("【websocket消息】单点消息:" + message);
Session session = sessionPool.get(userId);
if (session != null) {
try {
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java
deleted file mode 100644
index 431e0bd..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package com.casic.missiles.modular.system.warpper;
-
-import com.alibaba.fastjson.JSONArray;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.core.util.ObjectUtil;
-
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-//@Service
-//@Primary
-public class AlarmJobWarpper extends BaseControllerWarpper {
-// private EhcacheConstant ehcacheConstant = new EhcacheConstant();
- public AlarmJobWarpper(Object list) { super(list); }
- @Override
- public void warpTheMap(Map map) {
-
- // 设置人员姓名
- for (String key : map.keySet())
- {
- if (key.contains("JobPerson")|| key.contains("jobBelongTo"))
- {
- Object object = map.get(key);
- if (object!=null)
- {
- String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
- map.replace(key,newVal);
- }
- }
- }
-
- //设置闸井相关字段
- String wellCode = map.get("wellCode").toString();
- Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
- // 设置权属单位、负责人、联系电话
- String deptidStr = wellInfoMap.get("deptid").toString();
- long deptid = StrUtil.isEmpty(deptidStr)? -1: Long.valueOf(deptidStr);
- map.put("deptName",EhcacheConstant.retBean().getDeptNameById(deptid));
- if(deptid>0){
- Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
- if(ObjectUtil.isEmpty(staffstr)){
- wellInfoMap.replace("staff","");
- wellInfoMap.replace("tel","");
- }else {
- Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
- wellInfoMap.putAll(userInfoMap);
- }
- }
- map.putAll(wellInfoMap);
-
- // 告警类型
- String alarmTypeStr = map.get("alarmType").toString();
- map.put("alarmTypeName",EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
-
- // 告警内容
- String alarmContentNameStr = map.get("alarmContentName").toString();
- map.put("alarmContent",EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
-
- // 告警值加单位
- if(ObjectUtil.isNotEmpty(map.get("alarmValue"))){
- String alarmValue = map.get("alarmValue").toString();
- String alarmContentName = map.get("alarmContentName").toString();
- if("液位超限".equals(alarmContentName)) {
- alarmValue += "m";
- map.replace("alarmValue",alarmValue);
- }
- if("浓度超限".equals(alarmContentName)) {
- alarmValue += "%LEL";
- map.replace("alarmValue",alarmValue);
- }
- if("疑似开挖".equals(alarmContentName)) {
- alarmValue += "mg";
- map.replace("alarmValue",alarmValue);
- }
- }
-
- // 工单状态
- String jobStatusStr = map.get("jobStatus").toString();
- map.put("jobStatusName",EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
-
- // 告警值
- if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr))
- {
- map.replace("alarmValue","--");
- }
-
- // 流转记录(工单详情用)
- if (map.containsKey("flow"))
- {
- String flow = (String) map.get("flow");
- flow = "["+flow.replaceFirst(",","")+"]";
- List list = new ArrayList<>();
- JSONArray jsonArray = JSONArray.parseArray(flow);
- list = jsonArray.toJavaList(Map.class);
- map.replace("flow",list);
- }
-
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRecordWarpper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRecordWarpper.java
deleted file mode 100644
index 3c4807a..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRecordWarpper.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.casic.missiles.modular.system.warpper;
-
-import com.casic.missiles.core.util.EhcacheConstant;
-import com.casic.missiles.core.base.warpper.BaseControllerWarpper;
-import com.casic.missiles.core.util.ToolUtil;
-
-import java.util.HashMap;
-import java.util.Map;
-
-//@Service
-//@Primary
-public class AlarmRecordWarpper extends BaseControllerWarpper {
- public AlarmRecordWarpper(Object list) { super(list); }
- @Override
- public void warpTheMap(Map map) {
-
- // 设置闸井相关字段
- String wellCode = map.get("wellCode").toString();
- Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
- // 设置权属单位、负责人、联系电话
- String deptidStr = wellInfoMap.get("deptid").toString();
- long deptid = ToolUtil.isEmpty(deptidStr)? -1: Long.valueOf(deptidStr);
- map.put("deptName",EhcacheConstant.retBean().getDeptNameById(deptid));
- if(deptid>0){
- Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
- if(ToolUtil.isEmpty(staffstr)){
- wellInfoMap.replace("staff","");
- wellInfoMap.replace("tel","");
- }else {
- Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
- wellInfoMap.putAll(userInfoMap);
- }
- }
- map.putAll(wellInfoMap);
-
- // 告警类型
- String alarmTypeStr = map.get("alarmType").toString();
- map.put("alarmTypeName",EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
-
- // 告警内容
- String alarmContentNameStr = map.get("alarmContentName").toString();
- map.put("alarmContent",EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
-
- // 告警值加单位
- if(ToolUtil.isNotEmpty(map.get("alarmValue"))){
- String alarmValue = map.get("alarmValue").toString();
- String alarmContentName = map.get("alarmContentName").toString();
- if("液位超限".equals(alarmContentName)) {
- alarmValue += "m";
- map.replace("alarmValue",alarmValue);
- }
- if("浓度超限".equals(alarmContentName)) {
- alarmValue += "%LEL";
- map.replace("alarmValue",alarmValue);
- }
- if("疑似开挖".equals(alarmContentName)) {
- alarmValue += "mg";
- map.replace("alarmValue",alarmValue);
- }
- }
-
- // 告警值
- if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr))
- {
- map.replace("alarmValue","--");
- }
-
- // 告警状态
- String statusStr = map.get("status").toString();
- map.put("statusName",EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr,"alarmStatus"));
-
- // 工单状态
- if(ToolUtil.isNotEmpty(map.get("jobStatus"))){
- String jobStatusStr = map.get("jobStatus").toString();
- map.put("jobStatusName",EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
- }
-
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRuleWarpper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRuleWarpper.java
deleted file mode 100644
index 7d8cef1..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRuleWarpper.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.casic.missiles.modular.system.warpper;
-
-import com.casic.missiles.core.base.warpper.BaseControllerWarpper;
-import com.casic.missiles.core.util.EhcacheConstant;
-
-import java.util.Map;
-
-//@Service
-//@Primary
-public class AlarmRuleWarpper extends BaseControllerWarpper {
-// private EhcacheConstant ehcacheConstant = new EhcacheConstant();
- public AlarmRuleWarpper(Object list) { super(list); }
- @Override
- public void warpTheMap(Map map) {
-
- String deviceType = map.get("deviceType").toString();
- long deptid = Long.parseLong(map.get("deptid").toString());
- map.put("deviceTypeName",EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
- map.put("deptName",EhcacheConstant.retBean().getDeptNameById(deptid));
- }
-}
diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml
index 95d7f58..88f7dc3 100644
--- a/casic-alarm/pom.xml
+++ b/casic-alarm/pom.xml
@@ -28,21 +28,36 @@
${admin.version}
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java b/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
deleted file mode 100644
index 460d4db..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * SpringBoot方式启动类
- *
- * @author lwh
- * @Date 2021/06/06 12:06
- */
-@SpringBootApplication
-@EnableCaching
-@EnableScheduling
-@EnableTransactionManagement(proxyTargetClass = true)
-@EnableAsync
-@ServletComponentScan
-@Slf4j
-public class CasicApplication {
- public static void main(String[] args) {
- SpringApplication.run(CasicApplication.class, args);
- log.info("CasicApplication is success!");
- }
-
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
index ef473af..6a426fa 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
@@ -1,19 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.alarm.service.ISysDictService;
-import com.casic.missiles.modular.system.warpper.AlarmJobWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -29,7 +31,10 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
@@ -40,7 +45,7 @@
*/
@Controller
@RequestMapping("/job")
-public class AlarmJobController extends BaseController {
+public class AlarmJobController extends ExportController {
@Autowired
@@ -146,16 +151,93 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatusStr)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatusStr));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatusStr));
}
}
retList = alarmJobService.jobListApp(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmJobWrapper(Map map) {
+ // 设置人员姓名
+ for (String key : map.keySet()) {
+ if (key.contains("JobPerson") || key.contains("jobBelongTo")) {
+ Object object = map.get(key);
+ if (object != null) {
+ String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
+ map.replace(key, newVal);
+ }
+ }
+ }
+
+ //设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (ObjectUtil.isEmpty(staffstr)) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 工单状态
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 流转记录(工单详情用)
+ if (map.containsKey("flow")) {
+ String flow = (String) map.get("flow");
+ flow = "[" + flow.replaceFirst(",", "") + "]";
+ List list = new ArrayList<>();
+ JSONArray jsonArray = JSONArray.parseArray(flow);
+ list = jsonArray.toJavaList(Map.class);
+ map.replace("flow", list);
+ }
+ }
+
/**
* 工单查询接口 APP用
*/
@@ -181,14 +263,13 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatus)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatus));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus));
}
}
retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime,
handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
Map retMap = new HashMap<>();
@@ -227,7 +308,7 @@
}
retList = alarmJobService.jobListDelayReApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -265,7 +346,7 @@
}
retList = alarmJobService.jobListDelayProApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -294,22 +375,35 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId());
- new AlarmJobWarpper(jobExpList).warp();
+ jobExpList.forEach(this::alarmJobWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(jobExpList)) {
fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx");
} else {
fileInputStream = new FileInputStream(templatePath + "/jobRecTemplate.xlsx");
}
+
try {
+
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "jobOverview.xlsx");
-
Map var = new HashMap<>();
var.put("标题", "工单一览表");
var.put("list", jobExpList);
- ExcelIO.writeTemplate(fileInputStream, httpServletResponse.getOutputStream(), var);
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("工单编号", "jobCode"));
+ dataFieldDefines.add(new DataFieldDefine("工单创建时间", "createTime"));
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("告警时间", "alarmTime"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+ dataFieldDefines.add(new DataFieldDefine("处理人", "handleJobPerson"));
+ dataFieldDefines.add(new DataFieldDefine("处理时间", "handleJobTime"));
+ this.exportExcelMaps(dataFieldDefines, jobExpList, "工单一览表");
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
@@ -361,7 +455,7 @@
@RequestMapping(value = "/transferJob")
@ResponseBody
public Object transferJob(@RequestParam(value = "id", required = true) int id,
- @RequestParam(value = "transferPerson", required = true) String transferPerson) throws JSONException {
+ @RequestParam(value = "transferPerson", required = true) String transferPerson) {
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
@@ -437,8 +531,7 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
List> retList = alarmJobService.jobInfo(id, dataScope, currentUser.getId());
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
return ResponseData.success(retList);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
index 5ec9ed1..a1432fd 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
@@ -1,22 +1,23 @@
package com.casic.missiles.modular.alarm.controller;
-import com.alibaba.fastjson.JSON;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.util.EhcacheConstant;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmLevelService;
import com.casic.missiles.modular.system.model.AlarmLevel;
import com.casic.missiles.modular.system.model.DeptPermission;
+import com.casic.missiles.modular.system.service.IDeptPermissionService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.util.*;
@@ -36,73 +37,74 @@
private IAlarmLevelService alarmLevelService;
@Resource
private AbstractPermissionContext permissionService;
- @Autowired
- private AbstractDeptService deptPermissionService;
+ @Resource
+ private IDeptPermissionService deptPermissionService;
/**
* 获取告警等级列表
*/
@RequestMapping("/levelList")
@ResponseBody
- public Object levelList(Long tenantId){
- List> levelList = new ArrayList<>();
+ public Object levelList(Long tenantId) {
+ List> levelList = new ArrayList<>();
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
DeptPermission deptPermission = deptPermissionService.selectDeptPermission(currUser.getDeptId());
- if(ObjectUtil.isEmpty(deptPermission)){
+ if (ObjectUtil.isEmpty(deptPermission)) {
return levelList;
}
- for(Object deviceType: JSON.parseObject(deptPermission.getDeviceType(), List.class)){
+ for (Object deviceType : JSON.parseObject(deptPermission.getDeviceType(), List.class)) {
String deviceTypeName = EhcacheConstant.retBean().getDeviceTypeNameById(deviceType.toString());
List names = new ArrayList<>();
- if(deviceTypeName.contains("液位")){
+ if (deviceTypeName.contains("液位")) {
names.add("液位");
}
- if(deviceTypeName.contains("有害气体")){
+ if (deviceTypeName.contains("有害气体")) {
names.add("一氧化碳");
names.add("硫化氢");
names.add("甲烷");
names.add("氧气");
}
- if(deviceTypeName.contains("燃气")){
+ if (deviceTypeName.contains("燃气")) {
names.add("燃气");
}
- if(deviceTypeName.contains("温湿度")){
+ if (deviceTypeName.contains("温湿度")) {
names.add("温度");
names.add("湿度");
}
- if(deviceTypeName.contains("开挖")){
+ if (deviceTypeName.contains("开挖")) {
names.add("开挖");
}
- for(String name: names){
+ for (String name : names) {
Map levelMap = new HashMap<>();
- Map level = alarmLevelService.selectByNameAndTenGroup(tenantId,name);
- levelMap.put("name",name);
- levelMap.put("deviceType",deviceType);
- levelMap.put("deviceTypeName",deviceTypeName);
+ Map level = alarmLevelService.selectByNameAndTenGroup(tenantId, name);
+ levelMap.put("name", name);
+ levelMap.put("deviceType", deviceType);
+ levelMap.put("deviceTypeName", deviceTypeName);
- if(ObjectUtil.isEmpty(level.get("openAlarm"))){
- levelMap.put("openAlarm","");
- }else{
- levelMap.put("openAlarm",level.get("openAlarm").toString());
+ if (ObjectUtil.isEmpty(level.get("openAlarm"))) {
+ levelMap.put("openAlarm", "");
+ } else {
+ levelMap.put("openAlarm", level.get("openAlarm").toString());
}
- if(ObjectUtil.isEmpty(level.get("openJob"))){
- levelMap.put("openJob","");
- }else{
- levelMap.put("openJob",level.get("openJob").toString());
+ if (ObjectUtil.isEmpty(level.get("openJob"))) {
+ levelMap.put("openJob", "");
+ } else {
+ levelMap.put("openJob", level.get("openJob").toString());
}
- if(ObjectUtil.isEmpty(level.get("ts"))){
- levelMap.put("ts","");
- }else{
- levelMap.put("ts",level.get("ts").toString());
+ if (ObjectUtil.isEmpty(level.get("ts"))) {
+ levelMap.put("ts", "");
+ } else {
+ levelMap.put("ts", level.get("ts").toString());
}
levelList.add(levelMap);
@@ -116,13 +118,14 @@
*/
@RequestMapping("/levelByType")
@ResponseBody
- public Object levelByType(Long tenantId, String name){
+ public Object levelByType(Long tenantId, String name) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
List levelList = alarmLevelService.selectByNameAndTenList(tenantId, name);
return ResponseData.success(levelList);
@@ -131,22 +134,23 @@
@RequestMapping("/configLevel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object configLevel(@RequestBody List levelList){
+ public Object configLevel(@RequestBody List levelList) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- String userTenantId = currUser.getTenantId(); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ String userTenantId = currUser.getTenantId();
Date currDate = new Date();
- for(AlarmLevel alarmLevel:levelList){
- if(ObjectUtil.isAllEmpty(alarmLevel.getTenantId(),userTenantId)){
+ for (AlarmLevel alarmLevel : levelList) {
+ if (ObjectUtil.isAllEmpty(alarmLevel.getTenantId(), userTenantId)) {
return ResponseData.error("无关联的项目id");
}
Long tenantId = ObjectUtil.isEmpty(alarmLevel.getTenantId()) ? Long.valueOf(userTenantId) : alarmLevel.getTenantId();
- AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId,alarmLevel.getName(),alarmLevel.getLevel());
- if(ObjectUtil.isEmpty(oldAlarmLevel)){
+ AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId, alarmLevel.getName(), alarmLevel.getLevel());
+ if (ObjectUtil.isEmpty(oldAlarmLevel)) {
//insert
alarmLevel.setTenantId(tenantId);
alarmLevel.setTs(currDate);
- alarmLevelService.insert(alarmLevel);
- }else{
+ alarmLevelService.save(alarmLevel);
+ } else {
//update
alarmLevel.setId(oldAlarmLevel.getId());
alarmLevel.setTenantId(tenantId);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
index 67e4b49..51e0d50 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
@@ -1,15 +1,19 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.AlarmRecords;
-import com.casic.missiles.modular.system.warpper.AlarmRecordWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -17,13 +21,13 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.collection.CollectionUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -36,7 +40,7 @@
*/
@Controller
@RequestMapping("/alarm")
-public class AlarmRecordsController extends BaseController {
+public class AlarmRecordsController extends ExportController {
@Autowired
@@ -44,13 +48,13 @@
@Resource
private AbstractPermissionContext iCommonPermissionService;
@Value("${smartcity.office.maxRowsExcel}")
- private int maxRowsExcel;
+ private int maxRowsExcel;
@Value("${smartcity.config.config-path}")
private String templatePath;
@Value("${smartcity.adminRoleName}")
- private String sAdmin;
+ private String sAdmin;
@Value("${smartcity.opRoleName}")
- private String sOperator;
+ private String sOperator;
/**
* 获取分页列表
@@ -62,7 +66,7 @@
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
@@ -73,28 +77,87 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> retList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
-
-
- new AlarmRecordWarpper(retList).warp();
+ List> retList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ retList.forEach(this::alarmRecordWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmRecordWrapper(Map map) {
+ // 设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (null == staffstr) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 告警状态
+ String statusStr = map.get("status").toString();
+ map.put("statusName", EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr, "alarmStatus"));
+
+ // 工单状态
+ if (ObjectUtil.isNotEmpty(map.get("jobStatus"))) {
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+ }
+ }
@RequestMapping(value = "/export")
- public void exportAlarm(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) throws IOException {
+ public void exportAlarm(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
Page> page = PageFactory.defaultPage();
- page.setMaxLimit((long)maxRowsExcel);
+ page.setMaxLimit((long) maxRowsExcel);
page.setSize(maxRowsExcel);
page.offset();
page.setSearchCount(false);
@@ -104,25 +167,36 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> alarmExpList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
- new AlarmRecordWarpper(alarmExpList).warp();
-
+ List> alarmExpList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ alarmExpList.forEach(this::alarmRecordWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(alarmExpList)) {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecEmpty.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecEmpty.xlsx");
} else {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecTemplate.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecTemplate.xlsx");
}
try {
httpServletResponse.setContentType("application/octet-stream");
- httpServletResponse.addHeader("Content-Disposition", " attachment;filename="+"alarmOverview.xlsx" );
+ httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "alarmOverview.xlsx");
- Map var = new HashMap<>();
- var.put("标题","报警一览表");
- var.put("list",alarmExpList);
- ExcelIO.writeTemplate(fileInputStream,httpServletResponse.getOutputStream(),var);
+ Map var = new HashMap<>();
+ var.put("标题", "报警一览表");
+ var.put("list", alarmExpList);
+
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("设备编号", "devcode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmTypeName"));
+ dataFieldDefines.add(new DataFieldDefine("告警原因", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("权属单位", "deptName"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+
+ this.exportExcelMaps(dataFieldDefines, alarmExpList, "报警一览表");
} catch (IOException e) {
e.printStackTrace();
@@ -132,7 +206,8 @@
httpServletResponse.getOutputStream().flush();
httpServletResponse.getOutputStream().close();
fileInputStream.close();
- };
+ }
+ ;
}
@@ -141,15 +216,15 @@
*/
@RequestMapping(value = "/cancelAlarm")
@ResponseBody
- public Object cancelAlarm(@RequestParam(value = "id",required = true) int id, //jobId
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object cancelAlarm(@RequestParam(value = "id", required = true) int id, //jobId
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- boolean isCancel = alarmRecordsService.cancelAlarm(id,jobStatus,handleMessage,currentUser.getId());
- if(isCancel){
+ boolean isCancel = alarmRecordsService.cancelAlarm(id, jobStatus, handleMessage, currentUser.getId());
+ if (isCancel) {
return ResponseData.success();
- }else {
+ } else {
return ResponseData.error("failure");
}
}
@@ -160,22 +235,22 @@
@RequestMapping(value = "/batchCancel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object batchCancel(@RequestParam(value = "keywords",required = false) String keywords,
- @RequestParam(value = "alarmType",required = false) String alarmType,
- @RequestParam(value = "alarmContent",required = false) String alarmContent,
- @RequestParam(value = "beginTime",required = false) String beginTime,
- @RequestParam(value = "endTime",required = false) String endTime,
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object batchCancel(@RequestParam(value = "keywords", required = false) String keywords,
+ @RequestParam(value = "alarmType", required = false) String alarmType,
+ @RequestParam(value = "alarmContent", required = false) String alarmContent,
+ @RequestParam(value = "beginTime", required = false) String beginTime,
+ @RequestParam(value = "endTime", required = false) String endTime,
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
//根据查询条件查询alarm_record记录
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope,keywords,alarmType,alarmContent,beginTime,endTime);
+ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime);
//根据jobId调用closeJob
for (AlarmRecords alarmRecord : alarmRecords) {
- alarmRecordsService.cancelAlarm(alarmRecord.getJobId(),jobStatus,handleMessage,currentUser.getId());
+ alarmRecordsService.cancelAlarm(alarmRecord.getJobId(), jobStatus, handleMessage, currentUser.getId());
}
return ResponseData.success();
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
index 7a645dd..3b39aeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
@@ -1,21 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRuleService;
import com.casic.missiles.modular.system.dto.AlarmRuleDTO;
-import com.casic.missiles.modular.system.warpper.AlarmRuleWarpper;
+import com.casic.missiles.modular.system.service.IDeviceRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.util.StrUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -54,8 +54,9 @@
public Map list(String keywords, HttpServletRequest httpServletRequest) {
String deviceType = httpServletRequest.getParameter("deviceType");
- if (StrUtil.isEmpty(deviceType))
+ if (StrUtil.isEmpty(deviceType)) {
deviceType = "";
+ }
Page> page = PageFactory.defaultPage();
Map retMap = new HashMap<>();
boolean bSessionValid = false;
@@ -66,9 +67,10 @@
return retMap;
}
List> retList = new ArrayList<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
retList = alarmRuleService.ruleListViaParam(page, keywords, deviceType, dataScope);
- new AlarmRuleWarpper(retList).warp();
+ retList.stream().forEach(this::alarmRuleWrapper);
page.setRecords(retList);
retMap.put("code", 200);
retMap.put("message", "success");
@@ -76,11 +78,19 @@
return retMap;
}
+ private void alarmRuleWrapper(Map map) {
+ String deviceType = map.get("deviceType").toString();
+ long deptid = Long.parseLong(map.get("deptid").toString());
+ map.put("deviceTypeName", EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ }
+
@RequestMapping(value = "/update")
@ResponseBody
public Map updateRule(@RequestParam(value = "id", required = true) int id, HttpServletRequest httpServletRequest) {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
if (super.getSession().getAttribute("sessionFlag") == null) {
retMap.put("code", 505);
retMap.put("message", "sessionExpired");
@@ -90,10 +100,12 @@
String sLow = httpServletRequest.getParameter("lowValue");
float highValue = 99999;
float lowValue = -99999;
- if (StrUtil.isNotEmpty(sHigh))
+ if (StrUtil.isNotEmpty(sHigh)) {
highValue = Float.parseFloat(sHigh);
- if (StrUtil.isNotEmpty(sLow))
+ }
+ if (StrUtil.isNotEmpty(sLow)) {
lowValue = Float.parseFloat(sLow);
+ }
if (alarmRuleService.updateRule(id, highValue, lowValue)) {
retMap.put("code", 200);
@@ -138,7 +150,7 @@
@RequestMapping(value = "/delete")
@ResponseBody
public Object delete(@RequestParam Integer id) {
- alarmRuleService.deleteById(id);
+ alarmRuleService.removeById(id);
return ResponseData.success();
}
@@ -151,8 +163,9 @@
public Map getNoAlarmDevice() {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
- List alarmRuleList= alarmRuleService.getNoAlarmDevice(dataScope);
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
+ List alarmRuleList = alarmRuleService.getNoAlarmDevice(dataScope);
retMap.put("code", 200);
retMap.put("message", "success");
retMap.put("data", alarmRuleList);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
new file mode 100644
index 0000000..a749516
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
@@ -0,0 +1,109 @@
+package com.casic.missiles.modular.alarm.job;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.modular.alarm.service.IAlarmJobService;
+import com.casic.missiles.modular.system.model.AlarmJob;
+import com.casic.missiles.modular.system.util.PushList;
+import com.casic.missiles.modular.system.util.WebSocket;
+import com.casic.missiles.quartz.service.IQuartzManager;
+import com.gexin.rp.sdk.base.IPushResult;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.support.AbstractApplicationContext;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class DelayJob implements Job {
+
+ private static final Logger logger = LoggerFactory.getLogger(DelayJob.class);
+
+ private Integer jobId;
+ private IAlarmJobService iAlarmJobService;
+ private AbstractApplicationContext iCommonUserService;
+ private IQuartzManager iQuartzManager;
+ private WebSocket webSocket;
+
+ public void setJobId(Integer jobId) {
+ this.jobId = jobId;
+ }
+
+ public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
+ this.iAlarmJobService = iAlarmJobService;
+ }
+
+ public void setICommonUserService(AbstractApplicationContext iCommonUserService) {
+ this.iCommonUserService = iCommonUserService;
+ }
+
+ public void setIQuartzManager(IQuartzManager iQuartzManager) {
+ this.iQuartzManager = iQuartzManager;
+ }
+
+ public void setWebSocket(WebSocket webSocket) {
+ this.webSocket = webSocket;
+ }
+
+ @Override
+ public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+
+ //业务逻辑
+ SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
+ System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
+ getJobDelay(jobId);
+ }
+
+ private void getJobDelay(Integer id) {
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if (!"3".equals(alarmJob.getJobStatus()) && !"4".equals(alarmJob.getJobStatus())) {
+ // 超时未处理 // 延时标签
+ alarmJob.setJobFlagDelay("2");
+ // 延时记录
+ String jobFlag = alarmJob.getJobFlag1();
+ if (StrUtil.isNotEmpty(jobFlag)) {
+ jobFlag += ",2";
+ } else {
+ jobFlag = "2";
+ }
+ alarmJob.setJobFlag1(jobFlag);
+ iAlarmJobService.updateById(alarmJob); // 更新记录
+ // APP推送
+ Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
+ String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
+ List clientIds = new ArrayList<>();
+ if (StrUtil.isNotEmpty(clientId)) {
+ clientIds.add(clientId);
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未处理");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未处理工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
+ }
+ } else {
+ logger.info("超时未处理工单找不到责任人,未推送:" + id.toString());
+ }
+ // PC推送,推给信息办
+ //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+// EntityWrapper wrapper = new EntityWrapper();
+// wrapper.eq("DEPTID","1178242562491285506");
+// List userList = iCommonUserService.selectUsersList(wrapper,null);
+// List userIds = new ArrayList<>();
+// for (User user : userList) {
+// userIds.add(user.getId().toString());
+// }
+// Map map = new HashMap();
+// map.put("message","有新的超时未处理工单");
+// map.put("type","overtimeHandle");
+// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
+ }
+ String jobName = "getJobDelay" + id;
+ iQuartzManager.removeJob(jobName);
+ }
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
index ba9f439..9d72902 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
@@ -1,10 +1,10 @@
package com.casic.missiles.modular.alarm.job;
-import com.casic.missiles.core.common.service.ICommonUserService;
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.modular.system.dto.UserClientView;
import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -15,19 +15,20 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
@Component
-public class HandleAlarmJob implements Job{
+public class HandleAlarmJob implements Job {
private static final Logger logger = LoggerFactory.getLogger(HandleAlarmJob.class);
private Integer jobId;
private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
+ private AbstractPermissionContext iCommonUserService;
private IQuartzManager iQuartzManager;
private WebSocket webSocket;
private List userClientViewList;
@@ -40,7 +41,7 @@
this.iAlarmJobService = iAlarmJobService;
}
- public void setICommonUserService(ICommonUserService iCommonUserService) {
+ public void setICommonUserService(AbstractPermissionContext iCommonUserService) {
this.iCommonUserService = iCommonUserService;
}
@@ -62,29 +63,29 @@
}
private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if("0".equals(alarmJob.getJobStatus())){
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if ("0".equals(alarmJob.getJobStatus())) {
// 超时未接收
alarmJob.setJobFlagDelay("1"); // 延时标签
alarmJob.setJobFlag1("1");
iAlarmJobService.updateById(alarmJob); // 更新记录
// APP推送 推给井盖所属权属单位
List clientIds = new ArrayList<>();
- for(UserClientView userClientView:userClientViewList){
- if(StrUtil.isNotEmpty(userClientView.getClientid())){
+ for (UserClientView userClientView : userClientViewList) {
+ if (StrUtil.isNotEmpty(userClientView.getClientid())) {
clientIds.add(userClientView.getClientid());
}
}
- if(clientIds.size()>0){
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未接收");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未接收工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
+ if (clientIds.size() > 0) {
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未接收");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未接收工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
}
- }else{
- logger.info("超时未接收工单找不到责任人,未推送:"+id.toString());
+ } else {
+ logger.info("超时未接收工单找不到责任人,未推送:" + id.toString());
}
// PC推送,推给信息办
// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
deleted file mode 100644
index 46eeda9..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package com.casic.missiles.modular.alarm.job;
-
-import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.util.PushList;
-import com.casic.missiles.modular.system.util.WebSocket;
-import com.casic.missiles.quartz.service.IQuartzManager;
-import com.gexin.rp.sdk.base.IPushResult;
-import com.google.gson.GsonBuilder;
-import org.quartz.Job;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
-
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-@Component
-public class getDelayJob implements Job {
-
- private static final Logger logger = LoggerFactory.getLogger(getDelayJob.class);
-
- private Integer jobId;
- private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
- private IQuartzManager iQuartzManager;
- private WebSocket webSocket;
-
- public void setJobId(Integer jobId) {
- this.jobId = jobId;
- }
-
- public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
- this.iAlarmJobService = iAlarmJobService;
- }
-
- public void setICommonUserService(ICommonUserService iCommonUserService) {
- this.iCommonUserService = iCommonUserService;
- }
-
- public void setIQuartzManager(IQuartzManager iQuartzManager) {
- this.iQuartzManager = iQuartzManager;
- }
-
- public void setWebSocket(WebSocket webSocket) {
- this.webSocket = webSocket;
- }
-
- @Override
- public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-
- //业务逻辑
- SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
- System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
- getJobDelay(jobId);
- }
-
- private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if(!"3".equals(alarmJob.getJobStatus()) &&!"4".equals(alarmJob.getJobStatus())){
- // 超时未处理
- alarmJob.setJobFlagDelay("2"); // 延时标签
- String jobFlag = alarmJob.getJobFlag1(); // 延时记录
- if(StrUtil.isNotEmpty(jobFlag)){
- jobFlag += ",2";
- }else{
- jobFlag = "2";
- }
- alarmJob.setJobFlag1(jobFlag);
- iAlarmJobService.updateById(alarmJob); // 更新记录
- // APP推送
- Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
- String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
- List clientIds = new ArrayList<>();
- if(StrUtil.isNotEmpty(clientId)){
- clientIds.add(clientId);
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未处理");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未处理工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
- }
- }else{
- logger.info("超时未处理工单找不到责任人,未推送:"+id.toString());
- }
- // PC推送,推给信息办
- //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
-// EntityWrapper wrapper = new EntityWrapper();
-// wrapper.eq("DEPTID","1178242562491285506");
-// List userList = iCommonUserService.selectUsersList(wrapper,null);
-// List userIds = new ArrayList<>();
-// for (User user : userList) {
-// userIds.add(user.getId().toString());
-// }
-// Map map = new HashMap();
-// map.put("message","有新的超时未处理工单");
-// map.put("type","overtimeHandle");
-// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
- }
- String jobName = "getJobDelay" + id;
- iQuartzManager.removeJob(jobName);
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
index d9ca2a1..450b861 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
@@ -1,11 +1,13 @@
package com.casic.missiles.modular.alarm.service.impl;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.enums.UserQueryEnum;
import com.casic.missiles.modular.alarm.job.HandleAlarmJob;
-import com.casic.missiles.modular.alarm.job.getDelayJob;
+import com.casic.missiles.modular.alarm.job.DelayJob;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.util.EhcacheConstant;
@@ -16,7 +18,7 @@
import com.casic.missiles.modular.system.model.AlarmJob;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -31,7 +33,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
-import cn.hutool.core.util.ObjectUtil;
+
import cn.hutool.core.util.StrUtil;
/**
@@ -68,7 +70,8 @@
@Resource
private IQuartzManager quartzManager;
- @Autowired IBusWellInfoService busWellInfoService;
+ @Resource
+ private IBusWellInfoSupportService busWellInfoService;
@Override
public List> jobList(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, DataScope dataScope,Long userId) {
@@ -177,7 +180,7 @@
map.put("iCommonUserService",iCommonUserService);
map.put("iQuartzManager",quartzManager);
map.put("webSocket",webSocket);
- quartzManager.addJob(jobName,getDelayJob.class,shouldHandleTime,map);
+ quartzManager.addJob(jobName, DelayJob.class,shouldHandleTime,map);
}
return this.baseMapper.getJob(id,personId,getTime,shouldHandleTime);
@@ -228,7 +231,7 @@
@Override
public boolean checkJobStatus(String jobStatus) {
- if(ToolUtil.isEmpty(jobStatus)){
+ if(StrUtil.isEmpty(jobStatus)){
return false;
}else{
return "1".equals(jobStatus) || "2".equals(jobStatus) || "3".equals(jobStatus);
@@ -283,7 +286,7 @@
public void updateSinkJob(String id, String msg,String wellCode) {
List userClientViewList = new ArrayList<>();
List selectDtoList = selectRoles();
- EntityWrapper busWellInfoEntityWrapper = new EntityWrapper<>();
+ QueryWrapper busWellInfoEntityWrapper = new QueryWrapper<>();
busWellInfoEntityWrapper.eq("WELL_CODE",wellCode);
BusWellInfo busWellInfo = busWellInfoService.selectOne(busWellInfoEntityWrapper);
if(busWellInfo!=null&&StrUtil.isNotEmpty(busWellInfo.getDeptid())){
@@ -338,10 +341,10 @@
logger.info("告警消息app端找不到责任人,未推送:" + msg);
}
// PC推送,推给信息办
-// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
- EntityWrapper wrapper = new EntityWrapper();
- wrapper.eq("DEPTID", "1178242562491285506");
- List userList = iCommonUserService.selectUsersList(wrapper, null);
+ // List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+ QueryWrapper wrapper = new QueryWrapper();
+ wrapper.eq(UserQueryEnum.DEPT_ID, "1178242562491285506");
+ List userList = iCommonUserService.getUserService().list(wrapper);
for (User user : userList) {
userIds.add(user.getId().toString());
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
index 134a817..44f6788 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
@@ -1,13 +1,16 @@
package com.casic.missiles.modular.system.controller;
-import com.casic.missiles.core.base.controller.BaseController;
+import cn.hutool.core.util.ObjectUtil;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.model.exception.ServiceException;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.model.response.SuccessResponseData;
import com.casic.missiles.modular.system.dto.AlarmNowView;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.service.IAlarmNowViewService;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -20,7 +23,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import cn.hutool.core.util.ObjectUtil;
+
/**
* 地图总览模块的controller
*
@@ -38,7 +41,7 @@
private IAlarmNowViewService alarmNowViewService;
@Autowired
- private IBusWellInfoService busWellInfoService;
+ private IBusWellInfoSupportService busWellInfoService;
/**
* 获取当前全部告警列表
@@ -65,20 +68,20 @@
@RequestMapping(value = "/alarmsByWell", method = RequestMethod.GET)
@ResponseBody
public Object alarmsByWell(@RequestParam(required = true) Long id) {
- if(ObjectUtil.isEmpty(id)){
- throw new GunsException(GunsExceptionEnum.REQUEST_NULL);
+ if (ObjectUtil.isEmpty(id)) {
+ throw new ServiceException(CoreExceptionEnum.REQUEST_NULL);
}
SuccessResponseData successResult = new SuccessResponseData();
// 查询闸井信息
- BusWellInfo busWellInfo = busWellInfoService.selectById(id);
+ BusWellInfo busWellInfo = busWellInfoService.getById(id);
Map dataMap = new HashMap();
if (null != busWellInfo) {
dataMap.put("id", busWellInfo.getId());
dataMap.put("wellCode", busWellInfo.getWellCode());
dataMap.put("deptId", busWellInfo.getDeptid());
- dataMap.put("deptName", permissionService.getDeptName(String.valueOf(busWellInfo.getDeptid())));
- dataMap.put("wellTypeName",busWellInfo.getWellTypeName());
+ dataMap.put("deptName", permissionService.getDeptService().getDeptName(String.valueOf(busWellInfo.getDeptid())));
+ dataMap.put("wellTypeName", busWellInfo.getWellTypeName());
dataMap.put("position", busWellInfo.getPosition());
dataMap.put("deep", busWellInfo.getDeep());
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
index 263839d..d1e0d38 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
@@ -1,7 +1,7 @@
package com.casic.missiles.modular.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.dao.AlarmNowViewMapper;
import com.casic.missiles.modular.system.dto.AlarmNowView;
@@ -13,7 +13,7 @@
/**
*
- * 服务实现类
+ * 服务实现类
*
*
* @author casic123
@@ -23,13 +23,13 @@
public class AlarmNowViewServiceImpl extends ServiceImpl implements IAlarmNowViewService {
@Resource
- private AbstractPermissionContext permissionService;
+ private AbstractDictService dictService;
@Override
public List getNowAlarmRecords(DataScope dataScope) {
List alarmNowViewList = this.baseMapper.getNowAlarmRecords(dataScope);
for (AlarmNowView alarmNowView : alarmNowViewList) {
- alarmNowView.setWellTypeName(permissionService.getDictNameByCode("sluicewellType",alarmNowView.getWellType()));
+ alarmNowView.setWellTypeName(dictService.getDictNameByCode("sluicewellType", alarmNowView.getWellType()));
}
return alarmNowViewList;
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
index 760fdf6..affce72 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
@@ -1,15 +1,15 @@
package com.casic.missiles.modular.system.service.impl;
+import cn.hutool.core.util.ObjectUtil;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.dao.AlarmNowViewMapper;
import com.casic.missiles.modular.system.dao.StatisticMapper;
import com.casic.missiles.modular.system.model.Dept;
import com.casic.missiles.modular.system.service.IStatisticsService;
import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import cn.hutool.core.util.ObjectUtil;
import javax.annotation.Resource;
import java.text.ParseException;
@@ -18,35 +18,37 @@
@Service
public class StatisticServiceImpl implements IStatisticsService {
- @Autowired
+ @Resource
private StatisticMapper statisticMapper;
- @Autowired
+ @Resource
private AlarmNowViewMapper alarmNowViewMapper;
@Resource
private AbstractPermissionContext permissionService;
+ @Resource
+ private AbstractDictService dictService;
@Override
public List> wellStaticsByDept(DataScope dataScope) {
List> mapList = statisticMapper.wellStaticsByDept(dataScope);
for (Map map : mapList) {
- map.put("pidName",permissionService.getDeptName(Long.valueOf(map.get("pid").toString())));
+ map.put("pidName", permissionService.getDeptService().getDeptName(Long.valueOf(map.get("pid").toString())));
}
return mapList;
}
@Override
public List> wellStaticsByType(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
List> mapList = statisticMapper.wellStaticsByType(deptIds);
for (Map map : mapList) {
- map.put("wellTypeName",permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString()));
+ map.put("wellTypeName", dictService.getDictNameByCode("sluicewellType", map.get("wellType").toString()));
}
return mapList;
}
@Override
public List> deviceStaticsByType(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
List> mapList = statisticMapper.deviceStaticsByType(deptIds);
// for (Map map : mapList) {
// map.replace("deviceType",sysDictMapper.getDeviceTypeNameById(map.get("deviceType").toString()));
@@ -55,51 +57,53 @@
}
@Override
- public List> deviceStaticsByDept(DataScope dataScope,String deviceType) {
- List> mapList = statisticMapper.deviceStaticsByDept(dataScope,deviceType);
+ public List> deviceStaticsByDept(DataScope dataScope, String deviceType) {
+ List> mapList = statisticMapper.deviceStaticsByDept(dataScope, deviceType);
for (Map map : mapList) {
- map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString())));
+ map.put("deptName", permissionService.getDeptService().getDeptName(Long.valueOf(map.get("deptid").toString())));
}
return mapList;
}
@Override
public Map deviceStaticsByStatus(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
Map map = statisticMapper.deviceStaticsByStatus(deptIds);
- for(String s:map.keySet()){ //value都转为string
- map.replace(s,map.get(s).toString());
+ for (String s : map.keySet()) { //value都转为string
+ map.replace(s, map.get(s).toString());
}
return map;
}
@Override
- public List> jobsByDept(DataScope dataScope,String beginTime, String endTime, String deviceType) throws ParseException {
+ public List> jobsByDept(DataScope dataScope, String beginTime, String endTime, String deviceType) throws ParseException {
List> mapList = new ArrayList<>();
List deptIds = dataScope.getDeptIds();
for (Long deptId : deptIds) {
- if(deptId==0){ // 顶级不统计
+ // 顶级不统计
+ if (deptId == 0) {
continue;
}
- Dept dept = permissionService.getDeptById(deptId);
- if( ObjectUtil.isEmpty(dept) || "04".equals(dept.getDeptType())){ // 小组不统计
+ Dept dept = permissionService.getDeptService().getById(deptId);
+ // 小组不统计
+ if (ObjectUtil.isEmpty(dept) || "04".equals(dept.getDeptType())) {
continue;
}
Map map = new HashMap<>();
- List subDeptIds = permissionService.getSubDepts(deptId,null);
+ List subDeptIds = permissionService.getDeptService().getIdsRecursionByPid(deptId, null);
subDeptIds.add(deptId);
- String subDeptIdstr = StringUtils.strip(subDeptIds.toString(),"[]");
+ String subDeptIdstr = StringUtils.strip(subDeptIds.toString(), "[]");
map.put("deptId", deptId);
- map.put("deptName",permissionService.getDeptName(deptId));
- Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr,beginTime,endTime);
- if(ToolUtil.isNotEmpty(countMap)){
+ map.put("deptName", permissionService.getDeptService().getDeptName(deptId));
+ Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr, beginTime, endTime);
+ if (ObjectUtil.isNotEmpty(countMap)) {
map.putAll(countMap);
- }else{
- map.put("beforeGet",0);
- map.put("beforeConfirm",0);
- map.put("inHandle",0);
- map.put("over",0);
- map.put("cancel",0);
+ } else {
+ map.put("beforeGet", 0);
+ map.put("beforeConfirm", 0);
+ map.put("inHandle", 0);
+ map.put("over", 0);
+ map.put("cancel", 0);
}
mapList.add(map);
}
@@ -108,23 +112,23 @@
@Override
public List> alarmsByDay(String beginTime, String endTime, DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
List> mapList = new ArrayList<>();
- try{
+ try {
Date beginDate = sdf1.parse(beginTime);
Date endDate = sdf1.parse(endTime);
Calendar date = Calendar.getInstance();
date.setTime(beginDate);
while (date.getTime().compareTo(endDate) <= 0) {
String tmp = sdf1.format(date.getTime());
- Map map = alarmNowViewMapper.countAlarmsByDay(tmp,deptIds);
- map.put("date",sdf2.format(date.getTime()));
+ Map map = alarmNowViewMapper.countAlarmsByDay(tmp, deptIds);
+ map.put("date", sdf2.format(date.getTime()));
mapList.add(map);
- date.add(Calendar.DAY_OF_MONTH,1);
+ date.add(Calendar.DAY_OF_MONTH, 1);
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
return mapList;
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
index 0da3db8..0f499e6 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
@@ -13,38 +13,40 @@
import java.util.Map;
import java.util.concurrent.CopyOnWriteArraySet;
+/**
+ * 此注解相当于设置访问URL
+ */
@Component
@ServerEndpoint("/websocket/{userId}")
-//此注解相当于设置访问URL
public class WebSocket {
private Session session;
- private static CopyOnWriteArraySet webSockets =new CopyOnWriteArraySet<>();
- private static Map sessionPool = new HashMap();
+ private static CopyOnWriteArraySet webSockets = new CopyOnWriteArraySet<>();
+ private static Map sessionPool = new HashMap();
@OnOpen
- public void onOpen(Session session, @PathParam(value="userId")String userId) {
+ public void onOpen(Session session, @PathParam(value = "userId") String userId) {
this.session = session;
webSockets.add(this);
sessionPool.put(userId, session);
- System.out.println(userId+"【websocket消息】有新的连接,总数为:"+webSockets.size());
+ System.out.println(userId + "【websocket消息】有新的连接,总数为:" + webSockets.size());
}
@OnClose
public void onClose() {
webSockets.remove(this);
- System.out.println("【websocket消息】连接断开,总数为:"+webSockets.size());
+ System.out.println("【websocket消息】连接断开,总数为:" + webSockets.size());
}
@OnMessage
public void onMessage(String message) {
- System.out.println("【websocket消息】收到客户端消息:"+message);
+ System.out.println("【websocket消息】收到客户端消息:" + message);
}
// 此为广播消息
public void sendAllMessage(String message) {
- for(WebSocket webSocket : webSockets) {
- System.out.println("【websocket消息】广播消息:"+message);
+ for (WebSocket webSocket : webSockets) {
+ System.out.println("【websocket消息】广播消息:" + message);
try {
webSocket.session.getAsyncRemote().sendText(message);
} catch (Exception e) {
@@ -54,8 +56,8 @@
}
// 发送列表消息
- public void sendListMessage(List userIds, String message){
- System.out.println("【websocket消息】列表消息:"+message);
+ public void sendListMessage(List userIds, String message) {
+ System.out.println("【websocket消息】列表消息:" + message);
for (String userId : userIds) {
Session session = sessionPool.get(userId);
if (session != null) {
@@ -87,7 +89,7 @@
// 此为单点消息
public void sendOneMessage(String userId, String message) {
- System.out.println("【websocket消息】单点消息:"+message);
+ System.out.println("【websocket消息】单点消息:" + message);
Session session = sessionPool.get(userId);
if (session != null) {
try {
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java
deleted file mode 100644
index 431e0bd..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package com.casic.missiles.modular.system.warpper;
-
-import com.alibaba.fastjson.JSONArray;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.core.util.ObjectUtil;
-
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-//@Service
-//@Primary
-public class AlarmJobWarpper extends BaseControllerWarpper {
-// private EhcacheConstant ehcacheConstant = new EhcacheConstant();
- public AlarmJobWarpper(Object list) { super(list); }
- @Override
- public void warpTheMap(Map map) {
-
- // 设置人员姓名
- for (String key : map.keySet())
- {
- if (key.contains("JobPerson")|| key.contains("jobBelongTo"))
- {
- Object object = map.get(key);
- if (object!=null)
- {
- String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
- map.replace(key,newVal);
- }
- }
- }
-
- //设置闸井相关字段
- String wellCode = map.get("wellCode").toString();
- Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
- // 设置权属单位、负责人、联系电话
- String deptidStr = wellInfoMap.get("deptid").toString();
- long deptid = StrUtil.isEmpty(deptidStr)? -1: Long.valueOf(deptidStr);
- map.put("deptName",EhcacheConstant.retBean().getDeptNameById(deptid));
- if(deptid>0){
- Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
- if(ObjectUtil.isEmpty(staffstr)){
- wellInfoMap.replace("staff","");
- wellInfoMap.replace("tel","");
- }else {
- Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
- wellInfoMap.putAll(userInfoMap);
- }
- }
- map.putAll(wellInfoMap);
-
- // 告警类型
- String alarmTypeStr = map.get("alarmType").toString();
- map.put("alarmTypeName",EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
-
- // 告警内容
- String alarmContentNameStr = map.get("alarmContentName").toString();
- map.put("alarmContent",EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
-
- // 告警值加单位
- if(ObjectUtil.isNotEmpty(map.get("alarmValue"))){
- String alarmValue = map.get("alarmValue").toString();
- String alarmContentName = map.get("alarmContentName").toString();
- if("液位超限".equals(alarmContentName)) {
- alarmValue += "m";
- map.replace("alarmValue",alarmValue);
- }
- if("浓度超限".equals(alarmContentName)) {
- alarmValue += "%LEL";
- map.replace("alarmValue",alarmValue);
- }
- if("疑似开挖".equals(alarmContentName)) {
- alarmValue += "mg";
- map.replace("alarmValue",alarmValue);
- }
- }
-
- // 工单状态
- String jobStatusStr = map.get("jobStatus").toString();
- map.put("jobStatusName",EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
-
- // 告警值
- if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr))
- {
- map.replace("alarmValue","--");
- }
-
- // 流转记录(工单详情用)
- if (map.containsKey("flow"))
- {
- String flow = (String) map.get("flow");
- flow = "["+flow.replaceFirst(",","")+"]";
- List list = new ArrayList<>();
- JSONArray jsonArray = JSONArray.parseArray(flow);
- list = jsonArray.toJavaList(Map.class);
- map.replace("flow",list);
- }
-
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRecordWarpper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRecordWarpper.java
deleted file mode 100644
index 3c4807a..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRecordWarpper.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.casic.missiles.modular.system.warpper;
-
-import com.casic.missiles.core.util.EhcacheConstant;
-import com.casic.missiles.core.base.warpper.BaseControllerWarpper;
-import com.casic.missiles.core.util.ToolUtil;
-
-import java.util.HashMap;
-import java.util.Map;
-
-//@Service
-//@Primary
-public class AlarmRecordWarpper extends BaseControllerWarpper {
- public AlarmRecordWarpper(Object list) { super(list); }
- @Override
- public void warpTheMap(Map map) {
-
- // 设置闸井相关字段
- String wellCode = map.get("wellCode").toString();
- Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
- // 设置权属单位、负责人、联系电话
- String deptidStr = wellInfoMap.get("deptid").toString();
- long deptid = ToolUtil.isEmpty(deptidStr)? -1: Long.valueOf(deptidStr);
- map.put("deptName",EhcacheConstant.retBean().getDeptNameById(deptid));
- if(deptid>0){
- Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
- if(ToolUtil.isEmpty(staffstr)){
- wellInfoMap.replace("staff","");
- wellInfoMap.replace("tel","");
- }else {
- Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
- wellInfoMap.putAll(userInfoMap);
- }
- }
- map.putAll(wellInfoMap);
-
- // 告警类型
- String alarmTypeStr = map.get("alarmType").toString();
- map.put("alarmTypeName",EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
-
- // 告警内容
- String alarmContentNameStr = map.get("alarmContentName").toString();
- map.put("alarmContent",EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
-
- // 告警值加单位
- if(ToolUtil.isNotEmpty(map.get("alarmValue"))){
- String alarmValue = map.get("alarmValue").toString();
- String alarmContentName = map.get("alarmContentName").toString();
- if("液位超限".equals(alarmContentName)) {
- alarmValue += "m";
- map.replace("alarmValue",alarmValue);
- }
- if("浓度超限".equals(alarmContentName)) {
- alarmValue += "%LEL";
- map.replace("alarmValue",alarmValue);
- }
- if("疑似开挖".equals(alarmContentName)) {
- alarmValue += "mg";
- map.replace("alarmValue",alarmValue);
- }
- }
-
- // 告警值
- if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr))
- {
- map.replace("alarmValue","--");
- }
-
- // 告警状态
- String statusStr = map.get("status").toString();
- map.put("statusName",EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr,"alarmStatus"));
-
- // 工单状态
- if(ToolUtil.isNotEmpty(map.get("jobStatus"))){
- String jobStatusStr = map.get("jobStatus").toString();
- map.put("jobStatusName",EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
- }
-
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRuleWarpper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRuleWarpper.java
deleted file mode 100644
index 7d8cef1..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRuleWarpper.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.casic.missiles.modular.system.warpper;
-
-import com.casic.missiles.core.base.warpper.BaseControllerWarpper;
-import com.casic.missiles.core.util.EhcacheConstant;
-
-import java.util.Map;
-
-//@Service
-//@Primary
-public class AlarmRuleWarpper extends BaseControllerWarpper {
-// private EhcacheConstant ehcacheConstant = new EhcacheConstant();
- public AlarmRuleWarpper(Object list) { super(list); }
- @Override
- public void warpTheMap(Map map) {
-
- String deviceType = map.get("deviceType").toString();
- long deptid = Long.parseLong(map.get("deptid").toString());
- map.put("deviceTypeName",EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
- map.put("deptName",EhcacheConstant.retBean().getDeptNameById(deptid));
- }
-}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/TemplateController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/TemplateController.java
index b7e13ca..d9b07c3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/TemplateController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/TemplateController.java
@@ -1,12 +1,11 @@
package com.casic.missiles.modular.system.controller;
-import cn.hutool.core.collection.CollectionUtil;
+import com.casic.missiles.config.DeviceServerProperties;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.modular.system.dto.VersionDto;
import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.config.DeviceServerProperties;
import com.casic.missiles.modular.system.constant.DeviceConst;
+import com.casic.missiles.modular.system.dto.VersionDto;
import com.casic.missiles.modular.system.service.IDeviceService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -63,7 +62,6 @@
response.setContentType("application/octet-stream");
response.addHeader("Content-Disposition", " attachment;filename=" + fileName);
response.setContentLength((int) file.length());
-
FileInputStream fis = null;
try {
fis = new FileInputStream(file);
@@ -103,7 +101,6 @@
@PostMapping("/app/registerGeTui")
public ResponseData geTuiRegister(@RequestParam String clientid) {
-
service.registerGeTui(permissionService.getAuthService().getLoginUser().getId(), clientid);
return ResponseData.success();
}
diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml
index 95d7f58..88f7dc3 100644
--- a/casic-alarm/pom.xml
+++ b/casic-alarm/pom.xml
@@ -28,21 +28,36 @@
${admin.version}
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java b/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
deleted file mode 100644
index 460d4db..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * SpringBoot方式启动类
- *
- * @author lwh
- * @Date 2021/06/06 12:06
- */
-@SpringBootApplication
-@EnableCaching
-@EnableScheduling
-@EnableTransactionManagement(proxyTargetClass = true)
-@EnableAsync
-@ServletComponentScan
-@Slf4j
-public class CasicApplication {
- public static void main(String[] args) {
- SpringApplication.run(CasicApplication.class, args);
- log.info("CasicApplication is success!");
- }
-
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
index ef473af..6a426fa 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
@@ -1,19 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.alarm.service.ISysDictService;
-import com.casic.missiles.modular.system.warpper.AlarmJobWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -29,7 +31,10 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
@@ -40,7 +45,7 @@
*/
@Controller
@RequestMapping("/job")
-public class AlarmJobController extends BaseController {
+public class AlarmJobController extends ExportController {
@Autowired
@@ -146,16 +151,93 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatusStr)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatusStr));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatusStr));
}
}
retList = alarmJobService.jobListApp(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmJobWrapper(Map map) {
+ // 设置人员姓名
+ for (String key : map.keySet()) {
+ if (key.contains("JobPerson") || key.contains("jobBelongTo")) {
+ Object object = map.get(key);
+ if (object != null) {
+ String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
+ map.replace(key, newVal);
+ }
+ }
+ }
+
+ //设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (ObjectUtil.isEmpty(staffstr)) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 工单状态
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 流转记录(工单详情用)
+ if (map.containsKey("flow")) {
+ String flow = (String) map.get("flow");
+ flow = "[" + flow.replaceFirst(",", "") + "]";
+ List list = new ArrayList<>();
+ JSONArray jsonArray = JSONArray.parseArray(flow);
+ list = jsonArray.toJavaList(Map.class);
+ map.replace("flow", list);
+ }
+ }
+
/**
* 工单查询接口 APP用
*/
@@ -181,14 +263,13 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatus)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatus));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus));
}
}
retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime,
handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
Map retMap = new HashMap<>();
@@ -227,7 +308,7 @@
}
retList = alarmJobService.jobListDelayReApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -265,7 +346,7 @@
}
retList = alarmJobService.jobListDelayProApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -294,22 +375,35 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId());
- new AlarmJobWarpper(jobExpList).warp();
+ jobExpList.forEach(this::alarmJobWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(jobExpList)) {
fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx");
} else {
fileInputStream = new FileInputStream(templatePath + "/jobRecTemplate.xlsx");
}
+
try {
+
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "jobOverview.xlsx");
-
Map var = new HashMap<>();
var.put("标题", "工单一览表");
var.put("list", jobExpList);
- ExcelIO.writeTemplate(fileInputStream, httpServletResponse.getOutputStream(), var);
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("工单编号", "jobCode"));
+ dataFieldDefines.add(new DataFieldDefine("工单创建时间", "createTime"));
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("告警时间", "alarmTime"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+ dataFieldDefines.add(new DataFieldDefine("处理人", "handleJobPerson"));
+ dataFieldDefines.add(new DataFieldDefine("处理时间", "handleJobTime"));
+ this.exportExcelMaps(dataFieldDefines, jobExpList, "工单一览表");
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
@@ -361,7 +455,7 @@
@RequestMapping(value = "/transferJob")
@ResponseBody
public Object transferJob(@RequestParam(value = "id", required = true) int id,
- @RequestParam(value = "transferPerson", required = true) String transferPerson) throws JSONException {
+ @RequestParam(value = "transferPerson", required = true) String transferPerson) {
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
@@ -437,8 +531,7 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
List> retList = alarmJobService.jobInfo(id, dataScope, currentUser.getId());
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
return ResponseData.success(retList);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
index 5ec9ed1..a1432fd 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
@@ -1,22 +1,23 @@
package com.casic.missiles.modular.alarm.controller;
-import com.alibaba.fastjson.JSON;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.util.EhcacheConstant;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmLevelService;
import com.casic.missiles.modular.system.model.AlarmLevel;
import com.casic.missiles.modular.system.model.DeptPermission;
+import com.casic.missiles.modular.system.service.IDeptPermissionService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.util.*;
@@ -36,73 +37,74 @@
private IAlarmLevelService alarmLevelService;
@Resource
private AbstractPermissionContext permissionService;
- @Autowired
- private AbstractDeptService deptPermissionService;
+ @Resource
+ private IDeptPermissionService deptPermissionService;
/**
* 获取告警等级列表
*/
@RequestMapping("/levelList")
@ResponseBody
- public Object levelList(Long tenantId){
- List> levelList = new ArrayList<>();
+ public Object levelList(Long tenantId) {
+ List> levelList = new ArrayList<>();
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
DeptPermission deptPermission = deptPermissionService.selectDeptPermission(currUser.getDeptId());
- if(ObjectUtil.isEmpty(deptPermission)){
+ if (ObjectUtil.isEmpty(deptPermission)) {
return levelList;
}
- for(Object deviceType: JSON.parseObject(deptPermission.getDeviceType(), List.class)){
+ for (Object deviceType : JSON.parseObject(deptPermission.getDeviceType(), List.class)) {
String deviceTypeName = EhcacheConstant.retBean().getDeviceTypeNameById(deviceType.toString());
List names = new ArrayList<>();
- if(deviceTypeName.contains("液位")){
+ if (deviceTypeName.contains("液位")) {
names.add("液位");
}
- if(deviceTypeName.contains("有害气体")){
+ if (deviceTypeName.contains("有害气体")) {
names.add("一氧化碳");
names.add("硫化氢");
names.add("甲烷");
names.add("氧气");
}
- if(deviceTypeName.contains("燃气")){
+ if (deviceTypeName.contains("燃气")) {
names.add("燃气");
}
- if(deviceTypeName.contains("温湿度")){
+ if (deviceTypeName.contains("温湿度")) {
names.add("温度");
names.add("湿度");
}
- if(deviceTypeName.contains("开挖")){
+ if (deviceTypeName.contains("开挖")) {
names.add("开挖");
}
- for(String name: names){
+ for (String name : names) {
Map levelMap = new HashMap<>();
- Map level = alarmLevelService.selectByNameAndTenGroup(tenantId,name);
- levelMap.put("name",name);
- levelMap.put("deviceType",deviceType);
- levelMap.put("deviceTypeName",deviceTypeName);
+ Map level = alarmLevelService.selectByNameAndTenGroup(tenantId, name);
+ levelMap.put("name", name);
+ levelMap.put("deviceType", deviceType);
+ levelMap.put("deviceTypeName", deviceTypeName);
- if(ObjectUtil.isEmpty(level.get("openAlarm"))){
- levelMap.put("openAlarm","");
- }else{
- levelMap.put("openAlarm",level.get("openAlarm").toString());
+ if (ObjectUtil.isEmpty(level.get("openAlarm"))) {
+ levelMap.put("openAlarm", "");
+ } else {
+ levelMap.put("openAlarm", level.get("openAlarm").toString());
}
- if(ObjectUtil.isEmpty(level.get("openJob"))){
- levelMap.put("openJob","");
- }else{
- levelMap.put("openJob",level.get("openJob").toString());
+ if (ObjectUtil.isEmpty(level.get("openJob"))) {
+ levelMap.put("openJob", "");
+ } else {
+ levelMap.put("openJob", level.get("openJob").toString());
}
- if(ObjectUtil.isEmpty(level.get("ts"))){
- levelMap.put("ts","");
- }else{
- levelMap.put("ts",level.get("ts").toString());
+ if (ObjectUtil.isEmpty(level.get("ts"))) {
+ levelMap.put("ts", "");
+ } else {
+ levelMap.put("ts", level.get("ts").toString());
}
levelList.add(levelMap);
@@ -116,13 +118,14 @@
*/
@RequestMapping("/levelByType")
@ResponseBody
- public Object levelByType(Long tenantId, String name){
+ public Object levelByType(Long tenantId, String name) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
List levelList = alarmLevelService.selectByNameAndTenList(tenantId, name);
return ResponseData.success(levelList);
@@ -131,22 +134,23 @@
@RequestMapping("/configLevel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object configLevel(@RequestBody List levelList){
+ public Object configLevel(@RequestBody List levelList) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- String userTenantId = currUser.getTenantId(); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ String userTenantId = currUser.getTenantId();
Date currDate = new Date();
- for(AlarmLevel alarmLevel:levelList){
- if(ObjectUtil.isAllEmpty(alarmLevel.getTenantId(),userTenantId)){
+ for (AlarmLevel alarmLevel : levelList) {
+ if (ObjectUtil.isAllEmpty(alarmLevel.getTenantId(), userTenantId)) {
return ResponseData.error("无关联的项目id");
}
Long tenantId = ObjectUtil.isEmpty(alarmLevel.getTenantId()) ? Long.valueOf(userTenantId) : alarmLevel.getTenantId();
- AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId,alarmLevel.getName(),alarmLevel.getLevel());
- if(ObjectUtil.isEmpty(oldAlarmLevel)){
+ AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId, alarmLevel.getName(), alarmLevel.getLevel());
+ if (ObjectUtil.isEmpty(oldAlarmLevel)) {
//insert
alarmLevel.setTenantId(tenantId);
alarmLevel.setTs(currDate);
- alarmLevelService.insert(alarmLevel);
- }else{
+ alarmLevelService.save(alarmLevel);
+ } else {
//update
alarmLevel.setId(oldAlarmLevel.getId());
alarmLevel.setTenantId(tenantId);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
index 67e4b49..51e0d50 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
@@ -1,15 +1,19 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.AlarmRecords;
-import com.casic.missiles.modular.system.warpper.AlarmRecordWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -17,13 +21,13 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.collection.CollectionUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -36,7 +40,7 @@
*/
@Controller
@RequestMapping("/alarm")
-public class AlarmRecordsController extends BaseController {
+public class AlarmRecordsController extends ExportController {
@Autowired
@@ -44,13 +48,13 @@
@Resource
private AbstractPermissionContext iCommonPermissionService;
@Value("${smartcity.office.maxRowsExcel}")
- private int maxRowsExcel;
+ private int maxRowsExcel;
@Value("${smartcity.config.config-path}")
private String templatePath;
@Value("${smartcity.adminRoleName}")
- private String sAdmin;
+ private String sAdmin;
@Value("${smartcity.opRoleName}")
- private String sOperator;
+ private String sOperator;
/**
* 获取分页列表
@@ -62,7 +66,7 @@
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
@@ -73,28 +77,87 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> retList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
-
-
- new AlarmRecordWarpper(retList).warp();
+ List> retList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ retList.forEach(this::alarmRecordWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmRecordWrapper(Map map) {
+ // 设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (null == staffstr) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 告警状态
+ String statusStr = map.get("status").toString();
+ map.put("statusName", EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr, "alarmStatus"));
+
+ // 工单状态
+ if (ObjectUtil.isNotEmpty(map.get("jobStatus"))) {
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+ }
+ }
@RequestMapping(value = "/export")
- public void exportAlarm(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) throws IOException {
+ public void exportAlarm(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
Page> page = PageFactory.defaultPage();
- page.setMaxLimit((long)maxRowsExcel);
+ page.setMaxLimit((long) maxRowsExcel);
page.setSize(maxRowsExcel);
page.offset();
page.setSearchCount(false);
@@ -104,25 +167,36 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> alarmExpList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
- new AlarmRecordWarpper(alarmExpList).warp();
-
+ List> alarmExpList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ alarmExpList.forEach(this::alarmRecordWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(alarmExpList)) {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecEmpty.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecEmpty.xlsx");
} else {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecTemplate.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecTemplate.xlsx");
}
try {
httpServletResponse.setContentType("application/octet-stream");
- httpServletResponse.addHeader("Content-Disposition", " attachment;filename="+"alarmOverview.xlsx" );
+ httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "alarmOverview.xlsx");
- Map var = new HashMap<>();
- var.put("标题","报警一览表");
- var.put("list",alarmExpList);
- ExcelIO.writeTemplate(fileInputStream,httpServletResponse.getOutputStream(),var);
+ Map var = new HashMap<>();
+ var.put("标题", "报警一览表");
+ var.put("list", alarmExpList);
+
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("设备编号", "devcode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmTypeName"));
+ dataFieldDefines.add(new DataFieldDefine("告警原因", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("权属单位", "deptName"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+
+ this.exportExcelMaps(dataFieldDefines, alarmExpList, "报警一览表");
} catch (IOException e) {
e.printStackTrace();
@@ -132,7 +206,8 @@
httpServletResponse.getOutputStream().flush();
httpServletResponse.getOutputStream().close();
fileInputStream.close();
- };
+ }
+ ;
}
@@ -141,15 +216,15 @@
*/
@RequestMapping(value = "/cancelAlarm")
@ResponseBody
- public Object cancelAlarm(@RequestParam(value = "id",required = true) int id, //jobId
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object cancelAlarm(@RequestParam(value = "id", required = true) int id, //jobId
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- boolean isCancel = alarmRecordsService.cancelAlarm(id,jobStatus,handleMessage,currentUser.getId());
- if(isCancel){
+ boolean isCancel = alarmRecordsService.cancelAlarm(id, jobStatus, handleMessage, currentUser.getId());
+ if (isCancel) {
return ResponseData.success();
- }else {
+ } else {
return ResponseData.error("failure");
}
}
@@ -160,22 +235,22 @@
@RequestMapping(value = "/batchCancel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object batchCancel(@RequestParam(value = "keywords",required = false) String keywords,
- @RequestParam(value = "alarmType",required = false) String alarmType,
- @RequestParam(value = "alarmContent",required = false) String alarmContent,
- @RequestParam(value = "beginTime",required = false) String beginTime,
- @RequestParam(value = "endTime",required = false) String endTime,
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object batchCancel(@RequestParam(value = "keywords", required = false) String keywords,
+ @RequestParam(value = "alarmType", required = false) String alarmType,
+ @RequestParam(value = "alarmContent", required = false) String alarmContent,
+ @RequestParam(value = "beginTime", required = false) String beginTime,
+ @RequestParam(value = "endTime", required = false) String endTime,
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
//根据查询条件查询alarm_record记录
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope,keywords,alarmType,alarmContent,beginTime,endTime);
+ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime);
//根据jobId调用closeJob
for (AlarmRecords alarmRecord : alarmRecords) {
- alarmRecordsService.cancelAlarm(alarmRecord.getJobId(),jobStatus,handleMessage,currentUser.getId());
+ alarmRecordsService.cancelAlarm(alarmRecord.getJobId(), jobStatus, handleMessage, currentUser.getId());
}
return ResponseData.success();
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
index 7a645dd..3b39aeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
@@ -1,21 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRuleService;
import com.casic.missiles.modular.system.dto.AlarmRuleDTO;
-import com.casic.missiles.modular.system.warpper.AlarmRuleWarpper;
+import com.casic.missiles.modular.system.service.IDeviceRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.util.StrUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -54,8 +54,9 @@
public Map list(String keywords, HttpServletRequest httpServletRequest) {
String deviceType = httpServletRequest.getParameter("deviceType");
- if (StrUtil.isEmpty(deviceType))
+ if (StrUtil.isEmpty(deviceType)) {
deviceType = "";
+ }
Page> page = PageFactory.defaultPage();
Map retMap = new HashMap<>();
boolean bSessionValid = false;
@@ -66,9 +67,10 @@
return retMap;
}
List> retList = new ArrayList<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
retList = alarmRuleService.ruleListViaParam(page, keywords, deviceType, dataScope);
- new AlarmRuleWarpper(retList).warp();
+ retList.stream().forEach(this::alarmRuleWrapper);
page.setRecords(retList);
retMap.put("code", 200);
retMap.put("message", "success");
@@ -76,11 +78,19 @@
return retMap;
}
+ private void alarmRuleWrapper(Map map) {
+ String deviceType = map.get("deviceType").toString();
+ long deptid = Long.parseLong(map.get("deptid").toString());
+ map.put("deviceTypeName", EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ }
+
@RequestMapping(value = "/update")
@ResponseBody
public Map updateRule(@RequestParam(value = "id", required = true) int id, HttpServletRequest httpServletRequest) {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
if (super.getSession().getAttribute("sessionFlag") == null) {
retMap.put("code", 505);
retMap.put("message", "sessionExpired");
@@ -90,10 +100,12 @@
String sLow = httpServletRequest.getParameter("lowValue");
float highValue = 99999;
float lowValue = -99999;
- if (StrUtil.isNotEmpty(sHigh))
+ if (StrUtil.isNotEmpty(sHigh)) {
highValue = Float.parseFloat(sHigh);
- if (StrUtil.isNotEmpty(sLow))
+ }
+ if (StrUtil.isNotEmpty(sLow)) {
lowValue = Float.parseFloat(sLow);
+ }
if (alarmRuleService.updateRule(id, highValue, lowValue)) {
retMap.put("code", 200);
@@ -138,7 +150,7 @@
@RequestMapping(value = "/delete")
@ResponseBody
public Object delete(@RequestParam Integer id) {
- alarmRuleService.deleteById(id);
+ alarmRuleService.removeById(id);
return ResponseData.success();
}
@@ -151,8 +163,9 @@
public Map getNoAlarmDevice() {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
- List alarmRuleList= alarmRuleService.getNoAlarmDevice(dataScope);
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
+ List alarmRuleList = alarmRuleService.getNoAlarmDevice(dataScope);
retMap.put("code", 200);
retMap.put("message", "success");
retMap.put("data", alarmRuleList);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
new file mode 100644
index 0000000..a749516
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
@@ -0,0 +1,109 @@
+package com.casic.missiles.modular.alarm.job;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.modular.alarm.service.IAlarmJobService;
+import com.casic.missiles.modular.system.model.AlarmJob;
+import com.casic.missiles.modular.system.util.PushList;
+import com.casic.missiles.modular.system.util.WebSocket;
+import com.casic.missiles.quartz.service.IQuartzManager;
+import com.gexin.rp.sdk.base.IPushResult;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.support.AbstractApplicationContext;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class DelayJob implements Job {
+
+ private static final Logger logger = LoggerFactory.getLogger(DelayJob.class);
+
+ private Integer jobId;
+ private IAlarmJobService iAlarmJobService;
+ private AbstractApplicationContext iCommonUserService;
+ private IQuartzManager iQuartzManager;
+ private WebSocket webSocket;
+
+ public void setJobId(Integer jobId) {
+ this.jobId = jobId;
+ }
+
+ public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
+ this.iAlarmJobService = iAlarmJobService;
+ }
+
+ public void setICommonUserService(AbstractApplicationContext iCommonUserService) {
+ this.iCommonUserService = iCommonUserService;
+ }
+
+ public void setIQuartzManager(IQuartzManager iQuartzManager) {
+ this.iQuartzManager = iQuartzManager;
+ }
+
+ public void setWebSocket(WebSocket webSocket) {
+ this.webSocket = webSocket;
+ }
+
+ @Override
+ public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+
+ //业务逻辑
+ SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
+ System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
+ getJobDelay(jobId);
+ }
+
+ private void getJobDelay(Integer id) {
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if (!"3".equals(alarmJob.getJobStatus()) && !"4".equals(alarmJob.getJobStatus())) {
+ // 超时未处理 // 延时标签
+ alarmJob.setJobFlagDelay("2");
+ // 延时记录
+ String jobFlag = alarmJob.getJobFlag1();
+ if (StrUtil.isNotEmpty(jobFlag)) {
+ jobFlag += ",2";
+ } else {
+ jobFlag = "2";
+ }
+ alarmJob.setJobFlag1(jobFlag);
+ iAlarmJobService.updateById(alarmJob); // 更新记录
+ // APP推送
+ Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
+ String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
+ List clientIds = new ArrayList<>();
+ if (StrUtil.isNotEmpty(clientId)) {
+ clientIds.add(clientId);
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未处理");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未处理工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
+ }
+ } else {
+ logger.info("超时未处理工单找不到责任人,未推送:" + id.toString());
+ }
+ // PC推送,推给信息办
+ //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+// EntityWrapper wrapper = new EntityWrapper();
+// wrapper.eq("DEPTID","1178242562491285506");
+// List userList = iCommonUserService.selectUsersList(wrapper,null);
+// List userIds = new ArrayList<>();
+// for (User user : userList) {
+// userIds.add(user.getId().toString());
+// }
+// Map map = new HashMap();
+// map.put("message","有新的超时未处理工单");
+// map.put("type","overtimeHandle");
+// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
+ }
+ String jobName = "getJobDelay" + id;
+ iQuartzManager.removeJob(jobName);
+ }
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
index ba9f439..9d72902 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
@@ -1,10 +1,10 @@
package com.casic.missiles.modular.alarm.job;
-import com.casic.missiles.core.common.service.ICommonUserService;
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.modular.system.dto.UserClientView;
import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -15,19 +15,20 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
@Component
-public class HandleAlarmJob implements Job{
+public class HandleAlarmJob implements Job {
private static final Logger logger = LoggerFactory.getLogger(HandleAlarmJob.class);
private Integer jobId;
private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
+ private AbstractPermissionContext iCommonUserService;
private IQuartzManager iQuartzManager;
private WebSocket webSocket;
private List userClientViewList;
@@ -40,7 +41,7 @@
this.iAlarmJobService = iAlarmJobService;
}
- public void setICommonUserService(ICommonUserService iCommonUserService) {
+ public void setICommonUserService(AbstractPermissionContext iCommonUserService) {
this.iCommonUserService = iCommonUserService;
}
@@ -62,29 +63,29 @@
}
private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if("0".equals(alarmJob.getJobStatus())){
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if ("0".equals(alarmJob.getJobStatus())) {
// 超时未接收
alarmJob.setJobFlagDelay("1"); // 延时标签
alarmJob.setJobFlag1("1");
iAlarmJobService.updateById(alarmJob); // 更新记录
// APP推送 推给井盖所属权属单位
List clientIds = new ArrayList<>();
- for(UserClientView userClientView:userClientViewList){
- if(StrUtil.isNotEmpty(userClientView.getClientid())){
+ for (UserClientView userClientView : userClientViewList) {
+ if (StrUtil.isNotEmpty(userClientView.getClientid())) {
clientIds.add(userClientView.getClientid());
}
}
- if(clientIds.size()>0){
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未接收");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未接收工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
+ if (clientIds.size() > 0) {
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未接收");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未接收工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
}
- }else{
- logger.info("超时未接收工单找不到责任人,未推送:"+id.toString());
+ } else {
+ logger.info("超时未接收工单找不到责任人,未推送:" + id.toString());
}
// PC推送,推给信息办
// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
deleted file mode 100644
index 46eeda9..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package com.casic.missiles.modular.alarm.job;
-
-import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.util.PushList;
-import com.casic.missiles.modular.system.util.WebSocket;
-import com.casic.missiles.quartz.service.IQuartzManager;
-import com.gexin.rp.sdk.base.IPushResult;
-import com.google.gson.GsonBuilder;
-import org.quartz.Job;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
-
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-@Component
-public class getDelayJob implements Job {
-
- private static final Logger logger = LoggerFactory.getLogger(getDelayJob.class);
-
- private Integer jobId;
- private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
- private IQuartzManager iQuartzManager;
- private WebSocket webSocket;
-
- public void setJobId(Integer jobId) {
- this.jobId = jobId;
- }
-
- public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
- this.iAlarmJobService = iAlarmJobService;
- }
-
- public void setICommonUserService(ICommonUserService iCommonUserService) {
- this.iCommonUserService = iCommonUserService;
- }
-
- public void setIQuartzManager(IQuartzManager iQuartzManager) {
- this.iQuartzManager = iQuartzManager;
- }
-
- public void setWebSocket(WebSocket webSocket) {
- this.webSocket = webSocket;
- }
-
- @Override
- public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-
- //业务逻辑
- SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
- System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
- getJobDelay(jobId);
- }
-
- private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if(!"3".equals(alarmJob.getJobStatus()) &&!"4".equals(alarmJob.getJobStatus())){
- // 超时未处理
- alarmJob.setJobFlagDelay("2"); // 延时标签
- String jobFlag = alarmJob.getJobFlag1(); // 延时记录
- if(StrUtil.isNotEmpty(jobFlag)){
- jobFlag += ",2";
- }else{
- jobFlag = "2";
- }
- alarmJob.setJobFlag1(jobFlag);
- iAlarmJobService.updateById(alarmJob); // 更新记录
- // APP推送
- Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
- String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
- List clientIds = new ArrayList<>();
- if(StrUtil.isNotEmpty(clientId)){
- clientIds.add(clientId);
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未处理");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未处理工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
- }
- }else{
- logger.info("超时未处理工单找不到责任人,未推送:"+id.toString());
- }
- // PC推送,推给信息办
- //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
-// EntityWrapper wrapper = new EntityWrapper();
-// wrapper.eq("DEPTID","1178242562491285506");
-// List userList = iCommonUserService.selectUsersList(wrapper,null);
-// List userIds = new ArrayList<>();
-// for (User user : userList) {
-// userIds.add(user.getId().toString());
-// }
-// Map map = new HashMap();
-// map.put("message","有新的超时未处理工单");
-// map.put("type","overtimeHandle");
-// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
- }
- String jobName = "getJobDelay" + id;
- iQuartzManager.removeJob(jobName);
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
index d9ca2a1..450b861 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
@@ -1,11 +1,13 @@
package com.casic.missiles.modular.alarm.service.impl;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.enums.UserQueryEnum;
import com.casic.missiles.modular.alarm.job.HandleAlarmJob;
-import com.casic.missiles.modular.alarm.job.getDelayJob;
+import com.casic.missiles.modular.alarm.job.DelayJob;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.util.EhcacheConstant;
@@ -16,7 +18,7 @@
import com.casic.missiles.modular.system.model.AlarmJob;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -31,7 +33,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
-import cn.hutool.core.util.ObjectUtil;
+
import cn.hutool.core.util.StrUtil;
/**
@@ -68,7 +70,8 @@
@Resource
private IQuartzManager quartzManager;
- @Autowired IBusWellInfoService busWellInfoService;
+ @Resource
+ private IBusWellInfoSupportService busWellInfoService;
@Override
public List> jobList(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, DataScope dataScope,Long userId) {
@@ -177,7 +180,7 @@
map.put("iCommonUserService",iCommonUserService);
map.put("iQuartzManager",quartzManager);
map.put("webSocket",webSocket);
- quartzManager.addJob(jobName,getDelayJob.class,shouldHandleTime,map);
+ quartzManager.addJob(jobName, DelayJob.class,shouldHandleTime,map);
}
return this.baseMapper.getJob(id,personId,getTime,shouldHandleTime);
@@ -228,7 +231,7 @@
@Override
public boolean checkJobStatus(String jobStatus) {
- if(ToolUtil.isEmpty(jobStatus)){
+ if(StrUtil.isEmpty(jobStatus)){
return false;
}else{
return "1".equals(jobStatus) || "2".equals(jobStatus) || "3".equals(jobStatus);
@@ -283,7 +286,7 @@
public void updateSinkJob(String id, String msg,String wellCode) {
List userClientViewList = new ArrayList<>();
List selectDtoList = selectRoles();
- EntityWrapper busWellInfoEntityWrapper = new EntityWrapper<>();
+ QueryWrapper busWellInfoEntityWrapper = new QueryWrapper<>();
busWellInfoEntityWrapper.eq("WELL_CODE",wellCode);
BusWellInfo busWellInfo = busWellInfoService.selectOne(busWellInfoEntityWrapper);
if(busWellInfo!=null&&StrUtil.isNotEmpty(busWellInfo.getDeptid())){
@@ -338,10 +341,10 @@
logger.info("告警消息app端找不到责任人,未推送:" + msg);
}
// PC推送,推给信息办
-// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
- EntityWrapper wrapper = new EntityWrapper();
- wrapper.eq("DEPTID", "1178242562491285506");
- List userList = iCommonUserService.selectUsersList(wrapper, null);
+ // List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+ QueryWrapper wrapper = new QueryWrapper();
+ wrapper.eq(UserQueryEnum.DEPT_ID, "1178242562491285506");
+ List userList = iCommonUserService.getUserService().list(wrapper);
for (User user : userList) {
userIds.add(user.getId().toString());
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
index 134a817..44f6788 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
@@ -1,13 +1,16 @@
package com.casic.missiles.modular.system.controller;
-import com.casic.missiles.core.base.controller.BaseController;
+import cn.hutool.core.util.ObjectUtil;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.model.exception.ServiceException;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.model.response.SuccessResponseData;
import com.casic.missiles.modular.system.dto.AlarmNowView;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.service.IAlarmNowViewService;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -20,7 +23,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import cn.hutool.core.util.ObjectUtil;
+
/**
* 地图总览模块的controller
*
@@ -38,7 +41,7 @@
private IAlarmNowViewService alarmNowViewService;
@Autowired
- private IBusWellInfoService busWellInfoService;
+ private IBusWellInfoSupportService busWellInfoService;
/**
* 获取当前全部告警列表
@@ -65,20 +68,20 @@
@RequestMapping(value = "/alarmsByWell", method = RequestMethod.GET)
@ResponseBody
public Object alarmsByWell(@RequestParam(required = true) Long id) {
- if(ObjectUtil.isEmpty(id)){
- throw new GunsException(GunsExceptionEnum.REQUEST_NULL);
+ if (ObjectUtil.isEmpty(id)) {
+ throw new ServiceException(CoreExceptionEnum.REQUEST_NULL);
}
SuccessResponseData successResult = new SuccessResponseData();
// 查询闸井信息
- BusWellInfo busWellInfo = busWellInfoService.selectById(id);
+ BusWellInfo busWellInfo = busWellInfoService.getById(id);
Map dataMap = new HashMap();
if (null != busWellInfo) {
dataMap.put("id", busWellInfo.getId());
dataMap.put("wellCode", busWellInfo.getWellCode());
dataMap.put("deptId", busWellInfo.getDeptid());
- dataMap.put("deptName", permissionService.getDeptName(String.valueOf(busWellInfo.getDeptid())));
- dataMap.put("wellTypeName",busWellInfo.getWellTypeName());
+ dataMap.put("deptName", permissionService.getDeptService().getDeptName(String.valueOf(busWellInfo.getDeptid())));
+ dataMap.put("wellTypeName", busWellInfo.getWellTypeName());
dataMap.put("position", busWellInfo.getPosition());
dataMap.put("deep", busWellInfo.getDeep());
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
index 263839d..d1e0d38 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
@@ -1,7 +1,7 @@
package com.casic.missiles.modular.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.dao.AlarmNowViewMapper;
import com.casic.missiles.modular.system.dto.AlarmNowView;
@@ -13,7 +13,7 @@
/**
*
- * 服务实现类
+ * 服务实现类
*
*
* @author casic123
@@ -23,13 +23,13 @@
public class AlarmNowViewServiceImpl extends ServiceImpl implements IAlarmNowViewService {
@Resource
- private AbstractPermissionContext permissionService;
+ private AbstractDictService dictService;
@Override
public List getNowAlarmRecords(DataScope dataScope) {
List alarmNowViewList = this.baseMapper.getNowAlarmRecords(dataScope);
for (AlarmNowView alarmNowView : alarmNowViewList) {
- alarmNowView.setWellTypeName(permissionService.getDictNameByCode("sluicewellType",alarmNowView.getWellType()));
+ alarmNowView.setWellTypeName(dictService.getDictNameByCode("sluicewellType", alarmNowView.getWellType()));
}
return alarmNowViewList;
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
index 760fdf6..affce72 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
@@ -1,15 +1,15 @@
package com.casic.missiles.modular.system.service.impl;
+import cn.hutool.core.util.ObjectUtil;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.dao.AlarmNowViewMapper;
import com.casic.missiles.modular.system.dao.StatisticMapper;
import com.casic.missiles.modular.system.model.Dept;
import com.casic.missiles.modular.system.service.IStatisticsService;
import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import cn.hutool.core.util.ObjectUtil;
import javax.annotation.Resource;
import java.text.ParseException;
@@ -18,35 +18,37 @@
@Service
public class StatisticServiceImpl implements IStatisticsService {
- @Autowired
+ @Resource
private StatisticMapper statisticMapper;
- @Autowired
+ @Resource
private AlarmNowViewMapper alarmNowViewMapper;
@Resource
private AbstractPermissionContext permissionService;
+ @Resource
+ private AbstractDictService dictService;
@Override
public List> wellStaticsByDept(DataScope dataScope) {
List> mapList = statisticMapper.wellStaticsByDept(dataScope);
for (Map map : mapList) {
- map.put("pidName",permissionService.getDeptName(Long.valueOf(map.get("pid").toString())));
+ map.put("pidName", permissionService.getDeptService().getDeptName(Long.valueOf(map.get("pid").toString())));
}
return mapList;
}
@Override
public List> wellStaticsByType(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
List> mapList = statisticMapper.wellStaticsByType(deptIds);
for (Map map : mapList) {
- map.put("wellTypeName",permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString()));
+ map.put("wellTypeName", dictService.getDictNameByCode("sluicewellType", map.get("wellType").toString()));
}
return mapList;
}
@Override
public List> deviceStaticsByType(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
List> mapList = statisticMapper.deviceStaticsByType(deptIds);
// for (Map map : mapList) {
// map.replace("deviceType",sysDictMapper.getDeviceTypeNameById(map.get("deviceType").toString()));
@@ -55,51 +57,53 @@
}
@Override
- public List> deviceStaticsByDept(DataScope dataScope,String deviceType) {
- List> mapList = statisticMapper.deviceStaticsByDept(dataScope,deviceType);
+ public List> deviceStaticsByDept(DataScope dataScope, String deviceType) {
+ List> mapList = statisticMapper.deviceStaticsByDept(dataScope, deviceType);
for (Map map : mapList) {
- map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString())));
+ map.put("deptName", permissionService.getDeptService().getDeptName(Long.valueOf(map.get("deptid").toString())));
}
return mapList;
}
@Override
public Map deviceStaticsByStatus(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
Map map = statisticMapper.deviceStaticsByStatus(deptIds);
- for(String s:map.keySet()){ //value都转为string
- map.replace(s,map.get(s).toString());
+ for (String s : map.keySet()) { //value都转为string
+ map.replace(s, map.get(s).toString());
}
return map;
}
@Override
- public List> jobsByDept(DataScope dataScope,String beginTime, String endTime, String deviceType) throws ParseException {
+ public List> jobsByDept(DataScope dataScope, String beginTime, String endTime, String deviceType) throws ParseException {
List> mapList = new ArrayList<>();
List deptIds = dataScope.getDeptIds();
for (Long deptId : deptIds) {
- if(deptId==0){ // 顶级不统计
+ // 顶级不统计
+ if (deptId == 0) {
continue;
}
- Dept dept = permissionService.getDeptById(deptId);
- if( ObjectUtil.isEmpty(dept) || "04".equals(dept.getDeptType())){ // 小组不统计
+ Dept dept = permissionService.getDeptService().getById(deptId);
+ // 小组不统计
+ if (ObjectUtil.isEmpty(dept) || "04".equals(dept.getDeptType())) {
continue;
}
Map map = new HashMap<>();
- List subDeptIds = permissionService.getSubDepts(deptId,null);
+ List subDeptIds = permissionService.getDeptService().getIdsRecursionByPid(deptId, null);
subDeptIds.add(deptId);
- String subDeptIdstr = StringUtils.strip(subDeptIds.toString(),"[]");
+ String subDeptIdstr = StringUtils.strip(subDeptIds.toString(), "[]");
map.put("deptId", deptId);
- map.put("deptName",permissionService.getDeptName(deptId));
- Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr,beginTime,endTime);
- if(ToolUtil.isNotEmpty(countMap)){
+ map.put("deptName", permissionService.getDeptService().getDeptName(deptId));
+ Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr, beginTime, endTime);
+ if (ObjectUtil.isNotEmpty(countMap)) {
map.putAll(countMap);
- }else{
- map.put("beforeGet",0);
- map.put("beforeConfirm",0);
- map.put("inHandle",0);
- map.put("over",0);
- map.put("cancel",0);
+ } else {
+ map.put("beforeGet", 0);
+ map.put("beforeConfirm", 0);
+ map.put("inHandle", 0);
+ map.put("over", 0);
+ map.put("cancel", 0);
}
mapList.add(map);
}
@@ -108,23 +112,23 @@
@Override
public List> alarmsByDay(String beginTime, String endTime, DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
List> mapList = new ArrayList<>();
- try{
+ try {
Date beginDate = sdf1.parse(beginTime);
Date endDate = sdf1.parse(endTime);
Calendar date = Calendar.getInstance();
date.setTime(beginDate);
while (date.getTime().compareTo(endDate) <= 0) {
String tmp = sdf1.format(date.getTime());
- Map map = alarmNowViewMapper.countAlarmsByDay(tmp,deptIds);
- map.put("date",sdf2.format(date.getTime()));
+ Map map = alarmNowViewMapper.countAlarmsByDay(tmp, deptIds);
+ map.put("date", sdf2.format(date.getTime()));
mapList.add(map);
- date.add(Calendar.DAY_OF_MONTH,1);
+ date.add(Calendar.DAY_OF_MONTH, 1);
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
return mapList;
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
index 0da3db8..0f499e6 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
@@ -13,38 +13,40 @@
import java.util.Map;
import java.util.concurrent.CopyOnWriteArraySet;
+/**
+ * 此注解相当于设置访问URL
+ */
@Component
@ServerEndpoint("/websocket/{userId}")
-//此注解相当于设置访问URL
public class WebSocket {
private Session session;
- private static CopyOnWriteArraySet webSockets =new CopyOnWriteArraySet<>();
- private static Map sessionPool = new HashMap();
+ private static CopyOnWriteArraySet webSockets = new CopyOnWriteArraySet<>();
+ private static Map sessionPool = new HashMap();
@OnOpen
- public void onOpen(Session session, @PathParam(value="userId")String userId) {
+ public void onOpen(Session session, @PathParam(value = "userId") String userId) {
this.session = session;
webSockets.add(this);
sessionPool.put(userId, session);
- System.out.println(userId+"【websocket消息】有新的连接,总数为:"+webSockets.size());
+ System.out.println(userId + "【websocket消息】有新的连接,总数为:" + webSockets.size());
}
@OnClose
public void onClose() {
webSockets.remove(this);
- System.out.println("【websocket消息】连接断开,总数为:"+webSockets.size());
+ System.out.println("【websocket消息】连接断开,总数为:" + webSockets.size());
}
@OnMessage
public void onMessage(String message) {
- System.out.println("【websocket消息】收到客户端消息:"+message);
+ System.out.println("【websocket消息】收到客户端消息:" + message);
}
// 此为广播消息
public void sendAllMessage(String message) {
- for(WebSocket webSocket : webSockets) {
- System.out.println("【websocket消息】广播消息:"+message);
+ for (WebSocket webSocket : webSockets) {
+ System.out.println("【websocket消息】广播消息:" + message);
try {
webSocket.session.getAsyncRemote().sendText(message);
} catch (Exception e) {
@@ -54,8 +56,8 @@
}
// 发送列表消息
- public void sendListMessage(List userIds, String message){
- System.out.println("【websocket消息】列表消息:"+message);
+ public void sendListMessage(List userIds, String message) {
+ System.out.println("【websocket消息】列表消息:" + message);
for (String userId : userIds) {
Session session = sessionPool.get(userId);
if (session != null) {
@@ -87,7 +89,7 @@
// 此为单点消息
public void sendOneMessage(String userId, String message) {
- System.out.println("【websocket消息】单点消息:"+message);
+ System.out.println("【websocket消息】单点消息:" + message);
Session session = sessionPool.get(userId);
if (session != null) {
try {
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java
deleted file mode 100644
index 431e0bd..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package com.casic.missiles.modular.system.warpper;
-
-import com.alibaba.fastjson.JSONArray;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.core.util.ObjectUtil;
-
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-//@Service
-//@Primary
-public class AlarmJobWarpper extends BaseControllerWarpper {
-// private EhcacheConstant ehcacheConstant = new EhcacheConstant();
- public AlarmJobWarpper(Object list) { super(list); }
- @Override
- public void warpTheMap(Map map) {
-
- // 设置人员姓名
- for (String key : map.keySet())
- {
- if (key.contains("JobPerson")|| key.contains("jobBelongTo"))
- {
- Object object = map.get(key);
- if (object!=null)
- {
- String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
- map.replace(key,newVal);
- }
- }
- }
-
- //设置闸井相关字段
- String wellCode = map.get("wellCode").toString();
- Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
- // 设置权属单位、负责人、联系电话
- String deptidStr = wellInfoMap.get("deptid").toString();
- long deptid = StrUtil.isEmpty(deptidStr)? -1: Long.valueOf(deptidStr);
- map.put("deptName",EhcacheConstant.retBean().getDeptNameById(deptid));
- if(deptid>0){
- Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
- if(ObjectUtil.isEmpty(staffstr)){
- wellInfoMap.replace("staff","");
- wellInfoMap.replace("tel","");
- }else {
- Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
- wellInfoMap.putAll(userInfoMap);
- }
- }
- map.putAll(wellInfoMap);
-
- // 告警类型
- String alarmTypeStr = map.get("alarmType").toString();
- map.put("alarmTypeName",EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
-
- // 告警内容
- String alarmContentNameStr = map.get("alarmContentName").toString();
- map.put("alarmContent",EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
-
- // 告警值加单位
- if(ObjectUtil.isNotEmpty(map.get("alarmValue"))){
- String alarmValue = map.get("alarmValue").toString();
- String alarmContentName = map.get("alarmContentName").toString();
- if("液位超限".equals(alarmContentName)) {
- alarmValue += "m";
- map.replace("alarmValue",alarmValue);
- }
- if("浓度超限".equals(alarmContentName)) {
- alarmValue += "%LEL";
- map.replace("alarmValue",alarmValue);
- }
- if("疑似开挖".equals(alarmContentName)) {
- alarmValue += "mg";
- map.replace("alarmValue",alarmValue);
- }
- }
-
- // 工单状态
- String jobStatusStr = map.get("jobStatus").toString();
- map.put("jobStatusName",EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
-
- // 告警值
- if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr))
- {
- map.replace("alarmValue","--");
- }
-
- // 流转记录(工单详情用)
- if (map.containsKey("flow"))
- {
- String flow = (String) map.get("flow");
- flow = "["+flow.replaceFirst(",","")+"]";
- List list = new ArrayList<>();
- JSONArray jsonArray = JSONArray.parseArray(flow);
- list = jsonArray.toJavaList(Map.class);
- map.replace("flow",list);
- }
-
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRecordWarpper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRecordWarpper.java
deleted file mode 100644
index 3c4807a..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRecordWarpper.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.casic.missiles.modular.system.warpper;
-
-import com.casic.missiles.core.util.EhcacheConstant;
-import com.casic.missiles.core.base.warpper.BaseControllerWarpper;
-import com.casic.missiles.core.util.ToolUtil;
-
-import java.util.HashMap;
-import java.util.Map;
-
-//@Service
-//@Primary
-public class AlarmRecordWarpper extends BaseControllerWarpper {
- public AlarmRecordWarpper(Object list) { super(list); }
- @Override
- public void warpTheMap(Map map) {
-
- // 设置闸井相关字段
- String wellCode = map.get("wellCode").toString();
- Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
- // 设置权属单位、负责人、联系电话
- String deptidStr = wellInfoMap.get("deptid").toString();
- long deptid = ToolUtil.isEmpty(deptidStr)? -1: Long.valueOf(deptidStr);
- map.put("deptName",EhcacheConstant.retBean().getDeptNameById(deptid));
- if(deptid>0){
- Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
- if(ToolUtil.isEmpty(staffstr)){
- wellInfoMap.replace("staff","");
- wellInfoMap.replace("tel","");
- }else {
- Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
- wellInfoMap.putAll(userInfoMap);
- }
- }
- map.putAll(wellInfoMap);
-
- // 告警类型
- String alarmTypeStr = map.get("alarmType").toString();
- map.put("alarmTypeName",EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
-
- // 告警内容
- String alarmContentNameStr = map.get("alarmContentName").toString();
- map.put("alarmContent",EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
-
- // 告警值加单位
- if(ToolUtil.isNotEmpty(map.get("alarmValue"))){
- String alarmValue = map.get("alarmValue").toString();
- String alarmContentName = map.get("alarmContentName").toString();
- if("液位超限".equals(alarmContentName)) {
- alarmValue += "m";
- map.replace("alarmValue",alarmValue);
- }
- if("浓度超限".equals(alarmContentName)) {
- alarmValue += "%LEL";
- map.replace("alarmValue",alarmValue);
- }
- if("疑似开挖".equals(alarmContentName)) {
- alarmValue += "mg";
- map.replace("alarmValue",alarmValue);
- }
- }
-
- // 告警值
- if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr))
- {
- map.replace("alarmValue","--");
- }
-
- // 告警状态
- String statusStr = map.get("status").toString();
- map.put("statusName",EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr,"alarmStatus"));
-
- // 工单状态
- if(ToolUtil.isNotEmpty(map.get("jobStatus"))){
- String jobStatusStr = map.get("jobStatus").toString();
- map.put("jobStatusName",EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
- }
-
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRuleWarpper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRuleWarpper.java
deleted file mode 100644
index 7d8cef1..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRuleWarpper.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.casic.missiles.modular.system.warpper;
-
-import com.casic.missiles.core.base.warpper.BaseControllerWarpper;
-import com.casic.missiles.core.util.EhcacheConstant;
-
-import java.util.Map;
-
-//@Service
-//@Primary
-public class AlarmRuleWarpper extends BaseControllerWarpper {
-// private EhcacheConstant ehcacheConstant = new EhcacheConstant();
- public AlarmRuleWarpper(Object list) { super(list); }
- @Override
- public void warpTheMap(Map map) {
-
- String deviceType = map.get("deviceType").toString();
- long deptid = Long.parseLong(map.get("deptid").toString());
- map.put("deviceTypeName",EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
- map.put("deptName",EhcacheConstant.retBean().getDeptNameById(deptid));
- }
-}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/TemplateController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/TemplateController.java
index b7e13ca..d9b07c3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/TemplateController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/TemplateController.java
@@ -1,12 +1,11 @@
package com.casic.missiles.modular.system.controller;
-import cn.hutool.core.collection.CollectionUtil;
+import com.casic.missiles.config.DeviceServerProperties;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.modular.system.dto.VersionDto;
import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.config.DeviceServerProperties;
import com.casic.missiles.modular.system.constant.DeviceConst;
+import com.casic.missiles.modular.system.dto.VersionDto;
import com.casic.missiles.modular.system.service.IDeviceService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -63,7 +62,6 @@
response.setContentType("application/octet-stream");
response.addHeader("Content-Disposition", " attachment;filename=" + fileName);
response.setContentLength((int) file.length());
-
FileInputStream fis = null;
try {
fis = new FileInputStream(file);
@@ -103,7 +101,6 @@
@PostMapping("/app/registerGeTui")
public ResponseData geTuiRegister(@RequestParam String clientid) {
-
service.registerGeTui(permissionService.getAuthService().getLoginUser().getId(), clientid);
return ResponseData.success();
}
diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoSupportService.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoSupportService.java
index e34c98e..ee3443d 100644
--- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoSupportService.java
+++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoSupportService.java
@@ -1,7 +1,7 @@
package com.casic.missiles.modular.system.service;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.model.application.service.IRepositorySupportService;
import com.casic.missiles.modular.system.dto.BusWellInfoDto;
import com.casic.missiles.modular.system.model.BusWellInfo;
@@ -24,5 +24,13 @@
*/
List getWellList(DataScope dataScope, String keywords, String wellType, String deptid);
+ /**
+ * 根据井主键查询井信息
+ *
+ * @param id 井主键
+ * @return 井信息
+ */
BusWellInfo getById(Long id);
+
+ BusWellInfo selectOne(QueryWrapper busWellInfoEntityWrapper);
}
diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml
index 95d7f58..88f7dc3 100644
--- a/casic-alarm/pom.xml
+++ b/casic-alarm/pom.xml
@@ -28,21 +28,36 @@
${admin.version}
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java b/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
deleted file mode 100644
index 460d4db..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * SpringBoot方式启动类
- *
- * @author lwh
- * @Date 2021/06/06 12:06
- */
-@SpringBootApplication
-@EnableCaching
-@EnableScheduling
-@EnableTransactionManagement(proxyTargetClass = true)
-@EnableAsync
-@ServletComponentScan
-@Slf4j
-public class CasicApplication {
- public static void main(String[] args) {
- SpringApplication.run(CasicApplication.class, args);
- log.info("CasicApplication is success!");
- }
-
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
index ef473af..6a426fa 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
@@ -1,19 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.alarm.service.ISysDictService;
-import com.casic.missiles.modular.system.warpper.AlarmJobWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -29,7 +31,10 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
@@ -40,7 +45,7 @@
*/
@Controller
@RequestMapping("/job")
-public class AlarmJobController extends BaseController {
+public class AlarmJobController extends ExportController {
@Autowired
@@ -146,16 +151,93 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatusStr)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatusStr));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatusStr));
}
}
retList = alarmJobService.jobListApp(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmJobWrapper(Map map) {
+ // 设置人员姓名
+ for (String key : map.keySet()) {
+ if (key.contains("JobPerson") || key.contains("jobBelongTo")) {
+ Object object = map.get(key);
+ if (object != null) {
+ String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
+ map.replace(key, newVal);
+ }
+ }
+ }
+
+ //设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (ObjectUtil.isEmpty(staffstr)) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 工单状态
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 流转记录(工单详情用)
+ if (map.containsKey("flow")) {
+ String flow = (String) map.get("flow");
+ flow = "[" + flow.replaceFirst(",", "") + "]";
+ List list = new ArrayList<>();
+ JSONArray jsonArray = JSONArray.parseArray(flow);
+ list = jsonArray.toJavaList(Map.class);
+ map.replace("flow", list);
+ }
+ }
+
/**
* 工单查询接口 APP用
*/
@@ -181,14 +263,13 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatus)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatus));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus));
}
}
retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime,
handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
Map retMap = new HashMap<>();
@@ -227,7 +308,7 @@
}
retList = alarmJobService.jobListDelayReApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -265,7 +346,7 @@
}
retList = alarmJobService.jobListDelayProApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -294,22 +375,35 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId());
- new AlarmJobWarpper(jobExpList).warp();
+ jobExpList.forEach(this::alarmJobWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(jobExpList)) {
fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx");
} else {
fileInputStream = new FileInputStream(templatePath + "/jobRecTemplate.xlsx");
}
+
try {
+
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "jobOverview.xlsx");
-
Map var = new HashMap<>();
var.put("标题", "工单一览表");
var.put("list", jobExpList);
- ExcelIO.writeTemplate(fileInputStream, httpServletResponse.getOutputStream(), var);
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("工单编号", "jobCode"));
+ dataFieldDefines.add(new DataFieldDefine("工单创建时间", "createTime"));
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("告警时间", "alarmTime"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+ dataFieldDefines.add(new DataFieldDefine("处理人", "handleJobPerson"));
+ dataFieldDefines.add(new DataFieldDefine("处理时间", "handleJobTime"));
+ this.exportExcelMaps(dataFieldDefines, jobExpList, "工单一览表");
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
@@ -361,7 +455,7 @@
@RequestMapping(value = "/transferJob")
@ResponseBody
public Object transferJob(@RequestParam(value = "id", required = true) int id,
- @RequestParam(value = "transferPerson", required = true) String transferPerson) throws JSONException {
+ @RequestParam(value = "transferPerson", required = true) String transferPerson) {
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
@@ -437,8 +531,7 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
List> retList = alarmJobService.jobInfo(id, dataScope, currentUser.getId());
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
return ResponseData.success(retList);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
index 5ec9ed1..a1432fd 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
@@ -1,22 +1,23 @@
package com.casic.missiles.modular.alarm.controller;
-import com.alibaba.fastjson.JSON;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.util.EhcacheConstant;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmLevelService;
import com.casic.missiles.modular.system.model.AlarmLevel;
import com.casic.missiles.modular.system.model.DeptPermission;
+import com.casic.missiles.modular.system.service.IDeptPermissionService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.util.*;
@@ -36,73 +37,74 @@
private IAlarmLevelService alarmLevelService;
@Resource
private AbstractPermissionContext permissionService;
- @Autowired
- private AbstractDeptService deptPermissionService;
+ @Resource
+ private IDeptPermissionService deptPermissionService;
/**
* 获取告警等级列表
*/
@RequestMapping("/levelList")
@ResponseBody
- public Object levelList(Long tenantId){
- List> levelList = new ArrayList<>();
+ public Object levelList(Long tenantId) {
+ List> levelList = new ArrayList<>();
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
DeptPermission deptPermission = deptPermissionService.selectDeptPermission(currUser.getDeptId());
- if(ObjectUtil.isEmpty(deptPermission)){
+ if (ObjectUtil.isEmpty(deptPermission)) {
return levelList;
}
- for(Object deviceType: JSON.parseObject(deptPermission.getDeviceType(), List.class)){
+ for (Object deviceType : JSON.parseObject(deptPermission.getDeviceType(), List.class)) {
String deviceTypeName = EhcacheConstant.retBean().getDeviceTypeNameById(deviceType.toString());
List names = new ArrayList<>();
- if(deviceTypeName.contains("液位")){
+ if (deviceTypeName.contains("液位")) {
names.add("液位");
}
- if(deviceTypeName.contains("有害气体")){
+ if (deviceTypeName.contains("有害气体")) {
names.add("一氧化碳");
names.add("硫化氢");
names.add("甲烷");
names.add("氧气");
}
- if(deviceTypeName.contains("燃气")){
+ if (deviceTypeName.contains("燃气")) {
names.add("燃气");
}
- if(deviceTypeName.contains("温湿度")){
+ if (deviceTypeName.contains("温湿度")) {
names.add("温度");
names.add("湿度");
}
- if(deviceTypeName.contains("开挖")){
+ if (deviceTypeName.contains("开挖")) {
names.add("开挖");
}
- for(String name: names){
+ for (String name : names) {
Map levelMap = new HashMap<>();
- Map level = alarmLevelService.selectByNameAndTenGroup(tenantId,name);
- levelMap.put("name",name);
- levelMap.put("deviceType",deviceType);
- levelMap.put("deviceTypeName",deviceTypeName);
+ Map level = alarmLevelService.selectByNameAndTenGroup(tenantId, name);
+ levelMap.put("name", name);
+ levelMap.put("deviceType", deviceType);
+ levelMap.put("deviceTypeName", deviceTypeName);
- if(ObjectUtil.isEmpty(level.get("openAlarm"))){
- levelMap.put("openAlarm","");
- }else{
- levelMap.put("openAlarm",level.get("openAlarm").toString());
+ if (ObjectUtil.isEmpty(level.get("openAlarm"))) {
+ levelMap.put("openAlarm", "");
+ } else {
+ levelMap.put("openAlarm", level.get("openAlarm").toString());
}
- if(ObjectUtil.isEmpty(level.get("openJob"))){
- levelMap.put("openJob","");
- }else{
- levelMap.put("openJob",level.get("openJob").toString());
+ if (ObjectUtil.isEmpty(level.get("openJob"))) {
+ levelMap.put("openJob", "");
+ } else {
+ levelMap.put("openJob", level.get("openJob").toString());
}
- if(ObjectUtil.isEmpty(level.get("ts"))){
- levelMap.put("ts","");
- }else{
- levelMap.put("ts",level.get("ts").toString());
+ if (ObjectUtil.isEmpty(level.get("ts"))) {
+ levelMap.put("ts", "");
+ } else {
+ levelMap.put("ts", level.get("ts").toString());
}
levelList.add(levelMap);
@@ -116,13 +118,14 @@
*/
@RequestMapping("/levelByType")
@ResponseBody
- public Object levelByType(Long tenantId, String name){
+ public Object levelByType(Long tenantId, String name) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
List levelList = alarmLevelService.selectByNameAndTenList(tenantId, name);
return ResponseData.success(levelList);
@@ -131,22 +134,23 @@
@RequestMapping("/configLevel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object configLevel(@RequestBody List levelList){
+ public Object configLevel(@RequestBody List levelList) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- String userTenantId = currUser.getTenantId(); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ String userTenantId = currUser.getTenantId();
Date currDate = new Date();
- for(AlarmLevel alarmLevel:levelList){
- if(ObjectUtil.isAllEmpty(alarmLevel.getTenantId(),userTenantId)){
+ for (AlarmLevel alarmLevel : levelList) {
+ if (ObjectUtil.isAllEmpty(alarmLevel.getTenantId(), userTenantId)) {
return ResponseData.error("无关联的项目id");
}
Long tenantId = ObjectUtil.isEmpty(alarmLevel.getTenantId()) ? Long.valueOf(userTenantId) : alarmLevel.getTenantId();
- AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId,alarmLevel.getName(),alarmLevel.getLevel());
- if(ObjectUtil.isEmpty(oldAlarmLevel)){
+ AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId, alarmLevel.getName(), alarmLevel.getLevel());
+ if (ObjectUtil.isEmpty(oldAlarmLevel)) {
//insert
alarmLevel.setTenantId(tenantId);
alarmLevel.setTs(currDate);
- alarmLevelService.insert(alarmLevel);
- }else{
+ alarmLevelService.save(alarmLevel);
+ } else {
//update
alarmLevel.setId(oldAlarmLevel.getId());
alarmLevel.setTenantId(tenantId);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
index 67e4b49..51e0d50 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
@@ -1,15 +1,19 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.AlarmRecords;
-import com.casic.missiles.modular.system.warpper.AlarmRecordWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -17,13 +21,13 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.collection.CollectionUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -36,7 +40,7 @@
*/
@Controller
@RequestMapping("/alarm")
-public class AlarmRecordsController extends BaseController {
+public class AlarmRecordsController extends ExportController {
@Autowired
@@ -44,13 +48,13 @@
@Resource
private AbstractPermissionContext iCommonPermissionService;
@Value("${smartcity.office.maxRowsExcel}")
- private int maxRowsExcel;
+ private int maxRowsExcel;
@Value("${smartcity.config.config-path}")
private String templatePath;
@Value("${smartcity.adminRoleName}")
- private String sAdmin;
+ private String sAdmin;
@Value("${smartcity.opRoleName}")
- private String sOperator;
+ private String sOperator;
/**
* 获取分页列表
@@ -62,7 +66,7 @@
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
@@ -73,28 +77,87 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> retList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
-
-
- new AlarmRecordWarpper(retList).warp();
+ List> retList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ retList.forEach(this::alarmRecordWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmRecordWrapper(Map map) {
+ // 设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (null == staffstr) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 告警状态
+ String statusStr = map.get("status").toString();
+ map.put("statusName", EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr, "alarmStatus"));
+
+ // 工单状态
+ if (ObjectUtil.isNotEmpty(map.get("jobStatus"))) {
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+ }
+ }
@RequestMapping(value = "/export")
- public void exportAlarm(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) throws IOException {
+ public void exportAlarm(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
Page> page = PageFactory.defaultPage();
- page.setMaxLimit((long)maxRowsExcel);
+ page.setMaxLimit((long) maxRowsExcel);
page.setSize(maxRowsExcel);
page.offset();
page.setSearchCount(false);
@@ -104,25 +167,36 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> alarmExpList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
- new AlarmRecordWarpper(alarmExpList).warp();
-
+ List> alarmExpList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ alarmExpList.forEach(this::alarmRecordWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(alarmExpList)) {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecEmpty.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecEmpty.xlsx");
} else {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecTemplate.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecTemplate.xlsx");
}
try {
httpServletResponse.setContentType("application/octet-stream");
- httpServletResponse.addHeader("Content-Disposition", " attachment;filename="+"alarmOverview.xlsx" );
+ httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "alarmOverview.xlsx");
- Map var = new HashMap<>();
- var.put("标题","报警一览表");
- var.put("list",alarmExpList);
- ExcelIO.writeTemplate(fileInputStream,httpServletResponse.getOutputStream(),var);
+ Map var = new HashMap<>();
+ var.put("标题", "报警一览表");
+ var.put("list", alarmExpList);
+
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("设备编号", "devcode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmTypeName"));
+ dataFieldDefines.add(new DataFieldDefine("告警原因", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("权属单位", "deptName"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+
+ this.exportExcelMaps(dataFieldDefines, alarmExpList, "报警一览表");
} catch (IOException e) {
e.printStackTrace();
@@ -132,7 +206,8 @@
httpServletResponse.getOutputStream().flush();
httpServletResponse.getOutputStream().close();
fileInputStream.close();
- };
+ }
+ ;
}
@@ -141,15 +216,15 @@
*/
@RequestMapping(value = "/cancelAlarm")
@ResponseBody
- public Object cancelAlarm(@RequestParam(value = "id",required = true) int id, //jobId
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object cancelAlarm(@RequestParam(value = "id", required = true) int id, //jobId
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- boolean isCancel = alarmRecordsService.cancelAlarm(id,jobStatus,handleMessage,currentUser.getId());
- if(isCancel){
+ boolean isCancel = alarmRecordsService.cancelAlarm(id, jobStatus, handleMessage, currentUser.getId());
+ if (isCancel) {
return ResponseData.success();
- }else {
+ } else {
return ResponseData.error("failure");
}
}
@@ -160,22 +235,22 @@
@RequestMapping(value = "/batchCancel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object batchCancel(@RequestParam(value = "keywords",required = false) String keywords,
- @RequestParam(value = "alarmType",required = false) String alarmType,
- @RequestParam(value = "alarmContent",required = false) String alarmContent,
- @RequestParam(value = "beginTime",required = false) String beginTime,
- @RequestParam(value = "endTime",required = false) String endTime,
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object batchCancel(@RequestParam(value = "keywords", required = false) String keywords,
+ @RequestParam(value = "alarmType", required = false) String alarmType,
+ @RequestParam(value = "alarmContent", required = false) String alarmContent,
+ @RequestParam(value = "beginTime", required = false) String beginTime,
+ @RequestParam(value = "endTime", required = false) String endTime,
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
//根据查询条件查询alarm_record记录
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope,keywords,alarmType,alarmContent,beginTime,endTime);
+ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime);
//根据jobId调用closeJob
for (AlarmRecords alarmRecord : alarmRecords) {
- alarmRecordsService.cancelAlarm(alarmRecord.getJobId(),jobStatus,handleMessage,currentUser.getId());
+ alarmRecordsService.cancelAlarm(alarmRecord.getJobId(), jobStatus, handleMessage, currentUser.getId());
}
return ResponseData.success();
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
index 7a645dd..3b39aeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
@@ -1,21 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRuleService;
import com.casic.missiles.modular.system.dto.AlarmRuleDTO;
-import com.casic.missiles.modular.system.warpper.AlarmRuleWarpper;
+import com.casic.missiles.modular.system.service.IDeviceRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.util.StrUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -54,8 +54,9 @@
public Map list(String keywords, HttpServletRequest httpServletRequest) {
String deviceType = httpServletRequest.getParameter("deviceType");
- if (StrUtil.isEmpty(deviceType))
+ if (StrUtil.isEmpty(deviceType)) {
deviceType = "";
+ }
Page> page = PageFactory.defaultPage();
Map retMap = new HashMap<>();
boolean bSessionValid = false;
@@ -66,9 +67,10 @@
return retMap;
}
List> retList = new ArrayList<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
retList = alarmRuleService.ruleListViaParam(page, keywords, deviceType, dataScope);
- new AlarmRuleWarpper(retList).warp();
+ retList.stream().forEach(this::alarmRuleWrapper);
page.setRecords(retList);
retMap.put("code", 200);
retMap.put("message", "success");
@@ -76,11 +78,19 @@
return retMap;
}
+ private void alarmRuleWrapper(Map map) {
+ String deviceType = map.get("deviceType").toString();
+ long deptid = Long.parseLong(map.get("deptid").toString());
+ map.put("deviceTypeName", EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ }
+
@RequestMapping(value = "/update")
@ResponseBody
public Map updateRule(@RequestParam(value = "id", required = true) int id, HttpServletRequest httpServletRequest) {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
if (super.getSession().getAttribute("sessionFlag") == null) {
retMap.put("code", 505);
retMap.put("message", "sessionExpired");
@@ -90,10 +100,12 @@
String sLow = httpServletRequest.getParameter("lowValue");
float highValue = 99999;
float lowValue = -99999;
- if (StrUtil.isNotEmpty(sHigh))
+ if (StrUtil.isNotEmpty(sHigh)) {
highValue = Float.parseFloat(sHigh);
- if (StrUtil.isNotEmpty(sLow))
+ }
+ if (StrUtil.isNotEmpty(sLow)) {
lowValue = Float.parseFloat(sLow);
+ }
if (alarmRuleService.updateRule(id, highValue, lowValue)) {
retMap.put("code", 200);
@@ -138,7 +150,7 @@
@RequestMapping(value = "/delete")
@ResponseBody
public Object delete(@RequestParam Integer id) {
- alarmRuleService.deleteById(id);
+ alarmRuleService.removeById(id);
return ResponseData.success();
}
@@ -151,8 +163,9 @@
public Map getNoAlarmDevice() {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
- List alarmRuleList= alarmRuleService.getNoAlarmDevice(dataScope);
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
+ List alarmRuleList = alarmRuleService.getNoAlarmDevice(dataScope);
retMap.put("code", 200);
retMap.put("message", "success");
retMap.put("data", alarmRuleList);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
new file mode 100644
index 0000000..a749516
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
@@ -0,0 +1,109 @@
+package com.casic.missiles.modular.alarm.job;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.modular.alarm.service.IAlarmJobService;
+import com.casic.missiles.modular.system.model.AlarmJob;
+import com.casic.missiles.modular.system.util.PushList;
+import com.casic.missiles.modular.system.util.WebSocket;
+import com.casic.missiles.quartz.service.IQuartzManager;
+import com.gexin.rp.sdk.base.IPushResult;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.support.AbstractApplicationContext;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class DelayJob implements Job {
+
+ private static final Logger logger = LoggerFactory.getLogger(DelayJob.class);
+
+ private Integer jobId;
+ private IAlarmJobService iAlarmJobService;
+ private AbstractApplicationContext iCommonUserService;
+ private IQuartzManager iQuartzManager;
+ private WebSocket webSocket;
+
+ public void setJobId(Integer jobId) {
+ this.jobId = jobId;
+ }
+
+ public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
+ this.iAlarmJobService = iAlarmJobService;
+ }
+
+ public void setICommonUserService(AbstractApplicationContext iCommonUserService) {
+ this.iCommonUserService = iCommonUserService;
+ }
+
+ public void setIQuartzManager(IQuartzManager iQuartzManager) {
+ this.iQuartzManager = iQuartzManager;
+ }
+
+ public void setWebSocket(WebSocket webSocket) {
+ this.webSocket = webSocket;
+ }
+
+ @Override
+ public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+
+ //业务逻辑
+ SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
+ System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
+ getJobDelay(jobId);
+ }
+
+ private void getJobDelay(Integer id) {
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if (!"3".equals(alarmJob.getJobStatus()) && !"4".equals(alarmJob.getJobStatus())) {
+ // 超时未处理 // 延时标签
+ alarmJob.setJobFlagDelay("2");
+ // 延时记录
+ String jobFlag = alarmJob.getJobFlag1();
+ if (StrUtil.isNotEmpty(jobFlag)) {
+ jobFlag += ",2";
+ } else {
+ jobFlag = "2";
+ }
+ alarmJob.setJobFlag1(jobFlag);
+ iAlarmJobService.updateById(alarmJob); // 更新记录
+ // APP推送
+ Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
+ String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
+ List clientIds = new ArrayList<>();
+ if (StrUtil.isNotEmpty(clientId)) {
+ clientIds.add(clientId);
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未处理");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未处理工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
+ }
+ } else {
+ logger.info("超时未处理工单找不到责任人,未推送:" + id.toString());
+ }
+ // PC推送,推给信息办
+ //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+// EntityWrapper wrapper = new EntityWrapper();
+// wrapper.eq("DEPTID","1178242562491285506");
+// List userList = iCommonUserService.selectUsersList(wrapper,null);
+// List userIds = new ArrayList<>();
+// for (User user : userList) {
+// userIds.add(user.getId().toString());
+// }
+// Map map = new HashMap();
+// map.put("message","有新的超时未处理工单");
+// map.put("type","overtimeHandle");
+// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
+ }
+ String jobName = "getJobDelay" + id;
+ iQuartzManager.removeJob(jobName);
+ }
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
index ba9f439..9d72902 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
@@ -1,10 +1,10 @@
package com.casic.missiles.modular.alarm.job;
-import com.casic.missiles.core.common.service.ICommonUserService;
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.modular.system.dto.UserClientView;
import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -15,19 +15,20 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
@Component
-public class HandleAlarmJob implements Job{
+public class HandleAlarmJob implements Job {
private static final Logger logger = LoggerFactory.getLogger(HandleAlarmJob.class);
private Integer jobId;
private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
+ private AbstractPermissionContext iCommonUserService;
private IQuartzManager iQuartzManager;
private WebSocket webSocket;
private List userClientViewList;
@@ -40,7 +41,7 @@
this.iAlarmJobService = iAlarmJobService;
}
- public void setICommonUserService(ICommonUserService iCommonUserService) {
+ public void setICommonUserService(AbstractPermissionContext iCommonUserService) {
this.iCommonUserService = iCommonUserService;
}
@@ -62,29 +63,29 @@
}
private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if("0".equals(alarmJob.getJobStatus())){
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if ("0".equals(alarmJob.getJobStatus())) {
// 超时未接收
alarmJob.setJobFlagDelay("1"); // 延时标签
alarmJob.setJobFlag1("1");
iAlarmJobService.updateById(alarmJob); // 更新记录
// APP推送 推给井盖所属权属单位
List clientIds = new ArrayList<>();
- for(UserClientView userClientView:userClientViewList){
- if(StrUtil.isNotEmpty(userClientView.getClientid())){
+ for (UserClientView userClientView : userClientViewList) {
+ if (StrUtil.isNotEmpty(userClientView.getClientid())) {
clientIds.add(userClientView.getClientid());
}
}
- if(clientIds.size()>0){
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未接收");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未接收工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
+ if (clientIds.size() > 0) {
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未接收");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未接收工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
}
- }else{
- logger.info("超时未接收工单找不到责任人,未推送:"+id.toString());
+ } else {
+ logger.info("超时未接收工单找不到责任人,未推送:" + id.toString());
}
// PC推送,推给信息办
// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
deleted file mode 100644
index 46eeda9..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package com.casic.missiles.modular.alarm.job;
-
-import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.util.PushList;
-import com.casic.missiles.modular.system.util.WebSocket;
-import com.casic.missiles.quartz.service.IQuartzManager;
-import com.gexin.rp.sdk.base.IPushResult;
-import com.google.gson.GsonBuilder;
-import org.quartz.Job;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
-
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-@Component
-public class getDelayJob implements Job {
-
- private static final Logger logger = LoggerFactory.getLogger(getDelayJob.class);
-
- private Integer jobId;
- private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
- private IQuartzManager iQuartzManager;
- private WebSocket webSocket;
-
- public void setJobId(Integer jobId) {
- this.jobId = jobId;
- }
-
- public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
- this.iAlarmJobService = iAlarmJobService;
- }
-
- public void setICommonUserService(ICommonUserService iCommonUserService) {
- this.iCommonUserService = iCommonUserService;
- }
-
- public void setIQuartzManager(IQuartzManager iQuartzManager) {
- this.iQuartzManager = iQuartzManager;
- }
-
- public void setWebSocket(WebSocket webSocket) {
- this.webSocket = webSocket;
- }
-
- @Override
- public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-
- //业务逻辑
- SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
- System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
- getJobDelay(jobId);
- }
-
- private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if(!"3".equals(alarmJob.getJobStatus()) &&!"4".equals(alarmJob.getJobStatus())){
- // 超时未处理
- alarmJob.setJobFlagDelay("2"); // 延时标签
- String jobFlag = alarmJob.getJobFlag1(); // 延时记录
- if(StrUtil.isNotEmpty(jobFlag)){
- jobFlag += ",2";
- }else{
- jobFlag = "2";
- }
- alarmJob.setJobFlag1(jobFlag);
- iAlarmJobService.updateById(alarmJob); // 更新记录
- // APP推送
- Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
- String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
- List clientIds = new ArrayList<>();
- if(StrUtil.isNotEmpty(clientId)){
- clientIds.add(clientId);
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未处理");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未处理工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
- }
- }else{
- logger.info("超时未处理工单找不到责任人,未推送:"+id.toString());
- }
- // PC推送,推给信息办
- //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
-// EntityWrapper wrapper = new EntityWrapper();
-// wrapper.eq("DEPTID","1178242562491285506");
-// List userList = iCommonUserService.selectUsersList(wrapper,null);
-// List userIds = new ArrayList<>();
-// for (User user : userList) {
-// userIds.add(user.getId().toString());
-// }
-// Map map = new HashMap();
-// map.put("message","有新的超时未处理工单");
-// map.put("type","overtimeHandle");
-// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
- }
- String jobName = "getJobDelay" + id;
- iQuartzManager.removeJob(jobName);
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
index d9ca2a1..450b861 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
@@ -1,11 +1,13 @@
package com.casic.missiles.modular.alarm.service.impl;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.enums.UserQueryEnum;
import com.casic.missiles.modular.alarm.job.HandleAlarmJob;
-import com.casic.missiles.modular.alarm.job.getDelayJob;
+import com.casic.missiles.modular.alarm.job.DelayJob;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.util.EhcacheConstant;
@@ -16,7 +18,7 @@
import com.casic.missiles.modular.system.model.AlarmJob;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -31,7 +33,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
-import cn.hutool.core.util.ObjectUtil;
+
import cn.hutool.core.util.StrUtil;
/**
@@ -68,7 +70,8 @@
@Resource
private IQuartzManager quartzManager;
- @Autowired IBusWellInfoService busWellInfoService;
+ @Resource
+ private IBusWellInfoSupportService busWellInfoService;
@Override
public List> jobList(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, DataScope dataScope,Long userId) {
@@ -177,7 +180,7 @@
map.put("iCommonUserService",iCommonUserService);
map.put("iQuartzManager",quartzManager);
map.put("webSocket",webSocket);
- quartzManager.addJob(jobName,getDelayJob.class,shouldHandleTime,map);
+ quartzManager.addJob(jobName, DelayJob.class,shouldHandleTime,map);
}
return this.baseMapper.getJob(id,personId,getTime,shouldHandleTime);
@@ -228,7 +231,7 @@
@Override
public boolean checkJobStatus(String jobStatus) {
- if(ToolUtil.isEmpty(jobStatus)){
+ if(StrUtil.isEmpty(jobStatus)){
return false;
}else{
return "1".equals(jobStatus) || "2".equals(jobStatus) || "3".equals(jobStatus);
@@ -283,7 +286,7 @@
public void updateSinkJob(String id, String msg,String wellCode) {
List userClientViewList = new ArrayList<>();
List selectDtoList = selectRoles();
- EntityWrapper busWellInfoEntityWrapper = new EntityWrapper<>();
+ QueryWrapper busWellInfoEntityWrapper = new QueryWrapper<>();
busWellInfoEntityWrapper.eq("WELL_CODE",wellCode);
BusWellInfo busWellInfo = busWellInfoService.selectOne(busWellInfoEntityWrapper);
if(busWellInfo!=null&&StrUtil.isNotEmpty(busWellInfo.getDeptid())){
@@ -338,10 +341,10 @@
logger.info("告警消息app端找不到责任人,未推送:" + msg);
}
// PC推送,推给信息办
-// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
- EntityWrapper wrapper = new EntityWrapper();
- wrapper.eq("DEPTID", "1178242562491285506");
- List userList = iCommonUserService.selectUsersList(wrapper, null);
+ // List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+ QueryWrapper wrapper = new QueryWrapper();
+ wrapper.eq(UserQueryEnum.DEPT_ID, "1178242562491285506");
+ List userList = iCommonUserService.getUserService().list(wrapper);
for (User user : userList) {
userIds.add(user.getId().toString());
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
index 134a817..44f6788 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
@@ -1,13 +1,16 @@
package com.casic.missiles.modular.system.controller;
-import com.casic.missiles.core.base.controller.BaseController;
+import cn.hutool.core.util.ObjectUtil;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.model.exception.ServiceException;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.model.response.SuccessResponseData;
import com.casic.missiles.modular.system.dto.AlarmNowView;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.service.IAlarmNowViewService;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -20,7 +23,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import cn.hutool.core.util.ObjectUtil;
+
/**
* 地图总览模块的controller
*
@@ -38,7 +41,7 @@
private IAlarmNowViewService alarmNowViewService;
@Autowired
- private IBusWellInfoService busWellInfoService;
+ private IBusWellInfoSupportService busWellInfoService;
/**
* 获取当前全部告警列表
@@ -65,20 +68,20 @@
@RequestMapping(value = "/alarmsByWell", method = RequestMethod.GET)
@ResponseBody
public Object alarmsByWell(@RequestParam(required = true) Long id) {
- if(ObjectUtil.isEmpty(id)){
- throw new GunsException(GunsExceptionEnum.REQUEST_NULL);
+ if (ObjectUtil.isEmpty(id)) {
+ throw new ServiceException(CoreExceptionEnum.REQUEST_NULL);
}
SuccessResponseData successResult = new SuccessResponseData();
// 查询闸井信息
- BusWellInfo busWellInfo = busWellInfoService.selectById(id);
+ BusWellInfo busWellInfo = busWellInfoService.getById(id);
Map dataMap = new HashMap();
if (null != busWellInfo) {
dataMap.put("id", busWellInfo.getId());
dataMap.put("wellCode", busWellInfo.getWellCode());
dataMap.put("deptId", busWellInfo.getDeptid());
- dataMap.put("deptName", permissionService.getDeptName(String.valueOf(busWellInfo.getDeptid())));
- dataMap.put("wellTypeName",busWellInfo.getWellTypeName());
+ dataMap.put("deptName", permissionService.getDeptService().getDeptName(String.valueOf(busWellInfo.getDeptid())));
+ dataMap.put("wellTypeName", busWellInfo.getWellTypeName());
dataMap.put("position", busWellInfo.getPosition());
dataMap.put("deep", busWellInfo.getDeep());
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
index 263839d..d1e0d38 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
@@ -1,7 +1,7 @@
package com.casic.missiles.modular.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.dao.AlarmNowViewMapper;
import com.casic.missiles.modular.system.dto.AlarmNowView;
@@ -13,7 +13,7 @@
/**
*
- * 服务实现类
+ * 服务实现类
*
*
* @author casic123
@@ -23,13 +23,13 @@
public class AlarmNowViewServiceImpl extends ServiceImpl implements IAlarmNowViewService {
@Resource
- private AbstractPermissionContext permissionService;
+ private AbstractDictService dictService;
@Override
public List getNowAlarmRecords(DataScope dataScope) {
List alarmNowViewList = this.baseMapper.getNowAlarmRecords(dataScope);
for (AlarmNowView alarmNowView : alarmNowViewList) {
- alarmNowView.setWellTypeName(permissionService.getDictNameByCode("sluicewellType",alarmNowView.getWellType()));
+ alarmNowView.setWellTypeName(dictService.getDictNameByCode("sluicewellType", alarmNowView.getWellType()));
}
return alarmNowViewList;
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
index 760fdf6..affce72 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
@@ -1,15 +1,15 @@
package com.casic.missiles.modular.system.service.impl;
+import cn.hutool.core.util.ObjectUtil;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.dao.AlarmNowViewMapper;
import com.casic.missiles.modular.system.dao.StatisticMapper;
import com.casic.missiles.modular.system.model.Dept;
import com.casic.missiles.modular.system.service.IStatisticsService;
import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import cn.hutool.core.util.ObjectUtil;
import javax.annotation.Resource;
import java.text.ParseException;
@@ -18,35 +18,37 @@
@Service
public class StatisticServiceImpl implements IStatisticsService {
- @Autowired
+ @Resource
private StatisticMapper statisticMapper;
- @Autowired
+ @Resource
private AlarmNowViewMapper alarmNowViewMapper;
@Resource
private AbstractPermissionContext permissionService;
+ @Resource
+ private AbstractDictService dictService;
@Override
public List> wellStaticsByDept(DataScope dataScope) {
List> mapList = statisticMapper.wellStaticsByDept(dataScope);
for (Map map : mapList) {
- map.put("pidName",permissionService.getDeptName(Long.valueOf(map.get("pid").toString())));
+ map.put("pidName", permissionService.getDeptService().getDeptName(Long.valueOf(map.get("pid").toString())));
}
return mapList;
}
@Override
public List> wellStaticsByType(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
List> mapList = statisticMapper.wellStaticsByType(deptIds);
for (Map map : mapList) {
- map.put("wellTypeName",permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString()));
+ map.put("wellTypeName", dictService.getDictNameByCode("sluicewellType", map.get("wellType").toString()));
}
return mapList;
}
@Override
public List> deviceStaticsByType(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
List> mapList = statisticMapper.deviceStaticsByType(deptIds);
// for (Map map : mapList) {
// map.replace("deviceType",sysDictMapper.getDeviceTypeNameById(map.get("deviceType").toString()));
@@ -55,51 +57,53 @@
}
@Override
- public List> deviceStaticsByDept(DataScope dataScope,String deviceType) {
- List> mapList = statisticMapper.deviceStaticsByDept(dataScope,deviceType);
+ public List> deviceStaticsByDept(DataScope dataScope, String deviceType) {
+ List> mapList = statisticMapper.deviceStaticsByDept(dataScope, deviceType);
for (Map map : mapList) {
- map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString())));
+ map.put("deptName", permissionService.getDeptService().getDeptName(Long.valueOf(map.get("deptid").toString())));
}
return mapList;
}
@Override
public Map deviceStaticsByStatus(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
Map map = statisticMapper.deviceStaticsByStatus(deptIds);
- for(String s:map.keySet()){ //value都转为string
- map.replace(s,map.get(s).toString());
+ for (String s : map.keySet()) { //value都转为string
+ map.replace(s, map.get(s).toString());
}
return map;
}
@Override
- public List> jobsByDept(DataScope dataScope,String beginTime, String endTime, String deviceType) throws ParseException {
+ public List> jobsByDept(DataScope dataScope, String beginTime, String endTime, String deviceType) throws ParseException {
List> mapList = new ArrayList<>();
List deptIds = dataScope.getDeptIds();
for (Long deptId : deptIds) {
- if(deptId==0){ // 顶级不统计
+ // 顶级不统计
+ if (deptId == 0) {
continue;
}
- Dept dept = permissionService.getDeptById(deptId);
- if( ObjectUtil.isEmpty(dept) || "04".equals(dept.getDeptType())){ // 小组不统计
+ Dept dept = permissionService.getDeptService().getById(deptId);
+ // 小组不统计
+ if (ObjectUtil.isEmpty(dept) || "04".equals(dept.getDeptType())) {
continue;
}
Map map = new HashMap<>();
- List subDeptIds = permissionService.getSubDepts(deptId,null);
+ List subDeptIds = permissionService.getDeptService().getIdsRecursionByPid(deptId, null);
subDeptIds.add(deptId);
- String subDeptIdstr = StringUtils.strip(subDeptIds.toString(),"[]");
+ String subDeptIdstr = StringUtils.strip(subDeptIds.toString(), "[]");
map.put("deptId", deptId);
- map.put("deptName",permissionService.getDeptName(deptId));
- Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr,beginTime,endTime);
- if(ToolUtil.isNotEmpty(countMap)){
+ map.put("deptName", permissionService.getDeptService().getDeptName(deptId));
+ Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr, beginTime, endTime);
+ if (ObjectUtil.isNotEmpty(countMap)) {
map.putAll(countMap);
- }else{
- map.put("beforeGet",0);
- map.put("beforeConfirm",0);
- map.put("inHandle",0);
- map.put("over",0);
- map.put("cancel",0);
+ } else {
+ map.put("beforeGet", 0);
+ map.put("beforeConfirm", 0);
+ map.put("inHandle", 0);
+ map.put("over", 0);
+ map.put("cancel", 0);
}
mapList.add(map);
}
@@ -108,23 +112,23 @@
@Override
public List> alarmsByDay(String beginTime, String endTime, DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
List> mapList = new ArrayList<>();
- try{
+ try {
Date beginDate = sdf1.parse(beginTime);
Date endDate = sdf1.parse(endTime);
Calendar date = Calendar.getInstance();
date.setTime(beginDate);
while (date.getTime().compareTo(endDate) <= 0) {
String tmp = sdf1.format(date.getTime());
- Map map = alarmNowViewMapper.countAlarmsByDay(tmp,deptIds);
- map.put("date",sdf2.format(date.getTime()));
+ Map map = alarmNowViewMapper.countAlarmsByDay(tmp, deptIds);
+ map.put("date", sdf2.format(date.getTime()));
mapList.add(map);
- date.add(Calendar.DAY_OF_MONTH,1);
+ date.add(Calendar.DAY_OF_MONTH, 1);
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
return mapList;
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
index 0da3db8..0f499e6 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
@@ -13,38 +13,40 @@
import java.util.Map;
import java.util.concurrent.CopyOnWriteArraySet;
+/**
+ * 此注解相当于设置访问URL
+ */
@Component
@ServerEndpoint("/websocket/{userId}")
-//此注解相当于设置访问URL
public class WebSocket {
private Session session;
- private static CopyOnWriteArraySet webSockets =new CopyOnWriteArraySet<>();
- private static Map sessionPool = new HashMap();
+ private static CopyOnWriteArraySet webSockets = new CopyOnWriteArraySet<>();
+ private static Map sessionPool = new HashMap();
@OnOpen
- public void onOpen(Session session, @PathParam(value="userId")String userId) {
+ public void onOpen(Session session, @PathParam(value = "userId") String userId) {
this.session = session;
webSockets.add(this);
sessionPool.put(userId, session);
- System.out.println(userId+"【websocket消息】有新的连接,总数为:"+webSockets.size());
+ System.out.println(userId + "【websocket消息】有新的连接,总数为:" + webSockets.size());
}
@OnClose
public void onClose() {
webSockets.remove(this);
- System.out.println("【websocket消息】连接断开,总数为:"+webSockets.size());
+ System.out.println("【websocket消息】连接断开,总数为:" + webSockets.size());
}
@OnMessage
public void onMessage(String message) {
- System.out.println("【websocket消息】收到客户端消息:"+message);
+ System.out.println("【websocket消息】收到客户端消息:" + message);
}
// 此为广播消息
public void sendAllMessage(String message) {
- for(WebSocket webSocket : webSockets) {
- System.out.println("【websocket消息】广播消息:"+message);
+ for (WebSocket webSocket : webSockets) {
+ System.out.println("【websocket消息】广播消息:" + message);
try {
webSocket.session.getAsyncRemote().sendText(message);
} catch (Exception e) {
@@ -54,8 +56,8 @@
}
// 发送列表消息
- public void sendListMessage(List userIds, String message){
- System.out.println("【websocket消息】列表消息:"+message);
+ public void sendListMessage(List userIds, String message) {
+ System.out.println("【websocket消息】列表消息:" + message);
for (String userId : userIds) {
Session session = sessionPool.get(userId);
if (session != null) {
@@ -87,7 +89,7 @@
// 此为单点消息
public void sendOneMessage(String userId, String message) {
- System.out.println("【websocket消息】单点消息:"+message);
+ System.out.println("【websocket消息】单点消息:" + message);
Session session = sessionPool.get(userId);
if (session != null) {
try {
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java
deleted file mode 100644
index 431e0bd..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package com.casic.missiles.modular.system.warpper;
-
-import com.alibaba.fastjson.JSONArray;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.core.util.ObjectUtil;
-
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-//@Service
-//@Primary
-public class AlarmJobWarpper extends BaseControllerWarpper {
-// private EhcacheConstant ehcacheConstant = new EhcacheConstant();
- public AlarmJobWarpper(Object list) { super(list); }
- @Override
- public void warpTheMap(Map map) {
-
- // 设置人员姓名
- for (String key : map.keySet())
- {
- if (key.contains("JobPerson")|| key.contains("jobBelongTo"))
- {
- Object object = map.get(key);
- if (object!=null)
- {
- String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
- map.replace(key,newVal);
- }
- }
- }
-
- //设置闸井相关字段
- String wellCode = map.get("wellCode").toString();
- Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
- // 设置权属单位、负责人、联系电话
- String deptidStr = wellInfoMap.get("deptid").toString();
- long deptid = StrUtil.isEmpty(deptidStr)? -1: Long.valueOf(deptidStr);
- map.put("deptName",EhcacheConstant.retBean().getDeptNameById(deptid));
- if(deptid>0){
- Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
- if(ObjectUtil.isEmpty(staffstr)){
- wellInfoMap.replace("staff","");
- wellInfoMap.replace("tel","");
- }else {
- Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
- wellInfoMap.putAll(userInfoMap);
- }
- }
- map.putAll(wellInfoMap);
-
- // 告警类型
- String alarmTypeStr = map.get("alarmType").toString();
- map.put("alarmTypeName",EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
-
- // 告警内容
- String alarmContentNameStr = map.get("alarmContentName").toString();
- map.put("alarmContent",EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
-
- // 告警值加单位
- if(ObjectUtil.isNotEmpty(map.get("alarmValue"))){
- String alarmValue = map.get("alarmValue").toString();
- String alarmContentName = map.get("alarmContentName").toString();
- if("液位超限".equals(alarmContentName)) {
- alarmValue += "m";
- map.replace("alarmValue",alarmValue);
- }
- if("浓度超限".equals(alarmContentName)) {
- alarmValue += "%LEL";
- map.replace("alarmValue",alarmValue);
- }
- if("疑似开挖".equals(alarmContentName)) {
- alarmValue += "mg";
- map.replace("alarmValue",alarmValue);
- }
- }
-
- // 工单状态
- String jobStatusStr = map.get("jobStatus").toString();
- map.put("jobStatusName",EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
-
- // 告警值
- if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr))
- {
- map.replace("alarmValue","--");
- }
-
- // 流转记录(工单详情用)
- if (map.containsKey("flow"))
- {
- String flow = (String) map.get("flow");
- flow = "["+flow.replaceFirst(",","")+"]";
- List list = new ArrayList<>();
- JSONArray jsonArray = JSONArray.parseArray(flow);
- list = jsonArray.toJavaList(Map.class);
- map.replace("flow",list);
- }
-
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRecordWarpper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRecordWarpper.java
deleted file mode 100644
index 3c4807a..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRecordWarpper.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.casic.missiles.modular.system.warpper;
-
-import com.casic.missiles.core.util.EhcacheConstant;
-import com.casic.missiles.core.base.warpper.BaseControllerWarpper;
-import com.casic.missiles.core.util.ToolUtil;
-
-import java.util.HashMap;
-import java.util.Map;
-
-//@Service
-//@Primary
-public class AlarmRecordWarpper extends BaseControllerWarpper {
- public AlarmRecordWarpper(Object list) { super(list); }
- @Override
- public void warpTheMap(Map map) {
-
- // 设置闸井相关字段
- String wellCode = map.get("wellCode").toString();
- Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
- // 设置权属单位、负责人、联系电话
- String deptidStr = wellInfoMap.get("deptid").toString();
- long deptid = ToolUtil.isEmpty(deptidStr)? -1: Long.valueOf(deptidStr);
- map.put("deptName",EhcacheConstant.retBean().getDeptNameById(deptid));
- if(deptid>0){
- Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
- if(ToolUtil.isEmpty(staffstr)){
- wellInfoMap.replace("staff","");
- wellInfoMap.replace("tel","");
- }else {
- Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
- wellInfoMap.putAll(userInfoMap);
- }
- }
- map.putAll(wellInfoMap);
-
- // 告警类型
- String alarmTypeStr = map.get("alarmType").toString();
- map.put("alarmTypeName",EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
-
- // 告警内容
- String alarmContentNameStr = map.get("alarmContentName").toString();
- map.put("alarmContent",EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
-
- // 告警值加单位
- if(ToolUtil.isNotEmpty(map.get("alarmValue"))){
- String alarmValue = map.get("alarmValue").toString();
- String alarmContentName = map.get("alarmContentName").toString();
- if("液位超限".equals(alarmContentName)) {
- alarmValue += "m";
- map.replace("alarmValue",alarmValue);
- }
- if("浓度超限".equals(alarmContentName)) {
- alarmValue += "%LEL";
- map.replace("alarmValue",alarmValue);
- }
- if("疑似开挖".equals(alarmContentName)) {
- alarmValue += "mg";
- map.replace("alarmValue",alarmValue);
- }
- }
-
- // 告警值
- if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr))
- {
- map.replace("alarmValue","--");
- }
-
- // 告警状态
- String statusStr = map.get("status").toString();
- map.put("statusName",EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr,"alarmStatus"));
-
- // 工单状态
- if(ToolUtil.isNotEmpty(map.get("jobStatus"))){
- String jobStatusStr = map.get("jobStatus").toString();
- map.put("jobStatusName",EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
- }
-
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRuleWarpper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRuleWarpper.java
deleted file mode 100644
index 7d8cef1..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRuleWarpper.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.casic.missiles.modular.system.warpper;
-
-import com.casic.missiles.core.base.warpper.BaseControllerWarpper;
-import com.casic.missiles.core.util.EhcacheConstant;
-
-import java.util.Map;
-
-//@Service
-//@Primary
-public class AlarmRuleWarpper extends BaseControllerWarpper {
-// private EhcacheConstant ehcacheConstant = new EhcacheConstant();
- public AlarmRuleWarpper(Object list) { super(list); }
- @Override
- public void warpTheMap(Map map) {
-
- String deviceType = map.get("deviceType").toString();
- long deptid = Long.parseLong(map.get("deptid").toString());
- map.put("deviceTypeName",EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
- map.put("deptName",EhcacheConstant.retBean().getDeptNameById(deptid));
- }
-}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/TemplateController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/TemplateController.java
index b7e13ca..d9b07c3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/TemplateController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/TemplateController.java
@@ -1,12 +1,11 @@
package com.casic.missiles.modular.system.controller;
-import cn.hutool.core.collection.CollectionUtil;
+import com.casic.missiles.config.DeviceServerProperties;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.modular.system.dto.VersionDto;
import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.config.DeviceServerProperties;
import com.casic.missiles.modular.system.constant.DeviceConst;
+import com.casic.missiles.modular.system.dto.VersionDto;
import com.casic.missiles.modular.system.service.IDeviceService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -63,7 +62,6 @@
response.setContentType("application/octet-stream");
response.addHeader("Content-Disposition", " attachment;filename=" + fileName);
response.setContentLength((int) file.length());
-
FileInputStream fis = null;
try {
fis = new FileInputStream(file);
@@ -103,7 +101,6 @@
@PostMapping("/app/registerGeTui")
public ResponseData geTuiRegister(@RequestParam String clientid) {
-
service.registerGeTui(permissionService.getAuthService().getLoginUser().getId(), clientid);
return ResponseData.success();
}
diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoSupportService.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoSupportService.java
index e34c98e..ee3443d 100644
--- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoSupportService.java
+++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoSupportService.java
@@ -1,7 +1,7 @@
package com.casic.missiles.modular.system.service;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.model.application.service.IRepositorySupportService;
import com.casic.missiles.modular.system.dto.BusWellInfoDto;
import com.casic.missiles.modular.system.model.BusWellInfo;
@@ -24,5 +24,13 @@
*/
List getWellList(DataScope dataScope, String keywords, String wellType, String deptid);
+ /**
+ * 根据井主键查询井信息
+ *
+ * @param id 井主键
+ * @return 井信息
+ */
BusWellInfo getById(Long id);
+
+ BusWellInfo selectOne(QueryWrapper busWellInfoEntityWrapper);
}
diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java
index d241d8c..3d37ce7 100644
--- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java
+++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java
@@ -2,6 +2,7 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
@@ -82,10 +83,6 @@
}
-
-
-
-
@Override
public List selectDataScope(DataScope dataScope, Page page, String deviceType, String deptid, String keywords) {
return this.baseMapper.selectDataScope(dataScope, page, deviceType, deptid, keywords);
@@ -235,6 +232,11 @@
return this.baseMapper.selectById(id);
}
+ @Override
+ public BusWellInfo selectOne(QueryWrapper busWellInfoEntityWrapper) {
+ return this.getOne(busWellInfoEntityWrapper);
+ }
+
@Override
public String getAreaPid(String id) {
diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml
index 95d7f58..88f7dc3 100644
--- a/casic-alarm/pom.xml
+++ b/casic-alarm/pom.xml
@@ -28,21 +28,36 @@
${admin.version}
+ com.casic
+ casic-device
+ ${pro.version}
+
+
+ com.casic
+ casic-quartz
+ ${pro.version}
+
+
+ com.casic
+ casic-server-support
+ ${pro.version}
+
+
org.springframework.boot
spring-boot-starter-websocket
2.4.5
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
com.gexin.platform
diff --git a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java b/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
deleted file mode 100644
index 460d4db..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/CasicApplication.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * SpringBoot方式启动类
- *
- * @author lwh
- * @Date 2021/06/06 12:06
- */
-@SpringBootApplication
-@EnableCaching
-@EnableScheduling
-@EnableTransactionManagement(proxyTargetClass = true)
-@EnableAsync
-@ServletComponentScan
-@Slf4j
-public class CasicApplication {
- public static void main(String[] args) {
- SpringApplication.run(CasicApplication.class, args);
- log.info("CasicApplication is success!");
- }
-
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
index ef473af..6a426fa 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmJobController.java
@@ -1,19 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
+import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.util.StrUtil;
import com.casic.missiles.modular.alarm.service.ISysDictService;
-import com.casic.missiles.modular.system.warpper.AlarmJobWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -29,7 +31,10 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
@@ -40,7 +45,7 @@
*/
@Controller
@RequestMapping("/job")
-public class AlarmJobController extends BaseController {
+public class AlarmJobController extends ExportController {
@Autowired
@@ -146,16 +151,93 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatusStr)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatusStr));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatusStr));
}
}
retList = alarmJobService.jobListApp(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmJobWrapper(Map map) {
+ // 设置人员姓名
+ for (String key : map.keySet()) {
+ if (key.contains("JobPerson") || key.contains("jobBelongTo")) {
+ Object object = map.get(key);
+ if (object != null) {
+ String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
+ map.replace(key, newVal);
+ }
+ }
+ }
+
+ //设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (ObjectUtil.isEmpty(staffstr)) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 工单状态
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 流转记录(工单详情用)
+ if (map.containsKey("flow")) {
+ String flow = (String) map.get("flow");
+ flow = "[" + flow.replaceFirst(",", "") + "]";
+ List list = new ArrayList<>();
+ JSONArray jsonArray = JSONArray.parseArray(flow);
+ list = jsonArray.toJavaList(Map.class);
+ map.replace("flow", list);
+ }
+ }
+
/**
* 工单查询接口 APP用
*/
@@ -181,14 +263,13 @@
leaderId = currentUser.getId();
if (StrUtil.isNotEmpty(jobStatus)) {
//learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前)
- page.setOpenSort(!alarmJobService.checkJobStatus(jobStatus));
+ page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus));
}
}
retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime,
handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
Map retMap = new HashMap<>();
@@ -227,7 +308,7 @@
}
retList = alarmJobService.jobListDelayReApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -265,7 +346,7 @@
}
retList = alarmJobService.jobListDelayProApp(page, keywords, beginTime, endTime, alarmTypeStr, alarmContentStr, currentUser.getDeptId(), currentUser.getId(), leaderId);
}
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
@@ -294,22 +375,35 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId());
- new AlarmJobWarpper(jobExpList).warp();
+ jobExpList.forEach(this::alarmJobWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(jobExpList)) {
fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx");
} else {
fileInputStream = new FileInputStream(templatePath + "/jobRecTemplate.xlsx");
}
+
try {
+
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "jobOverview.xlsx");
-
Map var = new HashMap<>();
var.put("标题", "工单一览表");
var.put("list", jobExpList);
- ExcelIO.writeTemplate(fileInputStream, httpServletResponse.getOutputStream(), var);
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("工单编号", "jobCode"));
+ dataFieldDefines.add(new DataFieldDefine("工单创建时间", "createTime"));
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("告警时间", "alarmTime"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+ dataFieldDefines.add(new DataFieldDefine("处理人", "handleJobPerson"));
+ dataFieldDefines.add(new DataFieldDefine("处理时间", "handleJobTime"));
+ this.exportExcelMaps(dataFieldDefines, jobExpList, "工单一览表");
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
@@ -361,7 +455,7 @@
@RequestMapping(value = "/transferJob")
@ResponseBody
public Object transferJob(@RequestParam(value = "id", required = true) int id,
- @RequestParam(value = "transferPerson", required = true) String transferPerson) throws JSONException {
+ @RequestParam(value = "transferPerson", required = true) String transferPerson) {
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
@@ -437,8 +531,7 @@
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
List> retList = alarmJobService.jobInfo(id, dataScope, currentUser.getId());
-
- new AlarmJobWarpper(retList).warp();
+ retList.forEach(this::alarmJobWrapper);
return ResponseData.success(retList);
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
index 5ec9ed1..a1432fd 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmLevelController.java
@@ -1,22 +1,23 @@
package com.casic.missiles.modular.alarm.controller;
-import com.alibaba.fastjson.JSON;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.util.EhcacheConstant;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmLevelService;
import com.casic.missiles.modular.system.model.AlarmLevel;
import com.casic.missiles.modular.system.model.DeptPermission;
+import com.casic.missiles.modular.system.service.IDeptPermissionService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.util.*;
@@ -36,73 +37,74 @@
private IAlarmLevelService alarmLevelService;
@Resource
private AbstractPermissionContext permissionService;
- @Autowired
- private AbstractDeptService deptPermissionService;
+ @Resource
+ private IDeptPermissionService deptPermissionService;
/**
* 获取告警等级列表
*/
@RequestMapping("/levelList")
@ResponseBody
- public Object levelList(Long tenantId){
- List> levelList = new ArrayList<>();
+ public Object levelList(Long tenantId) {
+ List> levelList = new ArrayList<>();
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
DeptPermission deptPermission = deptPermissionService.selectDeptPermission(currUser.getDeptId());
- if(ObjectUtil.isEmpty(deptPermission)){
+ if (ObjectUtil.isEmpty(deptPermission)) {
return levelList;
}
- for(Object deviceType: JSON.parseObject(deptPermission.getDeviceType(), List.class)){
+ for (Object deviceType : JSON.parseObject(deptPermission.getDeviceType(), List.class)) {
String deviceTypeName = EhcacheConstant.retBean().getDeviceTypeNameById(deviceType.toString());
List names = new ArrayList<>();
- if(deviceTypeName.contains("液位")){
+ if (deviceTypeName.contains("液位")) {
names.add("液位");
}
- if(deviceTypeName.contains("有害气体")){
+ if (deviceTypeName.contains("有害气体")) {
names.add("一氧化碳");
names.add("硫化氢");
names.add("甲烷");
names.add("氧气");
}
- if(deviceTypeName.contains("燃气")){
+ if (deviceTypeName.contains("燃气")) {
names.add("燃气");
}
- if(deviceTypeName.contains("温湿度")){
+ if (deviceTypeName.contains("温湿度")) {
names.add("温度");
names.add("湿度");
}
- if(deviceTypeName.contains("开挖")){
+ if (deviceTypeName.contains("开挖")) {
names.add("开挖");
}
- for(String name: names){
+ for (String name : names) {
Map levelMap = new HashMap<>();
- Map level = alarmLevelService.selectByNameAndTenGroup(tenantId,name);
- levelMap.put("name",name);
- levelMap.put("deviceType",deviceType);
- levelMap.put("deviceTypeName",deviceTypeName);
+ Map level = alarmLevelService.selectByNameAndTenGroup(tenantId, name);
+ levelMap.put("name", name);
+ levelMap.put("deviceType", deviceType);
+ levelMap.put("deviceTypeName", deviceTypeName);
- if(ObjectUtil.isEmpty(level.get("openAlarm"))){
- levelMap.put("openAlarm","");
- }else{
- levelMap.put("openAlarm",level.get("openAlarm").toString());
+ if (ObjectUtil.isEmpty(level.get("openAlarm"))) {
+ levelMap.put("openAlarm", "");
+ } else {
+ levelMap.put("openAlarm", level.get("openAlarm").toString());
}
- if(ObjectUtil.isEmpty(level.get("openJob"))){
- levelMap.put("openJob","");
- }else{
- levelMap.put("openJob",level.get("openJob").toString());
+ if (ObjectUtil.isEmpty(level.get("openJob"))) {
+ levelMap.put("openJob", "");
+ } else {
+ levelMap.put("openJob", level.get("openJob").toString());
}
- if(ObjectUtil.isEmpty(level.get("ts"))){
- levelMap.put("ts","");
- }else{
- levelMap.put("ts",level.get("ts").toString());
+ if (ObjectUtil.isEmpty(level.get("ts"))) {
+ levelMap.put("ts", "");
+ } else {
+ levelMap.put("ts", level.get("ts").toString());
}
levelList.add(levelMap);
@@ -116,13 +118,14 @@
*/
@RequestMapping("/levelByType")
@ResponseBody
- public Object levelByType(Long tenantId, String name){
+ public Object levelByType(Long tenantId, String name) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- if(ObjectUtil.isEmpty(tenantId)){
- if(StrUtil.isEmpty(currUser.getTenantId())){
+ if (ObjectUtil.isEmpty(tenantId)) {
+ if (StrUtil.isEmpty(currUser.getTenantId())) {
return ResponseData.error("无关联的项目id");
}
- tenantId = Long.valueOf(currUser.getTenantId()); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ tenantId = Long.valueOf(currUser.getTenantId());
}
List levelList = alarmLevelService.selectByNameAndTenList(tenantId, name);
return ResponseData.success(levelList);
@@ -131,22 +134,23 @@
@RequestMapping("/configLevel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object configLevel(@RequestBody List levelList){
+ public Object configLevel(@RequestBody List levelList) {
AuthUser currUser = permissionService.getAuthService().getLoginUser();
- String userTenantId = currUser.getTenantId(); //当前用户所属组织机构关联的项目id
+ //当前用户所属组织机构关联的项目id
+ String userTenantId = currUser.getTenantId();
Date currDate = new Date();
- for(AlarmLevel alarmLevel:levelList){
- if(ObjectUtil.isAllEmpty(alarmLevel.getTenantId(),userTenantId)){
+ for (AlarmLevel alarmLevel : levelList) {
+ if (ObjectUtil.isAllEmpty(alarmLevel.getTenantId(), userTenantId)) {
return ResponseData.error("无关联的项目id");
}
Long tenantId = ObjectUtil.isEmpty(alarmLevel.getTenantId()) ? Long.valueOf(userTenantId) : alarmLevel.getTenantId();
- AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId,alarmLevel.getName(),alarmLevel.getLevel());
- if(ObjectUtil.isEmpty(oldAlarmLevel)){
+ AlarmLevel oldAlarmLevel = alarmLevelService.selectByNameAndTenAndLevel(tenantId, alarmLevel.getName(), alarmLevel.getLevel());
+ if (ObjectUtil.isEmpty(oldAlarmLevel)) {
//insert
alarmLevel.setTenantId(tenantId);
alarmLevel.setTs(currDate);
- alarmLevelService.insert(alarmLevel);
- }else{
+ alarmLevelService.save(alarmLevel);
+ } else {
//update
alarmLevel.setId(oldAlarmLevel.getId());
alarmLevel.setTenantId(tenantId);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
index 67e4b49..51e0d50 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java
@@ -1,15 +1,19 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.core.model.auth.AuthUser;
-import com.casic.missiles.model.response.ResponseData;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.base.model.DataFieldDefine;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRecordsService;
import com.casic.missiles.modular.system.model.AlarmRecords;
-import com.casic.missiles.modular.system.warpper.AlarmRecordWarpper;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.core.page.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -17,13 +21,13 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.collection.CollectionUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -36,7 +40,7 @@
*/
@Controller
@RequestMapping("/alarm")
-public class AlarmRecordsController extends BaseController {
+public class AlarmRecordsController extends ExportController {
@Autowired
@@ -44,13 +48,13 @@
@Resource
private AbstractPermissionContext iCommonPermissionService;
@Value("${smartcity.office.maxRowsExcel}")
- private int maxRowsExcel;
+ private int maxRowsExcel;
@Value("${smartcity.config.config-path}")
private String templatePath;
@Value("${smartcity.adminRoleName}")
- private String sAdmin;
+ private String sAdmin;
@Value("${smartcity.opRoleName}")
- private String sOperator;
+ private String sOperator;
/**
* 获取分页列表
@@ -62,7 +66,7 @@
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
@@ -73,28 +77,87 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> retList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
-
-
- new AlarmRecordWarpper(retList).warp();
+ List> retList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ retList.forEach(this::alarmRecordWrapper);
page.setRecords(retList);
return ResponseData.success(super.packForBT(page));
}
+ private void alarmRecordWrapper(Map map) {
+ // 设置闸井相关字段
+ String wellCode = map.get("wellCode").toString();
+ Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
+ // 设置权属单位、负责人、联系电话
+ String deptidStr = wellInfoMap.get("deptid").toString();
+ long deptid = StrUtil.isEmpty(deptidStr) ? -1 : Long.valueOf(deptidStr);
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ if (deptid > 0) {
+ Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
+ if (null == staffstr) {
+ wellInfoMap.replace("staff", "");
+ wellInfoMap.replace("tel", "");
+ } else {
+ Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
+ wellInfoMap.putAll(userInfoMap);
+ }
+ }
+ map.putAll(wellInfoMap);
+
+ // 告警类型
+ String alarmTypeStr = map.get("alarmType").toString();
+ map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
+
+ // 告警内容
+ String alarmContentNameStr = map.get("alarmContentName").toString();
+ map.put("alarmContent", EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
+
+ // 告警值加单位
+ if (ObjectUtil.isNotEmpty(map.get("alarmValue"))) {
+ String alarmValue = map.get("alarmValue").toString();
+ String alarmContentName = map.get("alarmContentName").toString();
+ if ("液位超限".equals(alarmContentName)) {
+ alarmValue += "m";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("浓度超限".equals(alarmContentName)) {
+ alarmValue += "%LEL";
+ map.replace("alarmValue", alarmValue);
+ }
+ if ("疑似开挖".equals(alarmContentName)) {
+ alarmValue += "mg";
+ map.replace("alarmValue", alarmValue);
+ }
+ }
+
+ // 告警值
+ if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) {
+ map.replace("alarmValue", "--");
+ }
+
+ // 告警状态
+ String statusStr = map.get("status").toString();
+ map.put("statusName", EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr, "alarmStatus"));
+
+ // 工单状态
+ if (ObjectUtil.isNotEmpty(map.get("jobStatus"))) {
+ String jobStatusStr = map.get("jobStatus").toString();
+ map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
+ }
+ }
@RequestMapping(value = "/export")
- public void exportAlarm(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) throws IOException {
+ public void exportAlarm(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException {
String keywords = httpServletRequest.getParameter("keywords");
String beginTime = httpServletRequest.getParameter("beginTime");
String endTime = httpServletRequest.getParameter("endTime");
- String statusStr = httpServletRequest.getParameter("status");
+ String statusStr = httpServletRequest.getParameter("status");
String alarmTypeStr = httpServletRequest.getParameter("alarmType");
String alarmContentStr = httpServletRequest.getParameter("alarmContentType");
Page> page = PageFactory.defaultPage();
- page.setMaxLimit((long)maxRowsExcel);
+ page.setMaxLimit((long) maxRowsExcel);
page.setSize(maxRowsExcel);
page.offset();
page.setSearchCount(false);
@@ -104,25 +167,36 @@
if (!currentUser.getRoleTips().contains(sAdmin) && !currentUser.getRoleTips().contains(sOperator)) {
alarmTypeStr = "1";
}
- List> alarmExpList = alarmRecordsService.alarmList(page,keywords,beginTime,endTime,statusStr,alarmTypeStr,alarmContentStr,dataScope);
- new AlarmRecordWarpper(alarmExpList).warp();
-
+ List> alarmExpList = alarmRecordsService.alarmList(page, keywords, beginTime, endTime, statusStr, alarmTypeStr, alarmContentStr, dataScope);
+ alarmExpList.forEach(this::alarmRecordWrapper);
FileInputStream fileInputStream = null;
if (CollectionUtil.isEmpty(alarmExpList)) {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecEmpty.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecEmpty.xlsx");
} else {
- fileInputStream = new FileInputStream(templatePath+"/alarmRecTemplate.xlsx");
+ fileInputStream = new FileInputStream(templatePath + "/alarmRecTemplate.xlsx");
}
try {
httpServletResponse.setContentType("application/octet-stream");
- httpServletResponse.addHeader("Content-Disposition", " attachment;filename="+"alarmOverview.xlsx" );
+ httpServletResponse.addHeader("Content-Disposition", " attachment;filename=" + "alarmOverview.xlsx");
- Map var = new HashMap<>();
- var.put("标题","报警一览表");
- var.put("list",alarmExpList);
- ExcelIO.writeTemplate(fileInputStream,httpServletResponse.getOutputStream(),var);
+ Map var = new HashMap<>();
+ var.put("标题", "报警一览表");
+ var.put("list", alarmExpList);
+
+ List dataFieldDefines = new ArrayList<>();
+ //
+ dataFieldDefines.add(new DataFieldDefine("井编号", "wellCode"));
+ dataFieldDefines.add(new DataFieldDefine("设备编号", "devcode"));
+ dataFieldDefines.add(new DataFieldDefine("详细地址", "position"));
+ dataFieldDefines.add(new DataFieldDefine("告警类型", "alarmTypeName"));
+ dataFieldDefines.add(new DataFieldDefine("告警原因", "alarmContentName"));
+ dataFieldDefines.add(new DataFieldDefine("告警数值", "alarmValue"));
+ dataFieldDefines.add(new DataFieldDefine("权属单位", "deptName"));
+ dataFieldDefines.add(new DataFieldDefine("处理状态", "jobStatusName"));
+
+ this.exportExcelMaps(dataFieldDefines, alarmExpList, "报警一览表");
} catch (IOException e) {
e.printStackTrace();
@@ -132,7 +206,8 @@
httpServletResponse.getOutputStream().flush();
httpServletResponse.getOutputStream().close();
fileInputStream.close();
- };
+ }
+ ;
}
@@ -141,15 +216,15 @@
*/
@RequestMapping(value = "/cancelAlarm")
@ResponseBody
- public Object cancelAlarm(@RequestParam(value = "id",required = true) int id, //jobId
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object cancelAlarm(@RequestParam(value = "id", required = true) int id, //jobId
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- boolean isCancel = alarmRecordsService.cancelAlarm(id,jobStatus,handleMessage,currentUser.getId());
- if(isCancel){
+ boolean isCancel = alarmRecordsService.cancelAlarm(id, jobStatus, handleMessage, currentUser.getId());
+ if (isCancel) {
return ResponseData.success();
- }else {
+ } else {
return ResponseData.error("failure");
}
}
@@ -160,22 +235,22 @@
@RequestMapping(value = "/batchCancel")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
- public Object batchCancel(@RequestParam(value = "keywords",required = false) String keywords,
- @RequestParam(value = "alarmType",required = false) String alarmType,
- @RequestParam(value = "alarmContent",required = false) String alarmContent,
- @RequestParam(value = "beginTime",required = false) String beginTime,
- @RequestParam(value = "endTime",required = false) String endTime,
- @RequestParam(value = "jobStatus",required = true) String jobStatus,
- @RequestParam(value = "handleMessage",required = true)String handleMessage){
- Map retMap = new HashMap<>();
+ public Object batchCancel(@RequestParam(value = "keywords", required = false) String keywords,
+ @RequestParam(value = "alarmType", required = false) String alarmType,
+ @RequestParam(value = "alarmContent", required = false) String alarmContent,
+ @RequestParam(value = "beginTime", required = false) String beginTime,
+ @RequestParam(value = "endTime", required = false) String endTime,
+ @RequestParam(value = "jobStatus", required = true) String jobStatus,
+ @RequestParam(value = "handleMessage", required = true) String handleMessage) {
+ Map retMap = new HashMap<>();
//根据查询条件查询alarm_record记录
DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser();
- List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope,keywords,alarmType,alarmContent,beginTime,endTime);
+ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime);
//根据jobId调用closeJob
for (AlarmRecords alarmRecord : alarmRecords) {
- alarmRecordsService.cancelAlarm(alarmRecord.getJobId(),jobStatus,handleMessage,currentUser.getId());
+ alarmRecordsService.cancelAlarm(alarmRecord.getJobId(), jobStatus, handleMessage, currentUser.getId());
}
return ResponseData.success();
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
index 7a645dd..3b39aeb 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRuleController.java
@@ -1,21 +1,21 @@
package com.casic.missiles.modular.alarm.controller;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.core.base.controller.BaseController;
-import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.util.EhcacheConstant;
+import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.modular.alarm.service.IAlarmRuleService;
import com.casic.missiles.modular.system.dto.AlarmRuleDTO;
-import com.casic.missiles.modular.system.warpper.AlarmRuleWarpper;
+import com.casic.missiles.modular.system.service.IDeviceRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
-import cn.hutool.core.util.StrUtil;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -54,8 +54,9 @@
public Map list(String keywords, HttpServletRequest httpServletRequest) {
String deviceType = httpServletRequest.getParameter("deviceType");
- if (StrUtil.isEmpty(deviceType))
+ if (StrUtil.isEmpty(deviceType)) {
deviceType = "";
+ }
Page> page = PageFactory.defaultPage();
Map retMap = new HashMap<>();
boolean bSessionValid = false;
@@ -66,9 +67,10 @@
return retMap;
}
List> retList = new ArrayList<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
retList = alarmRuleService.ruleListViaParam(page, keywords, deviceType, dataScope);
- new AlarmRuleWarpper(retList).warp();
+ retList.stream().forEach(this::alarmRuleWrapper);
page.setRecords(retList);
retMap.put("code", 200);
retMap.put("message", "success");
@@ -76,11 +78,19 @@
return retMap;
}
+ private void alarmRuleWrapper(Map map) {
+ String deviceType = map.get("deviceType").toString();
+ long deptid = Long.parseLong(map.get("deptid").toString());
+ map.put("deviceTypeName", EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
+ map.put("deptName", EhcacheConstant.retBean().getDeptNameById(deptid));
+ }
+
@RequestMapping(value = "/update")
@ResponseBody
public Map updateRule(@RequestParam(value = "id", required = true) int id, HttpServletRequest httpServletRequest) {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
if (super.getSession().getAttribute("sessionFlag") == null) {
retMap.put("code", 505);
retMap.put("message", "sessionExpired");
@@ -90,10 +100,12 @@
String sLow = httpServletRequest.getParameter("lowValue");
float highValue = 99999;
float lowValue = -99999;
- if (StrUtil.isNotEmpty(sHigh))
+ if (StrUtil.isNotEmpty(sHigh)) {
highValue = Float.parseFloat(sHigh);
- if (StrUtil.isNotEmpty(sLow))
+ }
+ if (StrUtil.isNotEmpty(sLow)) {
lowValue = Float.parseFloat(sLow);
+ }
if (alarmRuleService.updateRule(id, highValue, lowValue)) {
retMap.put("code", 200);
@@ -138,7 +150,7 @@
@RequestMapping(value = "/delete")
@ResponseBody
public Object delete(@RequestParam Integer id) {
- alarmRuleService.deleteById(id);
+ alarmRuleService.removeById(id);
return ResponseData.success();
}
@@ -151,8 +163,9 @@
public Map getNoAlarmDevice() {
Map retMap = new HashMap<>();
- DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();//datascope
- List alarmRuleList= alarmRuleService.getNoAlarmDevice(dataScope);
+ //datascope
+ DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope();
+ List alarmRuleList = alarmRuleService.getNoAlarmDevice(dataScope);
retMap.put("code", 200);
retMap.put("message", "success");
retMap.put("data", alarmRuleList);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
new file mode 100644
index 0000000..a749516
--- /dev/null
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java
@@ -0,0 +1,109 @@
+package com.casic.missiles.modular.alarm.job;
+
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.modular.alarm.service.IAlarmJobService;
+import com.casic.missiles.modular.system.model.AlarmJob;
+import com.casic.missiles.modular.system.util.PushList;
+import com.casic.missiles.modular.system.util.WebSocket;
+import com.casic.missiles.quartz.service.IQuartzManager;
+import com.gexin.rp.sdk.base.IPushResult;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.support.AbstractApplicationContext;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class DelayJob implements Job {
+
+ private static final Logger logger = LoggerFactory.getLogger(DelayJob.class);
+
+ private Integer jobId;
+ private IAlarmJobService iAlarmJobService;
+ private AbstractApplicationContext iCommonUserService;
+ private IQuartzManager iQuartzManager;
+ private WebSocket webSocket;
+
+ public void setJobId(Integer jobId) {
+ this.jobId = jobId;
+ }
+
+ public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
+ this.iAlarmJobService = iAlarmJobService;
+ }
+
+ public void setICommonUserService(AbstractApplicationContext iCommonUserService) {
+ this.iCommonUserService = iCommonUserService;
+ }
+
+ public void setIQuartzManager(IQuartzManager iQuartzManager) {
+ this.iQuartzManager = iQuartzManager;
+ }
+
+ public void setWebSocket(WebSocket webSocket) {
+ this.webSocket = webSocket;
+ }
+
+ @Override
+ public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+
+ //业务逻辑
+ SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
+ System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
+ getJobDelay(jobId);
+ }
+
+ private void getJobDelay(Integer id) {
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if (!"3".equals(alarmJob.getJobStatus()) && !"4".equals(alarmJob.getJobStatus())) {
+ // 超时未处理 // 延时标签
+ alarmJob.setJobFlagDelay("2");
+ // 延时记录
+ String jobFlag = alarmJob.getJobFlag1();
+ if (StrUtil.isNotEmpty(jobFlag)) {
+ jobFlag += ",2";
+ } else {
+ jobFlag = "2";
+ }
+ alarmJob.setJobFlag1(jobFlag);
+ iAlarmJobService.updateById(alarmJob); // 更新记录
+ // APP推送
+ Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
+ String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
+ List clientIds = new ArrayList<>();
+ if (StrUtil.isNotEmpty(clientId)) {
+ clientIds.add(clientId);
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未处理");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未处理工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
+ }
+ } else {
+ logger.info("超时未处理工单找不到责任人,未推送:" + id.toString());
+ }
+ // PC推送,推给信息办
+ //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+// EntityWrapper wrapper = new EntityWrapper();
+// wrapper.eq("DEPTID","1178242562491285506");
+// List userList = iCommonUserService.selectUsersList(wrapper,null);
+// List userIds = new ArrayList<>();
+// for (User user : userList) {
+// userIds.add(user.getId().toString());
+// }
+// Map map = new HashMap();
+// map.put("message","有新的超时未处理工单");
+// map.put("type","overtimeHandle");
+// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
+ }
+ String jobName = "getJobDelay" + id;
+ iQuartzManager.removeJob(jobName);
+ }
+}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
index ba9f439..9d72902 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java
@@ -1,10 +1,10 @@
package com.casic.missiles.modular.alarm.job;
-import com.casic.missiles.core.common.service.ICommonUserService;
+import cn.hutool.core.util.StrUtil;
+import com.casic.missiles.core.application.context.AbstractPermissionContext;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.modular.system.dto.UserClientView;
import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -15,19 +15,20 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
@Component
-public class HandleAlarmJob implements Job{
+public class HandleAlarmJob implements Job {
private static final Logger logger = LoggerFactory.getLogger(HandleAlarmJob.class);
private Integer jobId;
private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
+ private AbstractPermissionContext iCommonUserService;
private IQuartzManager iQuartzManager;
private WebSocket webSocket;
private List userClientViewList;
@@ -40,7 +41,7 @@
this.iAlarmJobService = iAlarmJobService;
}
- public void setICommonUserService(ICommonUserService iCommonUserService) {
+ public void setICommonUserService(AbstractPermissionContext iCommonUserService) {
this.iCommonUserService = iCommonUserService;
}
@@ -62,29 +63,29 @@
}
private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if("0".equals(alarmJob.getJobStatus())){
+ AlarmJob alarmJob = iAlarmJobService.getById(id);
+ if ("0".equals(alarmJob.getJobStatus())) {
// 超时未接收
alarmJob.setJobFlagDelay("1"); // 延时标签
alarmJob.setJobFlag1("1");
iAlarmJobService.updateById(alarmJob); // 更新记录
// APP推送 推给井盖所属权属单位
List clientIds = new ArrayList<>();
- for(UserClientView userClientView:userClientViewList){
- if(StrUtil.isNotEmpty(userClientView.getClientid())){
+ for (UserClientView userClientView : userClientViewList) {
+ if (StrUtil.isNotEmpty(userClientView.getClientid())) {
clientIds.add(userClientView.getClientid());
}
}
- if(clientIds.size()>0){
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未接收");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未接收工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
+ if (clientIds.size() > 0) {
+ IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", "您有一条工单超时未接收");
+ if ("ok".equals(pushResult.getResponse().get("result").toString())) {
+ logger.info("超时未接收工单推送成功:" + id.toString());
+ } else {
+ logger.info("超时未处理工单推送失败:" + id.toString());
}
- }else{
- logger.info("超时未接收工单找不到责任人,未推送:"+id.toString());
+ } else {
+ logger.info("超时未接收工单找不到责任人,未推送:" + id.toString());
}
// PC推送,推给信息办
// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
deleted file mode 100644
index 46eeda9..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/getDelayJob.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package com.casic.missiles.modular.alarm.job;
-
-import com.casic.missiles.modular.alarm.service.IAlarmJobService;
-import com.casic.missiles.modular.system.model.AlarmJob;
-import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.util.PushList;
-import com.casic.missiles.modular.system.util.WebSocket;
-import com.casic.missiles.quartz.service.IQuartzManager;
-import com.gexin.rp.sdk.base.IPushResult;
-import com.google.gson.GsonBuilder;
-import org.quartz.Job;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-import cn.hutool.core.util.StrUtil;
-
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-@Component
-public class getDelayJob implements Job {
-
- private static final Logger logger = LoggerFactory.getLogger(getDelayJob.class);
-
- private Integer jobId;
- private IAlarmJobService iAlarmJobService;
- private ICommonUserService iCommonUserService;
- private IQuartzManager iQuartzManager;
- private WebSocket webSocket;
-
- public void setJobId(Integer jobId) {
- this.jobId = jobId;
- }
-
- public void setIAlarmJobService(IAlarmJobService iAlarmJobService) {
- this.iAlarmJobService = iAlarmJobService;
- }
-
- public void setICommonUserService(ICommonUserService iCommonUserService) {
- this.iCommonUserService = iCommonUserService;
- }
-
- public void setIQuartzManager(IQuartzManager iQuartzManager) {
- this.iQuartzManager = iQuartzManager;
- }
-
- public void setWebSocket(WebSocket webSocket) {
- this.webSocket = webSocket;
- }
-
- @Override
- public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-
- //业务逻辑
- SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
- System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date()));
- getJobDelay(jobId);
- }
-
- private void getJobDelay(Integer id) {
- AlarmJob alarmJob = iAlarmJobService.selectById(id);
- if(!"3".equals(alarmJob.getJobStatus()) &&!"4".equals(alarmJob.getJobStatus())){
- // 超时未处理
- alarmJob.setJobFlagDelay("2"); // 延时标签
- String jobFlag = alarmJob.getJobFlag1(); // 延时记录
- if(StrUtil.isNotEmpty(jobFlag)){
- jobFlag += ",2";
- }else{
- jobFlag = "2";
- }
- alarmJob.setJobFlag1(jobFlag);
- iAlarmJobService.updateById(alarmJob); // 更新记录
- // APP推送
- Long jobBelongTo = alarmJob.getJobBelongTo(); // 只给责任人推送
- String clientId = iAlarmJobService.selectClientIdByUser(jobBelongTo);
- List clientIds = new ArrayList<>();
- if(StrUtil.isNotEmpty(clientId)){
- clientIds.add(clientId);
- IPushResult pushResult = PushList.pushToUser(clientIds,"工单提醒","您有一条工单超时未处理");
- if("ok".equals(pushResult.getResponse().get("result").toString())){
- logger.info("超时未处理工单推送成功:"+id.toString());
- }else{
- logger.info("超时未处理工单推送失败:"+id.toString());
- }
- }else{
- logger.info("超时未处理工单找不到责任人,未推送:"+id.toString());
- }
- // PC推送,推给信息办
- //List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
-// EntityWrapper wrapper = new EntityWrapper();
-// wrapper.eq("DEPTID","1178242562491285506");
-// List userList = iCommonUserService.selectUsersList(wrapper,null);
-// List userIds = new ArrayList<>();
-// for (User user : userList) {
-// userIds.add(user.getId().toString());
-// }
-// Map map = new HashMap();
-// map.put("message","有新的超时未处理工单");
-// map.put("type","overtimeHandle");
-// webSocket.sendListMessage(userIds,new GsonBuilder().create().toJson(map));
- }
- String jobName = "getJobDelay" + id;
- iQuartzManager.removeJob(jobName);
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
index d9ca2a1..450b861 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java
@@ -1,11 +1,13 @@
package com.casic.missiles.modular.alarm.service.impl;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.enums.UserQueryEnum;
import com.casic.missiles.modular.alarm.job.HandleAlarmJob;
-import com.casic.missiles.modular.alarm.job.getDelayJob;
+import com.casic.missiles.modular.alarm.job.DelayJob;
import com.casic.missiles.modular.alarm.service.IAlarmJobService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.util.EhcacheConstant;
@@ -16,7 +18,7 @@
import com.casic.missiles.modular.system.model.AlarmJob;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.model.User;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import com.casic.missiles.modular.system.util.PushList;
import com.casic.missiles.modular.system.util.WebSocket;
import com.casic.missiles.quartz.service.IQuartzManager;
@@ -31,7 +33,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
-import cn.hutool.core.util.ObjectUtil;
+
import cn.hutool.core.util.StrUtil;
/**
@@ -68,7 +70,8 @@
@Resource
private IQuartzManager quartzManager;
- @Autowired IBusWellInfoService busWellInfoService;
+ @Resource
+ private IBusWellInfoSupportService busWellInfoService;
@Override
public List> jobList(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, DataScope dataScope,Long userId) {
@@ -177,7 +180,7 @@
map.put("iCommonUserService",iCommonUserService);
map.put("iQuartzManager",quartzManager);
map.put("webSocket",webSocket);
- quartzManager.addJob(jobName,getDelayJob.class,shouldHandleTime,map);
+ quartzManager.addJob(jobName, DelayJob.class,shouldHandleTime,map);
}
return this.baseMapper.getJob(id,personId,getTime,shouldHandleTime);
@@ -228,7 +231,7 @@
@Override
public boolean checkJobStatus(String jobStatus) {
- if(ToolUtil.isEmpty(jobStatus)){
+ if(StrUtil.isEmpty(jobStatus)){
return false;
}else{
return "1".equals(jobStatus) || "2".equals(jobStatus) || "3".equals(jobStatus);
@@ -283,7 +286,7 @@
public void updateSinkJob(String id, String msg,String wellCode) {
List userClientViewList = new ArrayList<>();
List selectDtoList = selectRoles();
- EntityWrapper busWellInfoEntityWrapper = new EntityWrapper<>();
+ QueryWrapper busWellInfoEntityWrapper = new QueryWrapper<>();
busWellInfoEntityWrapper.eq("WELL_CODE",wellCode);
BusWellInfo busWellInfo = busWellInfoService.selectOne(busWellInfoEntityWrapper);
if(busWellInfo!=null&&StrUtil.isNotEmpty(busWellInfo.getDeptid())){
@@ -338,10 +341,10 @@
logger.info("告警消息app端找不到责任人,未推送:" + msg);
}
// PC推送,推给信息办
-// List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
- EntityWrapper wrapper = new EntityWrapper();
- wrapper.eq("DEPTID", "1178242562491285506");
- List userList = iCommonUserService.selectUsersList(wrapper, null);
+ // List userList = permissionService.getRoleUsersByTips("1178242562491285506",null,false);
+ QueryWrapper wrapper = new QueryWrapper();
+ wrapper.eq(UserQueryEnum.DEPT_ID, "1178242562491285506");
+ List userList = iCommonUserService.getUserService().list(wrapper);
for (User user : userList) {
userIds.add(user.getId().toString());
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
index 134a817..44f6788 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmMapOverviewController.java
@@ -1,13 +1,16 @@
package com.casic.missiles.modular.system.controller;
-import com.casic.missiles.core.base.controller.BaseController;
+import cn.hutool.core.util.ObjectUtil;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.core.datascope.DataScope;
+import com.casic.missiles.model.exception.ServiceException;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.model.response.SuccessResponseData;
import com.casic.missiles.modular.system.dto.AlarmNowView;
import com.casic.missiles.modular.system.model.BusWellInfo;
import com.casic.missiles.modular.system.service.IAlarmNowViewService;
-import com.casic.missiles.modular.system.service.IBusWellInfoService;
+import com.casic.missiles.modular.system.service.IBusWellInfoSupportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -20,7 +23,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import cn.hutool.core.util.ObjectUtil;
+
/**
* 地图总览模块的controller
*
@@ -38,7 +41,7 @@
private IAlarmNowViewService alarmNowViewService;
@Autowired
- private IBusWellInfoService busWellInfoService;
+ private IBusWellInfoSupportService busWellInfoService;
/**
* 获取当前全部告警列表
@@ -65,20 +68,20 @@
@RequestMapping(value = "/alarmsByWell", method = RequestMethod.GET)
@ResponseBody
public Object alarmsByWell(@RequestParam(required = true) Long id) {
- if(ObjectUtil.isEmpty(id)){
- throw new GunsException(GunsExceptionEnum.REQUEST_NULL);
+ if (ObjectUtil.isEmpty(id)) {
+ throw new ServiceException(CoreExceptionEnum.REQUEST_NULL);
}
SuccessResponseData successResult = new SuccessResponseData();
// 查询闸井信息
- BusWellInfo busWellInfo = busWellInfoService.selectById(id);
+ BusWellInfo busWellInfo = busWellInfoService.getById(id);
Map dataMap = new HashMap();
if (null != busWellInfo) {
dataMap.put("id", busWellInfo.getId());
dataMap.put("wellCode", busWellInfo.getWellCode());
dataMap.put("deptId", busWellInfo.getDeptid());
- dataMap.put("deptName", permissionService.getDeptName(String.valueOf(busWellInfo.getDeptid())));
- dataMap.put("wellTypeName",busWellInfo.getWellTypeName());
+ dataMap.put("deptName", permissionService.getDeptService().getDeptName(String.valueOf(busWellInfo.getDeptid())));
+ dataMap.put("wellTypeName", busWellInfo.getWellTypeName());
dataMap.put("position", busWellInfo.getPosition());
dataMap.put("deep", busWellInfo.getDeep());
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
index 263839d..d1e0d38 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmNowViewServiceImpl.java
@@ -1,7 +1,7 @@
package com.casic.missiles.modular.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.dao.AlarmNowViewMapper;
import com.casic.missiles.modular.system.dto.AlarmNowView;
@@ -13,7 +13,7 @@
/**
*
- * 服务实现类
+ * 服务实现类
*
*
* @author casic123
@@ -23,13 +23,13 @@
public class AlarmNowViewServiceImpl extends ServiceImpl implements IAlarmNowViewService {
@Resource
- private AbstractPermissionContext permissionService;
+ private AbstractDictService dictService;
@Override
public List getNowAlarmRecords(DataScope dataScope) {
List alarmNowViewList = this.baseMapper.getNowAlarmRecords(dataScope);
for (AlarmNowView alarmNowView : alarmNowViewList) {
- alarmNowView.setWellTypeName(permissionService.getDictNameByCode("sluicewellType",alarmNowView.getWellType()));
+ alarmNowView.setWellTypeName(dictService.getDictNameByCode("sluicewellType", alarmNowView.getWellType()));
}
return alarmNowViewList;
}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
index 760fdf6..affce72 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java
@@ -1,15 +1,15 @@
package com.casic.missiles.modular.system.service.impl;
+import cn.hutool.core.util.ObjectUtil;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
+import com.casic.missiles.core.application.service.AbstractDictService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.modular.system.dao.AlarmNowViewMapper;
import com.casic.missiles.modular.system.dao.StatisticMapper;
import com.casic.missiles.modular.system.model.Dept;
import com.casic.missiles.modular.system.service.IStatisticsService;
import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import cn.hutool.core.util.ObjectUtil;
import javax.annotation.Resource;
import java.text.ParseException;
@@ -18,35 +18,37 @@
@Service
public class StatisticServiceImpl implements IStatisticsService {
- @Autowired
+ @Resource
private StatisticMapper statisticMapper;
- @Autowired
+ @Resource
private AlarmNowViewMapper alarmNowViewMapper;
@Resource
private AbstractPermissionContext permissionService;
+ @Resource
+ private AbstractDictService dictService;
@Override
public List> wellStaticsByDept(DataScope dataScope) {
List> mapList = statisticMapper.wellStaticsByDept(dataScope);
for (Map map : mapList) {
- map.put("pidName",permissionService.getDeptName(Long.valueOf(map.get("pid").toString())));
+ map.put("pidName", permissionService.getDeptService().getDeptName(Long.valueOf(map.get("pid").toString())));
}
return mapList;
}
@Override
public List> wellStaticsByType(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
List> mapList = statisticMapper.wellStaticsByType(deptIds);
for (Map map : mapList) {
- map.put("wellTypeName",permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString()));
+ map.put("wellTypeName", dictService.getDictNameByCode("sluicewellType", map.get("wellType").toString()));
}
return mapList;
}
@Override
public List> deviceStaticsByType(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
List> mapList = statisticMapper.deviceStaticsByType(deptIds);
// for (Map map : mapList) {
// map.replace("deviceType",sysDictMapper.getDeviceTypeNameById(map.get("deviceType").toString()));
@@ -55,51 +57,53 @@
}
@Override
- public List> deviceStaticsByDept(DataScope dataScope,String deviceType) {
- List> mapList = statisticMapper.deviceStaticsByDept(dataScope,deviceType);
+ public List> deviceStaticsByDept(DataScope dataScope, String deviceType) {
+ List> mapList = statisticMapper.deviceStaticsByDept(dataScope, deviceType);
for (Map map : mapList) {
- map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString())));
+ map.put("deptName", permissionService.getDeptService().getDeptName(Long.valueOf(map.get("deptid").toString())));
}
return mapList;
}
@Override
public Map deviceStaticsByStatus(DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
Map map = statisticMapper.deviceStaticsByStatus(deptIds);
- for(String s:map.keySet()){ //value都转为string
- map.replace(s,map.get(s).toString());
+ for (String s : map.keySet()) { //value都转为string
+ map.replace(s, map.get(s).toString());
}
return map;
}
@Override
- public List> jobsByDept(DataScope dataScope,String beginTime, String endTime, String deviceType) throws ParseException {
+ public List> jobsByDept(DataScope dataScope, String beginTime, String endTime, String deviceType) throws ParseException {
List> mapList = new ArrayList<>();
List deptIds = dataScope.getDeptIds();
for (Long deptId : deptIds) {
- if(deptId==0){ // 顶级不统计
+ // 顶级不统计
+ if (deptId == 0) {
continue;
}
- Dept dept = permissionService.getDeptById(deptId);
- if( ObjectUtil.isEmpty(dept) || "04".equals(dept.getDeptType())){ // 小组不统计
+ Dept dept = permissionService.getDeptService().getById(deptId);
+ // 小组不统计
+ if (ObjectUtil.isEmpty(dept) || "04".equals(dept.getDeptType())) {
continue;
}
Map map = new HashMap<>();
- List subDeptIds = permissionService.getSubDepts(deptId,null);
+ List subDeptIds = permissionService.getDeptService().getIdsRecursionByPid(deptId, null);
subDeptIds.add(deptId);
- String subDeptIdstr = StringUtils.strip(subDeptIds.toString(),"[]");
+ String subDeptIdstr = StringUtils.strip(subDeptIds.toString(), "[]");
map.put("deptId", deptId);
- map.put("deptName",permissionService.getDeptName(deptId));
- Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr,beginTime,endTime);
- if(ToolUtil.isNotEmpty(countMap)){
+ map.put("deptName", permissionService.getDeptService().getDeptName(deptId));
+ Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr, beginTime, endTime);
+ if (ObjectUtil.isNotEmpty(countMap)) {
map.putAll(countMap);
- }else{
- map.put("beforeGet",0);
- map.put("beforeConfirm",0);
- map.put("inHandle",0);
- map.put("over",0);
- map.put("cancel",0);
+ } else {
+ map.put("beforeGet", 0);
+ map.put("beforeConfirm", 0);
+ map.put("inHandle", 0);
+ map.put("over", 0);
+ map.put("cancel", 0);
}
mapList.add(map);
}
@@ -108,23 +112,23 @@
@Override
public List> alarmsByDay(String beginTime, String endTime, DataScope dataScope) {
- String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]");
+ String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
List> mapList = new ArrayList<>();
- try{
+ try {
Date beginDate = sdf1.parse(beginTime);
Date endDate = sdf1.parse(endTime);
Calendar date = Calendar.getInstance();
date.setTime(beginDate);
while (date.getTime().compareTo(endDate) <= 0) {
String tmp = sdf1.format(date.getTime());
- Map map = alarmNowViewMapper.countAlarmsByDay(tmp,deptIds);
- map.put("date",sdf2.format(date.getTime()));
+ Map map = alarmNowViewMapper.countAlarmsByDay(tmp, deptIds);
+ map.put("date", sdf2.format(date.getTime()));
mapList.add(map);
- date.add(Calendar.DAY_OF_MONTH,1);
+ date.add(Calendar.DAY_OF_MONTH, 1);
}
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
return mapList;
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
index 0da3db8..0f499e6 100644
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
+++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/util/WebSocket.java
@@ -13,38 +13,40 @@
import java.util.Map;
import java.util.concurrent.CopyOnWriteArraySet;
+/**
+ * 此注解相当于设置访问URL
+ */
@Component
@ServerEndpoint("/websocket/{userId}")
-//此注解相当于设置访问URL
public class WebSocket {
private Session session;
- private static CopyOnWriteArraySet webSockets =new CopyOnWriteArraySet<>();
- private static Map sessionPool = new HashMap();
+ private static CopyOnWriteArraySet webSockets = new CopyOnWriteArraySet<>();
+ private static Map sessionPool = new HashMap();
@OnOpen
- public void onOpen(Session session, @PathParam(value="userId")String userId) {
+ public void onOpen(Session session, @PathParam(value = "userId") String userId) {
this.session = session;
webSockets.add(this);
sessionPool.put(userId, session);
- System.out.println(userId+"【websocket消息】有新的连接,总数为:"+webSockets.size());
+ System.out.println(userId + "【websocket消息】有新的连接,总数为:" + webSockets.size());
}
@OnClose
public void onClose() {
webSockets.remove(this);
- System.out.println("【websocket消息】连接断开,总数为:"+webSockets.size());
+ System.out.println("【websocket消息】连接断开,总数为:" + webSockets.size());
}
@OnMessage
public void onMessage(String message) {
- System.out.println("【websocket消息】收到客户端消息:"+message);
+ System.out.println("【websocket消息】收到客户端消息:" + message);
}
// 此为广播消息
public void sendAllMessage(String message) {
- for(WebSocket webSocket : webSockets) {
- System.out.println("【websocket消息】广播消息:"+message);
+ for (WebSocket webSocket : webSockets) {
+ System.out.println("【websocket消息】广播消息:" + message);
try {
webSocket.session.getAsyncRemote().sendText(message);
} catch (Exception e) {
@@ -54,8 +56,8 @@
}
// 发送列表消息
- public void sendListMessage(List userIds, String message){
- System.out.println("【websocket消息】列表消息:"+message);
+ public void sendListMessage(List userIds, String message) {
+ System.out.println("【websocket消息】列表消息:" + message);
for (String userId : userIds) {
Session session = sessionPool.get(userId);
if (session != null) {
@@ -87,7 +89,7 @@
// 此为单点消息
public void sendOneMessage(String userId, String message) {
- System.out.println("【websocket消息】单点消息:"+message);
+ System.out.println("【websocket消息】单点消息:" + message);
Session session = sessionPool.get(userId);
if (session != null) {
try {
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java
deleted file mode 100644
index 431e0bd..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmJobWarpper.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package com.casic.missiles.modular.system.warpper;
-
-import com.alibaba.fastjson.JSONArray;
-import com.casic.missiles.core.util.EhcacheConstant;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.core.util.ObjectUtil;
-
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-//@Service
-//@Primary
-public class AlarmJobWarpper extends BaseControllerWarpper {
-// private EhcacheConstant ehcacheConstant = new EhcacheConstant();
- public AlarmJobWarpper(Object list) { super(list); }
- @Override
- public void warpTheMap(Map map) {
-
- // 设置人员姓名
- for (String key : map.keySet())
- {
- if (key.contains("JobPerson")|| key.contains("jobBelongTo"))
- {
- Object object = map.get(key);
- if (object!=null)
- {
- String newVal = EhcacheConstant.retBean().getUsernameById(Long.parseLong(String.valueOf(object)));
- map.replace(key,newVal);
- }
- }
- }
-
- //设置闸井相关字段
- String wellCode = map.get("wellCode").toString();
- Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
- // 设置权属单位、负责人、联系电话
- String deptidStr = wellInfoMap.get("deptid").toString();
- long deptid = StrUtil.isEmpty(deptidStr)? -1: Long.valueOf(deptidStr);
- map.put("deptName",EhcacheConstant.retBean().getDeptNameById(deptid));
- if(deptid>0){
- Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
- if(ObjectUtil.isEmpty(staffstr)){
- wellInfoMap.replace("staff","");
- wellInfoMap.replace("tel","");
- }else {
- Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
- wellInfoMap.putAll(userInfoMap);
- }
- }
- map.putAll(wellInfoMap);
-
- // 告警类型
- String alarmTypeStr = map.get("alarmType").toString();
- map.put("alarmTypeName",EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
-
- // 告警内容
- String alarmContentNameStr = map.get("alarmContentName").toString();
- map.put("alarmContent",EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
-
- // 告警值加单位
- if(ObjectUtil.isNotEmpty(map.get("alarmValue"))){
- String alarmValue = map.get("alarmValue").toString();
- String alarmContentName = map.get("alarmContentName").toString();
- if("液位超限".equals(alarmContentName)) {
- alarmValue += "m";
- map.replace("alarmValue",alarmValue);
- }
- if("浓度超限".equals(alarmContentName)) {
- alarmValue += "%LEL";
- map.replace("alarmValue",alarmValue);
- }
- if("疑似开挖".equals(alarmContentName)) {
- alarmValue += "mg";
- map.replace("alarmValue",alarmValue);
- }
- }
-
- // 工单状态
- String jobStatusStr = map.get("jobStatus").toString();
- map.put("jobStatusName",EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
-
- // 告警值
- if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr))
- {
- map.replace("alarmValue","--");
- }
-
- // 流转记录(工单详情用)
- if (map.containsKey("flow"))
- {
- String flow = (String) map.get("flow");
- flow = "["+flow.replaceFirst(",","")+"]";
- List list = new ArrayList<>();
- JSONArray jsonArray = JSONArray.parseArray(flow);
- list = jsonArray.toJavaList(Map.class);
- map.replace("flow",list);
- }
-
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRecordWarpper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRecordWarpper.java
deleted file mode 100644
index 3c4807a..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRecordWarpper.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.casic.missiles.modular.system.warpper;
-
-import com.casic.missiles.core.util.EhcacheConstant;
-import com.casic.missiles.core.base.warpper.BaseControllerWarpper;
-import com.casic.missiles.core.util.ToolUtil;
-
-import java.util.HashMap;
-import java.util.Map;
-
-//@Service
-//@Primary
-public class AlarmRecordWarpper extends BaseControllerWarpper {
- public AlarmRecordWarpper(Object list) { super(list); }
- @Override
- public void warpTheMap(Map map) {
-
- // 设置闸井相关字段
- String wellCode = map.get("wellCode").toString();
- Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode);
- // 设置权属单位、负责人、联系电话
- String deptidStr = wellInfoMap.get("deptid").toString();
- long deptid = ToolUtil.isEmpty(deptidStr)? -1: Long.valueOf(deptidStr);
- map.put("deptName",EhcacheConstant.retBean().getDeptNameById(deptid));
- if(deptid>0){
- Long staffstr = EhcacheConstant.retBean().getUserByDept(deptid);
- if(ToolUtil.isEmpty(staffstr)){
- wellInfoMap.replace("staff","");
- wellInfoMap.replace("tel","");
- }else {
- Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr);
- wellInfoMap.putAll(userInfoMap);
- }
- }
- map.putAll(wellInfoMap);
-
- // 告警类型
- String alarmTypeStr = map.get("alarmType").toString();
- map.put("alarmTypeName",EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr));
-
- // 告警内容
- String alarmContentNameStr = map.get("alarmContentName").toString();
- map.put("alarmContent",EhcacheConstant.retBean().getAlarmContentByName(alarmContentNameStr));
-
- // 告警值加单位
- if(ToolUtil.isNotEmpty(map.get("alarmValue"))){
- String alarmValue = map.get("alarmValue").toString();
- String alarmContentName = map.get("alarmContentName").toString();
- if("液位超限".equals(alarmContentName)) {
- alarmValue += "m";
- map.replace("alarmValue",alarmValue);
- }
- if("浓度超限".equals(alarmContentName)) {
- alarmValue += "%LEL";
- map.replace("alarmValue",alarmValue);
- }
- if("疑似开挖".equals(alarmContentName)) {
- alarmValue += "mg";
- map.replace("alarmValue",alarmValue);
- }
- }
-
- // 告警值
- if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr))
- {
- map.replace("alarmValue","--");
- }
-
- // 告警状态
- String statusStr = map.get("status").toString();
- map.put("statusName",EhcacheConstant.retBean().getDictNameByCodeCodeNum(statusStr,"alarmStatus"));
-
- // 工单状态
- if(ToolUtil.isNotEmpty(map.get("jobStatus"))){
- String jobStatusStr = map.get("jobStatus").toString();
- map.put("jobStatusName",EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr));
- }
-
- }
-}
diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRuleWarpper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRuleWarpper.java
deleted file mode 100644
index 7d8cef1..0000000
--- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/warpper/AlarmRuleWarpper.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.casic.missiles.modular.system.warpper;
-
-import com.casic.missiles.core.base.warpper.BaseControllerWarpper;
-import com.casic.missiles.core.util.EhcacheConstant;
-
-import java.util.Map;
-
-//@Service
-//@Primary
-public class AlarmRuleWarpper extends BaseControllerWarpper {
-// private EhcacheConstant ehcacheConstant = new EhcacheConstant();
- public AlarmRuleWarpper(Object list) { super(list); }
- @Override
- public void warpTheMap(Map map) {
-
- String deviceType = map.get("deviceType").toString();
- long deptid = Long.parseLong(map.get("deptid").toString());
- map.put("deviceTypeName",EhcacheConstant.retBean().getDeviceTypeNameById(deviceType));
- map.put("deptName",EhcacheConstant.retBean().getDeptNameById(deptid));
- }
-}
diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/TemplateController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/TemplateController.java
index b7e13ca..d9b07c3 100644
--- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/TemplateController.java
+++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/TemplateController.java
@@ -1,12 +1,11 @@
package com.casic.missiles.modular.system.controller;
-import cn.hutool.core.collection.CollectionUtil;
+import com.casic.missiles.config.DeviceServerProperties;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
-import com.casic.missiles.modular.system.dto.VersionDto;
import com.casic.missiles.core.base.controller.BaseController;
import com.casic.missiles.model.response.ResponseData;
-import com.casic.missiles.config.DeviceServerProperties;
import com.casic.missiles.modular.system.constant.DeviceConst;
+import com.casic.missiles.modular.system.dto.VersionDto;
import com.casic.missiles.modular.system.service.IDeviceService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -63,7 +62,6 @@
response.setContentType("application/octet-stream");
response.addHeader("Content-Disposition", " attachment;filename=" + fileName);
response.setContentLength((int) file.length());
-
FileInputStream fis = null;
try {
fis = new FileInputStream(file);
@@ -103,7 +101,6 @@
@PostMapping("/app/registerGeTui")
public ResponseData geTuiRegister(@RequestParam String clientid) {
-
service.registerGeTui(permissionService.getAuthService().getLoginUser().getId(), clientid);
return ResponseData.success();
}
diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoSupportService.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoSupportService.java
index e34c98e..ee3443d 100644
--- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoSupportService.java
+++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/service/IBusWellInfoSupportService.java
@@ -1,7 +1,7 @@
package com.casic.missiles.modular.system.service;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.casic.missiles.core.datascope.DataScope;
-import com.casic.missiles.model.application.service.IRepositorySupportService;
import com.casic.missiles.modular.system.dto.BusWellInfoDto;
import com.casic.missiles.modular.system.model.BusWellInfo;
@@ -24,5 +24,13 @@
*/
List getWellList(DataScope dataScope, String keywords, String wellType, String deptid);
+ /**
+ * 根据井主键查询井信息
+ *
+ * @param id 井主键
+ * @return 井信息
+ */
BusWellInfo getById(Long id);
+
+ BusWellInfo selectOne(QueryWrapper busWellInfoEntityWrapper);
}
diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java
index d241d8c..3d37ce7 100644
--- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java
+++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellInfoServiceImpl.java
@@ -2,6 +2,7 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.context.AbstractPermissionContext;
@@ -82,10 +83,6 @@
}
-
-
-
-
@Override
public List selectDataScope(DataScope dataScope, Page page, String deviceType, String deptid, String keywords) {
return this.baseMapper.selectDataScope(dataScope, page, deviceType, deptid, keywords);
@@ -235,6 +232,11 @@
return this.baseMapper.selectById(id);
}
+ @Override
+ public BusWellInfo selectOne(QueryWrapper busWellInfoEntityWrapper) {
+ return this.getOne(busWellInfoEntityWrapper);
+ }
+
@Override
public String getAreaPid(String id) {
diff --git a/pom.xml b/pom.xml
index c51cd97..0702c13 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,7 +14,7 @@
casic-sluicewell
casic-data-analysis
casic-device
-
+ casic-alarm
casic-server-support