From 2e64c232ab6b51b2cecf1ee96e1e9b709234f326 Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期六, 21 八月 2021 16:35:14 +0800 Subject: [PATCH] 随手拍改版接口开发 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwPatrolRecordServiceImpl.java | 209 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 193 insertions(+), 16 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwPatrolRecordServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwPatrolRecordServiceImpl.java index 29009ef..a0e3a74 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwPatrolRecordServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwPatrolRecordServiceImpl.java @@ -1,18 +1,32 @@ package com.panzhihua.service_community.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordDTO; +import com.panzhihua.common.enums.SafeWordStatusEnum; +import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordAddDTO; +import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordPageDTO; import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.ComMngRealAssetsVO; import com.panzhihua.common.model.vos.community.ComSwPatrolRecordVO; +import com.panzhihua.common.utlis.DateUtils; +import com.panzhihua.common.utlis.Snowflake; +import com.panzhihua.common.utlis.StringUtils; +import com.panzhihua.service_community.dao.ComSwDangerReportDAO; import com.panzhihua.service_community.dao.ComSwPatrolRecordDAO; -import com.panzhihua.service_community.model.dos.ComSwPatrolRecordDO; +import com.panzhihua.service_community.dao.ComSwPatrolRecordReportDAO; +import com.panzhihua.service_community.dao.ComSwSafetyWorkRecordDAO; +import com.panzhihua.service_community.model.dos.*; import com.panzhihua.service_community.service.ComSwPatrolRecordService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Map; /** * @auther txb @@ -26,21 +40,184 @@ @Resource private ComSwPatrolRecordDAO comSwPatrolRecordDAO; - @Override - public R pagePatrolRecord(ComSwPatrolRecordDTO comSwPatrolRecordDTO) { - Page page = new Page<>(); - Long pageNum = comSwPatrolRecordDTO.getPageNum(); - Long pageSize = comSwPatrolRecordDTO.getPageSize(); - if (null == pageNum || 0 == pageNum) { - pageNum = 1L; - } - if (null == pageSize || 0 == pageSize) { - pageSize = 10L; - } - page.setSize(pageSize); - page.setCurrent(pageNum); + @Resource + private ComSwSafetyWorkRecordDAO comSwSafetyWorkRecordDAO; - IPage<ComSwPatrolRecordVO> iPage = comSwPatrolRecordDAO.pagePatrolRecord(page, comSwPatrolRecordDTO); + @Resource + private ComSwDangerReportDAO comSwDangerReportDAO; + + @Resource + private ComSwPatrolRecordReportDAO comSwPatrolRecordReportDAO; + + @Override + public R pagePatrolRecord(ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO) { + //是否是查询自己的巡查记录 + if(StringUtils.isNotEmpty(comSwPatrolRecordPageDTO.getPatrolPerson())){ + Map<String,Object> map = comSwPatrolRecordDAO.getPbServiceTeamCardNo(comSwPatrolRecordPageDTO.getPatrolPerson()); + if(map != null){ + comSwPatrolRecordPageDTO.setPatrolPerson(map.get("id").toString()); + } + } + IPage<ComSwPatrolRecordVO> iPage = comSwPatrolRecordDAO.pagePatrolRecord(new Page(comSwPatrolRecordPageDTO.getPageNum(),comSwPatrolRecordPageDTO.getPageSize()), comSwPatrolRecordPageDTO); + if(!iPage.getRecords().isEmpty()){ + iPage.getRecords().forEach(patrol -> { + ComSwPatrolRecordReportDO recordReportDO = comSwPatrolRecordReportDAO.selectOne(new QueryWrapper<ComSwPatrolRecordReportDO>() + .lambda().eq(ComSwPatrolRecordReportDO::getPatrolRecordId,patrol.getId())); + if(recordReportDO != null){ + patrol.setServiceId(recordReportDO.getReportId()); + if (null != comSwDangerReportDAO.selectById(recordReportDO.getReportId())) { + patrol.setDangerOrRecord(1); + }else{ + patrol.setDangerOrRecord(2); + } + } + }); + } return R.ok(iPage); } + + @Override + public R addPatrolRecord(ComSwPatrolRecordAddDTO comSwPatrolRecordAddDTO) { + //巡查记录 + ComSwPatrolRecordDO comSwPatrolRecordDO = new ComSwPatrolRecordDO(); + BeanUtils.copyProperties(comSwPatrolRecordAddDTO, comSwPatrolRecordDO); + Long patrolRecordId = Snowflake.getId(); + comSwPatrolRecordDO.setId(patrolRecordId); + comSwPatrolRecordDO.setPatrolTime(new Date()); + comSwPatrolRecordDO.setSuccessionTime(DateUtils.stringToDate(comSwPatrolRecordAddDTO.getSuccessionTime(),DateUtils.yyyyMMdd_format)); + StringBuilder nameString = new StringBuilder(); + StringBuilder phoneString = new StringBuilder(); + //根据传递的巡查人员id查询巡查人员的名字和电话 + if(StringUtils.isNotEmpty(comSwPatrolRecordAddDTO.getPatrolPerson())){ + String[] personIds = comSwPatrolRecordAddDTO.getPatrolPerson().split(","); + for (int i = 0; i < personIds.length ; i++) { + Map<String,String> person = comSwPatrolRecordDAO.getPbServiceTeamById(personIds[i]); + if(person != null){ + if(i != 0){ + nameString.append(","); + phoneString.append(","); + } + nameString.append(person.get("name")); + phoneString.append(person.get("phone")); + } + } + } + comSwPatrolRecordDO.setPersonName(nameString.toString()); + comSwPatrolRecordDO.setPersonPhone(phoneString.toString()); + comSwPatrolRecordDAO.insert(comSwPatrolRecordDO); + //巡查记录和关联报告信息 + ComSwPatrolRecordReportDO comSwPatrolRecordReportDO = new ComSwPatrolRecordReportDO(); + Long patrolRecordReport = Snowflake.getId(); + comSwPatrolRecordReportDO.setId(patrolRecordReport); + comSwPatrolRecordReportDO.setPatrolRecordId(patrolRecordId); + if(StringUtils.isNotEmpty(comSwPatrolRecordAddDTO.getDangerDescription())){ + comSwPatrolRecordAddDTO.setDagerDescription(comSwPatrolRecordAddDTO.getDangerDescription()); + } + if(StringUtils.isNotEmpty(comSwPatrolRecordAddDTO.getDagerName())){ + comSwPatrolRecordAddDTO.setDangerName(comSwPatrolRecordAddDTO.getDagerName()); + } + if (comSwPatrolRecordAddDTO.getIsHiddenDanger().intValue() == ComSwPatrolRecordAddDTO.isOk.yes) { + //如果存在安全隐患,自动生成安全隐患报告 + ComSwDangerReportDO comSwDangerReportDO = new ComSwDangerReportDO(); + Long dangerReportId = Snowflake.getId(); + comSwDangerReportDO.setId(dangerReportId); + comSwPatrolRecordReportDO.setReportId(dangerReportId); + comSwDangerReportDO.setDangerType(comSwPatrolRecordAddDTO.getPatrolType()); + if (comSwPatrolRecordAddDTO.getIsRectifyImmediately().intValue() == ComSwPatrolRecordAddDTO.isOk.yes && StringUtils.isNotEmpty(comSwPatrolRecordAddDTO.getTakeSteps())) { + comSwDangerReportDO.setStatus(String.valueOf(SafeWordStatusEnum.YZG.getCode())); + comSwDangerReportDO.setRectifyTime(new SimpleDateFormat("yyyy-MM-dd").format(new Date())); + }else { + comSwDangerReportDO.setStatus(String.valueOf(SafeWordStatusEnum.DCL.getCode())); + } + BeanUtils.copyProperties(comSwPatrolRecordAddDTO, comSwDangerReportDO); + comSwDangerReportDO.setPersonName(comSwPatrolRecordAddDTO.getDPersonName()); + comSwDangerReportDO.setPersonPhone(comSwPatrolRecordAddDTO.getDPersonPhone()); + comSwDangerReportDAO.insert(comSwDangerReportDO); + }else { + //不存在安全隐患,生成安全工作记录 + ComSwSafetyWorkRecordDO comSwSafetyWorkRecordDO = new ComSwSafetyWorkRecordDO(); + BeanUtils.copyProperties(comSwPatrolRecordAddDTO, comSwSafetyWorkRecordDO); + Long safetyWorkRecord = Snowflake.getId(); + comSwSafetyWorkRecordDO.setId(safetyWorkRecord); + comSwPatrolRecordReportDO.setReportId(safetyWorkRecord); + comSwSafetyWorkRecordDAO.insert(comSwSafetyWorkRecordDO); + } + comSwPatrolRecordReportDAO.insert(comSwPatrolRecordReportDO); + return R.ok(); + } + + @Override + public R detailPatrolRecord(Long patrolRecordId) { + ComSwPatrolRecordDO comSwPatrolRecordDO = comSwPatrolRecordDAO.selectById(patrolRecordId); + if (null == comSwPatrolRecordDO) { + return R.fail("该巡查记录不存在"); + } + ComSwPatrolRecordVO comSwPatrolRecordVO = new ComSwPatrolRecordVO(); + BeanUtils.copyProperties(comSwPatrolRecordDO, comSwPatrolRecordVO); + ComSwPatrolRecordReportDO comSwPatrolRecordReportDO = comSwPatrolRecordReportDAO.selectOne(new QueryWrapper<ComSwPatrolRecordReportDO>().lambda().eq(ComSwPatrolRecordReportDO::getPatrolRecordId, patrolRecordId)); + if (null != comSwPatrolRecordReportDO) { + if (comSwPatrolRecordVO.getIsHiddenDanger().equals(ComSwPatrolRecordVO.isOk.yes)) { + if (null != comSwDangerReportDAO.selectById(comSwPatrolRecordReportDO.getReportId())) { + comSwPatrolRecordVO.setDisplayButton(3); + }else { + comSwPatrolRecordVO.setDisplayButton(2); + } + }else{ + if (null != comSwSafetyWorkRecordDAO.selectById(comSwPatrolRecordReportDO.getReportId())) { + comSwPatrolRecordVO.setDisplayButton(1); + } + } + } + + //组装巡查类型 + if(StringUtils.isNotEmpty(comSwPatrolRecordVO.getPatrolType())){ + StringBuilder sb = new StringBuilder(); + String patrolTypes[] = comSwPatrolRecordVO.getPatrolType().split(","); + for (int i = 0; i < patrolTypes.length; i++) { + if(i != 0){ + sb.append(","); + } + if(patrolTypes[i].equals("1")){ + sb.append("防火巡查"); + }else if(patrolTypes[i].equals("2")){ + sb.append("防汛巡查"); + }else if(patrolTypes[i].equals("3")){ + sb.append("防疫巡查"); + } + } + comSwPatrolRecordVO.setPatrolType(sb.toString()); + } + //查询接班人员信息 + if(StringUtils.isNotEmpty(comSwPatrolRecordVO.getSuccessionPerson())){ + StringBuilder sb = new StringBuilder(); + String personIds[] = comSwPatrolRecordVO.getSuccessionPerson().split(","); + for (int i = 0; i < personIds.length; i++) { + if(i != 0){ + sb.append(","); + } + Map<String,String> personMap = comSwPatrolRecordDAO.getPbServiceTeamById(personIds[i]); + if(personMap != null){ + sb.append(personMap.get("name")); + } + } + comSwPatrolRecordVO.setSuccessionPerson(sb.toString()); + } + + //查询填报人名称 + if(comSwPatrolRecordVO.getCreateBy() != null){ + comSwPatrolRecordVO.setCreateName(comSwPatrolRecordDAO.getCreateName(comSwPatrolRecordVO.getCreateBy())); + } + + ComSwPatrolRecordReportDO recordReportDO = comSwPatrolRecordReportDAO.selectOne(new QueryWrapper<ComSwPatrolRecordReportDO>() + .lambda().eq(ComSwPatrolRecordReportDO::getPatrolRecordId,comSwPatrolRecordVO.getId())); + if(recordReportDO != null){ + comSwPatrolRecordVO.setServiceId(recordReportDO.getReportId()); + } + return R.ok(comSwPatrolRecordVO); + } + + @Override + public R patrolRecordStatistics(Long communityId) { + return R.ok(this.comSwSafetyWorkRecordDAO.patrolRecordStatistics(communityId)); + } } -- Gitblit v1.7.1