From aa554a0f198e5709bb290eceb5f50ed4fc033925 Mon Sep 17 00:00:00 2001
From: songwenxuan <1924103812@qq.com>
Date: Fri, 19 Jan 2024 09:50:13 +0800
Subject: [PATCH] =?UTF-8?q?=E5=9C=B0=E5=9B=BE=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../java/com/zcloud/aspect/DockingAspect.java |    4 +-
 .../anemometer/AnemometerController.java      |   63 +
 .../firemanager/FireResourcesController.java  |    4 +-
 .../gatemachine/GateVideoController.java      |    5 +-
 .../controller/map/CmtMapController.java      |  434 +++
 .../controller/map/CmtMapEightController.java |  185 +
 .../zcloud/controller/map/MapController.java  |   78 +-
 .../videoreceive/VideoReceiveController.java  |  217 ++
 .../anemometer/AnemometerLocalMapper.java     |   44 +
 .../anemometer/AnemometerMachineMapper.java   |   47 +
 .../mapper/datasource/map/BiMapMapper.java    |   35 +
 ...apper.java => CmtFireResourcesMapper.java} |    2 +-
 .../announcement/AnemometerLocalService.java  |   42 +
 .../AnemometerMachineService.java             |   47 +
 .../impl/AnemometerLocalServiceImpl.java      |   48 +
 .../impl/AnemometerMachineServiceImpl.java    |   60 +
 .../czksbimap/impl/CzksBiMapServiceImpl.java  |    4 +-
 ...vice.java => CmtFireResourcesService.java} |    2 +-
 ....java => CmtFireResourcesServiceImpl.java} |    8 +-
 .../service/map/AbsFireSourcesHandel.java     |   35 +
 .../service/map/AssemblyBeanFactory.java      |   42 +
 .../com/zcloud/service/map/BiMapService.java  |   38 +
 .../service/map/impl/BiMapServiceImpl.java    |  161 +
 .../com/zcloud/util/SaveAnemometerInfo.java   |   68 +
 .../java/com/zcloud/util/SaveMachineInfo.java |  236 ++
 .../AbsCzksFireSourcesHandel.java             |    8 +-
 src/main/resources/application-dev.properties |    6 +-
 .../anemometer/AnemometerLocalMapper.xml      |   96 +
 .../anemometer/AnemometerMachineMapper.xml    |  119 +
 .../mybatis/datasource/bus/MapEightMapper.xml | 3406 +++++++++++++++++
 .../czksbimap/CzksMapEightMapper.xml          |    2 +-
 .../gatemachine/GateVideoMapper.xml           |   18 +-
 .../mybatis/datasource/map/BiMapMapper.xml    |  326 ++
 .../videoreceive/VideoReceiveMapper.xml       |    3 +
 .../fireresources/CzksFireResourcesMapper.xml |    2 +-
 35 files changed, 5864 insertions(+), 31 deletions(-)
 create mode 100644 src/main/java/com/zcloud/controller/anemometer/AnemometerController.java
 create mode 100644 src/main/java/com/zcloud/controller/map/CmtMapController.java
 create mode 100644 src/main/java/com/zcloud/controller/map/CmtMapEightController.java
 create mode 100644 src/main/java/com/zcloud/controller/videoreceive/VideoReceiveController.java
 create mode 100644 src/main/java/com/zcloud/mapper/datasource/anemometer/AnemometerLocalMapper.java
 create mode 100644 src/main/java/com/zcloud/mapper/datasource/anemometer/AnemometerMachineMapper.java
 create mode 100644 src/main/java/com/zcloud/mapper/datasource/map/BiMapMapper.java
 rename src/main/java/com/zcloud/mapper/dsno2/fireresources/{CzksFireResourcesMapper.java => CmtFireResourcesMapper.java} (97%)
 create mode 100644 src/main/java/com/zcloud/service/announcement/AnemometerLocalService.java
 create mode 100644 src/main/java/com/zcloud/service/announcement/AnemometerMachineService.java
 create mode 100644 src/main/java/com/zcloud/service/announcement/impl/AnemometerLocalServiceImpl.java
 create mode 100644 src/main/java/com/zcloud/service/announcement/impl/AnemometerMachineServiceImpl.java
 rename src/main/java/com/zcloud/service/fireresources/{CzksFireResourcesService.java => CmtFireResourcesService.java} (96%)
 rename src/main/java/com/zcloud/service/fireresources/impl/{CzksFireResourcesServiceImpl.java => CmtFireResourcesServiceImpl.java} (94%)
 create mode 100644 src/main/java/com/zcloud/service/map/AbsFireSourcesHandel.java
 create mode 100644 src/main/java/com/zcloud/service/map/AssemblyBeanFactory.java
 create mode 100644 src/main/java/com/zcloud/service/map/BiMapService.java
 create mode 100644 src/main/java/com/zcloud/service/map/impl/BiMapServiceImpl.java
 create mode 100644 src/main/java/com/zcloud/util/SaveAnemometerInfo.java
 create mode 100644 src/main/java/com/zcloud/util/SaveMachineInfo.java
 create mode 100644 src/main/resources/mybatis/datasource/anemometer/AnemometerLocalMapper.xml
 create mode 100644 src/main/resources/mybatis/datasource/anemometer/AnemometerMachineMapper.xml
 create mode 100644 src/main/resources/mybatis/datasource/bus/MapEightMapper.xml
 create mode 100644 src/main/resources/mybatis/datasource/map/BiMapMapper.xml

