blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java
@@ -22,6 +22,7 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import org.springblade.common.vo.DeptVo; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.mp.support.Condition; @@ -35,6 +36,7 @@ import org.springblade.jfpt.alarm.wrapper.AlarmWrapper; import org.springblade.jfpt.animalheat.service.AnimalHeatService; import org.springblade.common.entity.AlarmExcel; import org.springblade.jfpt.equipment.feign.DeptFeignApi; import org.springblade.jfpt.healthcode.service.IhealthcodeService; import org.springblade.jfpt.operation.entity.Operation; import org.springblade.jfpt.operation.service.IOperationService; @@ -71,6 +73,8 @@ private IhealthcodeService ihealthcodeService; private ParcelService parcelService; private final DeptFeignApi deptFeignApi; /** * 详情 @@ -644,7 +648,29 @@ response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Allow-Credentials","true"); return R.data(alarmService.getAlarm(alarmVO)); //获取部门数据 List<DeptVo> deptVos = deptFeignApi.selDeptList(); List<AlarmVO> page = alarmService.getAlarm(alarmVO); for (int j = 0; j < page.size(); j++) { if (null!=page.get(j).getDeptId()){ String[] split = page.get(j).getDeptId().split(","); List<String> list = Arrays.asList(split); StringBuffer deptNameBuiffer = new StringBuffer(); //数据匹配封装 for (String deptId:list) { for (DeptVo deptVo:deptVos) { if (deptId.equals(deptVo.getId().toString())){ deptNameBuiffer.append(deptVo.getDeptName()).append(","); } } } //封装部门名称数据 page.get(j).setDeptName(deptNameBuiffer.substring(0,deptNameBuiffer.length()-1)); } } return R.data(page); } /** blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java
@@ -25,6 +25,7 @@ import org.springblade.common.entity.AlarmExcel; import org.springblade.jfpt.alarm.vo.AlarmVO; import org.springblade.jfpt.parcel.vo.ConditionVo; import org.springblade.system.user.entity.User; import java.util.List; import java.util.Map; @@ -88,13 +89,13 @@ */ List<Map<String, Object>> selectAlarmSum(@Param("conditionVo") ConditionVo conditionVo); List<Map<String, Object>> queryPolice(); List<User> queryPolice(); List<Map<String, Object>> queryPoliceTime(List policeIdArr); List<AlarmVO> queryPoliceTime(List policeIdArr); List<Map<String, Object>> queryBa(); List<Map<String, Object>> getAlarm(@Param("alarm") AlarmVO alarm); List<AlarmVO> getAlarm(@Param("alarm") AlarmVO alarm); List<Map<String, Object>> getAlarming(@Param("alarm") AlarmVO alarm); blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
@@ -41,6 +41,22 @@ <result column="baphone" property="baphone"/> </resultMap> <!-- 通用查询映射结果 --> <resultMap id="alarmonline" type="org.springblade.jfpt.alarm.vo.AlarmVO"> <id column="alarmPeople" property="alarmPeople"/> <result column="alarmId" property="alarmId"/> <result column="phoneNumber" property="phoneNumber"/> </resultMap> <!-- 通用查询映射结果 --> <resultMap id="userResultMap" type="org.springblade.system.user.entity.User"> <result column="id" property="id"/> <result column="name" property="name"/> <result column="phone" property="phone"/> <result column="online_status" property="online_status"/> <result column="work_status" property="work_status"/> </resultMap> <sql id="alarmCondition"> <if test="alarm.id!=null"> and a.id = #{alarm.id} @@ -521,16 +537,17 @@ </select> <select id="queryPolice" resultType="java.util.HashMap"> <select id="queryPolice" resultMap="userResultMap"> SELECT * FROM jfpth.blade_user WHERE is_deleted != '1' and role_id ="1372092102682521602" </select> <select id="queryPoliceTime" resultType="java.util.HashMap"> <select id="queryPoliceTime" resultMap="alarmonline"> SELECT a.alarmPeople, a.alarmId, a.phoneNumber, max( a.jjTime ) AS jjTime FROM sys_alarm a @@ -545,7 +562,8 @@ </if> GROUP BY a.alarmPeople, a.alarmId a.alarmId, a.phoneNumber ORDER BY jjTime LIMIT 1 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java
@@ -23,6 +23,7 @@ import org.springblade.common.entity.AlarmExcel; import org.springblade.jfpt.alarm.vo.AlarmVO; import org.springblade.jfpt.parcel.vo.ConditionVo; import org.springblade.system.user.entity.User; import java.util.List; import java.util.Map; @@ -79,13 +80,13 @@ */ List<Map<String,Object>> selectAlarmSum(ConditionVo conditionVo); List<Map<String, Object>> queryPolice(); List<User> queryPolice(); List<Map<String, Object>> queryPoliceTime(List policeIdArr); List<AlarmVO> queryPoliceTime(List policeIdArr); List<Map<String, Object>> queryBa(); List<Map<String, Object>> getAlarm(AlarmVO alarmVO); List<AlarmVO> getAlarm(AlarmVO alarmVO); List<Map<String, Object>> getAlarming(AlarmVO alarmVO); blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java
@@ -26,6 +26,7 @@ import org.springblade.common.entity.AlarmExcel; import org.springblade.jfpt.alarm.vo.AlarmVO; import org.springblade.jfpt.parcel.vo.ConditionVo; import org.springblade.system.user.entity.User; import org.springframework.stereotype.Service; import java.text.ParseException; @@ -162,12 +163,12 @@ } @Override public List<Map<String, Object>> queryPolice() { public List<User> queryPolice() { return baseMapper.queryPolice(); } @Override public List<Map<String, Object>> queryPoliceTime(List policeIdArr) { public List<AlarmVO> queryPoliceTime(List policeIdArr) { return baseMapper.queryPoliceTime(policeIdArr); } @@ -177,7 +178,7 @@ } @Override public List<Map<String, Object>> getAlarm(AlarmVO alarmVO) { public List<AlarmVO> getAlarm(AlarmVO alarmVO) { return baseMapper.getAlarm(alarmVO); } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/vo/AlarmVO.java
@@ -57,4 +57,6 @@ private String baid; private String baphone; private String deptName; } blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java
@@ -9,6 +9,7 @@ import org.springblade.jfpt.Netty.service.nettyService; import org.springblade.jfpt.alarm.entity.Alarm; import org.springblade.jfpt.alarm.service.IAlarmService; import org.springblade.jfpt.alarm.vo.AlarmVO; import org.springblade.jfpt.animalheat.service.AnimalHeatService; import org.springblade.jfpt.catalog.service.catalogService; import org.springblade.jfpt.equipment.service.IEquipmentService; @@ -17,6 +18,7 @@ import org.springblade.jfpt.operation.service.IOperationService; import org.springblade.jfpt.operation.vo.OperationVO; import org.springblade.jfpt.webscoket.service.IPushMsgService; import org.springblade.system.user.entity.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -1733,14 +1735,14 @@ if(alarm.getWaringType().equals("紧急求救")){ //警情分发测试代码 //查询所有闲置的接警员 List<Map<String, Object>> policeList = serverHandler.alarmService.queryPolice(); List<Map<String, Object>> online_police = new ArrayList<>(); List<Map<String, Object>> zx_police = new ArrayList<>(); List<User> policeList = serverHandler.alarmService.queryPolice(); List<User> online_police = new ArrayList<>(); List<User> zx_police = new ArrayList<>(); for (int i = 0; i < policeList.size(); i++) { //System.out.println(policeList.get(i).get("real_name")); if(policeList.get(i).get("online_status").equals(1)){ if(policeList.get(i).getOnline_status().equals(1)){ zx_police.add(policeList.get(i)); if (policeList.get(i).get("work_status").equals(0)){ if (policeList.get(i).getWork_status().equals(0)){ online_police.add(policeList.get(i)); } } @@ -1765,28 +1767,30 @@ //将闲置状态的人员id存入数组 for (int i = 0; i < online_police.size(); i++) { policeIdArr.add(online_police.get(i).get("id")); policeIdArr.add(online_police.get(i).getId()); } //通过id计算接警员最后一次接警时间,倒序返回闲置最久的人员,派发任务 List<Map<String, Object>> police = serverHandler.alarmService.queryPoliceTime(policeIdArr); List<AlarmVO> police = serverHandler.alarmService.queryPoliceTime(policeIdArr); if (police.size() != 0){ alarm.setAlarmId( police.get(0).get("alarmId").toString()); alarm.setAlarmPeople( police.get(0).get("alarmPeople").toString()); alarm.setAlarmId( police.get(0).getAlarmId().toString()); alarm.setAlarmPeople( police.get(0).getAlarmPeople().toString()); alarm.setPhoneNumber( police.get(0).getPhoneNumber().toString()); Date date = new Date(); SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); alarm.setJjTime(dateFormat.format(date)); serverHandler.alarmService.updatePoliceStatus( police.get(0).get("alarmId").toString(),"1"); serverHandler.alarmService.updatePoliceStatus( police.get(0).getAlarmId().toString(),"1"); }else { alarm.setAlarmId( online_police.get(0).get("id").toString()); alarm.setAlarmPeople(online_police.get(0).get("name").toString()); alarm.setAlarmId( online_police.get(0).getId().toString()); alarm.setAlarmPeople(online_police.get(0).getName().toString()); alarm.setPhoneNumber(online_police.get(0).getPhone().toString()); Date date = new Date(); SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); alarm.setJjTime(dateFormat.format(date)); serverHandler.alarmService.updatePoliceStatus(online_police.get(0).get("id").toString(),"1"); serverHandler.alarmService.updatePoliceStatus(online_police.get(0).getId().toString(),"1"); } }