Browse Source

Merge branch 'master' of http://47.111.81.118:3000/uskycloud/usky-modules

guoenzhou 2 years ago
parent
commit
1b6fb86871

+ 53 - 28
service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/DemInspectListController.java

@@ -7,6 +7,8 @@ import com.usky.common.log.annotation.Log;
 import com.usky.common.log.enums.BusinessType;
 import com.usky.fire.domain.AlarmFire;
 import com.usky.fire.service.vo.InspectDetailVO;
+import com.usky.fire.service.vo.InspectHandleVO;
+import com.usky.fire.service.vo.InspectManagerVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import com.usky.fire.service.DemInspectListService;
@@ -14,6 +16,7 @@ import com.usky.fire.service.DemInspectListService;
 import org.springframework.stereotype.Controller;
 
 import java.util.Map;
+import java.util.List;
 
 /**
  * <p>
@@ -23,14 +26,14 @@ import java.util.Map;
  * @author ZYJ
  * @since 2022-12-29
  */
-@Controller
+@RestController
 @RequestMapping("/demInspect")
 public class DemInspectListController {
     @Autowired
     private DemInspectListService demInspectListService;
 
     /**
-     * 事件管理-电子督察单-列表查询
+     * 事件管理-数字平台电子督察单-列表查询
      *
      * @param inspectCode    督察单编号
      * @param companyName    单位名称
@@ -50,48 +53,70 @@ public class DemInspectListController {
         return ApiResult.success(demInspectListService.demInspectList(inspectCode, companyName, deviceCode, handlingStatus, pageNum, pageSize));
     }
 
-
     /**
-     * 事件管理-火警告警处置/隐患报警处理-火灾报警处置/故障告警处置-左侧数据统计
+     * 事件管理-企业电子督察单-列表管理
      *
-     * @param alarmType 告警类型(2 火警、4 故障、16 监管等)
+     * @param inspectCode    督察单编号
+     * @param deviceCode     设备编号
+     * @param handlingStatus 处置状态(1、已处置 2、待处置 3、超时未处置)
+     * @param pageNum        当前页
+     * @param pageSize       每页条数
      * @return
      */
-    @GetMapping("fireStatistics")
-    public ApiResult<Map<String, Object>> fireStatistics(@RequestParam(value = "companyName", required = false) String companyName,
-                                                         @RequestParam(value = "alarmType", required = false) String alarmType,
-                                                         @RequestParam(value = "startDate", required = false) String startDate,
-                                                         @RequestParam(value = "endDate", required = false) String endDate) {
-        return ApiResult.success(alarmFireService.fireStatistics(companyName, alarmType, startDate, endDate));
+    @GetMapping("inspectManageList")
+    public ApiResult<CommonPage<InspectManagerVO>> inspectManageList(@RequestParam(value = "inspectCode", required = false) String inspectCode,
+                                                                 @RequestParam(value = "deviceCode", required = false) String deviceCode,
+                                                                 @RequestParam(value = "handlingStatus", required = false) Integer handlingStatus,
+                                                                 @RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
+                                                                 @RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
+        return ApiResult.success(demInspectListService.inspectManageList(inspectCode, deviceCode, handlingStatus, pageNum, pageSize));
     }
 
 
     /**
-     * 事件管理-火警告警处置/隐患报警处理-火灾报警处置/故障告警处置-数据统计图
+     * 事件管理-数字平台电子督察单-数据统计
      *
-     * @param alarmType 告警类型(2 火警、4 故障、16 监管、100火警隐患等)
-     * @param startDate 开始时间  格式:yyyy-MM-dd HH:mm:ss
-     * @param endDate   结束时间  格式:yyyy-MM-dd HH:mm:ss
-     * @return
      */
-    @GetMapping("fireStatisticalChart")
-    public ApiResult<Map<String, Object>> fireStatisticalChart(@RequestParam(value = "alarmType", required = false) String alarmType,
-                                                               @RequestParam(value = "startDate", required = false) String startDate,
-                                                               @RequestParam(value = "endDate", required = false) String endDate) {
-        return ApiResult.success(alarmFireService.fireStatisticalChart(alarmType, startDate, endDate));
+    @GetMapping("inspectStatistics")
+    public ApiResult<Map<String, Object>> inspectStatistics(@RequestParam(value = "startDate", required = false) String startDate,
+                                                         @RequestParam(value = "endDate", required = false) String endDate) {
+        return ApiResult.success(demInspectListService.inspectStatistics(startDate, endDate));
     }
 
-
     /**
-     * 事件管理-火警告警处置/隐患报警处理-火灾报警处置/故障告警处置-告警处理
+     * 事件管理-数字平台/企业版-查看电子督察单
      *
-     * @param alarmFire
+     * @param inspectCode
+     * @return
+     */
+    @GetMapping("inspectInfo")
+    public ApiResult<List<InspectHandleVO>> inspectInfo(@RequestParam(value = "inspectCode") String inspectCode) {
+        return ApiResult.success(demInspectListService.inspectInfo(inspectCode));
+    }
+
+    /**
+     * 事件管理-企业版-填报电子督察单处理结果
+     * @param inspectCode  督察单编号
+     * @param handler    处理人
+     * @param handlerPhone  处理人联系电话
+     * @param deviceStatus  设备状态(1 已恢复 2 设备损坏 3 设备维修 4 设备停用)
+     * @param handlingContent   处理内容
+     * @param sitePhoto1    现场照片1
+     * @param sitePhoto2    现场照片2
+     * @param sitePhoto3    现场照片3
      * @return
      */
-    @Log(title = "告警处理", businessType = BusinessType.UPDATE)
-    @PutMapping("updateAlarmFire")
-    public ApiResult<Void> updateAlarmFire(@RequestBody AlarmFire alarmFire) {
-        alarmFireService.updateAlarmFire(alarmFire);
+    @Log(title = "企业版-填报电子督察单处理结果", businessType = BusinessType.UPDATE)
+    @PutMapping("updateInspectManage")
+    public ApiResult<Void> updateInspectManage(@RequestParam(value = "inspectCode") String inspectCode,
+                                               @RequestParam(value = "handler") String handler,
+                                               @RequestParam(value = "handlerPhone") String handlerPhone,
+                                               @RequestParam(value = "deviceStatus") Integer deviceStatus,
+                                               @RequestParam(value = "handlingContent") String handlingContent,
+                                               @RequestParam(value = "sitePhoto1") String sitePhoto1,
+                                               @RequestParam(value = "sitePhoto2", required = false) String sitePhoto2,
+                                               @RequestParam(value = "sitePhoto3", required = false) String sitePhoto3) {
+        demInspectListService.updateInspectManage(inspectCode, handler, handlerPhone, deviceStatus, handlingContent, sitePhoto1, sitePhoto2, sitePhoto3);
         return ApiResult.success();
     }
 }

+ 5 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/DemInspectList.java

@@ -72,6 +72,11 @@ public class DemInspectList implements Serializable {
      */
     private Integer handlingStatus;
 
+    /**
+     * 设备状态
+     */
+    private Integer deviceStatus;
+
     /**
      * 现场照片1
      */

+ 52 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/DemInspectListService.java

@@ -1,9 +1,17 @@
 package com.usky.fire.service;
 
+import com.usky.common.core.bean.ApiResult;
 import com.usky.common.core.bean.CommonPage;
+import com.usky.common.log.annotation.Log;
+import com.usky.common.log.enums.BusinessType;
 import com.usky.fire.domain.DemInspectList;
 import com.usky.common.mybatis.core.CrudService;
 import com.usky.fire.service.vo.*;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -19,6 +27,50 @@ public interface DemInspectListService extends CrudService<DemInspectList> {
      */
     CommonPage<InspectDetailVO> demInspectList(String inspectCode, String companyName, String deviceCode, Integer handlingStatus, Integer pageNum, Integer pageSize);
 
+    /**
+     * 件管理-企业电子督察单-列表管理
+     */
+    CommonPage<InspectManagerVO> inspectManageList(String inspectCode, String deviceCode, Integer handlingStatus, Integer pageNum, Integer pageSize);
+
+    /**
+     * 事件管理-电子督察单-数据统计
+     * @param startDate
+     * @param endDate
+     * @return
+     */
+    Map<String, Object> inspectStatistics(String startDate, String endDate);
+
+    /**
+     * 电子督察单数量
+     * @param companyIdList
+     * @param handlingStatus 处置状态(1 已处置 2 待处置 3 超时未处置)
+     * @param startDate
+     * @param endDate
+     * @return
+     */
+    Integer inspectCount(List<String> companyIdList, Integer handlingStatus, String startDate, String endDate);
+
+    /**
+     * 事件管理-数字平台/企业版-查看电子督察单
+     *
+     * @param inspectCode
+     * @return
+     */
+    List<InspectHandleVO> inspectInfo(String inspectCode);
+
+    /**
+     * 事件管理-企业版-填报电子督察单处理结果
+     * @param inspectCode  督察单编号
+     * @param handler    处理人
+     * @param handlerPhone  处理人联系电话
+     * @param deviceStatus  设备状态(1 已恢复 2 设备损坏 3 设备维修 4 设备停用)
+     * @param handlingContent   处理内容
+     * @param sitePhoto1    现场照片1
+     * @param sitePhoto2    现场照片2
+     * @param sitePhoto3    现场照片3
+     */
+    void updateInspectManage(String inspectCode, String handler, String handlerPhone, Integer deviceStatus, String handlingContent, String sitePhoto1, String sitePhoto2, String sitePhoto3);
+
     /**
      * 定时任务-生成待处置和超时未处置的电子督察单
      */

+ 152 - 8
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/DemInspectListServiceImpl.java

@@ -14,7 +14,10 @@ import com.usky.fire.domain.*;
 import com.usky.fire.mapper.DemInspectListMapper;
 import com.usky.fire.service.DemInspectListService;
 import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.fire.service.util.OnlineMethod;
 import com.usky.fire.service.vo.InspectDetailVO;
+import com.usky.fire.service.vo.InspectHandleVO;
+import com.usky.fire.service.vo.InspectManagerVO;
 import org.apache.commons.lang.time.DateFormatUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -23,10 +26,7 @@ import com.usky.fire.service.*;
 
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
+import java.util.*;
 
 /**
  * <p>
@@ -57,16 +57,19 @@ public class DemInspectListServiceImpl extends AbstractCrudService<DemInspectLis
     public CommonPage<InspectDetailVO> demInspectList(String inspectCode, String companyName, String deviceCode, Integer handlingStatus, Integer pageNum, Integer pageSize){
         IPage<DemInspectList> page = new Page<>(pageNum, pageSize);
         List<InspectDetailVO> list = new ArrayList<>();
+        List<BaseCompany> companyIdList = new ArrayList<>();
         LambdaQueryWrapper<BaseUserCompany> QueryWrapper = Wrappers.lambdaQuery();
         QueryWrapper.select(BaseUserCompany::getCompanyId)
                 .eq(BaseUserCompany::getUserId, SecurityUtils.getUserId());
         List<BaseUserCompany> comoanyList = baseUserCompanyService.list(QueryWrapper);
 
         LambdaQueryWrapper<BaseCompany> QueryWrapperCompany = Wrappers.lambdaQuery();
-        QueryWrapperCompany.select(BaseCompany::getCompanyId)
-                .eq(BaseCompany::getEnable, 0)
-                .like(StringUtils.isNotBlank(companyName), BaseCompany::getCompanyName, companyName);
-        List<BaseCompany> companyIdList = baseCompanyService.list(QueryWrapperCompany);
+        if(StringUtils.isNotBlank(companyName)){
+            QueryWrapperCompany.select(BaseCompany::getCompanyId)
+                    .eq(BaseCompany::getEnable, 0)
+                    .like(BaseCompany::getCompanyName, companyName);
+            companyIdList = baseCompanyService.list(QueryWrapperCompany);
+        }
 
         if(CollectionUtils.isNotEmpty(comoanyList)){
             List<String> companyList = new ArrayList<>();
@@ -120,13 +123,154 @@ public class DemInspectListServiceImpl extends AbstractCrudService<DemInspectLis
 
                     inspectDetailVO.setHandlingStatus(page.getRecords().get(k).getHandlingStatus());
                     inspectDetailVO.setInspectTime(page.getRecords().get(k).getCreateTime());
+                    list.add(inspectDetailVO);
+                }
+            }
+        }
+        return new CommonPage<>(list, page.getTotal(), pageSize, pageNum);
+    }
+
+    @Override
+    public CommonPage<InspectManagerVO> inspectManageList(String inspectCode, String deviceCode, Integer handlingStatus, Integer pageNum, Integer pageSize){
+        IPage<DemInspectList> page = new Page<>(pageNum, pageSize);
+        List<InspectManagerVO> list = new ArrayList<>();
+        LambdaQueryWrapper<BaseUserCompany> QueryWrapper = Wrappers.lambdaQuery();
+        QueryWrapper.select(BaseUserCompany::getCompanyId)
+                .eq(BaseUserCompany::getUserId, SecurityUtils.getUserId());
+        List<BaseUserCompany> comoanyList = baseUserCompanyService.list(QueryWrapper);
 
+        if(CollectionUtils.isNotEmpty(comoanyList)){
+            List<String> companyList = new ArrayList<>();
+            for(int i=0;i<comoanyList.size();i++){
+                companyList.add(comoanyList.get(i).getCompanyId());
+            }
+
+            LambdaQueryWrapper<DemInspectList> QueryWrapper1 = Wrappers.lambdaQuery();
+            QueryWrapper1.in(DemInspectList::getCompanyId,companyList)
+                    .eq(StringUtils.isNotBlank(inspectCode), DemInspectList::getInspectCode, inspectCode)
+                    .eq(StringUtils.isNotBlank(deviceCode), DemInspectList::getDeviceId, deviceCode)
+                    .eq(handlingStatus != null, DemInspectList::getHandlingStatus, handlingStatus);
+            QueryWrapper1.orderByDesc(DemInspectList::getId);
+            page = this.page(page, QueryWrapper1);
+            if(page.getTotal() > 0){
+                for(int k=0;k<page.getRecords().size();k++){
+                    InspectManagerVO inspectManagerVO = new InspectManagerVO();
+                    inspectManagerVO.setInspectCode(page.getRecords().get(k).getInspectCode());
+                    inspectManagerVO.setInspectTime(page.getRecords().get(k).getCreateTime());
+                    inspectManagerVO.setInspectRequiredTime(page.getRecords().get(k).getCreateTime().plusMinutes(30));
+                    inspectManagerVO.setCreater(page.getRecords().get(k).getCreator());
+                    inspectManagerVO.setDeviceCode(page.getRecords().get(k).getDeviceId());
+                    //设备名称
+                    LambdaQueryWrapper<BaseDevice> QueryWrapperDevice = Wrappers.lambdaQuery();
+                    QueryWrapperDevice.select(BaseDevice::getDeviceCode,BaseDevice::getDeviceName,BaseDevice::getInstallAddress)
+                            .eq(BaseDevice::getDeviceCode, page.getRecords().get(k).getDeviceId());
+                    List<BaseDevice> deviceList = baseDeviceService.list(QueryWrapperDevice);
+                    inspectManagerVO.setDeviceName(deviceList.get(0).getDeviceName());
+                    //设备报告内容
+                    LambdaQueryWrapper<AlarmFire> QueryWrapperAlarm = Wrappers.lambdaQuery();
+                    QueryWrapperAlarm.select(AlarmFire::getAlarmTime, AlarmFire::getAttributeValue2, AlarmFire::getAttributeValue4)
+                            .eq(AlarmFire::getId, page.getRecords().get(k).getAlarmId());
+                    List<AlarmFire> alarmFireList = alarmFireService.list(QueryWrapperAlarm);
+                    inspectManagerVO.setDeviceContent(alarmFireList.get(0).getAttributeValue2()+" "+alarmFireList.get(0).getAttributeValue4());
+                    inspectManagerVO.setHandlingStatus(page.getRecords().get(k).getHandlingStatus());
+                    inspectManagerVO.setHandlingTime(page.getRecords().get(k).getHandlingTime());
+                    list.add(inspectManagerVO);
                 }
             }
         }
         return new CommonPage<>(list, page.getTotal(), pageSize, pageNum);
     }
 
+    @Override
+    public Map<String,Object> inspectStatistics(String startDate, String endDate){
+        LambdaQueryWrapper<BaseUserCompany> QueryWrapper = Wrappers.lambdaQuery();
+        QueryWrapper.select(BaseUserCompany::getCompanyId)
+                .eq(BaseUserCompany::getUserId,SecurityUtils.getUserId());
+        List<BaseUserCompany> comoanyList = baseUserCompanyService.list(QueryWrapper);
+        int untreated = 0; //待处置
+        int processed = 0; //已处置
+        int current24Processed = 0; //过去24小时处置数
+        int overtimeUntreated = 0; //超时未处置
+        int count = 0; //督察单总数
+        String disposalRate = "0.00%";  //督察单处置率
+        if(CollectionUtils.isNotEmpty(comoanyList)){
+            List<String> companyList = new ArrayList<>();
+            for(int i=0;i<comoanyList.size();i++) {
+                companyList.add(comoanyList.get(i).getCompanyId());
+            }
+                
+            untreated = this.inspectCount(companyList, 2, startDate, endDate);
+            processed = this.inspectCount(companyList, 1, startDate, endDate);
+            current24Processed = this.inspectCount(companyList, 1, LocalDateTime.now().minusHours(24).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+            overtimeUntreated = this.inspectCount(companyList, 3, startDate, endDate);
+            count = untreated + processed + overtimeUntreated;
+            disposalRate = OnlineMethod.myPercent(processed,count);
+        }
+        Map<String, Object> map = new HashMap<>();
+        map.put("current24Processed",current24Processed);
+        map.put("processed",processed);
+        map.put("untreated",untreated);
+        map.put("overtimeUntreated",overtimeUntreated);
+        map.put("disposalRate",disposalRate);
+
+        return map;
+    }
+
+    @Override
+    public Integer inspectCount(List<String> companyIdList, Integer handlingStatus, String startDate, String endDate){
+        LambdaQueryWrapper<DemInspectList> QueryWrapper = Wrappers.lambdaQuery();
+        if(companyIdList.size() > 0){
+            QueryWrapper.in(CollectionUtils.isNotEmpty(companyIdList), DemInspectList::getCompanyId, companyIdList);
+        }
+        QueryWrapper.eq(handlingStatus != null, DemInspectList::getHandlingStatus, handlingStatus)
+                .between(StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate), DemInspectList::getCreateTime, startDate, endDate);
+        int total = this.count(QueryWrapper);
+        return total;
+    }
+
+    @Override
+    public List<InspectHandleVO> inspectInfo(String inspectCode){
+        List<InspectHandleVO> list = new ArrayList<>();
+
+        LambdaQueryWrapper<DemInspectList> QueryWrapper = Wrappers.lambdaQuery();
+        QueryWrapper.select(DemInspectList::getHandlingTime, DemInspectList::getDeviceStatus, DemInspectList::getHandler, DemInspectList::getHandlerPhone,
+                DemInspectList::getHandlingContent, DemInspectList::getSitePhoto1, DemInspectList::getSitePhoto2, DemInspectList::getSitePhoto3)
+                .eq(DemInspectList::getInspectCode, inspectCode);
+        List<DemInspectList> list1 = this.list(QueryWrapper);
+        if(list1.size() > 0){
+            InspectHandleVO inspectHandleVO = new InspectHandleVO();
+            inspectHandleVO.setHandlingTime(list1.get(0).getHandlingTime());
+            inspectHandleVO.setDeviceStatus(list1.get(0).getDeviceStatus());
+            inspectHandleVO.setHandler(list1.get(0).getHandler());
+            inspectHandleVO.setHandlerPhone(list1.get(0).getHandlerPhone());
+            inspectHandleVO.setHandlingContent(list1.get(0).getHandlingContent());
+            inspectHandleVO.setSitePhoto1(list1.get(0).getSitePhoto1());
+            inspectHandleVO.setSitePhoto2(list1.get(0).getSitePhoto2());
+            inspectHandleVO.setSitePhoto3(list1.get(0).getSitePhoto3());
+            list.add(inspectHandleVO);
+        }
+
+        return list;
+    }
+
+    @Override
+    public void updateInspectManage(String inspectCode, String handler, String handlerPhone, Integer deviceStatus, String handlingContent, String sitePhoto1, String sitePhoto2, String sitePhoto3){
+        LambdaQueryWrapper<DemInspectList> QueryWrapper = Wrappers.lambdaQuery();
+        QueryWrapper.eq(DemInspectList::getInspectCode, inspectCode);
+        List<DemInspectList> list = this.list(QueryWrapper);
+        if(list.size() > 0){
+            list.get(0).setHandler(handler);
+            list.get(0).setHandlerPhone(handlerPhone);
+            list.get(0).setHandlingTime(LocalDateTime.now());
+            list.get(0).setDeviceStatus(deviceStatus);
+            list.get(0).setHandlingContent(handlingContent);
+            list.get(0).setSitePhoto1(sitePhoto1);
+            list.get(0).setSitePhoto2(sitePhoto2);
+            list.get(0).setSitePhoto3(sitePhoto3);
+            list.get(0).setHandlingStatus(1);
+            this.updateById(list.get(0));
+        }
+    }
 
 
     @Transactional

+ 2 - 2
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/vo/InspectHandleVO.java

@@ -47,10 +47,10 @@ public class InspectHandleVO {
     /**
      * 现场照片2
      */
-    private String sitePhone2;
+    private String sitePhoto2;
 
     /**
      * 现场照片3
      */
-    private String sitePhone3;
+    private String sitePhoto3;
 }