diff --git a/src/main/java/com/zcloud/aspect/DockingAspect.java b/src/main/java/com/zcloud/aspect/DockingAspect.java
index 0110fc0e..7daded15 100644
--- a/src/main/java/com/zcloud/aspect/DockingAspect.java
+++ b/src/main/java/com/zcloud/aspect/DockingAspect.java
@@ -26,8 +26,8 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
-@Component
-@Aspect
+//@Component
+//@Aspect
 public class DockingAspect {
     @Autowired
     private DockSendMessageService sendMessageService;
diff --git a/src/main/java/com/zcloud/controller/anemometer/AnemometerController.java b/src/main/java/com/zcloud/controller/anemometer/AnemometerController.java
new file mode 100644
index 00000000..6bea592d
--- /dev/null
+++ b/src/main/java/com/zcloud/controller/anemometer/AnemometerController.java
@@ -0,0 +1,63 @@
+package com.zcloud.controller.anemometer;
+
+import com.zcloud.controller.base.BaseController;
+import com.zcloud.entity.Page;
+import com.zcloud.entity.PageData;
+import com.zcloud.service.announcement.AnemometerMachineService;
+import com.zcloud.service.gatemachine.GateAreaService;
+import com.zcloud.util.ReturnMap;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 说明:TODO
+ * 作者:wangxuan
+ * 官网:www.zcloudchina.com
+ */
+@RestController
+@RequestMapping("/anemometer")
+public class AnemometerController extends BaseController {
+
+    @Resource
+    private AnemometerMachineService anemometerMachineService;
+
+
+    @RequestMapping(value = "/page")
+    public ReturnMap page(Page page) {
+        ReturnMap returnMap = new ReturnMap();
+        PageData pageData = this.getPageData();
+        page.setPd(pageData);
+        List<PageData> data = anemometerMachineService.getDatalistpage(page);
+        returnMap.put("varList", data);
+        returnMap.put("page", page);
+        return returnMap;
+    }
+
+    @RequestMapping(value = "/anemometerList")
+    public ReturnMap anemometerList(Page page) throws Exception{
+        ReturnMap returnMap = new ReturnMap();
+        PageData pageData = this.getPageData();
+        List<PageData> data = anemometerMachineService.listAll(pageData);
+        returnMap.put("varList", data);
+        return returnMap;
+    }
+
+    @RequestMapping(value = "/getDetailByName")
+    public ReturnMap getDetailById() throws Exception{
+        ReturnMap returnMap = new ReturnMap();
+        PageData pd = this.getPageData();
+        PageData data = anemometerMachineService.getDetailById(pd);
+        returnMap.put("varList", data);
+        return returnMap;
+    }
+
+    @RequestMapping(value = "/edit")
+    public ReturnMap edit() throws Exception{
+        PageData pd = this.getPageData();
+        anemometerMachineService.edit(pd);
+        return ReturnMap.ok();
+    }
+}
diff --git a/src/main/java/com/zcloud/controller/firemanager/FireResourcesController.java b/src/main/java/com/zcloud/controller/firemanager/FireResourcesController.java
index 21156c53..fc4102de 100644
--- a/src/main/java/com/zcloud/controller/firemanager/FireResourcesController.java
+++ b/src/main/java/com/zcloud/controller/firemanager/FireResourcesController.java
@@ -5,7 +5,7 @@ import com.zcloud.aspect.DockAnnotation;
 import com.zcloud.controller.base.BaseController;
 import com.zcloud.entity.Page;
 import com.zcloud.entity.PageData;
-import com.zcloud.service.fireresources.CzksFireResourcesService;
+import com.zcloud.service.fireresources.CmtFireResourcesService;
 import com.zcloud.util.DateUtil;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -24,7 +24,7 @@ import java.util.Map;
 public class FireResourcesController extends BaseController {
 
     @Resource
-    private CzksFireResourcesService fireResourcesService;
+    private CmtFireResourcesService fireResourcesService;
     @RequestMapping(value = "/list")
     @ResponseBody
     public Object page(Page page) {
diff --git a/src/main/java/com/zcloud/controller/gatemachine/GateVideoController.java b/src/main/java/com/zcloud/controller/gatemachine/GateVideoController.java
index bd5b35f9..ac05ade1 100644
--- a/src/main/java/com/zcloud/controller/gatemachine/GateVideoController.java
+++ b/src/main/java/com/zcloud/controller/gatemachine/GateVideoController.java
@@ -45,6 +45,7 @@ public class GateVideoController extends BaseController {
 		pd.put("GATEVIDEO_ID", this.get32UUID());	//主键
 		pd.put("OPDATE", DateUtil.date2Str(new Date()));	//操作日期
 		pd.put("OPUSER", Jurisdiction.getUsername());	//操作人
+		pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
 		pd.put("ISDELETE", "0");	//是否删除
 		gateVideoService.save(pd);
 		map.put("result", errInfo);
@@ -156,9 +157,9 @@ public class GateVideoController extends BaseController {
 		Map<String,Object> map = new HashMap<String,Object>();
 		String errInfo = "success";
 		PageData pd = new PageData();
-
+		pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
 		List<PageData>	videoList = gateVideoService.listAllForMap(pd);	//根据ID读取
-		map.put("videoList", videoList);
+		map.put("varList", videoList);
 		map.put("result", errInfo);
 		return map;
 	}
diff --git a/src/main/java/com/zcloud/controller/map/CmtMapController.java b/src/main/java/com/zcloud/controller/map/CmtMapController.java
new file mode 100644
index 00000000..37220b8d
--- /dev/null
+++ b/src/main/java/com/zcloud/controller/map/CmtMapController.java
@@ -0,0 +1,434 @@
+package com.zcloud.controller.map;
+
+import com.alibaba.fastjson.JSONObject;
+import com.zcloud.controller.base.BaseController;
+import com.zcloud.entity.Page;
+import com.zcloud.entity.PageData;
+import com.zcloud.service.bus.CorpInfoService;
+import com.zcloud.service.czksbimap.CzksBiMapService;
+import com.zcloud.service.fireresources.CmtFireResourcesService;
+import com.zcloud.service.gatemachine.GateMachineService;
+import com.zcloud.service.keyProjects.PlatformvideomanagementService;
+import com.zcloud.service.keyProjects.VideoManagerService;
+import com.zcloud.service.system.DepartmentService;
+import com.zcloud.service.system.UsersService;
+import com.zcloud.util.HttpRequestUtil;
+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.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("/czks/map")
+public class CmtMapController extends BaseController {
+
+    @Resource
+    private CzksBiMapService biMapService;
+
+    @Autowired
+    private VideoManagerService videomanagerService;
+    @Autowired
+    private CorpInfoService corpInfoService;
+
+    @Autowired
+    private PlatformvideomanagementService platformvideomanagementService;
+    @Autowired
+    private UsersService usersService;
+
+//    @Autowired
+//    private MeteorologicalinfoService meteorologicalinfoService;
+
+    @Autowired
+    private RestTemplate restTemplate;
+
+    @Autowired
+    private CmtFireResourcesService 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<String, Object> map = new HashMap<String, Object>();
+        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<String, Object> map = new HashMap<String, Object>();
+        PageData pageData = this.getPageData();
+        LinkedList<PageData> 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<String, Object> map = new HashMap<String, Object>();
+        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<String, Object> map = new HashMap<String, Object>();
+        PageData pageData = this.getPageData();
+        LinkedList<PageData> 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<PageData> 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<PageData> 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<PageData> value = biMapService.getDoorWayPeopleRecords(page);
+            returnMap.put("varList", value);
+            return returnMap;
+        } else {
+            // 车
+            List<PageData> 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<String, Object> 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<PageData> recordAllList = gateMachineService.getPersonRecordListAllByEId(page);
+        returnMap.put("recordAllList", recordAllList);
+        return returnMap;
+    }
+
+
+    @RequestMapping(value = "/fireResource/list")
+    @ResponseBody
+    public Object page(Page page) {
+        Map<String, Object> map = new HashMap<String, Object>();
+        String errInfo = "success";
+        PageData pd = this.getPageData();
+        //获取当前人的公司id
+        page.setPd(pd);
+
+        List<PageData> 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<String, Object> map = new HashMap<String, Object>();
+        String errInfo = "success";
+        PageData pd = this.getPageData();
+        String corpinfoId = Jurisdiction.getCORPINFO_ID();
+        pd.put("CORPINFO_ID", corpinfoId);
+
+        //获取当前人的公司id
+        page.setPd(pd);
+        List<PageData> 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<String, Object> map = new HashMap<String, Object>();
+        String errInfo = "success";
+        PageData pd = this.getPageData();
+        map.put("result", errInfo);
+        return map;
+    }
+
+    @RequestMapping(value = "/getMachineTodayInOutCount")
+    @ResponseBody
+    public Object getMachineTodayInOutCount() {
+        Map<String, Object> map = new HashMap<String, Object>();
+        String errInfo = "success";
+        PageData pd = this.getPageData();
+        List<PageData> value = gateMachineService.getTodayInOutCount(pd);
+        map.put("varList", value);
+        map.put("result", errInfo);
+        return map;
+    }
+
+    @RequestMapping("/getGatePosition")
+    @ResponseBody
+    public ReturnMap getCzksGatePosition() {
+        ReturnMap returnMap = new ReturnMap();
+        PageData pageData = this.getPageData();
+        //
+        pageData.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
+        List<PageData> 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: 2024/1/6/006 11:15
+     * @Param: [] []
+     * @Return: java.lang.Object
+     */
+    @RequestMapping(value = "/getCameraPositioning")
+    @ResponseBody
+    public Object getCameraPositioning() {
+        ReturnMap returnMap = new ReturnMap();
+        PageData pageData = new PageData();
+        pageData.put("CORPINFO_ID",Jurisdiction.getCORPINFO_ID());
+        List<PageData> dataList = platformvideomanagementService.listAllForMap(pageData);
+        returnMap.put("varList",dataList);
+        return returnMap;
+    }
+
+    /**
+     * 沧州矿石人员定位结束  定位基础信息
+     */
+    /**
+     * 获取人员、车辆进出记录
+     *
+     * @param
+     * @return
+     */
+    @RequestMapping(value = "/getCurrentLocationOnline")
+    @ResponseBody
+    public Object getCurrentLocationOnline() {
+        Map<String, Object> map = new HashMap<String, Object>();
+        String errInfo = "success";
+        map.put("result", errInfo);
+        return map;
+    }
+
+    // 获取人员定位信息 根据定位卡(身份证)编码
+    @RequestMapping(value = "/getPersonByCardNo")
+    @ResponseBody
+    public Object getPersonByCardNo() throws Exception {
+        Map<String, Object> map = new HashMap<String, Object>();
+        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<String, Object> map = new HashMap<String, Object>();
+
+        return map;
+    }
+
+    /**
+     * 查询人员在线及统计数据(曹妃甸使用)
+     *
+     * @throws Exception
+     */
+    @RequestMapping(value = "/getCurrentPersonnelData")
+    @ResponseBody
+    public Object getCurrentPersonnelData() throws Exception {
+        Map<String, Object> map = new HashMap<String, Object>();
+        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/CmtMapEightController.java b/src/main/java/com/zcloud/controller/map/CmtMapEightController.java
new file mode 100644
index 00000000..45267516
--- /dev/null
+++ b/src/main/java/com/zcloud/controller/map/CmtMapEightController.java
@@ -0,0 +1,185 @@
+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.czksbimap.CzksMapEightService;
+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 java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 说明:实时地图八项工作内容
+ * 官网:www.zcloudchina.com
+ */
+@Controller
+@RequestMapping("/czks/map/Eight")
+public class CmtMapEightController extends BaseController {
+
+    @Autowired
+    private CzksMapEightService mapEightService;
+
+    /**
+     * @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<String, Object> map = new HashMap<String, Object>();
+        String errInfo = "success";
+        PageData pd =  this.getPageData();
+        pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); // 企业
+
+        PageData data = mapEightService.statisticsHighRiskWorkByStateOrder(pd);
+        map.put("pd", data);
+        map.put("result", errInfo);
+        return map;
+    }
+
+    /**
+     * 作业实时情况展示(最新18条)
+     *
+     * @param
+     * @throws Exception
+     */
+    @RequestMapping(value = "/listHighRiskWork")
+    @ResponseBody
+    public Object listHighRiskWork(Page page) throws Exception {
+        Map<String, Object> map = new HashMap<String, Object>();
+        String errInfo = "success";
+        PageData pd = this.getPageData();
+        pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); // 企业
+        page.setPd(pd);
+        List<PageData> 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<String, Object> map = new HashMap<String, Object>();
+        String errInfo = "success";
+        PageData pd = this.getPageData();
+        pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); // 企业
+        List<PageData> 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<String, Object> map = new HashMap<String, Object>();
+        String errInfo = "success";
+        PageData pd = new PageData();
+        pd = this.getPageData();
+        pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); // 企业
+
+        List<PageData> 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<String, Object> map = new HashMap<String, Object>();
+        String errInfo = "success";
+        PageData pd = new PageData();
+        pd = this.getPageData();
+        pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); // 企业
+
+        List<PageData> varList = mapEightService.listAllMeasures(pd);    //根据ID读取
+        map.put("varList", varList);
+        map.put("result", errInfo);
+        return map;
+    }
+
+}
diff --git a/src/main/java/com/zcloud/controller/map/MapController.java b/src/main/java/com/zcloud/controller/map/MapController.java
index a0116d3e..7ee6776f 100644
--- a/src/main/java/com/zcloud/controller/map/MapController.java
+++ b/src/main/java/com/zcloud/controller/map/MapController.java
@@ -5,19 +5,25 @@ import com.zcloud.entity.Page;
 import com.zcloud.entity.PageData;
 import com.zcloud.mapper.datasource.gatemachine.GateAreaMapper;
 import com.zcloud.service.bus.CorpInfoService;
+import com.zcloud.service.fireresources.CmtFireResourcesService;
 import com.zcloud.service.gatemachine.GateCarMachineInfoService;
 import com.zcloud.service.gatemachine.GateMachineInfoService;
 import com.zcloud.service.gatemachine.GateMachineService;
+import com.zcloud.service.gatemachine.GateVideoService;
 import com.zcloud.service.keyProjects.VideoManagerService;
+import com.zcloud.service.map.BiMapService;
 import com.zcloud.service.map.MapService;
 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 com.zcloud.util.hk.HKUtil;
 import com.zcloud.util.ys.YSUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.client.RestTemplate;
@@ -34,12 +40,14 @@ import java.util.*;
 @RequestMapping("/map")
 public class MapController extends BaseController {
 
-
+    @Autowired
+    private BiMapService biMapService;
     @Autowired
     private VideoManagerService videomanagerService;
     @Autowired
     private CorpInfoService corpInfoService;
-
+    @Autowired
+    private CmtFireResourcesService fireResourcesService;
     @Autowired
     private UsersService usersService;
 
@@ -70,6 +78,8 @@ public class MapController extends BaseController {
 
     @Autowired
     private GateCarMachineInfoService gateCarMachineInfoService;
+    @Autowired
+    private GateVideoService gateVideoService;
 
 
 
@@ -218,7 +228,7 @@ public class MapController extends BaseController {
      */
     @RequestMapping("/getGatePositionCount")
     @ResponseBody
-    public ReturnMap getGatePositionCount() {
+    public ReturnMap getGatePositionCount() throws Exception {
         ReturnMap returnMap = new ReturnMap();
         PageData data = new PageData();
         PageData pageData = this.getPageData();
@@ -230,6 +240,10 @@ public class MapController extends BaseController {
         pageData.put("GATE_AREA_TYPE", 1);
         List<PageData> carMachine = gateAreaMapper.getGatePosition(pageData);
         data.put("carMachineCount", carMachine.size());
+        //摄像头数
+        pageData.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
+        List<PageData> camera = gateVideoService.listAllForMap(pageData);
+        data.put("cameraCount", camera.size());
         returnMap.put("data", data);
         return returnMap;
     }
@@ -408,4 +422,62 @@ public class MapController extends BaseController {
         return r;
     }
 
+    /**
+     * @Description: 消防管控
+     * @Author: dearLin
+     * @Date: 2023/9/20/020 15:30
+     * @Param: [] []
+     * @Return: java.lang.Object
+     */
+    @RequestMapping("/getFireControl")
+    @ResponseBody
+    public Object getFireControl() throws Exception {
+        Map<String, Object> map = new HashMap<String, Object>();
+        PageData pageData = this.getPageData();
+        LinkedList<PageData> 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<String, Object> map = new HashMap<String, Object>();
+        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<String, Object> map = new HashMap<String, Object>();
+        PageData pageData = this.getPageData();
+        LinkedList<PageData> data = biMapService.getFireRescueTeam(pageData);
+        map.put("result", "success");
+        map.put("varList", data);
+        return map;
+    }
 }
diff --git a/src/main/java/com/zcloud/controller/videoreceive/VideoReceiveController.java b/src/main/java/com/zcloud/controller/videoreceive/VideoReceiveController.java
new file mode 100644
index 00000000..d86a7f1b
--- /dev/null
+++ b/src/main/java/com/zcloud/controller/videoreceive/VideoReceiveController.java
@@ -0,0 +1,217 @@
+package com.zcloud.controller.videoreceive;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.zcloud.controller.base.BaseController;
+import com.zcloud.entity.PageData;
+import com.zcloud.service.receive.VideoReceiveService;
+import com.zcloud.util.ys.YSUtil;
+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.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 说明:特种设备安全巡检管理
+ * 作者:luoxiaobao
+ * 时间:2021-06-19
+ * 官网:www.zcloudchina.com
+ */
+@Controller
+@RequestMapping("/videoreceive")
+public class VideoReceiveController extends BaseController {
+
+    @Autowired
+    private VideoReceiveService videoReceiveService;
+    @Autowired
+    private YSUtil ysUtil;
+
+
+
+    /**列表
+     * @throws Exception
+     */
+    @RequestMapping(value="/listAll")
+    @ResponseBody
+    public Object listAll() throws Exception{
+        Map<String,Object> map = new HashMap<String,Object>();
+        String errInfo = "success";
+        PageData pd = new PageData();
+        pd = this.getPageData();
+        List<PageData> varList = videoReceiveService.listAll(pd);	//列出Platformvideomanagement列表
+        map.put("varList", varList);
+        map.put("result", errInfo);
+        return map;
+    }
+
+    /**列表
+     * @throws Exception
+     */
+    @RequestMapping(value="/findVideo")
+    @ResponseBody
+    public Object findVideo() throws Exception{
+        Map<String,Object> map = new HashMap<String,Object>();
+        PageData pd =this.getPageData();
+        pd.put("ResCode",pd.getString("org"));
+        PageData videoByResCode = videoReceiveService.findVideoByResCode(pd);
+        map.put("pd",videoByResCode);
+        map.put("result", "success");
+        return map;
+    }
+
+    /**列表
+     * @throws Exception
+     */
+    @RequestMapping(value="/platformList")
+    @ResponseBody
+    public Object platformList() throws Exception{
+        Map<String,Object> map = new HashMap<String,Object>();
+        PageData pd =this.getPageData();
+        JSONObject area = ysUtil.queryAreaList(pd);
+        JSONObject areaResult = (JSONObject) area.get("Result");
+        Map resultMap = areaResult.toJavaObject(Map.class);
+        List<PageData> list = JSONArray.parseArray(resultMap.get("InfoList").toString(), PageData.class);
+        ArrayList<PageData> arrayList = new ArrayList<>();
+        list.forEach(areaPd -> {
+            JSONObject resItemV1 = (JSONObject) areaPd.get("ResItemV1");
+            Map map1 = JSONObject.parseObject(resItemV1.toString(), Map.class);
+            PageData data = new PageData();
+            data.putAll(map1);
+            arrayList.add(data);
+        });
+
+        arrayList.forEach(pageData -> {
+            String resCode = pageData.getString("ResCode");
+            PageData condition = new PageData();
+            condition.put("org", resCode);
+            try {
+                //查询是否有下一级区域
+                JSONObject jsonObject1 = ysUtil.queryAreaList(condition);
+                JSONObject result = (JSONObject) jsonObject1.get("Result");
+                Map results = result.toJavaObject(Map.class);
+                List<PageData> nextList = JSONArray.parseArray(results.get("InfoList").toString(), PageData.class);
+                if (nextList.size()>0) {
+                    pageData.put("hasChildren",true);
+                }
+                //查询下一级是否有摄像头
+                JSONObject cameraObject = ysUtil.queryCameraList(condition);
+                JSONObject cameraResult = (JSONObject) cameraObject.get("Result");
+                Map cameraMap = cameraResult.toJavaObject(Map.class);
+                List<PageData> cameraList = JSONArray.parseArray(cameraMap.get("InfoList").toString(), PageData.class);
+                if (cameraList.size()>0) {
+                    pageData.put("hasChildren",true);
+                }
+            } catch (Exception e) {
+                throw new RuntimeException(e);
+            }
+        });
+
+        //查询当前级摄像头数据
+        JSONObject cameraObject = ysUtil.queryCameraList(pd);
+        JSONObject cameraResult = (JSONObject) cameraObject.get("Result");
+        Map cameraMap = cameraResult.toJavaObject(Map.class);
+        List<PageData> cameraList = JSONArray.parseArray(cameraMap.get("InfoList").toString(), PageData.class);
+        cameraList.forEach(cameraPd -> {
+            JSONObject resItemV1 = (JSONObject) cameraPd.get("ResItemV1");
+            Map map1 = JSONObject.parseObject(resItemV1.toString(), Map.class);
+            PageData data = new PageData();
+            data.putAll(map1);
+            arrayList.add(data);
+        });
+        map.put("varList",arrayList);
+        map.put("result", "success");
+        return map;
+    }
+
+    /**新增
+     * @param
+     * @throws Exception
+     */
+    @RequestMapping(value="/add")
+    @ResponseBody
+    public Object add() throws Exception{
+        Map<String,Object> map = new HashMap<String,Object>();
+        String errInfo = "success";
+        PageData pd = new PageData();
+        pd = this.getPageData();
+        pd.put("VIDEORECEIVE_ID", this.get32UUID());	//主键
+        videoReceiveService.save(pd);
+        map.put("pd",pd);
+        map.put("result", errInfo);
+        return map;
+    }
+
+    /**新增
+     * @param
+     * @throws Exception
+     */
+    @RequestMapping(value="/savePosition")
+    @ResponseBody
+    public Object savePosition() throws Exception{
+        Map<String,Object> map = new HashMap<String,Object>();
+        String errInfo = "success";
+        PageData pd = new PageData();
+        pd = this.getPageData();
+        pd.put("ISDELETE","0");
+        if(pd.get("VIDEORECEIVE_ID") != null){
+            videoReceiveService.edit(pd);
+        }else{
+            pd.put("VIDEORECEIVE_ID", this.get32UUID());	//主键
+            videoReceiveService.save(pd);
+        }
+        map.put("result", errInfo);
+        return map;
+    }
+
+    /**列表
+     * @throws Exception
+     */
+    @RequestMapping(value="/delLocation")
+    @ResponseBody
+    public Object delLocation() throws Exception{
+        Map<String,Object> map = new HashMap<String,Object>();
+        String errInfo = "success";
+        PageData pd = new PageData();
+        pd = this.getPageData();
+        videoReceiveService.delLocation(pd);
+        map.put("result", errInfo);
+        return map;
+    }
+
+    /**删除
+     * @throws Exception
+     */
+    @RequestMapping(value="/deleteVideo")
+    @ResponseBody
+    public Object deleteVideo() throws Exception{
+        Map<String,Object> map = new HashMap<String,Object>();
+        String errInfo = "success";
+        PageData pd = new PageData();
+        pd = this.getPageData();
+        videoReceiveService.deleteVideo(pd);
+        map.put("result", errInfo);
+        return map;
+    }
+
+    @RequestMapping(value="/listAllCameraForMap")
+    @ResponseBody
+    public Object listAllCameraForMap() throws Exception{
+        PageData pd = this.getPageData();
+        return videoReceiveService.listAllForMap(pd);
+    }
+
+    @RequestMapping(value="/getHlsPath")
+    @ResponseBody
+    public Object getHlsPath() throws Exception{
+        Map<String,Object> map = new HashMap<String,Object>();
+        String errInfo = "success";
+        PageData pd = this.getPageData();
+        map.put("result", errInfo);
+        return map;
+    }
+}
diff --git a/src/main/java/com/zcloud/mapper/datasource/anemometer/AnemometerLocalMapper.java b/src/main/java/com/zcloud/mapper/datasource/anemometer/AnemometerLocalMapper.java
new file mode 100644
index 00000000..30a59647
--- /dev/null
+++ b/src/main/java/com/zcloud/mapper/datasource/anemometer/AnemometerLocalMapper.java
@@ -0,0 +1,44 @@
+package com.zcloud.mapper.datasource.anemometer;
+
+import com.zcloud.entity.PageData;
+
+import java.util.List;
+
+/**
+ * @author zy
+ * @date 2024/1/16 19:35
+ */
+public interface AnemometerLocalMapper {
+
+    /**新增
+     * @param pd
+     * @throws Exception
+     */
+    void add(PageData pd)throws Exception;
+
+    /**修改
+     * @param pd
+     * @throws Exception
+     */
+    void edit(PageData pd)throws Exception;
+
+    /**列表(全部)
+     * @param pd
+     * @throws Exception
+     */
+    List<PageData> listAll(PageData pd)throws Exception;
+
+    /**风速仪名称查询
+     * @param pd
+     * @throws Exception
+     */
+    List<PageData> findByName(PageData pd)throws Exception;
+
+    /**批量插入
+     * @param listPd
+     * @throws Exception
+     */
+    void BatchinsertInfo(List<PageData> listPd);
+
+
+}
diff --git a/src/main/java/com/zcloud/mapper/datasource/anemometer/AnemometerMachineMapper.java b/src/main/java/com/zcloud/mapper/datasource/anemometer/AnemometerMachineMapper.java
new file mode 100644
index 00000000..eab64718
--- /dev/null
+++ b/src/main/java/com/zcloud/mapper/datasource/anemometer/AnemometerMachineMapper.java
@@ -0,0 +1,47 @@
+package com.zcloud.mapper.datasource.anemometer;
+
+import com.zcloud.entity.Page;
+import com.zcloud.entity.PageData;
+
+import java.util.List;
+
+/**
+ * @author zy
+ * @date 2024/1/16 19:35
+ */
+public interface AnemometerMachineMapper {
+
+    /**新增
+     * @param pd
+     * @throws Exception
+     */
+    void add(PageData pd)throws Exception;
+
+    /**修改
+     * @param pd
+     * @throws Exception
+     */
+    void edit(PageData pd)throws Exception;
+
+    /**列表(全部)
+     * @param pd
+     * @throws Exception
+     */
+    List<PageData> listAll(PageData pd)throws Exception;
+
+    /**风速仪名称查询
+     * @param pd
+     * @throws Exception
+     */
+    List<PageData> findByName(PageData pd)throws Exception;
+
+    /**批量插入
+     * @param listPd
+     * @throws Exception
+     */
+    void BatchinsertInfo(List<PageData> listPd);
+
+    List<PageData> getDatalistPage(Page page);
+
+    PageData getDetailById(PageData pd);
+}
diff --git a/src/main/java/com/zcloud/mapper/datasource/map/BiMapMapper.java b/src/main/java/com/zcloud/mapper/datasource/map/BiMapMapper.java
new file mode 100644
index 00000000..b637b2f0
--- /dev/null
+++ b/src/main/java/com/zcloud/mapper/datasource/map/BiMapMapper.java
@@ -0,0 +1,35 @@
+package com.zcloud.mapper.datasource.map;
+
+import com.zcloud.entity.Page;
+import com.zcloud.entity.PageData;
+
+import java.util.List;
+
+/**
+ * 说明:TODO
+ * 作者:wangxuan
+ * 官网:www.zcloudchina.com
+ */
+public interface BiMapMapper {
+    List<PageData> getCarRecordslistPage(Page page);
+
+    List<PageData> getPeopleRecordslistPage(Page page);
+
+    List<String> getCorpinfoIds(String[] ArrayDATA_IDS);
+
+    // 统计今日人员刷卡数据
+    PageData statisticsCardUserCount(PageData pd);
+    // 统计今日临时人员刷卡数据
+    PageData statisticsOutsiderCount(PageData pd);
+
+    PageData getRiskIdentificationCount(PageData pageData);
+
+    PageData listbymeteorological(PageData pd);
+
+//    部门把自己 -1
+    PageData getPersonPositioningCount(PageData pageData);
+
+    List<PageData> getRiskIndex(PageData pageData);
+
+    List<PageData> inAndoutPeoCarToday(PageData pageData);
+}
diff --git a/src/main/java/com/zcloud/mapper/dsno2/fireresources/CzksFireResourcesMapper.java b/src/main/java/com/zcloud/mapper/dsno2/fireresources/CmtFireResourcesMapper.java
similarity index 97%
rename from src/main/java/com/zcloud/mapper/dsno2/fireresources/CzksFireResourcesMapper.java
rename to src/main/java/com/zcloud/mapper/dsno2/fireresources/CmtFireResourcesMapper.java
index b4025ab0..590fbb1b 100644
--- a/src/main/java/com/zcloud/mapper/dsno2/fireresources/CzksFireResourcesMapper.java
+++ b/src/main/java/com/zcloud/mapper/dsno2/fireresources/CmtFireResourcesMapper.java
@@ -8,7 +8,7 @@ import java.util.LinkedList;
 import java.util.List;
 
 @Mapper
-public interface CzksFireResourcesMapper {
+public interface CmtFireResourcesMapper {
     /**新增
      * @param pd
      */
diff --git a/src/main/java/com/zcloud/service/announcement/AnemometerLocalService.java b/src/main/java/com/zcloud/service/announcement/AnemometerLocalService.java
new file mode 100644
index 00000000..dd07568c
--- /dev/null
+++ b/src/main/java/com/zcloud/service/announcement/AnemometerLocalService.java
@@ -0,0 +1,42 @@
+package com.zcloud.service.announcement;
+
+import com.zcloud.entity.PageData;
+
+import java.util.List;
+
+/**
+ * 风速仪
+ * @author zy
+ * @date 2024/1/16 19:39
+ */
+public interface AnemometerLocalService {
+    /**新增
+     * @param pd
+     * @throws Exception
+     */
+    public void add(PageData pd)throws Exception;
+
+    /**修改
+     * @param pd
+     * @throws Exception
+     */
+    public void edit(PageData pd)throws Exception;
+
+    /**列表(全部)
+     * @param pd
+     * @throws Exception
+     */
+    public List<PageData> listAll(PageData pd)throws Exception;
+
+    /**风速仪名称查询
+     * @param pd
+     * @throws Exception
+     */
+    public List<PageData> findByName(PageData pd)throws Exception;
+
+    /**批量插入
+     * @param listPd
+     * @throws Exception
+     */
+    public void BatchinsertInfo(List<PageData> listPd);
+}
diff --git a/src/main/java/com/zcloud/service/announcement/AnemometerMachineService.java b/src/main/java/com/zcloud/service/announcement/AnemometerMachineService.java
new file mode 100644
index 00000000..74102ca0
--- /dev/null
+++ b/src/main/java/com/zcloud/service/announcement/AnemometerMachineService.java
@@ -0,0 +1,47 @@
+package com.zcloud.service.announcement;
+
+import com.zcloud.entity.Page;
+import com.zcloud.entity.PageData;
+
+import java.util.List;
+
+/**
+ * 风速仪
+ * @author zy
+ * @date 2024/1/16 19:39
+ */
+public interface AnemometerMachineService {
+    /**新增
+     * @param pd
+     * @throws Exception
+     */
+    public void add(PageData pd)throws Exception;
+
+    /**修改
+     * @param pd
+     * @throws Exception
+     */
+    public void edit(PageData pd)throws Exception;
+
+    /**列表(全部)
+     * @param pd
+     * @throws Exception
+     */
+    public List<PageData> listAll(PageData pd)throws Exception;
+
+    /**风速仪名称查询
+     * @param pd
+     * @throws Exception
+     */
+    public List<PageData> findByName(PageData pd)throws Exception;
+
+    /**批量插入
+     * @param listPd
+     * @throws Exception
+     */
+    public void BatchinsertInfo(List<PageData> listPd);
+
+    public List<PageData> getDatalistpage(Page page);
+
+    public PageData getDetailById(PageData pd);
+}
diff --git a/src/main/java/com/zcloud/service/announcement/impl/AnemometerLocalServiceImpl.java b/src/main/java/com/zcloud/service/announcement/impl/AnemometerLocalServiceImpl.java
new file mode 100644
index 00000000..33b1124c
--- /dev/null
+++ b/src/main/java/com/zcloud/service/announcement/impl/AnemometerLocalServiceImpl.java
@@ -0,0 +1,48 @@
+package com.zcloud.service.announcement.impl;
+
+import com.zcloud.entity.PageData;
+import com.zcloud.mapper.datasource.anemometer.AnemometerLocalMapper;
+import com.zcloud.service.announcement.AnemometerLocalService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * 风速仪
+ * @author zy
+ * @date 2024/1/16 19:39
+ */
+@Service
+@Transactional //开启事物
+public class AnemometerLocalServiceImpl implements AnemometerLocalService {
+
+    @Autowired
+    private AnemometerLocalMapper anemometerLocalMapper;
+
+    @Override
+    public void add(PageData pd) throws Exception {
+        anemometerLocalMapper.add(pd);
+    }
+
+    @Override
+    public void edit(PageData pd) throws Exception {
+        anemometerLocalMapper.edit(pd);
+    }
+
+    @Override
+    public List<PageData> listAll(PageData pd) throws Exception {
+        return anemometerLocalMapper.listAll(pd);
+    }
+
+    @Override
+    public List<PageData> findByName(PageData pd) throws Exception {
+        return anemometerLocalMapper.findByName(pd);
+    }
+
+    @Override
+    public void BatchinsertInfo(List<PageData> listPd) {
+        anemometerLocalMapper.BatchinsertInfo(listPd);
+    }
+}
diff --git a/src/main/java/com/zcloud/service/announcement/impl/AnemometerMachineServiceImpl.java b/src/main/java/com/zcloud/service/announcement/impl/AnemometerMachineServiceImpl.java
new file mode 100644
index 00000000..2a0a0558
--- /dev/null
+++ b/src/main/java/com/zcloud/service/announcement/impl/AnemometerMachineServiceImpl.java
@@ -0,0 +1,60 @@
+package com.zcloud.service.announcement.impl;
+
+import com.zcloud.entity.Page;
+import com.zcloud.entity.PageData;
+import com.zcloud.mapper.datasource.anemometer.AnemometerLocalMapper;
+import com.zcloud.mapper.datasource.anemometer.AnemometerMachineMapper;
+import com.zcloud.service.announcement.AnemometerMachineService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * 风速仪
+ * @author zy
+ * @date 2024/1/16 19:39
+ */
+@Service
+@Transactional //开启事物
+public class AnemometerMachineServiceImpl implements AnemometerMachineService {
+
+    @Autowired
+    private AnemometerMachineMapper anemometerMachineMapper;
+
+    @Override
+    public void add(PageData pd) throws Exception {
+        anemometerMachineMapper.add(pd);
+    }
+
+    @Override
+    public void edit(PageData pd) throws Exception {
+        anemometerMachineMapper.edit(pd);
+    }
+
+    @Override
+    public List<PageData> listAll(PageData pd) throws Exception {
+        return anemometerMachineMapper.listAll(pd);
+    }
+
+    @Override
+    public List<PageData> findByName(PageData pd) throws Exception {
+        return anemometerMachineMapper.findByName(pd);
+    }
+
+    @Override
+    public void BatchinsertInfo(List<PageData> listPd) {
+        anemometerMachineMapper.BatchinsertInfo(listPd);
+    }
+
+    @Override
+    public List<PageData> getDatalistpage(Page page) {
+        return anemometerMachineMapper.getDatalistPage(page);
+    }
+
+    @Override
+    public PageData getDetailById(PageData pd) {
+        return anemometerMachineMapper.getDetailById(pd);
+    }
+}
diff --git a/src/main/java/com/zcloud/service/czksbimap/impl/CzksBiMapServiceImpl.java b/src/main/java/com/zcloud/service/czksbimap/impl/CzksBiMapServiceImpl.java
index 4f705f76..362a477b 100644
--- a/src/main/java/com/zcloud/service/czksbimap/impl/CzksBiMapServiceImpl.java
+++ b/src/main/java/com/zcloud/service/czksbimap/impl/CzksBiMapServiceImpl.java
@@ -5,8 +5,8 @@ import com.zcloud.entity.Page;
 import com.zcloud.entity.PageData;
 import com.zcloud.mapper.datasource.bus.CorpInfoMapper;
 import com.zcloud.mapper.datasource.czksbimap.CzksBiMapMapper;
-import com.zcloud.mapper.dsno2.fireresources.CzksFireResourcesMapper;
 import com.zcloud.mapper.datasource.keyProjects.PlatformvideomanagementMapper;
+import com.zcloud.mapper.dsno2.fireresources.CmtFireResourcesMapper;
 import com.zcloud.service.czksbimap.CzksBiMapService;
 import com.zcloud.util.czksBiMapFactory.AbsCzksFireSourcesHandel;
 import com.zcloud.util.czksBiMapFactory.CzksAssemblyBeanFactory;
@@ -32,7 +32,7 @@ public class CzksBiMapServiceImpl implements CzksBiMapService {
     private CzksBiMapMapper czksBiMapper;
 
     @Resource
-    private CzksFireResourcesMapper czksfireResourcesMapper;
+    private CmtFireResourcesMapper czksfireResourcesMapper;
     @Autowired
     private RestTemplate restTemplate;
     @Value("${perLoc.url}")
diff --git a/src/main/java/com/zcloud/service/fireresources/CzksFireResourcesService.java b/src/main/java/com/zcloud/service/fireresources/CmtFireResourcesService.java
similarity index 96%
rename from src/main/java/com/zcloud/service/fireresources/CzksFireResourcesService.java
rename to src/main/java/com/zcloud/service/fireresources/CmtFireResourcesService.java
index cf6501a1..cb626464 100644
--- a/src/main/java/com/zcloud/service/fireresources/CzksFireResourcesService.java
+++ b/src/main/java/com/zcloud/service/fireresources/CmtFireResourcesService.java
@@ -14,7 +14,7 @@ import java.util.List;
  * @Param:
  * @Return:
  */
-public interface CzksFireResourcesService {
+public interface CmtFireResourcesService {
     /**新增
      * @param pd
      */
diff --git a/src/main/java/com/zcloud/service/fireresources/impl/CzksFireResourcesServiceImpl.java b/src/main/java/com/zcloud/service/fireresources/impl/CmtFireResourcesServiceImpl.java
similarity index 94%
rename from src/main/java/com/zcloud/service/fireresources/impl/CzksFireResourcesServiceImpl.java
rename to src/main/java/com/zcloud/service/fireresources/impl/CmtFireResourcesServiceImpl.java
index a2aac37d..682cd153 100644
--- a/src/main/java/com/zcloud/service/fireresources/impl/CzksFireResourcesServiceImpl.java
+++ b/src/main/java/com/zcloud/service/fireresources/impl/CmtFireResourcesServiceImpl.java
@@ -2,9 +2,9 @@ package com.zcloud.service.fireresources.impl;
 
 import com.zcloud.entity.Page;
 import com.zcloud.entity.PageData;
-import com.zcloud.mapper.dsno2.fireresources.CzksFireResourcesMapper;
+import com.zcloud.mapper.dsno2.fireresources.CmtFireResourcesMapper;
 import com.zcloud.service.bus.ImgFilesService;
-import com.zcloud.service.fireresources.CzksFireResourcesService;
+import com.zcloud.service.fireresources.CmtFireResourcesService;
 import com.zcloud.util.Tools;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -15,9 +15,9 @@ import java.util.LinkedList;
 import java.util.List;
 
 @Service
-public class CzksFireResourcesServiceImpl implements CzksFireResourcesService {
+public class CmtFireResourcesServiceImpl implements CmtFireResourcesService {
     @Resource
-    public CzksFireResourcesMapper czksfireResourcesMapper;
+    public CmtFireResourcesMapper czksfireResourcesMapper;
     @Resource
     private ImgFilesService imgFilesService;
 
diff --git a/src/main/java/com/zcloud/service/map/AbsFireSourcesHandel.java b/src/main/java/com/zcloud/service/map/AbsFireSourcesHandel.java
new file mode 100644
index 00000000..07d77d97
--- /dev/null
+++ b/src/main/java/com/zcloud/service/map/AbsFireSourcesHandel.java
@@ -0,0 +1,35 @@
+package com.zcloud.service.map;
+
+import com.zcloud.entity.PageData;
+import com.zcloud.mapper.dsno2.map.FireResourcesMapper;
+import com.zcloud.service.fireresources.CmtFireResourcesService;
+import org.springframework.beans.factory.InitializingBean;
+
+import javax.annotation.Resource;
+import java.util.LinkedList;
+
+/**
+ * 说明:消防资源添加数据抽象类
+ * @author dearLin
+ */
+public abstract class AbsFireSourcesHandel implements InitializingBean {
+
+
+    @Resource
+    public FireResourcesMapper fireResourcesMapper;
+    @Resource
+    public CmtFireResourcesService fireResourcesService;
+
+
+    // 组装数据
+    /**
+     * @Description: 组装数据 方法
+     * @Author: dearLin
+     * @Date: 2023/9/20/020 14:42
+     * @Param: [com.zcloud.entity.PageData] [pageData]
+     * @Return: java.util.LinkedList<com.zcloud.entity.PageData>
+     */
+    public LinkedList<PageData> assemblyDataHandel(PageData pageData) throws Exception{
+        throw new UnsupportedOperationException();
+    }
+}
diff --git a/src/main/java/com/zcloud/service/map/AssemblyBeanFactory.java b/src/main/java/com/zcloud/service/map/AssemblyBeanFactory.java
new file mode 100644
index 00000000..918270ad
--- /dev/null
+++ b/src/main/java/com/zcloud/service/map/AssemblyBeanFactory.java
@@ -0,0 +1,42 @@
+package com.zcloud.service.map;
+
+import org.apache.commons.lang.StringUtils;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 说明:TODO
+ * 作者:wangxuan
+ * 官网:www.zcloudchina.com
+ */
+public class AssemblyBeanFactory {
+
+    private static Map<String, AbsFireSourcesHandel> strategyMap = new HashMap<>();
+
+    /**
+     * @Description: 获取组装数据工厂类
+     * xfsy01 消防水源
+     * xfbf01 消防泵房
+     * xfjyd01 防救援队
+     * xfkzs01 消防控制室
+     */
+    public static AbsFireSourcesHandel getInvokeStrategy(String type) {
+        return strategyMap.get(type);
+    }
+
+    /**
+     * @Description: 注册组装数据工厂类
+     * xfsy01 消防水源
+     * xfbf01 消防泵房
+     * xfjyd01 防救援队
+     * xfkzs01 消防控制室
+     */
+    public static void register(String type, AbsFireSourcesHandel handler) {
+        if (StringUtils.isEmpty(type) && handler == null) {
+            return;
+        }
+        strategyMap.put(type, handler);
+    }
+
+}
diff --git a/src/main/java/com/zcloud/service/map/BiMapService.java b/src/main/java/com/zcloud/service/map/BiMapService.java
new file mode 100644
index 00000000..c1566624
--- /dev/null
+++ b/src/main/java/com/zcloud/service/map/BiMapService.java
@@ -0,0 +1,38 @@
+package com.zcloud.service.map;
+
+import com.zcloud.entity.Page;
+import com.zcloud.entity.PageData;
+
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * 说明:监管端Bi页map数据
+ * 作者:wangxuan
+ * 官网:www.zcloudchina.com
+ */
+public interface BiMapService {
+
+    List<PageData> getDoorWayPeopleRecords(Page page);
+
+    List<PageData> getDoorWayCarRecords(Page page);
+
+    PageData getRiskIdentificationCount(PageData pageData);
+
+    public PageData listbymeteorological(PageData pd)throws Exception;
+
+    List<String> getCorpinfoIds(PageData pd);
+
+
+    PageData getPersonPositioningCount(PageData pageData);
+
+    List<PageData> getRiskIndex(PageData pageData);
+
+    Object inAndoutPeoCarToday(PageData pageData);
+
+    LinkedList<PageData> getFireControl(PageData pageData) throws Exception;
+
+    LinkedList<PageData> getFireRescueTeam(PageData pageData);
+
+    PageData getGatesInAndOutNumById(PageData pageData);
+}
diff --git a/src/main/java/com/zcloud/service/map/impl/BiMapServiceImpl.java b/src/main/java/com/zcloud/service/map/impl/BiMapServiceImpl.java
new file mode 100644
index 00000000..b0adbc49
--- /dev/null
+++ b/src/main/java/com/zcloud/service/map/impl/BiMapServiceImpl.java
@@ -0,0 +1,161 @@
+package com.zcloud.service.map.impl;
+
+import com.zcloud.entity.Page;
+import com.zcloud.entity.PageData;
+import com.zcloud.mapper.datasource.bus.CorpInfoMapper;
+import com.zcloud.mapper.datasource.map.BiMapMapper;
+import com.zcloud.mapper.dsno2.keyProjects.VideoManagerMapper;
+import com.zcloud.mapper.dsno2.map.FireResourcesMapper;
+import com.zcloud.service.gatemachine.GateMachineService;
+import com.zcloud.service.map.AbsFireSourcesHandel;
+import com.zcloud.service.map.AssemblyBeanFactory;
+import com.zcloud.service.map.BiMapService;
+import com.zcloud.util.Tools;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * 说明:TODO
+ * 作者:wangxuan
+ * 官网:www.zcloudchina.com
+ */
+@Service
+public class BiMapServiceImpl implements BiMapService {
+
+    @Resource
+    private BiMapMapper biMapMapper;
+
+    @Resource
+    private FireResourcesMapper fireResourcesMapper;
+    @Resource
+    private GateMachineService gateMachineService;
+    @Resource
+    private VideoManagerMapper videoManagerMapper;
+
+
+    @Resource
+    private CorpInfoMapper corpInfoMapper;
+
+
+    /**
+     * @Description: 人记录
+     * @Author: dearLin
+     * @Date: 2023/9/18/018 10:18
+     * @Param: [com.zcloud.entity.Page] [page]
+     * @Return: java.util.List<com.zcloud.entity.PageData>
+     */
+    @Override
+    public List<PageData> getDoorWayPeopleRecords(Page page) {
+        return biMapMapper.getPeopleRecordslistPage(page);
+    }
+
+    /**
+     * @Description: 车记录
+     * @Author: dearLin
+     * @Date: 2023/9/18/018 10:18
+     * @Param: [com.zcloud.entity.Page] [page]
+     * @Return: java.util.List<com.zcloud.entity.PageData>
+     */
+    @Override
+    public List<PageData> getDoorWayCarRecords(Page page) {
+        return biMapMapper.getCarRecordslistPage(page);
+    }
+
+    @Override
+    public PageData getRiskIdentificationCount(PageData pageData) {
+        return biMapMapper.getRiskIdentificationCount(pageData);
+        // bus_riskunit
+        // bus_identificationparts
+    }
+
+
+    public PageData listbymeteorological(PageData pd) throws Exception {
+        return biMapMapper.listbymeteorological(pd);
+    }
+
+    @Override
+    public List<String> getCorpinfoIds(PageData pd) {
+        String area = pd.getString("AREA");
+        if (StringUtils.isNotBlank(area)) {
+            String[] ArrayDATA_IDS = area.split(",");
+            return biMapMapper.getCorpinfoIds(ArrayDATA_IDS);
+        }
+        String gangkou = pd.getString("GANGKOU");
+        if (StringUtils.equals("00003", gangkou)) {
+            String[] ArrayDATA_IDS = new String[]{"1", "2"};
+            return biMapMapper.getCorpinfoIds(ArrayDATA_IDS);
+        }
+        return new ArrayList<>();
+    }
+
+    @Override
+    public PageData getPersonPositioningCount(PageData pageData) {
+        return biMapMapper.getPersonPositioningCount(pageData);
+    }
+
+    @Override
+    public List<PageData> getRiskIndex(PageData pageData) {
+        return biMapMapper.getRiskIndex(pageData);
+    }
+
+    @Override
+    public List<PageData> inAndoutPeoCarToday(PageData pageData) {
+        return biMapMapper.inAndoutPeoCarToday(pageData);
+    }
+
+    /**
+     * @Description: 不一定用
+     * @Author: dearLin
+     * @Date: 2023/9/20/020 16:42
+     * @Param: [com.zcloud.entity.PageData] [pageData]
+     * @Return: java.util.LinkedList<com.zcloud.entity.PageData>
+     */
+    @Override
+    public LinkedList<PageData> getFireControl(PageData pageData) throws Exception {
+//        GANGKOU   00003 秦皇岛岗
+//        AREA   区域
+//        CORPINFO_ID   区域
+
+        String area = pageData.getString("AREA");
+        List<String> corpinfoIds = null;
+        if (StringUtils.isNotBlank(area)) {
+            String[] ArrayDATA_IDS = area.split(",");
+            corpinfoIds = corpInfoMapper.getCorpinfoIds(ArrayDATA_IDS);
+        } else {
+            String gangkou = pageData.getString("GANGKOU");
+            if (StringUtils.equals("00003", gangkou)) {
+                String[] ArrayDATA_IDS = new String[]{"1", "2"};
+                corpinfoIds = corpInfoMapper.getCorpinfoIds(ArrayDATA_IDS);
+            }
+        }
+        if (corpinfoIds != null && corpinfoIds.size() > 0) {
+            if (Tools.isEmpty(pageData.getString("CORPINFO_ID"))) {
+                pageData.put("list", corpinfoIds);
+            }
+        }
+        String fireresourcesType = pageData.getString("TYPE");
+        // 目前没有消防点位
+        AbsFireSourcesHandel invokeStrategy = AssemblyBeanFactory.getInvokeStrategy(fireresourcesType);
+        if (invokeStrategy != null) {
+            return invokeStrategy.assemblyDataHandel(pageData);
+        }
+
+        return new LinkedList<>();
+    }
+
+
+    @Override
+    public LinkedList<PageData> getFireRescueTeam(PageData pageData) {
+        return fireResourcesMapper.getRescueTeamDataList(pageData);
+    }
+
+    @Override
+    public PageData getGatesInAndOutNumById(PageData pageData) {
+        return null;
+    }
+}
diff --git a/src/main/java/com/zcloud/util/SaveAnemometerInfo.java b/src/main/java/com/zcloud/util/SaveAnemometerInfo.java
new file mode 100644
index 00000000..05878fdf
--- /dev/null
+++ b/src/main/java/com/zcloud/util/SaveAnemometerInfo.java
@@ -0,0 +1,68 @@
+package com.zcloud.util;
+
+import com.zcloud.entity.PageData;
+import com.zcloud.service.announcement.AnemometerLocalService;
+import com.zcloud.service.announcement.AnemometerMachineService;
+import com.zcloud.service.announcement.AnemometerService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class SaveAnemometerInfo {
+	@Autowired
+	private AnemometerService anemometerService;
+	@Autowired
+	private AnemometerLocalService anemometerLocalService;
+	@Autowired
+	private AnemometerMachineService anemometerMachineService;
+
+//	@Scheduled(cron ="*/5 * * * * ? ")
+    public void scheduled() throws Exception{
+		//存储车辆进出记录信息
+		saveAnemometerInfo();
+	}
+
+	public void saveAnemometerInfo() throws Exception{
+		PageData pageData = new PageData();
+		//访问对接数据库获取风速仪数据
+		List<PageData> anemometerList = anemometerService.listAll(pageData);
+		//查询本地风速仪
+		List<PageData> anemometerMachineList = anemometerMachineService.listAll(pageData);
+		Map<String, String> anemometerMachineMap = new HashMap<>();
+		//将本地有的风速仪名称存入Map
+		anemometerMachineList.forEach(anemometerMachine -> {
+			anemometerMachineMap.put(anemometerMachine.getString("FID"), "FNAME");
+		});
+		anemometerList.forEach(anemometer -> {
+			anemometer.put("FLID",UuidUtil.get32UUID());
+			String ftime = anemometer.getString("FTIME");
+			SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+			try {
+				Date date = simpleDateFormat.parse(ftime);
+				anemometer.put("FTIME",simpleDateFormat.format(date));
+			} catch (ParseException e) {
+				throw new RuntimeException(e);
+			}
+			//判断获取的风速仪在本地是否存在
+			if (!anemometerMachineMap.containsKey(anemometer.getString("FNAME"))) {
+				//如果不存在,则保存该风速仪
+				anemometer.put("FID",anemometer.getString("FNAME"));
+				try {
+					anemometerMachineService.add(anemometer);
+				} catch (Exception e) {
+					throw new RuntimeException(e);
+				}
+			}
+		});
+		//保存获取的风速数据到本地
+		anemometerLocalService.BatchinsertInfo(anemometerList);
+	}
+}
diff --git a/src/main/java/com/zcloud/util/SaveMachineInfo.java b/src/main/java/com/zcloud/util/SaveMachineInfo.java
new file mode 100644
index 00000000..5cf54cba
--- /dev/null
+++ b/src/main/java/com/zcloud/util/SaveMachineInfo.java
@@ -0,0 +1,236 @@
+package com.zcloud.util;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.zcloud.entity.PageData;
+import com.zcloud.service.gatemachine.GateCarMachineInfoService;
+import com.zcloud.service.gatemachine.GateMachineInfoService;
+import com.zcloud.util.hk.HKUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+@Component
+public class SaveMachineInfo {
+	@Autowired
+	private GateMachineInfoService gateMachineInfoService;
+	@Autowired
+	private GateCarMachineInfoService gateCarMachineInfoService;
+
+	@Scheduled(cron ="*/30 * * * * ? ")
+    public void scheduled() {
+		//存储人员进出记录信息
+		savePersonMachineInfo();
+		//存储车辆进出记录信息
+		saveCarMachineInfo();
+	}
+
+	public void saveCarMachineInfo() {
+		List<PageData> all = gateCarMachineInfoService.findAll();
+		if (all.size() > 0) {
+			DateFormat dft = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
+			String fendDate = dft.format(new Date())+"+08:00";
+			String fstartDate = "";
+			Calendar now = Calendar.getInstance();
+			now.add(Calendar.SECOND, -30);
+			Date before = now.getTime();
+			fstartDate = dft.format(before)+"+08:00";
+			int pageNo = 1;   //第几页
+			int pageSize = 100;   //一页查询多少条
+			Map<String, Object> carDoorComeAndOutInfo = HKUtil.getCarDoorComeAndOutInfo(null, Integer.toString(pageNo), Integer.toString(pageSize), fstartDate, fendDate);
+			JSONObject data = (JSONObject)carDoorComeAndOutInfo.get("data");
+			List<PageData> firstInfoList = getCarInfoList(data);
+			if (firstInfoList.size() > 0) {
+				gateCarMachineInfoService.BatchinsertInfo(firstInfoList);
+			}
+			int total = Integer.parseInt(data.getString("total"));
+			int qvyu = total%pageSize;
+			//判断是否有下一页,如果有继续请求并且插入
+			int totalPage = 0;
+			if (qvyu!=0){
+				totalPage = total/pageSize + 1;
+			}else {
+				totalPage = total/pageSize;
+			}
+
+			if (totalPage>1){
+				for (int i=2;i<=totalPage;i++){
+					pageNo = i;
+					Map<String, Object> nextDoorComeAndOutInfo = HKUtil.getCarDoorComeAndOutInfo(null,Integer.toString(pageNo),Integer.toString(pageSize),fstartDate,fendDate);
+					JSONObject nextData = (JSONObject)nextDoorComeAndOutInfo.get("data");
+					List<PageData> nextInfoList = getCarInfoList(nextData);
+					if (nextInfoList.size() > 0) {
+						gateCarMachineInfoService.BatchinsertInfo(nextInfoList);
+					}
+				}
+			}
+		}else {
+			InitSaveCarDoorComeAndOutInfo();
+		}
+	}
+
+	public void savePersonMachineInfo(){
+		List<PageData> all = gateMachineInfoService.findAll();
+		if (all.size() > 0) {
+			DateFormat dft = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
+			String fendDate = dft.format(new Date())+"+08:00";
+			String fstartDate = "";
+			Calendar now = Calendar.getInstance();
+			now.add(Calendar.SECOND, -30);
+			Date before = now.getTime();
+			fstartDate = dft.format(before)+"+08:00";
+			int pageNo = 1;   //第几页
+			int pageSize = 100;   //一页查询多少条
+			Map<String, Object> doorComeAndOutInfo = HKUtil.getDoorComeAndOutInfo(null,Integer.toString(pageNo),Integer.toString(pageSize),fstartDate,fendDate);
+			JSONObject data = (JSONObject)doorComeAndOutInfo.get("data");
+			List<PageData> infoList = getInfoList(data);
+			if (infoList.size()>0) {
+				gateMachineInfoService.BatchinsertInfo(infoList);
+			}
+			//判断是否有下一页,如果有继续请求并且插入
+			int totalPage = Integer.parseInt(data.getString("totalPage"));
+			if (totalPage>1){
+				for (int i=2;i<=totalPage;i++){
+					pageNo = i;
+					Map<String, Object> nextDoorComeAndOutInfo = HKUtil.getDoorComeAndOutInfo(null,Integer.toString(pageNo),Integer.toString(pageSize),fstartDate,fendDate);
+					JSONObject nextData = (JSONObject)nextDoorComeAndOutInfo.get("data");
+					List<PageData> nextInfoList = getInfoList(nextData);
+					if (nextInfoList.size()>0) {
+						gateMachineInfoService.BatchinsertInfo(nextInfoList);
+					}
+				}
+			}
+		}else {
+			InitDoorComeAndOutInfo();
+		}
+	}
+
+	public void InitSaveCarDoorComeAndOutInfo(){
+		DateFormat dft = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
+		String fendDate = dft.format(new Date())+"+08:00";
+		String fstartDate = "";
+		Calendar now = Calendar.getInstance();
+		now.add(Calendar.DATE, -1);
+		Date before = now.getTime();
+		fstartDate = dft.format(before)+"+08:00";
+		int pageNo = 1;   //第几页
+		int pageSize = 100;   //一页查询多少条
+		Map<String, Object> carDoorComeAndOutInfo = HKUtil.getCarDoorComeAndOutInfo(null, Integer.toString(pageNo), Integer.toString(pageSize), fstartDate, fendDate);
+		JSONObject data = (JSONObject)carDoorComeAndOutInfo.get("data");
+		List<PageData> firstInfoList = getCarInfoList(data);
+		if (firstInfoList.size() > 0) {
+			gateCarMachineInfoService.BatchinsertInfo(firstInfoList);
+		}
+		int total = Integer.parseInt(data.getString("total"));
+		int qvyu = total%pageSize;
+		//判断是否有下一页,如果有继续请求并且插入
+		int totalPage = 0;
+		if (qvyu!=0){
+			totalPage = total/pageSize + 1;
+		}else {
+			totalPage = total/pageSize;
+		}
+
+		if (totalPage>1){
+			for (int i=2;i<=totalPage;i++){
+				pageNo = i;
+				Map<String, Object> nextDoorComeAndOutInfo = HKUtil.getCarDoorComeAndOutInfo(null,Integer.toString(pageNo),Integer.toString(pageSize),fstartDate,fendDate);
+				JSONObject nextData = (JSONObject)nextDoorComeAndOutInfo.get("data");
+				List<PageData> nextInfoList = getCarInfoList(nextData);
+				if (nextInfoList.size() > 0) {
+					gateCarMachineInfoService.BatchinsertInfo(nextInfoList);
+				}
+			}
+		}
+	}
+
+	public void InitDoorComeAndOutInfo(){
+		DateFormat dft = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
+		String fendDate = dft.format(new Date())+"+08:00";
+		String fstartDate = "";
+		Calendar now = Calendar.getInstance();
+		now.add(Calendar.DATE, -1);
+		Date before = now.getTime();
+		fstartDate = dft.format(before)+"+08:00";
+		int pageNo = 1;   //第几页
+		int pageSize = 100;   //一页查询多少条
+		Map<String, Object> doorComeAndOutInfo = HKUtil.getDoorComeAndOutInfo(null,Integer.toString(pageNo),Integer.toString(pageSize),fstartDate,fendDate);
+		JSONObject data = (JSONObject)doorComeAndOutInfo.get("data");
+		List<PageData> firstInfoList = getInfoList(data);
+		if (firstInfoList.size() > 0) {
+			gateMachineInfoService.BatchinsertInfo(firstInfoList);
+		}
+		//判断是否有下一页,如果有继续请求并且插入
+		int totalPage = Integer.parseInt(data.getString("totalPage"));
+		if (totalPage>1){
+			for (int i=2;i<=totalPage;i++){
+				pageNo = i;
+				Map<String, Object> nextDoorComeAndOutInfo = HKUtil.getDoorComeAndOutInfo(null,Integer.toString(pageNo),Integer.toString(pageSize),fstartDate,fendDate);
+				JSONObject nextData = (JSONObject)nextDoorComeAndOutInfo.get("data");
+				List<PageData> nextInfoList = getInfoList(nextData);
+				if (nextInfoList.size() > 0) {
+					gateMachineInfoService.BatchinsertInfo(nextInfoList);
+				}
+			}
+		}
+	}
+	public List<PageData> getInfoList(JSONObject data){
+		JSONArray list = (JSONArray)data.get("list");
+		List<PageData> infoList = new ArrayList<>();
+		list.forEach(JSONObject -> {
+			Map<String,String> infoMap = (Map<String, String>) JSON.parse(JSONObject.toString());
+			PageData infopd = new PageData();
+			infopd.put("MACHINE_INFO_ID",UuidUtil.get32UUID());
+			infopd.put("ISDELETE","0");
+			infopd.putAll(infoMap);
+			SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+			DateFormat dft = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
+			try {
+				String time = infopd.getString("eventTime");
+				String replace = time.replace("+08:00", "");
+				Date date = dft.parse(replace);
+				String eventTime = format.format(date);
+				infopd.put("eventTime",eventTime);
+			} catch (ParseException e) {
+				throw new RuntimeException(e);
+			}
+			infoList.add(infopd);
+		});
+		return infoList;
+	}
+
+	public List<PageData> getCarInfoList(JSONObject data){
+		JSONArray list = (JSONArray)data.get("list");
+		List<PageData> infoList = new ArrayList<>();
+		list.forEach(JSONObject -> {
+			Map<String,String> infoMap = (Map<String, String>) JSON.parse(JSONObject.toString());
+			PageData infopd = new PageData();
+			infopd.put("CAR_MACHINE_INFO_ID",UuidUtil.get32UUID());
+			infopd.put("ISDELETE","0");
+			infopd.putAll(infoMap);
+			SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+			Date currentTime = new Date();
+			String currentTimeSdf = format.format(currentTime);
+			infopd.put("CREATTIME",currentTimeSdf);
+			infopd.put("OPERATTIME",currentTimeSdf);
+			DateFormat dft = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
+			try {
+				String time = infopd.getString("crossTime");
+				String replace = time.replace("+08:00", "");
+				Date date = dft.parse(replace);
+				String eventTime = format.format(date);
+				infopd.put("CROSSTIME",eventTime);
+			} catch (ParseException e) {
+				throw new RuntimeException(e);
+			}
+			infoList.add(infopd);
+		});
+		return infoList;
+	}
+}
diff --git a/src/main/java/com/zcloud/util/czksBiMapFactory/AbsCzksFireSourcesHandel.java b/src/main/java/com/zcloud/util/czksBiMapFactory/AbsCzksFireSourcesHandel.java
index c9b8a278..5a506444 100644
--- a/src/main/java/com/zcloud/util/czksBiMapFactory/AbsCzksFireSourcesHandel.java
+++ b/src/main/java/com/zcloud/util/czksBiMapFactory/AbsCzksFireSourcesHandel.java
@@ -1,8 +1,8 @@
 package com.zcloud.util.czksBiMapFactory;
 
 import com.zcloud.entity.PageData;
-import com.zcloud.mapper.dsno2.fireresources.CzksFireResourcesMapper;
-import com.zcloud.service.fireresources.CzksFireResourcesService;
+import com.zcloud.mapper.dsno2.fireresources.CmtFireResourcesMapper;
+import com.zcloud.service.fireresources.CmtFireResourcesService;
 import org.springframework.beans.factory.InitializingBean;
 
 import javax.annotation.Resource;
@@ -16,9 +16,9 @@ public abstract class AbsCzksFireSourcesHandel implements InitializingBean {
 
 
     @Resource
-    public CzksFireResourcesMapper czksfireResourcesMapper;
+    public CmtFireResourcesMapper czksfireResourcesMapper;
     @Resource
-    public CzksFireResourcesService fireResourcesService;
+    public CmtFireResourcesService fireResourcesService;
 
 
     // 组装数据
diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties
index 605894fb..8722a0aa 100644
--- a/src/main/resources/application-dev.properties
+++ b/src/main/resources/application-dev.properties
@@ -83,7 +83,7 @@ smb.password=Zcloud@zcloud88888
 smb.basePath=/mnt/wwag/file/
 
 #Mq\u914D\u7F6E
-rocketmq.name-server=192.168.0.18:9876
+rocketmq.name-server=192.168.0.247:9876
 rocketmq.producer.group=libmiddle
 rocketmq.producer.send-message-timeout=300000
 rocketmq.producer.compress-message-body-threshold=4096
@@ -110,9 +110,9 @@ perLoc.pwd=Cfd2023@
 
 
 # \u6E2F\u80A1\u4F01\u4E1A\u7AEF-app\u767B\u5F55\u9ED8\u8BA4 \u6587\u4EF6\u670D\u52A1\u5668\u5730\u5740\uFF08\u66F9\u7164\u70AD\u4E0D\u7528\uFF09
-corp.default.pic-path=https://qgqy.qhdsafety.com/file/
+corp.default.pic-path=https://wwag.qhdsafety.com/
 # \u6E2F\u80A1\u4F01\u4E1A\u7AEF-app\u767B\u5F55\u9ED8\u8BA4 \u540E\u53F0\u5730\u5740\u5730\u5740\uFF08\u66F9\u7164\u70AD\u4E0D\u7528\uFF09
-corp.default.back-end-path=https://qgqy.qhdsafety.com/file/
+corp.default.back-end-path=http://192.168.0.247:8091/
 # \u672C\u670D\u52A1\u56FE\u7247\u5730\u5740
 http.file.url=https://wwag.qhdsafety.com/file/
 # \u672C\u670D\u52A1\u56FE\u7247\u5730\u5740
diff --git a/src/main/resources/mybatis/datasource/anemometer/AnemometerLocalMapper.xml b/src/main/resources/mybatis/datasource/anemometer/AnemometerLocalMapper.xml
new file mode 100644
index 00000000..eb213543
--- /dev/null
+++ b/src/main/resources/mybatis/datasource/anemometer/AnemometerLocalMapper.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zcloud.mapper.datasource.anemometer.AnemometerLocalMapper">
+
+	<!--模型表名 -->
+	<sql id="tableName">
+		bus_anemometer_local
+	</sql>
+
+	<!-- 字段 -->
+	<sql id="Field">
+		FLID,
+		FNAME,
+ 		FVALUE,
+ 		FTIME
+	</sql>
+
+	<!-- 字段值 -->
+	<sql id="FieldValue">
+		#{FLID},
+		#{FNAME},
+		#{FVALUE},
+		#{FTIME}
+	</sql>
+
+	<!-- 批量插入字段值 -->
+	<sql id="FieldValueBatch">
+		#{item.FLID},
+		#{item.FNAME},
+		#{item.FVALUE},
+		#{item.FTIME}
+	</sql>
+
+	<!--新增 -->
+	<insert id="add" parameterType="pd">
+		insert into
+		<include refid="tableName"></include>
+		(
+		<include refid="Field"></include>
+		) values (
+		<include refid="FieldValue"></include>
+		)
+	</insert>
+
+	<!-- 批量插入 -->
+	<insert id="BatchinsertInfo" parameterType="pd">
+		insert into <include refid="tableName"></include>
+		(
+		<include refid="Field"></include>
+		)
+		values
+		<foreach item="item" index="index" collection="list" separator=",">
+			(
+			<include refid="FieldValueBatch"></include>
+			)
+		</foreach>
+	</insert>
+
+	<!--编辑 -->
+	<update id="edit" parameterType="pd">
+		update
+		<include refid="tableName"></include>
+		set
+		FNAME =#{FNAME},
+		FVALUE  =#{FVALUE} ,
+		FTIME=#{FTIME}
+		where
+		FLID=#{FLID}
+	</update>
+
+	<!--查询所有 -->
+	<select id="listAll" parameterType="pd" resultType="pd">
+		select
+		<include refid="Field"></include>
+		from
+		<include refid="tableName"></include>
+	</select>
+
+	<!--查询所有 -->
+	<select id="findByName" parameterType="pd" resultType="pd">
+		select
+		<include refid="Field"></include>
+		from
+		<include refid="tableName"></include> f
+		where
+		f.FNAME = #{FNAME}
+	</select>
+</mapper>
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/mybatis/datasource/anemometer/AnemometerMachineMapper.xml b/src/main/resources/mybatis/datasource/anemometer/AnemometerMachineMapper.xml
new file mode 100644
index 00000000..2aa864f1
--- /dev/null
+++ b/src/main/resources/mybatis/datasource/anemometer/AnemometerMachineMapper.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zcloud.mapper.datasource.anemometer.AnemometerMachineMapper">
+
+	<!--模型表名 -->
+	<sql id="tableName">
+		bus_anemometer_machine
+	</sql>
+
+	<!-- 字段 -->
+	<sql id="Field">
+		FID,
+		FNAME,
+		LATITUDE,
+        LONGITUDE
+	</sql>
+
+	<!-- 字段值 -->
+	<sql id="FieldValue">
+		#{FID},
+		#{FNAME},
+		#{LATITUDE},
+		#{LONGITUDE}
+	</sql>
+
+	<!-- 批量插入字段值 -->
+	<sql id="FieldValueBatch">
+		#{item.FID},
+		#{item.FNAME},
+		#{item.LATITUDE},
+		#{item.LONGITUDE}
+	</sql>
+
+	<!--新增 -->
+	<insert id="add" parameterType="pd">
+		insert into
+		<include refid="tableName"></include>
+		(
+		<include refid="Field"></include>
+		) values (
+		<include refid="FieldValue"></include>
+		)
+	</insert>
+
+	<!-- 批量插入 -->
+	<insert id="BatchinsertInfo" parameterType="pd">
+		insert into <include refid="tableName"></include>
+		(
+		<include refid="Field"></include>
+		)
+		values
+		<foreach item="item" index="index" collection="list" separator=",">
+			(
+			<include refid="FieldValueBatch"></include>
+			)
+		</foreach>
+	</insert>
+
+	<!--编辑 -->
+	<update id="edit" parameterType="pd">
+		update
+		<include refid="tableName"></include>
+		set
+		LATITUDE = #{LATITUDE},
+		LONGITUDE = #{LONGITUDE}
+		where
+		FNAME=#{FNAME}
+	</update>
+
+	<!--查询所有 -->
+	<select id="listAll" parameterType="pd" resultType="pd">
+		select
+		<include refid="Field"></include>,FNAME as MAP_POINT_NAME,FNAME as NAME
+		from
+		<include refid="tableName"></include>
+	</select>
+
+	<!--查询所有 -->
+	<select id="findByName" parameterType="pd" resultType="pd">
+		select
+		<include refid="Field"></include>
+		from
+		<include refid="tableName"></include> f
+		where
+		f.FNAME = #{FNAME}
+	</select>
+
+	<select id="getDatalistPage" parameterType="page" resultType="pd">
+		select
+		<include refid="Field"></include>,CONCAT_WS('--', f.LATITUDE,f.LONGITUDE) LONGTITUDEANDLATITUDE
+		from
+		<include refid="tableName"></include> f
+		where 1=1
+	</select>
+
+	<select id="getDetailById" parameterType="pd" resultType="pd">
+		SELECT
+		f.FID,
+		f.FNAME,
+		CONCAT_WS( '--', f.LATITUDE, f.LONGITUDE ) LONGTITUDEANDLATITUDE,
+		f.LATITUDE,
+		f.LONGITUDE,
+		ba.FVALUE,
+		ba.FTIME
+		FROM
+		bus_anemometer_machine f
+		LEFT JOIN (select *,MAX(FTIME) from bus_anemometer_local GROUP BY FNAME) ba on f.FNAME =ba.FNAME
+		WHERE
+		f.FNAME = #{FNAME}
+	</select>
+</mapper>
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/mybatis/datasource/bus/MapEightMapper.xml b/src/main/resources/mybatis/datasource/bus/MapEightMapper.xml
new file mode 100644
index 00000000..c5867d55
--- /dev/null
+++ b/src/main/resources/mybatis/datasource/bus/MapEightMapper.xml
@@ -0,0 +1,3406 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zcloud.mapper.datasource.map.MapEightMapper">
+
+
+	<select id="getCorpinfoIds" parameterType="string" resultType="string" >
+		SELECT CORPINFO_ID FROM bus_corp_info WHERE ISDELETE = '0' AND AREA IN
+		<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
+			#{item}
+		</foreach>
+	</select>
+
+	<select id="getEcharts" resultType="map">
+		SELECT
+		t.click_date clickDate,
+		IFNULL(h.dhzyCount,0) dhzyCount,
+		IFNULL(h.dbzyCount,0) dbzyCount,
+		IFNULL(h.yxgjzyCount,0) yxgjzyCount,
+		IFNULL(h.gczyCount,0) gczyCount,
+		IFNULL(h.dzzyCount,0) dzzyCount,
+		IFNULL(h.lsydCount, 0) lsydCount
+		FROM
+		(
+		SELECT
+		a.click_date
+		FROM
+		(
+		SELECT
+		CURDATE() AS click_date UNION ALL
+		SELECT
+		date_sub( CURDATE(), INTERVAL 1 DAY ) AS click_date UNION ALL
+		SELECT
+		date_sub( CURDATE(), INTERVAL 2 DAY ) AS click_date UNION ALL
+		SELECT
+		date_sub( CURDATE(), INTERVAL 3 DAY ) AS click_date UNION ALL
+		SELECT
+		date_sub( CURDATE(), INTERVAL 4 DAY ) AS click_date
+		) a
+		) t
+		LEFT JOIN (
+		SELECT
+		s.CREATTIME,
+		SUM( s.cutroadCount ) dhzyCount,
+		sum( s.blindboardCount ) dbzyCount,
+		SUM( s.breakgroundCount ) yxgjzyCount,
+		SUM( s.highworkCount ) gczyCount,
+		SUM( s.hoistingCount ) dzzyCount,
+		SUM( s.electricityCount ) lsydCount
+		FROM
+		(
+		SELECT
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) CREATTIME,
+		count( 1 ) cutroadCount,
+		'0' blindboardCount,
+		'0' breakgroundCount,
+		'0' highworkCount,
+		'0' hoistingCount,
+		'0' electricityCount
+		FROM
+		bus_hotworkapplication
+		WHERE
+		DATE_SUB( CURDATE(), INTERVAL 4 DAY )&lt;= STR_TO_DATE( CREATTIME, '%Y-%m-%d' )
+		and ISDELETE = '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="array!= null and array.size>0">
+			AND CORPINFO_ID IN
+			<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		GROUP BY
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) UNION ALL
+		SELECT
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) CREATTIME,
+		'0' AS cutroadCount,
+		count( 1 ) blindboardCount,
+		'0' breakgroundCount,
+		'0' highworkCount,
+		'0' hoistingCount,
+		'0' electricityCount
+		FROM
+		bus_blindboard
+		WHERE
+		DATE_SUB( CURDATE(), INTERVAL 4 DAY )&lt;= STR_TO_DATE( CREATTIME, '%Y-%m-%d' )
+		and ISDELETE = '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="array!= null and array.size>0">
+			AND CORPINFO_ID IN
+			<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		GROUP BY
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) UNION ALL
+		SELECT
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) CREATTIME,
+		'0' cutroadCount,
+		'0' blindboardCount,
+		count( 1 ) breakgroundCount,
+		'0' highworkCount,
+		'0' hoistingCount,
+		'0' electricityCount
+		FROM
+		bus_confinedspace
+		WHERE
+		DATE_SUB( CURDATE(), INTERVAL 4 DAY )&lt;= STR_TO_DATE( CREATTIME, '%Y-%m-%d' )
+		and ISDELETE = '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="array!= null and array.size>0">
+			AND CORPINFO_ID IN
+			<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		GROUP BY
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) UNION ALL
+		SELECT
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) CREATTIME,
+		'0' cutroadCount,
+		'0' blindboardCount,
+		'0' breakgroundCount,
+		count( 1 ) highworkCount,
+		'0' hoistingCount,
+		'0' electricityCount
+		FROM
+		bus_highwork
+		WHERE
+		DATE_SUB( CURDATE(), INTERVAL 4 DAY )&lt;= STR_TO_DATE( CREATTIME, '%Y-%m-%d' )
+		and ISDELETE = '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="array!= null and array.size>0">
+			AND CORPINFO_ID IN
+			<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		GROUP BY
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) UNION ALL
+		SELECT
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) CREATTIME,
+		'0' cutroadCount,
+		'0' blindboardCount,
+		'0' breakgroundCount,
+		'0' highworkCount,
+		count( 1 ) hoistingCount,
+		'0' electricityCount
+		FROM
+		bus_hoisting
+		WHERE
+		DATE_SUB( CURDATE(), INTERVAL 4 DAY )&lt;= STR_TO_DATE( CREATTIME, '%Y-%m-%d' )
+		and ISDELETE = '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="array!= null and array.size>0">
+			AND CORPINFO_ID IN
+			<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		GROUP BY
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) UNION ALL
+		SELECT
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) CREATTIME,
+		'0' cutroadCount,
+		'0' blindboardCount,
+		'0' breakgroundCount,
+		'0' highworkCount,
+		'0' hoistingCount,
+		count( 1 ) electricityCount
+		FROM
+		bus_electricity
+		WHERE
+		DATE_SUB( CURDATE(), INTERVAL 4 DAY )&lt;= STR_TO_DATE( CREATTIME, '%Y-%m-%d' )
+		and ISDELETE = '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		GROUP BY
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' )
+		) s
+		GROUP BY
+		s.CREATTIME
+		) h ON h.CREATTIME = t.click_date
+		order by t.click_date
+	</select>
+
+
+	<!-- 获取高危作业统计数据 -->
+	<!--  申请数[COUNTAPPLY],审批中[COUNTAPPROVE],归档[COUNTARCHIVE]	-->
+	<select id="statisticsHighRiskWorkByState" parameterType="pd" resultType="pd">
+		SELECT
+		SUM(f.COUNTAPPLY) COUNTAPPLY,SUM(f.COUNTAPPROVE) COUNTAPPROVE,SUM(f.COUNTARCHIVE) COUNTARCHIVE
+		FROM (
+		SELECT
+		COUNT( CASE WHEN f.STATE > 0 THEN f.HOTWORKAPPLICATION_ID END ) COUNTAPPLY,
+		COUNT( CASE WHEN f.STATE > 0 AND f.STATE != 11 THEN f.HOTWORKAPPLICATION_ID END ) COUNTAPPROVE,
+		COUNT( CASE WHEN f.STATE = 11 THEN f.HOTWORKAPPLICATION_ID END ) COUNTARCHIVE
+		FROM bus_hotworkapplication f WHERE f.ISDELETE = '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		UNION ALL
+		SELECT
+		(
+		SELECT
+		count( 1 )
+		FROM
+		bus_electricity f
+		WHERE
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		AND (
+		f.APPLY_STATUS != '0'  AND f.APPLY_STATUS NOT IN ('3','4')
+		AND date_format( now(), '%Y-%m-%d %H:%i' ) >= f.WORK_START_DATE
+		AND f.WORK_END_DATE >= date_format( now(), '%Y-%m-%d %H:%i' )
+		OR f.APPLY_STATUS IN ( '3', '4' )
+		)
+		) COUNTAPPLY,
+		COUNT(case when f.APPLY_STATUS != '0' AND f.APPLY_STATUS NOT IN ('3','4') AND date_format(now(),'%Y-%m-%d %H:%i') >= f.WORK_START_DATE AND f.WORK_END_DATE >= date_format(now(),'%Y-%m-%d %H:%i') then f.ELECTRICITY_ID end) COUNTAPPROVE,
+		COUNT(case when f.APPLY_STATUS IN ('3','4') then f.ELECTRICITY_ID end) COUNTARCHIVE
+		FROM bus_electricity f WHERE f.ISDELETE = '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		UNION ALL
+		SELECT
+		(
+		SELECT
+		count( 1 )
+		FROM
+		bus_blindboard f
+		LEFT JOIN
+		bus_blindboardinfo bb ON bb.BLINDBOARD_ID = f.BLINDBOARD_ID
+		WHERE
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		AND (
+		f.APPLY_STATUS != '0' AND f.APPLY_STATUS != '3'
+		AND date_format( now(), '%Y-%m-%d %H:%i' ) >= bb.BOARD_INSTALL_TIME
+		AND bb.BOARD_DISASSEMBLE_TIME >= date_format( now(), '%Y-%m-%d %H:%i' )
+		OR f.APPLY_STATUS = '3'
+		)
+		)  COUNTAPPLY,
+		COUNT(case when f.APPLY_STATUS != '0' AND f.APPLY_STATUS != '3' AND date_format(now(),'%Y-%m-%d %H:%i') >= bb.BOARD_INSTALL_TIME AND bb.BOARD_DISASSEMBLE_TIME >= date_format(now(),'%Y-%m-%d %H:%i') then f.BLINDBOARD_ID end) COUNTAPPROVE,
+		COUNT(case when f.APPLY_STATUS = '3' then f.BLINDBOARD_ID end) COUNTARCHIVE
+		FROM bus_blindboard f
+		LEFT JOIN bus_blindboardinfo bb ON bb.BLINDBOARD_ID = f.BLINDBOARD_ID
+		WHERE f.ISDELETE = '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		UNION ALL
+		SELECT
+		(
+		SELECT
+		count( 1 )
+		FROM
+		bus_highwork f
+		WHERE
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		AND (
+		f.APPLY_STATUS != '0' AND f.APPLY_STATUS NOT IN ('4','55','5','-5')
+		AND date_format( now(), '%Y-%m-%d %H:%i' ) >= f.WORK_START_DATE
+		AND f.WORK_END_DATE >= date_format( now(), '%Y-%m-%d %H:%i' )
+		OR f.APPLY_STATUS IN ( '4', '55', '5', '-5' )
+		)
+		) COUNTAPPLY,
+		COUNT(case when f.APPLY_STATUS != '0' AND f.APPLY_STATUS NOT IN ('4','55','5','-5') AND date_format(now(),'%Y-%m-%d %H:%i') >= f.WORK_START_DATE AND f.WORK_END_DATE >= date_format(now(),'%Y-%m-%d %H:%i') then f.HIGHWORK_ID end) COUNTAPPROVE,
+		COUNT(case when f.APPLY_STATUS in ('4','55','5','-5') then f.HIGHWORK_ID end) COUNTARCHIVE
+		FROM bus_highwork f WHERE f.ISDELETE = '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		UNION ALL
+		SELECT
+		(
+		SELECT
+		count(1)
+		FROM
+		bus_confinedspace f
+		WHERE
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		AND (
+		f.APPLY_STATUS != '0'  and f.APPLY_STATUS != '7'
+		AND date_format( now(), '%Y-%m-%d %H:%i' ) >= f.WORK_START_DATE
+		AND f.WORK_END_DATE >= date_format( now(), '%Y-%m-%d %H:%i' )
+		OR f.APPLY_STATUS = '7'
+		)
+		) COUNTAPPLY,
+		COUNT(case when f.APPLY_STATUS != '0' and f.APPLY_STATUS != '7' AND date_format(now(),'%Y-%m-%d %H:%i') >= f.WORK_START_DATE AND f.WORK_END_DATE >= date_format(now(),'%Y-%m-%d %H:%i') then f.CONFINEDSPACE_ID end) COUNTAPPROVE,
+		COUNT(case when f.APPLY_STATUS = '7' then f.CONFINEDSPACE_ID end) COUNTARCHIVE
+		FROM bus_confinedspace f WHERE f.ISDELETE = '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		UNION ALL
+		SELECT
+		(
+		SELECT
+		count( 1 )
+		FROM
+		bus_hoisting f
+		WHERE
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		AND (
+		f.APPLY_STATUS != '0' and f.APPLY_STATUS not in ('4','55','5','-5')
+		AND date_format( now(), '%Y-%m-%d %H:%i' ) >= f.JOB_START_TIME
+		AND f.JOB_END_TIME >= date_format( now(), '%Y-%m-%d %H:%i' )
+		OR f.APPLY_STATUS IN ( '4', '55', '5', '-5' )
+		)
+		) COUNTAPPLY,
+		COUNT(case when f.APPLY_STATUS != '0' and f.APPLY_STATUS not in ('4','55','5','-5') AND date_format(now(),'%Y-%m-%d %H:%i') >= f.JOB_START_TIME AND f.JOB_END_TIME >= date_format(now(),'%Y-%m-%d %H:%i') then f.HOISTING_ID end) COUNTAPPROVE,
+		COUNT(case when f.APPLY_STATUS IN ('4','55','5','-5') then f.HOISTING_ID end) COUNTARCHIVE
+		FROM bus_hoisting f WHERE f.ISDELETE = '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		) f
+	</select>
+
+
+	<!-- 作业实时情况展示 -->
+	<select id="realTimeHighRiskWorklistPage" parameterType="page" resultType="pd">
+		SELECT * FROM
+		(SELECT
+		f.HOTWORKAPPLICATION_ID ID,
+		f.JOB_NUMBER WORK_NUMBER,
+		'动火作业' WORK_TYPE,
+		case f.STATE
+		when 1 then '动火单位负责人确认'
+		when 2 then '项目发包单位签发'
+		when 3 then '现场管辖单位负责人'
+		when 4 then '动火许可签发单位'
+		when 5 then '安全总监审批'
+		when 6 then '现场负责人'
+		when 7 then '动火前'
+		when 8 then '现场负责人确认'
+		when 9 then '动火后'
+		when 10 then '延时监火'
+		when 11 then '归档'
+		when 21 then '动火操作人'
+		when 22 then '监护人'
+		when 24 then '气体检测人'
+		when -1 then '审核不通过'
+		when -2 then '特级动火不通过'
+		when -3 then '未完成 关闭归档'
+		when -4 then '延期'
+		when -5 then '已打回'
+		when -6 then '超期'
+		when 30 then '动火负责人确认'
+		when 31 then '项目主管初审'
+		when 32 then '项目监管部门负责人'
+		when 33 then '分公司安全总监审批'
+		when 34 then '分公司主要负责人'
+		when 35 then '安全监督部初审'
+		when 36 then '安委会办公室'
+		when 37 then '安全总监审批'
+		END STATUS_NAME,
+		IFNULL(GROUP_CONCAT(REPLACE(u.NAME,'/',',')), IFNULL(qu.`NAME`,'')) USER_NAME,
+		DATE_FORMAT(ifnull(f.OPERATTIME,f.CREATTIME),'%Y-%m-%d %H:%i:%s') OPERATTIME
+		FROM bus_hotworkapplication f
+		LEFT JOIN bus_hotworkapplicationuser hu ON hu.FOREIGN_KEY = f.HOTWORKAPPLICATION_ID AND hu.STATE = f.STATE
+		LEFT JOIN sys_user u ON u.USER_ID = hu.USER_ID
+		LEFT JOIN `qa-czks-regulatory`.sys_user qu on qu.USER_ID = hu.USER_ID
+		WHERE f.ISDELETE = '0' AND f.STATE >= 0 and f.STATE != 11
+		<if test="pd.CORPINFO_ID!= null and pd.CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{pd.CORPINFO_ID}
+		</if>
+		<if test="pd.ids!= null and pd.ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="pd.ids" open="(" separator="," close=")">
+				#{pd.ids[${index}]}
+			</foreach>
+		</if>
+		GROUP BY f.HOTWORKAPPLICATION_ID
+		UNION ALL
+		SELECT f.ID, f.WORK_NUMBER, f.WORK_TYPE, f.STATUS_NAME, u.NAME USER_NAME, f.OPERATTIME
+		FROM
+		(SELECT
+		f.electricity_ID ID,
+		f.CHECK_NO WORK_NUMBER,
+		'临时用电作业' WORK_TYPE,
+		case f.APPLY_STATUS
+		when '0' then '待提交'
+		when '1' then '待确认'
+		when '2' then '待审批'
+		when '3' then '已归档'
+		when '4' then '已验收'
+		when '-1' then '已打回'
+		END STATUS_NAME,
+		case f.APPLY_STATUS
+		when '0' then f.APPLY_USER_ID
+		when '1' then f.ASSURE_USER_ID
+		when '2' then f.APPROVE_USER_ID
+		when '3' then f.ACCEPT_USER_ID
+		when '-1' then f.APPLY_USER_ID
+		END NEXT_USER_ID,
+		ifnull(f.OPERATTIME,f.CREATTIME) OPERATTIME
+		FROM bus_electricity f WHERE f.ISDELETE = '0' AND f.APPLY_STATUS NOT IN ('3','4')
+		AND date_format(now(),'%Y-%m-%d %H:%i') >= f.WORK_START_DATE AND f.WORK_END_DATE >= date_format(now(),'%Y-%m-%d %H:%i')
+		<if test="pd.CORPINFO_ID!= null and pd.CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{pd.CORPINFO_ID}
+		</if>
+		<if test="pd.ids!= null and pd.ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="pd.ids" open="(" separator="," close=")">
+				#{pd.ids[${index}]}
+			</foreach>
+		</if>
+		) f
+		LEFT JOIN sys_user u ON u.USER_ID = f.NEXT_USER_ID
+		UNION ALL
+		SELECT f.ID, f.WORK_NUMBER, f.WORK_TYPE, f.STATUS_NAME, u.NAME USER_NAME, f.OPERATTIME
+		FROM
+		(SELECT
+		f.blindboard_ID ID,
+		f.CHECK_NO WORK_NUMBER,
+		'盲板作业' WORK_TYPE,
+		case f.APPLY_STATUS
+		when '1' then '待确认'
+		when '2' then '待审批'
+		when '3' then '已归档'
+		when '4' then '已打回'
+		END STATUS_NAME,
+		case f.APPLY_STATUS
+		when '1' then bb.OPERATION_UNIT_PERSONCHARGE
+		when '2' then bb.CORPINFO_APPROVER
+		when '3' then f.APPLY_USER_ID
+		when '4' then f.APPLY_USER_ID
+		END NEXT_USER_ID,
+		ifnull(f.OPERATTIME,f.CREATTIME) OPERATTIME
+		FROM bus_blindboard f
+		LEFT JOIN bus_blindboardinfo bb ON bb.BLINDBOARD_ID = f.BLINDBOARD_ID
+		WHERE f.ISDELETE = '0' AND f.APPLY_STATUS NOT IN ('3','4')
+		AND date_format(now(),'%Y-%m-%d %H:%i') >= bb.BOARD_INSTALL_TIME AND bb.BOARD_DISASSEMBLE_TIME >= date_format(now(),'%Y-%m-%d %H:%i')
+		<if test="pd.CORPINFO_ID!= null and pd.CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{pd.CORPINFO_ID}
+		</if>
+		<if test="pd.ids!= null and pd.ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="pd.ids" open="(" separator="," close=")">
+				#{pd.ids[${index}]}
+			</foreach>
+		</if>
+		) f
+		LEFT JOIN sys_user u ON u.USER_ID = f.NEXT_USER_ID
+		UNION ALL
+		SELECT f.ID, f.WORK_NUMBER, f.WORK_TYPE, f.STATUS_NAME, u.NAME USER_NAME, f.OPERATTIME
+		FROM
+		(SELECT
+		f.HIGHWORK_ID ID,
+		f.CHECK_NO WORK_NUMBER,
+		'高处作业' WORK_TYPE,
+		case f.APPLY_STATUS
+		when '0' then '待提交'
+		when '1' then '待确认'
+		when '2' then '待审核'
+		when '3' then '待审批'
+		when '4' then '已归档'
+		when '5' then '已验收'
+		when '-2' then '确认打回'
+		when '-3' then '审核打回'
+		when '-4' then '审批打回'
+		when '55' then '待验收'
+		END STATUS_NAME,
+		case f.APPLY_STATUS
+		when '1' then f.CONSTRUCTION_USER_ID
+		when '2' then f.AUDIT_USER_ID
+		when '3' then f.APPROVE_USER_ID
+		when '-2' then f.CREATOR
+		when '-3' then f.CREATOR
+		when '-4' then f.CREATOR
+		when '55' then f.ACCEPT_USER_ID
+		END NEXT_USER_ID,
+		ifnull(f.OPERATTIME,f.CREATTIME) OPERATTIME
+		FROM bus_highwork f WHERE f.ISDELETE = '0' AND f.APPLY_STATUS NOT IN ('4','5','55','-5')
+		AND date_format(now(),'%Y-%m-%d %H:%i') >= f.WORK_START_DATE AND f.WORK_END_DATE >= date_format(now(),'%Y-%m-%d %H:%i')
+		<if test="pd.CORPINFO_ID!= null and pd.CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{pd.CORPINFO_ID}
+		</if>
+		<if test="pd.ids!= null and pd.ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="pd.ids" open="(" separator="," close=")">
+				#{pd.ids[${index}]}
+			</foreach>
+		</if>
+		) f
+		LEFT JOIN sys_user u ON u.USER_ID = f.NEXT_USER_ID
+		UNION ALL
+		SELECT f.ID, f.WORK_NUMBER, f.WORK_TYPE, f.STATUS_NAME, u.NAME USER_NAME, f.OPERATTIME
+		FROM
+		(SELECT
+		f.confinedspace_ID ID,
+		f.WORK_PERMIT_NUMBER WORK_NUMBER,
+		'有限空间作业' WORK_TYPE,
+		case f.APPLY_STATUS
+		when '1' then '待采样'
+		when '2' then '作业单位责任人确认'
+		when '3' then '作业现场责任人审核'
+		when '4' then '管理单位责任人审批'
+		when '5' then '作业单位责任人验收'
+		when '6' then '管理单位责任人验收'
+		when '-2' then '作业单位责任人确认打回'
+		when '-3' then '作业现场责任人审核打回'
+		when '-4' then '管理单位责任人审批打回'
+		when '-5' then '作业单位责任人验收打回'
+		when '-6' then '管理单位责任人验收打回'
+		END STATUS_NAME,
+		case f.APPLY_STATUS
+		when '1' then f.SAMPLING_ANALYST_ID
+		when '2' then f.WORK_UNIT_MANAGER_ID
+		when '3' then f.JOB_SITE_MANAGER_ID
+		when '4' then f.MANAGEMENT_UNIT_ID
+		when '5' then f.WORK_UNIT_MANAGER_ID
+		when '6' then f.MANAGEMENT_UNIT_ID
+		when '-2' then f.CREATOR
+		when '-3' then f.CREATOR
+		when '-4' then f.CREATOR
+		when '-5' then f.CREATOR
+		when '-6' then f.CREATOR
+		END NEXT_USER_ID,
+		ifnull(f.OPERATTIME,f.CREATTIME) OPERATTIME
+		FROM bus_confinedspace f WHERE f.ISDELETE = '0' AND f.APPLY_STATUS != '7'
+		AND date_format(now(),'%Y-%m-%d %H:%i') >= f.WORK_START_DATE AND f.WORK_END_DATE >= date_format(now(),'%Y-%m-%d %H:%i')
+		<if test="pd.CORPINFO_ID!= null and pd.CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{pd.CORPINFO_ID}
+		</if>
+		<if test="pd.ids!= null and pd.ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="pd.ids" open="(" separator="," close=")">
+				#{pd.ids[${index}]}
+			</foreach>
+		</if>
+		) f
+		LEFT JOIN sys_user u ON u.USER_ID = f.NEXT_USER_ID
+		UNION ALL
+		SELECT f.ID, f.WORK_NUMBER, f.WORK_TYPE, f.STATUS_NAME, u.NAME USER_NAME, f.OPERATTIME
+		FROM
+		(SELECT
+		f.hoisting_ID ID,
+		f.NUMBERING WORK_NUMBER,
+		'吊装作业' WORK_TYPE,
+		case f.APPLY_STATUS
+		when '0' then '待提交'
+		when '1' then '待确认'
+		when '2' then '待审核'
+		when '3' then '待审批'
+		when '4' then '已归档'
+		when '5' then '已验收'
+		when '-2' then '确认打回'
+		when '-3' then '审核打回'
+		when '-4' then '审批打回'
+		when '55' then '待验收'
+		END STATUS_NAME,
+		case f.APPLY_STATUS
+		when '1' then f.CONSTRUCTION_JOB_MANAGER_ID
+		when '2' then f.WORK_UNIT_MANAGER_ID
+		when '3' then f.BRANCH_APPROVER_ID
+		when '-2' then f.CREATOR
+		when '-3' then f.CREATOR
+		when '-4' then f.CREATOR
+		when '55' then f.ACCEPTOR_ID
+		END NEXT_USER_ID,
+		ifnull(f.OPERATTIME,f.CREATTIME) OPERATTIME
+		FROM bus_hoisting f
+		WHERE f.ISDELETE = '0'  AND f.APPLY_STATUS NOT IN ('4','5','55','-5')
+		AND date_format(now(),'%Y-%m-%d %H:%i') >= f.JOB_START_TIME AND f.JOB_END_TIME >= date_format(now(),'%Y-%m-%d %H:%i')
+		<if test="pd.CORPINFO_ID!= null and pd.CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{pd.CORPINFO_ID}
+		</if>
+		<if test="pd.ids!= null and pd.ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="pd.ids" open="(" separator="," close=")">
+				#{pd.ids[${index}]}
+			</foreach>
+		</if>
+		) f
+		LEFT JOIN sys_user u ON u.USER_ID = f.NEXT_USER_ID
+		) f
+		ORDER BY f.OPERATTIME DESC
+	</select>
+
+
+	<!--动火-->
+	<select id="getHOTWORKHighRiskWorkLocation" parameterType="pd" resultType="pd">
+		SELECT
+		'HOTWORK' TYPE,
+		f.HOTWORKAPPLICATION_ID id,
+		CONCAT_WS("", '动火作业 编号:', f.JOB_NUMBER) NAME,
+		f.WORK_LONGITUDE LONGITUDE,
+		f.WORK_LATITUDE LATITUDE,
+		'./bi/images/map/hotwork.png' IMAGE_FILE,
+		f.CORPINFO_ID,
+		f.JOB_NUMBER as MAP_POINT_NAME
+		FROM bus_hotworkapplication f
+		WHERE f.ISDELETE = '0' AND f.WORK_LONGITUDE IS NOT NULL AND f.WORK_LATITUDE IS NOT NULL
+		AND f.STATE >= 0 and f.STATE != 11
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+	</select>
+
+	<!--临时用电-->
+	<select id="getELECTRICITYHighRiskWorkLocation" parameterType="pd" resultType="pd">
+		SELECT
+		'ELECTRICITY' TYPE,
+		f.ELECTRICITY_ID id,
+		CONCAT_WS("", '临时用电作业 编号:', f.CHECK_NO) NAME,
+		f.WORK_LONGITUDE LONGITUDE,
+		f.WORK_LATITUDE LATITUDE,
+		'./bi/images/map/electricity.png' IMAGE_FILE,
+		f.CORPINFO_ID,
+		f.CHECK_NO as MAP_POINT_NAME
+		FROM bus_electricity f WHERE f.ISDELETE = '0' AND f.WORK_LONGITUDE IS NOT NULL AND f.WORK_LATITUDE IS NOT NULL
+		AND f.APPLY_STATUS NOT IN ('3','4')
+		AND date_format(now(),'%Y-%m-%d %H:%i') >= f.WORK_START_DATE AND f.WORK_END_DATE >= date_format(now(),'%Y-%m-%d %H:%i')
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+	</select>
+
+	<!--盲板作业-->
+	<select id="getBLINDBOARDHighRiskWorkLocation" parameterType="pd" resultType="pd">
+		SELECT
+		'BLINDBOARD' TYPE,
+		f.BLINDBOARD_ID id,
+		CONCAT_WS("", '盲板作业 编号:', f.CHECK_NO) NAME,
+		bb.LONGITUDE LONGITUDE,
+		bb.LATITUDE LATITUDE,
+		'./bi/images/map/blindboard.png' IMAGE_FILE,
+		f.CORPINFO_ID,
+		f.CHECK_NO as MAP_POINT_NAME
+		FROM bus_blindboard f
+		left join bus_blindboardinfo bb on bb.BLINDBOARD_ID = f.BLINDBOARD_ID
+		WHERE f.ISDELETE = '0' AND bb.LONGITUDE IS NOT NULL AND bb.LATITUDE IS NOT NULL
+		AND f.APPLY_STATUS NOT IN ('3','4')
+		AND date_format(now(),'%Y-%m-%d %H:%i') >= bb.BOARD_INSTALL_TIME AND bb.BOARD_DISASSEMBLE_TIME >= date_format(now(),'%Y-%m-%d %H:%i')
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+	</select>
+
+	<!--高处作业-->
+	<select id="getHIGHWORKHighRiskWorkLocation" parameterType="pd" resultType="pd">
+		SELECT
+		'HIGHWORK' TYPE,
+		f.HIGHWORK_ID id,
+		CONCAT_WS("", '高处作业 编号:', f.CHECK_NO) NAME,
+		f.WORK_LONGITUDE LONGITUDE,
+		f.WORK_LATITUDE LATITUDE,
+		'./bi/images/map/highwork.png' IMAGE_FILE,
+		f.CORPINFO_ID,
+		f.CHECK_NO as MAP_POINT_NAME
+		FROM bus_highwork f WHERE f.ISDELETE = '0' AND f.WORK_LONGITUDE IS NOT NULL AND f.WORK_LATITUDE IS NOT NULL
+		AND f.APPLY_STATUS NOT IN ('4','5','55','-5')
+		AND date_format(now(),'%Y-%m-%d %H:%i') >= f.WORK_START_DATE AND f.WORK_END_DATE >= date_format(now(),'%Y-%m-%d %H:%i')
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+	</select>
+
+	<!--有限空间作业-->
+	<select id="getCONFINEDSPACEHighRiskWorkLocation" parameterType="pd" resultType="pd">
+		SELECT
+		'CONFINEDSPACE' TYPE,
+		f.CONFINEDSPACE_ID id,
+		CONCAT_WS("", '有限空间作业 编号:', f.WORK_PERMIT_NUMBER) NAME,
+		f.WORK_LONGITUDE LONGITUDE,
+		f.WORK_LATITUDE LATITUDE,
+		'./bi/images/map/confinedspace.png' IMAGE_FILE,
+		f.CORPINFO_ID,
+		f.WORK_PERMIT_NUMBER as MAP_POINT_NAME
+		FROM bus_confinedspace f WHERE f.ISDELETE = '0' AND f.WORK_LONGITUDE IS NOT NULL AND f.WORK_LATITUDE IS NOT NULL
+		AND f.APPLY_STATUS != '7'
+		AND date_format(now(),'%Y-%m-%d %H:%i') >= f.WORK_START_DATE AND f.WORK_END_DATE >= date_format(now(),'%Y-%m-%d %H:%i')
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+	</select>
+
+	<!--吊装作业-->
+	<select id="getHOISTINGHighRiskWorkLocation" parameterType="pd" resultType="pd">
+		SELECT
+		'HOISTING' TYPE,
+		f.HOISTING_ID id,
+		CONCAT_WS("", '吊装作业 编号:', f.NUMBERING) NAME,
+		f.WORK_LONGITUDE LONGITUDE,
+		f.WORK_LATITUDE LATITUDE,
+		'./bi/images/map/hoisting.png' IMAGE_FILE,
+		f.CORPINFO_ID,
+		f.NUMBERING as MAP_POINT_NAME
+		FROM bus_hoisting f WHERE f.ISDELETE = '0' AND f.WORK_LONGITUDE IS NOT NULL AND f.WORK_LATITUDE IS NOT NULL
+		AND f.APPLY_STATUS NOT IN ('4','5','55','-5')
+		AND date_format(now(),'%Y-%m-%d %H:%i') >= f.JOB_START_TIME AND f.JOB_END_TIME >= date_format(now(),'%Y-%m-%d %H:%i')
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+	</select>
+
+
+	<!--动火-->
+	<select id="findByIdHOTWORK" parameterType="pd" resultType="pd">
+		select
+			f.APPLY_USER_ID,
+			f.JOB_NUMBER,
+			f.APPLICATION_DATE,
+			f.JOB_TYPE_INDEX,
+			f.HOT_WORK_POSITION,
+			f.HOT_WORK_LEVEL_INDEX,
+			f.HOT_WORK_METHOD_ID,
+			f.JOB_CONTENT,
+			f.HOT_WORK_TIME_START,
+			f.HOT_WORK_TIME_END,
+			f.CREATOR,
+			f.CREATTIME,
+			f.OPERATOR,
+			f.OPERATTIME,
+			f.STATE,
+			f.ISDELETE,
+			f.WORK_LONGITUDE,
+			f.WORK_LATITUDE,
+			f.CORPINFO_ID,
+			f.IS_SAFETY_DIRECTOR,
+			f.IS_GAS_TESTING,
+			f.SPARE,
+			f.HOTWORKAPPLICATION_ID,
+			u.NAME CREATORNAME,
+			d.NAME DEPARTMENTNAME,
+			p.name as HOT_WORK_METHOD_NAME
+		from
+			BUS_HOTWORKAPPLICATION f
+				left join sys_user u on f.CREATOR = u.USER_ID
+				left join oa_department d on d.DEPARTMENT_ID = u.DEPARTMENT_ID
+				left join sys_dictionaries p on f.HOT_WORK_METHOD_ID = p.DICTIONARIES_ID
+		where
+			f.HOTWORKAPPLICATION_ID = #{HOTWORKAPPLICATION_ID}
+	</select>
+
+	<!-- 列表(全部) -->
+	<select id="listAlldelayed" parameterType="pd" resultType="pd">
+		select
+			f.HOTWORKAPPLICATION_ID,
+			f.USER_ID,
+			f.CREATOR,
+			f.CREATTIME,
+			f.FILEPATH,
+			f.ISDELETE,
+			f.TIME,
+			f.HOTWORKAPPLICATIONDELAYED_ID
+				,u.NAME userName
+		from
+			BUS_HOTWORKAPPLICATIONDELAYED f
+				left join SYS_USER u on u.USER_ID = f.USER_ID
+		where  f.HOTWORKAPPLICATION_ID = #{HOTWORKAPPLICATION_ID}
+		ORDER BY f.CREATTIME desc
+	</select>
+
+	<select id="listAllcuoshiHOTWORK" parameterType="pd" resultType="pd">
+		select
+			f.HOTWORKAPPLICATION_ID,
+			f.CONTENT,
+			f.CORPINFO_ID,
+			f.CREATE_USER_ID,
+			f.CREATE_DEPARTMENT_ID,
+			f.ISDELETE,
+			f.OPERATOR,
+			f.OPERATTIME,
+			f.CREATTIME,
+			f.CREATOR,
+			f.HOTWORKSAFETYMETHODRECORD_ID
+		from
+			BUS_HOTWORKSAFETYMETHODRECORD f
+		where f.ISDELETE = '0'
+		  AND f.HOTWORKAPPLICATION_ID = #{HOTWORKAPPLICATION_ID}
+		ORDER BY f.OPERATTIME
+	</select>
+
+	<!-- 动火措施列表 -->
+	<select id="listAllMeasuresHOTWORK" parameterType="pd" resultType="pd">
+		select
+		f.*
+		<if test="APPLY_STATUS != '1' and APPLY_STATUS != 1">
+			,eo.STATUS
+		</if>
+		from
+		BUS_HOISTING_MEASURES f
+		<if test="APPLY_STATUS != '1' and APPLY_STATUS != 1">
+			left join BUS_HOISTINGTOMEASURES eo on eo.BUS_HOISTING_MEASURES_ID = f.BUS_HOISTING_MEASURES_ID
+		</if>
+		where f.ISDELETE = '0'
+		<if test="APPLY_STATUS != '1' and APPLY_STATUS != 1">
+			and eo.HOISTING_ID = #{HOISTING_ID}
+		</if>
+		GROUP BY f.BUS_HOISTING_MEASURES_ID
+		ORDER BY f.ORDER ASC
+	</select>
+
+	<!-- 列表(全部) -->
+	<select id="listAll" parameterType="pd" resultType="pd">
+		select
+		f.HOTWORKAPPLICATION_ID,
+		f.USER_ID,
+		f.CREATOR,
+		f.CREATTIME,
+		f.FILEPATH,
+		f.ISDELETE,
+		f.TIME,
+		f.HOTWORKAPPLICATIONDELAYED_ID
+		,u.NAME userName
+		from
+		BUS_HOTWORKAPPLICATIONDELAYED f
+		left join SYS_USER u on u.USER_ID = f.USER_ID
+		where 1=1
+		<if test="HOTWORKAPPLICATION_ID != null and HOTWORKAPPLICATION_ID != ''"><!-- 关键词检索 -->
+			and( f.HOTWORKAPPLICATION_ID = #{HOTWORKAPPLICATION_ID})
+		</if>
+		ORDER BY f.CREATTIME desc
+	</select>
+
+	<select id="getList" parameterType="pd" resultType="pd">
+		SELECT
+			f.*
+			 ,dept.NAME as deptName
+			 ,u.NAME as userName
+			 ,su.USERNAME as userName2
+			 , u.USERNAME as userPhone
+			 ,dept.DEPARTMENT_ID DEPARTMENT_ID
+			 ,su.USER_TYPE USER_TYPE
+			 ,reuser.NAME as REGULATORY_USER_NAME
+			 ,redept.NAME  as REGULATORY_DEPT_NAME
+		from
+			BUS_HOTWORKAPPLICATIONUSER f
+				left join SYS_USER u on u.USER_ID = f.USER_ID
+				left join bus_specialuser su on su.SPECIALUSER_ID = f.USER_ID
+				left join oa_department dept on dept.DEPARTMENT_ID = u.DEPARTMENT_ID
+				left join `qa-czks-regulatory`.SYS_USER reuser on reuser.USER_ID = f.USER_ID and reuser.USERNAME != 'admin'
+		left join `qa-czks-regulatory`.SYS_DEPARTMENT redept on redept.DEPARTMENT_ID = reuser.DEPARTMENT_ID
+		WHERE
+			f.ISDELETE = '0'
+		  and f.FOREIGN_KEY=  #{HOTWORKAPPLICATION_ID}
+	</select>
+
+	<!-- 列表(全部) -->
+	<select id="listAllMeasures" parameterType="pd" resultType="pd">
+		SELECT
+			f.BUS_HOTWORK_MEASURES_ID,
+			f.PROTECTIVE_MEASURES,
+			f.QUESTION1,
+			f.QUESTION2,
+			f.QUESTION3,
+			f.QUESTION4,
+			f.ISDELETE,
+			f.ORDERBY,
+			hwtm.ANSWER1,
+			hwtm.ANSWER2,
+			hwtm.ANSWER3,
+			hwtm.ANSWER4
+
+		FROM
+			BUS_HOTWORK_MEASURES f
+				LEFT JOIN BUS_HOTWORKTOMEASURES hwtm on f.BUS_HOTWORK_MEASURES_ID = hwtm.BUS_HOTWORK_MEASURES_ID and hwtm.HOTWORKAPPLICATION_ID = #{HOTWORKAPPLICATION_ID}
+		WHERE f.ISDELETE = '0'
+		oRDER BY f.ORDERBY
+	</select>
+
+	<!-- 动火查询数据列表 -->
+	<select id="listAllHOTWORK" parameterType="pd" resultType="pd">
+		select
+			f.HOTWORK_ID,
+			f.ANALYZE_TIME,
+			f.ANALYZE_PLACE,
+			f.ANALYZE_RESULT,
+			f.ANALYZE_USER,
+			f.ISDELETE,
+			f.HOTWORKGAS_ID
+		from
+			BUS_HOTWORKGAS f
+		where f.HOTWORK_ID = #{HOTWORK_ID}
+	</select>
+
+	<!--临时用电-->
+	<select id="findByIdELECTRICITY" parameterType="pd" resultType="pd">
+		select
+			IFNULL(GROUP_CONCAT(REPLACE(su.SPECIALUSER_ID,'/',',')),'') as WORK_OPERATOR_ID,
+			IFNULL(GROUP_CONCAT(REPLACE(su.USERNAME,'/',',')),'') as WORK_OPERATOR_NAME,
+			IFNULL(GROUP_CONCAT(REPLACE(su.SPECIAL_NUMBER,'/',',')),'') as WORK_OPERATOR_NUMBER,
+			f.ELECTRICITY_ID,
+			f.CORPINFO_ID,
+			f.ISDELETE,
+			f.CREATTIME,
+			f.CREATOR,
+			f.OPERATTIME,
+			f.OPERATOR,
+			f.CHECK_NO,
+			f.WORK_CONTENT,
+			f.WORK_START_DATE,
+			f.WORK_END_DATE,
+			f.CONFIRM_DEPARTMENT_ID,
+			f.CONFIRM_USER_ID,
+			f.CONFIRM_USER_SIGNER_PATH,
+			f.CONFIRM_USER_SIGNER_TIME,
+			f.APPROVE_DEPARTMENT_ID,
+			f.APPROVE_USER_ID,
+			f.APPROVE_USER_SIGNER_PATH,
+			f.APPROVE_USER_SIGNER_TIME,
+			f.OTHER_PROTECTIVE_MEASURES,
+			f.ACCEPT_DEPARTMENT_ID,
+			f.ACCEPT_USER_ID,
+			f.APPLY_DEPARTMENT_ID,
+			f.APPLY_USER_ID,
+			f.WORK_PLACE,
+			f.ELECTRICITY_UNIT,
+			f.WORK_LONGITUDE,
+			f.WORK_LATITUDE,
+			f.EQUIPMENT_POWER,
+			f.CONFIRM_DEPARTMENT_NAME,
+			f.CONFIRM_USER_NAME,
+			f.WORK_DEPARTMENT_ID,
+			f.WORK_USER_ID,
+			f.WORK_DEPARTMENT_NAME,
+			f.WORK_USER_NAME,
+			f.WORK_USER_SIGNER_PATH,
+			f.WORK_USER_SIGNER_TIME,
+			f.ASSURE_DEPARTMENT_ID,
+			f.ASSURE_USER_ID,
+			f.ASSURE_DEPARTMENT_NAME,
+			f.ASSURE_USER_NAME,
+			f.ASSURE_USER_SIGNER_PATH,
+			f.ASSURE_USER_SIGNER_TIME,
+			f.APPROVE_DEPARTMENT_NAME,
+			f.APPROVE_USER_NAME,
+			f.APPLY_STATUS,
+			f.CHECK_STATUS,
+			f.ACCESS_POINT,
+			f.RISK_ANALYSIS,
+			f.SECURITY_CONFIDANT,
+			f.METERING_BILL,
+			f.ACCEPT_DEPARTMENT_NAME,
+			f.ACCEPT_USER_NAME,
+			f.ACCEPT_TIME,
+			f.APPLY_DEPARTMENT_NAME,
+			f.APPLY_USER_NAME,
+			f.ACCEPT_RESULT_NAME
+		from
+			bus_electricity f
+
+				left join BUS_ELECTRICITY_OPERATOR eo on eo.ELECTRICITY_ID = f.ELECTRICITY_ID and eo.ISDELETE = '0'
+				left join BUS_SPECIALUSER su on su.SPECIALUSER_ID = eo.SPECIALUSER
+
+		where
+			f.ELECTRICITY_ID = #{ELECTRICITY_ID}
+	</select>
+
+	<!-- 临时用电措施列表-->
+	<select id="listAllMeasuresELECTRICITY" parameterType="pd" resultType="pd">
+		select
+		f.*
+		<if test="ELECTRICITY_ID != null and ELECTRICITY_ID != '' and APPLY_STATUS != null and APPLY_STATUS != '' and (APPLY_STATUS != '1' or APPLY_STATUS != 1)">
+			,eo.STATUS
+		</if>
+		from
+		BUS_ELECTRICITY_MEASURES f
+		<if test="ELECTRICITY_ID != null and ELECTRICITY_ID != '' and APPLY_STATUS != null and APPLY_STATUS != '' and (APPLY_STATUS != '1' or APPLY_STATUS != 1)">
+			left join BUS_ELECTRICITYTOMEASURES eo on eo.BUS_ELECTRICITY_MEASURES_ID = f.BUS_ELECTRICITY_MEASURES_ID
+		</if>
+		where f.ISDELETE = '0'
+		<if test="ELECTRICITY_ID != null and ELECTRICITY_ID != '' and APPLY_STATUS != null and APPLY_STATUS != '' and (APPLY_STATUS != '1' or APPLY_STATUS != 1)">
+			and eo.ELECTRICITY_ID = #{ELECTRICITY_ID}
+		</if>
+		ORDER BY f.SORT ASC
+	</select>
+
+	<!--盲板作业-->
+	<select id="findByIdBLINDBOARD" parameterType="pd" resultType="pd">
+		select
+			f.*,
+			i.BOARD_MATERIAL,
+			i.BOARD_SPECIFICATION,
+			i.BOARD_NO,
+			i.BOARD_INSTALL_TIME,
+			i.BOARD_DISASSEMBLE_TIME,
+			i.BOARD_INSTALL_USER,
+			i.BOARD_DISASSEMBLE_USER,
+			i.BOARD_PATH,
+			i.BOARD_HARM,
+			i.BOARD_MEASURES,
+			i.BOARD_SIGNER_PATH,
+			i.BOARD_SIGNER_TIME,
+			i.BLINDBOARDINFO_ID,
+			i.CONFIRM_SIGNER_PATH,
+			i.CONFIRM_SIGNER_TIME,
+			i.CONFIRM_OPINION,
+			i.APPROVE_SIGNER_PATH,
+			i.APPROVE_SIGNER_TIME,
+			i.APPROVE_OPINION,
+			i.BOARD_INSTALL_CUSTODY_USER,
+			i.BOARD_DISASSEMBLE_CUSTODY_USER,
+			ad.NAME as APPLY_DEPARTMENT_NAME,
+			au.NAME as APPLY_USER_NAME,
+
+			cd.NAME as CONSTRUCTION_DEPARTMENT_NAME,
+			cu.NAME as CONSTRUCTION_USER_NAME,
+
+			prd.NAME as PRODUCTION_DEPARTMENT_NAME,
+			pru.NAME as PRODUCTION_USER_NAME,
+
+			sd.NAME as SAFETY_DEPARTMENT_NAME,
+			su.NAME as SAFETY_USER_NAME,
+
+			ld.NAME as LEADER_DEPARTMENT_NAME,
+			lu.NAME as LEADER_USER_NAME,
+
+			acd.NAME as ACCEPT_DEPARTMENT_NAME,
+			acu.NAME as ACCEPT_USER_NAME
+		from
+			bus_blindboard f
+				left join BUS_BLINDBOARDINFO i on i.BLINDBOARD_ID = f.BLINDBOARD_ID
+
+				left join OA_DEPARTMENT ad on ad.DEPARTMENT_ID = f.APPLY_DEPARTMENT_ID
+				left join SYS_USER au on au.USER_ID = f.APPLY_USER_ID
+
+				left join OA_DEPARTMENT cd on cd.DEPARTMENT_ID = f.CONSTRUCTION_DEPARTMENT_ID
+				left join SYS_USER cu on cu.USER_ID = f.CONSTRUCTION_USER_ID
+
+				left join OA_DEPARTMENT prd on prd.DEPARTMENT_ID = f.PRODUCTION_DEPARTMENT_ID
+				left join SYS_USER pru on pru.USER_ID = f.PRODUCTION_USER_ID
+
+				left join OA_DEPARTMENT sd on sd.DEPARTMENT_ID = f.SAFETY_DEPARTMENT_ID
+				left join SYS_USER su on su.USER_ID = f.SAFETY_USER_ID
+
+				left join OA_DEPARTMENT ld on ld.DEPARTMENT_ID = f.LEADER_DEPARTMENT_ID
+				left join SYS_USER lu on lu.USER_ID = f.LEADER_USER_ID
+
+				left join OA_DEPARTMENT acd on acd.DEPARTMENT_ID = f.ACCEPT_DEPARTMENT_ID
+				left join SYS_USER acu on acu.USER_ID = f.ACCEPT_USER_ID
+		where
+			f.BLINDBOARD_ID = #{BLINDBOARD_ID}
+	</select>
+
+	<!--盲板作业根据id获取经纬度-->
+	<select id="findByIdJWD" parameterType="pd" resultType="pd">
+		select
+			f.ISDELETE,
+			f.CREATTIME,
+			f.CREATOR,
+			f.OPERATTIME,
+			f.OPERATOR,
+			f.BOARD_MATERIAL,
+			f.BOARD_SPECIFICATION,
+			f.BOARD_NO,
+			f.BOARD_INSTALL_TIME,
+			f.BOARD_DISASSEMBLE_TIME,
+			f.BOARD_INSTALL_USER,
+			f.BOARD_DISASSEMBLE_USER,
+			f.BOARD_INSTALL_CUSTODY_USER,
+			f.BOARD_DISASSEMBLE_CUSTODY_USER,
+			f.CORPINFO_APPROVER,
+			f.OPERATION_UNIT_PERSONCHARGE,
+			f.BOARD_PATH,
+			f.BOARD_HARM,
+			f.BOARD_MEASURES,
+			f.BOARD_SIGNER_PATH,
+			f.BOARD_SIGNER_TIME,
+			f.BLINDBOARD_ID,
+			f.BLINDBOARDINFO_ID,
+			f.WORK_PLACE,
+			f.LATITUDE,
+			f.LONGITUDE,
+			f.CONFIRM_SIGNER_PATH,
+			f.CONFIRM_SIGNER_TIME,
+			f.CONFIRM_OPINION,
+			f.WORK_UNIT_MANAGER_DEPARTMENT_ID,
+			f.BRANCH_APPROVER_DEPARTMENT_ID
+		from
+			BUS_BLINDBOARDINFO f
+		where
+			f.BLINDBOARDINFO_ID = #{BLINDBOARDINFO_ID}
+	</select>
+
+	<!-- 盲板图片查询(全部) -->
+	<select id="listAllBLINDBOARD" parameterType="pd" resultType="pd">
+		select
+		f.FILEPATH,
+		f.TYPE,
+		f.FOREIGN_KEY,
+		f.IMGFILES_ID
+		from
+		BUS_IMGFILES f
+		where 1=1
+		<if test="TYPE != null and TYPE != ''"><!-- 关键词检索 -->
+			and
+			f.TYPE=#{TYPE}
+		</if>
+		<if test="FOREIGN_KEY != null and FOREIGN_KEY != ''"><!-- 关键词检索 -->
+			and
+			f.FOREIGN_KEY=#{FOREIGN_KEY}
+		</if>
+	</select>
+
+	<!--高处作业-->
+	<select id="findByIdHIGHWORK" parameterType="pd" resultType="pd">
+		select
+			f.CHECK_NO,
+			f.BELONGING_CORP,
+			f.WORK_PLACE,
+			f.WORK_LONGITUDE,
+			f.WORK_LATITUDE,
+			f.WORK_CONTENT,
+			f.WORK_START_DATE,
+			f.WORK_END_DATE,
+			f.WORK_HEIGHT,
+			f.GUARDIAN_DEPARTMENT_ID,
+			f.GUARDIAN_USER_ID,
+			f.APPLY_STATUS,
+			f.CONSTRUCTION_DEPARTMENT_ID,
+			f.CONSTRUCTION_USER_ID,
+			f.CONSTRUCTION_USER_SIGNER_PATH,
+			f.CONSTRUCTION_USER_SIGNER_TIME,
+			f.AUDIT_DEPARTMENT_ID,
+			f.AUDIT_USER_ID,
+			f.AUDIT_USER_SIGNER_PATH,
+			f.AUDIT_USER_SIGNER_TIME,
+			f.APPROVE_DEPARTMENT_ID,
+			f.APPROVE_USER_ID,
+			f.APPROVE_USER_SIGNER_PATH,
+			f.APPROVE_USER_SIGNER_TIME,
+			f.ACCEPT_DEPARTMENT_ID,
+			f.ACCEPT_USER_ID,
+			f.ACCEPT_USER_SIGNER_PATH,
+			f.ACCEPT_USER_SIGNER_TIME,
+			f.CONSTRUCTION_CONTENT,
+			f.AUDIT_CONTENT,
+			f.APPROVE_CONTENT,
+			f.ACCEPT_CONTENT,
+			f.OTHER_PROTECTIVE_MEASURES,
+			f.HAZARD_IDENTIFICATION,
+			f.WORK_CORP,
+			f.APPLY_DEPARTMENT_ID,
+			f.APPLY_USER,
+			f.ISDELETE,
+			f.CREATOR,
+			f.CREATTIME,
+			f.OPERATOR,
+			f.OPERATTIME,
+			f.CORPINFO_ID,
+			f.HIGHWORK_ID,
+			c.NAME as BELONGING_CORP_NAME,
+
+			gd.NAME as GUARDIAN_DEPARTMENT_NAME,
+			gu.NAME as GUARDIAN_USER_NAME,
+
+			IFNULL(GROUP_CONCAT(REPLACE(su.SPECIALUSER_ID,'/',',')),'') as WORK_OPERATOR_ID,
+			IFNULL(GROUP_CONCAT(REPLACE(su.USERNAME,'/',',')),'') as WORK_OPERATOR_NAME,
+			IFNULL(GROUP_CONCAT(REPLACE(su.SPECIAL_NUMBER,'/',',')),'') as WORK_OPERATOR_NUMBER,
+
+			cd.NAME as CONSTRUCTION_DEPARTMENT_NAME,
+			cu.NAME as CONSTRUCTION_USER_NAME,
+
+			aud.NAME as AUDIT_DEPARTMENT_NAME,
+			auu.NAME as AUDIT_USER_NAME,
+
+			apd.NAME as APPROVE_DEPARTMENT_NAME,
+			apu.NAME as APPROVE_USER_NAME,
+
+			acd.NAME as ACCEPT_DEPARTMENT_NAME,
+			acu.NAME as ACCEPT_USER_NAME
+		from
+			bus_highwork f
+				left join OA_DEPARTMENT c on c.DEPARTMENT_ID = f.BELONGING_CORP
+
+				left join OA_DEPARTMENT gd on gd.DEPARTMENT_ID = f.GUARDIAN_DEPARTMENT_ID
+				left join SYS_USER gu on gu.USER_ID = f.GUARDIAN_USER_ID
+
+				left join BUS_HIGHWORK_OPERATOR ho on ho.HIGHWORK_ID = f.HIGHWORK_ID and ho.ISDELETE = '0'
+				left join BUS_SPECIALUSER su on su.SPECIALUSER_ID = ho.SPECIALUSER
+
+				left join OA_DEPARTMENT cd on cd.DEPARTMENT_ID = f.CONSTRUCTION_DEPARTMENT_ID
+				left join SYS_USER cu on cu.USER_ID = f.CONSTRUCTION_USER_ID
+
+				left join OA_DEPARTMENT aud on aud.DEPARTMENT_ID = f.AUDIT_DEPARTMENT_ID
+				left join SYS_USER auu on auu.USER_ID = f.AUDIT_USER_ID
+
+				left join OA_DEPARTMENT apd on apd.DEPARTMENT_ID = f.APPROVE_DEPARTMENT_ID
+				left join SYS_USER apu on apu.USER_ID = f.APPROVE_USER_ID
+
+				left join OA_DEPARTMENT acd on acd.DEPARTMENT_ID = f.ACCEPT_DEPARTMENT_ID
+				left join SYS_USER acu on acu.USER_ID = f.ACCEPT_USER_ID
+		where
+			f.HIGHWORK_ID = #{HIGHWORK_ID}
+	</select>
+
+	<!-- 高处作业措施查询 -->
+	<select id="listAllMeasuresHIGHWORK" parameterType="pd" resultType="pd">
+		select
+		f.*
+		<if test="APPLY_STATUS != '1' and APPLY_STATUS != 1">
+			,eo.STATUS
+		</if>
+		from
+		BUS_HIGHWORK_MEASURES f
+		<if test="APPLY_STATUS != '1' and APPLY_STATUS != 1">
+			left join BUS_HIGHWORKTOMEASURES eo on eo.HIGHWORK_MEASURES_ID = f.HIGHWORK_MEASURES_ID
+		</if>
+		where f.ISDELETE = '0'
+		<if test="APPLY_STATUS != '1' and APPLY_STATUS != 1">
+			and eo.HIGHWORK_ID = #{HIGHWORK_ID}
+		</if>
+		ORDER BY f.SORT ASC
+	</select>
+
+	<!--有限空间作业-->
+	<select id="findByIdCONFINEDSPACE" parameterType="pd" resultType="pd">
+		select
+			f.CONFINEDSPACE_ID,
+			f.CORPINFO_ID,
+			f.ISDELETE,
+			f.CREATTIME,
+			f.CREATOR,
+			f.OPERATTIME,
+			f.OPERATOR,
+			f.WORK_PERMIT_NUMBER,
+			f.WORK_START_DATE,
+			f.WORK_END_DATE,
+			f.CONFIRM_DEPARTMENT_ID,
+			f.CONFIRM_USER_ID,
+			f.CONFIRM_USER_SIGNER_PATH,
+			f.CONFIRM_USER_SIGNER_TIME,
+			f.COMPLETION_ACCEPTANCE_MANAGEMENT_DEPARTMENT_ID,
+			f.COMPLETION_ACCEPTANCE_MANAGEMENT_ID,
+			f.EMERGENCY_EQUIPMENT_NUMBER,
+			f.EMERGENCY_EQUIPMENT,
+			f.COMPLETION_ACCEPTANCE_MANAGEMENT_TIME,
+			f.COMPLETION_ACCEPTANCE_TIME,
+			f.MANAGEMENT_UNIT_TIME,
+			f.JOB_SITE_MANAGER_TIME,
+			f.APPLY_STATUS,
+			f.COMPLETION_ACCEPTANCE_MANAGEMENT_OPINION_IMG,
+			f.WORK_UNIT_MANAGER_TIME,
+			f.COMPLETION_ACCEPTANCE_MANAGEMENT_OPINION,
+			f.COMPLETION_ACCEPTANCE_IMG,
+			f.COMPLETION_ACCEPTANCE_OPINION,
+			f.MANAGEMENT_UNIT_IMG,
+			f.MANAGEMENT_UNIT_OPINION,
+			f.JOB_SITE_MANAGER_IMG,
+			f.JOB_SITE_MANAGER_OPINION,
+			f.WORK_UNIT_MANAGER_OPINION,
+			f.WORK_UNIT_MANAGER_IMG,
+			f.APPLY_DEPARTMENT_ID,
+			f.APPLY_USER_ID,
+			f.RESTRICTED_SPACE_ID ,
+			f.SAFTETY,
+			f.HARM,
+			f.MAIN_MEDIUM,
+			f.SAMPLING_ANALYST_DEPARTMENT_ID,
+			f.SAMPLING_ANALYST_ID,
+			f.GUARDIAN,
+			f.GUARDIAN_DEPARTMENT_ID,
+			f.GUARDIAN_USER_ID,
+			f.GUARDIAN_USER_SIGNER_PATH,
+			f.GUARDIAN_USER_SIGNER_TIME,
+			f.GUARDIAN_CONTENT,
+			f.MAJOR_RISK_FACTORS ,
+			f.WORKER ,
+			f.CONTENTS_OF_HOMEWORK,
+			f.WORK_LONGITUDE,
+			f.WORK_LATITUDE,
+			f.WORK_UNIT_ID,
+			f.WORK_UNIT_MANAGER_ID,
+			f.WORK_UNIT_MANAGER_DEPARTMENT_ID,
+			f.WORK_LOCATION,
+			f.COMPLETION_ACCEPTANCE_ID,
+			f.COMPLETION_ACCEPTANCE_DEPARTMENT_ID ,
+			f.JOB_SITE_MANAGER_ID ,
+			f.JOB_SITE_MANAGER_DEPARTMENT_ID,
+			f.WORKING_TIME,
+			f.MANAGEMENT_UNIT_DEPARTMENT_ID,
+			f.MANAGEMENT_UNIT_ID,
+			a.NAME as APPLY_DEPARTMENT_NAME,
+			b.NAME as WORK_UNIT_NAME,
+			c.NAME as RESTRICTED_SPACE_NAME,
+			c.NUMBER as RESTRICTED_SPACE_NUMBER,
+			d.NAME as SAMPLING_ANALYST_DEPARTMENT_NAME,
+			e.NAME as SAMPLING_ANALYST_NAME,
+			g.NAME as WORK_UNIT_MANAGER_DEPARTMENT_NAME,
+			h.NAME as WORK_UNIT_MANAGER_NAME,
+			i.NAME as JOB_SITE_MANAGER_DEPARTMENT_NAME,
+			j.NAME as JOB_SITE_MANAGER_NAME,
+			k.NAME as MANAGEMENT_UNIT_DEPARTMENT_NAME,
+			l.NAME as MANAGEMENT_UNIT_NAME,
+			m.NAME as COMPLETION_ACCEPTANCE_DEPARTMENT_NAME,
+			n.NAME as COMPLETION_ACCEPTANCE_NAME,
+			p.NAME as COMPLETION_ACCEPTANCE_MANAGEMENT_DEPARTMENT_NAME,
+			q.NAME as COMPLETION_ACCEPTANCE_MANAGEMENT_NAME
+		from
+			bus_confinedspace f
+				left join OA_DEPARTMENT a on a.DEPARTMENT_ID = f.APPLY_DEPARTMENT_ID
+				left join OA_DEPARTMENT b on b.DEPARTMENT_ID = f.WORK_UNIT_ID
+				left join BUS_LIMITSPACE c on c.LIMITSPACE_ID=f.RESTRICTED_SPACE_ID
+				left join OA_DEPARTMENT d on d.DEPARTMENT_ID = f.SAMPLING_ANALYST_DEPARTMENT_ID
+				left join SYS_USER e on e.USER_ID = f.SAMPLING_ANALYST_ID
+				left join OA_DEPARTMENT g on g.DEPARTMENT_ID = f.WORK_UNIT_MANAGER_DEPARTMENT_ID
+				left join SYS_USER h on h.USER_ID = f.WORK_UNIT_MANAGER_ID
+				left join OA_DEPARTMENT i on i.DEPARTMENT_ID = f.JOB_SITE_MANAGER_DEPARTMENT_ID
+				left join SYS_USER j on j.USER_ID = f.JOB_SITE_MANAGER_ID
+				left join OA_DEPARTMENT k on k.DEPARTMENT_ID = f.MANAGEMENT_UNIT_DEPARTMENT_ID
+				left join SYS_USER l on l.USER_ID = f.MANAGEMENT_UNIT_ID
+				left join OA_DEPARTMENT m on m.DEPARTMENT_ID = f.COMPLETION_ACCEPTANCE_DEPARTMENT_ID
+				left join SYS_USER n on n.USER_ID = f.COMPLETION_ACCEPTANCE_ID
+				left join OA_DEPARTMENT p on p.DEPARTMENT_ID = f.COMPLETION_ACCEPTANCE_MANAGEMENT_DEPARTMENT_ID
+				left join SYS_USER q on  q.USER_ID = f.COMPLETION_ACCEPTANCE_MANAGEMENT_ID
+		where
+			f.CONFINEDSPACE_ID = #{CONFINEDSPACE_ID}
+	</select>
+
+
+	<!-- 有限空间作业措施查询 -->
+	<select id="listAllMeasuresCONFINEDSPACE" parameterType="pd" resultType="pd">
+		select
+		f.*
+		<if test="APPLY_STATUS != '2' and APPLY_STATUS != 2">
+			,eo.STATUS,eo.ANSWER1,eo.ANSWER2,eo.ANSWER3,eo.STATUS
+		</if>
+		from
+		BUS_CONFINEDSPACE_MEASURES f
+		<if test="APPLY_STATUS != '2' and APPLY_STATUS != 2">
+			left join BUS_CONFINEDSPACETOMEASURES eo on eo.BUS_CONFINEDSPACE_MEASURES_ID = f.BUS_CONFINEDSPACE_MEASURES_ID
+		</if>
+		where f.ISDELETE = '0'
+		<if test="APPLY_STATUS != '2' and APPLY_STATUS != 2">
+			and eo.CONFINEDSPACE_ID = #{CONFINEDSPACE_ID}
+		</if>
+	</select>
+
+	<!--有限空间作业-->
+	<select id="listAllCONFINEDSPACE" parameterType="pd" resultType="pd">
+		select
+			f.CONFINEDSPACE_ID,
+			f.ANALYZE_TIME,
+			f.ANALYZE_PLACE,
+			f.ANALYZE_USER,
+			f.HARMFUL_MATERIALS,
+			f.COMBUSTIBLE_GAS,
+			f.OXYGEN_CONTENT,
+			f.ISDELETE,
+			f.CONFINEDSPACEGAS_ID
+		from
+			BUS_CONFINEDSPACEGAS f
+		where f.ISDELETE = '0' and f.CONFINEDSPACE_ID = #{CONFINEDSPACE_ID}
+	</select>
+
+
+	<!--吊装作业-->
+	<select id="findByIdHOISTING" parameterType="pd" resultType="pd">
+		select
+			f.APPLY_STATUS,
+			f.CORPINFO_ID,
+			f.ISDELETE,
+			f.CREATOR,
+			f.CREATTIME,
+			f.OPERATOR,
+			f.OPERATTIME,
+			f.NUMBERING,
+			f.HOISTING_LOCATION,
+			f.WORK_LONGITUDE,
+			f.WORK_LATITUDE,
+			f.HOISTING_EQUIPMENT,
+			f.LIFTING_OPERATION_MANAGER_DEPARTMENT_ID,
+			f.LIFTING_OPERATION_MANAGER_ID,
+			f.SAFETY_GUARDIAN_DEPARTMENT_ID,
+			f.SAFETY_GUARDIAN_ID,
+			f.JOB_START_TIME,
+			f.JOB_END_TIME,
+			f.COMMANDER_ID,
+			f.HOISTING_WORK_CONTENT,
+			f.LIFTING_WEIGHT,
+			f.CONSTRUCTION_JOB_MANAGER_DEPARTMENT_ID,
+			f.CONSTRUCTION_JOB_MANAGER_ID,
+			f.CONSTRUCTION_JOB_MANAGER_OPINION,
+			f.CONSTRUCTION_JOB_MANAGER_SIGNER_PATH,
+			f.CONSTRUCTION_JOB_MANAGER_SIGNER_TIME,
+			f.WORK_UNIT_MANAGER_DEPARTMENT_ID,
+			f.WORK_UNIT_MANAGER_ID,
+			f.WORK_UNIT_MANAGER_OPINION,
+			f.WORK_UNIT_MANAGER_SIGNER_PATH,
+			f.WORK_UNIT_MANAGER_SIGNER_TIME,
+			f.BRANCH_APPROVER_DEPARTMENT_ID,
+			f.BRANCH_APPROVER_ID,
+			f.BRANCH_APPROVER_OPINION,
+			f.BRANCH_APPROVER_SIGNER_PATH,
+			f.BRANCH_APPROVER_SIGNER_TIME,
+			f.ACCEPTANCE_DEPARTMENT_ID,
+			f.ACCEPTOR_ID,
+			f.ACCEPTOR_OPINION,
+			f.ACCEPTOR_SIGNER_PATH,
+			f.ACCEPTOR_SIGNER_TIME,
+			f.OTHER_PROTECTIVE_MEASURES,
+			f.APPLY_DEPARTMENT_ID,
+			f.APPLY_USER_ID,
+			f.HOISTING_ID,
+			ad.NAME as APPLY_DEPARTMENT_NAME,
+			au.NAME as APPLY_USER_NAME,
+
+			ld.NAME as LIFTING_OPERATION_MANAGER_DEPARTMENT_NAME,
+			lu.NAME as LIFTING_OPERATION_MANAGER_NAME,
+
+			sgd.NAME as SAFETY_GUARDIAN_DEPARTMENT_NAME,
+			sgu.NAME as SAFETY_GUARDIAN_NAME,
+
+			IFNULL(GROUP_CONCAT(REPLACE(su.SPECIALUSER_ID,'/',',')),'') as CRANE_DRIVER_ID,
+			IFNULL(GROUP_CONCAT(REPLACE(su.USERNAME,'/',',')),'') as CRANE_DRIVER_NAME,
+			IFNULL(GROUP_CONCAT(REPLACE(su.SPECIAL_NUMBER,'/',',')),'') as CRANE_DRIVER_NUMBER,
+
+			sc.USERNAME as COMMANDER_NAME,
+			sc.SPECIAL_NUMBER as COMMANDER_NUMBER,
+
+			cd.NAME as CONSTRUCTION_JOB_MANAGER_DEPARTMENT_NAME,
+			cu.NAME as CONSTRUCTION_JOB_MANAGER_NAME,
+
+			aud.NAME as WORK_UNIT_MANAGER_DEPARTMENT_NAME,
+			auu.NAME as WORK_UNIT_MANAGER_NAME,
+
+			apd.NAME as BRANCH_APPROVER_DEPARTMENT_NAME,
+			apu.NAME as BRANCH_APPROVER_NAME,
+
+			acpd.NAME as ACCEPTANCE_DEPARTMENT_NAME,
+			acpu.NAME as ACCEPTOR_NAME
+		from
+			bus_hoisting f
+				left join OA_DEPARTMENT ad on ad.DEPARTMENT_ID = f.APPLY_DEPARTMENT_ID
+				left join SYS_USER au on au.USER_ID = f.APPLY_USER_ID
+
+				left join OA_DEPARTMENT ld on ld.DEPARTMENT_ID = f.LIFTING_OPERATION_MANAGER_DEPARTMENT_ID
+				left join SYS_USER lu on lu.USER_ID = f.LIFTING_OPERATION_MANAGER_ID
+
+				left join OA_DEPARTMENT sgd on sgd.DEPARTMENT_ID = f.SAFETY_GUARDIAN_DEPARTMENT_ID
+				left join SYS_USER sgu on sgu.USER_ID = f.SAFETY_GUARDIAN_ID
+
+				left join BUS_HOISTING_OPERATOR ho on ho.HOISTING_ID = f.HOISTING_ID and ho.ISDELETE = '0'
+				left join BUS_SPECIALUSER su on su.SPECIALUSER_ID = ho.SPECIALUSER
+
+				left join BUS_SPECIALUSER sc on sc.SPECIALUSER_ID = f.COMMANDER_ID
+
+				left join OA_DEPARTMENT cd on cd.DEPARTMENT_ID = f.CONSTRUCTION_JOB_MANAGER_DEPARTMENT_ID
+				left join SYS_USER cu on cu.USER_ID = f.CONSTRUCTION_JOB_MANAGER_ID
+
+				left join OA_DEPARTMENT aud on aud.DEPARTMENT_ID = f.WORK_UNIT_MANAGER_DEPARTMENT_ID
+				left join SYS_USER auu on auu.USER_ID = f.WORK_UNIT_MANAGER_ID
+
+				left join OA_DEPARTMENT apd on apd.DEPARTMENT_ID = f.BRANCH_APPROVER_DEPARTMENT_ID
+				left join SYS_USER apu on apu.USER_ID = f.BRANCH_APPROVER_ID
+
+				left join OA_DEPARTMENT acpd on acpd.DEPARTMENT_ID = f.ACCEPTANCE_DEPARTMENT_ID
+				left join SYS_USER acpu on acpu.USER_ID = f.ACCEPTOR_ID
+		where
+			f.HOISTING_ID = #{HOISTING_ID}
+	</select>
+
+
+	<!-- 吊装作业措施查询 -->
+	<select id="listAllMeasuresHOISTING" parameterType="pd" resultType="pd">
+		select
+		f.*
+		<if test="APPLY_STATUS != '1' and APPLY_STATUS != 1">
+			,eo.STATUS
+		</if>
+		from
+		BUS_HOISTING_MEASURES f
+		<if test="APPLY_STATUS != '1' and APPLY_STATUS != 1">
+			left join BUS_HOISTINGTOMEASURES eo on eo.HOISTING_MEASURES_ID = f.HOISTING_MEASURES_ID
+		</if>
+		where f.ISDELETE = '0'
+		<if test="APPLY_STATUS != '1' and APPLY_STATUS != 1">
+			and eo.HOISTING_ID = #{HOISTING_ID}
+		</if>
+		GROUP BY f.HOISTING_MEASURES_ID
+		ORDER BY f.SORT ASC
+	</select>
+
+
+
+	<select id="getEchartsOrder" resultType="map">
+		SELECT
+		t.click_date clickDate,
+		IFNULL(h.dhzyCount,0) dhzyCount,
+		IFNULL(h.dbzyCount,0) dbzyCount,
+		IFNULL(h.yxgjzyCount,0) yxgjzyCount,
+		IFNULL(h.gczyCount,0) gczyCount,
+		IFNULL(h.dzzyCount,0) dzzyCount,
+		IFNULL(h.lsydCount, 0) lsydCount,
+		IFNULL(h.dtzyCount,0) dtzyCount,
+		IFNULL(h.dlzyCount, 0) dlzyCount
+		FROM
+		(
+		SELECT
+		a.click_date
+		FROM
+		(
+		SELECT
+		CURDATE() AS click_date UNION ALL
+		SELECT
+		date_sub( CURDATE(), INTERVAL 1 DAY ) AS click_date UNION ALL
+		SELECT
+		date_sub( CURDATE(), INTERVAL 2 DAY ) AS click_date UNION ALL
+		SELECT
+		date_sub( CURDATE(), INTERVAL 3 DAY ) AS click_date UNION ALL
+		SELECT
+		date_sub( CURDATE(), INTERVAL 4 DAY ) AS click_date
+		) a
+		) t
+		LEFT JOIN (
+		SELECT
+		s.CREATTIME,
+		SUM( s.hotworkapplicationCount ) dhzyCount,
+		sum( s.blindboardCount ) dbzyCount,
+		SUM( s.confinedspaceCount ) yxgjzyCount,
+		SUM( s.highworkCount ) gczyCount,
+		SUM( s.hoistingCount ) dzzyCount,
+		SUM( s.electricityCount ) lsydCount,
+		SUM( s.breakgroundCount ) dtzyCount,
+		SUM( s.cutroadCount ) dlzyCount
+		FROM
+		(
+		SELECT
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) CREATTIME,
+		count( 1 ) hotworkapplicationCount,
+		'0' blindboardCount,
+		'0' confinedspaceCount,
+		'0' highworkCount,
+		'0' hoistingCount,
+		'0' electricityCount,
+		'0' breakgroundCount,
+		'0' cutroadCount
+		FROM
+		bus_hotworkapplication
+		WHERE
+		DATE_SUB( CURDATE(), INTERVAL 4 DAY )&lt;= STR_TO_DATE( CREATTIME, '%Y-%m-%d' )
+		and ISDELETE = '0'
+		and STATE != 0
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="array!= null and array.size>0">
+			AND CORPINFO_ID IN
+			<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		GROUP BY
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) UNION ALL
+		SELECT
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) CREATTIME,
+		'0' AS hotworkapplicationCount,
+		count( 1 ) blindboardCount,
+		'0' confinedspaceCount,
+		'0' highworkCount,
+		'0' hoistingCount,
+		'0' electricityCount,
+		'0' breakgroundCount,
+		'0' cutroadCount
+		FROM
+		gf_blindboard
+		WHERE
+		DATE_SUB( CURDATE(), INTERVAL 4 DAY )&lt;= STR_TO_DATE( CREATTIME, '%Y-%m-%d' )
+		and ISDELETE = '0'
+		and APPLY_STATUS != '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="array!= null and array.size>0">
+			AND CORPINFO_ID IN
+			<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		GROUP BY
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) UNION ALL
+
+
+		SELECT
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) CREATTIME,
+		'0' cutroadCount,
+		'0' blindboardCount,
+		count( 1 ) breakgroundCount,
+		'0' highworkCount,
+		'0' hoistingCount,
+		'0' electricityCount,
+		'0' breakgroundCount,
+		'0' cutroadCount
+		FROM
+		bus_confinedspace
+		WHERE
+		DATE_SUB( CURDATE(), INTERVAL 4 DAY )&lt;= STR_TO_DATE( CREATTIME, '%Y-%m-%d' )
+		and ISDELETE = '0'
+		and APPLY_STATUS != '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="array!= null and array.size>0">
+			AND CORPINFO_ID IN
+			<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		GROUP BY
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) UNION ALL
+
+
+		SELECT
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) CREATTIME,
+		'0' hotworkapplicationCount,
+		'0' blindboardCount,
+		'0' confinedspaceCount,
+		count( 1 ) highworkCount,
+		'0' hoistingCount,
+		'0' electricityCount,
+		'0' breakgroundCount,
+		'0' cutroadCount
+		FROM
+		gf_highwork
+		WHERE
+		DATE_SUB( CURDATE(), INTERVAL 4 DAY )&lt;= STR_TO_DATE( CREATTIME, '%Y-%m-%d' )
+		and ISDELETE = '0'
+		and APPLY_STATUS != '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="array!= null and array.size>0">
+			AND CORPINFO_ID IN
+			<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		GROUP BY
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) UNION ALL
+
+
+		SELECT
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) CREATTIME,
+		'0' hotworkapplicationCount,
+		'0' blindboardCount,
+		'0' confinedspaceCount,
+		'0' highworkCount,
+		count( 1 ) hoistingCount,
+		'0' electricityCount,
+		'0' breakgroundCount,
+		'0' cutroadCount
+		FROM
+		gf_hoisting
+		WHERE
+		DATE_SUB( CURDATE(), INTERVAL 4 DAY )&lt;= STR_TO_DATE( CREATTIME, '%Y-%m-%d' )
+		and ISDELETE = '0'
+		and APPLY_STATUS != '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="array!= null and array.size>0">
+			AND CORPINFO_ID IN
+			<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		GROUP BY
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) UNION ALL
+
+
+		SELECT
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) CREATTIME,
+		'0' hotworkapplicationCount,
+		'0' blindboardCount,
+		'0' confinedspaceCount,
+		'0' highworkCount,
+		'0' hoistingCount,
+		count( 1 ) electricityCount,
+		'0' breakgroundCount,
+		'0' cutroadCount
+		FROM
+		gf_electricity
+		WHERE
+		DATE_SUB( CURDATE(), INTERVAL 4 DAY )&lt;= STR_TO_DATE( CREATTIME, '%Y-%m-%d' )
+		and ISDELETE = '0'
+		and APPLY_STATUS != '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="array!= null and array.size>0">
+			AND CORPINFO_ID IN
+			<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		GROUP BY
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' )UNION ALL
+
+
+		SELECT
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) CREATTIME,
+		'0' hotworkapplicationCount,
+		'0' blindboardCount,
+		'0' confinedspaceCount,
+		'0' highworkCount,
+		'0' hoistingCount,
+		'0' electricityCount,
+		count(1) breakgroundCount,
+		'0' cutroadCount
+		FROM
+		gf_breakground
+		WHERE
+		DATE_SUB( CURDATE(), INTERVAL 4 DAY )&lt;= STR_TO_DATE( CREATTIME, '%Y-%m-%d' )
+		and ISDELETE = '0'
+		and APPLY_STATUS != '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="array!= null and array.size>0">
+			AND CORPINFO_ID IN
+			<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		GROUP BY
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) UNION ALL
+
+
+		SELECT
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) CREATTIME,
+		'0' hotworkapplicationCount,
+		'0' blindboardCount,
+		'0' confinedspaceCount,
+		'0' highworkCount,
+		'0' hoistingCount,
+		'0' electricityCount,
+		'0' breakgroundCount,
+		count(1) cutroadCount
+		FROM
+		gf_cutroad
+		WHERE
+		DATE_SUB( CURDATE(), INTERVAL 4 DAY )&lt;= STR_TO_DATE( CREATTIME, '%Y-%m-%d' )
+		and ISDELETE = '0'
+		and APPLY_STATUS != '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="array!= null and array.size>0">
+			AND CORPINFO_ID IN
+			<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		GROUP BY
+		STR_TO_DATE( CREATTIME, '%Y-%m-%d' )
+		) s
+		GROUP BY
+		s.CREATTIME
+		) h ON h.CREATTIME = t.click_date
+		order by t.click_date
+	</select>
+
+
+	<!--  申请数[COUNTAPPLY],审批中[COUNTAPPROVE],归档[COUNTARCHIVE]	-->
+	<select id="statisticsHighRiskWorkByStateOrder"  parameterType="pd" resultType="pd">
+		SELECT
+		SUM(f.COUNTAPPLY) COUNTAPPLY,SUM(f.COUNTAPPROVE) COUNTAPPROVE,SUM(f.COUNTARCHIVE) COUNTARCHIVE
+		FROM (
+		SELECT
+		COUNT( CASE WHEN f.STATE > 0 THEN f.HOTWORKAPPLICATION_ID END ) COUNTAPPLY,
+		COUNT( CASE WHEN f.STATE >0 and  f.STATE != 11 THEN f.HOTWORKAPPLICATION_ID END ) COUNTAPPROVE,
+		COUNT( CASE WHEN f.STATE = 11 THEN f.HOTWORKAPPLICATION_ID END ) COUNTARCHIVE
+		FROM bus_hotworkapplication f WHERE f.ISDELETE = '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		UNION ALL
+		SELECT
+		COUNT(case when f.APPLY_STATUS != '0' then f.ELECTRICITY_ID end) COUNTAPPLY,
+		COUNT(case when f.APPLY_STATUS not in  ('0','5')  then f.ELECTRICITY_ID end) COUNTAPPROVE,
+		COUNT(case when f.APPLY_STATUS = '5' then f.ELECTRICITY_ID end) COUNTARCHIVE
+		FROM gf_electricity f WHERE f.ISDELETE = '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		UNION ALL
+		SELECT
+		COUNT(case when f.APPLY_STATUS != '0' then f.BLINDBOARD_ID end) COUNTAPPLY,
+		COUNT(case when f.APPLY_STATUS not in ('0','6') then f.BLINDBOARD_ID end) COUNTAPPROVE,
+		COUNT(case when f.APPLY_STATUS = '6' then f.BLINDBOARD_ID end) COUNTARCHIVE
+		FROM gf_blindboard f
+		WHERE f.ISDELETE = '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		UNION ALL
+		SELECT
+		COUNT(case when f.APPLY_STATUS != '0' then f.HIGHWORK_ID end) COUNTAPPLY,
+		COUNT(case when f.APPLY_STATUS not in ('0','6') then f.HIGHWORK_ID end) COUNTAPPROVE,
+		COUNT(case when f.APPLY_STATUS = '6' then f.HIGHWORK_ID end) COUNTARCHIVE
+		FROM gf_highwork f WHERE f.ISDELETE = '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		UNION ALL
+		SELECT
+		(SELECT
+		count(1)
+		FROM
+		bus_confinedspace f
+		WHERE
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		AND (
+		f.APPLY_STATUS != '0'
+		AND date_format( now(), '%Y-%m-%d %H:%i' ) >= f.WORK_START_DATE
+		AND f.WORK_END_DATE >= date_format( now(), '%Y-%m-%d %H:%i' )
+		OR f.APPLY_STATUS = '7'
+		))  COUNTAPPLY,
+		COUNT(case when f.APPLY_STATUS not in ('0','7')  AND date_format(now(),'%Y-%m-%d %H:%i') >= f.WORK_START_DATE AND f.WORK_END_DATE >= date_format(now(),'%Y-%m-%d %H:%i') then f.CONFINEDSPACE_ID end) COUNTAPPROVE,
+		COUNT(case when f.APPLY_STATUS = '7' then f.CONFINEDSPACE_ID end) COUNTARCHIVE
+		FROM bus_confinedspace f WHERE f.ISDELETE = '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		UNION ALL
+		SELECT
+		COUNT(case when f.APPLY_STATUS != '0' then f.HOISTING_ID end) COUNTAPPLY,
+		COUNT(case when f.APPLY_STATUS not in ('0','6') then f.HOISTING_ID end) COUNTAPPROVE,
+		COUNT(case when f.APPLY_STATUS = '6' then f.HOISTING_ID end) COUNTARCHIVE
+		FROM gf_hoisting f WHERE f.ISDELETE = '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		UNION ALL
+		SELECT
+		COUNT(case when f.APPLY_STATUS != '0' then f.BREAKGROUND_ID end) COUNTAPPLY,
+		COUNT(case when f.APPLY_STATUS not in ('0','6')  then f.BREAKGROUND_ID end) COUNTAPPROVE,
+		COUNT(case when f.APPLY_STATUS = '6' then f.BREAKGROUND_ID end) COUNTARCHIVE
+		FROM gf_breakground f WHERE f.ISDELETE = '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		UNION ALL
+		SELECT
+		COUNT(case when f.APPLY_STATUS != '0' then f.CUTROAD_ID end) COUNTAPPLY,
+		COUNT(case when f.APPLY_STATUS not in ('0','6')  then f.CUTROAD_ID end) COUNTAPPROVE,
+		COUNT(case when f.APPLY_STATUS = '6' then f.CUTROAD_ID end) COUNTARCHIVE
+		FROM gf_cutroad f WHERE f.ISDELETE = '0'
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+		) f
+	</select>
+
+
+	<select id="realTimeHighRiskWorklistPageOrder" parameterType="page" resultType="pd">
+		SELECT * FROM
+		(SELECT
+		f.HOTWORKAPPLICATION_ID ID,
+		f.JOB_NUMBER WORK_NUMBER,
+		'动火作业' WORK_TYPE,
+		case f.STATE
+		when 1 then '动火单位负责人确认'
+		when 2 then '项目发包单位签发'
+		when 3 then '现场管辖单位负责人'
+		when 4 then '动火许可签发单位'
+		when 5 then '安全总监审批'
+		when 6 then '现场负责人'
+		when 7 then '动火前'
+		when 8 then '现场负责人确认'
+		when 9 then '动火后'
+		when 10 then '延时监火'
+		when 11 then '归档'
+		when 21 then '动火操作人'
+		when 22 then '监护人'
+		when 24 then '气体检测人'
+		when -1 then '审核不通过'
+		when -2 then '特级动火不通过'
+		when -3 then '未完成 关闭归档'
+		when -4 then '延期'
+		when -5 then '已打回'
+		when -6 then '超期'
+		when 30 then '动火负责人确认'
+		when 31 then '项目主管初审'
+		when 32 then '项目监管部门负责人'
+		when 33 then '分公司安全总监审批'
+		when 34 then '分公司主要负责人'
+		when 35 then '安全监督部初审'
+		when 36 then '安委会办公室'
+		when 37 then '安全总监审批'
+		END STATUS_NAME,
+		IFNULL(GROUP_CONCAT(REPLACE(u.NAME,'/',',')),IFNULL(qu.`NAME`,'')) USER_NAME,
+		DATE_FORMAT(ifnull(f.OPERATTIME,f.CREATTIME),'%Y-%m-%d %H:%i:%s') OPERATTIME
+		FROM bus_hotworkapplication f
+		LEFT JOIN bus_hotworkapplicationuser hu ON hu.FOREIGN_KEY = f.HOTWORKAPPLICATION_ID AND hu.STATE = f.STATE
+		LEFT JOIN sys_user u ON u.USER_ID = hu.USER_ID
+		LEFT JOIN `qa-czks-regulatory`.sys_user qu on qu.USER_ID = hu.USER_ID
+		WHERE f.ISDELETE = '0' AND f.STATE >= 0 and f.STATE != 11
+		<if test="pd.CORPINFO_ID!= null and pd.CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{pd.CORPINFO_ID}
+		</if>
+		<if test="pd.ids!= null and pd.ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="pd.ids" open="(" separator="," close=")">
+				#{pd.ids[${index}]}
+			</foreach>
+		</if>
+
+		GROUP BY f.HOTWORKAPPLICATION_ID
+		UNION ALL
+		SELECT f.ID, f.WORK_NUMBER, f.WORK_TYPE, f.STATUS_NAME, u.NAME USER_NAME, f.OPERATTIME
+		FROM
+		(SELECT
+		f.electricity_ID ID,
+		f.CHECK_NO WORK_NUMBER,
+		'临时用电作业' WORK_TYPE,
+		case f.APPLY_STATUS
+		when '0' then '待提交'
+		when '1' then '作业负责人待审核'
+		when '2' then '用电单位待审核'
+		when '3' then '配送电单位待审核'
+		when '4' then '待验收'
+		when '-2' then '已打回'
+		when '-3' then '已打回'
+		when '-4' then '已打回'
+		when '-5' then '已打回'
+		END STATUS_NAME,
+		case f.APPLY_STATUS
+		when '0' then f.APPLY_USER_ID
+		when '1' then f.CONFIRM_USER_ID
+		when '2' then f.AUDIT_USER_ID
+		when '3' then f.APPROVE_USER_ID
+		when '4' then f.ACCEPT_USER_ID
+		when '-1' then f.APPLY_USER_ID
+		when '-2' then f.APPLY_USER_ID
+		when '-3' then f.APPLY_USER_ID
+		when '-4' then f.APPLY_USER_ID
+		when '-5' then f.APPLY_USER_ID
+		END NEXT_USER_ID,
+		ifnull(f.OPERATTIME,f.CREATTIME) OPERATTIME
+		FROM gf_electricity f WHERE f.ISDELETE = '0' AND f.APPLY_STATUS != '5'
+		<if test="pd.CORPINFO_ID!= null and pd.CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{pd.CORPINFO_ID}
+		</if>
+		<if test="pd.ids!= null and pd.ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="pd.ids" open="(" separator="," close=")">
+				#{pd.ids[${index}]}
+			</foreach>
+		</if>
+
+		) f
+		LEFT JOIN sys_user u ON u.USER_ID = f.NEXT_USER_ID
+		UNION ALL
+		SELECT f.ID, f.WORK_NUMBER, f.WORK_TYPE, f.STATUS_NAME, u.NAME USER_NAME, f.OPERATTIME
+		FROM
+		(SELECT
+		f.blindboard_ID ID,
+		f.CHECK_NO WORK_NUMBER,
+		'盲板作业' WORK_TYPE,
+		case f.APPLY_STATUS
+		when '0' then '待提交'
+		when '1' then '作业负责人待审核'
+		when '4' then '所在单位待审核'
+		when '5' then '待验收'
+		when '-2' then '已打回'
+		when '-5' then '已打回'
+		when '-6' then '已打回'
+		END STATUS_NAME,
+		case f.APPLY_STATUS
+		when '0' then f.APPLY_USER_ID
+		when '1' then f.CONSTRUCTION_USER_ID
+		when '4' then f.LEADER_USER_ID
+		when '5' then f.ACCEPT_USER_ID
+		when '-2' then APPLY_USER_ID
+		when '-5' then APPLY_USER_ID
+		when '-6' then APPLY_USER_ID
+		END NEXT_USER_ID,
+		ifnull(f.OPERATTIME,f.CREATTIME) OPERATTIME
+		FROM gf_blindboard f
+		WHERE f.ISDELETE = '0' AND f.APPLY_STATUS != '6'
+		<if test="pd.CORPINFO_ID!= null and pd.CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{pd.CORPINFO_ID}
+		</if>
+		<if test="pd.ids!= null and pd.ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="pd.ids" open="(" separator="," close=")">
+				#{pd.ids[${index}]}
+			</foreach>
+		</if>
+
+		) f
+		LEFT JOIN sys_user u ON u.USER_ID = f.NEXT_USER_ID
+		UNION ALL
+		SELECT f.ID, f.WORK_NUMBER, f.WORK_TYPE, f.STATUS_NAME, u.NAME USER_NAME, f.OPERATTIME
+		FROM
+		(SELECT
+		f.HIGHWORK_ID ID,
+		f.CHECK_NO WORK_NUMBER,
+		'高处作业' WORK_TYPE,
+		case f.APPLY_STATUS
+		when '0' then '待提交'
+		when '1' then '作业负责人待审核'
+		when '2' then '所在单位待审核'
+		when '3' then '审核部门待审核'
+		when '4' then '审批部门待审核'
+		when '5' then '待验收'
+		when '-2' then '已打回'
+		when '-3' then '已打回'
+		when '-4' then '已打回'
+		when '-5' then '已打回'
+		when '-6' then '已打回'
+		END STATUS_NAME,
+		case f.APPLY_STATUS
+		when '0' then f.CREATOR
+		when '1' then f.CONSTRUCTION_USER_ID
+		when '2' then f.LEADER_USER_ID
+		when '3' then f.AUDIT_USER_ID
+		when '4' then f.APPROVE_USER_ID
+		when '5' then f.ACCEPT_USER_ID
+		when '-2' then f.CREATOR
+		when '-3' then f.CREATOR
+		when '-4' then f.CREATOR
+		when '-5' then f.CREATOR
+		when '-6' then f.CREATOR
+		END NEXT_USER_ID,
+		ifnull(f.OPERATTIME,f.CREATTIME) OPERATTIME
+		FROM gf_highwork f WHERE f.ISDELETE = '0' AND f.APPLY_STATUS !='6'
+		<if test="pd.CORPINFO_ID!= null and pd.CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{pd.CORPINFO_ID}
+		</if>
+		<if test="pd.ids!= null and pd.ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="pd.ids" open="(" separator="," close=")">
+				#{pd.ids[${index}]}
+			</foreach>
+		</if>
+
+		) f
+		LEFT JOIN sys_user u ON u.USER_ID = f.NEXT_USER_ID
+		UNION ALL
+		SELECT f.ID, f.WORK_NUMBER, f.WORK_TYPE, f.STATUS_NAME, u.NAME USER_NAME, f.OPERATTIME
+		FROM
+		(SELECT
+		f.confinedspace_ID ID,
+		f.WORK_PERMIT_NUMBER WORK_NUMBER,
+		'有限空间作业' WORK_TYPE,
+		case f.APPLY_STATUS
+		when '1' then '待采样'
+		when '2' then '作业单位责任人确认'
+		when '3' then '作业现场责任人审核'
+		when '4' then '管理单位责任人审批'
+		when '5' then '作业单位责任人验收'
+		when '6' then '管理单位责任人验收'
+		when '-2' then '作业单位责任人确认打回'
+		when '-3' then '作业现场责任人审核打回'
+		when '-4' then '管理单位责任人审批打回'
+		when '-5' then '作业单位责任人验收打回'
+		when '-6' then '管理单位责任人验收打回'
+		END STATUS_NAME,
+		case f.APPLY_STATUS
+		when '1' then f.SAMPLING_ANALYST_ID
+		when '2' then f.WORK_UNIT_MANAGER_ID
+		when '3' then f.JOB_SITE_MANAGER_ID
+		when '4' then f.MANAGEMENT_UNIT_ID
+		when '5' then f.WORK_UNIT_MANAGER_ID
+		when '6' then f.MANAGEMENT_UNIT_ID
+		when '-2' then f.CREATOR
+		when '-3' then f.CREATOR
+		when '-4' then f.CREATOR
+		when '-5' then f.CREATOR
+		when '-6' then f.CREATOR
+		END NEXT_USER_ID,
+		ifnull(f.OPERATTIME,f.CREATTIME) OPERATTIME
+		FROM bus_confinedspace f WHERE f.ISDELETE = '0' AND f.APPLY_STATUS != '7'
+		AND date_format(now(),'%Y-%m-%d %H:%i') >= f.WORK_START_DATE AND f.WORK_END_DATE >= date_format(now(),'%Y-%m-%d %H:%i')
+		<if test="pd.CORPINFO_ID!= null and pd.CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{pd.CORPINFO_ID}
+		</if>
+		<if test="pd.ids!= null and pd.ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="pd.ids" open="(" separator="," close=")">
+				#{pd.ids[${index}]}
+			</foreach>
+		</if>
+		) f
+		LEFT JOIN sys_user u ON u.USER_ID = f.NEXT_USER_ID
+		UNION ALL
+		SELECT f.ID, f.WORK_NUMBER, f.WORK_TYPE, f.STATUS_NAME, u.NAME USER_NAME, f.OPERATTIME
+		FROM
+		(SELECT
+		f.hoisting_ID ID,
+		f.CHECK_NO WORK_NUMBER,
+		'吊装作业' WORK_TYPE,
+		case f.APPLY_STATUS
+		when '0' then '待提交'
+		when '1' then '作业指挥待审核'
+		when '2' then '所在单位待审核'
+		when '3' then '审核部门待审核'
+		when '4' then '审批部门待审核'
+		when '5' then '待验收'
+		when '-2' then '已打回'
+		when '-3' then '已打回'
+		when '-4' then '已打回'
+		when '-5' then '已打回'
+		when '-6' then '已打回'
+		END STATUS_NAME,
+		case f.APPLY_STATUS
+		when '0' then f.CREATOR
+		when '1' then f.LEADER_USER_ID
+		when '2' then f.CONSTRUCTION_USER_ID
+		when '3' then f.AUDIT_USER_ID
+		when '4' then f.APPROVE_USER_ID
+		when '5' then f.ACCEPT_USER_ID
+		when '-2' then f.CREATOR
+		when '-3' then f.CREATOR
+		when '-4' then f.CREATOR
+		when '-5' then f.CREATOR
+		when '-6' then f.CREATOR
+		END NEXT_USER_ID,
+		ifnull(f.OPERATTIME,f.CREATTIME) OPERATTIME
+		FROM gf_hoisting f
+		WHERE f.ISDELETE = '0'  AND f.APPLY_STATUS !='6'
+		<if test="pd.CORPINFO_ID!= null and pd.CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{pd.CORPINFO_ID}
+		</if>
+		<if test="pd.ids!= null and pd.ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="pd.ids" open="(" separator="," close=")">
+				#{pd.ids[${index}]}
+			</foreach>
+		</if>
+
+		) f
+		LEFT JOIN sys_user u ON u.USER_ID = f.NEXT_USER_ID
+
+		UNION ALL
+		SELECT f.ID, f.WORK_NUMBER, f.WORK_TYPE, f.STATUS_NAME, u.NAME USER_NAME, f.OPERATTIME
+		FROM
+		(SELECT
+		f.BREAKGROUND_ID ID,
+		f.CHECK_NO WORK_NUMBER,
+		'动土作业' WORK_TYPE,
+		case f.APPLY_STATUS
+		when '0' then '待提交'
+		when '1' then '作业负责人待审核'
+		when '2' then '所在单位待审核'
+		when '3' then '有关部门待审核'
+		when '4' then '审批部门待审核'
+		when '5' then '待验收'
+		when '-2' then '已打回'
+		when '-3' then '已打回'
+		when '-4' then '已打回'
+		when '-5' then '已打回'
+		when '-6' then '已打回'
+		END STATUS_NAME,
+		case f.APPLY_STATUS
+		when '0' then f.CREATOR
+		when '1' then f.CONSTRUCTION_USER_ID
+		when '2' then f.PRODUCTION_USER_ID
+		when '3' then f.SAFETY_USER_ID
+		when '4' then f.LEADER_USER_ID
+		when '5' then f.ACCEPT_USER_ID
+		when '-2' then f.CREATOR
+		when '-3' then f.CREATOR
+		when '-4' then f.CREATOR
+		when '-5' then f.CREATOR
+		when '-6' then f.CREATOR
+		END NEXT_USER_ID,
+		ifnull(f.OPERATTIME,f.CREATTIME) OPERATTIME
+		FROM gf_breakground f
+		WHERE f.ISDELETE = '0'  AND f.APPLY_STATUS !='6'
+		<if test="pd.CORPINFO_ID!= null and pd.CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{pd.CORPINFO_ID}
+		</if>
+		<if test="pd.ids!= null and pd.ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="pd.ids" open="(" separator="," close=")">
+				#{pd.ids[${index}]}
+			</foreach>
+		</if>
+
+		) f
+		LEFT JOIN sys_user u ON u.USER_ID = f.NEXT_USER_ID
+
+		UNION ALL
+		SELECT f.ID, f.WORK_NUMBER, f.WORK_TYPE, f.STATUS_NAME, u.NAME USER_NAME, f.OPERATTIME
+		FROM
+		(SELECT
+		f.CUTROAD_ID ID,
+		f.CHECK_NO WORK_NUMBER,
+		'断路作业' WORK_TYPE,
+		case f.APPLY_STATUS
+		when '0' then '待提交'
+		when '1' then '作业负责人待审核'
+		when '2' then '所在单位待审核'
+		when '3' then '消防、安全管理部门待审核'
+		when '4' then '审批部门待审核'
+		when '5' then '待验收'
+		when '-2' then '已打回'
+		when '-3' then '已打回'
+		when '-4' then '已打回'
+		when '-5' then '已打回'
+		when '-6' then '已打回'
+		END STATUS_NAME,
+		case f.APPLY_STATUS
+		when '0' then f.CREATOR
+		when '1' then f.CONSTRUCTION_USER_ID
+		when '2' then f.PRODUCTION_USER_ID
+		when '3' then f.SAFETY_USER_ID
+		when '4' then f.LEADER_USER_ID
+		when '5' then f.ACCEPT_USER_ID
+		when '-2' then f.CREATOR
+		when '-3' then f.CREATOR
+		when '-4' then f.CREATOR
+		when '-5' then f.CREATOR
+		when '-6' then f.CREATOR
+		END NEXT_USER_ID,
+		ifnull(f.OPERATTIME,f.CREATTIME) OPERATTIME
+		FROM gf_cutroad f
+		WHERE f.ISDELETE = '0'  AND f.APPLY_STATUS !='6'
+		<if test="pd.CORPINFO_ID!= null and pd.CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{pd.CORPINFO_ID}
+		</if>
+		<if test="pd.ids!= null and pd.ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="pd.ids" open="(" separator="," close=")">
+				#{pd.ids[${index}]}
+			</foreach>
+		</if>
+
+		) f
+		LEFT JOIN sys_user u ON u.USER_ID = f.NEXT_USER_ID
+		) f
+		ORDER BY f.OPERATTIME DESC
+	</select>
+
+	<!--临时用电-->
+	<select id="getELECTRICITYHighRiskWorkLocationOrder" parameterType="pd" resultType="pd">
+		SELECT
+		'ELECTRICITY' TYPE,
+		f.ELECTRICITY_ID id,
+		CONCAT_WS("", '临时用电作业 编号:', f.CHECK_NO) NAME,
+		f.CHECK_NO as MAP_POINT_NAME,
+		f.WORK_LONGITUDE LONGITUDE,
+		f.WORK_LATITUDE LATITUDE,
+		'./bi/images/map/electricity.png' IMAGE_FILE,
+		f.CORPINFO_ID
+		FROM gf_electricity f WHERE f.ISDELETE = '0' AND f.WORK_LONGITUDE IS NOT NULL AND f.WORK_LATITUDE IS NOT NULL
+		AND f.APPLY_STATUS != '5'
+		AND date_format(now(),'%Y-%m-%d %H:%i') >= f.WORK_START_DATE AND f.WORK_END_DATE >= date_format(now(),'%Y-%m-%d %H:%i')
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+	</select>
+	<!--盲板作业-->
+	<select id="getBLINDBOARDHighRiskWorkLocationOrder" parameterType="pd" resultType="pd">
+		SELECT
+		'BLINDBOARD' TYPE,
+		f.BLINDBOARD_ID id,
+		CONCAT_WS("", '盲板作业 编号:', f.CHECK_NO) NAME,
+		f.CHECK_NO as MAP_POINT_NAME,
+		f.WORK_LONGITUDE LONGITUDE,
+		f.WORK_LATITUDE LATITUDE,
+		'./bi/images/map/blindboard.png' IMAGE_FILE,
+		f.CORPINFO_ID
+		FROM gf_blindboard f
+		left join bus_blindboardinfo bb on bb.BLINDBOARD_ID = f.BLINDBOARD_ID
+		WHERE f.ISDELETE = '0' AND f.WORK_LONGITUDE IS NOT NULL AND f.WORK_LATITUDE IS NOT NULL
+		AND f.APPLY_STATUS != '6'
+		-- 		AND date_format(now(),'%Y-%m-%d %H:%i') >= bb.BOARD_INSTALL_TIME AND bb.BOARD_DISASSEMBLE_TIME >= date_format(now(),'%Y-%m-%d %H:%i')
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+	</select>
+
+	<!--高处作业-->
+	<select id="getHIGHWORKHighRiskWorkLocationOrder" parameterType="pd" resultType="pd">
+		SELECT
+		'HIGHWORK' TYPE,
+		f.HIGHWORK_ID id,
+		CONCAT_WS("", '高处作业 编号:', f.CHECK_NO) NAME,
+		f.CHECK_NO as MAP_POINT_NAME,
+		f.WORK_LONGITUDE LONGITUDE,
+		f.WORK_LATITUDE LATITUDE,
+		'./bi/images/map/highwork.png' IMAGE_FILE,
+		f.CORPINFO_ID
+		FROM gf_highwork f WHERE f.ISDELETE = '0' AND f.WORK_LONGITUDE IS NOT NULL AND f.WORK_LATITUDE IS NOT NULL
+		AND f.APPLY_STATUS != '6'
+		AND date_format(now(),'%Y-%m-%d %H:%i') >= f.WORK_START_DATE AND f.WORK_END_DATE >= date_format(now(),'%Y-%m-%d %H:%i')
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+	</select>
+
+	<!--有限空间作业-->
+	<select id="getCONFINEDSPACEHighRiskWorkLocationOrder" parameterType="pd" resultType="pd">
+		SELECT
+		'CONFINEDSPACE' TYPE,
+		f.CONFINEDSPACE_ID id,
+		CONCAT_WS("", '有限空间作业 编号:', f.CHECK_NO) NAME,
+		f.CHECK_NO as MAP_POINT_NAME,
+		f.WORK_LONGITUDE LONGITUDE,
+		f.WORK_LATITUDE LATITUDE,
+		'./bi/images/map/confinedspace.png' IMAGE_FILE,
+		f.CORPINFO_ID
+		FROM gf_confinedspace f WHERE f.ISDELETE = '0' AND f.WORK_LONGITUDE IS NOT NULL AND f.WORK_LATITUDE IS NOT NULL
+		AND f.APPLY_STATUS != '7'
+		AND date_format(now(),'%Y-%m-%d %H:%i') >= f.WORK_START_DATE AND f.WORK_END_DATE >= date_format(now(),'%Y-%m-%d %H:%i')
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+	</select>
+
+	<!--吊装作业-->
+	<select id="getHOISTINGHighRiskWorkLocationOrder" parameterType="pd" resultType="pd">
+		SELECT
+		'HOISTING' TYPE,
+		f.HOISTING_ID id,
+		CONCAT_WS("", '吊装作业 编号:', f.CHECK_NO) NAME,
+		f.CHECK_NO as MAP_POINT_NAME,
+		f.WORK_LONGITUDE LONGITUDE,
+		f.WORK_LATITUDE LATITUDE,
+		'./bi/images/map/hoisting.png' IMAGE_FILE,
+		f.CORPINFO_ID
+		FROM gf_hoisting f WHERE f.ISDELETE = '0' AND f.WORK_LONGITUDE IS NOT NULL AND f.WORK_LATITUDE IS NOT NULL
+		AND f.APPLY_STATUS !='6'
+		AND date_format(now(),'%Y-%m-%d %H:%i') >= f.WORK_START_DATE AND f.WORK_END_DATE >= date_format(now(),'%Y-%m-%d %H:%i')
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+	</select>
+
+	<!--破土作业-->
+	<select id="getBREAKGROUNDHighRiskWorkLocationOrder" parameterType="pd" resultType="pd">
+		SELECT
+		'BREAKGROUND' TYPE,
+		f.BREAKGROUND_ID id,
+		CONCAT_WS("", '破土作业 编号:', f.CHECK_NO) NAME,
+		f.CHECK_NO as MAP_POINT_NAME,
+		f.WORK_LONGITUDE LONGITUDE,
+		f.WORK_LATITUDE LATITUDE,
+		'./bi/images/map/hoisting.png' IMAGE_FILE,
+		f.CORPINFO_ID
+		FROM gf_breakground f WHERE f.ISDELETE = '0' AND f.WORK_LONGITUDE IS NOT NULL AND f.WORK_LATITUDE IS NOT NULL
+		AND f.APPLY_STATUS !='6'
+		AND date_format(now(),'%Y-%m-%d %H:%i') >= f.WORK_START_DATE AND f.WORK_END_DATE >= date_format(now(),'%Y-%m-%d %H:%i')
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+	</select>
+
+	<!--断路作业-->
+	<select id="getCUTROADHighRiskWorkLocationOrder" parameterType="pd" resultType="pd">
+		SELECT
+		'CUTROAD' TYPE,
+		f.CUTROAD_ID id,
+		CONCAT_WS("", '断路作业 编号:', f.CHECK_NO) NAME,
+		f.CHECK_NO as MAP_POINT_NAME,
+		f.WORK_LONGITUDE LONGITUDE,
+		f.WORK_LATITUDE LATITUDE,
+		'./bi/images/map/hoisting.png' IMAGE_FILE,
+		f.CORPINFO_ID
+		FROM gf_cutroad f WHERE f.ISDELETE = '0' AND f.WORK_LONGITUDE IS NOT NULL AND f.WORK_LATITUDE IS NOT NULL
+		AND f.APPLY_STATUS !='6'
+		AND date_format(now(),'%Y-%m-%d %H:%i') >= f.WORK_START_DATE AND f.WORK_END_DATE >= date_format(now(),'%Y-%m-%d %H:%i')
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and f.CORPINFO_ID = #{CORPINFO_ID}
+		</if>
+		<if test="ids!= null and ids.size()>0">
+			AND  f.CORPINFO_ID IN
+			<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
+				#{item}
+			</foreach>
+		</if>
+	</select>
+
+
+	<!--临时用电-->
+	<select id="findByIdELECTRICITYOrder" parameterType="pd" resultType="pd">
+		select
+			f.CORPINFO_ID,
+			f.ISDELETE,
+			f.CREATTIME,
+			f.CREATOR,
+			f.OPERATTIME,
+			f.OPERATOR,
+			f.CHECK_NO,
+			f.WORK_CONTENT,
+			f.WORK_START_DATE,
+			f.WORK_END_DATE,
+			f.CONFIRM_DEPARTMENT_ID,
+			f.CONFIRM_USER_ID,
+			f.CONFIRM_USER_SIGNER_PATH,
+			f.CONFIRM_USER_SIGNER_TIME,
+			f.AUDIT_DEPARTMENT_ID,
+			f.AUDIT_USER_ID,
+			f.AUDIT_USER_SIGNER_PATH,
+			f.AUDIT_USER_SIGNER_TIME,
+			f.APPROVE_DEPARTMENT_ID,
+			f.APPROVE_USER_ID,
+			f.APPROVE_USER_SIGNER_PATH,
+			f.APPROVE_USER_SIGNER_TIME,
+			f.APPLY_STATUS,
+			IFNULL(f.CONFIRM_CONTENT,'无') as CONFIRM_CONTENT,
+			IFNULL(f.AUDIT_CONTENT,'无') as AUDIT_CONTENT,
+			IFNULL(f.APPROVE_CONTENT,'无') as APPROVE_CONTENT,
+			f.OTHER_PROTECTIVE_MEASURES,
+			f.ACCEPT_DEPARTMENT_ID,
+			f.ACCEPT_USER_ID,
+			f.ACCEPT_USER_SIGNER_PATH,
+			f.ACCEPT_USER_SIGNER_TIME,
+			IFNULL(f.ACCEPT_CONTENT,'无') as ACCEPT_CONTENT,
+			f.APPLY_DEPARTMENT_ID,
+			f.APPLY_USER_ID,
+			f.WORK_PLACE,
+			f.ALLOW_POWER,
+			f.WORK_VOLTAGE,
+			f.RATED_POWER,
+			f.WORK_USER,
+			f.CARD_NO,
+			f.GUARDIAN,
+			f.SPECIAL_WORK,
+			f.RISK_IDENTIFICATION,
+			f.CONFESS_USER,
+			f.ACCEPT_CONFESS_USER,
+			f.EDUCATE_USER,
+			f.ACCEPT_EDUCATE_USER,
+			f.ANALYZE_DEPARTMENT_ID,
+			f.ANALYZE_USER_ID,
+			f.ELECTRICITY_USER,
+			f.LEADER_CARD_NO,
+			f.ELECTRICITY_ID,
+			f.GUARDIAN_DEPARTMENT_ID,
+			f.GUARDIAN_USER_ID,
+			f.GUARDIAN_USER_SIGNER_PATH,
+			f.GUARDIAN_USER_SIGNER_TIME,
+			f.CONFESS_DEPARTMENT_ID,
+			f.CONFESS_USER_ID,
+			f.CONFESS_USER_SIGNER_PATH,
+			f.CONFESS_USER_SIGNER_TIME,
+			f.ACCEPT_CONFESS_DEPARTMENT_ID,
+			f.ACCEPT_CONFESS_USER_ID,
+			f.ACCEPT_CONFESS_USER_SIGNER_PATH,
+			f.ACCEPT_CONFESS_USER_SIGNER_TIME,
+			f.WORK_LATITUDE,
+			f.WORK_LONGITUDE,
+
+			ad.NAME as APPLY_DEPARTMENT_NAME,
+			au.NAME as APPLY_USER_NAME,
+
+			cd.NAME as CONFIRM_DEPARTMENT_NAME,
+			cu.NAME as CONFIRM_USER_NAME,
+
+			aud.NAME as AUDIT_DEPARTMENT_NAME,
+			auu.NAME as AUDIT_USER_NAME,
+
+			apd.NAME as APPROVE_DEPARTMENT_NAME,
+			apu.NAME as APPROVE_USER_NAME,
+
+			acd.NAME as ACCEPT_DEPARTMENT_NAME,
+			acu.NAME as ACCEPT_USER_NAME,
+
+			anad.NAME as ANALYZE_DEPARTMENT_NAME,
+			anau.NAME as ANALYZE_USER_NAME,
+
+			ac.NAME as CONFESS_DEPARTMENT_NAME,
+			accu.NAME as CONFESS_USER_NAME,
+
+			aac.NAME as ACCEPT_CONFESS_DEPARTMENT_NAME,
+			aacu.NAME as ACCEPT_CONFESS_USER_NAME,
+
+			bc.NAME as GUARDIAN_DEPARTMENT_NAME,
+			bcu.NAME as GUARDIAN_USER_NAME
+		from
+			gf_electricity f
+				left join OA_DEPARTMENT bc on bc.DEPARTMENT_ID = f.GUARDIAN_DEPARTMENT_ID
+				left join SYS_USER bcu on bcu.USER_ID = f.GUARDIAN_USER_ID
+
+				left join OA_DEPARTMENT aac on aac.DEPARTMENT_ID = f.ACCEPT_CONFESS_DEPARTMENT_ID
+				left join SYS_USER aacu on aacu.USER_ID = f.ACCEPT_CONFESS_USER_ID
+
+				left join OA_DEPARTMENT ac on ac.DEPARTMENT_ID = f.CONFESS_DEPARTMENT_ID
+				left join SYS_USER accu on accu.USER_ID = f.CONFESS_USER_ID
+
+				left join OA_DEPARTMENT ad on ad.DEPARTMENT_ID = f.APPLY_DEPARTMENT_ID
+				left join SYS_USER au on au.USER_ID = f.APPLY_USER_ID
+
+				left join OA_DEPARTMENT cd on cd.DEPARTMENT_ID = f.CONFIRM_DEPARTMENT_ID
+				left join SYS_USER cu on cu.USER_ID = f.CONFIRM_USER_ID
+
+				left join OA_DEPARTMENT aud on aud.DEPARTMENT_ID = f.AUDIT_DEPARTMENT_ID
+				left join SYS_USER auu on auu.USER_ID = f.AUDIT_USER_ID
+
+				left join OA_DEPARTMENT apd on apd.DEPARTMENT_ID = f.APPROVE_DEPARTMENT_ID
+				left join SYS_USER apu on apu.USER_ID = f.APPROVE_USER_ID
+
+				left join OA_DEPARTMENT acd on acd.DEPARTMENT_ID = f.ACCEPT_DEPARTMENT_ID
+				left join SYS_USER acu on acu.USER_ID = f.ACCEPT_USER_ID
+
+				left join OA_DEPARTMENT anad on anad.DEPARTMENT_ID = f.ANALYZE_DEPARTMENT_ID
+				left join SYS_USER anau on anau.USER_ID = f.ANALYZE_USER_ID
+		where
+			f.ELECTRICITY_ID = #{ELECTRICITY_ID}
+	</select>
+
+	<!-- 临时用电措施列表-->
+	<select id="listAllMeasuresELECTRICITYOrder" parameterType="pd" resultType="pd">
+		select
+			f.*
+			 ,eo.STATUS,eo.CONFIRM_NAME
+
+		from
+			GF_ELECTRICITY_MEASURES f
+
+				left join GF_ELECTRICITYTOMEASURES eo on eo.BUS_ELECTRICITY_MEASURES_ID = f.BUS_ELECTRICITY_MEASURES_ID
+
+		where f.ISDELETE = '0'
+
+		  and eo.ELECTRICITY_ID = #{ELECTRICITY_ID}
+
+		order by f.ORDER
+	</select>
+
+	<!--盲板作业-->
+	<select id="findByIdBLINDBOARDOrder" parameterType="pd" resultType="pd">
+		select
+			f.*,
+			i.*,
+			ad.NAME as APPLY_DEPARTMENT_NAME,
+			au.NAME as APPLY_USER_NAME,
+
+			cd.NAME as CONSTRUCTION_DEPARTMENT_NAME,
+			cu.NAME as CONSTRUCTION_USER_NAME,
+
+			prd.NAME as PRODUCTION_DEPARTMENT_NAME,
+			pru.NAME as PRODUCTION_USER_NAME,
+
+			sd.NAME as SAFETY_DEPARTMENT_NAME,
+			su.NAME as SAFETY_USER_NAME,
+
+			ld.NAME as LEADER_DEPARTMENT_NAME,
+			lu.NAME as LEADER_USER_NAME,
+
+			acd.NAME as ACCEPT_DEPARTMENT_NAME,
+			acu.NAME as ACCEPT_USER_NAME
+		from
+			gf_blindboard f
+				left join gf_BLINDBOARDINFO i on i.BLINDBOARD_ID = f.BLINDBOARD_ID
+
+				left join OA_DEPARTMENT ad on ad.DEPARTMENT_ID = f.APPLY_DEPARTMENT_ID
+				left join SYS_USER au on au.USER_ID = f.APPLY_USER_ID
+
+				left join OA_DEPARTMENT cd on cd.DEPARTMENT_ID = f.CONSTRUCTION_DEPARTMENT_ID
+				left join SYS_USER cu on cu.USER_ID = f.CONSTRUCTION_USER_ID
+
+				left join OA_DEPARTMENT prd on prd.DEPARTMENT_ID = f.PRODUCTION_DEPARTMENT_ID
+				left join SYS_USER pru on pru.USER_ID = f.PRODUCTION_USER_ID
+
+				left join OA_DEPARTMENT sd on sd.DEPARTMENT_ID = f.SAFETY_DEPARTMENT_ID
+				left join SYS_USER su on su.USER_ID = f.SAFETY_USER_ID
+
+				left join OA_DEPARTMENT ld on ld.DEPARTMENT_ID = f.LEADER_DEPARTMENT_ID
+				left join SYS_USER lu on lu.USER_ID = f.LEADER_USER_ID
+
+				left join OA_DEPARTMENT acd on acd.DEPARTMENT_ID = f.ACCEPT_DEPARTMENT_ID
+				left join SYS_USER acu on acu.USER_ID = f.ACCEPT_USER_ID
+		where
+			f.BLINDBOARD_ID = #{BLINDBOARD_ID}
+	</select>
+
+	<!--盲板作业根据id获取经纬度-->
+	<select id="findByIdJWDOrder" parameterType="pd" resultType="pd">
+		select
+			f.*
+		from
+			gf_BLINDBOARDINFO f
+		where
+			f.BLINDBOARDINFO_ID = #{BLINDBOARDINFO_ID}
+	</select>
+
+	<!-- 列表(全部) -->
+	<select id="listAllMeasuresBLINDBOARDOrder" parameterType="pd" resultType="pd">
+		select
+			f.*
+			 ,eo.STATUS,eo.CONFIRM_NAME
+		from
+			GF_BLINDBOARD_MEASURES f
+				left join GF_BLINDBOARDTOMEASURES eo on eo.BUS_BLINDBOARD_MEASURES_ID = f.BUS_BLINDBOARD_MEASURES_ID
+		where f.ISDELETE = '0'
+		  and eo.BLINDBOARD_ID = #{BLINDBOARD_ID}
+		order by f.ORDER
+	</select>
+
+	<!--高处作业-->
+	<select id="findByIdHIGHWORKOrder" parameterType="pd" resultType="pd">
+		select
+			f.CORPINFO_ID,
+			f.APPLY_DEPARTMENT_ID,
+			f.APPLY_USER,
+			f.ISDELETE,
+			f.CREATTIME,
+			f.CREATOR,
+			f.OPERATTIME,
+			f.OPERATOR,
+			f.CHECK_NO,
+			f.PROJECT_MANAGER,
+			f.WORK_CONTENT,
+			f.WORK_START_DATE,
+			f.WORK_END_DATE,
+			f.CONSTRUCTION_DEPARTMENT_ID,
+			f.CONSTRUCTION_USER_ID,
+			f.CONSTRUCTION_USER_SIGNER_PATH,
+			f.CONSTRUCTION_USER_SIGNER_TIME,
+			f.AUDIT_DEPARTMENT_ID,
+			f.AUDIT_USER_ID,
+			f.AUDIT_USER_SIGNER_PATH,
+			f.AUDIT_USER_SIGNER_TIME,
+			f.APPROVE_DEPARTMENT_ID,
+			f.APPROVE_USER_ID,
+			f.APPROVE_USER_SIGNER_PATH,
+			f.APPROVE_USER_SIGNER_TIME,
+			f.ACCEPT_DEPARTMENT_ID,
+			f.ACCEPT_USER_ID,
+			f.ACCEPT_USER_SIGNER_PATH,
+			f.ACCEPT_USER_SIGNER_TIME,
+			f.APPLY_STATUS,
+			IFNULL(f.CONSTRUCTION_CONTENT,'无') as CONSTRUCTION_CONTENT,
+			IFNULL(f.AUDIT_CONTENT,'无') as AUDIT_CONTENT,
+			IFNULL(f.APPROVE_CONTENT,'无') as APPROVE_CONTENT,
+			IFNULL(f.ACCEPT_CONTENT,'无') as ACCEPT_CONTENT,
+			f.OTHER_PROTECTIVE_MEASURES,
+			f.HAZARD_IDENTIFICATION,
+			f.BELONGING_CORP,
+			f.WORK_CORP,
+			f.WORK_PLACE,
+			f.LEADER_DEPARTMENT_ID,
+			f.LEADER_USER_ID,
+			IFNULL(f.LEADER_CONTENT,'无') as LEADER_CONTENT,
+			f.LEADER_USER_SIGNER_PATH,
+			f.LEADER_USER_SIGNER_TIME,
+			f.CONFESS_USER,
+			f.ACCEPT_CONFESS_USER,
+			f.SPECIAL_WORK,
+			f.GUARDIAN_USER,
+			f.WORK_HIGH,
+			f.WORK_LEVEL,
+			f.HIGHWORK_ID,
+			f.GUARDIAN_DEPARTMENT_ID,
+			f.GUARDIAN_USER_ID,
+			f.GUARDIAN_USER_SIGNER_PATH,
+			f.GUARDIAN_USER_SIGNER_TIME,
+			f.CONFESS_DEPARTMENT_ID,
+			f.CONFESS_USER_ID,
+			f.CONFESS_USER_SIGNER_PATH,
+			f.CONFESS_USER_SIGNER_TIME,
+			f.ACCEPT_CONFESS_DEPARTMENT_ID,
+			f.ACCEPT_CONFESS_USER_ID,
+			f.ACCEPT_CONFESS_USER_SIGNER_PATH,
+			f.ACCEPT_CONFESS_USER_SIGNER_TIME,
+			f.WORK_LATITUDE,
+			f.WORK_LONGITUDE,
+
+			ad.NAME as APPLY_DEPARTMENT_NAME,
+			getFullName(ad.DEPARTMENT_ID) APPLY_DEPARTMENT_ALL,
+
+			cd.NAME as CONSTRUCTION_DEPARTMENT_NAME,
+			cu.NAME as CONSTRUCTION_USER_NAME,
+
+			ld.NAME as LEADER_DEPARTMENT_NAME,
+			lu.NAME as LEADER_USER_NAME,
+
+			aud.NAME as AUDIT_DEPARTMENT_NAME,
+			auu.NAME as AUDIT_USER_NAME,
+
+			apd.NAME as APPROVE_DEPARTMENT_NAME,
+			apu.NAME as APPROVE_USER_NAME,
+
+			acd.NAME as ACCEPT_DEPARTMENT_NAME,
+			acu.NAME as ACCEPT_USER_NAME,
+
+			ac.NAME as CONFESS_DEPARTMENT_NAME,
+			accu.NAME as CONFESS_USER_NAME,
+
+			aac.NAME as ACCEPT_CONFESS_DEPARTMENT_NAME,
+			aacu.NAME as ACCEPT_CONFESS_USER_NAME,
+
+			bc.NAME as GUARDIAN_DEPARTMENT_NAME,
+			bcu.NAME as GUARDIAN_USER_NAME
+		from
+			gf_highwork f
+
+				left join OA_DEPARTMENT bc on bc.DEPARTMENT_ID = f.GUARDIAN_DEPARTMENT_ID
+				left join SYS_USER bcu on bcu.USER_ID = f.GUARDIAN_USER_ID
+
+				left join OA_DEPARTMENT aac on aac.DEPARTMENT_ID = f.ACCEPT_CONFESS_DEPARTMENT_ID
+				left join SYS_USER aacu on aacu.USER_ID = f.ACCEPT_CONFESS_USER_ID
+
+				left join OA_DEPARTMENT ac on ac.DEPARTMENT_ID = f.CONFESS_DEPARTMENT_ID
+				left join SYS_USER accu on accu.USER_ID = f.CONFESS_USER_ID
+
+				left join OA_DEPARTMENT ad on ad.DEPARTMENT_ID = f.APPLY_DEPARTMENT_ID
+
+				left join OA_DEPARTMENT cd on cd.DEPARTMENT_ID = f.CONSTRUCTION_DEPARTMENT_ID
+				left join SYS_USER cu on cu.USER_ID = f.CONSTRUCTION_USER_ID
+
+				left join OA_DEPARTMENT ld on ld.DEPARTMENT_ID = f.LEADER_DEPARTMENT_ID
+				left join SYS_USER lu on lu.USER_ID = f.LEADER_USER_ID
+
+				left join OA_DEPARTMENT aud on aud.DEPARTMENT_ID = f.AUDIT_DEPARTMENT_ID
+				left join SYS_USER auu on auu.USER_ID = f.AUDIT_USER_ID
+
+				left join OA_DEPARTMENT apd on apd.DEPARTMENT_ID = f.APPROVE_DEPARTMENT_ID
+				left join SYS_USER apu on apu.USER_ID = f.APPROVE_USER_ID
+
+				left join OA_DEPARTMENT acd on acd.DEPARTMENT_ID = f.ACCEPT_DEPARTMENT_ID
+				left join SYS_USER acu on acu.USER_ID = f.ACCEPT_USER_ID
+		where
+			f.HIGHWORK_ID = #{HIGHWORK_ID}
+	</select>
+
+	<!-- 高处作业措施查询 -->
+	<select id="listAllMeasuresHIGHWORKOrder" parameterType="pd" resultType="pd">
+		select
+			f.*
+			 ,eo.STATUS,eo.CONFIRM_NAME
+		from
+			GF_HIGHWORK_MEASURES f
+				left join GF_HIGHWORKTOMEASURES eo on eo.BUS_HIGHWORK_MEASURES_ID = f.HIGHWORK_MEASURES_ID
+		where f.ISDELETE = '0'
+		  and eo.HIGHWORK_ID = #{HIGHWORK_ID}
+		order by f.ORDER
+	</select>
+
+
+	<!--吊装作业-->
+	<select id="findByIdHOISTINGOrder" parameterType="pd" resultType="pd">
+		select
+			f.CORPINFO_ID,
+			f.APPLY_DEPARTMENT_ID,
+			f.APPLY_USER,
+			f.ISDELETE,
+			f.CREATTIME,
+			f.CREATOR,
+			f.OPERATTIME,
+			f.OPERATOR,
+			f.CHECK_NO,
+			f.PROJECT_MANAGER,
+			f.WORK_CONTENT,
+			f.WORK_START_DATE,
+			f.WORK_END_DATE,
+			f.CONSTRUCTION_DEPARTMENT_ID,
+			f.CONSTRUCTION_USER_ID,
+			f.CONSTRUCTION_USER_SIGNER_PATH,
+			f.CONSTRUCTION_USER_SIGNER_TIME,
+			f.AUDIT_DEPARTMENT_ID,
+			f.AUDIT_USER_ID,
+			f.AUDIT_USER_SIGNER_PATH,
+			f.AUDIT_USER_SIGNER_TIME,
+			f.APPROVE_DEPARTMENT_ID,
+			f.APPROVE_USER_ID,
+			f.APPROVE_USER_SIGNER_PATH,
+			f.APPROVE_USER_SIGNER_TIME,
+			f.APPLY_STATUS,
+			IFNULL(f.CONSTRUCTION_CONTENT,'无') as CONSTRUCTION_CONTENT,
+			IFNULL(f.AUDIT_CONTENT,'无') as AUDIT_CONTENT,
+			IFNULL(f.APPROVE_CONTENT,'无') as APPROVE_CONTENT,
+			f.OTHER_PROTECTIVE_MEASURES,
+			f.WORK_USER,
+			f.WORK_PLACE,
+			f.TOOL_NAME,
+			f.PART_WEIGHT,
+			f.LEADER_DEPARTMENT_ID,
+			f.LEADER_USER_ID,
+			IFNULL(f.LEADER_CONTENT,'无') as LEADER_CONTENT,
+			f.LEADER_USER_SIGNER_PATH,
+			f.LEADER_USER_SIGNER_TIME,
+			f.CONFESS_USER,
+			f.ACCEPT_CONFESS_USER,
+			f.WORK_LEVEL,
+			f.ACCEPT_DEPARTMENT_ID,
+			f.ACCEPT_USER_ID,
+			f.ACCEPT_USER_SIGNER_PATH,
+			f.ACCEPT_USER_SIGNER_TIME,
+			IFNULL(f.ACCEPT_CONTENT,'无') as ACCEPT_CONTENT,
+			f.HAZARD_IDENTIFICATION,
+			f.GUARDIAN_USER,
+			f.SISUO_USER,
+			f.HOISTING_ID,
+			f.GUARDIAN_DEPARTMENT_ID,
+			f.GUARDIAN_USER_ID,
+			f.GUARDIAN_USER_SIGNER_PATH,
+			f.GUARDIAN_USER_SIGNER_TIME,
+			f.CONFESS_DEPARTMENT_ID,
+			f.CONFESS_USER_ID,
+			f.CONFESS_USER_SIGNER_PATH,
+			f.CONFESS_USER_SIGNER_TIME,
+			f.ACCEPT_CONFESS_DEPARTMENT_ID,
+			f.ACCEPT_CONFESS_USER_ID,
+			f.ACCEPT_CONFESS_USER_SIGNER_PATH,
+			f.ACCEPT_CONFESS_USER_SIGNER_TIME,
+			ad.NAME as APPLY_DEPARTMENT_NAME,
+			getFullName(ad.DEPARTMENT_ID) APPLY_DEPARTMENT_ALL,
+
+			ld.NAME as LEADER_DEPARTMENT_NAME,
+			lu.NAME as LEADER_USER_NAME,
+
+			cd.NAME as CONSTRUCTION_DEPARTMENT_NAME,
+			cu.NAME as CONSTRUCTION_USER_NAME,
+
+			aud.NAME as AUDIT_DEPARTMENT_NAME,
+			auu.NAME as AUDIT_USER_NAME,
+
+			apd.NAME as APPROVE_DEPARTMENT_NAME,
+			apu.NAME as APPROVE_USER_NAME,
+
+			acd.NAME as ACCEPT_DEPARTMENT_NAME,
+			acu.NAME as ACCEPT_USER_NAME,
+
+			ac.NAME as CONFESS_DEPARTMENT_NAME,
+			accu.NAME as CONFESS_USER_NAME,
+
+			aac.NAME as ACCEPT_CONFESS_DEPARTMENT_NAME,
+			aacu.NAME as ACCEPT_CONFESS_USER_NAME,
+
+			bc.NAME as GUARDIAN_DEPARTMENT_NAME,
+			bcu.NAME as GUARDIAN_USER_NAME
+		from
+			GF_HOISTING f
+
+				left join OA_DEPARTMENT bc on bc.DEPARTMENT_ID = f.GUARDIAN_DEPARTMENT_ID
+				left join SYS_USER bcu on bcu.USER_ID = f.GUARDIAN_USER_ID
+
+				left join OA_DEPARTMENT aac on aac.DEPARTMENT_ID = f.ACCEPT_CONFESS_DEPARTMENT_ID
+				left join SYS_USER aacu on aacu.USER_ID = f.ACCEPT_CONFESS_USER_ID
+
+				left join OA_DEPARTMENT ac on ac.DEPARTMENT_ID = f.CONFESS_DEPARTMENT_ID
+				left join SYS_USER accu on accu.USER_ID = f.CONFESS_USER_ID
+				left join OA_DEPARTMENT ad on ad.DEPARTMENT_ID = f.APPLY_DEPARTMENT_ID
+
+				left join OA_DEPARTMENT ld on ld.DEPARTMENT_ID = f.LEADER_DEPARTMENT_ID
+				left join SYS_USER lu on lu.USER_ID = f.LEADER_USER_ID
+
+				left join OA_DEPARTMENT cd on cd.DEPARTMENT_ID = f.CONSTRUCTION_DEPARTMENT_ID
+				left join SYS_USER cu on cu.USER_ID = f.CONSTRUCTION_USER_ID
+
+				left join OA_DEPARTMENT aud on aud.DEPARTMENT_ID = f.AUDIT_DEPARTMENT_ID
+				left join SYS_USER auu on auu.USER_ID = f.AUDIT_USER_ID
+
+				left join OA_DEPARTMENT apd on apd.DEPARTMENT_ID = f.APPROVE_DEPARTMENT_ID
+				left join SYS_USER apu on apu.USER_ID = f.APPROVE_USER_ID
+
+				left join OA_DEPARTMENT acd on acd.DEPARTMENT_ID = f.ACCEPT_DEPARTMENT_ID
+				left join SYS_USER acu on acu.USER_ID = f.ACCEPT_USER_ID
+		where
+			f.HOISTING_ID = #{HOISTING_ID}
+	</select>
+
+
+	<!-- 吊装作业措施查询 -->
+	<select id="listAllMeasuresHOISTINGOrder" parameterType="pd" resultType="pd">
+		select
+		f.*
+		<if test="APPLY_STATUS != '1' and APPLY_STATUS != 1">
+			,eo.STATUS		,eo.ANSWER1,eo.CONFIRM_NAME
+		</if>
+		from
+		GF_HOISTING_MEASURES f
+		<if test="APPLY_STATUS != '1' and APPLY_STATUS != 1">
+			left join GF_HOISTINGTOMEASURES eo on eo.BUS_HOISTING_MEASURES_ID = f.HOISTING_MEASURES_ID
+		</if>
+		where f.ISDELETE = '0'
+		<if test="APPLY_STATUS != '1' and APPLY_STATUS != 1">
+			and eo.HOISTING_ID = #{HOISTING_ID}
+		</if>
+		order by f.ORDER
+	</select>
+
+	<!-- 动土作业 -->
+	<select id="findByIdBREAKGROUNDOrder" parameterType="pd" resultType="pd">
+		select
+			f.CORPINFO_ID,
+			f.APPLY_DEPARTMENT_ID,
+			f.APPLY_USER_ID,
+			f.ISDELETE,
+			f.CREATTIME,
+			f.CREATOR,
+			f.OPERATTIME,
+			f.OPERATOR,
+			f.CHECK_NO,
+			f.PROJECT_MANAGER,
+			f.WORK_CONTENT,
+			f.WORK_START_DATE,
+			f.WORK_END_DATE,
+			f.WORK_PLACE,
+			f.CONSTRUCTION_DEPARTMENT_ID,
+			f.CONSTRUCTION_USER_ID,
+			f.CONSTRUCTION_USER_SIGNER_PATH,
+			f.CONSTRUCTION_USER_SIGNER_TIME,
+			f.PRODUCTION_DEPARTMENT_ID,
+			f.PRODUCTION_USER_ID,
+			f.PRODUCTION_USER_SIGNER_PATH,
+			f.PRODUCTION_USER_SIGNER_TIME,
+			f.SAFETY_DEPARTMENT_ID,
+			f.SAFETY_USER_ID,
+			f.SAFETY_USER_SIGNER_PATH,
+			f.SAFETY_USER_SIGNER_TIME,
+			f.LEADER_DEPARTMENT_ID,
+			f.LEADER_USER_ID,
+			f.LEADER_USER_SIGNER_PATH,
+			f.LEADER_USER_SIGNER_TIME,
+			f.ACCEPT_DEPARTMENT_ID,
+			f.ACCEPT_USER_ID,
+			f.ACCEPT_USER_SIGNER_PATH,
+			f.ACCEPT_USER_SIGNER_TIME,
+			f.APPLY_STATUS,
+			f.WORK_NO,
+			IFNULL(f.CONSTRUCTION_CONTENT,'无') as CONSTRUCTION_CONTENT,
+			IFNULL(f.PRODUCTION_CONTENT,'无') as PRODUCTION_CONTENT,
+			IFNULL(f.SAFETY_CONTENT,'无') as SAFETY_CONTENT,
+			IFNULL(f.LEADER_CONTENT,'无') as LEADER_CONTENT,
+			IFNULL(f.ACCEPT_CONTENT,'无') as ACCEPT_CONTENT,
+			f.OTHER_PROTECTIVE_MEASURES,
+			f.HAZARD_IDENTIFICATION,
+			f.CONFESS_USER,
+			f.ACCEPT_CONFESS_USER,
+			f.SPECIAL_WORK,
+			f.GUARDIAN_USER,
+			f.JOB_CONTENT,
+			f.APPLY_USER_SIGNER_PATH,
+			f.APPLY_USER_SIGNER_TIME,
+			f.CONTENT_IMG_PATH,
+			f.GUARDIAN_DEPARTMENT_ID,
+			f.GUARDIAN_USER_ID,
+			f.GUARDIAN_USER_SIGNER_PATH,
+			f.GUARDIAN_USER_SIGNER_TIME,
+			f.CONFESS_DEPARTMENT_ID,
+			f.CONFESS_USER_ID,
+			f.CONFESS_USER_SIGNER_PATH,
+			f.CONFESS_USER_SIGNER_TIME,
+			f.ACCEPT_CONFESS_DEPARTMENT_ID,
+			f.ACCEPT_CONFESS_USER_ID,
+			f.ACCEPT_CONFESS_USER_SIGNER_PATH,
+			f.ACCEPT_CONFESS_USER_SIGNER_TIME,
+
+			f.BREAKGROUND_ID,
+			ad.NAME as APPLY_DEPARTMENT_NAME,
+			au.NAME as APPLY_USER_NAME,
+
+			cd.NAME as CONSTRUCTION_DEPARTMENT_NAME,
+			cu.NAME as CONSTRUCTION_USER_NAME,
+
+			prd.NAME as PRODUCTION_DEPARTMENT_NAME,
+			pru.NAME as PRODUCTION_USER_NAME,
+
+			sd.NAME as SAFETY_DEPARTMENT_NAME,
+			su.NAME as SAFETY_USER_NAME,
+
+			ld.NAME as LEADER_DEPARTMENT_NAME,
+			lu.NAME as LEADER_USER_NAME,
+
+			acd.NAME as ACCEPT_DEPARTMENT_NAME,
+			acu.NAME as ACCEPT_USER_NAME,
+
+			ac.NAME as CONFESS_DEPARTMENT_NAME,
+			accu.NAME as CONFESS_USER_NAME,
+
+			aac.NAME as ACCEPT_CONFESS_DEPARTMENT_NAME,
+			aacu.NAME as ACCEPT_CONFESS_USER_NAME,
+
+			bc.NAME as GUARDIAN_DEPARTMENT_NAME,
+			bcu.NAME as GUARDIAN_USER_NAME
+		from
+			GF_BREAKGROUND f
+
+				left join OA_DEPARTMENT bc on bc.DEPARTMENT_ID = f.GUARDIAN_DEPARTMENT_ID
+				left join SYS_USER bcu on bcu.USER_ID = f.GUARDIAN_USER_ID
+
+				left join OA_DEPARTMENT aac on aac.DEPARTMENT_ID = f.ACCEPT_CONFESS_DEPARTMENT_ID
+				left join SYS_USER aacu on aacu.USER_ID = f.ACCEPT_CONFESS_USER_ID
+
+				left join OA_DEPARTMENT ac on ac.DEPARTMENT_ID = f.CONFESS_DEPARTMENT_ID
+				left join SYS_USER accu on accu.USER_ID = f.CONFESS_USER_ID
+
+				left join OA_DEPARTMENT ad on ad.DEPARTMENT_ID = f.APPLY_DEPARTMENT_ID
+				left join SYS_USER au on au.USER_ID = f.APPLY_USER_ID
+
+				left join OA_DEPARTMENT cd on cd.DEPARTMENT_ID = f.CONSTRUCTION_DEPARTMENT_ID
+				left join SYS_USER cu on cu.USER_ID = f.CONSTRUCTION_USER_ID
+
+				left join OA_DEPARTMENT prd on prd.DEPARTMENT_ID = f.PRODUCTION_DEPARTMENT_ID
+				left join SYS_USER pru on pru.USER_ID = f.PRODUCTION_USER_ID
+
+				left join OA_DEPARTMENT sd on sd.DEPARTMENT_ID = f.SAFETY_DEPARTMENT_ID
+				left join SYS_USER su on su.USER_ID = f.SAFETY_USER_ID
+
+				left join OA_DEPARTMENT ld on ld.DEPARTMENT_ID = f.LEADER_DEPARTMENT_ID
+				left join SYS_USER lu on lu.USER_ID = f.LEADER_USER_ID
+
+				left join OA_DEPARTMENT acd on acd.DEPARTMENT_ID = f.ACCEPT_DEPARTMENT_ID
+				left join SYS_USER acu on acu.USER_ID = f.ACCEPT_USER_ID
+		where
+			f.BREAKGROUND_ID = #{BREAKGROUND_ID}
+	</select>
+
+	<!-- 动土作业措施查询 -->
+	<select id="listAllMeasuresBREAKGROUNDOrder" parameterType="pd" resultType="pd">
+		select
+		f.*
+		<if test="APPLY_STATUS != null and APPLY_STATUS != '0' and APPLY_STATUS != 0">
+			,eo.STATUS,eo.ANSWER,eo.CONFIRM_NAME
+		</if>
+		from
+		GF_BREAKGROUND_MEASURES f
+		<if test="APPLY_STATUS != null and APPLY_STATUS != '0' and APPLY_STATUS != 0">
+			left join GF_BREAKGROUNDTOMEASURES eo on eo.BUS_BREAKGROUND_MEASURES_ID = f.BUS_BREAKGROUND_MEASURES_ID
+		</if>
+		where f.ISDELETE = '0'
+		<if test="APPLY_STATUS != null and APPLY_STATUS != '0' and APPLY_STATUS != 0">
+			and eo.BREAKGROUND_ID = #{BREAKGROUND_ID}
+		</if>
+		order by f.ORDER
+	</select>
+
+
+	<!-- 断路作业 -->
+	<select id="findByIdCUTROADOrder" parameterType="pd" resultType="pd">
+		select
+			f.CORPINFO_ID,
+			f.APPLY_DEPARTMENT_ID,
+			f.APPLY_USER_ID,
+			f.ISDELETE,
+			f.CREATTIME,
+			f.CREATOR,
+			f.OPERATTIME,
+			f.OPERATOR,
+			f.CHECK_NO,
+			f.PROJECT_MANAGER,
+			f.WORK_CONTENT,
+			f.WORK_START_DATE,
+			f.WORK_END_DATE,
+			f.CONSTRUCTION_DEPARTMENT_ID,
+			f.CONSTRUCTION_USER_ID,
+			f.CONSTRUCTION_USER_SIGNER_PATH,
+			f.CONSTRUCTION_USER_SIGNER_TIME,
+			f.PRODUCTION_DEPARTMENT_ID,
+			f.PRODUCTION_USER_ID,
+			f.PRODUCTION_USER_SIGNER_PATH,
+			f.PRODUCTION_USER_SIGNER_TIME,
+			f.SAFETY_DEPARTMENT_ID,
+			f.SAFETY_USER_ID,
+			f.SAFETY_USER_SIGNER_PATH,
+			f.SAFETY_USER_SIGNER_TIME,
+			f.LEADER_DEPARTMENT_ID,
+			f.LEADER_USER_ID,
+			f.LEADER_USER_SIGNER_PATH,
+			f.LEADER_USER_SIGNER_TIME,
+			f.ACCEPT_DEPARTMENT_ID,
+			f.ACCEPT_USER_ID,
+			f.ACCEPT_USER_SIGNER_PATH,
+			f.ACCEPT_USER_SIGNER_TIME,
+			f.APPLY_STATUS,
+			f.WORK_NO,
+			IFNULL(f.CONSTRUCTION_CONTENT,'无') as CONSTRUCTION_CONTENT,
+			IFNULL(f.PRODUCTION_CONTENT,'无') as PRODUCTION_CONTENT,
+			IFNULL(f.SAFETY_CONTENT,'无') as SAFETY_CONTENT,
+			IFNULL(f.LEADER_CONTENT,'无') as LEADER_CONTENT,
+			IFNULL(f.ACCEPT_CONTENT,'无') as ACCEPT_CONTENT,
+			f.OTHER_PROTECTIVE_MEASURES,
+			f.HAZARD_IDENTIFICATION,
+			f.CONFESS_USER,
+			f.ACCEPT_CONFESS_USER,
+			f.SPECIAL_WORK,
+			f.GUARDIAN_USER,
+			f.JOB_CONTENT,
+			f.APPLY_USER_SIGNER_PATH,
+			f.APPLY_USER_SIGNER_TIME,
+			f.CONTENT_IMG_PATH,
+			f.WORK_REASON,
+			f.OTHER_DEPT,
+			f.CUTROAD_ID,
+			f.GUARDIAN_DEPARTMENT_ID,
+			f.GUARDIAN_USER_ID,
+			f.GUARDIAN_USER_SIGNER_PATH,
+			f.GUARDIAN_USER_SIGNER_TIME,
+			f.CONFESS_DEPARTMENT_ID,
+			f.CONFESS_USER_ID,
+			f.CONFESS_USER_SIGNER_PATH,
+			f.CONFESS_USER_SIGNER_TIME,
+			f.ACCEPT_CONFESS_DEPARTMENT_ID,
+			f.ACCEPT_CONFESS_USER_ID,
+			f.ACCEPT_CONFESS_USER_SIGNER_PATH,
+			f.ACCEPT_CONFESS_USER_SIGNER_TIME,
+			ad.NAME as APPLY_DEPARTMENT_NAME,
+			au.NAME as APPLY_USER_NAME,
+
+			cd.NAME as CONSTRUCTION_DEPARTMENT_NAME,
+			cu.NAME as CONSTRUCTION_USER_NAME,
+
+			prd.NAME as PRODUCTION_DEPARTMENT_NAME,
+			pru.NAME as PRODUCTION_USER_NAME,
+
+			sd.NAME as SAFETY_DEPARTMENT_NAME,
+			su.NAME as SAFETY_USER_NAME,
+
+			ld.NAME as LEADER_DEPARTMENT_NAME,
+			lu.NAME as LEADER_USER_NAME,
+
+			acd.NAME as ACCEPT_DEPARTMENT_NAME,
+			acu.NAME as ACCEPT_USER_NAME,
+
+			ac.NAME as CONFESS_DEPARTMENT_NAME,
+			accu.NAME as CONFESS_USER_NAME,
+
+			aac.NAME as ACCEPT_CONFESS_DEPARTMENT_NAME,
+			aacu.NAME as ACCEPT_CONFESS_USER_NAME,
+
+			bc.NAME as GUARDIAN_DEPARTMENT_NAME,
+			bcu.NAME as GUARDIAN_USER_NAME
+		from
+			GF_CUTROAD f
+				left join OA_DEPARTMENT bc on bc.DEPARTMENT_ID = f.GUARDIAN_DEPARTMENT_ID
+				left join SYS_USER bcu on bcu.USER_ID = f.GUARDIAN_USER_ID
+
+				left join OA_DEPARTMENT aac on aac.DEPARTMENT_ID = f.ACCEPT_CONFESS_DEPARTMENT_ID
+				left join SYS_USER aacu on aacu.USER_ID = f.ACCEPT_CONFESS_USER_ID
+
+				left join OA_DEPARTMENT ac on ac.DEPARTMENT_ID = f.CONFESS_DEPARTMENT_ID
+				left join SYS_USER accu on accu.USER_ID = f.CONFESS_USER_ID
+
+				left join OA_DEPARTMENT ad on ad.DEPARTMENT_ID = f.APPLY_DEPARTMENT_ID
+				left join SYS_USER au on au.USER_ID = f.APPLY_USER_ID
+
+				left join OA_DEPARTMENT cd on cd.DEPARTMENT_ID = f.CONSTRUCTION_DEPARTMENT_ID
+				left join SYS_USER cu on cu.USER_ID = f.CONSTRUCTION_USER_ID
+
+				left join OA_DEPARTMENT prd on prd.DEPARTMENT_ID = f.PRODUCTION_DEPARTMENT_ID
+				left join SYS_USER pru on pru.USER_ID = f.PRODUCTION_USER_ID
+
+				left join OA_DEPARTMENT sd on sd.DEPARTMENT_ID = f.SAFETY_DEPARTMENT_ID
+				left join SYS_USER su on su.USER_ID = f.SAFETY_USER_ID
+
+				left join OA_DEPARTMENT ld on ld.DEPARTMENT_ID = f.LEADER_DEPARTMENT_ID
+				left join SYS_USER lu on lu.USER_ID = f.LEADER_USER_ID
+
+				left join OA_DEPARTMENT acd on acd.DEPARTMENT_ID = f.ACCEPT_DEPARTMENT_ID
+				left join SYS_USER acu on acu.USER_ID = f.ACCEPT_USER_ID
+		where
+			f.CUTROAD_ID = #{CUTROAD_ID}
+	</select>
+
+	<!-- 断路作业措施查询 -->
+	<select id="listAllMeasuresCUTROADOrder" parameterType="pd" resultType="pd">
+		select
+		f.*
+		<if test="APPLY_STATUS != null and APPLY_STATUS != '0' and APPLY_STATUS != 0">
+			,eo.STATUS,eo.CONFIRM_NAME
+		</if>
+		from
+		GF_CUTROAD_MEASURES f
+		<if test="APPLY_STATUS != null and APPLY_STATUS != '0' and APPLY_STATUS != 0">
+			left join GF_CUTROADTOMEASURES eo on eo.BUS_CUTROAD_MEASURES_ID = f.BUS_CUTROAD_MEASURES_ID
+		</if>
+		where f.ISDELETE = '0'
+		<if test="APPLY_STATUS != null and APPLY_STATUS != '0' and APPLY_STATUS != 0">
+			and eo.CUTROAD_ID = #{CUTROAD_ID}
+		</if>
+		order by f.ORDER
+	</select>
+
+	<select id="getListDongHuo" resultType="string">
+		select
+		`NAME`
+		from
+		sys_dictionaries
+		where
+		DICTIONARIES_ID in
+		<foreach item="item" index="index" collection="list" open="(" separator="," close=")">
+			#{item}
+		</foreach>
+	</select>
+	<select id="getAllWorkUserIds" resultType="com.zcloud.entity.PageData">
+		SELECT
+			*
+		FROM
+			(
+				( SELECT DISTINCT GROUP_CONCAT( `WORK_USER_IDS` SEPARATOR ',' ) AS ELECTRICITY_WORK_USER_IDS FROM bus_electricity where APPLY_STATUS > 0 ) a,
+	( SELECT DISTINCT GROUP_CONCAT( `PROJECT_MANAGER_IDS` SEPARATOR ',' ) AS HIGHWORK_WORK_USER_IDS FROM bus_highwork where APPLY_STATUS > 0 ) b,
+	( SELECT DISTINCT GROUP_CONCAT( `WORK_USER_IDS` SEPARATOR ',' ) AS CONFINEDSPACE_WORK_USER_IDS FROM bus_confinedspace where APPLY_STATUS > 0 ) c,
+	( SELECT DISTINCT GROUP_CONCAT( `WORK_USER_IDS` SEPARATOR ',' ) AS HOISTING_WORK_USER_IDS FROM bus_hoisting where APPLY_STATUS > 0 ) d,
+	( SELECT DISTINCT GROUP_CONCAT( `WORK_USER_IDS` SEPARATOR ',' ) AS BLINDBOARD_WORK_USER_IDS FROM bus_blindboard where APPLY_STATUS > 0 ) e
+				)
+	</select>
+</mapper>
diff --git a/src/main/resources/mybatis/datasource/czksbimap/CzksMapEightMapper.xml b/src/main/resources/mybatis/datasource/czksbimap/CzksMapEightMapper.xml
index 37ea0756..5f0a0e07 100644
--- a/src/main/resources/mybatis/datasource/czksbimap/CzksMapEightMapper.xml
+++ b/src/main/resources/mybatis/datasource/czksbimap/CzksMapEightMapper.xml
@@ -68,7 +68,7 @@
 			AND CORPINFO_ID IN
 			<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
 			#{item}
