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 6a426fa..c6689dd 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 @@ -14,11 +14,15 @@ 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.model.JobListParam; import com.casic.missiles.modular.alarm.service.IAlarmJobService; + import com.casic.missiles.modular.alarm.service.ISysDictService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; @@ -31,10 +35,8 @@ import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.text.ParseException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; /** @@ -44,6 +46,7 @@ * @Date 2019-05-17 10:48:36 */ @Controller +@Slf4j @RequestMapping("/job") public class AlarmJobController extends ExportController { @@ -69,6 +72,13 @@ private String templatePath; + /** + * 统计接口,统计工单状态的数量 + * + * @param httpServletRequest + * @return + * @throws ParseException + */ @RequestMapping(value = "/countByJobStatus") @ResponseBody public Object countByJobStatus(HttpServletRequest httpServletRequest) throws ParseException { @@ -164,7 +174,7 @@ private void alarmJobWrapper(Map map) { // 设置人员姓名 for (String key : map.keySet()) { - if (key.contains("JobPerson") || key.contains("jobBelongTo")) { + 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))); @@ -174,7 +184,7 @@ } //设置闸井相关字段 - String wellCode = map.get("wellCode").toString(); + String wellCode = map.get("wellcode").toString(); Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode); // 设置权属单位、负责人、联系电话 String deptidStr = wellInfoMap.get("deptid").toString(); @@ -187,23 +197,25 @@ wellInfoMap.replace("tel", ""); } else { Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr); - wellInfoMap.putAll(userInfoMap); + if (!ObjectUtil.isEmpty(userInfoMap)) { + wellInfoMap.putAll(userInfoMap); + } } } map.putAll(wellInfoMap); // 告警类型 - String alarmTypeStr = map.get("alarmType").toString(); - map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr)); + String alarmTypeStr = map.get("alarmtype").toString(); + map.put("alarmtypename", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr)); // 告警内容 - String alarmContentNameStr = map.get("alarmContentName").toString(); + 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 (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); @@ -219,12 +231,12 @@ } // 工单状态 - String jobStatusStr = map.get("jobStatus").toString(); + String jobStatusStr = map.get("jobstatus").toString(); map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr)); // 告警值 if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) { - map.replace("alarmValue", "--"); + map.replace("alarmvalue", "--"); } // 流转记录(工单详情用) @@ -243,31 +255,26 @@ */ @RequestMapping(value = "/searchList") @ResponseBody - public Object jobListSearch(String keywords, String alarmLevel, String alarmContent, String jobStatus, String beginTime, String endTime, - String getJobBeginTime, String getJobEndTime, String shouldGetBeginTime, String shouldGetEndTime, - String handleJobBeginTime, String handleJobEndTime, String shouldHandleBeginTime, String shouldHandleEndTime) { - + public Object jobListSearch(@RequestBody JobListParam jobListParam) { Page> page = PageFactory.defaultPage(); DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser(); List> retList = new ArrayList<>(); if (alarmJobService.checkPcRole(currentUser.getRoleTips())) { // pc角色 - retList = alarmJobService.jobListSearch(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime, - handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, dataScope, currentUser.getId()); + retList = alarmJobService.jobListSearch(page, jobListParam, dataScope, currentUser.getId()); } else { //app角色 long leaderId = 0L; if (currentUser.getRoleTips().contains(sLeader)) { // 组长,查组内全部 leaderId = currentUser.getId(); - if (StrUtil.isNotEmpty(jobStatus)) { + if (StrUtil.isNotEmpty(jobListParam.getJobStatus())) { //learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前) - page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus)); + page.setSearchCount(!alarmJobService.checkJobStatus(jobListParam.getJobStatus())); } } - retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime, - handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId); + retList = alarmJobService.jobListSearchApp(page, jobListParam, currentUser.getDeptId(), currentUser.getId(), leaderId); } retList.forEach(this::alarmJobWrapper); page.setRecords(retList); @@ -371,11 +378,13 @@ String alarmTypeStr = httpServletRequest.getParameter("alarmType"); String alarmContentStr = httpServletRequest.getParameter("alarmContentType"); - List> jobExpList = new ArrayList<>(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser(); - jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId()); + List> jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId()); + jobExpList.forEach(this::alarmJobWrapper); + FileInputStream fileInputStream = null; if (CollectionUtil.isEmpty(jobExpList)) { fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx"); @@ -458,12 +467,13 @@ @RequestParam(value = "transferPerson", required = true) String transferPerson) { AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser(); - - String dbTime = iSysDictService.getDBtime(); + SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); +// String dbTime = iSysDictService.getDBtime(); + Date dbTime = new Date(); JSONObject jsonObject = new JSONObject(); jsonObject.put("from", currentUser.getName()); jsonObject.put("to", EhcacheConstant.retBean().getUsernameById(Long.valueOf(transferPerson))); - jsonObject.put("time", dbTime); + jsonObject.put("time", dateFormat.format(dbTime)); if (alarmJobService.transferJob(id, Long.valueOf(transferPerson), jsonObject.toString())) { return ResponseData.success(); @@ -472,6 +482,7 @@ } } + /** * 保存工单信息及图片 */ 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 6a426fa..c6689dd 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 @@ -14,11 +14,15 @@ 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.model.JobListParam; import com.casic.missiles.modular.alarm.service.IAlarmJobService; + import com.casic.missiles.modular.alarm.service.ISysDictService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; @@ -31,10 +35,8 @@ import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.text.ParseException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; /** @@ -44,6 +46,7 @@ * @Date 2019-05-17 10:48:36 */ @Controller +@Slf4j @RequestMapping("/job") public class AlarmJobController extends ExportController { @@ -69,6 +72,13 @@ private String templatePath; + /** + * 统计接口,统计工单状态的数量 + * + * @param httpServletRequest + * @return + * @throws ParseException + */ @RequestMapping(value = "/countByJobStatus") @ResponseBody public Object countByJobStatus(HttpServletRequest httpServletRequest) throws ParseException { @@ -164,7 +174,7 @@ private void alarmJobWrapper(Map map) { // 设置人员姓名 for (String key : map.keySet()) { - if (key.contains("JobPerson") || key.contains("jobBelongTo")) { + 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))); @@ -174,7 +184,7 @@ } //设置闸井相关字段 - String wellCode = map.get("wellCode").toString(); + String wellCode = map.get("wellcode").toString(); Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode); // 设置权属单位、负责人、联系电话 String deptidStr = wellInfoMap.get("deptid").toString(); @@ -187,23 +197,25 @@ wellInfoMap.replace("tel", ""); } else { Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr); - wellInfoMap.putAll(userInfoMap); + if (!ObjectUtil.isEmpty(userInfoMap)) { + wellInfoMap.putAll(userInfoMap); + } } } map.putAll(wellInfoMap); // 告警类型 - String alarmTypeStr = map.get("alarmType").toString(); - map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr)); + String alarmTypeStr = map.get("alarmtype").toString(); + map.put("alarmtypename", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr)); // 告警内容 - String alarmContentNameStr = map.get("alarmContentName").toString(); + 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 (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); @@ -219,12 +231,12 @@ } // 工单状态 - String jobStatusStr = map.get("jobStatus").toString(); + String jobStatusStr = map.get("jobstatus").toString(); map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr)); // 告警值 if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) { - map.replace("alarmValue", "--"); + map.replace("alarmvalue", "--"); } // 流转记录(工单详情用) @@ -243,31 +255,26 @@ */ @RequestMapping(value = "/searchList") @ResponseBody - public Object jobListSearch(String keywords, String alarmLevel, String alarmContent, String jobStatus, String beginTime, String endTime, - String getJobBeginTime, String getJobEndTime, String shouldGetBeginTime, String shouldGetEndTime, - String handleJobBeginTime, String handleJobEndTime, String shouldHandleBeginTime, String shouldHandleEndTime) { - + public Object jobListSearch(@RequestBody JobListParam jobListParam) { Page> page = PageFactory.defaultPage(); DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser(); List> retList = new ArrayList<>(); if (alarmJobService.checkPcRole(currentUser.getRoleTips())) { // pc角色 - retList = alarmJobService.jobListSearch(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime, - handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, dataScope, currentUser.getId()); + retList = alarmJobService.jobListSearch(page, jobListParam, dataScope, currentUser.getId()); } else { //app角色 long leaderId = 0L; if (currentUser.getRoleTips().contains(sLeader)) { // 组长,查组内全部 leaderId = currentUser.getId(); - if (StrUtil.isNotEmpty(jobStatus)) { + if (StrUtil.isNotEmpty(jobListParam.getJobStatus())) { //learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前) - page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus)); + page.setSearchCount(!alarmJobService.checkJobStatus(jobListParam.getJobStatus())); } } - retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime, - handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId); + retList = alarmJobService.jobListSearchApp(page, jobListParam, currentUser.getDeptId(), currentUser.getId(), leaderId); } retList.forEach(this::alarmJobWrapper); page.setRecords(retList); @@ -371,11 +378,13 @@ String alarmTypeStr = httpServletRequest.getParameter("alarmType"); String alarmContentStr = httpServletRequest.getParameter("alarmContentType"); - List> jobExpList = new ArrayList<>(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser(); - jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId()); + List> jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId()); + jobExpList.forEach(this::alarmJobWrapper); + FileInputStream fileInputStream = null; if (CollectionUtil.isEmpty(jobExpList)) { fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx"); @@ -458,12 +467,13 @@ @RequestParam(value = "transferPerson", required = true) String transferPerson) { AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser(); - - String dbTime = iSysDictService.getDBtime(); + SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); +// String dbTime = iSysDictService.getDBtime(); + Date dbTime = new Date(); JSONObject jsonObject = new JSONObject(); jsonObject.put("from", currentUser.getName()); jsonObject.put("to", EhcacheConstant.retBean().getUsernameById(Long.valueOf(transferPerson))); - jsonObject.put("time", dbTime); + jsonObject.put("time", dateFormat.format(dbTime)); if (alarmJobService.transferJob(id, Long.valueOf(transferPerson), jsonObject.toString())) { return ResponseData.success(); @@ -472,6 +482,7 @@ } } + /** * 保存工单信息及图片 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/model/JobListParam.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/model/JobListParam.java new file mode 100644 index 0000000..c83bff8 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/model/JobListParam.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.alarm.model; + + +import lombok.Data; + +/** + * @author cz + * @date 2022-6-13 17:03 + */ +@Data +public class JobListParam { + /** + * 关键字 + */ + private String keywords; + /** + * 风险等级 + */ + private String alarmLevel; + private String alarmContent; + private String jobStatus; + private String beginTime; + private String endTime; + private String getJobBeginTime; + private String getJobEndTime; + private String shouldGetBeginTime; + private String shouldGetEndTime; + private String handleJobBeginTime; + private String handleJobEndTime; + private String shouldHandleBeginTime; + private String shouldHandleEndTime; +} 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 6a426fa..c6689dd 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 @@ -14,11 +14,15 @@ 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.model.JobListParam; import com.casic.missiles.modular.alarm.service.IAlarmJobService; + import com.casic.missiles.modular.alarm.service.ISysDictService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; @@ -31,10 +35,8 @@ import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.text.ParseException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; /** @@ -44,6 +46,7 @@ * @Date 2019-05-17 10:48:36 */ @Controller +@Slf4j @RequestMapping("/job") public class AlarmJobController extends ExportController { @@ -69,6 +72,13 @@ private String templatePath; + /** + * 统计接口,统计工单状态的数量 + * + * @param httpServletRequest + * @return + * @throws ParseException + */ @RequestMapping(value = "/countByJobStatus") @ResponseBody public Object countByJobStatus(HttpServletRequest httpServletRequest) throws ParseException { @@ -164,7 +174,7 @@ private void alarmJobWrapper(Map map) { // 设置人员姓名 for (String key : map.keySet()) { - if (key.contains("JobPerson") || key.contains("jobBelongTo")) { + 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))); @@ -174,7 +184,7 @@ } //设置闸井相关字段 - String wellCode = map.get("wellCode").toString(); + String wellCode = map.get("wellcode").toString(); Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode); // 设置权属单位、负责人、联系电话 String deptidStr = wellInfoMap.get("deptid").toString(); @@ -187,23 +197,25 @@ wellInfoMap.replace("tel", ""); } else { Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr); - wellInfoMap.putAll(userInfoMap); + if (!ObjectUtil.isEmpty(userInfoMap)) { + wellInfoMap.putAll(userInfoMap); + } } } map.putAll(wellInfoMap); // 告警类型 - String alarmTypeStr = map.get("alarmType").toString(); - map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr)); + String alarmTypeStr = map.get("alarmtype").toString(); + map.put("alarmtypename", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr)); // 告警内容 - String alarmContentNameStr = map.get("alarmContentName").toString(); + 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 (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); @@ -219,12 +231,12 @@ } // 工单状态 - String jobStatusStr = map.get("jobStatus").toString(); + String jobStatusStr = map.get("jobstatus").toString(); map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr)); // 告警值 if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) { - map.replace("alarmValue", "--"); + map.replace("alarmvalue", "--"); } // 流转记录(工单详情用) @@ -243,31 +255,26 @@ */ @RequestMapping(value = "/searchList") @ResponseBody - public Object jobListSearch(String keywords, String alarmLevel, String alarmContent, String jobStatus, String beginTime, String endTime, - String getJobBeginTime, String getJobEndTime, String shouldGetBeginTime, String shouldGetEndTime, - String handleJobBeginTime, String handleJobEndTime, String shouldHandleBeginTime, String shouldHandleEndTime) { - + public Object jobListSearch(@RequestBody JobListParam jobListParam) { Page> page = PageFactory.defaultPage(); DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser(); List> retList = new ArrayList<>(); if (alarmJobService.checkPcRole(currentUser.getRoleTips())) { // pc角色 - retList = alarmJobService.jobListSearch(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime, - handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, dataScope, currentUser.getId()); + retList = alarmJobService.jobListSearch(page, jobListParam, dataScope, currentUser.getId()); } else { //app角色 long leaderId = 0L; if (currentUser.getRoleTips().contains(sLeader)) { // 组长,查组内全部 leaderId = currentUser.getId(); - if (StrUtil.isNotEmpty(jobStatus)) { + if (StrUtil.isNotEmpty(jobListParam.getJobStatus())) { //learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前) - page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus)); + page.setSearchCount(!alarmJobService.checkJobStatus(jobListParam.getJobStatus())); } } - retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime, - handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId); + retList = alarmJobService.jobListSearchApp(page, jobListParam, currentUser.getDeptId(), currentUser.getId(), leaderId); } retList.forEach(this::alarmJobWrapper); page.setRecords(retList); @@ -371,11 +378,13 @@ String alarmTypeStr = httpServletRequest.getParameter("alarmType"); String alarmContentStr = httpServletRequest.getParameter("alarmContentType"); - List> jobExpList = new ArrayList<>(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser(); - jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId()); + List> jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId()); + jobExpList.forEach(this::alarmJobWrapper); + FileInputStream fileInputStream = null; if (CollectionUtil.isEmpty(jobExpList)) { fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx"); @@ -458,12 +467,13 @@ @RequestParam(value = "transferPerson", required = true) String transferPerson) { AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser(); - - String dbTime = iSysDictService.getDBtime(); + SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); +// String dbTime = iSysDictService.getDBtime(); + Date dbTime = new Date(); JSONObject jsonObject = new JSONObject(); jsonObject.put("from", currentUser.getName()); jsonObject.put("to", EhcacheConstant.retBean().getUsernameById(Long.valueOf(transferPerson))); - jsonObject.put("time", dbTime); + jsonObject.put("time", dateFormat.format(dbTime)); if (alarmJobService.transferJob(id, Long.valueOf(transferPerson), jsonObject.toString())) { return ResponseData.success(); @@ -472,6 +482,7 @@ } } + /** * 保存工单信息及图片 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/model/JobListParam.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/model/JobListParam.java new file mode 100644 index 0000000..c83bff8 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/model/JobListParam.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.alarm.model; + + +import lombok.Data; + +/** + * @author cz + * @date 2022-6-13 17:03 + */ +@Data +public class JobListParam { + /** + * 关键字 + */ + private String keywords; + /** + * 风险等级 + */ + private String alarmLevel; + private String alarmContent; + private String jobStatus; + private String beginTime; + private String endTime; + private String getJobBeginTime; + private String getJobEndTime; + private String shouldGetBeginTime; + private String shouldGetEndTime; + private String handleJobBeginTime; + private String handleJobEndTime; + private String shouldHandleBeginTime; + private String shouldHandleEndTime; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmJobService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmJobService.java index f29f2e2..5f47018 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmJobService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmJobService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.alarm.model.JobListParam; import com.casic.missiles.modular.system.dto.UserClientView; import com.casic.missiles.modular.system.model.AlarmJob; @@ -19,42 +20,56 @@ * @since 2019-05-17 */ public interface IAlarmJobService extends IService { - List> jobList( Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType,String alarmContent, DataScope dataScope,Long userId); - List> jobListApp( Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType,String alarmContent,Long deptId,Long userId,Long leaderId); + List> jobList(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, DataScope dataScope, Long userId); + + List> jobListApp(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, Long deptId, Long userId, Long leaderId); // List jobListExport( Page page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType,String alarmContent, DataScope dataScope); - List> jobListDelayRe( Page> page, String keywords, String beginTime, String endTime, String alarmType,String alarmContent, DataScope dataScope,Long userId); - List> jobListDelayReApp( Page> page, String keywords, String beginTime, String endTime, String alarmType,String alarmContent, Long deptId,Long userId,Long leaderId); + List> jobListDelayRe(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, DataScope dataScope, Long userId); - List> jobListDelayPro( Page> page, String keywords, String beginTime, String endTime, String alarmType,String alarmContent, DataScope dataScope,Long userId ); - List> jobListDelayProApp( Page> page, String keywords, String beginTime, String endTime, String alarmType,String alarmContent, Long deptId,Long userId,Long leaderId); + List> jobListDelayReApp(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, Long deptId, Long userId, Long leaderId); - List> jobListSearch(Page> page, String keywords, String alarmLevel, String alarmContent, String jobStatus, String beginTime,String endTime, - String getJobBeginTime, String getJobEndTime, String shouldGetBeginTime, String shouldGetEndTime, String handleJobBeginTime, String handleJobEndTime, - String shouldHandleBeginTime, String shouldHandleEndTime, DataScope dataScope,Long userId); - List> jobListSearchApp(Page> page, String keywords, String alarmLevel, String alarmContent, String jobStatus, String beginTime,String endTime, - String getJobBeginTime, String getJobEndTime, String shouldGetBeginTime, String shouldGetEndTime, String handleJobBeginTime, String handleJobEndTime, - String shouldHandleBeginTime, String shouldHandleEndTime, Long deptId, Long userId, Long leaderId); - List> jobInfo(int id, DataScope dataScope,Long personId); + List> jobListDelayPro(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, DataScope dataScope, Long userId); + + List> jobListDelayProApp(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, Long deptId, Long userId, Long leaderId); + + List> jobListSearch(Page> page, JobListParam jobListParam, DataScope dataScope, Long userId); + + List> jobListSearchApp(Page> page, JobListParam jobListParam, Long deptId, Long userId, Long leaderId); + + List> jobInfo(int id, DataScope dataScope, Long personId); + boolean getJob(int id, long personId); - boolean confirmJob(int id,long personId,String firstState, String firstStatePhotos, String needHandle); - boolean transferJob(int id, long transferPerson,String flowRec); - boolean saveJob( int id,String handleMessage, String handlePhotos); - boolean overJob( int id,long personId, String handleMessage, String handlePhotos); - boolean overAlarm( int id); - boolean handleJob(int id,long personId); - Map countByJobStatus(long deptId,int spanDays); - Map countMyJob(long userId,long deptId,int spanDays); + boolean confirmJob(int id, long personId, String firstState, String firstStatePhotos, String needHandle); + + boolean transferJob(int id, long transferPerson, String flowRec); + + boolean saveJob(int id, String handleMessage, String handlePhotos); + + boolean overJob(int id, long personId, String handleMessage, String handlePhotos); + + boolean overAlarm(int id); + + boolean handleJob(int id, long personId); + + Map countByJobStatus(long deptId, int spanDays); + + Map countMyJob(long userId, long deptId, int spanDays); boolean checkJobStatus(String jobStatus); + boolean checkPcRole(Set roleTips); - Integer countByDataScope(DataScope dataScope,String alarmType, String jobStatus,String beginTime,String endTime); - Integer countByResponse(String alarmType,String jobStatus,Long deptId,String beginTime,String endTime); - Integer countByUser(String alarmType,String jobStatus,Long userId,String beginTime,String endTime); + Integer countByDataScope(DataScope dataScope, String alarmType, String jobStatus, String beginTime, String endTime); - void updateSinkJob(String id,String msg,String wellCode); + Integer countByResponse(String alarmType, String jobStatus, Long deptId, String beginTime, String endTime); + + Integer countByUser(String alarmType, String jobStatus, Long userId, String beginTime, String endTime); + + void updateSinkJob(String id, String msg, String wellCode); + List selectUserByWellCode(String wellCode); + String selectClientIdByUser(Long userId); } 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 6a426fa..c6689dd 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 @@ -14,11 +14,15 @@ 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.model.JobListParam; import com.casic.missiles.modular.alarm.service.IAlarmJobService; + import com.casic.missiles.modular.alarm.service.ISysDictService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; @@ -31,10 +35,8 @@ import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.text.ParseException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; /** @@ -44,6 +46,7 @@ * @Date 2019-05-17 10:48:36 */ @Controller +@Slf4j @RequestMapping("/job") public class AlarmJobController extends ExportController { @@ -69,6 +72,13 @@ private String templatePath; + /** + * 统计接口,统计工单状态的数量 + * + * @param httpServletRequest + * @return + * @throws ParseException + */ @RequestMapping(value = "/countByJobStatus") @ResponseBody public Object countByJobStatus(HttpServletRequest httpServletRequest) throws ParseException { @@ -164,7 +174,7 @@ private void alarmJobWrapper(Map map) { // 设置人员姓名 for (String key : map.keySet()) { - if (key.contains("JobPerson") || key.contains("jobBelongTo")) { + 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))); @@ -174,7 +184,7 @@ } //设置闸井相关字段 - String wellCode = map.get("wellCode").toString(); + String wellCode = map.get("wellcode").toString(); Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode); // 设置权属单位、负责人、联系电话 String deptidStr = wellInfoMap.get("deptid").toString(); @@ -187,23 +197,25 @@ wellInfoMap.replace("tel", ""); } else { Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr); - wellInfoMap.putAll(userInfoMap); + if (!ObjectUtil.isEmpty(userInfoMap)) { + wellInfoMap.putAll(userInfoMap); + } } } map.putAll(wellInfoMap); // 告警类型 - String alarmTypeStr = map.get("alarmType").toString(); - map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr)); + String alarmTypeStr = map.get("alarmtype").toString(); + map.put("alarmtypename", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr)); // 告警内容 - String alarmContentNameStr = map.get("alarmContentName").toString(); + 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 (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); @@ -219,12 +231,12 @@ } // 工单状态 - String jobStatusStr = map.get("jobStatus").toString(); + String jobStatusStr = map.get("jobstatus").toString(); map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr)); // 告警值 if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) { - map.replace("alarmValue", "--"); + map.replace("alarmvalue", "--"); } // 流转记录(工单详情用) @@ -243,31 +255,26 @@ */ @RequestMapping(value = "/searchList") @ResponseBody - public Object jobListSearch(String keywords, String alarmLevel, String alarmContent, String jobStatus, String beginTime, String endTime, - String getJobBeginTime, String getJobEndTime, String shouldGetBeginTime, String shouldGetEndTime, - String handleJobBeginTime, String handleJobEndTime, String shouldHandleBeginTime, String shouldHandleEndTime) { - + public Object jobListSearch(@RequestBody JobListParam jobListParam) { Page> page = PageFactory.defaultPage(); DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser(); List> retList = new ArrayList<>(); if (alarmJobService.checkPcRole(currentUser.getRoleTips())) { // pc角色 - retList = alarmJobService.jobListSearch(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime, - handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, dataScope, currentUser.getId()); + retList = alarmJobService.jobListSearch(page, jobListParam, dataScope, currentUser.getId()); } else { //app角色 long leaderId = 0L; if (currentUser.getRoleTips().contains(sLeader)) { // 组长,查组内全部 leaderId = currentUser.getId(); - if (StrUtil.isNotEmpty(jobStatus)) { + if (StrUtil.isNotEmpty(jobListParam.getJobStatus())) { //learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前) - page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus)); + page.setSearchCount(!alarmJobService.checkJobStatus(jobListParam.getJobStatus())); } } - retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime, - handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId); + retList = alarmJobService.jobListSearchApp(page, jobListParam, currentUser.getDeptId(), currentUser.getId(), leaderId); } retList.forEach(this::alarmJobWrapper); page.setRecords(retList); @@ -371,11 +378,13 @@ String alarmTypeStr = httpServletRequest.getParameter("alarmType"); String alarmContentStr = httpServletRequest.getParameter("alarmContentType"); - List> jobExpList = new ArrayList<>(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser(); - jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId()); + List> jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId()); + jobExpList.forEach(this::alarmJobWrapper); + FileInputStream fileInputStream = null; if (CollectionUtil.isEmpty(jobExpList)) { fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx"); @@ -458,12 +467,13 @@ @RequestParam(value = "transferPerson", required = true) String transferPerson) { AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser(); - - String dbTime = iSysDictService.getDBtime(); + SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); +// String dbTime = iSysDictService.getDBtime(); + Date dbTime = new Date(); JSONObject jsonObject = new JSONObject(); jsonObject.put("from", currentUser.getName()); jsonObject.put("to", EhcacheConstant.retBean().getUsernameById(Long.valueOf(transferPerson))); - jsonObject.put("time", dbTime); + jsonObject.put("time", dateFormat.format(dbTime)); if (alarmJobService.transferJob(id, Long.valueOf(transferPerson), jsonObject.toString())) { return ResponseData.success(); @@ -472,6 +482,7 @@ } } + /** * 保存工单信息及图片 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/model/JobListParam.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/model/JobListParam.java new file mode 100644 index 0000000..c83bff8 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/model/JobListParam.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.alarm.model; + + +import lombok.Data; + +/** + * @author cz + * @date 2022-6-13 17:03 + */ +@Data +public class JobListParam { + /** + * 关键字 + */ + private String keywords; + /** + * 风险等级 + */ + private String alarmLevel; + private String alarmContent; + private String jobStatus; + private String beginTime; + private String endTime; + private String getJobBeginTime; + private String getJobEndTime; + private String shouldGetBeginTime; + private String shouldGetEndTime; + private String handleJobBeginTime; + private String handleJobEndTime; + private String shouldHandleBeginTime; + private String shouldHandleEndTime; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmJobService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmJobService.java index f29f2e2..5f47018 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmJobService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmJobService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.alarm.model.JobListParam; import com.casic.missiles.modular.system.dto.UserClientView; import com.casic.missiles.modular.system.model.AlarmJob; @@ -19,42 +20,56 @@ * @since 2019-05-17 */ public interface IAlarmJobService extends IService { - List> jobList( Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType,String alarmContent, DataScope dataScope,Long userId); - List> jobListApp( Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType,String alarmContent,Long deptId,Long userId,Long leaderId); + List> jobList(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, DataScope dataScope, Long userId); + + List> jobListApp(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, Long deptId, Long userId, Long leaderId); // List jobListExport( Page page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType,String alarmContent, DataScope dataScope); - List> jobListDelayRe( Page> page, String keywords, String beginTime, String endTime, String alarmType,String alarmContent, DataScope dataScope,Long userId); - List> jobListDelayReApp( Page> page, String keywords, String beginTime, String endTime, String alarmType,String alarmContent, Long deptId,Long userId,Long leaderId); + List> jobListDelayRe(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, DataScope dataScope, Long userId); - List> jobListDelayPro( Page> page, String keywords, String beginTime, String endTime, String alarmType,String alarmContent, DataScope dataScope,Long userId ); - List> jobListDelayProApp( Page> page, String keywords, String beginTime, String endTime, String alarmType,String alarmContent, Long deptId,Long userId,Long leaderId); + List> jobListDelayReApp(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, Long deptId, Long userId, Long leaderId); - List> jobListSearch(Page> page, String keywords, String alarmLevel, String alarmContent, String jobStatus, String beginTime,String endTime, - String getJobBeginTime, String getJobEndTime, String shouldGetBeginTime, String shouldGetEndTime, String handleJobBeginTime, String handleJobEndTime, - String shouldHandleBeginTime, String shouldHandleEndTime, DataScope dataScope,Long userId); - List> jobListSearchApp(Page> page, String keywords, String alarmLevel, String alarmContent, String jobStatus, String beginTime,String endTime, - String getJobBeginTime, String getJobEndTime, String shouldGetBeginTime, String shouldGetEndTime, String handleJobBeginTime, String handleJobEndTime, - String shouldHandleBeginTime, String shouldHandleEndTime, Long deptId, Long userId, Long leaderId); - List> jobInfo(int id, DataScope dataScope,Long personId); + List> jobListDelayPro(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, DataScope dataScope, Long userId); + + List> jobListDelayProApp(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, Long deptId, Long userId, Long leaderId); + + List> jobListSearch(Page> page, JobListParam jobListParam, DataScope dataScope, Long userId); + + List> jobListSearchApp(Page> page, JobListParam jobListParam, Long deptId, Long userId, Long leaderId); + + List> jobInfo(int id, DataScope dataScope, Long personId); + boolean getJob(int id, long personId); - boolean confirmJob(int id,long personId,String firstState, String firstStatePhotos, String needHandle); - boolean transferJob(int id, long transferPerson,String flowRec); - boolean saveJob( int id,String handleMessage, String handlePhotos); - boolean overJob( int id,long personId, String handleMessage, String handlePhotos); - boolean overAlarm( int id); - boolean handleJob(int id,long personId); - Map countByJobStatus(long deptId,int spanDays); - Map countMyJob(long userId,long deptId,int spanDays); + boolean confirmJob(int id, long personId, String firstState, String firstStatePhotos, String needHandle); + + boolean transferJob(int id, long transferPerson, String flowRec); + + boolean saveJob(int id, String handleMessage, String handlePhotos); + + boolean overJob(int id, long personId, String handleMessage, String handlePhotos); + + boolean overAlarm(int id); + + boolean handleJob(int id, long personId); + + Map countByJobStatus(long deptId, int spanDays); + + Map countMyJob(long userId, long deptId, int spanDays); boolean checkJobStatus(String jobStatus); + boolean checkPcRole(Set roleTips); - Integer countByDataScope(DataScope dataScope,String alarmType, String jobStatus,String beginTime,String endTime); - Integer countByResponse(String alarmType,String jobStatus,Long deptId,String beginTime,String endTime); - Integer countByUser(String alarmType,String jobStatus,Long userId,String beginTime,String endTime); + Integer countByDataScope(DataScope dataScope, String alarmType, String jobStatus, String beginTime, String endTime); - void updateSinkJob(String id,String msg,String wellCode); + Integer countByResponse(String alarmType, String jobStatus, Long deptId, String beginTime, String endTime); + + Integer countByUser(String alarmType, String jobStatus, Long userId, String beginTime, String endTime); + + void updateSinkJob(String id, String msg, String wellCode); + List selectUserByWellCode(String wellCode); + String selectClientIdByUser(Long userId); } 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 2d8cb7d..5ef681b 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 @@ -11,6 +11,7 @@ import com.casic.missiles.core.util.EhcacheConstant; import com.casic.missiles.modular.alarm.job.DelayJob; import com.casic.missiles.modular.alarm.job.HandleAlarmJob; +import com.casic.missiles.modular.alarm.model.JobListParam; import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.modular.system.dao.AlarmJobMapper; import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; @@ -24,12 +25,14 @@ import com.casic.missiles.modular.system.util.WebSocket; import com.casic.missiles.quartz.service.IQuartzManager; import com.gexin.rp.sdk.base.IPushResult; +import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -43,6 +46,7 @@ * @since 2019-05-17 */ @Service +@Slf4j public class AlarmJobServiceImpl extends ServiceImpl implements IAlarmJobService { private static final Logger logger = LoggerFactory.getLogger(AlarmJobServiceImpl.class); @@ -72,9 +76,10 @@ 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) { + public List> jobList(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, DataScope dataScope, Long userId) { alarmContent = converAlarmContent(alarmContent); - List> alarmJobList = this.baseMapper.jobList(page, keywords, beginTime, endTime, jobStatus, alarmType, alarmContent, dataScope,userId);return alarmJobList; + List> alarmJobList = this.baseMapper.jobList(page, keywords, beginTime, endTime, jobStatus, alarmType, alarmContent, dataScope, userId); + return alarmJobList; } @Override @@ -85,9 +90,9 @@ } @Override - public List> jobListDelayRe(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, DataScope dataScope,Long userId) { + public List> jobListDelayRe(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, DataScope dataScope, Long userId) { alarmContent = converAlarmContent(alarmContent); - List> alarmJobList = this.baseMapper.jobListDelayRe(page, keywords, beginTime, endTime, alarmType, alarmContent, dataScope,userId); + List> alarmJobList = this.baseMapper.jobListDelayRe(page, keywords, beginTime, endTime, alarmType, alarmContent, dataScope, userId); return alarmJobList; } @@ -99,9 +104,9 @@ } @Override - public List> jobListDelayPro(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, DataScope dataScope,Long userId) { + public List> jobListDelayPro(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, DataScope dataScope, Long userId) { alarmContent = converAlarmContent(alarmContent); - List> alarmJobList = this.baseMapper.jobListDelayPro(page, keywords, beginTime, endTime, alarmType, alarmContent, dataScope,userId); + List> alarmJobList = this.baseMapper.jobListDelayPro(page, keywords, beginTime, endTime, alarmType, alarmContent, dataScope, userId); return alarmJobList; } @@ -113,42 +118,45 @@ } @Override - public List> jobListSearch(Page> page, String keywords, String alarmLevel, String alarmContent, String jobStatus, String beginTime, String endTime, String getJobBeginTime, String getJobEndTime, String shouldGetBeginTime, String shouldGetEndTime, String handleJobBeginTime, String handleJobEndTime, String shouldHandleBeginTime, String shouldHandleEndTime, DataScope dataScope,Long userId) { - alarmContent = converAlarmContent(alarmContent); - List> alarmJobList = this.baseMapper.jobListSearch(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime, handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, dataScope,userId); + public List> jobListSearch(Page> page, JobListParam jobListParam, DataScope dataScope, Long userId) { + jobListParam.setAlarmContent(converAlarmContent(jobListParam.getAlarmContent())); + List> alarmJobList = this.baseMapper.jobListSearch(page, jobListParam, dataScope, userId); return alarmJobList; } @Override - public List> jobListSearchApp(Page> page, String keywords, String alarmLevel, String alarmContent, String jobStatus, String beginTime, String endTime, String getJobBeginTime, String getJobEndTime, String shouldGetBeginTime, String shouldGetEndTime, String handleJobBeginTime, String handleJobEndTime, String shouldHandleBeginTime, String shouldHandleEndTime, Long deptId, Long userId, Long leaderId) { - alarmContent = converAlarmContent(alarmContent); - List> alarmJobList = this.baseMapper.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime, handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, deptId, userId, leaderId); + public List> jobListSearchApp(Page> page, JobListParam jobListParam, Long deptId, Long userId, Long leaderId) { + jobListParam.setAlarmContent(converAlarmContent(jobListParam.getAlarmContent())); + List> alarmJobList = this.baseMapper.jobListSearchApp(page, jobListParam.getKeywords(), + jobListParam.getAlarmLevel(), jobListParam.getAlarmContent(), jobListParam.getJobStatus(), jobListParam.getBeginTime(), + jobListParam.getEndTime(), jobListParam.getGetJobBeginTime(), jobListParam.getGetJobEndTime(), jobListParam.getShouldGetBeginTime(), + jobListParam.getShouldGetEndTime(), jobListParam.getHandleJobBeginTime(), jobListParam.getHandleJobEndTime(), jobListParam.getShouldHandleBeginTime(), + jobListParam.getShouldHandleEndTime(), deptId, userId, leaderId); return alarmJobList; } - private String converAlarmContent(String alarmContent){ - if(StrUtil.isEmpty(alarmContent)){ + private String converAlarmContent(String alarmContent) { + if (StrUtil.isEmpty(alarmContent)) { return alarmContent; - }else { + } else { return EhcacheConstant.retBean().getAlarmContentName(Integer.valueOf(alarmContent)); } } @Override - public List> jobInfo(int id, DataScope dataScope, Long personId) - { - List> job = this.baseMapper.jobInfo(id,dataScope,personId); + public List> jobInfo(int id, DataScope dataScope, Long personId) { + List> job = this.baseMapper.jobInfo(id, dataScope, personId); return job; } @Override - public Map countByJobStatus(long deptId,int spanDays) { - return this.baseMapper.countByJobStatus(deptId,spanDays); + public Map countByJobStatus(long deptId, int spanDays) { + return this.baseMapper.countByJobStatus(deptId, spanDays); } @Override - public Map countMyJob(long userId,long deptId,int spanDays) { - return this.baseMapper.countMyJob(userId,deptId,spanDays); + public Map countMyJob(long userId, long deptId, int spanDays) { + return this.baseMapper.countMyJob(userId, deptId, spanDays); } @Override @@ -156,54 +164,54 @@ Calendar now = Calendar.getInstance(); Date getTime = now.getTime(); - if(isWeekend(now)){ + if (isWeekend(now)) { now.add(Calendar.WEEK_OF_YEAR, 1); - now.set(Calendar.DAY_OF_WEEK ,Calendar.TUESDAY); - now.set(Calendar.HOUR_OF_DAY,8); - now.set(Calendar.MINUTE,0); - now.set(Calendar.SECOND,0); - }else { + now.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY); + now.set(Calendar.HOUR_OF_DAY, 8); + now.set(Calendar.MINUTE, 0); + now.set(Calendar.SECOND, 0); + } else { now.add(Calendar.HOUR, 24); - while(isWeekend(now)){ + while (isWeekend(now)) { now.add(Calendar.HOUR, 24); } } Date shouldHandleTime = now.getTime(); - if(Boolean.getBoolean(useOverTime)){ + if (Boolean.getBoolean(useOverTime)) { System.out.println(shouldHandleTime); String jobName = "getJobDelay" + id; - Map map = new HashMap<>(); - map.put("jobId",id); - map.put("iAlarmJobService",this); - map.put("iCommonUserService",iCommonUserService); - map.put("iQuartzManager",quartzManager); - map.put("webSocket",webSocket); - quartzManager.addJob(jobName, DelayJob.class,shouldHandleTime,map); + Map map = new HashMap<>(); + map.put("jobId", id); + map.put("iAlarmJobService", this); + map.put("iCommonUserService", iCommonUserService); + map.put("iQuartzManager", quartzManager); + map.put("webSocket", webSocket); + quartzManager.addJob(jobName, DelayJob.class, shouldHandleTime, map); } - return this.baseMapper.getJob(id,personId,getTime,shouldHandleTime); + return this.baseMapper.getJob(id, personId, getTime, shouldHandleTime); } - private boolean isWeekend(Calendar cal){ - if(cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY){ + private boolean isWeekend(Calendar cal) { + if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) { return true; - } else{ + } else { return false; } } @Override - public boolean confirmJob(int id,long personId, String firstState, String firstStatePhotos, String needHandle) { - if ("1".equals(needHandle)){ - return this.baseMapper.confirmJob(id,personId, firstState, firstStatePhotos, needHandle); + public boolean confirmJob(int id, long personId, String firstState, String firstStatePhotos, String needHandle) { + if ("1".equals(needHandle)) { + return this.baseMapper.confirmJob(id, personId, firstState, firstStatePhotos, needHandle); } else { - return this.baseMapper.confirmOverJobAndAlarm(id, personId,firstState, firstStatePhotos); + return this.baseMapper.confirmOverJobAndAlarm(id, personId, firstState, firstStatePhotos) && this.baseMapper.confirmOverAlarmRecords(id); } } @Override - public boolean transferJob(int id, long transferPerson,String flowRec) { - return this.baseMapper.transferJob(id, transferPerson,flowRec); + public boolean transferJob(int id, long transferPerson, String flowRec) { + return this.baseMapper.transferJob(id, transferPerson, flowRec); } @Override @@ -212,10 +220,11 @@ } @Override - public boolean overJob(int id,long personId, String handleMessage, String handlePhotos) { - return this.baseMapper.overJobAndAlarm(id, personId,handleMessage, handlePhotos); + public boolean overJob(int id, long personId, String handleMessage, String handlePhotos) { + return this.baseMapper.overJobAndAlarm(id, personId, handleMessage, handlePhotos) && this.baseMapper.overJobAlarmRecrds(id); // return this.baseMapper.overJob(id, personId,handleMessage, handlePhotos); } + @Override public boolean overAlarm(int jobId) { return this.baseMapper.overAlarm(jobId); @@ -223,15 +232,15 @@ } @Override - public boolean handleJob(int id,long personId) { - return this.baseMapper.handleJob(id,personId); + public boolean handleJob(int id, long personId) { + return this.baseMapper.handleJob(id, personId); } @Override public boolean checkJobStatus(String jobStatus) { - if(StrUtil.isEmpty(jobStatus)){ + if (StrUtil.isEmpty(jobStatus)) { return false; - }else{ + } else { return "1".equals(jobStatus) || "2".equals(jobStatus) || "3".equals(jobStatus); } } @@ -242,10 +251,10 @@ } - public List selectRoles() { return this.baseMapper.selectRoles(); } + public List selectUseIds(List roleIds) { return this.baseMapper.selectUseIds(roleIds); } @@ -254,50 +263,58 @@ public boolean checkPcRole(Set roleTips) { List roleList = new ArrayList<>(roleTips); Iterator it = roleList.iterator(); - while (it.hasNext()){ + while (it.hasNext()) { String role = it.next(); - if(role.equals(sApp)||role.equals(sLeader)||role.equals(sMember)){ + if (role.equals(sApp) || role.equals(sLeader) || role.equals(sMember)) { it.remove(); } } - return roleList.size()>0; + return roleList.size() > 0; } @Override - public Integer countByDataScope(DataScope dataScope, String alarmType, String jobStatus, String beginTime,String endTime) { - List> res = this.baseMapper.countByDataScope(dataScope,alarmType,jobStatus,beginTime,endTime); + public Integer countByDataScope(DataScope dataScope, String alarmType, String jobStatus, String beginTime, String endTime) { +// try { +// Date startTime = timeFormat.parse(beginTime); +// Date lastTime = timeFormat.parse(endTime); + List> res = this.baseMapper.countByDataScope(dataScope, alarmType, jobStatus, beginTime, endTime); return res.size(); +// +// } catch (ParseException ex) { +// log.error("主题:日期格式转换出错,开始日期{},结束日期{},异常信息{}",beginTime,endTime,ex); +// } +// return null; } @Override - public Integer countByResponse(String alarmType, String jobStatus, Long deptId, String beginTime,String endTime) { - return this.baseMapper.countByResponse(alarmType,jobStatus,deptId,beginTime,endTime); + public Integer countByResponse(String alarmType, String jobStatus, Long deptId, String beginTime, String endTime) { + return this.baseMapper.countByResponse(alarmType, jobStatus, deptId, beginTime, endTime); } @Override - public Integer countByUser(String alarmType, String jobStatus, Long userId, String beginTime,String endTime) { - return this.baseMapper.countByUser(alarmType,jobStatus,userId,beginTime,endTime); + public Integer countByUser(String alarmType, String jobStatus, Long userId, String beginTime, String endTime) { + return this.baseMapper.countByUser(alarmType, jobStatus, userId, beginTime, endTime); } @Override - public void updateSinkJob(String id, String msg,String wellCode) { + public void updateSinkJob(String id, String msg, String wellCode) { List userClientViewList = new ArrayList<>(); List selectDtoList = selectRoles(); QueryWrapper busWellInfoEntityWrapper = new QueryWrapper<>(); - busWellInfoEntityWrapper.eq("WELL_CODE",wellCode); + busWellInfoEntityWrapper.eq("WELL_CODE", wellCode); BusWellInfo busWellInfo = busWellInfoService.selectOne(busWellInfoEntityWrapper); - if(busWellInfo!=null&&StrUtil.isNotEmpty(busWellInfo.getDeptid())){ - List roleids= new ArrayList<>(); - for(SelectDto selectDto:selectDtoList){ - if(StrUtil.isNotEmpty(selectDto.getName()) - && Arrays.asList(selectDto.getName().split(",")).contains(busWellInfo.getDeptid())){ + if (busWellInfo != null && StrUtil.isNotEmpty(busWellInfo.getDeptid())) { + List roleids = new ArrayList<>(); + for (SelectDto selectDto : selectDtoList) { + if (StrUtil.isNotEmpty(selectDto.getName()) + && Arrays.asList(selectDto.getName().split(",")).contains(busWellInfo.getDeptid())) { roleids.add(selectDto.getId()); } } - if(roleids.size()>0){ + if (roleids.size() > 0) { List useIds = selectUseIds(roleids); - for(Long useId:useIds){ + for (Long useId : useIds) { UserClientView userClientView = new UserClientView(); userClientView.setClientid(useId.toString()); userClientView.setId(useId.toString()); @@ -306,11 +323,11 @@ } } - if(!("null".equals(id))){ + if (!("null".equals(id))) { AlarmJob alarmJob = this.baseMapper.selectById(id); sendJob(id, alarmJob, userClientViewList);//推送工单至app和pc端 } - if(StrUtil.isNotBlank(msg)){ + if (StrUtil.isNotBlank(msg)) { sendAlarm(msg, userClientViewList);//推送告警至app和pc端 } @@ -385,7 +402,7 @@ } Date shouldHandleTime = now.getTime(); - if(Boolean.getBoolean(useOverTime)) { + if (Boolean.getBoolean(useOverTime)) { System.out.println(shouldHandleTime); String jobName = "getJobDelay" + id; Map map = new HashMap<>(); 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 6a426fa..c6689dd 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 @@ -14,11 +14,15 @@ 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.model.JobListParam; import com.casic.missiles.modular.alarm.service.IAlarmJobService; + import com.casic.missiles.modular.alarm.service.ISysDictService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; @@ -31,10 +35,8 @@ import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.text.ParseException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; /** @@ -44,6 +46,7 @@ * @Date 2019-05-17 10:48:36 */ @Controller +@Slf4j @RequestMapping("/job") public class AlarmJobController extends ExportController { @@ -69,6 +72,13 @@ private String templatePath; + /** + * 统计接口,统计工单状态的数量 + * + * @param httpServletRequest + * @return + * @throws ParseException + */ @RequestMapping(value = "/countByJobStatus") @ResponseBody public Object countByJobStatus(HttpServletRequest httpServletRequest) throws ParseException { @@ -164,7 +174,7 @@ private void alarmJobWrapper(Map map) { // 设置人员姓名 for (String key : map.keySet()) { - if (key.contains("JobPerson") || key.contains("jobBelongTo")) { + 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))); @@ -174,7 +184,7 @@ } //设置闸井相关字段 - String wellCode = map.get("wellCode").toString(); + String wellCode = map.get("wellcode").toString(); Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode); // 设置权属单位、负责人、联系电话 String deptidStr = wellInfoMap.get("deptid").toString(); @@ -187,23 +197,25 @@ wellInfoMap.replace("tel", ""); } else { Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr); - wellInfoMap.putAll(userInfoMap); + if (!ObjectUtil.isEmpty(userInfoMap)) { + wellInfoMap.putAll(userInfoMap); + } } } map.putAll(wellInfoMap); // 告警类型 - String alarmTypeStr = map.get("alarmType").toString(); - map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr)); + String alarmTypeStr = map.get("alarmtype").toString(); + map.put("alarmtypename", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr)); // 告警内容 - String alarmContentNameStr = map.get("alarmContentName").toString(); + 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 (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); @@ -219,12 +231,12 @@ } // 工单状态 - String jobStatusStr = map.get("jobStatus").toString(); + String jobStatusStr = map.get("jobstatus").toString(); map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr)); // 告警值 if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) { - map.replace("alarmValue", "--"); + map.replace("alarmvalue", "--"); } // 流转记录(工单详情用) @@ -243,31 +255,26 @@ */ @RequestMapping(value = "/searchList") @ResponseBody - public Object jobListSearch(String keywords, String alarmLevel, String alarmContent, String jobStatus, String beginTime, String endTime, - String getJobBeginTime, String getJobEndTime, String shouldGetBeginTime, String shouldGetEndTime, - String handleJobBeginTime, String handleJobEndTime, String shouldHandleBeginTime, String shouldHandleEndTime) { - + public Object jobListSearch(@RequestBody JobListParam jobListParam) { Page> page = PageFactory.defaultPage(); DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser(); List> retList = new ArrayList<>(); if (alarmJobService.checkPcRole(currentUser.getRoleTips())) { // pc角色 - retList = alarmJobService.jobListSearch(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime, - handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, dataScope, currentUser.getId()); + retList = alarmJobService.jobListSearch(page, jobListParam, dataScope, currentUser.getId()); } else { //app角色 long leaderId = 0L; if (currentUser.getRoleTips().contains(sLeader)) { // 组长,查组内全部 leaderId = currentUser.getId(); - if (StrUtil.isNotEmpty(jobStatus)) { + if (StrUtil.isNotEmpty(jobListParam.getJobStatus())) { //learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前) - page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus)); + page.setSearchCount(!alarmJobService.checkJobStatus(jobListParam.getJobStatus())); } } - retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime, - handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId); + retList = alarmJobService.jobListSearchApp(page, jobListParam, currentUser.getDeptId(), currentUser.getId(), leaderId); } retList.forEach(this::alarmJobWrapper); page.setRecords(retList); @@ -371,11 +378,13 @@ String alarmTypeStr = httpServletRequest.getParameter("alarmType"); String alarmContentStr = httpServletRequest.getParameter("alarmContentType"); - List> jobExpList = new ArrayList<>(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser(); - jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId()); + List> jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId()); + jobExpList.forEach(this::alarmJobWrapper); + FileInputStream fileInputStream = null; if (CollectionUtil.isEmpty(jobExpList)) { fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx"); @@ -458,12 +467,13 @@ @RequestParam(value = "transferPerson", required = true) String transferPerson) { AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser(); - - String dbTime = iSysDictService.getDBtime(); + SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); +// String dbTime = iSysDictService.getDBtime(); + Date dbTime = new Date(); JSONObject jsonObject = new JSONObject(); jsonObject.put("from", currentUser.getName()); jsonObject.put("to", EhcacheConstant.retBean().getUsernameById(Long.valueOf(transferPerson))); - jsonObject.put("time", dbTime); + jsonObject.put("time", dateFormat.format(dbTime)); if (alarmJobService.transferJob(id, Long.valueOf(transferPerson), jsonObject.toString())) { return ResponseData.success(); @@ -472,6 +482,7 @@ } } + /** * 保存工单信息及图片 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/model/JobListParam.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/model/JobListParam.java new file mode 100644 index 0000000..c83bff8 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/model/JobListParam.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.alarm.model; + + +import lombok.Data; + +/** + * @author cz + * @date 2022-6-13 17:03 + */ +@Data +public class JobListParam { + /** + * 关键字 + */ + private String keywords; + /** + * 风险等级 + */ + private String alarmLevel; + private String alarmContent; + private String jobStatus; + private String beginTime; + private String endTime; + private String getJobBeginTime; + private String getJobEndTime; + private String shouldGetBeginTime; + private String shouldGetEndTime; + private String handleJobBeginTime; + private String handleJobEndTime; + private String shouldHandleBeginTime; + private String shouldHandleEndTime; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmJobService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmJobService.java index f29f2e2..5f47018 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmJobService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmJobService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.alarm.model.JobListParam; import com.casic.missiles.modular.system.dto.UserClientView; import com.casic.missiles.modular.system.model.AlarmJob; @@ -19,42 +20,56 @@ * @since 2019-05-17 */ public interface IAlarmJobService extends IService { - List> jobList( Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType,String alarmContent, DataScope dataScope,Long userId); - List> jobListApp( Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType,String alarmContent,Long deptId,Long userId,Long leaderId); + List> jobList(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, DataScope dataScope, Long userId); + + List> jobListApp(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, Long deptId, Long userId, Long leaderId); // List jobListExport( Page page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType,String alarmContent, DataScope dataScope); - List> jobListDelayRe( Page> page, String keywords, String beginTime, String endTime, String alarmType,String alarmContent, DataScope dataScope,Long userId); - List> jobListDelayReApp( Page> page, String keywords, String beginTime, String endTime, String alarmType,String alarmContent, Long deptId,Long userId,Long leaderId); + List> jobListDelayRe(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, DataScope dataScope, Long userId); - List> jobListDelayPro( Page> page, String keywords, String beginTime, String endTime, String alarmType,String alarmContent, DataScope dataScope,Long userId ); - List> jobListDelayProApp( Page> page, String keywords, String beginTime, String endTime, String alarmType,String alarmContent, Long deptId,Long userId,Long leaderId); + List> jobListDelayReApp(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, Long deptId, Long userId, Long leaderId); - List> jobListSearch(Page> page, String keywords, String alarmLevel, String alarmContent, String jobStatus, String beginTime,String endTime, - String getJobBeginTime, String getJobEndTime, String shouldGetBeginTime, String shouldGetEndTime, String handleJobBeginTime, String handleJobEndTime, - String shouldHandleBeginTime, String shouldHandleEndTime, DataScope dataScope,Long userId); - List> jobListSearchApp(Page> page, String keywords, String alarmLevel, String alarmContent, String jobStatus, String beginTime,String endTime, - String getJobBeginTime, String getJobEndTime, String shouldGetBeginTime, String shouldGetEndTime, String handleJobBeginTime, String handleJobEndTime, - String shouldHandleBeginTime, String shouldHandleEndTime, Long deptId, Long userId, Long leaderId); - List> jobInfo(int id, DataScope dataScope,Long personId); + List> jobListDelayPro(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, DataScope dataScope, Long userId); + + List> jobListDelayProApp(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, Long deptId, Long userId, Long leaderId); + + List> jobListSearch(Page> page, JobListParam jobListParam, DataScope dataScope, Long userId); + + List> jobListSearchApp(Page> page, JobListParam jobListParam, Long deptId, Long userId, Long leaderId); + + List> jobInfo(int id, DataScope dataScope, Long personId); + boolean getJob(int id, long personId); - boolean confirmJob(int id,long personId,String firstState, String firstStatePhotos, String needHandle); - boolean transferJob(int id, long transferPerson,String flowRec); - boolean saveJob( int id,String handleMessage, String handlePhotos); - boolean overJob( int id,long personId, String handleMessage, String handlePhotos); - boolean overAlarm( int id); - boolean handleJob(int id,long personId); - Map countByJobStatus(long deptId,int spanDays); - Map countMyJob(long userId,long deptId,int spanDays); + boolean confirmJob(int id, long personId, String firstState, String firstStatePhotos, String needHandle); + + boolean transferJob(int id, long transferPerson, String flowRec); + + boolean saveJob(int id, String handleMessage, String handlePhotos); + + boolean overJob(int id, long personId, String handleMessage, String handlePhotos); + + boolean overAlarm(int id); + + boolean handleJob(int id, long personId); + + Map countByJobStatus(long deptId, int spanDays); + + Map countMyJob(long userId, long deptId, int spanDays); boolean checkJobStatus(String jobStatus); + boolean checkPcRole(Set roleTips); - Integer countByDataScope(DataScope dataScope,String alarmType, String jobStatus,String beginTime,String endTime); - Integer countByResponse(String alarmType,String jobStatus,Long deptId,String beginTime,String endTime); - Integer countByUser(String alarmType,String jobStatus,Long userId,String beginTime,String endTime); + Integer countByDataScope(DataScope dataScope, String alarmType, String jobStatus, String beginTime, String endTime); - void updateSinkJob(String id,String msg,String wellCode); + Integer countByResponse(String alarmType, String jobStatus, Long deptId, String beginTime, String endTime); + + Integer countByUser(String alarmType, String jobStatus, Long userId, String beginTime, String endTime); + + void updateSinkJob(String id, String msg, String wellCode); + List selectUserByWellCode(String wellCode); + String selectClientIdByUser(Long userId); } 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 2d8cb7d..5ef681b 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 @@ -11,6 +11,7 @@ import com.casic.missiles.core.util.EhcacheConstant; import com.casic.missiles.modular.alarm.job.DelayJob; import com.casic.missiles.modular.alarm.job.HandleAlarmJob; +import com.casic.missiles.modular.alarm.model.JobListParam; import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.modular.system.dao.AlarmJobMapper; import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; @@ -24,12 +25,14 @@ import com.casic.missiles.modular.system.util.WebSocket; import com.casic.missiles.quartz.service.IQuartzManager; import com.gexin.rp.sdk.base.IPushResult; +import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -43,6 +46,7 @@ * @since 2019-05-17 */ @Service +@Slf4j public class AlarmJobServiceImpl extends ServiceImpl implements IAlarmJobService { private static final Logger logger = LoggerFactory.getLogger(AlarmJobServiceImpl.class); @@ -72,9 +76,10 @@ 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) { + public List> jobList(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, DataScope dataScope, Long userId) { alarmContent = converAlarmContent(alarmContent); - List> alarmJobList = this.baseMapper.jobList(page, keywords, beginTime, endTime, jobStatus, alarmType, alarmContent, dataScope,userId);return alarmJobList; + List> alarmJobList = this.baseMapper.jobList(page, keywords, beginTime, endTime, jobStatus, alarmType, alarmContent, dataScope, userId); + return alarmJobList; } @Override @@ -85,9 +90,9 @@ } @Override - public List> jobListDelayRe(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, DataScope dataScope,Long userId) { + public List> jobListDelayRe(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, DataScope dataScope, Long userId) { alarmContent = converAlarmContent(alarmContent); - List> alarmJobList = this.baseMapper.jobListDelayRe(page, keywords, beginTime, endTime, alarmType, alarmContent, dataScope,userId); + List> alarmJobList = this.baseMapper.jobListDelayRe(page, keywords, beginTime, endTime, alarmType, alarmContent, dataScope, userId); return alarmJobList; } @@ -99,9 +104,9 @@ } @Override - public List> jobListDelayPro(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, DataScope dataScope,Long userId) { + public List> jobListDelayPro(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, DataScope dataScope, Long userId) { alarmContent = converAlarmContent(alarmContent); - List> alarmJobList = this.baseMapper.jobListDelayPro(page, keywords, beginTime, endTime, alarmType, alarmContent, dataScope,userId); + List> alarmJobList = this.baseMapper.jobListDelayPro(page, keywords, beginTime, endTime, alarmType, alarmContent, dataScope, userId); return alarmJobList; } @@ -113,42 +118,45 @@ } @Override - public List> jobListSearch(Page> page, String keywords, String alarmLevel, String alarmContent, String jobStatus, String beginTime, String endTime, String getJobBeginTime, String getJobEndTime, String shouldGetBeginTime, String shouldGetEndTime, String handleJobBeginTime, String handleJobEndTime, String shouldHandleBeginTime, String shouldHandleEndTime, DataScope dataScope,Long userId) { - alarmContent = converAlarmContent(alarmContent); - List> alarmJobList = this.baseMapper.jobListSearch(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime, handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, dataScope,userId); + public List> jobListSearch(Page> page, JobListParam jobListParam, DataScope dataScope, Long userId) { + jobListParam.setAlarmContent(converAlarmContent(jobListParam.getAlarmContent())); + List> alarmJobList = this.baseMapper.jobListSearch(page, jobListParam, dataScope, userId); return alarmJobList; } @Override - public List> jobListSearchApp(Page> page, String keywords, String alarmLevel, String alarmContent, String jobStatus, String beginTime, String endTime, String getJobBeginTime, String getJobEndTime, String shouldGetBeginTime, String shouldGetEndTime, String handleJobBeginTime, String handleJobEndTime, String shouldHandleBeginTime, String shouldHandleEndTime, Long deptId, Long userId, Long leaderId) { - alarmContent = converAlarmContent(alarmContent); - List> alarmJobList = this.baseMapper.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime, handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, deptId, userId, leaderId); + public List> jobListSearchApp(Page> page, JobListParam jobListParam, Long deptId, Long userId, Long leaderId) { + jobListParam.setAlarmContent(converAlarmContent(jobListParam.getAlarmContent())); + List> alarmJobList = this.baseMapper.jobListSearchApp(page, jobListParam.getKeywords(), + jobListParam.getAlarmLevel(), jobListParam.getAlarmContent(), jobListParam.getJobStatus(), jobListParam.getBeginTime(), + jobListParam.getEndTime(), jobListParam.getGetJobBeginTime(), jobListParam.getGetJobEndTime(), jobListParam.getShouldGetBeginTime(), + jobListParam.getShouldGetEndTime(), jobListParam.getHandleJobBeginTime(), jobListParam.getHandleJobEndTime(), jobListParam.getShouldHandleBeginTime(), + jobListParam.getShouldHandleEndTime(), deptId, userId, leaderId); return alarmJobList; } - private String converAlarmContent(String alarmContent){ - if(StrUtil.isEmpty(alarmContent)){ + private String converAlarmContent(String alarmContent) { + if (StrUtil.isEmpty(alarmContent)) { return alarmContent; - }else { + } else { return EhcacheConstant.retBean().getAlarmContentName(Integer.valueOf(alarmContent)); } } @Override - public List> jobInfo(int id, DataScope dataScope, Long personId) - { - List> job = this.baseMapper.jobInfo(id,dataScope,personId); + public List> jobInfo(int id, DataScope dataScope, Long personId) { + List> job = this.baseMapper.jobInfo(id, dataScope, personId); return job; } @Override - public Map countByJobStatus(long deptId,int spanDays) { - return this.baseMapper.countByJobStatus(deptId,spanDays); + public Map countByJobStatus(long deptId, int spanDays) { + return this.baseMapper.countByJobStatus(deptId, spanDays); } @Override - public Map countMyJob(long userId,long deptId,int spanDays) { - return this.baseMapper.countMyJob(userId,deptId,spanDays); + public Map countMyJob(long userId, long deptId, int spanDays) { + return this.baseMapper.countMyJob(userId, deptId, spanDays); } @Override @@ -156,54 +164,54 @@ Calendar now = Calendar.getInstance(); Date getTime = now.getTime(); - if(isWeekend(now)){ + if (isWeekend(now)) { now.add(Calendar.WEEK_OF_YEAR, 1); - now.set(Calendar.DAY_OF_WEEK ,Calendar.TUESDAY); - now.set(Calendar.HOUR_OF_DAY,8); - now.set(Calendar.MINUTE,0); - now.set(Calendar.SECOND,0); - }else { + now.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY); + now.set(Calendar.HOUR_OF_DAY, 8); + now.set(Calendar.MINUTE, 0); + now.set(Calendar.SECOND, 0); + } else { now.add(Calendar.HOUR, 24); - while(isWeekend(now)){ + while (isWeekend(now)) { now.add(Calendar.HOUR, 24); } } Date shouldHandleTime = now.getTime(); - if(Boolean.getBoolean(useOverTime)){ + if (Boolean.getBoolean(useOverTime)) { System.out.println(shouldHandleTime); String jobName = "getJobDelay" + id; - Map map = new HashMap<>(); - map.put("jobId",id); - map.put("iAlarmJobService",this); - map.put("iCommonUserService",iCommonUserService); - map.put("iQuartzManager",quartzManager); - map.put("webSocket",webSocket); - quartzManager.addJob(jobName, DelayJob.class,shouldHandleTime,map); + Map map = new HashMap<>(); + map.put("jobId", id); + map.put("iAlarmJobService", this); + map.put("iCommonUserService", iCommonUserService); + map.put("iQuartzManager", quartzManager); + map.put("webSocket", webSocket); + quartzManager.addJob(jobName, DelayJob.class, shouldHandleTime, map); } - return this.baseMapper.getJob(id,personId,getTime,shouldHandleTime); + return this.baseMapper.getJob(id, personId, getTime, shouldHandleTime); } - private boolean isWeekend(Calendar cal){ - if(cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY){ + private boolean isWeekend(Calendar cal) { + if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) { return true; - } else{ + } else { return false; } } @Override - public boolean confirmJob(int id,long personId, String firstState, String firstStatePhotos, String needHandle) { - if ("1".equals(needHandle)){ - return this.baseMapper.confirmJob(id,personId, firstState, firstStatePhotos, needHandle); + public boolean confirmJob(int id, long personId, String firstState, String firstStatePhotos, String needHandle) { + if ("1".equals(needHandle)) { + return this.baseMapper.confirmJob(id, personId, firstState, firstStatePhotos, needHandle); } else { - return this.baseMapper.confirmOverJobAndAlarm(id, personId,firstState, firstStatePhotos); + return this.baseMapper.confirmOverJobAndAlarm(id, personId, firstState, firstStatePhotos) && this.baseMapper.confirmOverAlarmRecords(id); } } @Override - public boolean transferJob(int id, long transferPerson,String flowRec) { - return this.baseMapper.transferJob(id, transferPerson,flowRec); + public boolean transferJob(int id, long transferPerson, String flowRec) { + return this.baseMapper.transferJob(id, transferPerson, flowRec); } @Override @@ -212,10 +220,11 @@ } @Override - public boolean overJob(int id,long personId, String handleMessage, String handlePhotos) { - return this.baseMapper.overJobAndAlarm(id, personId,handleMessage, handlePhotos); + public boolean overJob(int id, long personId, String handleMessage, String handlePhotos) { + return this.baseMapper.overJobAndAlarm(id, personId, handleMessage, handlePhotos) && this.baseMapper.overJobAlarmRecrds(id); // return this.baseMapper.overJob(id, personId,handleMessage, handlePhotos); } + @Override public boolean overAlarm(int jobId) { return this.baseMapper.overAlarm(jobId); @@ -223,15 +232,15 @@ } @Override - public boolean handleJob(int id,long personId) { - return this.baseMapper.handleJob(id,personId); + public boolean handleJob(int id, long personId) { + return this.baseMapper.handleJob(id, personId); } @Override public boolean checkJobStatus(String jobStatus) { - if(StrUtil.isEmpty(jobStatus)){ + if (StrUtil.isEmpty(jobStatus)) { return false; - }else{ + } else { return "1".equals(jobStatus) || "2".equals(jobStatus) || "3".equals(jobStatus); } } @@ -242,10 +251,10 @@ } - public List selectRoles() { return this.baseMapper.selectRoles(); } + public List selectUseIds(List roleIds) { return this.baseMapper.selectUseIds(roleIds); } @@ -254,50 +263,58 @@ public boolean checkPcRole(Set roleTips) { List roleList = new ArrayList<>(roleTips); Iterator it = roleList.iterator(); - while (it.hasNext()){ + while (it.hasNext()) { String role = it.next(); - if(role.equals(sApp)||role.equals(sLeader)||role.equals(sMember)){ + if (role.equals(sApp) || role.equals(sLeader) || role.equals(sMember)) { it.remove(); } } - return roleList.size()>0; + return roleList.size() > 0; } @Override - public Integer countByDataScope(DataScope dataScope, String alarmType, String jobStatus, String beginTime,String endTime) { - List> res = this.baseMapper.countByDataScope(dataScope,alarmType,jobStatus,beginTime,endTime); + public Integer countByDataScope(DataScope dataScope, String alarmType, String jobStatus, String beginTime, String endTime) { +// try { +// Date startTime = timeFormat.parse(beginTime); +// Date lastTime = timeFormat.parse(endTime); + List> res = this.baseMapper.countByDataScope(dataScope, alarmType, jobStatus, beginTime, endTime); return res.size(); +// +// } catch (ParseException ex) { +// log.error("主题:日期格式转换出错,开始日期{},结束日期{},异常信息{}",beginTime,endTime,ex); +// } +// return null; } @Override - public Integer countByResponse(String alarmType, String jobStatus, Long deptId, String beginTime,String endTime) { - return this.baseMapper.countByResponse(alarmType,jobStatus,deptId,beginTime,endTime); + public Integer countByResponse(String alarmType, String jobStatus, Long deptId, String beginTime, String endTime) { + return this.baseMapper.countByResponse(alarmType, jobStatus, deptId, beginTime, endTime); } @Override - public Integer countByUser(String alarmType, String jobStatus, Long userId, String beginTime,String endTime) { - return this.baseMapper.countByUser(alarmType,jobStatus,userId,beginTime,endTime); + public Integer countByUser(String alarmType, String jobStatus, Long userId, String beginTime, String endTime) { + return this.baseMapper.countByUser(alarmType, jobStatus, userId, beginTime, endTime); } @Override - public void updateSinkJob(String id, String msg,String wellCode) { + public void updateSinkJob(String id, String msg, String wellCode) { List userClientViewList = new ArrayList<>(); List selectDtoList = selectRoles(); QueryWrapper busWellInfoEntityWrapper = new QueryWrapper<>(); - busWellInfoEntityWrapper.eq("WELL_CODE",wellCode); + busWellInfoEntityWrapper.eq("WELL_CODE", wellCode); BusWellInfo busWellInfo = busWellInfoService.selectOne(busWellInfoEntityWrapper); - if(busWellInfo!=null&&StrUtil.isNotEmpty(busWellInfo.getDeptid())){ - List roleids= new ArrayList<>(); - for(SelectDto selectDto:selectDtoList){ - if(StrUtil.isNotEmpty(selectDto.getName()) - && Arrays.asList(selectDto.getName().split(",")).contains(busWellInfo.getDeptid())){ + if (busWellInfo != null && StrUtil.isNotEmpty(busWellInfo.getDeptid())) { + List roleids = new ArrayList<>(); + for (SelectDto selectDto : selectDtoList) { + if (StrUtil.isNotEmpty(selectDto.getName()) + && Arrays.asList(selectDto.getName().split(",")).contains(busWellInfo.getDeptid())) { roleids.add(selectDto.getId()); } } - if(roleids.size()>0){ + if (roleids.size() > 0) { List useIds = selectUseIds(roleids); - for(Long useId:useIds){ + for (Long useId : useIds) { UserClientView userClientView = new UserClientView(); userClientView.setClientid(useId.toString()); userClientView.setId(useId.toString()); @@ -306,11 +323,11 @@ } } - if(!("null".equals(id))){ + if (!("null".equals(id))) { AlarmJob alarmJob = this.baseMapper.selectById(id); sendJob(id, alarmJob, userClientViewList);//推送工单至app和pc端 } - if(StrUtil.isNotBlank(msg)){ + if (StrUtil.isNotBlank(msg)) { sendAlarm(msg, userClientViewList);//推送告警至app和pc端 } @@ -385,7 +402,7 @@ } Date shouldHandleTime = now.getTime(); - if(Boolean.getBoolean(useOverTime)) { + if (Boolean.getBoolean(useOverTime)) { System.out.println(shouldHandleTime); String jobName = "getJobDelay" + id; Map map = new HashMap<>(); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmJobMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmJobMapper.java index fe07eff..958a1ad 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmJobMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmJobMapper.java @@ -2,12 +2,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.alarm.model.JobListParam; import com.casic.missiles.modular.system.dto.SelectDto; import com.casic.missiles.modular.system.dto.UserClientView; import com.casic.missiles.modular.system.model.AlarmJob; import com.casic.missiles.core.datascope.DataScope; import org.apache.ibatis.annotations.Param; +import java.sql.Timestamp; import java.util.Date; import java.util.List; import java.util.Map; @@ -21,44 +23,67 @@ * @since 2019-05-17 */ public interface AlarmJobMapper extends BaseMapper { - List> jobList(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("jobStatus") String jobStatus, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent, @Param("dataScope") DataScope dataScope,@Param("userId")Long userId); - List> jobListApp(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("jobStatus") String jobStatus, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent,@Param("deptId")Long deptId,@Param("userId")Long userId,@Param("leaderId")Long leaderId); + List> jobList(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("jobStatus") String jobStatus, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent, @Param("dataScope") DataScope dataScope, @Param("userId") Long userId); + + List> jobListApp(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("jobStatus") String jobStatus, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent, @Param("deptId") Long deptId, @Param("userId") Long userId, @Param("leaderId") Long leaderId); + // List jobListExport(@Param("page") Page page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("jobStatus") String jobStatus, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent,@Param("dataScope") DataScope dataScope); - List> jobListDelayRe(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent,@Param("dataScope") DataScope dataScope,@Param("userId")Long userId); - List> jobListDelayReApp(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent,@Param("deptId")Long deptId,@Param("userId")Long userId,@Param("leaderId")Long leaderId); + List> jobListDelayRe(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent, @Param("dataScope") DataScope dataScope, @Param("userId") Long userId); - List> jobListDelayPro(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent,@Param("dataScope") DataScope dataScope,@Param("userId")Long userId); - List> jobListDelayProApp(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent,@Param("deptId")Long deptId,@Param("userId")Long userId,@Param("leaderId")Long leaderId); + List> jobListDelayReApp(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent, @Param("deptId") Long deptId, @Param("userId") Long userId, @Param("leaderId") Long leaderId); - List> jobListSearchApp(@Param("page") Page> page, @Param("keywords") String keywords, @Param("alarmLevel")String alarmLevel, @Param("alarmContent") String alarmContent, @Param("jobStatus") String jobStatus, @Param("beginTime") String beginTime, @Param("endTime") String endTime, - @Param("getJobBeginTime") String getJobBeginTime, @Param("getJobEndTime") String getJobEndTime, @Param("shouldGetBeginTime") String shouldGetBeginTime, @Param("shouldGetEndTime") String shouldGetEndTime, - @Param("handleJobBeginTime") String handleJobBeginTime, @Param("handleJobEndTime") String handleJobEndTime, @Param("shouldHandleBeginTime") String shouldHandleBeginTime, @Param("shouldHandleEndTime") String shouldHandleEndTime, - @Param("deptId")Long deptId, @Param("userId")Long userId, @Param("leaderId")Long leaderId); - List> jobListSearch(@Param("page") Page> page, @Param("keywords") String keywords, @Param("alarmLevel")String alarmLevel, @Param("alarmContent") String alarmContent, @Param("jobStatus") String jobStatus, @Param("beginTime") String beginTime, @Param("endTime") String endTime, - @Param("getJobBeginTime") String getJobBeginTime, @Param("getJobEndTime") String getJobEndTime, @Param("shouldGetBeginTime") String shouldGetBeginTime, @Param("shouldGetEndTime") String shouldGetEndTime, - @Param("handleJobBeginTime") String handleJobBeginTime, @Param("handleJobEndTime") String handleJobEndTime, @Param("shouldHandleBeginTime") String shouldHandleBeginTime, @Param("shouldHandleEndTime") String shouldHandleEndTime, - @Param("dataScope") DataScope dataScope,@Param("userId")Long userId); + List> jobListDelayPro(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent, @Param("dataScope") DataScope dataScope, @Param("userId") Long userId); - Map countByJobStatus(@Param("deptId")long deptId,@Param("spanDays") int spanDays); - Map countMyJob(@Param("userId")long userId,@Param("deptId")long deptId,@Param("spanDays") int spanDays); - List> jobInfo(@Param("id") int id,@Param("dataScope") DataScope dataScope,@Param("personId") Long personId); -// boolean getJob(@Param("id") int id,@Param("personId") long personId); - boolean getJob(@Param("id") int id,@Param("personId") long personId,@Param("getTime")Date getTime ,@Param("shouldHandleTime")Date shouldHandleTime); - boolean confirmJob(@Param("id") int id,@Param("personId") long personId,@Param("firstState") String firstState,@Param("firstStatePhotos") String firstStatePhotos,@Param("needHandle") String needHandle); - boolean confirmOverJobAndAlarm(@Param("id") int id,@Param("personId") long personId,@Param("firstState") String firstState,@Param("firstStatePhotos") String firstStatePhotos); - boolean transferJob(@Param("id") int id,@Param("transferPerson") long transferPerson,@Param("flowRec") String flowRec); - boolean saveJob(@Param("id") int id,@Param("handleMessage") String handleMessage,@Param("handlePhotos") String handlePhotos); - boolean overJob(@Param("id") int id,@Param("personId") long personId,@Param("handleMessage") String handleMessage,@Param("handlePhotos") String handlePhotos); + List> jobListDelayProApp(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent, @Param("deptId") Long deptId, @Param("userId") Long userId, @Param("leaderId") Long leaderId); + + List> jobListSearchApp(@Param("page") Page> page, @Param("keywords") String keywords, @Param("alarmLevel") String alarmLevel, @Param("alarmContent") String alarmContent, @Param("jobStatus") String jobStatus, @Param("beginTime") String beginTime, @Param("endTime") String endTime, + @Param("getJobBeginTime") String getJobBeginTime, @Param("getJobEndTime") String getJobEndTime, @Param("shouldGetBeginTime") String shouldGetBeginTime, @Param("shouldGetEndTime") String shouldGetEndTime, + @Param("handleJobBeginTime") String handleJobBeginTime, @Param("handleJobEndTime") String handleJobEndTime, @Param("shouldHandleBeginTime") String shouldHandleBeginTime, @Param("shouldHandleEndTime") String shouldHandleEndTime, + @Param("deptId") Long deptId, @Param("userId") Long userId, @Param("leaderId") Long leaderId); + + List> jobListSearch(@Param("page") Page> page, @Param("jobListParam") JobListParam jobListParam, + @Param("dataScope") DataScope dataScope, @Param("userId") Long userId); + + Map countByJobStatus(@Param("deptId") long deptId, @Param("spanDays") int spanDays); + + Map countMyJob(@Param("userId") long userId, @Param("deptId") long deptId, @Param("spanDays") int spanDays); + + List> jobInfo(@Param("id") int id, @Param("dataScope") DataScope dataScope, @Param("personId") Long personId); + + // boolean getJob(@Param("id") int id,@Param("personId") long personId); + boolean getJob(@Param("id") int id, @Param("personId") long personId, @Param("getTime") Date getTime, @Param("shouldHandleTime") Date shouldHandleTime); + + boolean confirmJob(@Param("id") int id, @Param("personId") long personId, @Param("firstState") String firstState, @Param("firstStatePhotos") String firstStatePhotos, @Param("needHandle") String needHandle); + + boolean confirmOverJobAndAlarm(@Param("id") int id, @Param("personId") long personId, @Param("firstState") String firstState, @Param("firstStatePhotos") String firstStatePhotos); + + boolean confirmOverAlarmRecords(@Param("id") int id); + + boolean transferJob(@Param("id") int id, @Param("transferPerson") long transferPerson, @Param("flowRec") String flowRec); + + boolean saveJob(@Param("id") int id, @Param("handleMessage") String handleMessage, @Param("handlePhotos") String handlePhotos); + + boolean overJob(@Param("id") int id, @Param("personId") long personId, @Param("handleMessage") String handleMessage, @Param("handlePhotos") String handlePhotos); + boolean overAlarm(@Param("jobId") int id); - boolean overJobAndAlarm(@Param("id") int id,@Param("personId") long personId,@Param("handleMessage") String handleMessage,@Param("handlePhotos") String handlePhotos); - boolean handleJob(@Param("id") int id,@Param("personId") long personId); - List> countByDataScope(@Param("dataScope") DataScope dataScope,@Param("alarmType")String alarmType,@Param("jobStatus")String jobStatus,@Param("beginTime")String beginTime,@Param("endTime")String endTime); - Integer countByResponse(@Param("alarmType")String alarmType,@Param("jobStatus")String jobStatus,@Param("deptId") Long deptId,@Param("beginTime")String beginTime,@Param("endTime")String endTime); - Integer countByUser(@Param("alarmType")String alarmType,@Param("jobStatus")String jobStatus,@Param("userId") Long userId,@Param("beginTime")String beginTime,@Param("endTime")String endTime); + boolean overJobAndAlarm(@Param("id") int id, @Param("personId") long personId, @Param("handleMessage") String handleMessage, @Param("handlePhotos") String handlePhotos); + + boolean overJobAlarmRecrds(@Param("id") int id); + + boolean handleJob(@Param("id") int id, @Param("personId") long personId); + + List> countByDataScope(@Param("dataScope") DataScope dataScope, @Param("alarmType") String alarmType, @Param("jobStatus") String jobStatus, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + Integer countByResponse(@Param("alarmType") String alarmType, @Param("jobStatus") String jobStatus, @Param("deptId") Long deptId, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + Integer countByUser(@Param("alarmType") String alarmType, @Param("jobStatus") String jobStatus, @Param("userId") Long userId, @Param("beginTime") String beginTime, @Param("endTime") String endTime); String selectClientIdByUser(@Param("userId") Long userId); + List selectUserByWellCode(@Param("wellCode") String wellCode); + List selectUseIds(@Param("roleIds") List roleIds); + List selectRoles(); } 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 6a426fa..c6689dd 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 @@ -14,11 +14,15 @@ 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.model.JobListParam; import com.casic.missiles.modular.alarm.service.IAlarmJobService; + import com.casic.missiles.modular.alarm.service.ISysDictService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; @@ -31,10 +35,8 @@ import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.text.ParseException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; /** @@ -44,6 +46,7 @@ * @Date 2019-05-17 10:48:36 */ @Controller +@Slf4j @RequestMapping("/job") public class AlarmJobController extends ExportController { @@ -69,6 +72,13 @@ private String templatePath; + /** + * 统计接口,统计工单状态的数量 + * + * @param httpServletRequest + * @return + * @throws ParseException + */ @RequestMapping(value = "/countByJobStatus") @ResponseBody public Object countByJobStatus(HttpServletRequest httpServletRequest) throws ParseException { @@ -164,7 +174,7 @@ private void alarmJobWrapper(Map map) { // 设置人员姓名 for (String key : map.keySet()) { - if (key.contains("JobPerson") || key.contains("jobBelongTo")) { + 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))); @@ -174,7 +184,7 @@ } //设置闸井相关字段 - String wellCode = map.get("wellCode").toString(); + String wellCode = map.get("wellcode").toString(); Map wellInfoMap = EhcacheConstant.retBean().getWellInfoViaCode(wellCode); // 设置权属单位、负责人、联系电话 String deptidStr = wellInfoMap.get("deptid").toString(); @@ -187,23 +197,25 @@ wellInfoMap.replace("tel", ""); } else { Map userInfoMap = EhcacheConstant.retBean().getUserInfoById(staffstr); - wellInfoMap.putAll(userInfoMap); + if (!ObjectUtil.isEmpty(userInfoMap)) { + wellInfoMap.putAll(userInfoMap); + } } } map.putAll(wellInfoMap); // 告警类型 - String alarmTypeStr = map.get("alarmType").toString(); - map.put("alarmTypeName", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr)); + String alarmTypeStr = map.get("alarmtype").toString(); + map.put("alarmtypename", EhcacheConstant.retBean().getAlarmTypeNameByCodeNum(alarmTypeStr)); // 告警内容 - String alarmContentNameStr = map.get("alarmContentName").toString(); + 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 (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); @@ -219,12 +231,12 @@ } // 工单状态 - String jobStatusStr = map.get("jobStatus").toString(); + String jobStatusStr = map.get("jobstatus").toString(); map.put("jobStatusName", EhcacheConstant.retBean().getJobStatusNameByCodeNum(jobStatusStr)); // 告警值 if (alarmContentNameStr.contains("井盖") || "2".equals(alarmTypeStr)) { - map.replace("alarmValue", "--"); + map.replace("alarmvalue", "--"); } // 流转记录(工单详情用) @@ -243,31 +255,26 @@ */ @RequestMapping(value = "/searchList") @ResponseBody - public Object jobListSearch(String keywords, String alarmLevel, String alarmContent, String jobStatus, String beginTime, String endTime, - String getJobBeginTime, String getJobEndTime, String shouldGetBeginTime, String shouldGetEndTime, - String handleJobBeginTime, String handleJobEndTime, String shouldHandleBeginTime, String shouldHandleEndTime) { - + public Object jobListSearch(@RequestBody JobListParam jobListParam) { Page> page = PageFactory.defaultPage(); DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser(); List> retList = new ArrayList<>(); if (alarmJobService.checkPcRole(currentUser.getRoleTips())) { // pc角色 - retList = alarmJobService.jobListSearch(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime, - handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, dataScope, currentUser.getId()); + retList = alarmJobService.jobListSearch(page, jobListParam, dataScope, currentUser.getId()); } else { //app角色 long leaderId = 0L; if (currentUser.getRoleTips().contains(sLeader)) { // 组长,查组内全部 leaderId = currentUser.getId(); - if (StrUtil.isNotEmpty(jobStatus)) { + if (StrUtil.isNotEmpty(jobListParam.getJobStatus())) { //learder&&jobStatus=1,2,3时,关闭传入的sort,按sql排序(自己的排在前) - page.setSearchCount(!alarmJobService.checkJobStatus(jobStatus)); + page.setSearchCount(!alarmJobService.checkJobStatus(jobListParam.getJobStatus())); } } - retList = alarmJobService.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime, - handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, currentUser.getDeptId(), currentUser.getId(), leaderId); + retList = alarmJobService.jobListSearchApp(page, jobListParam, currentUser.getDeptId(), currentUser.getId(), leaderId); } retList.forEach(this::alarmJobWrapper); page.setRecords(retList); @@ -371,11 +378,13 @@ String alarmTypeStr = httpServletRequest.getParameter("alarmType"); String alarmContentStr = httpServletRequest.getParameter("alarmContentType"); - List> jobExpList = new ArrayList<>(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser(); - jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId()); + List> jobExpList = alarmJobService.jobList(page, keywords, beginTime, endTime, jobStatusStr, alarmTypeStr, alarmContentStr, dataScope, currentUser.getId()); + jobExpList.forEach(this::alarmJobWrapper); + FileInputStream fileInputStream = null; if (CollectionUtil.isEmpty(jobExpList)) { fileInputStream = new FileInputStream(templatePath + "/jobRecEmpty.xlsx"); @@ -458,12 +467,13 @@ @RequestParam(value = "transferPerson", required = true) String transferPerson) { AuthUser currentUser = iCommonPermissionService.getAuthService().getLoginUser(); - - String dbTime = iSysDictService.getDBtime(); + SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); +// String dbTime = iSysDictService.getDBtime(); + Date dbTime = new Date(); JSONObject jsonObject = new JSONObject(); jsonObject.put("from", currentUser.getName()); jsonObject.put("to", EhcacheConstant.retBean().getUsernameById(Long.valueOf(transferPerson))); - jsonObject.put("time", dbTime); + jsonObject.put("time", dateFormat.format(dbTime)); if (alarmJobService.transferJob(id, Long.valueOf(transferPerson), jsonObject.toString())) { return ResponseData.success(); @@ -472,6 +482,7 @@ } } + /** * 保存工单信息及图片 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/model/JobListParam.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/model/JobListParam.java new file mode 100644 index 0000000..c83bff8 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/model/JobListParam.java @@ -0,0 +1,32 @@ +package com.casic.missiles.modular.alarm.model; + + +import lombok.Data; + +/** + * @author cz + * @date 2022-6-13 17:03 + */ +@Data +public class JobListParam { + /** + * 关键字 + */ + private String keywords; + /** + * 风险等级 + */ + private String alarmLevel; + private String alarmContent; + private String jobStatus; + private String beginTime; + private String endTime; + private String getJobBeginTime; + private String getJobEndTime; + private String shouldGetBeginTime; + private String shouldGetEndTime; + private String handleJobBeginTime; + private String handleJobEndTime; + private String shouldHandleBeginTime; + private String shouldHandleEndTime; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmJobService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmJobService.java index f29f2e2..5f47018 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmJobService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmJobService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.alarm.model.JobListParam; import com.casic.missiles.modular.system.dto.UserClientView; import com.casic.missiles.modular.system.model.AlarmJob; @@ -19,42 +20,56 @@ * @since 2019-05-17 */ public interface IAlarmJobService extends IService { - List> jobList( Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType,String alarmContent, DataScope dataScope,Long userId); - List> jobListApp( Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType,String alarmContent,Long deptId,Long userId,Long leaderId); + List> jobList(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, DataScope dataScope, Long userId); + + List> jobListApp(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, Long deptId, Long userId, Long leaderId); // List jobListExport( Page page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType,String alarmContent, DataScope dataScope); - List> jobListDelayRe( Page> page, String keywords, String beginTime, String endTime, String alarmType,String alarmContent, DataScope dataScope,Long userId); - List> jobListDelayReApp( Page> page, String keywords, String beginTime, String endTime, String alarmType,String alarmContent, Long deptId,Long userId,Long leaderId); + List> jobListDelayRe(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, DataScope dataScope, Long userId); - List> jobListDelayPro( Page> page, String keywords, String beginTime, String endTime, String alarmType,String alarmContent, DataScope dataScope,Long userId ); - List> jobListDelayProApp( Page> page, String keywords, String beginTime, String endTime, String alarmType,String alarmContent, Long deptId,Long userId,Long leaderId); + List> jobListDelayReApp(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, Long deptId, Long userId, Long leaderId); - List> jobListSearch(Page> page, String keywords, String alarmLevel, String alarmContent, String jobStatus, String beginTime,String endTime, - String getJobBeginTime, String getJobEndTime, String shouldGetBeginTime, String shouldGetEndTime, String handleJobBeginTime, String handleJobEndTime, - String shouldHandleBeginTime, String shouldHandleEndTime, DataScope dataScope,Long userId); - List> jobListSearchApp(Page> page, String keywords, String alarmLevel, String alarmContent, String jobStatus, String beginTime,String endTime, - String getJobBeginTime, String getJobEndTime, String shouldGetBeginTime, String shouldGetEndTime, String handleJobBeginTime, String handleJobEndTime, - String shouldHandleBeginTime, String shouldHandleEndTime, Long deptId, Long userId, Long leaderId); - List> jobInfo(int id, DataScope dataScope,Long personId); + List> jobListDelayPro(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, DataScope dataScope, Long userId); + + List> jobListDelayProApp(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, Long deptId, Long userId, Long leaderId); + + List> jobListSearch(Page> page, JobListParam jobListParam, DataScope dataScope, Long userId); + + List> jobListSearchApp(Page> page, JobListParam jobListParam, Long deptId, Long userId, Long leaderId); + + List> jobInfo(int id, DataScope dataScope, Long personId); + boolean getJob(int id, long personId); - boolean confirmJob(int id,long personId,String firstState, String firstStatePhotos, String needHandle); - boolean transferJob(int id, long transferPerson,String flowRec); - boolean saveJob( int id,String handleMessage, String handlePhotos); - boolean overJob( int id,long personId, String handleMessage, String handlePhotos); - boolean overAlarm( int id); - boolean handleJob(int id,long personId); - Map countByJobStatus(long deptId,int spanDays); - Map countMyJob(long userId,long deptId,int spanDays); + boolean confirmJob(int id, long personId, String firstState, String firstStatePhotos, String needHandle); + + boolean transferJob(int id, long transferPerson, String flowRec); + + boolean saveJob(int id, String handleMessage, String handlePhotos); + + boolean overJob(int id, long personId, String handleMessage, String handlePhotos); + + boolean overAlarm(int id); + + boolean handleJob(int id, long personId); + + Map countByJobStatus(long deptId, int spanDays); + + Map countMyJob(long userId, long deptId, int spanDays); boolean checkJobStatus(String jobStatus); + boolean checkPcRole(Set roleTips); - Integer countByDataScope(DataScope dataScope,String alarmType, String jobStatus,String beginTime,String endTime); - Integer countByResponse(String alarmType,String jobStatus,Long deptId,String beginTime,String endTime); - Integer countByUser(String alarmType,String jobStatus,Long userId,String beginTime,String endTime); + Integer countByDataScope(DataScope dataScope, String alarmType, String jobStatus, String beginTime, String endTime); - void updateSinkJob(String id,String msg,String wellCode); + Integer countByResponse(String alarmType, String jobStatus, Long deptId, String beginTime, String endTime); + + Integer countByUser(String alarmType, String jobStatus, Long userId, String beginTime, String endTime); + + void updateSinkJob(String id, String msg, String wellCode); + List selectUserByWellCode(String wellCode); + String selectClientIdByUser(Long userId); } 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 2d8cb7d..5ef681b 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 @@ -11,6 +11,7 @@ import com.casic.missiles.core.util.EhcacheConstant; import com.casic.missiles.modular.alarm.job.DelayJob; import com.casic.missiles.modular.alarm.job.HandleAlarmJob; +import com.casic.missiles.modular.alarm.model.JobListParam; import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.modular.system.dao.AlarmJobMapper; import com.casic.missiles.modular.system.dao.AlarmRecordsMapper; @@ -24,12 +25,14 @@ import com.casic.missiles.modular.system.util.WebSocket; import com.casic.missiles.quartz.service.IQuartzManager; import com.gexin.rp.sdk.base.IPushResult; +import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -43,6 +46,7 @@ * @since 2019-05-17 */ @Service +@Slf4j public class AlarmJobServiceImpl extends ServiceImpl implements IAlarmJobService { private static final Logger logger = LoggerFactory.getLogger(AlarmJobServiceImpl.class); @@ -72,9 +76,10 @@ 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) { + public List> jobList(Page> page, String keywords, String beginTime, String endTime, String jobStatus, String alarmType, String alarmContent, DataScope dataScope, Long userId) { alarmContent = converAlarmContent(alarmContent); - List> alarmJobList = this.baseMapper.jobList(page, keywords, beginTime, endTime, jobStatus, alarmType, alarmContent, dataScope,userId);return alarmJobList; + List> alarmJobList = this.baseMapper.jobList(page, keywords, beginTime, endTime, jobStatus, alarmType, alarmContent, dataScope, userId); + return alarmJobList; } @Override @@ -85,9 +90,9 @@ } @Override - public List> jobListDelayRe(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, DataScope dataScope,Long userId) { + public List> jobListDelayRe(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, DataScope dataScope, Long userId) { alarmContent = converAlarmContent(alarmContent); - List> alarmJobList = this.baseMapper.jobListDelayRe(page, keywords, beginTime, endTime, alarmType, alarmContent, dataScope,userId); + List> alarmJobList = this.baseMapper.jobListDelayRe(page, keywords, beginTime, endTime, alarmType, alarmContent, dataScope, userId); return alarmJobList; } @@ -99,9 +104,9 @@ } @Override - public List> jobListDelayPro(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, DataScope dataScope,Long userId) { + public List> jobListDelayPro(Page> page, String keywords, String beginTime, String endTime, String alarmType, String alarmContent, DataScope dataScope, Long userId) { alarmContent = converAlarmContent(alarmContent); - List> alarmJobList = this.baseMapper.jobListDelayPro(page, keywords, beginTime, endTime, alarmType, alarmContent, dataScope,userId); + List> alarmJobList = this.baseMapper.jobListDelayPro(page, keywords, beginTime, endTime, alarmType, alarmContent, dataScope, userId); return alarmJobList; } @@ -113,42 +118,45 @@ } @Override - public List> jobListSearch(Page> page, String keywords, String alarmLevel, String alarmContent, String jobStatus, String beginTime, String endTime, String getJobBeginTime, String getJobEndTime, String shouldGetBeginTime, String shouldGetEndTime, String handleJobBeginTime, String handleJobEndTime, String shouldHandleBeginTime, String shouldHandleEndTime, DataScope dataScope,Long userId) { - alarmContent = converAlarmContent(alarmContent); - List> alarmJobList = this.baseMapper.jobListSearch(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime, handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, dataScope,userId); + public List> jobListSearch(Page> page, JobListParam jobListParam, DataScope dataScope, Long userId) { + jobListParam.setAlarmContent(converAlarmContent(jobListParam.getAlarmContent())); + List> alarmJobList = this.baseMapper.jobListSearch(page, jobListParam, dataScope, userId); return alarmJobList; } @Override - public List> jobListSearchApp(Page> page, String keywords, String alarmLevel, String alarmContent, String jobStatus, String beginTime, String endTime, String getJobBeginTime, String getJobEndTime, String shouldGetBeginTime, String shouldGetEndTime, String handleJobBeginTime, String handleJobEndTime, String shouldHandleBeginTime, String shouldHandleEndTime, Long deptId, Long userId, Long leaderId) { - alarmContent = converAlarmContent(alarmContent); - List> alarmJobList = this.baseMapper.jobListSearchApp(page, keywords, alarmLevel, alarmContent, jobStatus, beginTime, endTime, getJobBeginTime, getJobEndTime, shouldGetBeginTime, shouldGetEndTime, handleJobBeginTime, handleJobEndTime, shouldHandleBeginTime, shouldHandleEndTime, deptId, userId, leaderId); + public List> jobListSearchApp(Page> page, JobListParam jobListParam, Long deptId, Long userId, Long leaderId) { + jobListParam.setAlarmContent(converAlarmContent(jobListParam.getAlarmContent())); + List> alarmJobList = this.baseMapper.jobListSearchApp(page, jobListParam.getKeywords(), + jobListParam.getAlarmLevel(), jobListParam.getAlarmContent(), jobListParam.getJobStatus(), jobListParam.getBeginTime(), + jobListParam.getEndTime(), jobListParam.getGetJobBeginTime(), jobListParam.getGetJobEndTime(), jobListParam.getShouldGetBeginTime(), + jobListParam.getShouldGetEndTime(), jobListParam.getHandleJobBeginTime(), jobListParam.getHandleJobEndTime(), jobListParam.getShouldHandleBeginTime(), + jobListParam.getShouldHandleEndTime(), deptId, userId, leaderId); return alarmJobList; } - private String converAlarmContent(String alarmContent){ - if(StrUtil.isEmpty(alarmContent)){ + private String converAlarmContent(String alarmContent) { + if (StrUtil.isEmpty(alarmContent)) { return alarmContent; - }else { + } else { return EhcacheConstant.retBean().getAlarmContentName(Integer.valueOf(alarmContent)); } } @Override - public List> jobInfo(int id, DataScope dataScope, Long personId) - { - List> job = this.baseMapper.jobInfo(id,dataScope,personId); + public List> jobInfo(int id, DataScope dataScope, Long personId) { + List> job = this.baseMapper.jobInfo(id, dataScope, personId); return job; } @Override - public Map countByJobStatus(long deptId,int spanDays) { - return this.baseMapper.countByJobStatus(deptId,spanDays); + public Map countByJobStatus(long deptId, int spanDays) { + return this.baseMapper.countByJobStatus(deptId, spanDays); } @Override - public Map countMyJob(long userId,long deptId,int spanDays) { - return this.baseMapper.countMyJob(userId,deptId,spanDays); + public Map countMyJob(long userId, long deptId, int spanDays) { + return this.baseMapper.countMyJob(userId, deptId, spanDays); } @Override @@ -156,54 +164,54 @@ Calendar now = Calendar.getInstance(); Date getTime = now.getTime(); - if(isWeekend(now)){ + if (isWeekend(now)) { now.add(Calendar.WEEK_OF_YEAR, 1); - now.set(Calendar.DAY_OF_WEEK ,Calendar.TUESDAY); - now.set(Calendar.HOUR_OF_DAY,8); - now.set(Calendar.MINUTE,0); - now.set(Calendar.SECOND,0); - }else { + now.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY); + now.set(Calendar.HOUR_OF_DAY, 8); + now.set(Calendar.MINUTE, 0); + now.set(Calendar.SECOND, 0); + } else { now.add(Calendar.HOUR, 24); - while(isWeekend(now)){ + while (isWeekend(now)) { now.add(Calendar.HOUR, 24); } } Date shouldHandleTime = now.getTime(); - if(Boolean.getBoolean(useOverTime)){ + if (Boolean.getBoolean(useOverTime)) { System.out.println(shouldHandleTime); String jobName = "getJobDelay" + id; - Map map = new HashMap<>(); - map.put("jobId",id); - map.put("iAlarmJobService",this); - map.put("iCommonUserService",iCommonUserService); - map.put("iQuartzManager",quartzManager); - map.put("webSocket",webSocket); - quartzManager.addJob(jobName, DelayJob.class,shouldHandleTime,map); + Map map = new HashMap<>(); + map.put("jobId", id); + map.put("iAlarmJobService", this); + map.put("iCommonUserService", iCommonUserService); + map.put("iQuartzManager", quartzManager); + map.put("webSocket", webSocket); + quartzManager.addJob(jobName, DelayJob.class, shouldHandleTime, map); } - return this.baseMapper.getJob(id,personId,getTime,shouldHandleTime); + return this.baseMapper.getJob(id, personId, getTime, shouldHandleTime); } - private boolean isWeekend(Calendar cal){ - if(cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY){ + private boolean isWeekend(Calendar cal) { + if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) { return true; - } else{ + } else { return false; } } @Override - public boolean confirmJob(int id,long personId, String firstState, String firstStatePhotos, String needHandle) { - if ("1".equals(needHandle)){ - return this.baseMapper.confirmJob(id,personId, firstState, firstStatePhotos, needHandle); + public boolean confirmJob(int id, long personId, String firstState, String firstStatePhotos, String needHandle) { + if ("1".equals(needHandle)) { + return this.baseMapper.confirmJob(id, personId, firstState, firstStatePhotos, needHandle); } else { - return this.baseMapper.confirmOverJobAndAlarm(id, personId,firstState, firstStatePhotos); + return this.baseMapper.confirmOverJobAndAlarm(id, personId, firstState, firstStatePhotos) && this.baseMapper.confirmOverAlarmRecords(id); } } @Override - public boolean transferJob(int id, long transferPerson,String flowRec) { - return this.baseMapper.transferJob(id, transferPerson,flowRec); + public boolean transferJob(int id, long transferPerson, String flowRec) { + return this.baseMapper.transferJob(id, transferPerson, flowRec); } @Override @@ -212,10 +220,11 @@ } @Override - public boolean overJob(int id,long personId, String handleMessage, String handlePhotos) { - return this.baseMapper.overJobAndAlarm(id, personId,handleMessage, handlePhotos); + public boolean overJob(int id, long personId, String handleMessage, String handlePhotos) { + return this.baseMapper.overJobAndAlarm(id, personId, handleMessage, handlePhotos) && this.baseMapper.overJobAlarmRecrds(id); // return this.baseMapper.overJob(id, personId,handleMessage, handlePhotos); } + @Override public boolean overAlarm(int jobId) { return this.baseMapper.overAlarm(jobId); @@ -223,15 +232,15 @@ } @Override - public boolean handleJob(int id,long personId) { - return this.baseMapper.handleJob(id,personId); + public boolean handleJob(int id, long personId) { + return this.baseMapper.handleJob(id, personId); } @Override public boolean checkJobStatus(String jobStatus) { - if(StrUtil.isEmpty(jobStatus)){ + if (StrUtil.isEmpty(jobStatus)) { return false; - }else{ + } else { return "1".equals(jobStatus) || "2".equals(jobStatus) || "3".equals(jobStatus); } } @@ -242,10 +251,10 @@ } - public List selectRoles() { return this.baseMapper.selectRoles(); } + public List selectUseIds(List roleIds) { return this.baseMapper.selectUseIds(roleIds); } @@ -254,50 +263,58 @@ public boolean checkPcRole(Set roleTips) { List roleList = new ArrayList<>(roleTips); Iterator it = roleList.iterator(); - while (it.hasNext()){ + while (it.hasNext()) { String role = it.next(); - if(role.equals(sApp)||role.equals(sLeader)||role.equals(sMember)){ + if (role.equals(sApp) || role.equals(sLeader) || role.equals(sMember)) { it.remove(); } } - return roleList.size()>0; + return roleList.size() > 0; } @Override - public Integer countByDataScope(DataScope dataScope, String alarmType, String jobStatus, String beginTime,String endTime) { - List> res = this.baseMapper.countByDataScope(dataScope,alarmType,jobStatus,beginTime,endTime); + public Integer countByDataScope(DataScope dataScope, String alarmType, String jobStatus, String beginTime, String endTime) { +// try { +// Date startTime = timeFormat.parse(beginTime); +// Date lastTime = timeFormat.parse(endTime); + List> res = this.baseMapper.countByDataScope(dataScope, alarmType, jobStatus, beginTime, endTime); return res.size(); +// +// } catch (ParseException ex) { +// log.error("主题:日期格式转换出错,开始日期{},结束日期{},异常信息{}",beginTime,endTime,ex); +// } +// return null; } @Override - public Integer countByResponse(String alarmType, String jobStatus, Long deptId, String beginTime,String endTime) { - return this.baseMapper.countByResponse(alarmType,jobStatus,deptId,beginTime,endTime); + public Integer countByResponse(String alarmType, String jobStatus, Long deptId, String beginTime, String endTime) { + return this.baseMapper.countByResponse(alarmType, jobStatus, deptId, beginTime, endTime); } @Override - public Integer countByUser(String alarmType, String jobStatus, Long userId, String beginTime,String endTime) { - return this.baseMapper.countByUser(alarmType,jobStatus,userId,beginTime,endTime); + public Integer countByUser(String alarmType, String jobStatus, Long userId, String beginTime, String endTime) { + return this.baseMapper.countByUser(alarmType, jobStatus, userId, beginTime, endTime); } @Override - public void updateSinkJob(String id, String msg,String wellCode) { + public void updateSinkJob(String id, String msg, String wellCode) { List userClientViewList = new ArrayList<>(); List selectDtoList = selectRoles(); QueryWrapper busWellInfoEntityWrapper = new QueryWrapper<>(); - busWellInfoEntityWrapper.eq("WELL_CODE",wellCode); + busWellInfoEntityWrapper.eq("WELL_CODE", wellCode); BusWellInfo busWellInfo = busWellInfoService.selectOne(busWellInfoEntityWrapper); - if(busWellInfo!=null&&StrUtil.isNotEmpty(busWellInfo.getDeptid())){ - List roleids= new ArrayList<>(); - for(SelectDto selectDto:selectDtoList){ - if(StrUtil.isNotEmpty(selectDto.getName()) - && Arrays.asList(selectDto.getName().split(",")).contains(busWellInfo.getDeptid())){ + if (busWellInfo != null && StrUtil.isNotEmpty(busWellInfo.getDeptid())) { + List roleids = new ArrayList<>(); + for (SelectDto selectDto : selectDtoList) { + if (StrUtil.isNotEmpty(selectDto.getName()) + && Arrays.asList(selectDto.getName().split(",")).contains(busWellInfo.getDeptid())) { roleids.add(selectDto.getId()); } } - if(roleids.size()>0){ + if (roleids.size() > 0) { List useIds = selectUseIds(roleids); - for(Long useId:useIds){ + for (Long useId : useIds) { UserClientView userClientView = new UserClientView(); userClientView.setClientid(useId.toString()); userClientView.setId(useId.toString()); @@ -306,11 +323,11 @@ } } - if(!("null".equals(id))){ + if (!("null".equals(id))) { AlarmJob alarmJob = this.baseMapper.selectById(id); sendJob(id, alarmJob, userClientViewList);//推送工单至app和pc端 } - if(StrUtil.isNotBlank(msg)){ + if (StrUtil.isNotBlank(msg)) { sendAlarm(msg, userClientViewList);//推送告警至app和pc端 } @@ -385,7 +402,7 @@ } Date shouldHandleTime = now.getTime(); - if(Boolean.getBoolean(useOverTime)) { + if (Boolean.getBoolean(useOverTime)) { System.out.println(shouldHandleTime); String jobName = "getJobDelay" + id; Map map = new HashMap<>(); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmJobMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmJobMapper.java index fe07eff..958a1ad 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmJobMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmJobMapper.java @@ -2,12 +2,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.modular.alarm.model.JobListParam; import com.casic.missiles.modular.system.dto.SelectDto; import com.casic.missiles.modular.system.dto.UserClientView; import com.casic.missiles.modular.system.model.AlarmJob; import com.casic.missiles.core.datascope.DataScope; import org.apache.ibatis.annotations.Param; +import java.sql.Timestamp; import java.util.Date; import java.util.List; import java.util.Map; @@ -21,44 +23,67 @@ * @since 2019-05-17 */ public interface AlarmJobMapper extends BaseMapper { - List> jobList(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("jobStatus") String jobStatus, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent, @Param("dataScope") DataScope dataScope,@Param("userId")Long userId); - List> jobListApp(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("jobStatus") String jobStatus, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent,@Param("deptId")Long deptId,@Param("userId")Long userId,@Param("leaderId")Long leaderId); + List> jobList(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("jobStatus") String jobStatus, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent, @Param("dataScope") DataScope dataScope, @Param("userId") Long userId); + + List> jobListApp(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("jobStatus") String jobStatus, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent, @Param("deptId") Long deptId, @Param("userId") Long userId, @Param("leaderId") Long leaderId); + // List jobListExport(@Param("page") Page page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("jobStatus") String jobStatus, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent,@Param("dataScope") DataScope dataScope); - List> jobListDelayRe(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent,@Param("dataScope") DataScope dataScope,@Param("userId")Long userId); - List> jobListDelayReApp(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent,@Param("deptId")Long deptId,@Param("userId")Long userId,@Param("leaderId")Long leaderId); + List> jobListDelayRe(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent, @Param("dataScope") DataScope dataScope, @Param("userId") Long userId); - List> jobListDelayPro(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent,@Param("dataScope") DataScope dataScope,@Param("userId")Long userId); - List> jobListDelayProApp(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent,@Param("deptId")Long deptId,@Param("userId")Long userId,@Param("leaderId")Long leaderId); + List> jobListDelayReApp(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent, @Param("deptId") Long deptId, @Param("userId") Long userId, @Param("leaderId") Long leaderId); - List> jobListSearchApp(@Param("page") Page> page, @Param("keywords") String keywords, @Param("alarmLevel")String alarmLevel, @Param("alarmContent") String alarmContent, @Param("jobStatus") String jobStatus, @Param("beginTime") String beginTime, @Param("endTime") String endTime, - @Param("getJobBeginTime") String getJobBeginTime, @Param("getJobEndTime") String getJobEndTime, @Param("shouldGetBeginTime") String shouldGetBeginTime, @Param("shouldGetEndTime") String shouldGetEndTime, - @Param("handleJobBeginTime") String handleJobBeginTime, @Param("handleJobEndTime") String handleJobEndTime, @Param("shouldHandleBeginTime") String shouldHandleBeginTime, @Param("shouldHandleEndTime") String shouldHandleEndTime, - @Param("deptId")Long deptId, @Param("userId")Long userId, @Param("leaderId")Long leaderId); - List> jobListSearch(@Param("page") Page> page, @Param("keywords") String keywords, @Param("alarmLevel")String alarmLevel, @Param("alarmContent") String alarmContent, @Param("jobStatus") String jobStatus, @Param("beginTime") String beginTime, @Param("endTime") String endTime, - @Param("getJobBeginTime") String getJobBeginTime, @Param("getJobEndTime") String getJobEndTime, @Param("shouldGetBeginTime") String shouldGetBeginTime, @Param("shouldGetEndTime") String shouldGetEndTime, - @Param("handleJobBeginTime") String handleJobBeginTime, @Param("handleJobEndTime") String handleJobEndTime, @Param("shouldHandleBeginTime") String shouldHandleBeginTime, @Param("shouldHandleEndTime") String shouldHandleEndTime, - @Param("dataScope") DataScope dataScope,@Param("userId")Long userId); + List> jobListDelayPro(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent, @Param("dataScope") DataScope dataScope, @Param("userId") Long userId); - Map countByJobStatus(@Param("deptId")long deptId,@Param("spanDays") int spanDays); - Map countMyJob(@Param("userId")long userId,@Param("deptId")long deptId,@Param("spanDays") int spanDays); - List> jobInfo(@Param("id") int id,@Param("dataScope") DataScope dataScope,@Param("personId") Long personId); -// boolean getJob(@Param("id") int id,@Param("personId") long personId); - boolean getJob(@Param("id") int id,@Param("personId") long personId,@Param("getTime")Date getTime ,@Param("shouldHandleTime")Date shouldHandleTime); - boolean confirmJob(@Param("id") int id,@Param("personId") long personId,@Param("firstState") String firstState,@Param("firstStatePhotos") String firstStatePhotos,@Param("needHandle") String needHandle); - boolean confirmOverJobAndAlarm(@Param("id") int id,@Param("personId") long personId,@Param("firstState") String firstState,@Param("firstStatePhotos") String firstStatePhotos); - boolean transferJob(@Param("id") int id,@Param("transferPerson") long transferPerson,@Param("flowRec") String flowRec); - boolean saveJob(@Param("id") int id,@Param("handleMessage") String handleMessage,@Param("handlePhotos") String handlePhotos); - boolean overJob(@Param("id") int id,@Param("personId") long personId,@Param("handleMessage") String handleMessage,@Param("handlePhotos") String handlePhotos); + List> jobListDelayProApp(@Param("page") Page> page, @Param("keywords") String keywords, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("alarmType") String alarmType, @Param("alarmContent") String alarmContent, @Param("deptId") Long deptId, @Param("userId") Long userId, @Param("leaderId") Long leaderId); + + List> jobListSearchApp(@Param("page") Page> page, @Param("keywords") String keywords, @Param("alarmLevel") String alarmLevel, @Param("alarmContent") String alarmContent, @Param("jobStatus") String jobStatus, @Param("beginTime") String beginTime, @Param("endTime") String endTime, + @Param("getJobBeginTime") String getJobBeginTime, @Param("getJobEndTime") String getJobEndTime, @Param("shouldGetBeginTime") String shouldGetBeginTime, @Param("shouldGetEndTime") String shouldGetEndTime, + @Param("handleJobBeginTime") String handleJobBeginTime, @Param("handleJobEndTime") String handleJobEndTime, @Param("shouldHandleBeginTime") String shouldHandleBeginTime, @Param("shouldHandleEndTime") String shouldHandleEndTime, + @Param("deptId") Long deptId, @Param("userId") Long userId, @Param("leaderId") Long leaderId); + + List> jobListSearch(@Param("page") Page> page, @Param("jobListParam") JobListParam jobListParam, + @Param("dataScope") DataScope dataScope, @Param("userId") Long userId); + + Map countByJobStatus(@Param("deptId") long deptId, @Param("spanDays") int spanDays); + + Map countMyJob(@Param("userId") long userId, @Param("deptId") long deptId, @Param("spanDays") int spanDays); + + List> jobInfo(@Param("id") int id, @Param("dataScope") DataScope dataScope, @Param("personId") Long personId); + + // boolean getJob(@Param("id") int id,@Param("personId") long personId); + boolean getJob(@Param("id") int id, @Param("personId") long personId, @Param("getTime") Date getTime, @Param("shouldHandleTime") Date shouldHandleTime); + + boolean confirmJob(@Param("id") int id, @Param("personId") long personId, @Param("firstState") String firstState, @Param("firstStatePhotos") String firstStatePhotos, @Param("needHandle") String needHandle); + + boolean confirmOverJobAndAlarm(@Param("id") int id, @Param("personId") long personId, @Param("firstState") String firstState, @Param("firstStatePhotos") String firstStatePhotos); + + boolean confirmOverAlarmRecords(@Param("id") int id); + + boolean transferJob(@Param("id") int id, @Param("transferPerson") long transferPerson, @Param("flowRec") String flowRec); + + boolean saveJob(@Param("id") int id, @Param("handleMessage") String handleMessage, @Param("handlePhotos") String handlePhotos); + + boolean overJob(@Param("id") int id, @Param("personId") long personId, @Param("handleMessage") String handleMessage, @Param("handlePhotos") String handlePhotos); + boolean overAlarm(@Param("jobId") int id); - boolean overJobAndAlarm(@Param("id") int id,@Param("personId") long personId,@Param("handleMessage") String handleMessage,@Param("handlePhotos") String handlePhotos); - boolean handleJob(@Param("id") int id,@Param("personId") long personId); - List> countByDataScope(@Param("dataScope") DataScope dataScope,@Param("alarmType")String alarmType,@Param("jobStatus")String jobStatus,@Param("beginTime")String beginTime,@Param("endTime")String endTime); - Integer countByResponse(@Param("alarmType")String alarmType,@Param("jobStatus")String jobStatus,@Param("deptId") Long deptId,@Param("beginTime")String beginTime,@Param("endTime")String endTime); - Integer countByUser(@Param("alarmType")String alarmType,@Param("jobStatus")String jobStatus,@Param("userId") Long userId,@Param("beginTime")String beginTime,@Param("endTime")String endTime); + boolean overJobAndAlarm(@Param("id") int id, @Param("personId") long personId, @Param("handleMessage") String handleMessage, @Param("handlePhotos") String handlePhotos); + + boolean overJobAlarmRecrds(@Param("id") int id); + + boolean handleJob(@Param("id") int id, @Param("personId") long personId); + + List> countByDataScope(@Param("dataScope") DataScope dataScope, @Param("alarmType") String alarmType, @Param("jobStatus") String jobStatus, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + Integer countByResponse(@Param("alarmType") String alarmType, @Param("jobStatus") String jobStatus, @Param("deptId") Long deptId, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + Integer countByUser(@Param("alarmType") String alarmType, @Param("jobStatus") String jobStatus, @Param("userId") Long userId, @Param("beginTime") String beginTime, @Param("endTime") String endTime); String selectClientIdByUser(@Param("userId") Long userId); + List selectUserByWellCode(@Param("wellCode") String wellCode); + List selectUseIds(@Param("roleIds") List roleIds); + List selectRoles(); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmJobMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmJobMapper.xml index a73a8d8..b279d9a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmJobMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmJobMapper.xml @@ -36,15 +36,28 @@ HANDLE_PHOTOS AS handlePhotos, FLOW AS flow + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%S') + + + + to_date(${paramTime},'yyyy-MM-dd HH24:mi:ss') + + + + to_char(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + + + + - SELECT ifnull(SUM(IF(job_status='0',1,0)),0) AS beforeGet, - ifnull(SUM(IF(job_status='1',1,0)),0) AS beforeConfirm, - ifnull(SUM(IF(job_status='2',1,0)),0) AS inHandle, - ifnull(SUM(IF(job_status='3',1,0)),0) AS over + SELECT coalesce(SUM(IF(job_status='0',1,0)),0) AS beforeGet, + coalesce(SUM(IF(job_status='1',1,0)),0) AS beforeConfirm, + coalesce(SUM(IF(job_status='2',1,0)),0) AS inHandle, + coalesce(SUM(IF(job_status='3',1,0)),0) AS over FROM ( - SELECT IFNULL(MAX(ar.ID),0) AS alarmId,aj.job_status AS job_status + SELECT coalesce(MAX(ar.ID),0) AS alarmId,aj.job_status AS job_status FROM alarm_job aj LEFT JOIN alarm_records ar ON aj.ID = ar.job_id WHERE aj.well_code in @@ -65,14 +78,15 @@ GROUP BY aj.id ) c + + + + + SELECT ID as wellId,POSITION as position,DEPTID as deptid - ,ifnull(STAFF,'') as staff ,ifnull(TEL,'') as tel + ,coalesce(STAFF,'') as staff ,coalesce(TEL,'') as tel FROM bus_well_info WHERE WELL_CODE = #{wellCode}; @@ -107,7 +107,7 @@