Browse Source

轨迹查询重构

konghl 4 years ago
parent
commit
6c328c4398
29 changed files with 974 additions and 331 deletions
  1. 37 31
      location-rescue-service/pom.xml
  2. 3 1
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/LocationRescueApp.java
  3. 5 4
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/config/MyCorsFilter.java
  4. 140 2
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/controller/AlarmManagementController.java
  5. 10 9
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/controller/DeviceManageController.java
  6. 7 10
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/controller/EquipmentManageController.java
  7. 70 7
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/controller/LocationManagementController.java
  8. 28 24
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/controller/MapTagManageController.java
  9. 9 8
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/controller/WorkEmployeeController.java
  10. 173 20
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/AlarmManagementServiceImpl.java
  11. 17 13
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/DeviceManageServiceImpl.java
  12. 47 46
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/EquipmentManageServiceImpl.java
  13. 46 38
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/LocationManagementServiceImpl.java
  14. 22 36
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/MapTagManageServiceImpl.java
  15. 5 7
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/WorkEmployeeServiceImpl.java
  16. 66 6
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/interfaces/AlarmManagementService.java
  17. 3 3
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/interfaces/DeviceManageService.java
  18. 5 6
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/interfaces/EquipmentManageService.java
  19. 57 13
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/interfaces/LocationManagementService.java
  20. 8 7
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/interfaces/MapTagManageService.java
  21. 0 3
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/interfaces/WorkEmployeeService.java
  22. 52 0
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/task/AlarmMirrorTask.java
  23. 63 0
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/task/LocationMirrorTask.java
  24. 6 10
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/task/MirrorManagement.java
  25. 37 0
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/task/TimingTask.java
  26. 25 4
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/util/DateUtil.java
  27. 24 18
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/util/EbcConstant.java
  28. 6 5
      location-rescue-service/src/main/java/com/ai/bss/location/rescue/util/NorthboundInterfaceUtil.java
  29. 3 0
      location-rescue-service/src/main/resources/application-iot.properties

+ 37 - 31
location-rescue-service/pom.xml

@ -9,7 +9,6 @@
9 9
        <version>2.1.5-SNAPSHOT</version>
10 10
    </parent>
11 11
12
13 12
    <groupId>com.ai.bss</groupId>
14 13
    <artifactId>location-rescue-service</artifactId>
15 14
    <version>1.0-SNAPSHOT</version>
@ -20,24 +19,7 @@
20 19
            <artifactId>pagehelper</artifactId>
21 20
            <version>5.0.3</version>
22 21
        </dependency>
23
        <!--        <dependency>
24
                    <groupId>com.ai.ipu</groupId>
25
                    <artifactId>ipu-data</artifactId>
26
                    <version>3.1-SNAPSHOT</version>
27
                    <scope>compile</scope>
28
                </dependency>
29
                <dependency>
30
                    <groupId>com.ai.ipu</groupId>
31
                    <artifactId>ipu-basic</artifactId>
32
                    <version>3.1-SNAPSHOT</version>
33
                    <scope>compile</scope>
34
                </dependency>
35
                <dependency>
36
                    <groupId>com.ai.wade</groupId>
37
                    <artifactId>wade-common</artifactId>
38
                    <version>1.0</version>
39
                    <scope>compile</scope>
40
                </dependency>-->
22
        
41 23
        <dependency>
42 24
            <groupId>org.apache.httpcomponents</groupId>
43 25
            <artifactId>httpcore</artifactId>
@ -75,18 +57,11 @@
75 57
            <version>2.1.5-SNAPSHOT</version>
76 58
        </dependency>
77 59
78
        <!-- <dependency>
79
            <groupId>com.ai.ipu</groupId>
80
            <artifactId>ipu-common</artifactId>
81
            <version>3.1-SNAPSHOT</version>
82
            <scope>compile</scope>
60
		<dependency>
61
            <groupId>com.ai.bss</groupId>
62
            <artifactId>work-attendance-service-api</artifactId>
63
            <version>2.1.5-SNAPSHOT</version>
83 64
        </dependency>
84
        <dependency>
85
            <groupId>org.apache.poi</groupId>
86
            <artifactId>poi-ooxml</artifactId>
87
            <version>3.14</version>
88
            <scope>compile</scope>
89
        </dependency>-->
90 65
91 66
        <dependency>
92 67
            <groupId>com.ai.bss</groupId>
@ -103,7 +78,7 @@
103 78
        </dependency>
104 79
105 80
       <!-- uspa登录拦截效验-->
106
<!--        <dependency>
81
<!--   <dependency>
107 82
            <groupId>com.ai.bss</groupId>
108 83
            <artifactId>sso-util</artifactId>
109 84
            <version>1.0.0-RELEASE</version>
@ -113,6 +88,37 @@
113 88
            <artifactId>sso-util</artifactId>
114 89
            <version>1.2</version>
115 90
        </dependency>
91
        
92
<!--	<dependency>
93
             <groupId>com.ai.ipu</groupId>
94
             <artifactId>ipu-data</artifactId>
95
             <version>3.1-SNAPSHOT</version>
96
             <scope>compile</scope>
97
         </dependency>
98
         <dependency>
99
             <groupId>com.ai.ipu</groupId>
100
             <artifactId>ipu-basic</artifactId>
101
             <version>3.1-SNAPSHOT</version>
102
             <scope>compile</scope>
103
         </dependency>
104
         <dependency>
105
             <groupId>com.ai.wade</groupId>
106
             <artifactId>wade-common</artifactId>
107
             <version>1.0</version>
108
             <scope>compile</scope>
109
         </dependency>
110
		<dependency>
111
            <groupId>com.ai.ipu</groupId>
112
            <artifactId>ipu-common</artifactId>
113
            <version>3.1-SNAPSHOT</version>
114
            <scope>compile</scope>
115
        </dependency>
116
        <dependency>
117
            <groupId>org.apache.poi</groupId>
118
            <artifactId>poi-ooxml</artifactId>
119
            <version>3.14</version>
120
            <scope>compile</scope>
121
        </dependency>-->
116 122
117 123
        <!-- 缓存 -->
118 124
        <dependency>

+ 3 - 1
location-rescue-service/src/main/java/com/ai/bss/location/rescue/LocationRescueApp.java