-			</foreach>
+-- 			</foreach>
 		</if>
 		GROUP BY
 		STR_TO_DATE( CREATTIME, '%Y-%m-%d' ) UNION ALL
diff --git a/src/main/resources/mybatis/datasource/gatemachine/GateVideoMapper.xml b/src/main/resources/mybatis/datasource/gatemachine/GateVideoMapper.xml
index 54c3ee8c..59db5645 100644
--- a/src/main/resources/mybatis/datasource/gatemachine/GateVideoMapper.xml
+++ b/src/main/resources/mybatis/datasource/gatemachine/GateVideoMapper.xml
@@ -23,7 +23,8 @@
 	    f.PLATFORMVIDEOMANAGEMENT_ID,
 		f.GATEVIDEO_ID,
 		f.LATITUDE,
-		f.LONGITUDE
+		f.LONGITUDE,
+		f.CORPINFO_ID
 	</sql>
 
 	<!-- 字段用于新增 -->
@@ -37,7 +38,8 @@
 	    PLATFORMVIDEOMANAGEMENT_ID,
 		GATEVIDEO_ID,
 		LATITUDE,
-		LONGITUDE
+		LONGITUDE,
+		CORPINFO_ID
 	</sql>
 
 	<!-- 字段值 -->
@@ -51,7 +53,8 @@
 		#{PLATFORMVIDEOMANAGEMENT_ID},
 		#{GATEVIDEO_ID},
 		#{LATITUDE},
