7585d9eb 张雷

网关功能修复

1 个父辈 7e31164f
...@@ -2,6 +2,7 @@ package com.skua.modules.alarmtmp.mapper; ...@@ -2,6 +2,7 @@ package com.skua.modules.alarmtmp.mapper;
2 2
3 import com.baomidou.mybatisplus.core.mapper.BaseMapper; 3 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 import com.skua.modules.alarmtmp.entity.SysFactoryDevice; 4 import com.skua.modules.alarmtmp.entity.SysFactoryDevice;
5 import org.apache.ibatis.annotations.Param;
5 6
6 import java.util.List; 7 import java.util.List;
7 8
......
...@@ -461,22 +461,30 @@ FROM ...@@ -461,22 +461,30 @@ FROM
461 461
462 </select> 462 </select>
463 <select id="getQualityAlarmList" resultType="java.util.Map"> 463 <select id="getQualityAlarmList" resultType="java.util.Map">
464 SELECT 464 SELECT
465 sd.id departId, 465 sd.id departId,
466 sd.depart_name departName, 466 sd.depart_name departName,
467 sa.area_name areaName, 467 sa.area_name areaName,
468 (select count(1)count from alarm_record_history where alarm_rule_type='6' and alarm_param_type='数据长期不变累计时长报警配置' and DATE_FORMAT( record_time, '%Y-%m' ) =#{time} and sd.id=depart_id)invariantCount, 468 (select count(1) count from alarm_record_history
469 (select count(1)count from alarm_record_history where alarm_rule_type='6' and alarm_param_type='数据超过有效上下限报警配置' and DATE_FORMAT( record_time, '%Y-%m' ) =#{time} and sd.id=depart_id )overCount 469 where alarm_rule_type='6'
470 FROM 470 and alarm_param_type='数据长期不变累计时长报警配置'
471 sys_depart sd 471 and DATE_FORMAT( record_time, '%Y-%m' ) = #{time}
472 left join sys_factory_info sfi on sfi.depart_id=sd.id 472 and sd.id=depart_id)invariantCount,
473 left join sys_area sa on sa.id=sfi.pro_county 473 (select count(1) count from alarm_record_history
474 where depart_type = 1 474 where alarm_rule_type='6'
475 order by overCount desc 475 and alarm_param_type='数据超过有效上下限报警配置'
476 and DATE_FORMAT( record_time, '%Y-%m' ) = #{time}
477 and sd.id=depart_id )overCount
478 FROM
479 sys_depart sd
480 left join sys_factory_info sfi on sfi.depart_id=sd.id
481 left join sys_area sa on sa.id=sfi.pro_county
482 where depart_type = 1
483 order by overCount desc
476 </select> 484 </select>
477 485
478 <select id="getEquipAlarm" resultType="java.util.Map"> 486 <select id="getEquipAlarm" resultType="java.util.Map">
479 SELECT 487 SELECT
480 sfi.depart_id departId, 488 sfi.depart_id departId,
481 sfi.depart_name departName, 489 sfi.depart_name departName,
482 sa.area_name areaName 490 sa.area_name areaName
......
...@@ -11,4 +11,6 @@ import java.util.List; ...@@ -11,4 +11,6 @@ import java.util.List;
11 public interface ISysFactoryDeviceService extends IService<SysFactoryDevice> { 11 public interface ISysFactoryDeviceService extends IService<SysFactoryDevice> {
12 12
13 List<SysFactoryDevice> getList(); 13 List<SysFactoryDevice> getList();
14
15 List<SysFactoryDevice> getListByDepart(String departId);
14 } 16 }
......
...@@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.stereotype.Service; 9 import org.springframework.stereotype.Service;
10 10
11 import javax.annotation.Resource; 11 import javax.annotation.Resource;
12 import java.util.ArrayList;
12 import java.util.List; 13 import java.util.List;
13 14
14 /** 15 /**
...@@ -24,4 +25,18 @@ public class SysFactoryDeviceServiceImpl extends ServiceImpl<SysFactoryDeviceMap ...@@ -24,4 +25,18 @@ public class SysFactoryDeviceServiceImpl extends ServiceImpl<SysFactoryDeviceMap
24 public List<SysFactoryDevice> getList() { 25 public List<SysFactoryDevice> getList() {
25 return factoryDeviceMapper.getList(); 26 return factoryDeviceMapper.getList();
26 } 27 }
28
29 @Override
30 public List<SysFactoryDevice> getListByDepart(String departId) {
31 List<SysFactoryDevice> result = new ArrayList<>();
32 List<SysFactoryDevice> list = factoryDeviceMapper.getList();
33 if(list.size() > 0){
34 for (SysFactoryDevice device : list) {
35 if(departId.equals(device.getDepartId())){
36 result.add(device);
37 }
38 }
39 }
40 return result;
41 }
27 } 42 }
......
...@@ -46,7 +46,7 @@ import java.util.stream.Collectors; ...@@ -46,7 +46,7 @@ import java.util.stream.Collectors;
46 public class NewAlarmRecordHistoryController { 46 public class NewAlarmRecordHistoryController {
47 @Autowired 47 @Autowired
48 private AlarmRecordHistoryService alarmRecordHistoryService; 48 private AlarmRecordHistoryService alarmRecordHistoryService;
49 49
50 @Autowired 50 @Autowired
51 private IFlowService flowService; 51 private IFlowService flowService;
52 @Autowired 52 @Autowired
...@@ -74,7 +74,6 @@ public class NewAlarmRecordHistoryController { ...@@ -74,7 +74,6 @@ public class NewAlarmRecordHistoryController {
74 @ApiOperation(value = "报警记录反馈统计", notes = "报警记录反馈统计") 74 @ApiOperation(value = "报警记录反馈统计", notes = "报警记录反馈统计")
75 @GetMapping(value = "/getHandAlarmStatistics") 75 @GetMapping(value = "/getHandAlarmStatistics")
76 public Result<Map<String, Object>> getHandAlarmStatistics(AlarmRecordHistoryVO alarmRecordHistoryVO) { 76 public Result<Map<String, Object>> getHandAlarmStatistics(AlarmRecordHistoryVO alarmRecordHistoryVO) {
77
78 Result<Map<String, Object>> result = new Result<>(); 77 Result<Map<String, Object>> result = new Result<>();
79 if (StringUtils.isBlank(alarmRecordHistoryVO.getDepartId())) { 78 if (StringUtils.isBlank(alarmRecordHistoryVO.getDepartId())) {
80 String departIds = BaseContextHandler.getDeparts(); 79 String departIds = BaseContextHandler.getDeparts();
...@@ -154,7 +153,7 @@ public class NewAlarmRecordHistoryController { ...@@ -154,7 +153,7 @@ public class NewAlarmRecordHistoryController {
154 } 153 }
155 return result; 154 return result;
156 } 155 }
157 156
158 @AutoLog(value = "报警处理") 157 @AutoLog(value = "报警处理")
159 @ApiOperation(value = "报警处理", notes = "报警处理") 158 @ApiOperation(value = "报警处理", notes = "报警处理")
160 @PostMapping(value = "/task-handle") 159 @PostMapping(value = "/task-handle")
...@@ -163,7 +162,7 @@ public class NewAlarmRecordHistoryController { ...@@ -163,7 +162,7 @@ public class NewAlarmRecordHistoryController {
163 alarmRecordHistoryService.taskHandle(result,alarmRecordHistory); 162 alarmRecordHistoryService.taskHandle(result,alarmRecordHistory);
164 return result; 163 return result;
165 } 164 }
166 165
167 166
168 /** 167 /**
169 * 报警记录 分页列表查询 168 * 报警记录 分页列表查询
...@@ -200,4 +199,4 @@ public class NewAlarmRecordHistoryController { ...@@ -200,4 +199,4 @@ public class NewAlarmRecordHistoryController {
200 199
201 } 200 }
202 201
203 }
...\ No newline at end of file ...\ No newline at end of file
202 }
......
1 package com.skua.modules.quartz; 1 package com.skua.modules.quartz;
2 2
3 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 3 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 import com.google.common.collect.Lists;
4 import com.google.common.collect.Maps; 5 import com.google.common.collect.Maps;
5 import com.skua.core.util.DateUtils; 6 import com.skua.core.util.DateUtils;
6 import com.skua.modules.alarmtmp.entity.*; 7 import com.skua.modules.alarmtmp.entity.*;
...@@ -20,6 +21,7 @@ import org.springframework.stereotype.Component; ...@@ -20,6 +21,7 @@ import org.springframework.stereotype.Component;
20 21
21 import java.text.ParseException; 22 import java.text.ParseException;
22 import java.text.SimpleDateFormat; 23 import java.text.SimpleDateFormat;
24 import java.util.ArrayList;
23 import java.util.Date; 25 import java.util.Date;
24 import java.util.List; 26 import java.util.List;
25 import java.util.Map; 27 import java.util.Map;
...@@ -104,11 +106,11 @@ public class DeviceStatusJob implements Job { ...@@ -104,11 +106,11 @@ public class DeviceStatusJob implements Job {
104 List<Map<String, Object>> facList = sysFactoryInfoService.queryAllFacListStatus(); 106 List<Map<String, Object>> facList = sysFactoryInfoService.queryAllFacListStatus();
105 facList.forEach(v -> { 107 facList.forEach(v -> {
106 //查询plc状态和网关状态 108 //查询plc状态和网关状态
107 String factoryId = (String) v.get("depart_id"); 109 String departId = (String) v.get("depart_id");
108 Integer lineStatusOld = (Integer) v.get("factory_status"); 110 Integer lineStatusOld = (Integer) v.get("factory_status");
109 Integer lineStatusNew = -1; 111 Integer lineStatusNew = -1;
110 QueryWrapper<SysFactoryDeviceChild> queryWrapper = new QueryWrapper<>(); 112 QueryWrapper<SysFactoryDeviceChild> queryWrapper = new QueryWrapper<>();
111 queryWrapper.eq("depart_id", factoryId); 113 queryWrapper.eq("depart_id", departId);
112 List<SysFactoryDeviceChild> list = sysFactoryDeviceChildService.list(queryWrapper); 114 List<SysFactoryDeviceChild> list = sysFactoryDeviceChildService.list(queryWrapper);
113 if (list != null && list.size() > 0) { 115 if (list != null && list.size() > 0) {
114 boolean flag = false; 116 boolean flag = false;
...@@ -127,10 +129,8 @@ public class DeviceStatusJob implements Job { ...@@ -127,10 +129,8 @@ public class DeviceStatusJob implements Job {
127 } 129 }
128 if (lineStatusNew == -1) { 130 if (lineStatusNew == -1) {
129 //没有配置plc 通过网关判断是否在线 131 //没有配置plc 通过网关判断是否在线
130 QueryWrapper<SysFactoryDevice> queryWrapper1 = new QueryWrapper<>(); 132 List<SysFactoryDevice> factoryDevices = new ArrayList<>();
131 queryWrapper1.eq("depart_id", factoryId); 133 factoryDevices = sysFactoryDeviceService.getListByDepart(departId);
132 queryWrapper1.in("device_status", 1, 0);
133 List<SysFactoryDevice> factoryDevices = sysFactoryDeviceService.list(queryWrapper1);
134 if (factoryDevices != null && factoryDevices.size() > 0) { 134 if (factoryDevices != null && factoryDevices.size() > 0) {
135 boolean flag = false; 135 boolean flag = false;
136 for (SysFactoryDevice sysFactoryDevice : factoryDevices) { 136 for (SysFactoryDevice sysFactoryDevice : factoryDevices) {
...@@ -155,31 +155,30 @@ public class DeviceStatusJob implements Job { ...@@ -155,31 +155,30 @@ public class DeviceStatusJob implements Job {
155 if (lineStatusOld == 1) { 155 if (lineStatusOld == 1) {
156 //断线 156 //断线
157 // todo 断线短信 157 // todo 断线短信
158 factoryOffLineStatus(now, factoryId, "add", "fac", factoryId); 158 factoryOffLineStatus(now, departId, "add", "fac", departId);
159 //查询报警配置 报警 159 //查询报警配置 报警
160 addAlarmRecord(factoryId, "", now, factoryId, "重要报警", "add", "6", "水厂断线报警配置"); 160 addAlarmRecord(departId, "", now, departId, "重要报警", "add", "6", "水厂断线报警配置");
161 //更新状态 更新最后在线时间 161 //更新状态 更新最后在线时间
162 sysFactoryInfoService.updFacStatus(lineStatusNew, factoryId, now); 162 sysFactoryInfoService.updFacStatus(lineStatusNew, departId, now);
163 } else { 163 } else {
164 //不更新时间最后在线时间 164 //不更新时间最后在线时间
165 sysFactoryInfoService.updFacStatus(lineStatusNew, factoryId, null); 165 sysFactoryInfoService.updFacStatus(lineStatusNew, departId, null);
166 } 166 }
167 } else if (lineStatusNew == 1) { 167 } else if (lineStatusNew == 1) {
168 if (lineStatusOld == 0) { 168 if (lineStatusOld == 0) {
169 // 上线 169 // 上线
170 // todo 上线短信 170 factoryOffLineStatus(now, departId, "upd", "fac", departId);
171 factoryOffLineStatus(now, factoryId, "upd", "fac", factoryId);
172 //查询报警配置 报警 171 //查询报警配置 报警
173 addAlarmRecord(factoryId, "", now, factoryId, "重要报警", "upd", "6", "水厂断线报警配置"); 172 addAlarmRecord(departId, "", now, departId, "重要报警", "upd", "6", "水厂断线报警配置");
174 //更新状态 更新最后在线时间 173 //更新状态 更新最后在线时间
175 sysFactoryInfoService.updFacStatus(lineStatusNew, factoryId, now); 174 sysFactoryInfoService.updFacStatus(lineStatusNew, departId, now);
176 } else { 175 } else {
177 //更新状态 更新最后在线时间 176 //更新状态 更新最后在线时间
178 sysFactoryInfoService.updFacStatus(lineStatusNew, factoryId, now); 177 sysFactoryInfoService.updFacStatus(lineStatusNew, departId, now);
179 } 178 }
180 } else { 179 } else {
181 //更新状态 更新最后在线时间 180 //更新状态 更新最后在线时间
182 sysFactoryInfoService.updFacStatus(lineStatusNew, factoryId, null); 181 sysFactoryInfoService.updFacStatus(lineStatusNew, departId, null);
183 } 182 }
184 }); 183 });
185 log.info("更新厂站状态成功"); 184 log.info("更新厂站状态成功");
......
...@@ -119,7 +119,7 @@ public class ThreeDController { ...@@ -119,7 +119,7 @@ public class ThreeDController {
119 String status = "offline"; 119 String status = "offline";
120 String departName = String.valueOf(deviceMap.get("departName")); 120 String departName = String.valueOf(deviceMap.get("departName"));
121 String deviceId = String.valueOf(deviceMap.get("deviceId")); 121 String deviceId = String.valueOf(deviceMap.get("deviceId"));
122 String sql = "SELECT count(1) FROM realtimedata WHERE factoryname ='" + deviceId + "' AND nm like'" + "%IoStatus%'" + " AND v = '" + "1'"; 122 String sql = "SELECT count(1) FROM realtimedata WHERE factoryname ='" + deviceId + "' AND nm like '" + "%IoStatus%'" + " AND v = '" + "1'";
123 Map<String, Object> countMap = pgDb.queryForMap(sql); 123 Map<String, Object> countMap = pgDb.queryForMap(sql);
124 Integer count = Integer.parseInt(String.valueOf(countMap.get("count"))); 124 Integer count = Integer.parseInt(String.valueOf(countMap.get("count")));
125 if (count > 0) { 125 if (count > 0) {
......
...@@ -183,7 +183,7 @@ ...@@ -183,7 +183,7 @@
183 ) 183 )
184 ORDER BY 184 ORDER BY
185 depart_order 185 depart_order
186 186
187 </select> 187 </select>
188 <select id="queryFactoryList" parameterType="java.lang.String" 188 <select id="queryFactoryList" parameterType="java.lang.String"
189 resultType="com.skua.modules.system.vo.SysFactoryInfo.SysFactoryInfoVO"> 189 resultType="com.skua.modules.system.vo.SysFactoryInfo.SysFactoryInfoVO">
...@@ -243,7 +243,9 @@ ...@@ -243,7 +243,9 @@
243 where depart_id=#{param2} 243 where depart_id=#{param2}
244 </update> 244 </update>
245 <select id="getAllFacListStatus" resultType="java.util.Map"> 245 <select id="getAllFacListStatus" resultType="java.util.Map">
246 select depart_id,factory_status from sys_factory_info 246 select f.depart_id,f.factory_status from sys_factory_info f
247 left join sys_depart d on f.depart_id = d.id
248 where d.depart_type = 1 and depart_id not LIKE '%WSC%'
247 </select> 249 </select>
248 <select id="queryFactoryListByExport" parameterType="java.lang.String" 250 <select id="queryFactoryListByExport" parameterType="java.lang.String"
249 resultType="com.skua.modules.system.vo.SysFactoryInfo.SysFactoryInfoVO"> 251 resultType="com.skua.modules.system.vo.SysFactoryInfo.SysFactoryInfoVO">
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!