@ -6,6 +6,7 @@ import org.springframework.boot.autoconfigure.domain.EntityScan;
6 6
import org.springframework.context.annotation.ComponentScan;
7 7
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
8 8
import org.springframework.scheduling.annotation.EnableAsync;
9
import org.springframework.scheduling.annotation.EnableScheduling;
9 10
10 11
import com.ai.ipu.server.connect.ConnectServerStart;
11 12
import com.ai.ipu.server.connect.util.ConnectServerManager;
@ -17,7 +18,8 @@ import com.ai.ipu.server.stomp.WebSocketStompServer;
17 18
@EnableJpaRepositories(basePackages = "com.ai.bss")
18 19
@EntityScan(basePackages = {"com.ai.bss","com.ai.abc"})
19 20
@ComponentScan(basePackages = {"com.ai.bss","com.ai.abc"})
20
@EnableAsync
21
@EnableScheduling  //开启定时任务
22
@EnableAsync  //开启异步任务
21 23
@SpringBootApplication
22 24
public class LocationRescueApp {
23 25
    public static void main(String[] args) throws Exception {

+ 5 - 4
location-rescue-service/src/main/java/com/ai/bss/location/rescue/config/MyCorsFilter.java

@ -1,6 +1,9 @@
1 1
package com.ai.bss.location.rescue.config;
2 2
3
import com.ai.sso.filter.SessionUserFilter;
3
import java.util.Arrays;
4
import java.util.HashMap;
5
import java.util.Map;
6
4 7
import org.springframework.boot.web.servlet.FilterRegistrationBean;
5 8
import org.springframework.context.annotation.Bean;
6 9
import org.springframework.context.annotation.Configuration;
@ -8,9 +11,7 @@ import org.springframework.web.cors.CorsConfiguration;
8 11
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
9 12
import org.springframework.web.filter.CorsFilter;
10 13
11
import java.util.Arrays;
12
import java.util.HashMap;
13
import java.util.Map;
14
import com.ai.sso.filter.SessionUserFilter;
14 15
15 16
/**
16 17
 * 解决接口跨域问题

+ 140 - 2
location-rescue-service/src/main/java/com/ai/bss/location/rescue/controller/AlarmManagementController.java

@ -1,14 +1,27 @@
1 1
package com.ai.bss.location.rescue.controller;
2 2
3
import java.util.Date;
4
import java.util.HashMap;
5
import java.util.List;
3 6
import java.util.Map;
4 7
8
import javax.servlet.http.HttpServletRequest;
9
10
import org.apache.commons.lang.StringUtils;
5 11
import org.springframework.beans.factory.annotation.Autowired;
6 12
import org.springframework.stereotype.Controller;
13
import org.springframework.web.bind.annotation.RequestBody;
7 14
import org.springframework.web.bind.annotation.RequestMapping;
8 15
import org.springframework.web.bind.annotation.ResponseBody;
9 16
17
import com.ai.abc.api.model.CommonRequest;
10 18
import com.ai.abc.api.model.CommonResponse;
19
import com.ai.bss.components.common.model.PageBean;
20
import com.ai.bss.components.common.model.PageInfo;
11 21
import com.ai.bss.location.rescue.service.interfaces.AlarmManagementService;
22
import com.ai.bss.location.rescue.util.EbcConstant;
23
import com.ai.bss.work.rescue.model.WorkTaskRescue;
24
import com.ai.bss.work.task.model.common.WorkTask;
12 25
13 26
/**
14 27
 * 报警救援管理
@ -29,8 +42,133 @@ public class AlarmManagementController {
29 42
	 */
30 43
	@ResponseBody
31 44
	@RequestMapping("/loadAlarmDetails")
32
	public CommonResponse<Map<String,Object>> loadAlarmDetails() throws Exception {
45
	public CommonResponse<Map<String, Object>> loadAlarmDetails() throws Exception {
33 46
		return alarmManagementService.loadAlarmDetails();
34 47
	}
35
	
48
49
	/**
50
	 * 查询地图标记和设备信息
51
	 * @param request
52
	 * @return
53
	 * @throws Exception
54
	 */
55
	@ResponseBody
56
	@RequestMapping("/loadMapAreaTool")
57
	public CommonResponse<Map<String, Object>> loadMapAreaTool(HttpServletRequest request) throws Exception {
58
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
59
		// TODO 组织ID 权限控制
60
		// JSONObject userInfo = new LoginUserInfoUtil().getUserInfo(request);
61
		// dataMap.put("entityId", userInfo.get("USER_ORG_ID").toString());
62
		// dataMap.put("workOrgId", userInfo.get("USER_ORG_ID").toString());
63
		dataMap.put("entityId", "1");
64
		dataMap.put("workOrgId", "0000");
65
		dataMap.put("isAllowBindTerminal", EbcConstant.TOOL_BIND_REJECT);
66
		return alarmManagementService.loadMapAreaTool(dataMap);
67
	}
68
69
	/**
70
	 * 指派救援
71
	 * 
72
	 * @param params
73
	 * @return
74
	 * @throws Exception
75
	 */
76
	@ResponseBody
77
	@RequestMapping("/assignRescuer")
78
	public CommonResponse<WorkTaskRescue> assignRescuer(@RequestBody Map<String, String> params,
79
			HttpServletRequest request) throws Exception {
80
		if (params == null || StringUtils.isEmpty(params.get("workTaskId"))
81
				|| StringUtils.isEmpty(params.get("rescuersId"))) {
82
			return CommonResponse.fail("500", "指派失败");
83
		}
84
85
		WorkTaskRescue workTaskRescue = new WorkTaskRescue();
86
		workTaskRescue.setWorkTaskId(params.get("workTaskId"));
87
		workTaskRescue.setRescueWorkEmployeeRoleId(params.get("rescuersId"));
88
		workTaskRescue.setAssignTime(new Date());
89
		// TODO 获取当前登录者
90
		// JSONObject userInfo = new LoginUserInfoUtil().getUserInfo(request);
91
		// Object user_id = userInfo.get("ID");
92
		// workTaskRescue.setAssignWorkEmployeeRoleId(user_id);
93
		workTaskRescue.setAssignWorkEmployeeRoleId("2"); // 管理员
94
95
		return alarmManagementService.assignRescuer(workTaskRescue);
96
	}
97
98
	/**
99
	 * 关闭救援
100
	 * 
101
	 * @param params
102
	 * @return
103
	 * @throws Exception
104
	 */
105
	@ResponseBody
106
	@RequestMapping("/closeRescue")
107
	public CommonResponse<WorkTaskRescue> closeRescue(@RequestBody Map<String, String> params) throws Exception {
108
		if (params == null || StringUtils.isEmpty(params.get("workTaskId"))) {
109
			return CommonResponse.fail("500", "关闭失败");
110
		}
111
112
		WorkTaskRescue workTaskRescue = new WorkTaskRescue();
113
		workTaskRescue.setWorkTaskId(params.get("workTaskId"));
114
		workTaskRescue.setCloseTime(new Date());
115
116
		return alarmManagementService.closeRescue(workTaskRescue, params.get("isFalseAlarm"));
117
	}
118
119
	/**
120
	 *  分页查询历史报警
121
	 * @param request
122
	 * @return
123
	 * @throws Exception
124
	 */
125
	@ResponseBody
126
	@RequestMapping("/queryPageCloseAlarmTask")
127
	public CommonResponse<PageBean<Map<String, Object>>> queryPageCloseAlarmTask(
128
			@RequestBody CommonRequest<Map<String, String>> request) throws Exception {
129
		// 当前页数
130
		int pageNumber = request.getPageNumber() < 1 ? 1 : request.getPageNumber();
131
		// 每页条数
132
		int pageSize = request.getPageSize() < 1 ? EbcConstant.DEFAULT_PAGE_SIZE : request.getPageSize();
133
134
		Map<String, Object> dataMap = new HashMap<String, Object>();
135
		dataMap.put("status", WorkTask.END_STATUS);
136
		if (request != null && request.getData() != null) {
137
			dataMap.put("businessType", request.getData().get("businessType"));
138
			dataMap.put("startTime", request.getData().get("startTime"));
139
			dataMap.put("endTime", request.getData().get("endTime"));
140
		}
141
142
		return alarmManagementService.queryPageCloseAlarmTask(dataMap, pageNumber, pageSize);
143
	}
144
145
	/**
146
	 * 获取报警类型下拉列表
147
	 * @return
148
	 * @throws Exception 
149
	 */
150
	@ResponseBody
151
	@RequestMapping("/queryAlarmTypeList")
152
	public CommonResponse<List<Map<String, String>>> queryAlarmTypeList() throws Exception {
153
		List<Map<String, String>> resultList = alarmManagementService.queryAlarmTypeList();
154
155
		return CommonResponse.ok(resultList);
156
	}
157
158
	/**
159
	 * 删除历史报警
160
	 * 
161
	* @param params
162
	* @return
163
	* @throws Exception
164
	*/
165
	@ResponseBody
166
	@RequestMapping("/deleteCloseAlarm")
167
	public CommonResponse<Void> deleteCloseAlarm(@RequestBody Map<String, String> params) throws Exception {
168
		if (params == null || StringUtils.isEmpty(params.get("workTaskId"))) {
169
			return CommonResponse.fail("500", "删除失败");
170
		}
171
172
		return alarmManagementService.deleteCloseAlarm(params);
173
	}
36 174
}

+ 10 - 9
location-rescue-service/src/main/java/com/ai/bss/location/rescue/controller/DeviceManageController.java

@ -1,20 +1,21 @@
1 1
package com.ai.bss.location.rescue.controller;
2 2
3
import com.ai.abc.api.model.CommonRequest;
4
import com.ai.abc.api.model.CommonResponse;
5
import com.ai.bss.components.common.model.PageInfo;
6
import com.ai.bss.location.rescue.service.interfaces.DeviceManageService;
7
import com.ai.bss.location.rescue.util.EbcConstant;
8
import com.ai.bss.location.rescue.util.NorthboundInterfaceConstant;
3
import java.util.HashMap;
4
import java.util.List;
5
import java.util.Map;
6
9 7
import org.springframework.beans.factory.annotation.Autowired;
10 8
import org.springframework.stereotype.Controller;
11 9
import org.springframework.web.bind.annotation.RequestBody;
12 10
import org.springframework.web.bind.annotation.RequestMapping;
13 11
import org.springframework.web.bind.annotation.ResponseBody;
14 12
15
import java.util.HashMap;
16
import java.util.List;
17
import java.util.Map;
13
import com.ai.abc.api.model.CommonRequest;
14
import com.ai.abc.api.model.CommonResponse;
15
import com.ai.bss.components.common.model.PageInfo;
16
import com.ai.bss.location.rescue.service.interfaces.DeviceManageService;
17
import com.ai.bss.location.rescue.util.EbcConstant;
18
import com.ai.bss.location.rescue.util.NorthboundInterfaceConstant;
18 19
19 20
/**
20 21
 * 终端管理

+ 7 - 10
location-rescue-service/src/main/java/com/ai/bss/location/rescue/controller/EquipmentManageController.java

@ -17,13 +17,10 @@ import org.springframework.web.bind.annotation.ResponseBody;
17 17
import com.ai.abc.api.model.CommonRequest;
18 18
import com.ai.abc.api.model.CommonResponse;
19 19
import com.ai.bss.components.common.model.PageBean;
20
import com.ai.bss.components.common.model.PageInfo;
21 20
import com.ai.bss.location.rescue.service.interfaces.EquipmentManageService;
22 21
import com.ai.bss.location.rescue.util.EbcConstant;
23 22
import com.ai.bss.work.tool.model.ResourceTool;
24 23
import com.ai.bss.work.tool.model.ResourceToolType;
25
import com.ai.sso.util.LoginUserInfoUtil;
26
import com.alibaba.fastjson.JSONObject;
27 24
28 25
/**
29 26
 * 设备管理
@ -101,14 +98,14 @@ public class EquipmentManageController {
101 98
	 */
102 99
	@ResponseBody
103 100
	@RequestMapping("/queryAllEquipmentNotBind")
104
	public CommonResponse<PageInfo<Map<String, Object>>> queryAllEquipmentNotBind(HttpServletRequest request) throws Exception {
105
		//TODO 权限控制
101
	public CommonResponse<List<Map<String, Object>>> queryAllEquipmentNotBind(HttpServletRequest request) throws Exception {
102
		HashMap<String, Object> dataMap = new HashMap<String, Object>();
103
		//TODO 组织ID 权限控制
106 104
		//JSONObject userInfo = new LoginUserInfoUtil().getUserInfo(request);
107
		//Object user_org_id = userInfo.get("USER_ORG_ID");
108
		return equipmentManageService.queryAllEquipmentNotBind();
105
        //dataMap.put("workOrgId", userInfo.get("USER_ORG_ID").toString());
106
		dataMap.put("workOrgId", "0000");
107
        dataMap.put("isAllowBindTerminal", EbcConstant.TOOL_BIND_REJECT);
108
		return equipmentManageService.queryAllEquipmentNotBind(dataMap);
109 109
	}
110 110
111
	
112
113
114 111
}

+ 70 - 7
location-rescue-service/src/main/java/com/ai/bss/location/rescue/controller/LocationManagementController.java

@ -1,13 +1,18 @@
1 1
package com.ai.bss.location.rescue.controller;
2 2
3
import com.ai.abc.api.model.CommonResponse;
4
import com.ai.bss.location.rescue.service.interfaces.LocationManagementService;
3
import java.util.HashMap;
4
import java.util.Map;
5
5 6
import org.springframework.beans.factory.annotation.Autowired;
6 7
import org.springframework.stereotype.Controller;
8
import org.springframework.web.bind.annotation.RequestBody;
7 9
import org.springframework.web.bind.annotation.RequestMapping;
8 10
import org.springframework.web.bind.annotation.ResponseBody;
9 11
10
import java.util.Map;
12
import com.ai.abc.api.model.CommonResponse;
13
import com.ai.bss.location.rescue.service.interfaces.LocationManagementService;
14
import com.ai.bss.location.rescue.util.DateUtil;
15
import com.ai.bss.location.rescue.util.EbcConstant;
11 16
12 17
/**
13 18
 * 人员定位管理
@ -28,10 +33,10 @@ public class LocationManagementController {
28 33
	 */
29 34
	@ResponseBody
30 35
	@RequestMapping("/loadLocationDetails")
31
	public CommonResponse<Map<String,Object>> loadLocationDetails() throws Exception {
36
	public CommonResponse<Map<String, Object>> loadLocationDetails() throws Exception {
32 37
		return locationManagementService.loadLocationDetails();
33 38
	}
34
	
39
35 40
	/**
36 41
	 * 初始化人员定位统计数据
37 42
	 * @return
@ -39,9 +44,67 @@ public class LocationManagementController {
39 44
	 */
40 45
	@ResponseBody
41 46
	@RequestMapping("/loadEmployeeStatusCount")
42
	public CommonResponse<Map<String,Integer>> loadEmployeeStatusCount() throws Exception {
43
		Map<String,Integer> resultMap=locationManagementService.loadEmployeeStatusCount();
47
	public CommonResponse<Map<String, Integer>> loadEmployeeStatusCount() throws Exception {
48
		Map<String, Integer> resultMap = locationManagementService.loadEmployeeStatusCount();
44 49
		return CommonResponse.ok(resultMap);
45 50
	}
46 51
52
	/**
53
	 * 获取人员的轨迹
54
	 * 
55
	 * @param request
56
	 * @return
57
	 * @throws Exception
58
	 */
59
	@ResponseBody
60
	@RequestMapping("/queryEmployeeTrace")
61
	public CommonResponse<Map<String, Object>> queryEmployeeTrace(@RequestBody Map<String, String> request)
62
			throws Exception {
63
		if (request == null || request.get("entityId") == null || request.get("timeType") == null) {
64
			CommonResponse.fail("502", "查询失败");
65
		}
66
67
		// 当前页码
68
		// int pageNum = Integer.parseInt(request.get("pageNum") < 1 ? 1 : Integer.parseInt(params.get("pageNum");
69
		int pageNumber = 1;
70
		// 每页条数
71
		// int pageSize = Integer.parseInt(params.get("pageSize") < 1 ? EbcConstant.track_playback_size : Integer.parseInt(params.get("pageSize");
72
		int pageSize = 10000;
73
74
		Map<String, Object> requestMap=new HashMap<String, Object>();
75
		requestMap.put("entityId", request.get("entityId"));
76
		
77
		String endTime = null;
78
		String startTime = null;
79
		switch (request.get("timeType")) {
80
		case EbcConstant.LOCUS_TIME_INTERVAL_TENMINUTE:
81
			endTime = DateUtil.getSysDateTime();
82
			startTime = DateUtil.dateAddMinute(endTime, -10);
83
			break;
84
		case EbcConstant.LOCUS_TIME_INTERVAL_ONEHOUR:
85
			endTime = DateUtil.getSysDateTime();
86
			startTime = DateUtil.dateAddHour(endTime, -1);
87
			break;
88
		case EbcConstant.LOCUS_TIME_INTERVAL_ONEDAY:
89
			endTime = DateUtil.getSysDateTime();
90
			startTime = DateUtil.dateAddDay(endTime, -1);
91
			break;
92
		case EbcConstant.LOCUS_TIME_INTERVAL_CUSTOM:
93
			startTime = request.get("startTime");
94
			endTime = request.get("endTime");
95
96
			if (startTime == null || "".equals(startTime) || endTime == null || "".equals(endTime)) {
97
				return CommonResponse.fail("503", "日期不能为空");
98
			}
99
			break;
100
		default:
101
			return CommonResponse.fail("504", "时间段无效");
102
		}
103
104
		requestMap.put("startTime", startTime);
105
		requestMap.put("endTime", endTime);
106
107
		return locationManagementService.queryEmployeeTrace(requestMap, pageNumber, pageSize);
108
	}
109
47 110
}

+ 28 - 24
location-rescue-service/src/main/java/com/ai/bss/location/rescue/controller/MapTagManageController.java

@ -1,5 +1,16 @@
1 1
package com.ai.bss.location.rescue.controller;
2 2
3
import java.util.ArrayList;
4
import java.util.HashMap;
5
import java.util.List;
6
import java.util.Map;
7
8
import org.springframework.beans.factory.annotation.Autowired;
9
import org.springframework.stereotype.Controller;
10
import org.springframework.web.bind.annotation.RequestBody;
11
import org.springframework.web.bind.annotation.RequestMapping;
12
import org.springframework.web.bind.annotation.ResponseBody;
13
3 14
import com.ai.abc.api.model.CommonRequest;
4 15
import com.ai.abc.api.model.CommonResponse;
5 16
import com.ai.bss.components.common.model.PageBean;
@ -8,16 +19,6 @@ import com.ai.bss.location.rescue.util.EbcConstant;
8 19
import com.ai.bss.position.model.MapArea;
9 20
import com.ai.bss.position.model.MapAreaBusinessType;
10 21
import com.ai.bss.worker.model.MapTagInfoDto;
11
import org.springframework.beans.factory.annotation.Autowired;
12
import org.springframework.stereotype.Controller;
13
import org.springframework.web.bind.annotation.RequestBody;
14
import org.springframework.web.bind.annotation.RequestMapping;
15
import org.springframework.web.bind.annotation.ResponseBody;
16
17
import java.util.ArrayList;
18
import java.util.HashMap;
19
import java.util.List;
20
import java.util.Map;
21 22
22 23
/**
23 24
 * 地图标记
@ -48,20 +49,6 @@ public class MapTagManageController {
48 49
	}
49 50
50 51
	/**
51
	 * 按部门查询所有围栏信息
52
	 *
53
	 * @param params
54
	 * @return
55
	 * @throws Exception
56
	 */
57
	@ResponseBody
58
	@RequestMapping("/queryAllMapTagByOrg")
59
	public CommonResponse<List<Map<String, Object>>> queryAllMapTagByOrg(@RequestBody Map<String, String> params)
60
			throws Exception {
61
		return mapTagManageService.queryAllMapTagByOrg(params);
62
	}
63
64
	/**
65 52
	 * 查询单个围栏信息
66 53
	 *
67 54
	 * @param params
@ -171,4 +158,21 @@ public class MapTagManageController {
171 158
		return mapTagManageService.deleteMapTagInfo(mapTagIdsList);
172 159
	}
173 160
161
	/**
162
	 * 按部门查询所有围栏信息
163
	 *
164
	 * @param params
165
	 * @return
166
	 * @throws Exception
167
	 */
168
	@ResponseBody
169
	@RequestMapping("/queryAllMapAreaByOrg")
170
	public CommonResponse<List<Map<String, Object>>> queryAllMapTagByOrg(@RequestBody Map<String, String> params)
171
			throws Exception {
172
		Map<String, Object> dataMap = new HashMap<String, Object>();
173
		dataMap.put("entityId", params.get("entityId"));
174
175
		return mapTagManageService.queryAllMapAreaByOrg(dataMap);
176
	}
177
174 178
}

+ 9 - 8
location-rescue-service/src/main/java/com/ai/bss/location/rescue/controller/WorkEmployeeController.java

@ -1,5 +1,14 @@
1 1
package com.ai.bss.location.rescue.controller;
2 2
3
import java.util.List;
4
import java.util.Map;
5
6
import org.springframework.beans.factory.annotation.Autowired;
7
import org.springframework.stereotype.Controller;
8
import org.springframework.web.bind.annotation.RequestBody;
9
import org.springframework.web.bind.annotation.RequestMapping;
10
import org.springframework.web.bind.annotation.ResponseBody;
11
3 12
import com.ai.abc.api.model.CommonRequest;
4 13
import com.ai.abc.api.model.CommonResponse;
5 14
import com.ai.bss.characteristic.spec.model.CharacteristicSpecValue;
@ -10,14 +19,6 @@ import com.ai.bss.person.model.Organization;
10 19
import com.ai.bss.user.dto.EmployeeDto;
11 20
import com.ai.bss.user.dto.UserDto;
12 21
import com.ai.bss.worker.model.EmployeeTerminalRelaDto;
13
import org.springframework.beans.factory.annotation.Autowired;
14
import org.springframework.stereotype.Controller;
15
import org.springframework.web.bind.annotation.RequestBody;
16
import org.springframework.web.bind.annotation.RequestMapping;
17
import org.springframework.web.bind.annotation.ResponseBody;
18
19
import java.util.List;
20
import java.util.Map;
21 22
22 23
/**
23 24
 * 用户信息

+ 173 - 20
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/AlarmManagementServiceImpl.java

@ -1,54 +1,207 @@
1 1
package com.ai.bss.location.rescue.service.impl;
2 2
3
import java.util.ArrayList;
4
import java.util.HashMap;
5
import java.util.List;
3 6
import java.util.Map;
4 7
5
import com.ai.abc.api.model.CommonRequest;
6
import com.ai.bss.location.rescue.util.MirrorSendDateUtil;
7
import com.ai.bss.work.task.model.common.WorkTask;
8
import com.ai.bss.worker.service.api.EntityAlarmHandle;
9
import com.alibaba.fastjson.JSON;
10 8
import org.slf4j.Logger;
11 9
import org.slf4j.LoggerFactory;
10
import org.springframework.beans.factory.annotation.Autowired;
12 11
import org.springframework.stereotype.Service;
13 12
13
import com.ai.abc.api.model.CommonRequest;
14 14
import com.ai.abc.api.model.CommonResponse;
15
import com.ai.bss.characteristic.spec.model.CharacteristicSpec;
16
import com.ai.bss.characteristic.spec.model.CharacteristicSpecValue;
17
import com.ai.bss.characteristic.spec.service.api.CharacteristicSpecService;
18
import com.ai.bss.components.common.model.PageBean;
19
import com.ai.bss.components.common.model.PageInfo;
15 20
import com.ai.bss.location.rescue.service.interfaces.AlarmManagementService;
21
import com.ai.bss.location.rescue.util.DateUtil;
22
import com.ai.bss.location.rescue.util.EbcConstant;
23
import com.ai.bss.position.model.MapAreaBusinessType;
24
import com.ai.bss.position.service.api.MapAreaQuery;
25
import com.ai.bss.work.rescue.model.WorkTaskRescue;
26
import com.ai.bss.work.rescue.service.api.RescueCommand;
27
import com.ai.bss.work.rescue.service.api.RescueQueryService;
28
import com.ai.bss.work.tool.model.ResourceToolType;
29
import com.ai.bss.work.tool.service.api.ResourceToolQuery;
30
import com.ai.bss.worker.service.api.MapAreaTagQuery;
31
import com.alibaba.fastjson.JSONObject;
32
33
import org.springframework.util.CollectionUtils;
16 34
17 35
@Service
18
public class AlarmManagementServiceImpl implements AlarmManagementService, EntityAlarmHandle {
36
public class AlarmManagementServiceImpl implements AlarmManagementService {
19 37
	Logger logger = LoggerFactory.getLogger(AlarmManagementServiceImpl.class);
20 38
21
	/*@Autowired
22
	MapAreaQuery mapAreaQuery;
23
	
24 39
	@Autowired
25
	EntityPositionQuery entityPositionQuery;
26
	
40
	private RescueCommand rescueCommand;
41
42
	@Autowired
43
	private RescueQueryService rescueQueryService;
44
45
	@Autowired
46
	private MapAreaTagQuery mapAreaTagQuery;
47
48
	@Autowired
49
	private MapAreaQuery mapAreaQuery;
50
27 51
	@Autowired
28
	ResourceToolQuery resourceToolQuery;*/
29
	
52
	private ResourceToolQuery resourceToolQuery;
53
54
	@Autowired
55
	private CharacteristicSpecService characteristicSpecService;
56
30 57
	/**
31
	 *初始化实时报警数据
58
	 * 初始化实时报警数据
59
	 *
32 60
	 * @return
33 61
	 * @throws Exception
34 62
	 */
35 63
	@Override
36 64
	public CommonResponse<Map<String, Object>> loadAlarmDetails() throws Exception {
37 65
66
		// CommonResponse<PageBean<WorkTaskRescue>> aaa=rescueQueryService.queryWorkTaskRescue(CommonRequest<Map<String,Object>> conditionMapRequest);
67
38 68
		return null;
39 69
	}
40 70
41 71
	/**
42
	 * 镜屏推送实时报警信息
43
	 * @param workTask
72
	 * 查询地图标记和设备信息
73
	 * @param dataMap
74
	 * @return
75
	 */
76
	@Override
77
	public CommonResponse<Map<String, Object>> loadMapAreaTool(HashMap<String, Object> dataMap) throws Exception {
78
		Map<String, Object> resultMap = new HashMap<String, Object>();
79
80
		List<MapAreaBusinessType> mapAreaTypeList = mapAreaQuery.queryAllMapAreaBusinessType(new CommonRequest(null))
81
				.getData();
82
		List<ResourceToolType> toolTypeList = resourceToolQuery.loadAllResourceToolType(new CommonRequest(null))
83
				.getData();
84
85
		List<Map<String, Object>> mapAreaList = mapAreaTagQuery
86
				.queryAllMapAreaByConditions(new CommonRequest<Map<String, Object>>(dataMap)).getData();
87
		List<Map<String, Object>> toolList = resourceToolQuery
88
				.queryWorkToolByOrgAndBindFlag(new CommonRequest<HashMap<String, Object>>(dataMap)).getData().getData();
89
90
		resultMap.put("mapAreaTypeList", mapAreaTypeList);
91
		resultMap.put("toolTypeList", toolTypeList);
92
93
		resultMap.put("mapAreaList", mapAreaList);
94
		resultMap.put("toolList", toolList);
95
96
		return CommonResponse.ok(resultMap);
97
	}
98
99
	/**
100
	 * 指派救援
101
	 * 
102
	 * @param workTaskRescue
103
	 * @return
104
	 * @throws Exception
105
	 */
106
	@Override
107
	public CommonResponse<WorkTaskRescue> assignRescuer(WorkTaskRescue workTaskRescue) throws Exception {
108
		CommonRequest<WorkTaskRescue> commonRequest = new CommonRequest<WorkTaskRescue>(workTaskRescue);
109
		return rescueCommand.assignRescueEmployee(commonRequest);
110
	}
111
112
	/**
113
	 * 关闭救援
114
	 * 
115
	 * @param workTaskRescue
116
	 * @return
117
	 * @throws Exception
118
	 */
119
	@Override
120
	public CommonResponse<WorkTaskRescue> closeRescue(WorkTaskRescue workTaskRescue, String isFalseAlarm)
121
			throws Exception {
122
		CommonRequest<WorkTaskRescue> commonRequest = new CommonRequest<WorkTaskRescue>(workTaskRescue);
123
		if (EbcConstant.IS_ASSIGN_RESCUER_TRUE.equals(isFalseAlarm)) {
124
			return rescueCommand.closeTask(commonRequest);
125
		} else {
126
			return rescueCommand.falseAlarm(commonRequest);
127
		}
128
	}
129
130
	/**
131
	 *  分页查询历史报警数据
132
	 *  
133
	 * @param dataMap
134
	 * @param pageNumber
135
	 * @param pageSize
44 136
	 * @return
137
	 * @throws Exception
45 138
	 */
46 139
	@Override
47
	public CommonResponse<Map<String, Object>> alarmHandle(CommonRequest<WorkTask> workTask) {
140
	public CommonResponse<PageBean<Map<String, Object>>> queryPageCloseAlarmTask(Map<String, Object> dataMap, int pageNumber, int pageSize)
141
			throws Exception {
142
		CommonRequest<Map<String, Object>> request = new CommonRequest<Map<String, Object>>(dataMap,pageNumber, pageSize);
143
		CommonResponse<PageBean<Map<String, Object>>> response = rescueQueryService.queryHisWorkTaskRescue(request);
144
		
145
		if (CollectionUtils.isEmpty(response.getData().getData())) {
146
			return response;
147
		}
148
		
149
		List<Map<String, String>> AlarmTypeList=queryAlarmTypeList();
150
		List<Map<String, Object>> alarmTaskMap=new ArrayList<Map<String,Object>>();
151
		
152
		for (Map<String, Object> responseMap : response.getData().getData()) {
153
			Map<String, Object> alarmMap=new HashMap<String, Object>();
154
			JSONObject alarmJsonObj=JSONObject.parseObject(responseMap.get("charValueSet").toString());
155
			
156
			alarmMap.put("workTaskId",responseMap.get("workTaskId"));
157
			alarmMap.put("terminalId",responseMap.get("terminalId"));
158
			alarmMap.put("targetUserId",responseMap.get("targetEmployeeRoleId"));
159
			alarmMap.put("targetUserName",responseMap.get("targetEmployeeRoleName"));
160
			alarmMap.put("rescueUserId",responseMap.get("rescueWorkEmployeeRoleId"));
161
			alarmMap.put("rescueUserName",responseMap.get("rescueWorkEmployeeRoleName"));
162
			alarmMap.put("alarmTime",DateUtil.formatDate(Long.valueOf(alarmJsonObj.getString("alarmTime"))));
163
			
164
			
165
			
166
		}
48 167
49
		String msg = JSON.toJSONString(CommonResponse.ok(workTask));
50
		logger.info("人员定位推送镜屏数据: " + msg);
51
		MirrorSendDateUtil.sendData(MirrorSendDateUtil.topic_personnel, msg);
168
		return response;
169
	}
170
171
	/**
172
	 *  获取报警类型下拉列表
173
	 * @return
174
	 * @throws Exception
175
	 */
176
	@Override
177
	public List<Map<String, String>> queryAlarmTypeList() throws Exception {
178
		CharacteristicSpec characteristicSpec = characteristicSpecService
179
				.findBusinessSpecByCharSpecCode(EbcConstant.BUSINESS_SPEC_MAP_AREA_TYPE);
180
181
		if (characteristicSpec == null) {
182
			return new ArrayList<Map<String, String>>();
183
		}
184
185
		List<Map<String, String>> resultList = new ArrayList<Map<String, String>>();
186
		for (CharacteristicSpecValue characteristicSpecValue : characteristicSpec.getCharacteristicSpecValues()) {
187
			Map<String, String> map = new HashMap<String, String>();
188
			map.put("alarmTypeId", characteristicSpecValue.getCode());
189
			map.put("alarmTypeName", characteristicSpecValue.getValue());
190
			resultList.add(map);
191
		}
192
193
		return resultList;
194
	}
195
196
	/**
197
	 * 删除历史报警
198
	 * 
199
	* @param params
200
	* @return
201
	* @throws Exception
202
	*/
203
	@Override
204
	public CommonResponse<Void> deleteCloseAlarm(Map<String, String> params) throws Exception {
52 205
53 206
		return null;
54 207
	}

+ 17 - 13
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/DeviceManageServiceImpl.java

@ -1,5 +1,17 @@
1 1
package com.ai.bss.location.rescue.service.impl;
2 2
3
import java.util.ArrayList;
4
import java.util.Arrays;
5
import java.util.HashMap;
6
import java.util.List;
7
import java.util.Map;
8
9
import org.slf4j.Logger;
10
import org.slf4j.LoggerFactory;
11
import org.springframework.beans.factory.annotation.Autowired;
12
import org.springframework.stereotype.Service;
13
import org.springframework.util.CollectionUtils;
14
3 15
import com.ai.abc.api.model.CommonRequest;
4 16
import com.ai.abc.api.model.CommonResponse;
5 17
import com.ai.bss.characteristic.spec.model.CharacteristicSpec;
@ -21,13 +33,6 @@ import com.ai.bss.worker.service.api.EmployeeTerminalRelaCommand;
21 33
import com.ai.bss.worker.service.api.EmployeeTerminalRelaQuery;
22 34
import com.alibaba.fastjson.JSON;
23 35
import com.alibaba.fastjson.JSONObject;
24
import org.slf4j.Logger;
25
import org.slf4j.LoggerFactory;
26
import org.springframework.beans.factory.annotation.Autowired;
27
import org.springframework.stereotype.Service;
28
import org.springframework.util.CollectionUtils;
29
30
import java.util.*;
31 36
32 37
@Service
33 38
public class DeviceManageServiceImpl implements DeviceManageService {
@ -40,19 +45,19 @@ public class DeviceManageServiceImpl implements DeviceManageService {
40 45
    private EmployeeTerminalRelaCommand employeeTerminalRelaCommand;
41 46
42 47
    @Autowired
43
    ResourceToolQuery resourceToolQuery;
48
    private ResourceToolQuery resourceToolQuery;
44 49
45 50
    @Autowired
46
    CharacteristicSpecService characteristicSpecService;
51
    private CharacteristicSpecService characteristicSpecService;
47 52
48 53
    @Autowired
49
    NorthboundInterfaceUtil northboundInterfaceUtil;
54
    private NorthboundInterfaceUtil northboundInterfaceUtil;
50 55
51 56
    @Autowired
52
    ResourceToolCommand resourceToolCommand;
57
    private ResourceToolCommand resourceToolCommand;
53 58
54 59
    @Autowired
55
    UserDtoQuery userDtoQuery;
60
    private UserDtoQuery userDtoQuery;
56 61
57 62
    @Override
58 63
    public PageInfo<Map<String, Object>> queryPageDeviceInfo(Map<String, String> params, int pageNumber, int pageSize)
@ -206,7 +211,6 @@ public class DeviceManageServiceImpl implements DeviceManageService {
206 211
            }
207 212
        }
208 213
209
        // 返回数据
210 214
        PageInfo<Map<String, Object>> result = new PageInfo<Map<String, Object>>(Integer.valueOf(String.valueOf(deviceInfoListMap.get("totalResultNumber"))), resultList);
211 215
        return result;
212 216
    }

+ 47 - 46
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/EquipmentManageServiceImpl.java

@ -1,71 +1,72 @@
1 1
package com.ai.bss.location.rescue.service.impl;
2 2
3
import java.util.HashMap;
4
import java.util.List;
5
import java.util.Map;
6
7
import org.slf4j.Logger;
8
import org.slf4j.LoggerFactory;
9
import org.springframework.beans.factory.annotation.Autowired;
10
import org.springframework.stereotype.Service;
3 11
4 12
import com.ai.abc.api.model.CommonRequest;
5 13
import com.ai.abc.api.model.CommonResponse;
6 14
import com.ai.bss.components.common.model.PageBean;
7 15
import com.ai.bss.components.common.model.PageInfo;
8 16
import com.ai.bss.location.rescue.service.interfaces.EquipmentManageService;
9
import com.ai.bss.location.rescue.util.EbcConstant;
10 17
import com.ai.bss.work.tool.model.ResourceTool;
11 18
import com.ai.bss.work.tool.model.ResourceToolType;
12 19
import com.ai.bss.work.tool.service.api.ResourceToolCommand;
13 20
import com.ai.bss.work.tool.service.api.ResourceToolQuery;
14
import org.slf4j.Logger;
15
import org.slf4j.LoggerFactory;
16
import org.springframework.beans.factory.annotation.Autowired;
17
import org.springframework.stereotype.Service;
18
19
import java.util.HashMap;
20
import java.util.List;
21
import java.util.Map;
22 21
23 22
@Service
24 23
public class EquipmentManageServiceImpl<EquipmentManageDao> implements EquipmentManageService {
25
    Logger logger = LoggerFactory.getLogger(EquipmentManageServiceImpl.class);
26
27
    @Autowired
28
    ResourceToolCommand resourceToolCommand;
24
	Logger logger = LoggerFactory.getLogger(EquipmentManageServiceImpl.class);
29 25
30
    @Autowired
31
    ResourceToolQuery resourceToolQuery;
26
	@Autowired
27
	private ResourceToolCommand resourceToolCommand;
32 28
33
    @Override
34
    public CommonResponse<PageBean<Map<String, Object>>> queryEquipmentInfo(CommonRequest<HashMap<String, Object>> conditionMap) throws Exception {
35
        return resourceToolQuery.queryWorkToolByConditions(conditionMap);
36
    }
29
	@Autowired
30
	private ResourceToolQuery resourceToolQuery;
37 31
32
	@Override
33
	public CommonResponse<PageBean<Map<String, Object>>> queryEquipmentInfo(
34
			CommonRequest<HashMap<String, Object>> conditionMap) throws Exception {
35
		return resourceToolQuery.queryWorkToolByConditions(conditionMap);
36
	}
38 37
39
    @Override
40
    public CommonResponse<ResourceTool> modifyEquipmentInfo(CommonRequest<ResourceTool> resourceToolCommonRequest) throws Exception {
41
        return resourceToolCommand.createWorkTool(resourceToolCommonRequest);
42
    }
38
	@Override
39
	public CommonResponse<ResourceTool> modifyEquipmentInfo(CommonRequest<ResourceTool> resourceToolCommonRequest)
40
			throws Exception {
41
		return resourceToolCommand.createWorkTool(resourceToolCommonRequest);
42
	}
43 43
44
    @Override
45
    public CommonResponse<ResourceTool> createEquipmentInfo(CommonRequest<ResourceTool> resourceToolCommonRequest) {
46
        return resourceToolCommand.createWorkTool(resourceToolCommonRequest);
47
    }
44
	@Override
45
	public CommonResponse<ResourceTool> createEquipmentInfo(CommonRequest<ResourceTool> resourceToolCommonRequest) {
46
		return resourceToolCommand.createWorkTool(resourceToolCommonRequest);
47
	}
48 48
49
    @Override
50
    public CommonResponse<List<ResourceToolType>> loadAllResourceToolType(CommonRequest commonRequest) {
51
        return resourceToolQuery.loadAllResourceToolType(commonRequest);
52
    }
49
	@Override
50
	public CommonResponse<List<ResourceToolType>> loadAllResourceToolType(CommonRequest commonRequest) {
51
		return resourceToolQuery.loadAllResourceToolType(commonRequest);
52
	}
53 53
54
    @Override
55
    public CommonResponse<ResourceTool> deleteEquipmentInfo(CommonRequest<List<String>> resourceToolCommonRequest) throws Exception {
56
        //删除绑定终端关系
57
        resourceToolCommand.deleteWorkToolsDevRelaByWorkToolId(resourceToolCommonRequest);
58
        //删除设备信息
59
        return resourceToolCommand.deleteWorkTool(resourceToolCommonRequest);
60
    }
54
	@Override
55
	public CommonResponse<ResourceTool> deleteEquipmentInfo(CommonRequest<List<String>> resourceToolCommonRequest)
56
			throws Exception {
57
		// 删除绑定终端关系
58
		resourceToolCommand.deleteWorkToolsDevRelaByWorkToolId(resourceToolCommonRequest);
59
		// 删除设备信息
60
		return resourceToolCommand.deleteWorkTool(resourceToolCommonRequest);
61
	}
61 62
62
    @Override
63
    public CommonResponse<PageInfo<Map<String, Object>>> queryAllEquipmentNotBind() throws Exception {
64
        HashMap<String, Object> dataMap = new HashMap<>();
65
        dataMap.put("workOrgId", "0000");//TODO 组织ID
66
        dataMap.put("isAllowBindTerminal", EbcConstant.TOOL_BIND_REJECT);//是否可绑定
67
        CommonRequest<HashMap<String, Object>> commonRequest = new CommonRequest<HashMap<String, Object>>(dataMap);
68
        return resourceToolQuery.queryWorkToolByOrgAndBindFlag(commonRequest);
69
    }
63
	@Override
64
	public CommonResponse<List<Map<String, Object>>> queryAllEquipmentNotBind(HashMap<String, Object> dataMap)
65
			throws Exception {
66
		CommonRequest<HashMap<String, Object>> request = new CommonRequest<HashMap<String, Object>>(dataMap);
67
		CommonResponse<PageInfo<Map<String, Object>>> response = resourceToolQuery
68
				.queryWorkToolByOrgAndBindFlag(request);
69
		return CommonResponse.ok(response.getData().getData());
70
	}
70 71
71 72
}

+ 46 - 38
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/LocationManagementServiceImpl.java

@ -5,7 +5,6 @@ import java.util.HashMap;
5 5
import java.util.List;
6 6
import java.util.Map;
7 7
8
import com.github.pagehelper.util.StringUtil;
9 8
import org.slf4j.Logger;
10 9
import org.slf4j.LoggerFactory;
11 10
import org.springframework.beans.factory.annotation.Autowired;
@ -14,11 +13,12 @@ import org.springframework.util.CollectionUtils;
14 13
15 14
import com.ai.abc.api.model.CommonRequest;
16 15
import com.ai.abc.api.model.CommonResponse;
16
import com.ai.bss.components.common.model.PageBean;
17 17
import com.ai.bss.components.common.util.ComponentReflectionUtils;
18 18
import com.ai.bss.location.rescue.model.EbcEntityPosition;
19 19
import com.ai.bss.location.rescue.model.EbcMapArea;
20 20
import com.ai.bss.location.rescue.service.interfaces.LocationManagementService;
21
import com.ai.bss.location.rescue.util.MirrorSendDateUtil;
21
import com.ai.bss.location.rescue.service.task.LocationMirrorTask;
22 22
import com.ai.bss.position.model.EntityPosition;
23 23
import com.ai.bss.position.model.MapArea;
24 24
import com.ai.bss.position.model.MapAreaBusinessType;
@ -27,22 +27,26 @@ import com.ai.bss.position.service.api.MapAreaQuery;
27 27
import com.ai.bss.position.service.api.outparam.LoadMapViewParam;
28 28
import com.ai.bss.work.tool.model.ResourceToolType;
29 29
import com.ai.bss.work.tool.service.api.ResourceToolQuery;
30
import com.ai.bss.worker.service.api.EntityPositionChangeHandle;
31 30
import com.alibaba.fastjson.JSON;
32 31
import com.alibaba.fastjson.JSONObject;
32
import com.github.pagehelper.util.StringUtil;
33
import org.springframework.util.StringUtils;
33 34
34 35
@Service
35
public class LocationManagementServiceImpl implements LocationManagementService, EntityPositionChangeHandle {
36
public class LocationManagementServiceImpl implements LocationManagementService {
36 37
	Logger logger = LoggerFactory.getLogger(LocationManagementServiceImpl.class);
37 38
38 39
	@Autowired
39
	MapAreaQuery mapAreaQuery;
40
	private MapAreaQuery mapAreaQuery;
41
42
	@Autowired
43
	private EntityPositionQuery entityPositionQuery;
40 44
41 45
	@Autowired
42
	EntityPositionQuery entityPositionQuery;
46
	private ResourceToolQuery resourceToolQuery;
43 47
44 48
	@Autowired
45
	ResourceToolQuery resourceToolQuery;
49
	private LocationMirrorTask locationMirrorTask;
46 50
47 51
	/**
48 52
	 * 初始化人员定位详细数据
@ -125,36 +129,37 @@ public class LocationManagementServiceImpl implements LocationManagementService,
125 129
	}
126 130
127 131
	/**
128
	 * 镜屏推送实体位置变动信息
129
	 *
130
	 * @param commonRequest
132
	 * 获取人员的轨迹
133
	 * @param requestMap
131 134
	 * @return
135
	 * @throws Exception
132 136
	 */
133 137
	@Override
134
	public CommonResponse<Map<String, Object>> entityPositionChange(CommonRequest<LoadMapViewParam> commonRequest) {
135
		try {
136
			Map<String, Object> resultMap = new HashMap<String, Object>();
137
			if (commonRequest != null && commonRequest.getData() != null) {
138
				resultMap.put("aggregatedMapAreaList",
139
						getMapAreaAllStatus(commonRequest.getData().getAggregatedMapAreaList()));
140
				resultMap.put("unaggregatedEntityPositionList",
141
						getEmployeeAllStatus(commonRequest.getData().getUnaggregatedEntityPositionList(), null));
142
			} else {
143
				resultMap.put("aggregatedMapAreaList", new ArrayList<MapArea>());
144
				resultMap.put("unaggregatedEntityPositionList", new ArrayList<EntityPosition>());
145
			}
146
147
			resultMap.put("countMap", loadEmployeeStatusCount());
138
	public CommonResponse<Map<String, Object>> queryEmployeeTrace(Map<String, Object> requestMap, int pageNumber,
139
			int pageSize) throws Exception {
140
		CommonRequest<Map<String, Object>> commonRequest = new CommonRequest<Map<String, Object>>(requestMap,
141
				pageNumber, pageSize);
142
		CommonResponse<PageBean<Map<String, Object>>> response = entityPositionQuery
143
				.queryEntityTraceByCondition(commonRequest);
144
145
		if (response == null || response.getData() == null || CollectionUtils.isEmpty(response.getData().getData())) {
146
			return CommonResponse.fail("505", "无轨迹信息");
147
		}
148
		List<Map<String, Object>> traceList = response.getData().getData();
148 149
149
			String msg = JSON.toJSONString(CommonResponse.ok(resultMap));
150
			logger.info("人员定位推送镜屏数据: " + msg);
151
			MirrorSendDateUtil.sendData(MirrorSendDateUtil.topic_personnel, msg);
150
		requestMap.put("traceNum", traceList.size());
152 151
153
		} catch (Exception e) {
154
			logger.error("人员定位推送镜屏失败,data: " + JSON.toJSONString(commonRequest));
152
		String[][] resultArray = new String[traceList.size()][3];
153
		for (int i = 0; i < traceList.size(); i++) {
154
			String[] coordArray = new String[3];
155
			coordArray[0] = String.valueOf(traceList.get(i).get("longitude"));
156
			coordArray[1] = String.valueOf(traceList.get(i).get("latitude"));
157
			coordArray[2] = String.valueOf(traceList.get(i).get("createDate"));
158
			resultArray[i] = coordArray;
155 159
		}
156 160
157
		return null;
161
		requestMap.put("coordArray", resultArray);
162
		return CommonResponse.ok(requestMap);
158 163
	}
159 164
160 165
	/**
@ -164,7 +169,8 @@ public class LocationManagementServiceImpl implements LocationManagementService,
164 169
	 * @return
165 170
	 * @throws Exception
166 171
	 */
167
	private List<EbcMapArea> getMapAreaAllStatus(List<MapArea> mapAreaList) throws Exception {
172
	@Override
173
	public List<EbcMapArea> getMapAreaAllStatus(List<MapArea> mapAreaList) throws Exception {
168 174
		List<EbcMapArea> ebcMapAreaList = new ArrayList<EbcMapArea>();
169 175
		if (CollectionUtils.isEmpty(mapAreaList))
170 176
			return ebcMapAreaList;
@ -178,14 +184,14 @@ public class LocationManagementServiceImpl implements LocationManagementService,
178 184
			EbcMapArea ebcMapArea = new EbcMapArea();
179 185
			ComponentReflectionUtils.copyAttributeFromParent(mapArea, ebcMapArea);
180 186
181
			if (!StringUtil.isEmpty(mapArea.getBusinessType())) {
187
			if (!StringUtils.isEmpty(mapArea.getBusinessType())) {
182 188
				for (MapAreaBusinessType areaType : mapAreaTypeList) {
183 189
					if (areaType.getMapAreaBusinessType().equals(mapArea.getBusinessType())) {
184 190
						ebcMapArea.setAreaColor(areaType.getColor());
185 191
						break;
186 192
					}
187 193
				}
188
			} else if (!StringUtil.isEmpty(mapArea.getCoreEntityId())) {
194
			} else if (!StringUtils.isEmpty(mapArea.getCoreEntityId())) {
189 195
				for (ResourceToolType toolType : toolTypeList) {
190 196
					if (toolType.getResourceToolType().equals(mapArea.getCoreEntityId())) {
191 197
						ebcMapArea.setToolIconUrl(toolType.getIconUrl());
@ -216,7 +222,8 @@ public class LocationManagementServiceImpl implements LocationManagementService,
216 222
	 * @return
217 223
	 * @throws Exception
218 224
	 */
219
	private List<EbcEntityPosition> getEmployeeAllStatus(List<EntityPosition> EntityPositionList, String locationStatus)
225
	@Override
226
	public List<EbcEntityPosition> getEmployeeAllStatus(List<EntityPosition> EntityPositionList, String locationStatus)
220 227
			throws Exception {
221 228
		List<EbcEntityPosition> ebcEntityPositionList = new ArrayList<EbcEntityPosition>();
222 229
		if (CollectionUtils.isEmpty(EntityPositionList))
@ -229,8 +236,8 @@ public class LocationManagementServiceImpl implements LocationManagementService,
229 236
			String maxStatus = getEntityPositionStatus(entityPosition);
230 237
			ebcEntityPosition.setLocationStatus(maxStatus);
231 238
			ebcEntityPositionList.add(ebcEntityPosition);
232
			
233
			if (locationStatus!=null) {
239
240
			if (locationStatus != null) {
234 241
				locationStatus = locationStatus.compareTo(maxStatus) > 0 ? locationStatus : maxStatus;
235 242
			}
236 243
		}
@ -244,10 +251,11 @@ public class LocationManagementServiceImpl implements LocationManagementService,
244 251
	 * @param entityPosition
245 252
	 * @return
246 253
	 */
247
	private String getEntityPositionStatus(EntityPosition entityPosition) {
254
	@Override
255
	public String getEntityPositionStatus(EntityPosition entityPosition) {
248 256
		String maxStatus = EntityPosition.TAG_TYPE_NORMAL;
249 257
		JSONObject statusJsonObj = JSONObject.parseObject(entityPosition.getCharValueSet());
250
		if (statusJsonObj!=null) {
258
		if (statusJsonObj != null) {
251 259
			List tagList = (List) statusJsonObj.get(EntityPosition.TAG_FIELD_NAME);
252 260
253 261
			for (Object tagObj : tagList) {

+ 22 - 36
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/MapTagManageServiceImpl.java

@ -1,30 +1,21 @@
1 1
package com.ai.bss.location.rescue.service.impl;
2 2
3
import java.util.HashMap;
4
import java.util.List;
5
import java.util.Map;
6
7
import org.springframework.beans.factory.annotation.Autowired;
8
import org.springframework.stereotype.Service;
9
3 10
import com.ai.abc.api.model.CommonRequest;
4 11
import com.ai.abc.api.model.CommonResponse;
5
import com.ai.bss.characteristic.spec.model.CharacteristicSpec;
6
import com.ai.bss.characteristic.spec.model.CharacteristicSpecValue;
7
import com.ai.bss.characteristic.spec.service.api.CharacteristicSpecService;
8 12
import com.ai.bss.components.common.model.PageBean;
9 13
import com.ai.bss.location.rescue.service.interfaces.MapTagManageService;
10
import com.ai.bss.location.rescue.util.EbcConstant;
11
import com.ai.bss.position.model.MapArea;
12 14
import com.ai.bss.position.model.MapAreaBusinessType;
13 15
import com.ai.bss.position.service.api.MapAreaQuery;
14
import com.ai.bss.user.dto.UserDto;
15
import com.ai.bss.user.service.api.UserDtoQuery;
16 16
import com.ai.bss.worker.model.MapTagInfoDto;
17 17
import com.ai.bss.worker.service.api.MapAreaTagCommand;
18 18
import com.ai.bss.worker.service.api.MapAreaTagQuery;
19
import com.google.common.collect.Maps;
20
import org.springframework.beans.factory.annotation.Autowired;
21
import org.springframework.stereotype.Service;
22
import org.springframework.util.CollectionUtils;
23
24
import java.util.ArrayList;
25
import java.util.HashMap;
26
import java.util.List;
27
import java.util.Map;
28 19
29 20
@Service
30 21
public class MapTagManageServiceImpl implements MapTagManageService {
@ -38,36 +29,26 @@ public class MapTagManageServiceImpl implements MapTagManageService {
38 29
	@Autowired
39 30
	private MapAreaQuery mapAreaQuery;
40 31
41
	@Autowired
42
	CharacteristicSpecService characteristicSpecService;
43
44 32
	@Override
45
	public CommonResponse<PageBean<Map<String, Object>>> queryPageMapTagInfo(Map<String,String> params, int pageNumber, int pageSize) throws Exception {
33
	public CommonResponse<PageBean<Map<String, Object>>> queryPageMapTagInfo(Map<String, String> params, int pageNumber,
34
			int pageSize) throws Exception {
46 35
		Map<String, Object> data = new HashMap<String, Object>();
47
		if (params!=null) {
48
			data.put("mapAreaName", params.get("mapAreaName"));  //围栏名称模糊查询
49
			data.put("entityId",params.get("entityId"));//所属部门
50
			data.put("businessType",params.get("mapAreaType"));//围栏类型
36
		if (params != null) {
37
			data.put("mapAreaName", params.get("mapAreaName")); // 围栏名称模糊查询
38
			data.put("entityId", params.get("entityId"));// 所属部门
39
			data.put("businessType", params.get("mapAreaType"));// 围栏类型
51 40
		}
52 41
53
		CommonRequest<Map<String, Object>> commonRequest = new CommonRequest<Map<String, Object>>(data, pageNumber, pageSize);
42
		CommonRequest<Map<String, Object>> commonRequest = new CommonRequest<Map<String, Object>>(data, pageNumber,
43
				pageSize);
54 44
55 45
		return mapAreaTagQuery.queryMapAreaTag(commonRequest);
56 46
	}
57 47
58 48
	@Override
59
	public CommonResponse<List<Map<String, Object>>> queryAllMapTagByOrg(Map<String, String> params) throws Exception {
49
	public CommonResponse<List<Map<String, Object>>> queryOneMapTagInfo(Map<String, String> params) throws Exception {
60 50
		Map<String, Object> data = new HashMap<String, Object>();
61
		data.put("entityId",params.get("entityId"));
62
		CommonRequest<Map<String, Object>> commonRequest = new CommonRequest<Map<String, Object>>(data);
63
64
		 return mapAreaTagQuery.queryAllMapAreaByConditions(commonRequest);
65
	}
66
67
	@Override
68
	public CommonResponse<List<Map<String, Object>>> queryOneMapTagInfo(Map<String,String> params) throws Exception {
69
		Map<String, Object> data = new HashMap<String, Object>();
70
		data.put("mapAreaId", params.get("mapTagId")); //根据主键查询
51
		data.put("mapAreaId", params.get("mapTagId")); // 根据主键查询
71 52
72 53
		CommonRequest<Map<String, Object>> commonRequest = new CommonRequest<Map<String, Object>>(data);
73 54
		return mapAreaTagQuery.queryAllMapAreaByConditions(commonRequest);
@ -96,4 +77,9 @@ public class MapTagManageServiceImpl implements MapTagManageService {
96 77
		return mapAreaTagCommand.deleteMapArea(param);
97 78
	}
98 79
80
	@Override
81
	public CommonResponse<List<Map<String, Object>>> queryAllMapAreaByOrg(Map<String, Object> dataMap) throws Exception {
82
		CommonRequest<Map<String, Object>> request = new CommonRequest<Map<String, Object>>(dataMap);
83
		return mapAreaTagQuery.queryAllMapAreaByConditions(request);
84
	}
99 85
}

+ 5 - 7
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/WorkEmployeeServiceImpl.java

@ -1,12 +1,8 @@
1 1
package com.ai.bss.location.rescue.service.impl;
2 2
3
import java.util.ArrayList;
4
import java.util.HashMap;
5 3
import java.util.List;
6 4
import java.util.Map;
7 5
8
import com.ai.bss.worker.model.EmployeeTerminalRelaDto;
9
import com.ai.bss.worker.service.api.EmployeeTerminalRelaQuery;
10 6
import org.slf4j.Logger;
11 7
import org.slf4j.LoggerFactory;
12 8
import org.springframework.beans.factory.annotation.Autowired;
@ -26,13 +22,15 @@ import com.ai.bss.user.dto.EmployeeDto;
26 22
import com.ai.bss.user.dto.UserDto;
27 23
import com.ai.bss.user.service.api.EmployeeService;
28 24
import com.ai.bss.user.service.api.UserDtoQuery;
25
import com.ai.bss.worker.model.EmployeeTerminalRelaDto;
26
import com.ai.bss.worker.service.api.EmployeeTerminalRelaQuery;
29 27
30 28
@Service
31 29
public class WorkEmployeeServiceImpl implements WorkEmployeeService {
32 30
    Logger logger = LoggerFactory.getLogger(WorkEmployeeServiceImpl.class);
33 31
34 32
    @Autowired
35
    UserDtoQuery userDtoQuery;
33
    private UserDtoQuery userDtoQuery;
36 34
37 35
    @Autowired
38 36
    private OrganizationQuery organizationQuery;
@ -41,10 +39,10 @@ public class WorkEmployeeServiceImpl implements WorkEmployeeService {
41 39
    private EmployeeService employeeService;
42 40
43 41
    @Autowired
44
    CharacteristicSpecService characteristicSpecService;
42
    private CharacteristicSpecService characteristicSpecService;
45 43
46 44
    @Autowired
47
    EmployeeTerminalRelaQuery employeeTerminalRelaQuery;
45
    private EmployeeTerminalRelaQuery employeeTerminalRelaQuery;
48 46
49 47
    @Override
50 48
    public CommonResponse<PageBean<UserDto>> queryWorkEmployee(CommonRequest<UserDto> request) throws Exception {

+ 66 - 6
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/interfaces/AlarmManagementService.java

@ -1,8 +1,14 @@
1 1
package com.ai.bss.location.rescue.service.interfaces;
2 2
3
import java.util.HashMap;
4
import java.util.List;
3 5
import java.util.Map;
4 6
7
import com.ai.abc.api.model.CommonRequest;
5 8
import com.ai.abc.api.model.CommonResponse;
9
import com.ai.bss.components.common.model.PageBean;
10
import com.ai.bss.components.common.model.PageInfo;
11
import com.ai.bss.work.rescue.model.WorkTaskRescue;
6 12
7 13
/**
8 14
 * 报警救援管理
@ -11,11 +17,65 @@ import com.ai.abc.api.model.CommonResponse;
11 17
 */
12 18
public interface AlarmManagementService {
13 19
14
    /**
15
     * 初始化实时报警数据
16
     * @return
17
     * @throws Exception
18
     */
19
    CommonResponse<Map<String,Object>> loadAlarmDetails() throws Exception;
20
	/**
21
	 * 初始化实时报警数据
22
	 * @return
23
	 * @throws Exception
24
	 */
25
	CommonResponse<Map<String, Object>> loadAlarmDetails() throws Exception;
26
27
	/**
28
	 * 查询地图标记和设备信息
29
	 * @param dataMap
30
	 * @return
31
	 */
32
	CommonResponse<Map<String, Object>> loadMapAreaTool(HashMap<String, Object> dataMap) throws Exception ;
33
	
34
	/**
35
	 * 指派救援
36
	 * 
37
	 * @param workTaskRescue
38
	 * @return
39
	 * @throws Exception
40
	 */
41
	CommonResponse<WorkTaskRescue> assignRescuer(WorkTaskRescue workTaskRescue) throws Exception;
42
43
	/**
44
	 * 关闭救援
45
	 * 
46
	 * @param workTaskRescue
47
	 * @param isFalseAlarm
48
	 * @return
49
	 * @throws Exception
50
	 */
51
	CommonResponse<WorkTaskRescue> closeRescue(WorkTaskRescue workTaskRescue, String isFalseAlarm) throws Exception;
52
53
	/**
54
	 *  分页查询历史报警
55
	 *  
56
	 * @param dataMap
57
	 * @param pageNumber
58
	 * @param pageSize
59
	 * @return
60
	 * @throws Exception
61
	 */
62
	CommonResponse<PageBean<Map<String, Object>>> queryPageCloseAlarmTask(Map<String, Object> dataMap, int pageNumber,
63
			int pageSize) throws Exception;
64
65
	/**
66
	 *  获取报警类型下拉列表
67
	 * @return
68
	 * @throws Exception
69
	 */
70
	List<Map<String,String>> queryAlarmTypeList() throws Exception;
71
	
72
	/**
73
	 * 删除历史报警
74
	 * 
75
	* @param params
76
	* @return
77
	* @throws Exception
78
	*/
79
	CommonResponse<Void> deleteCloseAlarm(Map<String, String> params) throws Exception;
20 80
21 81
}

+ 3 - 3
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/interfaces/DeviceManageService.java

@ -1,11 +1,11 @@
1 1
package com.ai.bss.location.rescue.service.interfaces;
2 2
3
import com.ai.abc.api.model.CommonResponse;
4
import com.ai.bss.components.common.model.PageInfo;
5
6 3
import java.util.List;
7 4
import java.util.Map;
8 5
6
import com.ai.abc.api.model.CommonResponse;
7
import com.ai.bss.components.common.model.PageInfo;
8
9 9
public interface DeviceManageService {
10 10
11 11
	/**

+ 5 - 6
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/interfaces/EquipmentManageService.java

@ -1,16 +1,15 @@
1 1
package com.ai.bss.location.rescue.service.interfaces;
2 2
3
import java.util.HashMap;
4
import java.util.List;
5
import java.util.Map;
6
3 7
import com.ai.abc.api.model.CommonRequest;
4 8
import com.ai.abc.api.model.CommonResponse;
5 9
import com.ai.bss.components.common.model.PageBean;
6
import com.ai.bss.components.common.model.PageInfo;
7 10
import com.ai.bss.work.tool.model.ResourceTool;
8 11
import com.ai.bss.work.tool.model.ResourceToolType;
9 12
10
import java.util.HashMap;
11
import java.util.List;
12
import java.util.Map;
13
14 13
public interface EquipmentManageService {
15 14
16 15
    CommonResponse<PageBean<Map<String, Object>>> queryEquipmentInfo(CommonRequest<HashMap<String, Object>> conditionMap) throws Exception;
@ -23,5 +22,5 @@ public interface EquipmentManageService {
23 22
24 23
    CommonResponse<List<ResourceToolType>> loadAllResourceToolType(CommonRequest commonRequest);
25 24
26
    CommonResponse<PageInfo<Map<String, Object>>> queryAllEquipmentNotBind() throws Exception;
25
    CommonResponse<List<Map<String, Object>>> queryAllEquipmentNotBind(HashMap<String, Object> dataMap) throws Exception;
27 26
}

+ 57 - 13
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/interfaces/LocationManagementService.java

@ -1,8 +1,13 @@
1 1
package com.ai.bss.location.rescue.service.interfaces;
2 2
3
import java.util.List;
3 4
import java.util.Map;
4 5
5 6
import com.ai.abc.api.model.CommonResponse;
7
import com.ai.bss.location.rescue.model.EbcEntityPosition;
8
import com.ai.bss.location.rescue.model.EbcMapArea;
9
import com.ai.bss.position.model.EntityPosition;
10
import com.ai.bss.position.model.MapArea;
6 11
7 12
/**
8 13
 * 人员定位管理
@ -11,18 +16,57 @@ import com.ai.abc.api.model.CommonResponse;
11 16
 */
12 17
public interface LocationManagementService {
13 18
14
    /**
15
     * 初始化人员定位详细数据
16
     * @return
17
     * @throws Exception
18
     */
19
    CommonResponse<Map<String,Object>> loadLocationDetails() throws Exception;
20
21
    /**
22
     * 初始化人员定位统计数据
23
     * @return
24
     * @throws Exception
25
     */
26
    Map<String,Integer> loadEmployeeStatusCount() throws Exception;
19
	/**
20
	 * 初始化人员定位详细数据
21
	 * @return
22
	 * @throws Exception
23
	 */
24
	CommonResponse<Map<String, Object>> loadLocationDetails() throws Exception;
25
26
	/**
27
	 * 初始化人员定位统计数据
28
	 * @return
29
	 * @throws Exception
30
	 */
31
	Map<String, Integer> loadEmployeeStatusCount() throws Exception;
32
33
	/**
34
	 * 获取人员的轨迹
35
	 * 
36
	 * @param requestMap
37
	 * @param pageNumber
38
	 * @param pageSize
39
	 * @return
40
	 * @throws Exception
41
	 */
42
	CommonResponse<Map<String, Object>> queryEmployeeTrace(Map<String, Object> requestMap, int pageNumber, int pageSize)
43
			throws Exception;
44
45
	/**
46
	 * 获取设备、围栏的状态
47
	 *
48
	 * @param mapAreaList
49
	 * @return
50
	 * @throws Exception
51
	 */
52
	List<EbcMapArea> getMapAreaAllStatus(List<MapArea> mapAreaList) throws Exception;
53
54
	/**
55
	 * 获取人员的状态
56
	 *
57
	 * @param EntityPositionList
58
	 * @return
59
	 * @throws Exception
60
	 */
61
	List<EbcEntityPosition> getEmployeeAllStatus(List<EntityPosition> EntityPositionList, String locationStatus)
62
			throws Exception;
63
64
	/**
65
	 * 获取单个人员的状态
66
	 *
67
	 * @param entityPosition
68
	 * @return
69
	 */
70
	String getEntityPositionStatus(EntityPosition entityPosition);
27 71
28 72
}

+ 8 - 7
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/interfaces/MapTagManageService.java

@ -22,13 +22,6 @@ public interface MapTagManageService {
22 22
	CommonResponse<PageBean<Map<String, Object>>> queryPageMapTagInfo(Map<String, String> params, int pageNumber, int pageSize) throws Exception;
23 23
24 24
	/**
25
	 * 按部门查询所有围栏信息
26
	 * @return
27
	 * @throws Exception
28
	 */
29
	CommonResponse<List<Map<String, Object>>> queryAllMapTagByOrg(Map<String, String> params) throws Exception;
30
31
	/**
32 25
	 * 获取单个围栏信息
33 26
	 * @param params
34 27
	 * @return
@ -66,4 +59,12 @@ public interface MapTagManageService {
66 59
	 */
67 60
	CommonResponse<Void> deleteMapTagInfo(List<String> mapTagIdsList) throws Exception;
68 61
62
	/**
63
	 * 按部门查询所有围栏信息
64
	 * @param dataMap
65
	 * @return
66
	 * @throws Exception
67
	 */
68
	CommonResponse<List<Map<String, Object>>> queryAllMapAreaByOrg(Map<String, Object> dataMap) throws Exception;
69
69 70
}

+ 0 - 3
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/interfaces/WorkEmployeeService.java

@ -7,14 +7,11 @@ import com.ai.abc.api.model.CommonRequest;
7 7
import com.ai.abc.api.model.CommonResponse;
8 8
import com.ai.bss.characteristic.spec.model.CharacteristicSpecValue;
9 9
import com.ai.bss.components.common.model.PageBean;
10
import com.ai.bss.person.model.Individual;
11 10
import com.ai.bss.person.model.Organization;
12 11
import com.ai.bss.user.dto.EmployeeDto;
13 12
import com.ai.bss.user.dto.UserDto;
14 13
import com.ai.bss.worker.model.EmployeeTerminalRelaDto;
15 14
16
import java.util.List;
17
18 15
public interface WorkEmployeeService {
19 16
20 17
	/**

+ 52 - 0
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/task/AlarmMirrorTask.java

@ -0,0 +1,52 @@
1
package com.ai.bss.location.rescue.service.task;
2
3
import java.util.Map;
4
5
import org.apache.commons.collections4.map.HashedMap;
6
import org.slf4j.Logger;
7
import org.slf4j.LoggerFactory;
8
import org.springframework.stereotype.Component;
9
10
import com.ai.abc.api.model.CommonRequest;
11
import com.ai.abc.api.model.CommonResponse;
12
import com.ai.bss.location.rescue.util.DateUtil;
13
import com.ai.bss.work.task.model.common.WorkTask;
14
import com.ai.bss.worker.service.api.EntityAlarmHandle;
15
import com.alibaba.fastjson.JSON;
16
import com.alibaba.fastjson.JSONObject;
17
18
@Component
19
public class AlarmMirrorTask implements EntityAlarmHandle {
20
	Logger logger = LoggerFactory.getLogger(AlarmMirrorTask.class);
21
22
	/**
23
	 * 镜屏推送实时报警信息
24
	 *
25
	 * @param workTask
26
	 * @return
27
	 */
28
	@Override
29
	public CommonResponse<Map<String, Object>> alarmHandle(CommonRequest<WorkTask> workTask) {
30
		logger.debug("实时报警接收镜屏数据: " + JSON.toJSONString(workTask));
31
		try {
32
			String charValueSet = workTask.getData().getCharValueSet();
33
			JSONObject alarmInfJsonObj = JSONObject.parseObject(charValueSet);
34
35
			Map<String, String> resultMap = new HashedMap<String, String>();
36
			resultMap.put("employeeName", workTask.getData().getTargetEmployeeRoleName());
37
			resultMap.put("longitude", alarmInfJsonObj.getString("longitude"));
38
			resultMap.put("latitude", alarmInfJsonObj.getString("latitude"));
39
			resultMap.put("businessType", alarmInfJsonObj.getString("businessType"));
40
			resultMap.put("alarmTime", DateUtil.formatDate(Long.valueOf(alarmInfJsonObj.getString("alarmTime"))));
41
42
			String msg = JSON.toJSONString(CommonResponse.ok(resultMap));
43
			logger.info("实时报警推送镜屏数据: " + msg);
44
			MirrorManagement.sendData(MirrorManagement.topic_personnel, msg);
45
46
		} catch (Exception e) {
47
			logger.error("实时报警推送镜屏失败: " + e.getMessage());
48
		}
49
50
		return null;
51
	}
52
}

+ 63 - 0
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/task/LocationMirrorTask.java

@ -0,0 +1,63 @@
1
package com.ai.bss.location.rescue.service.task;
2
3
import java.util.ArrayList;
4
import java.util.HashMap;
5
import java.util.Map;
6
7
import org.slf4j.Logger;
8
import org.slf4j.LoggerFactory;
9
import org.springframework.beans.factory.annotation.Autowired;
10
import org.springframework.stereotype.Component;
11
12
import com.ai.abc.api.model.CommonRequest;
13
import com.ai.abc.api.model.CommonResponse;
14
import com.ai.bss.location.rescue.service.interfaces.LocationManagementService;
15
import com.ai.bss.position.model.EntityPosition;
16
import com.ai.bss.position.model.MapArea;
17
import com.ai.bss.position.service.api.outparam.LoadMapViewParam;
18
import com.ai.bss.worker.service.api.EntityPositionChangeHandle;
19
import com.alibaba.fastjson.JSON;
20
21
@Component
22
public class LocationMirrorTask implements EntityPositionChangeHandle {
23
	Logger logger = LoggerFactory.getLogger(LocationMirrorTask.class);
24
25
	@Autowired
26
	LocationManagementService locationManagementService;
27
28
	/**
29
	 * 镜屏推送实体位置变动信息
30
	 *
31
	 * @param commonRequest
32
	 * @return
33
	 */
34
	@Override
35
	public CommonResponse<Map<String, Object>> entityPositionChange(CommonRequest<LoadMapViewParam> commonRequest) {
36
		logger.debug("人员定位接收镜屏数据: " + JSON.toJSONString(commonRequest));
37
38
		try {
39
			Map<String, Object> resultMap = new HashMap<String, Object>();
40
			if (commonRequest != null && commonRequest.getData() != null) {
41
				resultMap.put("aggregatedMapAreaList", locationManagementService
42
						.getMapAreaAllStatus(commonRequest.getData().getAggregatedMapAreaList()));
43
				resultMap.put("unaggregatedEntityPositionList", locationManagementService
44
						.getEmployeeAllStatus(commonRequest.getData().getUnaggregatedEntityPositionList(), null));
45
			} else {
46
				resultMap.put("aggregatedMapAreaList", new ArrayList<MapArea>());
47
				resultMap.put("unaggregatedEntityPositionList", new ArrayList<EntityPosition>());
48
			}
49
50
			resultMap.put("countMap", locationManagementService.loadEmployeeStatusCount());
51
52
			String msg = JSON.toJSONString(CommonResponse.ok(resultMap));
53
			logger.info("人员定位推送镜屏数据: " + msg);
54
			MirrorManagement.sendData(MirrorManagement.topic_personnel, msg);
55
56
		} catch (Exception e) {
57
			logger.error("人员定位推送镜屏失败: " + e.getMessage());
58
		}
59
60
		return null;
61
	}
62
63
}

+ 6 - 10
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/task/MirrorManagement.java

@ -1,24 +1,20 @@
1
package com.ai.bss.location.rescue.util;
1
package com.ai.bss.location.rescue.service.task;
2
3
import org.slf4j.Logger;
4
import org.slf4j.LoggerFactory;
2 5
3
import com.ai.bss.location.rescue.controller.MapTagManageController;
4 6
import com.ai.ipu.server.connect.ps.EventChannelTool;
5 7
import com.ai.ipu.server.connect.ps.EventChannelTool.PublisherEvent;
6 8
import com.ai.ipu.server.connect.ps.ISubscriber;
7 9
import com.ai.ipu.server.connect.ps.impl.Publisher;
8
import com.alibaba.fastjson.JSON;
9
10
import java.util.Map;
11
12
import org.slf4j.Logger;
13
import org.slf4j.LoggerFactory;
14 10
15 11
/**
16 12
 * 镜屏推送消息
17 13
 * @author konghl@asiainfo.com
18 14
 * 2020-10-21
19 15
 */
20
public class MirrorSendDateUtil {
21
	private static final Logger logger = LoggerFactory.getLogger(MirrorSendDateUtil.class);
16
public class MirrorManagement {
17
	private static final Logger logger = LoggerFactory.getLogger(MirrorManagement.class);
22 18
	
23 19
	// 人员定位topic
24 20
	public static final String topic_personnel = "personnel";

+ 37 - 0
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/task/TimingTask.java

@ -0,0 +1,37 @@
1
package com.ai.bss.location.rescue.service.task;
2
3
import org.slf4j.Logger;
4
import org.slf4j.LoggerFactory;
5
import org.springframework.beans.factory.annotation.Autowired;
6
import org.springframework.beans.factory.annotation.Value;
7
import org.springframework.scheduling.annotation.Scheduled;
8
import org.springframework.stereotype.Component;
9
10
import com.ai.abc.api.model.CommonRequest;
11
import com.ai.abc.api.model.CommonResponse;
12
import com.ai.bss.location.rescue.service.impl.AlarmManagementServiceImpl;
13
import com.ai.bss.location.rescue.util.DateUtil;
14
import com.ai.bss.position.service.api.EntityPositionCommand;
15
16
@Component
17
public class TimingTask {
18
	Logger logger = LoggerFactory.getLogger(TimingTask.class);
19
20
	@Autowired
21
	private EntityPositionCommand entityPositionCommand;
22
23
	// 超时时间
24
	@Value("${device.overtime.offline:20}")
25
	private String overtime;
26
27
	@Scheduled(cron = "0 */1 * * * ?")
28
	public void checkDeviceOvertime() {
29
		try {
30
			logger.debug("执行定时任务:" + DateUtil.getSysDateTime());
31
			CommonRequest<Integer> request = new CommonRequest<Integer>(Integer.valueOf(overtime));
32
			CommonResponse<Void> result = entityPositionCommand.entityPositionTimeout(request);
33
		} catch (Exception e) {
34
			logger.error("定时任务执行失败:" + e.getMessage());
35
		}
36
	}
37
}

+ 25 - 4
location-rescue-service/src/main/java/com/ai/bss/location/rescue/util/DateUtil.java

@ -200,9 +200,9 @@ public class DateUtil {
200 200
	}
201 201
202 202
	/**
203
	 * 时间转字符串
203
	 * 时间转指定格式字符串
204 204
	 * @param date
205
	 * @param pattern 时间格式
205
	 * @param pattern 输出的时间格式
206 206
	 * @return
207 207
	 */
208 208
	public static String formatDate(Date date, String pattern) {
@ -213,6 +213,27 @@ public class DateUtil {
213 213
		SimpleDateFormat formatter = new SimpleDateFormat(pattern);
214 214
		return formatter.format(date);
215 215
	}
216
	
217
	/**
218
	 * 时间戳转字符串 
219
	 * @param date
220
	 * @return yyyy-MM-dd HH:mm:ss
221
	 */
222
	public static String formatDate(long timestamp) {
223
		return formatDate(timestamp, DateUtil.NORM_DATETIME_PATTERN);
224
	}
225
226
	/**
227
	 * 时间戳转指定格式字符串
228
	 * @param date
229
	 * @param pattern 输出的时间格式
230
	 * @return
231
	 */
232
	public static String formatDate(long timestamp, String pattern) {
233
		Date date=new Date(timestamp);
234
		SimpleDateFormat formatter = new SimpleDateFormat(pattern);
235
		return formatter.format(date);
236
	}
216 237
217 238
	/**
218 239
	 * 字符串转时间
@ -232,7 +253,7 @@ public class DateUtil {
232 253
	/**
233 254
	 * 字符串转时间
234 255
	 * @param dateStr
235
	 * @param pattern 时间格式
256
	 * @param pattern 字符串时间格式
236 257
	 * @return
237 258
	 * @throws Exception 
238 259
	 */
@ -366,7 +387,7 @@ public class DateUtil {
366 387
	 * @return yyyy-MM-dd HH:mm:ss
367 388
	 * @throws Exception
368 389
	 */
369
	public static final String getSysTime() throws Exception {
390
	public static final String getSysDateTime() throws Exception {
370 391
		return getSysDate(NORM_DATETIME_PATTERN);
371 392
	}
372 393

+ 24 - 18
location-rescue-service/src/main/java/com/ai/bss/location/rescue/util/EbcConstant.java

@ -15,9 +15,6 @@ public class EbcConstant {
15 15
	// 轨迹回放单次查询条数
16 16
	public static final int TRACK_PLAYBACK_SIZE = 100;
17 17
18
	// 经纬度的精度
19
	public static final int COORD_SCALE = 7;
20
21 18
	// 终端的名称前缀
22 19
	public static final String BEIDOUDEVICE_NAME = "康派北斗 - ";
23 20
@ -36,14 +33,14 @@ public class EbcConstant {
36 33
	// 终端和船舶绑定
37 34
	public static final String BIND_DEVICE_TYPE_SHIP = "2";
38 35
39
	//静态常量: 设备类型
36
	//静态常量: 终端类型
40 37
	public static final String BUSINESS_SPEC_PRODUCT_TYPE="PRODUCT_TYPE";
41 38
	
42
	//静态常量: 围栏类型
43
	public static final String BUSINESS_SPEC_MAP_AREA_TYPE="MAP_AREA_TYPE";
44
	
45
	//静态常量: 围栏类型
39
	//静态常量: 职务类型
46 40
	public static final String BUSINESS_SPEC_EMPLOYEE_POSITION="mainJobPosition";
41
	
42
	//静态常量: 报警类型
43
	public static final String BUSINESS_SPEC_MAP_AREA_TYPE="ALARM_TYPE";
47 44
		
48 45
	//工具是否可绑定:不可绑定
49 46
	public static final String TOOL_BIND_REJECT="0";
@ -51,6 +48,25 @@ public class EbcConstant {
51 48
	//工具是否可绑定:可绑定
52 49
	public static final String TOOL_BIND_ALLOW="1";
53 50
51
	// 轨迹的时间段:10分钟
52
	public static final String LOCUS_TIME_INTERVAL_TENMINUTE = "1";
53
	
54
	// 轨迹的时间段:1小时
55
	public static final String LOCUS_TIME_INTERVAL_ONEHOUR = "2";
56
	
57
	// 轨迹的时间段:1天
58
	public static final String LOCUS_TIME_INTERVAL_ONEDAY = "3";
59
	
60
	// 轨迹的时间段:自定义
61
	public static final String LOCUS_TIME_INTERVAL_CUSTOM = "4";
62
	
63
	// 是否已指派救援者:否
64
	public static final String IS_ASSIGN_RESCUER_FALSE = "0";
65
66
	// 是否已指派救援者:是
67
	public static final String IS_ASSIGN_RESCUER_TRUE = "1";
68
	
69
	
54 70
	
55 71
	
56 72
	
@ -132,16 +148,6 @@ public class EbcConstant {
132 148
	// 考勤查询:月
133 149
	public static final String AREA_IN_OUT_RECORD_MONTH = "month";
134 150
135
	// 轨迹的时间段:10分钟
136
	public static final String locus_time_interval_tenMinute = "1";
137 151
	
138
	// 轨迹的时间段:1小时
139
	public static final String locus_time_interval_oneHour = "2";
140
	
141
	// 轨迹的时间段:1天
142
	public static final String locus_time_interval_oneDay = "3";
143
	
144
	// 轨迹的时间段:自定义
145
	public static final String locus_time_interval_custom = "4";
146 152
	
147 153
}

+ 6 - 5
location-rescue-service/src/main/java/com/ai/bss/location/rescue/util/NorthboundInterfaceUtil.java

@ -1,15 +1,16 @@
1 1
package com.ai.bss.location.rescue.util;
2 2
3
import com.alibaba.fastjson.JSON;
4
import com.alibaba.fastjson.JSONObject;
3
import java.nio.charset.Charset;
4
import java.util.HashMap;
5
import java.util.Map;
6
5 7
import org.slf4j.Logger;
6 8
import org.slf4j.LoggerFactory;
7 9
import org.springframework.beans.factory.annotation.Value;
8 10
import org.springframework.context.annotation.Configuration;
9 11
10
import java.nio.charset.Charset;
11
import java.util.HashMap;
12
import java.util.Map;
12
import com.alibaba.fastjson.JSON;
13
import com.alibaba.fastjson.JSONObject;
13 14
14 15
/**
15 16
 * 北向接口统一入口

+ 3 - 0
location-rescue-service/src/main/resources/application-iot.properties

@ -9,3 +9,6 @@ url.iot.login=http://47.105.130.83:8083/sso/login
9 9
#iot\u7684\u5317\u5411\u63a5\u53e3\u7edf\u4e00\u5730\u5740
10 10
#url.iot.service=http://60.205.219.67:8300/dmp/terminalNorthApi/
11 11
url.iot.service=http://47.105.130.83:8083/dmp/terminalNorthApi/
12
13
#\u7ec8\u7aef\u8d85\u65f6\u79bb\u7ebf\u65f6\u95f4(\u5206\u949f)
14
device.overtime.offline=20