-		#{LONGITUDE}
+		#{LONGITUDE},
+		#{CORPINFO_ID}
 	</sql>
 
 	<!-- 新增-->
@@ -225,10 +228,15 @@
 	<!-- 列表(全部) -->
 	<select id="listAllForMap" parameterType="pd" resultType="pd">
 		select
-		f.*
+		f.*,VIDEONAME as MAP_POINT_NAME,VIDEONAME as NAME,GATEVIDEO_ID AS id
 		from
 		<include refid="tableName"></include> f
-		where f.ISDELETE = '0' and f.LATITUDE is not null and f.LONGITUDE is not null
+		where f.ISDELETE = '0'
+		  and f.LATITUDE is not null
+		  and f.LONGITUDE is not null
+		<if test="CORPINFO_ID != null and CORPINFO_ID != ''"><!-- 关键词检索 -->
+			and f.CORPINFO_ID=#{CORPINFO_ID}
+		</if>
 	</select>
 
 	<!-- 消防点位已定位 -->
diff --git a/src/main/resources/mybatis/datasource/map/BiMapMapper.xml b/src/main/resources/mybatis/datasource/map/BiMapMapper.xml
new file mode 100644
index 00000000..d2c0d056
--- /dev/null
+++ b/src/main/resources/mybatis/datasource/map/BiMapMapper.xml
@@ -0,0 +1,326 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zcloud.mapper.datasource.map.BiMapMapper">
+
+
+    <select id="getCarRecordslistPage" resultType="com.zcloud.entity.PageData">
+        SELECT LICENSE_PLATE,
+               STATE,
+               COMING_REASON,
+               CASE
+                   STATE
+                   WHEN 4 THEN
+                       TIME_IN
+                   WHEN 5 THEN
+                       TIME_OUT
+                   END TIME
+        from bus_foreigncar
+        where STATE in (4, 5) AND ISDELETE = 0 <if test="pd.AREA != null and pd.AREA != ''">
+        and CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{pd.AREA} and ISDELETE = 0)
+    </if>
+        <if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''">
+            and CORPINFO_ID = #{pd.CORPINFO_ID}
+        </if>
+        ORDER BY TIME DESC
+    </select>
+    <!-- 统计今日临时人员检测
+         * 		提交申请数[COUNTAPPLY],门卫确认进入数[COUNTIN],现场车辆数[COUNTSITE],
+         * 		审核通过数[COUNPASS],门卫确认离开数[COUNTOUT],入场车辆比例[INRATIO]
+         * 	 	审核未通过数[COUNREFUSE] -->
+    <select id="statisticsOutsiderCount" parameterType="pd" resultType="pd">
+        SELECT F.*,
+               (f.COUNTIN - f.COUNTOUT)                                                          COUNTSITE,
+               IF(ISNULL(f.COUNTIN / f.COUNTAPPLY), 0, ROUND(f.COUNTIN / f.COUNTAPPLY * 100, 2)) INRATIO
+        FROM (SELECT COUNT(case when f.STATE != '0' then f.OUTSIDERS_ID END)                       COUNTAPPLY,
+                     COUNT(case when f.TIME_IN IS NOT NULL then f.OUTSIDERS_ID END)                COUNTIN,
+                     COUNT(case when f.TIME_OUT IS NOT NULL then f.OUTSIDERS_ID END)               COUNTOUT,
+                     COUNT(case when f.STATE IN ('3', '4', '5', '7', '8') then f.OUTSIDERS_ID END) COUNPASS,
+                     COUNT(case when f.STATE = '6' then f.OUTSIDERS_ID END)                        COUNREFUSE
+              FROM bus_outsiders f
+              WHERE f.ISDELETE = 0
+                AND f.CREATTIME >= CONCAT_WS(" ", DATE_FORMAT(CURDATE(), '%Y-%m-%d'), '00:00:00')) f
+    </select>
+    <!-- 统计今日临时车辆-->
+
+
+    <!-- 统计今日人员刷卡数据(今日进入[COUNTUSERIN],今日离场[COUNTUSEROUT],现场人数[COUNTUSER],入场刷卡数[COUNTCARDIN],出场刷卡数[COUNTCARDOUT]) -->
+    <select id="statisticsCardUserCount" parameterType="pd" resultType="pd">
+        SELECT f.*, (COUNTUSERIN - COUNTUSEROUT) COUNTUSER
+        FROM (SELECT COUNT(DISTINCT (case when f.STATE = 0 then f.USERID END)) COUNTUSERIN,
+                     COUNT(DISTINCT (case when f.STATE = 1 then f.USERID END)) COUNTUSEROUT,
+                     COUNT(case when f.STATE = 0 then f.CARDID END)            COUNTCARDIN,
+                     COUNT(case when f.STATE = 1 then f.CARDID END)            COUNTCARDOUT
+              FROM bus_carduser f
+              WHERE f.`TIME` >= CONCAT_WS(" ", DATE_FORMAT(CURDATE(), '%Y-%m-%d'), '00:00:00')) f
+    </select>
+    <!-- 统计今日车辆-->
+
+    <select id="getCorpinfoIds" parameterType="string" resultType="string">
+        SELECT CORPINFO_ID FROM bus_corp_info WHERE ISDELETE = '0' AND AREA IN
+        <foreach item="item" index="index" collection="array" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+    </select>
+
+    <select id="getPeopleRecordslistPage" resultType="com.zcloud.entity.PageData">
+        select
+        CARDID,
+        CARDNUMBER,
+        USERID,
+        USERNAME,
+        USERNUMBER,
+        USERDEPARTMENTNAME,
+        CARDTYPE,
+        EQUIPMENTNAME,
+        EQUIPMENTID,
+        TIME,
+        STATE
+        from
+        BUS_CARDUSER f
+        where 1 = 1
+        <if test="pd.AREA != null and pd.AREA != ''">
+            and f.CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{pd.AREA} and ISDELETE = 0)
+        </if>
+        <if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''">
+            and f.CORPINFO_ID = #{pd.CORPINFO_ID}
+        </if>
+        <if test="pd.USERNAME != null and pd.USERNAME != ''"><!-- 关键词检索 -->
+            and f.USERNAME LIKE CONCAT(CONCAT('%', #{pd.USERNAME}),'%')
+        </if>
+        <if test="pd.STARTTIME != null and pd.STARTTIME != ''"><!-- 关键词检索 -->
+            and f.TIME <![CDATA[ >= ]]>  CONCAT_WS(' ',#{pd.STARTTIME}, '00:00')
+        </if>
+        <if test="pd.ENDTIME != null and pd.ENDTIME != ''"><!-- 关键词检索 -->
+            and f.TIME <![CDATA[ <= ]]>  CONCAT_WS(' ',#{pd.ENDTIME}, '23:59')
+        </if>
+        <if test="pd.STATE != null and pd.STATE != ''"><!-- 关键词检索 -->
+            and f.STATE = #{pd.STATE}
+        </if>
+        ORDER BY f.`TIME` DESC
+
+    </select>
+    <select id="getRiskIdentificationCount" resultType="com.zcloud.entity.PageData">
+        SELECT *
+        FROM (
+                 (SELECT COUNT(r.RISKUNIT_ID) '0'
+                  FROM bus_riskunit r
+                  WHERE r.ISDELETE = '0'
+                    AND r.CORPINFO_ID = #{CORPINFO_ID}) t1,
+(
+			SELECT
+				COUNT( i.IDENTIFICATIONPARTS_ID ) '1'
+			FROM
+				bus_identificationparts i
+			WHERE
+				i.ISDELETE = '0'
+			AND i.CORPINFO_ID = #{CORPINFO_ID}
+                     ) t2,
+                     ( SELECT COUNT( 1 ) '2' FROM bus_riskpoint r WHERE r.ISDELETE = '0' AND r.CORPINFO_ID = #{CORPINFO_ID} )
+                     t3
+                 )
+    </select>
+
+    <!-- 列表 -->
+    <select id="listbymeteorological" parameterType="pd" resultType="pd">
+        SELECT
+        m.CORPINFO_ID,
+        f.TEMPERATURE,
+        f.HUMIDITY,
+        f.WINDDIRECTION,
+        f.WINDSPEED,
+        f.ISDELETE,
+        f.OPERATTIME,
+        f.METEOROLOGICAL_ID,
+        f.METEOROLOGICALINFO_ID,
+        f.OPERATOR,
+        f.CODE,
+        sd.NAME as NAME,
+        m.EQUIPMENTNAME
+        FROM
+        `qa-czks-regulatory`.BUS_METEOROLOGICALINFO f
+        LEFT JOIN `qa-czks-regulatory`.bus_meteorological m ON m.CODE = f.CODE
+        LEFT JOIN sys_dictionaries sd on sd.DICTIONARIES_ID = m.EQUIPMENTTYPE
+        WHERE 1=1
+        <if test="CORPINFO_ID != null and CORPINFO_ID != ''"><!-- 关键词检索 -->
+            and m.CORPINFO_ID = #{CORPINFO_ID}
+        </if>
+        <if test="TYPE != null and TYPE != ''"><!-- 关键词检索 -->
+            and m.EQUIPMENTTYPE = #{TYPE}
+        </if>
+        <if test="id != null and id != ''"><!-- 关键词检索 -->
+            and m.METEOROLOGICAL_ID = #{id}
+        </if>
+        ORDER BY
+        f.OPERATTIME DESC
+        LIMIT 1
+    </select>
+
+    <select id="getPersonPositioningCount" resultType="com.zcloud.entity.PageData">
+        SELECT *
+        FROM (
+                 (SELECT COUNT(u.USER_ID) '0'
+                  FROM sys_user u
+                  WHERE u.ISDELETE = '0'
+                    AND u.CORPINFO_ID = #{CORPINFO_ID}) t1,
+(
+	SELECT
+            COUNT( o.DEPARTMENT_ID )-1 '1'
+        FROM
+            oa_department o
+        WHERE
+          o.CORPINFO_ID = #{CORPINFO_ID}
+                     ) t2,
+                     ( SELECT 0 '2' )
+                     t3
+                 )
+
+    </select>
+    <select id="getRiskIndex" resultType="com.zcloud.entity.PageData">
+        SELECT
+        IFNULL( COUNT( 1 ), 0 ) COUNT,
+        'levelA' TYPE,
+        '重大风险区域数' label
+        FROM
+        bus_riskpoint p
+        LEFT JOIN bus_corp_info ci ON p.CORPINFO_ID = ci.CORPINFO_ID
+        LEFT JOIN sys_dictionaries d ON p.LEVELID = d.BIANMA
+        WHERE
+        p.ISDELETE = 0
+        AND p.LEVELID = 'levelA'
+        AND ci.isdelete = 0
+        <if test="AREA != null and AREA != ''">
+            and p.CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0)
+        </if>
+        <if test="CORPINFO_ID != null and CORPINFO_ID != ''">
+            and p.CORPINFO_ID = #{CORPINFO_ID}
+        </if>
+        UNION ALL
+        SELECT
+
+        IFNULL( COUNT( 1 ), 0 ) COUNT,
+        'levelB' TYPE,
+        '较大风险区域数' label
+        FROM
+        bus_riskpoint p
+        LEFT JOIN bus_corp_info ci ON p.CORPINFO_ID = ci.CORPINFO_ID
+        LEFT JOIN sys_dictionaries d ON p.LEVELID = d.BIANMA
+        WHERE
+        p.ISDELETE = 0
+        AND p.LEVELID = 'levelB'
+        AND ci.isdelete = 0
+        <if test="AREA != null and AREA != ''">
+            and p.CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0)
+        </if>
+        <if test="CORPINFO_ID != null and CORPINFO_ID != ''">
+            and p.CORPINFO_ID = #{CORPINFO_ID}
+        </if>
+        UNION ALL
+        SELECT
+
+        IFNULL( COUNT( 1 ), 0 ) COUNT,
+        'levelC' TYPE,
+        '一般风险区域数' label
+        FROM
+        bus_riskpoint p
+        LEFT JOIN bus_corp_info ci ON p.CORPINFO_ID = ci.CORPINFO_ID
+        LEFT JOIN sys_dictionaries d ON p.LEVELID = d.BIANMA
+        WHERE
+        p.ISDELETE = 0
+        AND p.LEVELID = 'levelC'
+        AND ci.isdelete = 0
+        <if test="AREA != null and AREA != ''">
+            and p.CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0)
+        </if>
+        <if test="CORPINFO_ID != null and CORPINFO_ID != ''">
+            and p.CORPINFO_ID = #{CORPINFO_ID}
+        </if>
+        UNION ALL
+        SELECT
+        IFNULL( COUNT( 1 ), 0 ) COUNT,
+        'levelD' TYPE,
+        '低风险性区域数' label
+        FROM
+        bus_riskpoint p
+        LEFT JOIN bus_corp_info ci ON p.CORPINFO_ID = ci.CORPINFO_ID
+        LEFT JOIN sys_dictionaries d ON p.LEVELID = d.BIANMA
+        WHERE
+        p.ISDELETE = 0
+        AND p.LEVELID = 'levelD'
+        AND ci.isdelete = 0
+        <if test="AREA != null and AREA != ''">
+            and p.CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0)
+        </if>
+        <if test="CORPINFO_ID != null and CORPINFO_ID != ''">
+            and p.CORPINFO_ID = #{CORPINFO_ID}
+        </if>
+    </select>
+    <select id="inAndoutPeoCarToday" resultType="com.zcloud.entity.PageData">
+        SELECT
+        IFNULL( COUNT( 1 ), 0 ) count,
+        '今日出港人员数' label,
+        'PERSON_OUT' TYPE
+        FROM
+        bus_carduser c
+        WHERE
+        c.TIME BETWEEN CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 00:00:00' )
+        AND CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 23:59:59' )
+        <if test="AREA != null and AREA != ''">
+            and CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0)
+        </if>
+        <if test="CORPINFO_ID != null and CORPINFO_ID != ''">
+            and CORPINFO_ID = #{CORPINFO_ID}
+        </if>
+
+        AND c.STATE = 1 UNION ALL
+        SELECT
+        IFNULL( COUNT( 1 ), 0 ) count,
+        '今日进港人员数' label,
+        'PERSON_IN' TYPE
+        FROM
+        bus_carduser c
+        WHERE
+        c.TIME BETWEEN CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 00:00:00' )
+        AND CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 23:59:59' )
+        <if test="AREA != null and AREA != ''">
+            and CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0)
+        </if>
+        <if test="CORPINFO_ID != null and CORPINFO_ID != ''">
+            and CORPINFO_ID = #{CORPINFO_ID}
+        </if>
+        AND c.STATE = 0 UNION ALL
+        SELECT
+        IFNULL( COUNT( 1 ), 0 ) count,
+        '今日进港车辆数' label,
+        'CAR_IN' TYPE
+        FROM
+        bus_foreigncar c
+        WHERE
+        c.TIME_IN BETWEEN CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 00:00:00' )
+        AND CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 23:59:59' )
+        <if test="AREA != null and AREA != ''">
+            and CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0)
+        </if>
+        <if test="CORPINFO_ID != null and CORPINFO_ID != ''">
+            and CORPINFO_ID = #{CORPINFO_ID}
+        </if>
+        UNION ALL
+        SELECT
+        IFNULL( COUNT( 1 ), 0 ) count,
+        '今日出港车辆数' label,
+        'CAR_OUT' TYPE
+        FROM
+        bus_foreigncar c
+        WHERE
+        c.TIME_OUT BETWEEN CONCAT( DATE_FORMAT( now(), '%Y-%m-%d' ), ' 00:00:00' )
+        AND CONCAT(
+        DATE_FORMAT( now(), '%Y-%m-%d' ),
+        ' 23:59:59'
+        )
+        <if test="AREA != null and AREA != ''">
+            and CORPINFO_ID in (select CORPINFO_ID from bus_corp_info where AREA = #{AREA} and ISDELETE = 0)
+        </if>
+        <if test="CORPINFO_ID != null and CORPINFO_ID != ''">
+            and CORPINFO_ID = #{CORPINFO_ID}
+        </if>
+    </select>
+</mapper>
diff --git a/src/main/resources/mybatis/datasource/videoreceive/VideoReceiveMapper.xml b/src/main/resources/mybatis/datasource/videoreceive/VideoReceiveMapper.xml
index dac129ea..06b9dbf2 100644
--- a/src/main/resources/mybatis/datasource/videoreceive/VideoReceiveMapper.xml
+++ b/src/main/resources/mybatis/datasource/videoreceive/VideoReceiveMapper.xml
@@ -177,5 +177,8 @@
 		from
 		<include refid="tableName"></include> f
 		where  1 = 1
+		<if test="CORPINFO_ID!= null and CORPINFO_ID!=''">
+			and CORPINFO_ID = #{CORPINFO_ID}
+		</if>
 	</select>
 </mapper>
diff --git a/src/main/resources/mybatis/dsno2/fireresources/CzksFireResourcesMapper.xml b/src/main/resources/mybatis/dsno2/fireresources/CzksFireResourcesMapper.xml
index f3f61737..906e4665 100644
--- a/src/main/resources/mybatis/dsno2/fireresources/CzksFireResourcesMapper.xml
+++ b/src/main/resources/mybatis/dsno2/fireresources/CzksFireResourcesMapper.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.zcloud.mapper.dsno2.fireresources.CzksFireResourcesMapper">
+<mapper namespace="com.zcloud.mapper.dsno2.fireresources.CmtFireResourcesMapper">
 
     <!--表名 -->
     <sql id="tableName">