From 5a8a90c095280fbd2106869ecd2bad10e01a57a6 Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期四, 23 十二月 2021 18:10:22 +0800 Subject: [PATCH] 12/23 大屏修改 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwPatrolRecordServiceImpl.java | 292 ++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 211 insertions(+), 81 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 86604d8..0ea57b3 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,5 +1,18 @@ package com.panzhihua.service_community.service.impl; +import java.text.SimpleDateFormat; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordEditDTO; +import com.panzhihua.service_community.dao.*; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -8,7 +21,6 @@ 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; @@ -17,16 +29,16 @@ import com.panzhihua.service_community.dao.ComSwPatrolRecordDAO; 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.model.dos.ComSwDangerReportDO; +import com.panzhihua.service_community.model.dos.ComSwPatrolRecordDO; +import com.panzhihua.service_community.model.dos.ComSwPatrolRecordReportDO; +import com.panzhihua.service_community.model.dos.ComSwSafetyWorkRecordDO; 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; +import lombok.extern.slf4j.Slf4j; + +import static java.util.Objects.isNull; +import static org.apache.commons.lang3.StringUtils.isBlank; /** * @auther txb @@ -35,7 +47,8 @@ */ @Slf4j @Service -public class ComSwPatrolRecordServiceImpl extends ServiceImpl<ComSwPatrolRecordDAO, ComSwPatrolRecordDO> implements ComSwPatrolRecordService { +public class ComSwPatrolRecordServiceImpl extends ServiceImpl<ComSwPatrolRecordDAO, ComSwPatrolRecordDO> + implements ComSwPatrolRecordService { @Resource private ComSwPatrolRecordDAO comSwPatrolRecordDAO; @@ -49,15 +62,34 @@ @Resource private ComSwPatrolRecordReportDAO comSwPatrolRecordReportDAO; + @Resource + private ComActDAO comActDAO; + @Override public R pagePatrolRecord(ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO) { - IPage<ComSwPatrolRecordVO> iPage = comSwPatrolRecordDAO.pagePatrolRecord(new Page(comSwPatrolRecordPageDTO.getPageNum(),comSwPatrolRecordPageDTO.getPageSize()), comSwPatrolRecordPageDTO); - if(!iPage.getRecords().isEmpty()){ + // 是否是查询自己的巡查记录 + 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){ + 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); + } } }); } @@ -66,22 +98,25 @@ @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)); + String patrolTypeString = comSwPatrolRecordAddDTO.getPatrolType(); + Integer isHiddenDanger = comSwPatrolRecordAddDTO.getIsHiddenDanger(); + String hiddenDangerTypeString = comSwPatrolRecordAddDTO.getHiddenDangerType(); + if (isBlank(patrolTypeString)) { + return R.fail("巡查类型不能为空"); + } + if (isNull(isHiddenDanger) || (isHiddenDanger.intValue() == ComSwPatrolRecordAddDTO.isOk.yes + && isBlank(hiddenDangerTypeString))) { + return R.fail("隐患类型不能为空"); + } StringBuilder nameString = new StringBuilder(); StringBuilder phoneString = new StringBuilder(); - //根据传递的巡查人员id查询巡查人员的名字和电话 - if(StringUtils.isNotEmpty(comSwPatrolRecordAddDTO.getPatrolPerson())){ + // 根据传递的巡查人员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){ + 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(","); } @@ -90,42 +125,124 @@ } } } - 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 (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); + if (StringUtils.isNotEmpty(comSwPatrolRecordAddDTO.getDangerDescription())) { + comSwPatrolRecordAddDTO.setDagerDescription(comSwPatrolRecordAddDTO.getDangerDescription()); } - comSwPatrolRecordReportDAO.insert(comSwPatrolRecordReportDO); + if (StringUtils.isNotEmpty(comSwPatrolRecordAddDTO.getDagerName())) { + comSwPatrolRecordAddDTO.setDangerName(comSwPatrolRecordAddDTO.getDagerName()); + } + List<String> patrolTypes = Arrays.asList(patrolTypeString.split(",")); + patrolTypes.forEach(patrolType -> { + // 巡查记录 + ComSwPatrolRecordDO comSwPatrolRecordDO = new ComSwPatrolRecordDO(); + BeanUtils.copyProperties(comSwPatrolRecordAddDTO, comSwPatrolRecordDO); + Long patrolRecordId = Snowflake.getId(); + comSwPatrolRecordDO.setId(patrolRecordId); + comSwPatrolRecordDO.setPatrolType(patrolType); + if(StringUtils.isEmpty(comSwPatrolRecordAddDTO.getPatrolTime())){ + comSwPatrolRecordDO.setPatrolTime(new Date()); + }else { + comSwPatrolRecordDO.setPatrolTime( + DateUtils.stringToDate(comSwPatrolRecordAddDTO.getPatrolTime(), DateUtils.yyyyMMdd_format)); + } +// comSwPatrolRecordDO.setPatrolTime(new Date()); + comSwPatrolRecordDO.setSuccessionTime( + DateUtils.stringToDate(comSwPatrolRecordAddDTO.getSuccessionTime(), DateUtils.yyyyMMdd_format)); + 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 (isHiddenDanger.intValue() == ComSwPatrolRecordAddDTO.isOk.yes && hiddenDangerTypeString.contains(patrolType)) { + // 如果存在安全隐患,自动生成安全隐患报告 + ComSwDangerReportDO comSwDangerReportDO = new ComSwDangerReportDO(); + Long dangerReportId = Snowflake.getId(); + comSwDangerReportDO.setId(dangerReportId); + comSwPatrolRecordReportDO.setReportId(dangerReportId); + comSwDangerReportDO.setDangerType(patrolType); + 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 editPatrolRecord(ComSwPatrolRecordEditDTO comSwPatrolRecordEditDTO) { + ComSwPatrolRecordDO comSwPatrolRecordDO = comSwPatrolRecordDAO.selectById(comSwPatrolRecordEditDTO.getId()); + if (null == comSwPatrolRecordDO) { + return R.fail("改巡查记录不存在"); + } + BeanUtils.copyProperties(comSwPatrolRecordEditDTO, comSwPatrolRecordDO); + try { + comSwPatrolRecordDO.setPatrolTime(new SimpleDateFormat("yyyy-MM-dd").parse(comSwPatrolRecordEditDTO.getPatrolTime())); + comSwPatrolRecordDO.setSuccessionTime(new SimpleDateFormat("yyyy-MM-dd").parse(comSwPatrolRecordEditDTO.getSuccessionTime())); + } catch (Exception e) { + e.printStackTrace(); + } + // 根据传递的巡查人员id查询巡查人员的名字和电话 + StringBuilder nameString = new StringBuilder(); + StringBuilder phoneString = new StringBuilder(); + if (StringUtils.isNotEmpty(comSwPatrolRecordEditDTO.getPatrolPerson())) { + String[] personIds = comSwPatrolRecordEditDTO.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()); + } + ComSwPatrolRecordReportDO comSwPatrolRecordReportDO = comSwPatrolRecordReportDAO.selectOne(new QueryWrapper<ComSwPatrolRecordReportDO>() + .lambda().eq(ComSwPatrolRecordReportDO::getPatrolRecordId, comSwPatrolRecordEditDTO.getId())); + ComSwSafetyWorkRecordDO comSwSafetyWorkRecordDO = comSwSafetyWorkRecordDAO.selectOne(new QueryWrapper<ComSwSafetyWorkRecordDO>() + .lambda().eq(ComSwSafetyWorkRecordDO::getId, comSwPatrolRecordReportDO.getReportId())); + if (null != comSwSafetyWorkRecordDO) { + Long id = comSwSafetyWorkRecordDO.getId(); + BeanUtils.copyProperties(comSwPatrolRecordEditDTO, comSwSafetyWorkRecordDO); + comSwSafetyWorkRecordDO.setId(id); + comSwSafetyWorkRecordDAO.updateById(comSwSafetyWorkRecordDO); + }else { + ComSwDangerReportDO comSwDangerReportDO = comSwDangerReportDAO.selectOne(new QueryWrapper<ComSwDangerReportDO>() + .lambda().eq(ComSwDangerReportDO::getId, comSwPatrolRecordReportDO.getReportId())); + Long id = comSwDangerReportDO.getId(); + BeanUtils.copyProperties(comSwPatrolRecordEditDTO, comSwDangerReportDO); + comSwDangerReportDO.setId(id); + comSwDangerReportDAO.updateById(comSwDangerReportDO); + } + int update = comSwPatrolRecordDAO.updateById(comSwPatrolRecordDO); + if (update > 0) { + return R.ok(); + } + return R.fail("编辑失败"); } @Override @@ -136,59 +253,72 @@ } ComSwPatrolRecordVO comSwPatrolRecordVO = new ComSwPatrolRecordVO(); BeanUtils.copyProperties(comSwPatrolRecordDO, comSwPatrolRecordVO); - ComSwPatrolRecordReportDO comSwPatrolRecordReportDO = comSwPatrolRecordReportDAO.selectOne(new QueryWrapper<ComSwPatrolRecordReportDO>().lambda().eq(ComSwPatrolRecordReportDO::getPatrolRecordId, patrolRecordId)); + 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())) { + ComSwDangerReportDO comSwDangerReportDO=comSwDangerReportDAO.selectById(comSwPatrolRecordReportDO.getReportId()); + if (null != comSwDangerReportDO) { comSwPatrolRecordVO.setDisplayButton(3); - }else { + comSwPatrolRecordVO.setDagerNo(comSwDangerReportDO.getDangerNo()); + } else { comSwPatrolRecordVO.setDisplayButton(2); } - }else{ + } else { if (null != comSwSafetyWorkRecordDAO.selectById(comSwPatrolRecordReportDO.getReportId())) { comSwPatrolRecordVO.setDisplayButton(1); } } } - //组装巡查类型 - if(StringUtils.isNotEmpty(comSwPatrolRecordVO.getPatrolType())){ + // 组装巡查类型 + if (StringUtils.isNotEmpty(comSwPatrolRecordVO.getPatrolType())) { StringBuilder sb = new StringBuilder(); - String patrolTypes[] = comSwPatrolRecordVO.getPatrolType().split(","); + String[] patrolTypes = comSwPatrolRecordVO.getPatrolType().split(","); for (int i = 0; i < patrolTypes.length; i++) { - if(i != 0){ + if (i != 0) { sb.append(","); } - if(patrolTypes[i].equals("1")){ + if (patrolTypes[i].equals("1")) { sb.append("防火巡查"); - }else if(patrolTypes[i].equals("2")){ + } else if (patrolTypes[i].equals("2")) { sb.append("防汛巡查"); - }else if(patrolTypes[i].equals("3")){ + } else if (patrolTypes[i].equals("3")) { sb.append("防疫巡查"); } } comSwPatrolRecordVO.setPatrolType(sb.toString()); } - //查询接班人员信息 - if(StringUtils.isNotEmpty(comSwPatrolRecordVO.getSuccessionPerson())){ + // 查询接班人员信息 + if (StringUtils.isNotEmpty(comSwPatrolRecordVO.getSuccessionPerson())) { StringBuilder sb = new StringBuilder(); - String personIds[] = comSwPatrolRecordVO.getSuccessionPerson().split(","); + String[] personIds = comSwPatrolRecordVO.getSuccessionPerson().split(","); for (int i = 0; i < personIds.length; i++) { - if(i != 0){ + if (i != 0) { sb.append(","); } - Map<String,String> personMap = comSwPatrolRecordDAO.getPbServiceTeamById(personIds[i]); - if(personMap != null){ + Map<String, String> personMap = comSwPatrolRecordDAO.getPbServiceTeamById(personIds[i]); + if (personMap != null) { sb.append(personMap.get("name")); } } comSwPatrolRecordVO.setSuccessionPerson(sb.toString()); } - //查询填报人名称 - if(comSwPatrolRecordVO.getCreateBy() != null){ + // 查询填报人名称 + if (comSwPatrolRecordVO.getCreateBy() != null) { comSwPatrolRecordVO.setCreateName(comSwPatrolRecordDAO.getCreateName(comSwPatrolRecordVO.getCreateBy())); } + // 所属社区名称 + comSwPatrolRecordVO.setCommunityName(comActDAO.selectById(comSwPatrolRecordVO.getCommunityId()).getName()); + + ComSwPatrolRecordReportDO recordReportDO = + comSwPatrolRecordReportDAO.selectOne(new QueryWrapper<ComSwPatrolRecordReportDO>().lambda() + .eq(ComSwPatrolRecordReportDO::getPatrolRecordId, comSwPatrolRecordVO.getId())); + if (recordReportDO != null) { + comSwPatrolRecordVO.setServiceId(recordReportDO.getReportId()); + } return R.ok(comSwPatrolRecordVO); } -- Gitblit v1.7.1