|
@@ -3,16 +3,18 @@ package com.usky.fire.service.impl;
|
|
|
import cn.hutool.core.date.DateUnit;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.usky.common.core.bean.CommonPage;
|
|
|
import com.usky.common.security.utils.SecurityUtils;
|
|
|
-import com.usky.fire.domain.AlarmFire;
|
|
|
-import com.usky.fire.domain.BaseUserCompany;
|
|
|
-import com.usky.fire.domain.BscEnterpriseAutonomy;
|
|
|
-import com.usky.fire.domain.DemInspectList;
|
|
|
+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.vo.InspectDetailVO;
|
|
|
import org.apache.commons.lang.time.DateFormatUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -39,9 +41,97 @@ public class DemInspectListServiceImpl extends AbstractCrudService<DemInspectLis
|
|
|
@Autowired
|
|
|
private AlarmFireService alarmFireService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private BaseUserCompanyService baseUserCompanyService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private BaseCompanyService baseCompanyService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private BaseDeviceService baseDeviceService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private BaseCompanyPersonService baseCompanyPersonService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ 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<>();
|
|
|
+ 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(CollectionUtils.isNotEmpty(comoanyList)){
|
|
|
+ List<String> companyList = new ArrayList<>();
|
|
|
+ for(int i=0;i<comoanyList.size();i++){
|
|
|
+ companyList.add(comoanyList.get(i).getCompanyId());
|
|
|
+ }
|
|
|
+ for(int j=0;j<companyIdList.size();j++){
|
|
|
+ companyList.add(comoanyList.get(j).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++){
|
|
|
+ InspectDetailVO inspectDetailVO = new InspectDetailVO();
|
|
|
+ inspectDetailVO.setInspectCode(page.getRecords().get(k).getInspectCode());
|
|
|
+ inspectDetailVO.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);
|
|
|
+ inspectDetailVO.setDeviceName(deviceList.get(0).getDeviceName());
|
|
|
+ inspectDetailVO.setInstallAddress(deviceList.get(0).getInstallAddress());
|
|
|
+ //设备报告内容和报告时间
|
|
|
+ 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);
|
|
|
+ inspectDetailVO.setAlarmTime(alarmFireList.get(0).getAlarmTime());
|
|
|
+ inspectDetailVO.setDeviceContent(alarmFireList.get(0).getAttributeValue2()+" "+alarmFireList.get(0).getAttributeValue4());
|
|
|
+
|
|
|
+ LambdaQueryWrapper<BaseCompanyPerson> queryWrapperPerson = Wrappers.lambdaQuery();
|
|
|
+ queryWrapperPerson.select(BaseCompanyPerson::getCompanyName, BaseCompanyPerson::getDelegateName, BaseCompanyPerson::getDelegatePhone,
|
|
|
+ BaseCompanyPerson::getFireDutyName, BaseCompanyPerson::getFireDutyPhone,
|
|
|
+ BaseCompanyPerson::getFireManageName, BaseCompanyPerson::getFireManagePhone)
|
|
|
+ .in(BaseCompanyPerson::getCompanyId, page.getRecords().get(k).getCompanyId());
|
|
|
+ List<BaseCompanyPerson> companyPersonList = baseCompanyPersonService.list(queryWrapperPerson);
|
|
|
+ inspectDetailVO.setCompanyName(companyPersonList.get(0).getCompanyName());
|
|
|
+ inspectDetailVO.setDelegateName(companyPersonList.get(0).getDelegateName());
|
|
|
+ inspectDetailVO.setDelegatePhone(companyPersonList.get(0).getDelegatePhone());
|
|
|
+ inspectDetailVO.setFireDutyName(companyPersonList.get(0).getFireDutyName());
|
|
|
+ inspectDetailVO.setFireDutyPhone(companyPersonList.get(0).getFireDutyPhone());
|
|
|
+ inspectDetailVO.setFireManageName(companyPersonList.get(0).getFireManageName());
|
|
|
+ inspectDetailVO.setFireManagePhone(companyPersonList.get(0).getFireManagePhone());
|
|
|
+
|
|
|
+ inspectDetailVO.setHandlingStatus(page.getRecords().get(k).getHandlingStatus());
|
|
|
+ inspectDetailVO.setInspectTime(page.getRecords().get(k).getCreateTime());
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return new CommonPage<>(list, page.getTotal(), pageSize, pageNum);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
@Transactional
|
|
|
@Override
|
|
|
- //先判断处理状态为未处理的告警,然后再判断告警时间距离当前时间超过半小时
|
|
|
+ //先判断处理状态为未处理的告警,然后再判断告警时间距离当前时间在过去一小时至过去半小时之间的数据
|
|
|
public void demInspectAutoTask() {
|
|
|
//未处置电子督察单
|
|
|
LambdaQueryWrapper<AlarmFire> QueryWrapper = Wrappers.lambdaQuery();
|
|
@@ -51,7 +141,7 @@ public class DemInspectListServiceImpl extends AbstractCrudService<DemInspectLis
|
|
|
QueryWrapper.select(AlarmFire::getDeviceCode,AlarmFire::getId,AlarmFire::getCompanyId)
|
|
|
.in(AlarmFire::getAlarmType,alarmTypeList)
|
|
|
.eq(AlarmFire::getHandlingStatus, 0)
|
|
|
- .lt(AlarmFire::getAlarmTime, LocalDateTime.now().minusMinutes(30).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
|
|
+ .between(AlarmFire::getAlarmTime, LocalDateTime.now().minusMinutes(60).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")), LocalDateTime.now().minusMinutes(30).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
|
|
List<AlarmFire> list = alarmFireService.list(QueryWrapper);
|
|
|
if(CollectionUtils.isNotEmpty(list)){
|
|
|
for(int i=0;i<list.size();i++){
|