diff --git a/pom.xml b/pom.xml
index 83b62bfa..5edaa884 100644
--- a/pom.xml
+++ b/pom.xml
@@ -56,6 +56,12 @@
test
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
org.springframework.boot
diff --git a/src/main/java/com/zcloud/aspect/DockAnnotation.java b/src/main/java/com/zcloud/aspect/DockAnnotation.java
new file mode 100644
index 00000000..920b2b78
--- /dev/null
+++ b/src/main/java/com/zcloud/aspect/DockAnnotation.java
@@ -0,0 +1,18 @@
+package com.zcloud.aspect;
+
+import java.lang.annotation.*;
+
+/**
+ * @Description: 对接切面注解
+ * @Author: dearLin
+ * @Date: 2023/3/8
+ */
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface DockAnnotation {
+ // 是否有额外数据
+ boolean isAdd() default false;
+ //是否有附件
+ boolean hasAnnex() default false;
+}
diff --git a/src/main/java/com/zcloud/aspect/DockingAspect.java b/src/main/java/com/zcloud/aspect/DockingAspect.java
new file mode 100644
index 00000000..4b490833
--- /dev/null
+++ b/src/main/java/com/zcloud/aspect/DockingAspect.java
@@ -0,0 +1,146 @@
+package com.zcloud.aspect;
+
+import com.alibaba.fastjson.JSON;
+import com.zcloud.dto.TenCorpDto;
+import com.zcloud.entity.PageData;
+import com.zcloud.service.docking.DockingRelationService;
+import com.zcloud.service.mq.SendMessageService;
+import com.zcloud.util.Jurisdiction;
+import com.zcloud.util.Tools;
+import com.zcloud.util.UuidUtil;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.annotation.PostConstruct;
+import javax.servlet.http.HttpServletRequest;
+import java.lang.reflect.Method;
+import java.util.HashMap;
+import java.util.Map;
+
+@Component
+@Aspect
+public class DockingAspect {
+ @Autowired
+ private SendMessageService sendMessageService;
+ @Autowired
+ private DockingRelationService dockingRelationService;
+
+ @Pointcut("@annotation(com.zcloud.aspect.DockAnnotation)")
+ public void pointcut() {}
+
+ public static Map dockingRelationMap = new HashMap();
+
+ // 增强逻辑:在切点方法执行前打印日志
+ @Around("pointcut()")
+ public Object beforeApi(ProceedingJoinPoint joinPoint) throws Throwable {
+ Map proceed = (HashMap)joinPoint.proceed();
+ MethodSignature signature = (MethodSignature) joinPoint.getSignature();
+ Method method = joinPoint.getTarget().getClass().getDeclaredMethod(signature.getName(), signature.getParameterTypes());
+ try {
+ HttpServletRequest request = getRequest();
+ //获取资源映射路径:servlet路径
+ String servletPath = request.getServletPath();
+ //验证该数据是否需要对接
+ System.out.println("------------------------切面方法执行------------------------");
+ //将路径换为对应的访问路径
+ /*servletPath=dockingRelationMap.get(servletPath);
+ //完整访问路径(访问港务局的路径,不是被访问的路径)
+ String fullPath = gwjUrl+servletPath;
+ System.out.println("完整路径:"+fullPath);*/
+ //获取所有访问参数
+ PageData pageData = getPageData();
+ DockAnnotation annotation = method.getAnnotation(DockAnnotation.class);
+ if (annotation != null) {
+ if (annotation.isAdd()){
+ if (Tools.notEmpty(proceed.get("dockData"))){
+ pageData.put("dockData",proceed.get("dockData"));
+ }
+ }else if (annotation.hasAnnex()) {
+ //查找附件
+ String dockDataJson = pageData.getString("dockData");
+ if (Tools.notEmpty(dockDataJson)){
+ Map dockData = (Map) JSON.parse(dockDataJson);
+ String img = dockData.get("img");
+ for (String imgurl : img.split(",")) {
+ //获取附件名称
+ String[] split = imgurl.split("/");
+ String filename = split[split.length - 1];
+ PageData imgpd = new PageData();
+ imgpd.put("imgUrl",imgurl);
+ imgpd.put("filename",filename);
+ imgpd.put("url","/file/saveImg");
+ imgpd.put("TARGETURL","https://qgqy.qhdsafety.com/file/");
+ imgpd.put("ORIGINURL","https://qgqy.qhdsafety.com/file/");
+ TenCorpDto tenCorpDto = new TenCorpDto();
+ tenCorpDto.setMessage("一条新增消息");
+ tenCorpDto.setData(imgpd);
+ tenCorpDto.setId(UuidUtil.get32UUID());
+ tenCorpDto.setTopic("docking");
+ tenCorpDto.setProducer_name("qa-prevention-czks");
+ sendMessageService.sendMessage(tenCorpDto);
+ }
+ }
+ }
+ }
+ PageData login_user = new PageData();
+ login_user.put("USER_ID",Jurisdiction.getUSER_ID());
+ login_user.put("USERNAME",Jurisdiction.getUsername());
+ login_user.put("CORPINFO_ID",Jurisdiction.getCORPINFO_ID());
+ login_user.put("DEPARTMENT_ID",Jurisdiction.getDEPARTMENT_ID());
+ login_user.put("NAME",Jurisdiction.getName());
+ login_user.put("ISSUPERVISE",Jurisdiction.getISSUPERVISE());
+ login_user.put("POST_ID",Jurisdiction.getPOST_ID());
+ pageData.put("LOGIN_USER",login_user);
+ pageData.put("url",servletPath);
+ /*//连接redis
+ Jedis jedis = new Jedis(host,port);
+ //测试是否连接成功
+ String ping = jedis.ping();
+ System.out.println(ping);
+ //切换数据库
+ String select = jedis.select(0);
+ System.out.println(select);
+ //存储数据至redis
+ String rq = JSON.toJSONString(map);
+ jedis.zadd("request",0,rq);
+ System.out.println(rq);*/
+ TenCorpDto tenCorpDto = new TenCorpDto();
+ tenCorpDto.setMessage("一条新增消息");
+ tenCorpDto.setData(pageData);
+ tenCorpDto.setId(UuidUtil.get32UUID());
+ tenCorpDto.setTopic("docking");
+ tenCorpDto.setProducer_name("qa-prevention-czks");
+ sendMessageService.sendMessage(tenCorpDto);
+ System.out.println("------------------------方法执行完毕------------------------");
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ return proceed;
+ }
+
+ @PostConstruct
+ private void initDockingRelationship() throws Exception {
+ dockingRelationMap = dockingRelationService.listAll(null);
+ }
+
+ private PageData getPageData() {
+ return new PageData(this.getRequest());
+ }
+
+ /**
+ * 得到request对象
+ * @return
+ */
+ private HttpServletRequest getRequest() {
+ HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
+ .getRequest();
+ return request;
+ }
+}
diff --git a/src/main/java/com/zcloud/config/MyRedisConfig.java b/src/main/java/com/zcloud/config/MyRedisConfig.java
new file mode 100644
index 00000000..85fbdab0
--- /dev/null
+++ b/src/main/java/com/zcloud/config/MyRedisConfig.java
@@ -0,0 +1,34 @@
+package com.zcloud.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.RedisSerializer;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+@Configuration
+public class MyRedisConfig {
+
+ @Bean(name = "redisTemplate")
+ public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){
+ RedisTemplate redisTemplate = new RedisTemplate<>();
+ ////参照StringRedisTemplate内部实现指定序列化器
+ redisTemplate.setConnectionFactory(redisConnectionFactory);
+ redisTemplate.setKeySerializer(keySerializer());
+ redisTemplate.setHashKeySerializer(keySerializer());
+ redisTemplate.setValueSerializer(valueSerializer());
+ redisTemplate.setHashValueSerializer(valueSerializer());
+ return redisTemplate;
+ }
+
+ private RedisSerializer keySerializer(){
+ return new StringRedisSerializer();
+ }
+
+ //使用Jackson序列化器
+ private RedisSerializer valueSerializer(){
+ return new StringRedisSerializer();
+ }
+}
diff --git a/src/main/java/com/zcloud/config/StartWebsocketServer.java b/src/main/java/com/zcloud/config/StartWebsocketServer.java
index 7d27d319..5ab3b675 100644
--- a/src/main/java/com/zcloud/config/StartWebsocketServer.java
+++ b/src/main/java/com/zcloud/config/StartWebsocketServer.java
@@ -1,5 +1,6 @@
package com.zcloud.config;
+import com.zcloud.plugins.websocketPositioning.PositioningServer;
import org.java_websocket.WebSocketImpl;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
@@ -20,14 +21,15 @@ import com.zcloud.util.PathUtil;
@Component
@Order(value = 1) // 1 代表启动顺序
public class StartWebsocketServer implements ApplicationRunner{
-
+
@Override
public void run(ApplicationArguments var1) throws Exception{
startWebsocketOnline(); //启动在线管理服务
startWebsocketInstantMsg(); //启动即时聊天服务
+ startWebsocketPositioning();
System.out.println("-------------------系统启动成功-------------------");
}
-
+
/**
* 启动在线管理服务
*/
@@ -43,7 +45,7 @@ public class StartWebsocketServer implements ApplicationRunner{
e.printStackTrace();
}
}
-
+
/**
* 启动即时聊天服务
*/
@@ -60,4 +62,20 @@ public class StartWebsocketServer implements ApplicationRunner{
}
}
+ /**
+ * 启动即时人员定位推送
+ */
+ public void startWebsocketPositioning(){
+ WebSocketImpl.DEBUG = false;
+ PositioningServer s;
+ try {
+ String infFilePath = PathUtil.getClasspath()+Const.SYSSET; //启动即时人员定位推送
+ String positioningPort = IniFileUtil.readCfgValue(infFilePath, "SysSet1", "positioningPort", "8899"); //启动即时人员定位推送
+ s = new PositioningServer(Integer.parseInt(positioningPort));
+ s.start();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
}
diff --git a/src/main/java/com/zcloud/controller/gf/AppGFBreakGroundController.java b/src/main/java/com/zcloud/controller/gf/AppGFBreakGroundController.java
index 41edfa79..145165a7 100644
--- a/src/main/java/com/zcloud/controller/gf/AppGFBreakGroundController.java
+++ b/src/main/java/com/zcloud/controller/gf/AppGFBreakGroundController.java
@@ -1079,8 +1079,7 @@ public class AppGFBreakGroundController extends BaseController {
public Object countCheck() throws Exception{
Map map = new HashMap();
String errInfo = "success";
- PageData pd = new PageData();
- pd = this.getPageData();
+ PageData pd = this.getPageData();
PageData count = GFbreakGroundService.countCheck(pd);
map.put("result", errInfo);
map.put("count", count);
diff --git a/src/main/java/com/zcloud/controller/map/MapController.java b/src/main/java/com/zcloud/controller/map/MapController.java
new file mode 100644
index 00000000..37bc5186
--- /dev/null
+++ b/src/main/java/com/zcloud/controller/map/MapController.java
@@ -0,0 +1,391 @@
+package com.zcloud.controller.map;
+
+import com.zcloud.controller.base.BaseController;
+import com.zcloud.entity.Page;
+import com.zcloud.entity.PageData;
+import com.zcloud.service.bimap.BiMapService;
+import com.zcloud.service.bus.CorpInfoService;
+import com.zcloud.service.fireresources.FireResourcesService;
+import com.zcloud.service.gatemachine.GateMachineService;
+//import com.zcloud.service.keyProjects.MeteorologicalService;
+//import com.zcloud.service.keyProjects.MeteorologicalinfoService;
+import com.zcloud.service.keyProjects.VideoManagerService;
+import com.zcloud.service.system.DepartmentService;
+import com.zcloud.service.system.UsersService;
+import com.zcloud.util.Jurisdiction;
+import com.zcloud.util.ReturnMap;
+import com.zcloud.util.Tools;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.client.RestTemplate;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 说明:实时地图
+ * 官网:www.zcloudchina.com
+ */
+@Controller
+@RequestMapping("/map")
+public class MapController extends BaseController {
+
+ @Resource
+ private BiMapService biMapService;
+
+ @Autowired
+ private VideoManagerService videomanagerService;
+ @Autowired
+ private CorpInfoService corpInfoService;
+
+ @Autowired
+ private UsersService usersService;
+
+// @Autowired
+// private MeteorologicalinfoService meteorologicalinfoService;
+
+ @Autowired
+ private RestTemplate restTemplate;
+
+ @Autowired
+ private FireResourcesService fireResourcesService;
+
+ @Autowired
+ private DepartmentService departmentService;
+
+ @Autowired
+ private GateMachineService gateMachineService;
+
+
+ @RequestMapping("/getPointInfoADeviceByPid")
+ @ResponseBody
+ public Object getPointInfoADeviceByPid() {
+ PageData pd = this.getPageData();
+ PageData map = fireResourcesService.getPointInfoADeviceByPid(pd);
+ map.put("result", "success");
+ return map;
+ }
+
+ @RequestMapping("/getPointQualifiedPhotos")
+ @ResponseBody
+ public Object getPointQualifiedPhotos() {
+ Map map = new HashMap();
+ PageData pd = this.getPageData();
+ map.put("result", "success");
+ map.put("varList", fireResourcesService.getPointQualifiedPhotos(pd));
+ return map;
+ }
+
+
+ /**
+ * @Description: 消防管控
+ * @Author: dearLin
+ * @Date: 2023/9/20/020 15:30
+ * @Param: [] []
+ * @Return: java.lang.Object
+ */
+ @RequestMapping("/getFireControl")
+ @ResponseBody
+ public Object getFireControl() throws Exception {
+ Map map = new HashMap();
+ PageData pageData = this.getPageData();
+ LinkedList value = biMapService.getFireControl(pageData);
+ for (PageData data : value) {
+ data.put("MAP_POINT_NAME", data.getString("NAME"));
+ }
+ map.put("result", "success");
+ map.put("varList", value);
+ return map;
+ }
+
+ /**
+ * @Description: 消防资源
+ * @Author: dearLin
+ * @Date: 2023/9/26/026 17:36
+ * @Param: [] []
+ * @Return: java.lang.Object
+ */
+ @RequestMapping("/getFireResourceById")
+ @ResponseBody
+ public Object getFireResourceById() throws Exception {
+ Map map = new HashMap();
+ String errInfo = "success";
+ PageData pddata = this.getPageData();
+ //获取当前人的公司id
+ PageData pd = fireResourcesService.getDataById(pddata);
+ map.put("pd", pd);
+ map.put("result", errInfo);
+ return map;
+ }
+
+ /**
+ * @Description: 消防救援队
+ * @Author: dearLin
+ * @Date: 2023/9/20/020 15:30
+ * @Param: [] []
+ * @Return: java.lang.Object
+ */
+ @RequestMapping("/getFireRescueTeam")
+ @ResponseBody
+ public Object getFireRescueTeam() throws Exception {
+ Map map = new HashMap();
+ PageData pageData = this.getPageData();
+ LinkedList data = biMapService.getFireRescueTeam(pageData);
+ map.put("result", "success");
+ map.put("varList", data);
+ return map;
+ }
+
+
+ /**
+ * 气象信息对接接口
+ *
+ * @return
+ * @throws Exception
+ */
+// @RequestMapping(value = "/tongMeteorologicalinfoList")
+// @ResponseBody
+// public ReturnMap tongMeteorologicalinfoList(@RequestBody List list) throws Exception {
+// ReturnMap r = new ReturnMap();
+// r = meteorologicalinfoService.tongbuMeteorologicalinfo(list);
+// return r;
+// }
+
+
+ /**
+ * @Description: 闸机设备在线情况 只有人车闸机
+ * @Author: dearLin
+ * @Date: 2023/9/23/023 9:04
+ * @Param:
+ * @Return:
+ */
+ @RequestMapping("/getOnlineGateEquipment")
+ @ResponseBody
+ public ReturnMap getOnlineGateEquipment() {
+ ReturnMap returnMap = new ReturnMap();
+ PageData pageData = this.getPageData();
+ PageData value = gateMachineService.getOnlineGateMachine(pageData);
+ returnMap.put("pd", value);
+ return returnMap;
+ }
+
+ /**
+ * @Description: 闸机位置
+ * @Author: dearLin
+ * @Date: 2023/9/23/023 9:04
+ * @Param:
+ * @Return:
+ */
+ @RequestMapping("/getGatePosition")
+ @ResponseBody
+ public ReturnMap getGatePosition() {
+ ReturnMap returnMap = new ReturnMap();
+ PageData pageData = this.getPageData();
+ //
+ List value = gateMachineService.getGatePosition(pageData);
+ // 添加标点上的统一的title
+ for (PageData data : value) {
+ if (Tools.notEmpty(data.getString("GATE_AREA_NAME"))) {
+ data.put("MAP_POINT_NAME", data.getString("GATE_AREA_NAME"));
+ } else {
+ data.put("MAP_POINT_NAME", data.getString("NAME"));
+ }
+ }
+ returnMap.put("varList", value);
+ return returnMap;
+ }
+
+
+ /**
+ * @Description: 口门进出记录列表
+ * @Author: dearLin
+ * @Date: 2023/9/23/023 9:04
+ * @Param:
+ * @Return:
+ */
+ @RequestMapping("/getDoorWayRecords")
+ @ResponseBody
+ public ReturnMap getDoorWayRecords(Page page) {
+ ReturnMap returnMap = new ReturnMap();
+ PageData pageData = this.getPageData();
+ page.setPd(pageData);
+ if ("0".equals(pageData.getString("INDEX"))) {
+ // 人
+ List value = biMapService.getDoorWayPeopleRecords(page);
+ returnMap.put("varList", value);
+ return returnMap;
+ } else {
+ // 车
+ List value = biMapService.getDoorWayCarRecords(page);
+ returnMap.put("varList", value);
+ return returnMap;
+ }
+ }
+
+
+ /**
+ * @Description: 闸机进出车、人的数量
+ * @Author: dearLin
+ * @Date: 2023/9/23/023 9:04
+ * @Param:
+ * @Return:
+ */
+ @RequestMapping("/getGatesInAndOutNumById")
+ @ResponseBody
+ public ReturnMap getGatesInAndOutNumById() {
+ ReturnMap returnMap = new ReturnMap();
+ PageData pageData = this.getPageData();
+ Map data = biMapService.getGatesInAndOutNumById(pageData);
+ returnMap.put("pd", data);
+ return returnMap;
+ }
+
+ /**
+ * 人员进出记录列表
+ *
+ * @return
+ */
+ @RequestMapping("/getGatesInAndOutListById")
+ @ResponseBody
+ public ReturnMap getGatesInAndOutListById(Page page) {
+ ReturnMap returnMap = new ReturnMap();
+ PageData pd = this.getPageData();
+ page.setPd(pd);
+ List recordAllList = gateMachineService.getPersonRecordListAllByEId(page);
+ returnMap.put("recordAllList", recordAllList);
+ return returnMap;
+ }
+
+
+ @RequestMapping(value = "/fireResource/list")
+ @ResponseBody
+ public Object page(Page page) {
+ Map map = new HashMap();
+ String errInfo = "success";
+ PageData pd = this.getPageData();
+ //获取当前人的公司id
+ page.setPd(pd);
+
+ List varList = fireResourcesService.datalistPage(page);
+ map.put("varList", varList);
+ map.put("page", page);
+ map.put("result", errInfo);
+ return map;
+ }
+
+ @RequestMapping(value = "/fireDevice/listByMap")
+ @ResponseBody
+ public Object devicelistByMap(Page page) {
+ Map map = new HashMap();
+ String errInfo = "success";
+ PageData pd = this.getPageData();
+ String corpinfoId = Jurisdiction.getCORPINFO_ID();
+ pd.put("CORPINFO_ID",corpinfoId);
+
+ //获取当前人的公司id
+ page.setPd(pd);
+ List varList = fireResourcesService.devicelistPage(page);
+ map.put("varList", varList);
+ map.put("page", page);
+ map.put("result", errInfo);
+ return map;
+ }
+
+ /**
+ * 获取人员、车辆进出记录
+ *
+ * @param
+ * @return
+ */
+ @RequestMapping(value = "/getPerpleCarGateMachineCount")
+ @ResponseBody
+ public Object getPerpleCarGateMachineCount() {
+ Map map = new HashMap();
+ String errInfo = "success";
+ PageData pd = this.getPageData();
+ map.put("result", errInfo);
+ return map;
+ }
+
+ @RequestMapping(value = "/getMachineTodayInOutCount")
+ @ResponseBody
+ public Object getMachineTodayInOutCount() {
+ Map map = new HashMap();
+ String errInfo = "success";
+ PageData pd = this.getPageData();
+ List value = gateMachineService.getTodayInOutCount(pd);
+ map.put("varList", value);
+ map.put("result", errInfo);
+ return map;
+ }
+
+ /**
+ * 获取人员、车辆进出记录
+ *
+ * @param
+ * @return
+ */
+ @RequestMapping(value = "/getCurrentLocationOnline")
+ @ResponseBody
+ public Object getCurrentLocationOnline() {
+ Map map = new HashMap();
+ String errInfo = "success";
+ map.put("result", errInfo);
+ return map;
+ }
+
+ // 获取人员定位信息 根据定位卡编码
+ @RequestMapping(value = "/getPersonByCardNo")
+ @ResponseBody
+ public Object getPersonByCardNo() throws Exception {
+ Map map = new HashMap();
+ PageData pd = this.getPageData();
+ PageData value = usersService.getPersonByCardNo(pd);
+ map.put("result", "success");
+ map.put("pd", value);
+ return map;
+ }
+
+ /**
+ * 获取摄像头播放路径(曹妃甸使用)
+ *
+ * @throws Exception
+ */
+ @RequestMapping(value = "/getHlsPath")
+ @ResponseBody
+ public Object getHlsPath() throws Exception {
+ Map map = new HashMap();
+
+ return map;
+ }
+
+ /**
+ * 查询人员在线及统计数据(曹妃甸使用)
+ *
+ * @throws Exception
+ */
+ @RequestMapping(value = "/getCurrentPersonnelData")
+ @ResponseBody
+ public Object getCurrentPersonnelData() throws Exception {
+ Map map = new HashMap();
+ PageData pd = this.getPageData();
+ return map;
+ }
+
+ @RequestMapping("/getUserMapInfo")
+ @ResponseBody
+ public ReturnMap getUserMapInfo() throws Exception {
+ PageData pd = this.getPageData();
+ pd = usersService.findByCardNo(pd); //列出HotWorkApplicationDelayed列表
+ ReturnMap r = ReturnMap.ok();
+ r.put("pd", pd);
+ return r;
+ }
+
+}
diff --git a/src/main/java/com/zcloud/controller/map/MapEightController.java b/src/main/java/com/zcloud/controller/map/MapEightController.java
new file mode 100644
index 00000000..9ff3acc1
--- /dev/null
+++ b/src/main/java/com/zcloud/controller/map/MapEightController.java
@@ -0,0 +1,212 @@
+package com.zcloud.controller.map;
+
+import com.zcloud.controller.base.BaseController;
+import com.zcloud.entity.Page;
+import com.zcloud.entity.PageData;
+import com.zcloud.service.map.MapEightService;
+import com.zcloud.service.system.UserInfoService;
+import com.zcloud.service.system.UsersService;
+import com.zcloud.util.Jurisdiction;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 说明:实时地图八项工作内容
+ * 官网:www.zcloudchina.com
+ */
+@Controller
+@RequestMapping("/map/Eight")
+public class MapEightController extends BaseController {
+
+ @Autowired
+ private MapEightService mapEightService;
+ @Autowired
+ private UsersService usersService;
+ @Autowired
+ private RestTemplate restTemplate;
+
+ /**
+ * @return
+ * @throws Exception
+ */
+ @RequestMapping(value = "/getEcharts")
+ @ResponseBody
+ public Object getEcharts() throws Exception {
+ PageData pd = this.getPageData();
+ pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); // 企业
+
+ return mapEightService.getEchartsOrder(pd);
+ }
+
+ /**
+ * 可视化首页统计数据
+ *
+ * @param
+ * @throws Exception
+ */
+ @RequestMapping(value = "/findFormCount")
+ @ResponseBody
+ public Object findFormCount() throws Exception {
+ Map map = new HashMap();
+ String errInfo = "success";
+ PageData pd = this.getPageData();
+ pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); // 企业
+
+ PageData data = mapEightService.statisticsHighRiskWorkByStateOrder(pd);
+ map.put("pd", data);
+ //pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
+ map.put("result", errInfo);
+ return map;
+ }
+
+ /**
+ * 作业实时情况展示(最新18条)
+ *
+ * @param
+ * @throws Exception
+ */
+ @RequestMapping(value = "/listHighRiskWork")
+ @ResponseBody
+ public Object listHighRiskWork(Page page) throws Exception {
+ Map map = new HashMap();
+ String errInfo = "success";
+ PageData pd = this.getPageData();
+ pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); // 企业
+ page.setPd(pd);
+ List varList = mapEightService.listHighRiskWorkOrder(page);
+ map.put("varList", varList);
+ map.put("result", errInfo);
+ return map;
+ }
+
+ /**
+ * 获取所有高危作业的位置坐标(有坐标数据)
+ *
+ * @param
+ * @throws Exception
+ */
+ @RequestMapping(value = "/listAllHighRiskWorkLocation")
+ @ResponseBody
+ public Object listAllHighRiskWorkLocation() throws Exception {
+ Map map = new HashMap();
+ String errInfo = "success";
+ PageData pd = this.getPageData();
+ pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); // 企业
+ List varList;
+ if (StringUtils.equals("035958e685cf4850bc40151c5e0617a6", pd.getString("CORPINFO_ID"))) { //一公司
+ varList = mapEightService.listAllHighRiskWorkLocation(pd);
+ } else {
+ varList = mapEightService.listAllHighRiskWorkLocationOrder(pd);
+ }
+ map.put("varList", varList);
+ map.put("result", errInfo);
+ return map;
+ }
+
+ /**
+ * 根据id以及类型获取数据 一公司
+ *
+ * @param id 数据id
+ * @param type 数据类型 动火 等等
+ * @return
+ */
+ @RequestMapping(value = "/getById")
+ @ResponseBody
+ public Object getById(@RequestParam(value = "id") String id, @RequestParam("TYPE") String type) throws Exception {
+ PageData pd = this.getPageData();
+ pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); // 企业
+
+ return mapEightService.getById(pd);
+
+ }
+
+ /**
+ * 根据id以及类型获取数据 其他公司
+ *
+ * @param id 数据id
+ * @param type 数据类型 动火 等等
+ * @return
+ */
+ @RequestMapping(value = "/getByIdOrder")
+ @ResponseBody
+ public Object getByIdOrder(@RequestParam(value = "id") String id, @RequestParam("TYPE") String type) throws Exception {
+ PageData pd = new PageData();
+ pd = this.getPageData();
+ pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); // 企业
+
+ return mapEightService.getByIdOrder(pd);
+
+ }
+
+ /**
+ * 列表
+ *
+ * @param page
+ * @throws Exception
+ */
+ @RequestMapping(value = "/list")
+ @ResponseBody
+ public Object list(Page page) throws Exception {
+ Map map = new HashMap();
+ String errInfo = "success";
+ PageData pd = new PageData();
+ pd = this.getPageData();
+ pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); // 企业
+
+ List varList = mapEightService.listAll(pd); //列出HotWorkApplicationDelayed列表
+ map.put("varList", varList);
+ map.put("page", page);
+ map.put("result", errInfo);
+ return map;
+ }
+
+ /**
+ * 获取动火防护措施
+ *
+ * @param
+ * @throws Exception
+ */
+ @RequestMapping(value = "/listAllMeasures")
+ @ResponseBody
+ public Object listAllMeasures() throws Exception {
+ Map map = new HashMap();
+ String errInfo = "success";
+ PageData pd = new PageData();
+ pd = this.getPageData();
+ pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); // 企业
+
+ List varList = mapEightService.listAllMeasures(pd); //根据ID读取
+ map.put("varList", varList);
+ map.put("result", errInfo);
+ return map;
+ }
+
+ /**
+ * 获取动火防护措施
+ *
+ * @param
+ * @throws Exception
+ */
+ @RequestMapping(value = "/findEightsByUserCardNo")
+ @ResponseBody
+ public Object findEightsByUserId() throws Exception {
+ Map map = new HashMap();
+ String errInfo = "success";
+ PageData pd = new PageData();
+ pd = this.getPageData();
+ PageData byCardNo = usersService.findByCardNo(pd);
+ map.put("INFO", byCardNo);
+ map.put("result", errInfo);
+ return map;
+ }
+
+}
diff --git a/src/main/java/com/zcloud/controller/map/MapPlatFormElectronicController.java b/src/main/java/com/zcloud/controller/map/MapPlatFormElectronicController.java
new file mode 100644
index 00000000..c5878205
--- /dev/null
+++ b/src/main/java/com/zcloud/controller/map/MapPlatFormElectronicController.java
@@ -0,0 +1,92 @@
+package com.zcloud.controller.map;
+
+import com.zcloud.controller.base.BaseController;
+import com.zcloud.entity.PageData;
+//import com.zcloud.service.keyProjects.PlatformelectronicService;
+//import com.zcloud.util.hk.HKPostUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Controller
+@RequestMapping("/map/mapPlatformelectronic")
+public class MapPlatFormElectronicController extends BaseController {
+// @Autowired
+// private PlatformelectronicService platformelectronicService;
+
+ /**总摄像头数
+ * @throws Exception
+ */
+// @RequestMapping(value="/listAll")
+// @ResponseBody
+// public Object listAll() throws Exception{
+// Map map = new HashMap();
+// String errInfo = "success";
+// PageData pd = new PageData();
+// pd = this.getPageData();
+// Integer allForMap = platformelectronicService.countAllForMap(pd); //列出Platformelectronic列表
+// map.put("allForMap", allForMap);
+// map.put("result", errInfo);
+// return map;
+// }
+
+
+ /**根据区域统计摄像头总数
+ * @throws Exception
+ */
+// @RequestMapping(value="/listAllByArea")
+// @ResponseBody
+// public Object listAllByArea() throws Exception{
+// Map map = new HashMap();
+// String errInfo = "success";
+// PageData pd = new PageData();
+// pd = this.getPageData();
+// List countAllByArea = platformelectronicService.countAllByArea(pd); //列出Platformelectronic列表
+// map.put("varList", countAllByArea);
+// map.put("result", errInfo);
+// return map;
+// }
+
+
+ /**地图插点
+ * @throws Exception
+ */
+// @RequestMapping(value="/listAllLocation")
+// @ResponseBody
+// public Object listAllLocation() throws Exception{
+// Map map = new HashMap();
+// String errInfo = "success";
+// PageData pd = new PageData();
+// pd = this.getPageData();
+// pd.put("forMap","1");
+// List varList = platformelectronicService.listAll(pd); //列出Platformelectronic列表
+// for (PageData data : varList) {
+// data.put("MAP_POINT_NAME", data.getString("NAME"));
+// }
+// map.put("varList", varList);
+// map.put("result", errInfo);
+// return map;
+// }
+
+ /**列表
+ * @throws Exception
+ */
+// @RequestMapping(value="/getHlsPathById")
+// @ResponseBody
+// public Object getHlsPath() throws Exception{
+// Map map = new HashMap();
+// PageData pd =this.getPageData();
+// pd = platformelectronicService.findById(pd);
+// map = HKPostUtil.camerasPreviewURLs(pd.getString("INDEXCODE"),"hls");
+// map.put("pd",pd);
+// map.put("result", "success");
+// return map;
+// }
+
+
+}
diff --git a/src/main/java/com/zcloud/controller/map/ObtainDisplayDataController.java b/src/main/java/com/zcloud/controller/map/ObtainDisplayDataController.java
new file mode 100644
index 00000000..daa30af0
--- /dev/null
+++ b/src/main/java/com/zcloud/controller/map/ObtainDisplayDataController.java
@@ -0,0 +1,36 @@
+package com.zcloud.controller.map;
+
+import com.zcloud.controller.base.BaseController;
+import com.zcloud.entity.PageData;
+import com.zcloud.service.bus.RiskUnitService;
+import com.zcloud.service.keyProjects.PlatformvideomanagementService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+@Controller
+@RequestMapping("/ObtainDisplayData")
+public class ObtainDisplayDataController extends BaseController {
+
+ @Autowired
+ private RiskUnitService riskUnitService;
+ @Autowired
+ private PlatformvideomanagementService platformvideomanagementService;
+
+ @RequestMapping(value="/getRiskList")
+ @ResponseBody
+ public Object getRiskList() throws Exception{
+ PageData pd = this.getPageData();
+ return riskUnitService.listAllForMap(pd);
+ }
+
+ @RequestMapping(value="/listAllCameraForMap")
+ @ResponseBody
+ public Object listAllCameraForMap() throws Exception{
+ PageData pd = this.getPageData();
+ return platformvideomanagementService.listAllForMap(pd);
+ }
+
+
+}
diff --git a/src/main/java/com/zcloud/controller/map/UserPositionController.java b/src/main/java/com/zcloud/controller/map/UserPositionController.java
new file mode 100644
index 00000000..fb79df87
--- /dev/null
+++ b/src/main/java/com/zcloud/controller/map/UserPositionController.java
@@ -0,0 +1,56 @@
+package com.zcloud.controller.map;
+
+import com.zcloud.controller.base.BaseController;
+import com.zcloud.entity.PageData;
+import com.zcloud.service.system.UsersService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+@Controller
+@RequestMapping("/UserPosition")
+public class UserPositionController extends BaseController {
+ @Autowired
+ private UsersService usersService;
+
+ @RequestMapping(value="/getCurrentLocationOnline")
+ @ResponseBody
+ public Object getCurrentLocationOnline() throws Exception{
+ PageData pd = this.getPageData();
+ return usersService.getCurrentLocation(pd);
+ }
+
+ /**
+ * 查询人员在线及统计数据
+ * @return
+ * @throws Exception
+ */
+ @RequestMapping(value = "/getCurrentPersonnelData")
+ @ResponseBody
+ public Object getCurrentPersonnelData() throws Exception{
+ PageData pd = this.getPageData();
+ return usersService.getCurrentPersonnelData(pd);
+ }
+
+ /**
+ * 获取人员定位统计列表
+ * @return
+ * @throws Exception
+ */
+ @RequestMapping(value = "/personPositioningStatistics")
+ @ResponseBody
+ public Object getPersonPositioningStatistics() throws Exception{
+ PageData pd = new PageData();
+ pd = this.getPageData();
+ return usersService.getPersonPositioningStatistics(pd);
+ }
+
+ @RequestMapping(value="/getCurrentLocationOnlineCount")
+ @ResponseBody
+ public Object getCurrentLocationOnlineCount() throws Exception{
+ PageData pd = new PageData();
+ pd = this.getPageData();
+ return usersService.getCurrentLocationCount(pd);
+ }
+}
diff --git a/src/main/java/com/zcloud/controller/system/HeadController.java b/src/main/java/com/zcloud/controller/system/HeadController.java
index 1ef1b2d2..9ff9cadb 100644
--- a/src/main/java/com/zcloud/controller/system/HeadController.java
+++ b/src/main/java/com/zcloud/controller/system/HeadController.java
@@ -105,6 +105,10 @@ public class HeadController extends BaseController {
String imPort = IniFileUtil.readCfgValue(infFilePath, "SysSet1", "imPort", "8869"); //即时聊天端口
map.put("wimadress", imIp+":"+imPort); //即时聊天websocket地址
+ String positioningIP = IniFileUtil.readCfgValue(infFilePath, "SysSet1", "positioningIP", "127.0.0.1"); //即时聊天IP
+ String positioningPort = IniFileUtil.readCfgValue(infFilePath, "SysSet1", "positioningPort", "8899"); //即时聊天端口
+ map.put("positioningAdress", positioningIP+":"+positioningPort); //即时聊天websocket地址
+
String alarmIp = IniFileUtil.readCfgValue(infFilePath, "SysSet1", "alarmIp", "127.0.0.1"); //即时聊天IP
String alarmPort = IniFileUtil.readCfgValue(infFilePath, "SysSet1", "alarmPort", "8889"); //即时聊天端口
map.put("alarmAdress", alarmIp+":"+alarmPort); //重大危险源报警推送websocket地址
@@ -251,6 +255,7 @@ public class HeadController extends BaseController {
pd.put("onlinePort", IniFileUtil.readCfgValue(infFilePath, "SysSet1", "onlinePort", "8869")); //在线管理端口
pd.put("imIp", IniFileUtil.readCfgValue(infFilePath, "SysSet1", "imIp", "127.0.0.1")); //即时聊天IP
pd.put("imPort", IniFileUtil.readCfgValue(infFilePath, "SysSet1", "imPort", "8879")); //即时聊天端口
+ pd.put("positioningPort", IniFileUtil.readCfgValue(infFilePath, "SysSet1", "positioningPort", "8899")); //即时聊天端口
pd.put("fhsmsSound", IniFileUtil.readCfgValue(infFilePath, "SysSet1", "fhsmsSound", "m1")); //信息提示音
pd.put("SMTP", IniFileUtil.readCfgValue(infFilePath, "SysSet1", "SMTP", "smtp.qq.com")); //邮箱服务器SMTP
pd.put("PORT", IniFileUtil.readCfgValue(infFilePath, "SysSet1", "PORT", "465")); //邮箱服务器端口
diff --git a/src/main/java/com/zcloud/controller/system/LoginController.java b/src/main/java/com/zcloud/controller/system/LoginController.java
index d94ab3e4..ed51270e 100644
--- a/src/main/java/com/zcloud/controller/system/LoginController.java
+++ b/src/main/java/com/zcloud/controller/system/LoginController.java
@@ -68,6 +68,24 @@ public class LoginController extends BaseController {
@Autowired
private OffDutyService offdutyService;
+ @Value("${czks-useridentity}")
+ private String czksIdentity;
+ @Value("${czks-baseimgpath}")
+ private String czksBaseimgpath;
+ @Value("${czks-backendaddr}")
+ private String czksBackendaddr;
+
+ @Value("${gwj-useridentity}")
+ private String gwjIdentity;
+ @Value("${gwj-baseimgpath}")
+ private String gwjBaseimgpath;
+ @Value("${gwj-backendaddr}")
+ private String gwjBackendaddr;
+
+
+
+
+
@Autowired
private PhotoService photoService;
@@ -171,6 +189,27 @@ public class LoginController extends BaseController {
map.put("failMsg", "帐号已锁定,请联系管理员");
return map;
}
+ // 判断是不是沧州矿石的用户
+ if (czksIdentity.equals(pd.getString("USER_IDENTITY"))) {
+ // 沧州矿石的用户
+ // 用户标识
+ map.put("USER_IDENTITY", czksIdentity);
+ // 图片路径
+ map.put("baseImgPath", czksBaseimgpath);
+ // 后台地址
+ map.put("BACKENDADDR", czksBackendaddr);
+ }
+ if ("".equals(pd.getString("USER_IDENTITY"))) {
+ // 港股的用户
+ // 用户标识
+ map.put("USER_IDENTITY", gwjIdentity);
+ // 图片路径
+ map.put("baseImgPath", gwjBaseimgpath);
+ // 后台地址
+ map.put("BACKENDADDR", gwjBackendaddr);
+ }
+
+
PageData cpd = corpinfoService.findById(pd);
//System.out.println(cpd.getString("ISUSE"));
if (cpd != null) {
diff --git a/src/main/java/com/zcloud/mapper/datasource/bimap/BiMapMapper.java b/src/main/java/com/zcloud/mapper/datasource/bimap/BiMapMapper.java
new file mode 100644
index 00000000..08aac0da
--- /dev/null
+++ b/src/main/java/com/zcloud/mapper/datasource/bimap/BiMapMapper.java
@@ -0,0 +1,34 @@
+package com.zcloud.mapper.datasource.bimap;
+
+import com.zcloud.entity.Page;
+import com.zcloud.entity.PageData;
+
+import java.util.List;
+
+/**
+ * 说明:TODO
+ * 作者:wangxuan
+ * 官网:www.zcloudchina.com
+ */
+public interface BiMapMapper {
+ List getCarRecordslistPage(Page page);
+
+ List getPeopleRecordslistPage(Page page);
+
+ List getCorpinfoIds(String[] ArrayDATA_IDS);
+
+ // 统计今日人员刷卡数据
+ PageData statisticsCardUserCount(PageData pd);
+ // 统计今日临时人员刷卡数据
+ PageData statisticsOutsiderCount(PageData pd);
+
+ PageData getRiskIdentificationCount(PageData pageData);
+
+ PageData listbymeteorological(PageData pd);
+
+ PageData getPersonPositioningCount(PageData pageData);
+
+ List getRiskIndex(PageData pageData);
+
+ List inAndoutPeoCarToday(PageData pageData);
+}
diff --git a/src/main/java/com/zcloud/mapper/datasource/docking/DockingRelationMapper.java b/src/main/java/com/zcloud/mapper/datasource/docking/DockingRelationMapper.java
new file mode 100644
index 00000000..b964e038
--- /dev/null
+++ b/src/main/java/com/zcloud/mapper/datasource/docking/DockingRelationMapper.java
@@ -0,0 +1,16 @@
+package com.zcloud.mapper.datasource.docking;
+
+import com.zcloud.entity.PageData;
+
+import java.util.List;
+
+public interface DockingRelationMapper {
+
+ /**列表(全部)
+ * @param pd
+ * @throws Exception
+ */
+ List listAll(PageData pd);
+
+}
+
diff --git a/src/main/java/com/zcloud/mapper/datasource/fireresources/FireResourcesMapper.java b/src/main/java/com/zcloud/mapper/datasource/fireresources/FireResourcesMapper.java
new file mode 100644
index 00000000..b4501a9e
--- /dev/null
+++ b/src/main/java/com/zcloud/mapper/datasource/fireresources/FireResourcesMapper.java
@@ -0,0 +1,68 @@
+package com.zcloud.mapper.datasource.fireresources;
+
+import com.zcloud.entity.Page;
+import com.zcloud.entity.PageData;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.LinkedList;
+import java.util.List;
+
+@Mapper
+public interface FireResourcesMapper {
+ /**新增
+ * @param pd
+ */
+ void save(PageData pd);
+
+ /**删除
+ * @param pd
+ */
+ void delete(PageData pd);
+
+ /**修改
+ * @param pd
+ */
+ void edit(PageData pd);
+
+ /**列表
+ * @param page
+ */
+ List datalistPage(Page page);
+
+ /**列表(全部)
+ * @param pd
+ */
+ List listAll(PageData pd);
+
+ /**通过id获取数据
+ * @param pd
+ */
+ PageData findById(PageData pd);
+
+ LinkedList getControlRoomDataList(PageData pageData);
+ LinkedList getPumpRoomDataList(PageData pageData);
+ LinkedList getRescueTeamDataList(PageData pageData);
+ LinkedList getWaterSourceDataList(PageData pageData);
+
+ LinkedList getPointDataList(PageData pageData);
+
+ PageData getDataById(PageData pddata);
+
+
+ List getCheckRecordByPid(PageData pageData);
+
+
+ PageData findPointById(PageData pageData);
+
+ List listAll4H5(PageData pageData);
+
+ List getPointQualifiedPhotosByEpid(PageData pageData);
+
+ List getPointQualifiedPhotos(PageData pageData);
+
+ List goRecordDeviceByPid(PageData pd);
+
+ List devicelistPage(Page page);
+
+ List getPointCheckPhotoById(PageData pageData);
+}
diff --git a/src/main/java/com/zcloud/mapper/datasource/keyProjects/PlatformvideomanagementMapper.java b/src/main/java/com/zcloud/mapper/datasource/keyProjects/PlatformvideomanagementMapper.java
index 02168e98..492e4b97 100644
--- a/src/main/java/com/zcloud/mapper/datasource/keyProjects/PlatformvideomanagementMapper.java
+++ b/src/main/java/com/zcloud/mapper/datasource/keyProjects/PlatformvideomanagementMapper.java
@@ -55,5 +55,8 @@ public interface PlatformvideomanagementMapper {
*/
void deleteAll(String[] ArrayDATA_IDS);
+ List listAllForMap(PageData pd);
+
+
}
diff --git a/src/main/java/com/zcloud/mapper/datasource/map/MapEightMapper.java b/src/main/java/com/zcloud/mapper/datasource/map/MapEightMapper.java
new file mode 100644
index 00000000..3d00a62e
--- /dev/null
+++ b/src/main/java/com/zcloud/mapper/datasource/map/MapEightMapper.java
@@ -0,0 +1,368 @@
+package com.zcloud.mapper.datasource.map;
+
+import com.zcloud.entity.Page;
+import com.zcloud.entity.PageData;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 说明:重点工程处罚
+ * 作者:luoxiaobao
+ * 时间:2022-09-21
+ * 官网:www.zcloudchina.com
+ */
+public interface MapEightMapper {
+
+
+ List getCorpinfoIds(String[] ArrayDATA_IDS);
+
+ /**
+ * 获取柱状图
+ * @param pd
+ * @return
+ */
+ List