|
@@ -1,636 +0,0 @@
|
|
|
-package com.sooka.sponest.event.centereventteventcatalogue.service.impl;
|
|
|
-
|
|
|
-import com.ruoyi.common.core.utils.DateUtils;
|
|
|
-import com.ruoyi.common.core.utils.SpringUtils;
|
|
|
-import com.ruoyi.common.core.utils.StringUtils;
|
|
|
-import com.ruoyi.common.core.utils.file.FilePrefixUtils;
|
|
|
-import com.ruoyi.common.core.utils.uuid.IdUtils;
|
|
|
-import com.ruoyi.common.datascope.annotation.DataScopeMutiDept;
|
|
|
-import com.ruoyi.common.datascope.base.service.BaseService;
|
|
|
-import com.ruoyi.common.log.enums.BusinessType;
|
|
|
-import com.ruoyi.common.security.utils.SecurityUtils;
|
|
|
-import com.ruoyi.system.api.RemoteDeptService;
|
|
|
-import com.ruoyi.system.api.RemoteUserService;
|
|
|
-import com.ruoyi.system.api.domain.SysDept;
|
|
|
-import com.ruoyi.system.api.domain.SysUser;
|
|
|
-import com.sooka.sponest.event.centereventtdeptevent.domain.CentereventDeptEvent;
|
|
|
-import com.sooka.sponest.event.centereventtdeptevent.service.ICentereventDeptEventService;
|
|
|
-import com.sooka.sponest.event.centereventteventcatalogue.domain.CentereventTEventcatalogue;
|
|
|
-import com.sooka.sponest.event.centereventteventcatalogue.domain.bo.CentereventtDeptEventBO;
|
|
|
-import com.sooka.sponest.event.centereventteventcatalogue.domain.bo.LatLng;
|
|
|
-import com.sooka.sponest.event.centereventteventcatalogue.mapper.CentereventTEventcatalogueMapper;
|
|
|
-import com.sooka.sponest.event.centereventteventcatalogue.service.ICentereventTDownloadsService;
|
|
|
-import com.sooka.sponest.event.centereventteventcatalogue.service.ICentereventTEventcatalogueService;
|
|
|
-import com.sooka.sponest.event.centereventteventtype.domain.CentereventTEventtype;
|
|
|
-import com.sooka.sponest.event.centereventteventtype.service.ICentereventTEventtypeService;
|
|
|
-import com.sooka.sponest.event.centereventteventtypemapdept.domain.CentereventTEventtypemapdept;
|
|
|
-import com.sooka.sponest.event.centereventteventtypemapdept.service.ICentereventTEventtypemapdeptService;
|
|
|
-import com.sooka.sponest.event.centereventtfireevent.domain.CentereventTFireEvent;
|
|
|
-import com.sooka.sponest.event.centereventtfireevent.mapper.CentereventTFireEventMapper;
|
|
|
-import com.sooka.sponest.event.centereventtfireinformation.service.ICentereventTFireInformationService;
|
|
|
-import com.sooka.sponest.event.centereventtfirelog.domain.CentereventTFireLog;
|
|
|
-import com.sooka.sponest.event.centereventtfirelog.service.ICentereventTFireLogService;
|
|
|
-import com.sooka.sponest.event.centereventtforestfireloss.service.ICentereventTForestFireLossService;
|
|
|
-import com.sooka.sponest.event.centereventtregionalflag.domain.RegionalFlag;
|
|
|
-import com.sooka.sponest.event.centereventtregionalflag.mapper.CentereventTRegionalFlagMapper;
|
|
|
-import com.sooka.sponest.event.remoteapi.RemoteDataService;
|
|
|
-import com.sooka.sponest.event.remoteapi.domain.CenterdataTAttach;
|
|
|
-import com.sooka.sponest.event.urge.domain.EventReminder;
|
|
|
-import com.sooka.sponest.event.urge.domain.EventUrge;
|
|
|
-import com.sooka.sponest.event.urge.service.EventUrgeService;
|
|
|
-import com.sooka.sponest.event.utils.EventProducerUtil;
|
|
|
-import com.sooka.sponest.event.utils.RemoteApiUtil;
|
|
|
-import com.sooka.sponest.monitor.api.domain.CenterdataTAidevicedept;
|
|
|
-import org.slf4j.Logger;
|
|
|
-import org.slf4j.LoggerFactory;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.context.ApplicationContext;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
-
|
|
|
-import java.util.*;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-
|
|
|
-import static com.sooka.sponest.event.utils.EventConstants.*;
|
|
|
-
|
|
|
-/**
|
|
|
- * 事件目录Service业务层处理
|
|
|
- *
|
|
|
- * @author ruoyi
|
|
|
- * @date 2022-08-27
|
|
|
- */
|
|
|
-@Service
|
|
|
-public class CentereventTEventcatalogueServiceImpl extends BaseService implements ICentereventTEventcatalogueService {
|
|
|
-
|
|
|
- protected final Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private CentereventTEventcatalogueMapper centereventTEventcatalogueMapper;
|
|
|
- @Autowired
|
|
|
- private CentereventTFireEventMapper centereventTFireEventMapper;
|
|
|
- @Autowired
|
|
|
- private ICentereventTFireLogService centereventTFireLogService;
|
|
|
- @Autowired
|
|
|
- private RemoteDataService remoteDataService;
|
|
|
- @Autowired
|
|
|
- private ICentereventDeptEventService centereventDeptEventService;
|
|
|
- @Autowired
|
|
|
- private ICentereventTEventtypemapdeptService centereventTEventtypemapdeptService;
|
|
|
- @Autowired
|
|
|
- private ICentereventTFireInformationService centereventTFireInformationService;
|
|
|
- @Autowired
|
|
|
- private ICentereventTForestFireLossService centereventTForestFireLossService;
|
|
|
- @Autowired
|
|
|
- private CentereventTRegionalFlagMapper centereventTRegionalFlagMapper;
|
|
|
- @Autowired
|
|
|
- private ApplicationContext applicationContext;// 注入应用上下文
|
|
|
- @Autowired
|
|
|
- private EventUrgeService eventUrgeService;
|
|
|
- @Autowired
|
|
|
- private ICentereventTDownloadsService centereventTDownloadsService;
|
|
|
-
|
|
|
- @DataScopeMutiDept(deptAlias = "c")
|
|
|
- @Override
|
|
|
- public List<CentereventTEventcatalogue> listByPc(CentereventTEventcatalogue centereventTEventcatalogue) {
|
|
|
- setSookaDataBase(centereventTEventcatalogue);
|
|
|
- return centereventTEventcatalogueMapper.selectCentereventTEventcatalogueListByPc(centereventTEventcatalogue);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 查询事件目录
|
|
|
- *
|
|
|
- * @param id 事件目录主键
|
|
|
- * @return 事件目录
|
|
|
- */
|
|
|
- @Override
|
|
|
- public CentereventTEventcatalogue selectCentereventTEventcatalogueById(String id) {
|
|
|
- return centereventTEventcatalogueMapper.selectCentereventTEventcatalogueById(id);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public CentereventTEventcatalogue selectCentereventTEventcatalogueByEventCode(String eventCode) {
|
|
|
- CentereventTEventcatalogue centereventTEventcatalogue = centereventTEventcatalogueMapper.selectCentereventTEventcatalogueByEventCode(eventCode);
|
|
|
- // 签收状态、办结且审核通过时显示后续流程按钮(办结、归档)
|
|
|
- List<Long> deptIds = null;
|
|
|
- if (FOREST_EVENT_STATUS_2.equals(centereventTEventcatalogue.getEventStatusValue()) ||
|
|
|
- (FOREST_EVENT_STATUS_5.equals(centereventTEventcatalogue.getEventStatusValue()) && "1".equals(centereventTEventcatalogue.getIsExamine()))) {
|
|
|
- deptIds = centereventDeptEventService.selectByEventCode(eventCode).stream().map(CentereventDeptEvent::getDeptId).collect(Collectors.toList());
|
|
|
- if (deptIds.contains(centereventTEventcatalogue.getDeptId())) {
|
|
|
- centereventTEventcatalogue.setStatusFlag("1");// 可视化是否显示办结、归档按钮
|
|
|
- }
|
|
|
- }
|
|
|
- // 获取审核权限
|
|
|
- if (FOREST_EVENT_STATUS_5.equals(centereventTEventcatalogue.getEventStatusValue()) && "0".equals(centereventTEventcatalogue.getIsExamine())) {
|
|
|
- deptIds = SpringUtils.getBean(RemoteDeptService.class).findParentIdByChildDeptIdAndParentType(centereventTEventcatalogue.getDeptId(), "sys_dept_type_17,sys_dept_type_18").getData();
|
|
|
- if (StringUtils.isNotEmpty(deptIds) && deptIds.contains(SecurityUtils.getLoginUser().getSysUser().getDeptId())) {
|
|
|
- centereventTEventcatalogue.setStatusFlag("2");// 可视化是否显示审核按钮
|
|
|
- }
|
|
|
- }
|
|
|
- return centereventTEventcatalogue;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public CentereventTEventcatalogue selectCentereventTEventcatalogueByEventCode(CentereventTEventcatalogue centereventTEventcatalogue) {
|
|
|
- return centereventTEventcatalogueMapper.selectCentereventTEventcatalogueByCode(centereventTEventcatalogue);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 新增事件目录
|
|
|
- *
|
|
|
- * @param centereventTEventcatalogue 事件目录
|
|
|
- * @return 结果
|
|
|
- */
|
|
|
- @Transactional
|
|
|
- @Override
|
|
|
- public int insertCentereventTEventcatalogue(CentereventTEventcatalogue centereventTEventcatalogue) {
|
|
|
- centereventTEventcatalogue.setDataStatus("0");// 处置状态
|
|
|
- if (null == centereventTEventcatalogue.getCreateName()) {// AI上报已赋值
|
|
|
- centereventTEventcatalogue.setCreateBy(SecurityUtils.getUserId().toString());
|
|
|
- centereventTEventcatalogue.setCreateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
|
|
- centereventTEventcatalogue.setCreateTime(DateUtils.getNowDate());
|
|
|
- }
|
|
|
- int result = centereventTEventcatalogueMapper.insertCentereventTEventcatalogue(centereventTEventcatalogue);
|
|
|
- // add rabbitmq
|
|
|
- EventProducerUtil.publish(centereventTEventcatalogue.getEventCode(), BusinessType.INSERT);
|
|
|
- // 事件催办、可视化socket推送
|
|
|
- applicationContext.publishEvent(new EventUrge(eventUrgeService, centereventTEventcatalogue));
|
|
|
- return result;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 新增事件目录
|
|
|
- *
|
|
|
- * @param centereventTEventcatalogue 事件目录
|
|
|
- * @return 结果
|
|
|
- */
|
|
|
- @Transactional
|
|
|
- @Override
|
|
|
- public int addCentereventTEventcatalogue(CentereventTEventcatalogue centereventTEventcatalogue) {
|
|
|
- String eventCode = IdUtils.fastSimpleUUID();
|
|
|
- CentereventTFireLog centereventTFireLog = new CentereventTFireLog();
|
|
|
- centereventTEventcatalogue.setId(IdUtils.fastSimpleUUID());
|
|
|
- centereventTEventcatalogue.setEventCode(eventCode);
|
|
|
- if (StringUtils.isEmpty(centereventTEventcatalogue.getReportSource())) {
|
|
|
- centereventTEventcatalogue.setReportSource("reporting_source_2");
|
|
|
- centereventTFireLog.setOperationType(LOG_OPER_TYPE_1);
|
|
|
- } else {
|
|
|
- //APP上报图片
|
|
|
- centereventTFireLog.setOperationType("log_oper_type_2");
|
|
|
- }
|
|
|
- centereventTEventcatalogue.setReportor(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
|
|
- centereventTEventcatalogue.setReportTime(new Date());
|
|
|
- centereventTEventcatalogue.setIsUrged(SYS_ISURGE_2);
|
|
|
- centereventTEventcatalogue.setEventStatus("签收");
|
|
|
- centereventTEventcatalogue.setEventStatusValue(FOREST_EVENT_STATUS_2);
|
|
|
- centereventTEventcatalogue.setCreateBy(SecurityUtils.getUserId().toString());
|
|
|
- centereventTEventcatalogue.setCreateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
|
|
- centereventTEventcatalogue.setCreateTime(DateUtils.getNowDate());
|
|
|
-
|
|
|
- CentereventTFireEvent centereventTFireEvent = new CentereventTFireEvent();
|
|
|
- centereventTFireEvent.setEventCode(centereventTEventcatalogue.getEventCode());
|
|
|
- centereventTFireEvent.setId(IdUtils.fastSimpleUUID());
|
|
|
- centereventTFireEvent.setFireRadius(StringUtils.isBlank(centereventTEventcatalogue.getFireRadius()) ? "0" : centereventTEventcatalogue.getFireRadius());
|
|
|
- centereventTFireEvent.setReserve(centereventTEventcatalogue.getReserve());
|
|
|
- centereventTFireEvent.setCreateBy(SecurityUtils.getUserId().toString());
|
|
|
- centereventTFireEvent.setCreateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
|
|
- centereventTFireEvent.setCreateTime(centereventTEventcatalogue.getCreateTime());
|
|
|
- centereventTFireEvent.setDeptId(centereventTEventcatalogue.getDeptId());
|
|
|
- centereventTFireEvent.setDeptName(centereventTEventcatalogue.getDeptName());
|
|
|
- centereventTFireEventMapper.insertCentereventTFireEvent(centereventTFireEvent);
|
|
|
-
|
|
|
- centereventTFireLog.setId(IdUtils.fastSimpleUUID());
|
|
|
- centereventTFireLog.setEventCode(eventCode);
|
|
|
- centereventTFireLog.setOperation(BUS_OPER_TYPE_1);
|
|
|
- centereventTFireLog.setLogContent(centereventTEventcatalogue.getEventName() + " " + centereventTEventcatalogue.getEventTypeXlName() + System.getProperty("line.separator") + centereventTEventcatalogue.getEventDescription());
|
|
|
- centereventTFireLog.setCreateBy(SecurityUtils.getUserId().toString());
|
|
|
- centereventTFireLog.setCreateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
|
|
- centereventTFireLog.setCreateTime(centereventTEventcatalogue.getCreateTime());
|
|
|
- centereventTFireLogService.insertCentereventTFireLog(centereventTFireLog);
|
|
|
-
|
|
|
- if (StringUtils.isNotEmpty(centereventTEventcatalogue.getAttach())) {
|
|
|
- for (int i = 0; i < centereventTEventcatalogue.getAttach().size(); i++) {
|
|
|
- CenterdataTAttach attach = new CenterdataTAttach();
|
|
|
- attach.setBusId(centereventTFireLog.getId());
|
|
|
- attach.setAttachPath(centereventTEventcatalogue.getAttach().get(i).getAttachPath());
|
|
|
- attach.setBusIndx(BUS_INDEX_1);
|
|
|
- attach.setBusSource("reporting_source_2".equals(centereventTEventcatalogue.getReportSource()) ? "PC" : "APP");
|
|
|
- attach.setFileName(centereventTEventcatalogue.getAttach().get(i).getFileName());
|
|
|
- attach.setFileType(FilePrefixUtils.getUrlSuffix(centereventTEventcatalogue.getAttach().get(i).getAttachPath()));
|
|
|
- attach.setAttachSorts(i);
|
|
|
- attach(attach);
|
|
|
- remoteDataService.insertAttach(attach);
|
|
|
- }
|
|
|
- }
|
|
|
- CentereventDeptEvent centereventDeptEvent = new CentereventDeptEvent();
|
|
|
- centereventDeptEvent.setId(IdUtils.fastSimpleUUID());
|
|
|
- centereventDeptEvent.setEventCode(eventCode);
|
|
|
- centereventDeptEvent.setEventStatus("签收");
|
|
|
- centereventDeptEvent.setEventStatusValue(FOREST_EVENT_STATUS_2);
|
|
|
- centereventDeptEvent.setIsUrged(SYS_ISURGE_2);
|
|
|
- centereventDeptEvent.setDeptId(centereventTEventcatalogue.getDeptId());
|
|
|
- centereventDeptEvent.setDeptName(centereventTEventcatalogue.getDeptName());
|
|
|
- centereventDeptEvent.setDeptHandleType("dept_handleType_2");
|
|
|
- centereventDeptEvent.setCreateBy(SecurityUtils.getUserId().toString());
|
|
|
- centereventDeptEvent.setCreateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
|
|
- centereventDeptEventService.insertCentereventTDeptEvent(centereventDeptEvent);
|
|
|
-// if (StringUtils.isNotEmpty(centereventTEventcatalogue.getHgjDeptId())) {
|
|
|
-// centereventDeptEvent.setId(IdUtils.fastSimpleUUID());
|
|
|
-// centereventDeptEvent.setDeptId(Long.parseLong(centereventTEventcatalogue.getHgjDeptId()));
|
|
|
-// centereventDeptEvent.setDeptName(centereventTEventcatalogue.getHgjDeptName());
|
|
|
-// centereventDeptEvent.setDeptHandleType(DEPT_HANDLE_TYPE_3);
|
|
|
-// centereventDeptEventService.insertCentereventTDeptEvent(centereventDeptEvent);
|
|
|
-// }
|
|
|
- // 市级行管局
|
|
|
- CentereventTEventtypemapdept centereventTEventtypemapdept = new CentereventTEventtypemapdept();
|
|
|
- centereventTEventtypemapdept.setEventTypeValue(centereventTEventcatalogue.getEventTypeXl());
|
|
|
- List<CentereventTEventtypemapdept> listHgj = centereventTEventtypemapdeptService.selectCentereventTEventtypemapdeptList(centereventTEventtypemapdept);
|
|
|
- List<String> types = new ArrayList<>();
|
|
|
- if (StringUtils.isNotEmpty(listHgj)) {
|
|
|
- listHgj.forEach(item -> {
|
|
|
- types.add(item.getDeptTypeDict());
|
|
|
- centereventDeptEvent.setId(IdUtils.fastSimpleUUID());
|
|
|
- centereventDeptEvent.setDeptId(item.getDeptId());
|
|
|
- centereventDeptEvent.setDeptName(item.getDeptName());
|
|
|
- centereventDeptEvent.setDeptHandleType(DEPT_HANDLE_TYPE_3);
|
|
|
- centereventDeptEventService.insertCentereventTDeptEvent(centereventDeptEvent);
|
|
|
- });
|
|
|
- }
|
|
|
- // 获取市级行管局人员手机号
|
|
|
- SysUser sysUser = new SysUser();
|
|
|
- sysUser.setDeptIds(listHgj.stream().map(CentereventTEventtypemapdept::getDeptId).collect(Collectors.toList()).toArray(new Long[listHgj.size()]));
|
|
|
- List<SysUser> sysUsers = SpringUtils.getBean(RemoteUserService.class).selectDeptAndUsersByIsShortmsg(sysUser).getData();
|
|
|
- Set<String> phones = new HashSet<>();
|
|
|
- Set<Long> userIds = new HashSet<>();
|
|
|
- if (StringUtils.isNotEmpty(sysUsers)) {
|
|
|
- phones = sysUsers.stream().map(SysUser::getPhonenumber).collect(Collectors.toSet());
|
|
|
- userIds = sysUsers.stream().map(SysUser::getUserId).collect(Collectors.toSet());
|
|
|
- }
|
|
|
- // 推送县区级行管局
|
|
|
- SysDept sysDept = new SysDept();
|
|
|
- sysDept.setDeptId(centereventTEventcatalogue.getDeptId());
|
|
|
- sysDept.setDeptTypes(types.toArray(new String[types.size()]));
|
|
|
- List<SysDept> sysDepts = SpringUtils.getBean(RemoteDeptService.class).selectDeptAndUsersByDeptType(sysDept).getData();
|
|
|
- if (StringUtils.isNotEmpty(sysDepts)) {
|
|
|
- for (SysDept item : sysDepts) {
|
|
|
- // 填充县区级人员手机号
|
|
|
- phones.addAll(item.getUsers().stream().map(SysUser::getPhonenumber).collect(Collectors.toList()));
|
|
|
- userIds.addAll(item.getUsers().stream().map(SysUser::getUserId).collect(Collectors.toList()));
|
|
|
- centereventDeptEvent.setId(IdUtils.fastSimpleUUID());
|
|
|
- centereventDeptEvent.setDeptId(item.getDeptId());
|
|
|
- centereventDeptEvent.setDeptName(item.getDeptName());
|
|
|
- centereventDeptEvent.setDeptHandleType(DEPT_HANDLE_TYPE_3);
|
|
|
- centereventDeptEventService.insertCentereventTDeptEvent(centereventDeptEvent);
|
|
|
- }
|
|
|
- }
|
|
|
- String userName = SecurityUtils.getLoginUser().getSysUser().getNickName();
|
|
|
- String phone = SecurityUtils.getLoginUser().getSysUser().getPhonenumber();
|
|
|
- String message = centereventTEventcatalogue.getAddress() + "发生" + centereventTEventcatalogue.getEventTypeXlName() + "事件,请联系:" + userName + ",联系电话:" + phone;
|
|
|
- // 消息发送
|
|
|
- RemoteApiUtil.getInstance().sendMessage(phones, message, centereventTEventcatalogue.getEventCode(), centereventTEventcatalogue.getEventName());
|
|
|
- // 极光推送
|
|
|
- RemoteApiUtil.getInstance().sendJGMessage(userIds, message, centereventTEventcatalogue.getEventCode());
|
|
|
- return this.insertCentereventTEventcatalogue(centereventTEventcatalogue);
|
|
|
- }
|
|
|
-
|
|
|
- /*
|
|
|
- *ImageUpload返回是全路径,数据库保存不要ip和端口号
|
|
|
- */
|
|
|
- public void attach(CenterdataTAttach centerdataTAttach) {
|
|
|
- if (centerdataTAttach.getAttachPath().startsWith("http")) {
|
|
|
- String attachPath = centerdataTAttach.getAttachPath();
|
|
|
- if (centerdataTAttach.getAttachPath().contains("Download")) {
|
|
|
- int i1 = attachPath.indexOf("group=");
|
|
|
- attachPath = attachPath.replace("&&path=", "/");
|
|
|
- attachPath = attachPath.substring(i1 + 6);
|
|
|
- centerdataTAttach.setAttachPath(attachPath);
|
|
|
- } else {
|
|
|
- int i1 = attachPath.indexOf('/');
|
|
|
- int i2 = attachPath.indexOf('/', i1 + 1);
|
|
|
- int i3 = attachPath.indexOf('/', i2 + 1);
|
|
|
- centerdataTAttach.setAttachPath(centerdataTAttach.getAttachPath().substring(i3 + 1, attachPath.length()));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private ICentereventTEventtypeService centereventTEventtypeService;
|
|
|
-
|
|
|
- private void updateSublistByEventtype(CentereventtDeptEventBO centereventtDeptEventBO) {
|
|
|
- // 子表信息
|
|
|
- CentereventTEventtype centereventTEventtype = centereventTEventtypeService.selectCentereventTEventtypeById(centereventtDeptEventBO.getEventType());
|
|
|
-// if ("1".equals(centereventTEventtype.getParentId())) {
|
|
|
- CentereventTFireEvent centereventTFireEvent = new CentereventTFireEvent();
|
|
|
- centereventTFireEvent.setId(IdUtils.simpleUUID());
|
|
|
- centereventTFireEvent.setEventCode(centereventtDeptEventBO.getEventCode());
|
|
|
- centereventTFireEvent.setCreateBy(SecurityUtils.getUserId().toString());
|
|
|
- centereventTFireEvent.setCreateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
|
|
- centereventTFireEvent.setCreateTime(new Date());
|
|
|
- centereventTFireEvent.setReserve(centereventtDeptEventBO.getReserve());
|
|
|
- centereventTFireEvent.setFireRadius(centereventtDeptEventBO.getFireRadius());
|
|
|
- centereventTFireEvent.setDeptId(Long.parseLong(centereventtDeptEventBO.getDeptId()));
|
|
|
- centereventTFireEvent.setDeptName(centereventtDeptEventBO.getDeptName());
|
|
|
- centereventTFireEventMapper.insertCentereventTFireEvent(centereventTFireEvent);
|
|
|
-// }
|
|
|
- // 推送市级行管局
|
|
|
- CentereventTEventtypemapdept centereventTEventtypemapdept = new CentereventTEventtypemapdept();
|
|
|
- centereventTEventtypemapdept.setEventTypeValue(centereventTEventtype.getId());
|
|
|
- List<CentereventTEventtypemapdept> listHgj = centereventTEventtypemapdeptService.selectCentereventTEventtypemapdeptList(centereventTEventtypemapdept);
|
|
|
- List<String> types = new ArrayList<>();
|
|
|
- listHgj.forEach(item -> {
|
|
|
- types.add(item.getDeptTypeDict());
|
|
|
- CentereventDeptEvent centereventDeptEvent = new CentereventDeptEvent();
|
|
|
- centereventDeptEvent.setId(IdUtils.fastSimpleUUID());
|
|
|
- centereventDeptEvent.setEventCode(centereventtDeptEventBO.getEventCode());
|
|
|
- centereventDeptEvent.setDeptId(item.getDeptId());
|
|
|
- centereventDeptEvent.setDeptName(item.getDeptName());
|
|
|
- centereventDeptEvent.setDeptHandleType(DEPT_HANDLE_TYPE_3);
|
|
|
- centereventDeptEvent.setEventStatus("签收");
|
|
|
- centereventDeptEvent.setEventStatusValue(FOREST_EVENT_STATUS_2);
|
|
|
- centereventDeptEventService.insertCentereventTDeptEvent(centereventDeptEvent);
|
|
|
- });
|
|
|
- // 获取市级行管局人员手机号
|
|
|
- SysUser sysUser = new SysUser();
|
|
|
- sysUser.setDeptIds(listHgj.stream().map(CentereventTEventtypemapdept::getDeptId).collect(Collectors.toList()).toArray(new Long[listHgj.size()]));
|
|
|
- List<SysUser> sysUsers = SpringUtils.getBean(RemoteUserService.class).selectDeptAndUsersByIsShortmsg(sysUser).getData();
|
|
|
- Set<String> phones = new HashSet<>();
|
|
|
- Set<Long> userIds = new HashSet<>();
|
|
|
- if (StringUtils.isNotEmpty(sysUsers)) {
|
|
|
- phones = sysUsers.stream().map(SysUser::getPhonenumber).collect(Collectors.toSet());
|
|
|
- userIds = sysUsers.stream().map(SysUser::getUserId).collect(Collectors.toSet());
|
|
|
- }
|
|
|
- // 推送县区级行管局
|
|
|
- SysDept sysDept = new SysDept();
|
|
|
- sysDept.setDeptId(Long.parseLong(centereventtDeptEventBO.getDeptId()));
|
|
|
- sysDept.setDeptTypes(types.toArray(new String[types.size()]));
|
|
|
- List<SysDept> sysDepts = SpringUtils.getBean(RemoteDeptService.class).selectDeptAndUsersByDeptType(sysDept).getData();
|
|
|
- if (StringUtils.isNotEmpty(sysDepts)) {
|
|
|
- for (SysDept item : sysDepts) {
|
|
|
- // 填充县区级人员手机号
|
|
|
- phones.addAll(item.getUsers().stream().map(SysUser::getPhonenumber).collect(Collectors.toList()));
|
|
|
- userIds.addAll(item.getUsers().stream().map(SysUser::getUserId).collect(Collectors.toList()));
|
|
|
- CentereventDeptEvent centereventDeptEvent = new CentereventDeptEvent();
|
|
|
- centereventDeptEvent.setId(IdUtils.fastSimpleUUID());
|
|
|
- centereventDeptEvent.setEventCode(centereventtDeptEventBO.getEventCode());
|
|
|
- centereventDeptEvent.setDeptId(item.getDeptId());
|
|
|
- centereventDeptEvent.setDeptName(item.getDeptName());
|
|
|
- centereventDeptEvent.setDeptHandleType(DEPT_HANDLE_TYPE_3);
|
|
|
- centereventDeptEvent.setEventStatus("签收");
|
|
|
- centereventDeptEvent.setEventStatusValue(FOREST_EVENT_STATUS_2);
|
|
|
- centereventDeptEventService.insertCentereventTDeptEvent(centereventDeptEvent);
|
|
|
- }
|
|
|
- }
|
|
|
- String userName = SecurityUtils.getLoginUser().getSysUser().getNickName();
|
|
|
- String phone = SecurityUtils.getLoginUser().getSysUser().getPhonenumber();
|
|
|
- String message = centereventtDeptEventBO.getAddress() + "发生" + centereventTEventtype.getEventTypeName() + "事件,请联系:" + userName + ",联系电话:" + phone;
|
|
|
- RemoteApiUtil.getInstance().sendMessageAndJg(phones, userIds, message, centereventtDeptEventBO.getEventCode(), null);
|
|
|
- }
|
|
|
-
|
|
|
- private void insertReportByEventtype(CentereventtDeptEventBO centereventtDeptEventBO) {
|
|
|
- CentereventTEventtype centereventTEventtype = centereventTEventtypeService.selectCentereventTEventtypeById(centereventtDeptEventBO.getEventType());
|
|
|
- if ("1".equals(centereventTEventtype.getParentId())) {
|
|
|
- centereventtDeptEventBO.getFireInformation().setId(IdUtils.fastSimpleUUID());
|
|
|
- centereventTFireInformationService.addFireInformation(centereventtDeptEventBO.getFireInformation());
|
|
|
- centereventtDeptEventBO.getForestFireLoss().setId(IdUtils.fastSimpleUUID());
|
|
|
- centereventTForestFireLossService.addForestFireLoss(centereventtDeptEventBO.getForestFireLoss());
|
|
|
- if (centereventtDeptEventBO.getArray() != null) {
|
|
|
- String eventCode = centereventtDeptEventBO.getEventCode();
|
|
|
- LatLng[] array = centereventtDeptEventBO.getArray();
|
|
|
- List<LatLng> latLngs = Arrays.asList(array);
|
|
|
- int i = 0;
|
|
|
- for (LatLng latlng : latLngs) {
|
|
|
- RegionalFlag regionalFlag = new RegionalFlag();
|
|
|
- regionalFlag.setId(IdUtils.simpleUUID());
|
|
|
- regionalFlag.setEventId(eventCode);
|
|
|
- regionalFlag.setLongitude(latlng.getLng());
|
|
|
- regionalFlag.setLatitude(latlng.getLat());
|
|
|
- int flag = i++;
|
|
|
- regionalFlag.setFlag(flag);
|
|
|
- centereventTRegionalFlagMapper.addRegionalFlag(regionalFlag);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 修改事件目录
|
|
|
- *
|
|
|
- * @param centereventTEventcatalogue 事件目录
|
|
|
- * @return 结果
|
|
|
- */
|
|
|
- @Transactional
|
|
|
- @Override
|
|
|
- public int updateCentereventTEventcatalogue(CentereventTEventcatalogue centereventTEventcatalogue) {
|
|
|
- if (null == centereventTEventcatalogue.getUpdateName()) {// 定时任务测试无token
|
|
|
- centereventTEventcatalogue.setUpdateBy(SecurityUtils.getUserId());
|
|
|
- centereventTEventcatalogue.setUpdateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
|
|
- centereventTEventcatalogue.setUpdateTime(DateUtils.getNowDate());
|
|
|
- }
|
|
|
- int result = centereventTEventcatalogueMapper.updateCentereventTEventcatalogue(centereventTEventcatalogue);
|
|
|
- // add rabbitmq
|
|
|
- EventProducerUtil.publish(centereventTEventcatalogue.getEventCode(), BusinessType.UPDATE);
|
|
|
- return result;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 更新事件部门状态
|
|
|
- */
|
|
|
- @Transactional
|
|
|
- @Override
|
|
|
- public CentereventTEventcatalogue editEventStatus(CentereventTEventcatalogue centereventTEventcatalogue, CentereventtDeptEventBO centereventtDeptEventBO, List<CenterdataTAidevicedept> listDept) {
|
|
|
- SysUser user = SecurityUtils.getLoginUser().getSysUser();
|
|
|
- // 事件目录表
|
|
|
- centereventTEventcatalogue.setVersion(centereventTEventcatalogue.getVersion() + 1);
|
|
|
- // 事件部门表
|
|
|
- CentereventDeptEvent centereventTDeptEvent = new CentereventDeptEvent();
|
|
|
- centereventTDeptEvent.setEventCode(centereventtDeptEventBO.getEventCode());
|
|
|
- // 确认时无部门id
|
|
|
- centereventTDeptEvent.setDeptId(StringUtils.isBlank(centereventtDeptEventBO.getDeptId()) ? null : Long.parseLong(centereventtDeptEventBO.getDeptId()));
|
|
|
- switch (centereventtDeptEventBO.getEventStatus()) {
|
|
|
- case "qr":
|
|
|
- centereventTEventcatalogue.setEventStatus("确认");
|
|
|
- centereventTEventcatalogue.setEventStatusValue(FOREST_EVENT_STATUS_7);
|
|
|
-
|
|
|
- centereventTDeptEvent.setEventStatus("确认");
|
|
|
- centereventTDeptEvent.setEventStatusValue(FOREST_EVENT_STATUS_7);
|
|
|
- break;
|
|
|
- case "qs":
|
|
|
- centereventTEventcatalogue.setEventTypeXl(centereventtDeptEventBO.getEventType());
|
|
|
- centereventTEventcatalogue.setEventStatus("签收");
|
|
|
- centereventTEventcatalogue.setEventStatusValue(FOREST_EVENT_STATUS_2);
|
|
|
- centereventTEventcatalogue.setDeptId(Long.parseLong(centereventtDeptEventBO.getDeptId()));// 签收时维护主办部门
|
|
|
- centereventTEventcatalogue.setDeptName(centereventtDeptEventBO.getDeptName());
|
|
|
- // AI上报,需维护子表信息和行管局
|
|
|
- centereventtDeptEventBO.setAddress(centereventTEventcatalogue.getAddress());// 填充地址,发短信用
|
|
|
- this.updateSublistByEventtype(centereventtDeptEventBO);
|
|
|
-
|
|
|
- centereventTDeptEvent.setEventStatus("签收");
|
|
|
- centereventTDeptEvent.setEventStatusValue(FOREST_EVENT_STATUS_2);
|
|
|
- centereventTDeptEvent.setDeptHandleType("dept_handleType_1");
|
|
|
- // 一个部门签收后,其他部门均为误报
|
|
|
- centereventDeptEventService.updateCentereventTDeptEventOtherDeptIdWyc(centereventtDeptEventBO.getEventCode(), centereventTDeptEvent.getDeptId().toString());
|
|
|
- break;
|
|
|
- case "wb":
|
|
|
- centereventTEventcatalogue.setEventStatus("误报");
|
|
|
- centereventTEventcatalogue.setEventStatusValue("forest_event_status_3");
|
|
|
-// int count = centereventDeptEventService.selectCentereventTDeptEventByEventCode(centereventtDeptEventBO.getEventCode(), centereventTDeptEvent.getDeptId().toString());
|
|
|
-// // 所有部门都置为误报,才为误报
|
|
|
-// if (count == 0) {
|
|
|
-// centereventTEventcatalogue.setEventStatus("误报");
|
|
|
-// centereventTEventcatalogue.setEventStatusValue("forest_event_status_3");
|
|
|
-// }
|
|
|
-
|
|
|
-// centereventTDeptEvent.setEventStatus("误报");
|
|
|
-// centereventTDeptEvent.setEventStatusValue("forest_event_status_3");
|
|
|
- break;
|
|
|
- case "cf":
|
|
|
- centereventTEventcatalogue.setEventStatus("重复");
|
|
|
- centereventTEventcatalogue.setEventStatusValue("forest_event_status_4");
|
|
|
-
|
|
|
-// centereventTDeptEvent.setEventStatus("重复");
|
|
|
-// centereventTDeptEvent.setEventStatusValue("forest_event_status_4");
|
|
|
-// // 一个部门置为重复,所有都重复
|
|
|
-// centereventDeptEventService.updateCentereventTDeptEventCf(centereventtDeptEventBO.getEventCode());
|
|
|
- break;
|
|
|
- case "bj":
|
|
|
- centereventTEventcatalogue.setDataStatus("0");// 办结后恢复统计查询状态
|
|
|
- centereventTEventcatalogue.setEventStatus("办结");
|
|
|
- centereventTEventcatalogue.setEventStatusValue(FOREST_EVENT_STATUS_5);
|
|
|
-
|
|
|
- centereventTDeptEvent.setEventStatus("办结");
|
|
|
- centereventTDeptEvent.setEventStatusValue(FOREST_EVENT_STATUS_5);
|
|
|
- break;
|
|
|
- case "gd":
|
|
|
- centereventTEventcatalogue.setEventStatus("归档");
|
|
|
- centereventTEventcatalogue.setEventStatusValue(FOREST_EVENT_STATUS_6);
|
|
|
- centereventTEventcatalogue.setGdTime(new Date());
|
|
|
- // 填写火灾报告
|
|
|
- centereventtDeptEventBO.setEventType(centereventTEventcatalogue.getEventTypeXl());
|
|
|
- insertReportByEventtype(centereventtDeptEventBO);
|
|
|
-
|
|
|
- centereventTDeptEvent.setEventStatus("归档");
|
|
|
- centereventTDeptEvent.setEventStatusValue(FOREST_EVENT_STATUS_6);
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
- if ("qr".equals(centereventtDeptEventBO.getEventStatus())) {
|
|
|
- centereventDeptEventService.updateCentereventTDeptEventByCodeDeptId(centereventTDeptEvent);
|
|
|
- // 推送给责任部门
|
|
|
- listDept.forEach(item -> {
|
|
|
- centereventTDeptEvent.setId(IdUtils.simpleUUID());
|
|
|
- centereventTDeptEvent.setDeptId(item.getMapDeptId());
|
|
|
- centereventTDeptEvent.setDeptName(item.getMapDeptName());
|
|
|
- centereventTDeptEvent.setIsUrged(SYS_ISURGE_2);
|
|
|
- centereventTDeptEvent.setEventStatus("确认");
|
|
|
- centereventTDeptEvent.setEventStatusValue(FOREST_EVENT_STATUS_7);
|
|
|
- centereventTDeptEvent.setDeptHandleType(DEPT_HANDLE_TYPE_2);
|
|
|
- centereventTDeptEvent.setCreateName(item.getDeviceName());
|
|
|
- centereventTDeptEvent.setCreateTime(DateUtils.getNowDate());
|
|
|
- centereventDeptEventService.insertCentereventTDeptEvent(centereventTDeptEvent);
|
|
|
- });
|
|
|
- } else {
|
|
|
- centereventDeptEventService.updateCentereventTDeptEventByCodeDeptId(centereventTDeptEvent);
|
|
|
- }
|
|
|
- // 事件日志表
|
|
|
- CentereventTFireLog centereventTLog = new CentereventTFireLog();
|
|
|
- centereventTLog.setId(IdUtils.simpleUUID());
|
|
|
- centereventTLog.setEventCode(centereventtDeptEventBO.getEventCode());
|
|
|
- String logMessage = "";
|
|
|
- if (centereventtDeptEventBO.getEventStatus().equals("qr")) {
|
|
|
- logMessage = "确认该事件";
|
|
|
- centereventTLog.setOperation(BUS_OPER_TYPE_2);
|
|
|
- } else if (centereventtDeptEventBO.getEventStatus().equals("qs")) {
|
|
|
- logMessage = "签收该事件";
|
|
|
- centereventTLog.setOperation(BUS_OPER_TYPE_1);
|
|
|
- } else if (centereventtDeptEventBO.getEventStatus().equals("wb")) {
|
|
|
- logMessage = "操作该事件误报";
|
|
|
- centereventTLog.setOperation(BUS_OPER_TYPE_2);
|
|
|
- } else if (centereventtDeptEventBO.getEventStatus().equals("cf")) {
|
|
|
- logMessage = "判断该事件为重复事件";
|
|
|
- centereventTLog.setOperation(BUS_OPER_TYPE_2);
|
|
|
- } else if (centereventtDeptEventBO.getEventStatus().equals("bj")) {
|
|
|
- logMessage = "办结该事件";
|
|
|
- centereventTLog.setOperation(BUS_OPER_TYPE_2);
|
|
|
- } else if (centereventtDeptEventBO.getEventStatus().equals("gd")) {
|
|
|
- logMessage = "归档该事件";
|
|
|
- centereventTLog.setOperation(BUS_OPER_TYPE_2);
|
|
|
- }
|
|
|
- centereventTLog.setLogContent(user.getNickName() + logMessage);
|
|
|
- centereventTLog.setLatitude(centereventTEventcatalogue.getLatitude());
|
|
|
- centereventTLog.setLongitude(centereventTEventcatalogue.getLongitude());
|
|
|
- if ("APP".equals(centereventtDeptEventBO.getCzlx())) {
|
|
|
- centereventTLog.setOperationType("log_oper_type_2");
|
|
|
- } else {
|
|
|
- centereventTLog.setOperationType(LOG_OPER_TYPE_1);
|
|
|
- }
|
|
|
- centereventTLog.setCreateBy(SecurityUtils.getUserId().toString());
|
|
|
- centereventTLog.setCreateName(user.getNickName());
|
|
|
- centereventTLog.setCreateTime(DateUtils.getNowDate());
|
|
|
- centereventTFireLogService.insertCentereventTFireLog(centereventTLog);
|
|
|
- this.updateCentereventTEventcatalogue(centereventTEventcatalogue);
|
|
|
- applicationContext.publishEvent(new EventUrge(eventUrgeService, centereventTEventcatalogue));
|
|
|
- return centereventTEventcatalogue;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 删除事件目录信息
|
|
|
- *
|
|
|
- * @param eventCode 事件目录主键
|
|
|
- * @return 结果
|
|
|
- */
|
|
|
- @Transactional
|
|
|
- @Override
|
|
|
- public int deleteCentereventTEventcatalogueByCode(String eventCode) {
|
|
|
- return centereventTEventcatalogueMapper.deleteCentereventTEventcatalogueByCode(eventCode);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 查询事件催办时间
|
|
|
- *
|
|
|
- * @param isUrged
|
|
|
- * @param eventStatusValue
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Override
|
|
|
- public List<EventReminder> getReminderTime(String isUrged, String eventStatusValue) {
|
|
|
- return centereventTEventcatalogueMapper.getReminderTime(isUrged, eventStatusValue);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 推送县区防火办
|
|
|
- *
|
|
|
- * @param centereventtDeptEventBO
|
|
|
- */
|
|
|
- @Override
|
|
|
- public void reportFirePreventionOffice(CentereventtDeptEventBO centereventtDeptEventBO) {
|
|
|
- SysDept sysDept = new SysDept();
|
|
|
- sysDept.setDeptId(Long.parseLong(centereventtDeptEventBO.getDeptId()));
|
|
|
- sysDept.setDeptTypes(new String[]{"sys_dept_type_20"});// 区县防火办
|
|
|
- List<SysDept> sysDepts = SpringUtils.getBean(RemoteDeptService.class).selectDeptAndUsersByDeptType(sysDept).getData();
|
|
|
- Set<String> phones = new HashSet<>();
|
|
|
- Set<Long> userIds = new HashSet<>();
|
|
|
- if (StringUtils.isNotEmpty(sysDepts)) {
|
|
|
- sysDepts.forEach(item -> {
|
|
|
- // 填充县区级人员手机号
|
|
|
- phones.addAll(item.getUsers().stream().map(SysUser::getPhonenumber).collect(Collectors.toSet()));
|
|
|
- userIds.addAll(item.getUsers().stream().map(SysUser::getUserId).collect(Collectors.toSet()));
|
|
|
- CentereventDeptEvent centereventDeptEvent = new CentereventDeptEvent();
|
|
|
- centereventDeptEvent.setId(IdUtils.fastSimpleUUID());
|
|
|
- centereventDeptEvent.setEventCode(centereventtDeptEventBO.getEventCode());
|
|
|
- centereventDeptEvent.setDeptId(item.getDeptId());
|
|
|
- centereventDeptEvent.setDeptName(item.getDeptName());
|
|
|
- centereventDeptEvent.setDeptHandleType(DEPT_HANDLE_TYPE_3);
|
|
|
- centereventDeptEventService.insertCentereventTDeptEvent(centereventDeptEvent);
|
|
|
- });
|
|
|
- }
|
|
|
- String userName = SecurityUtils.getLoginUser().getSysUser().getNickName();
|
|
|
- String phone = SecurityUtils.getLoginUser().getSysUser().getPhonenumber();
|
|
|
- String message = centereventtDeptEventBO.getAddress() + "发生火情,请联系:" + userName + ",联系电话:" + phone;
|
|
|
- RemoteApiUtil.getInstance().sendMessageAndJg(phones, userIds, message, centereventtDeptEventBO.getEventCode(), null);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public CentereventTEventcatalogue mqtest(String start, String end, int limit) {
|
|
|
- return centereventTEventcatalogueMapper.mqtest(start, end, limit);
|
|
|
- }
|
|
|
-}
|