| | |
| | | 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 lombok.extern.slf4j.Slf4j; |
| | | |
| | | import static java.util.Objects.isNull; |
| | | import static org.apache.commons.lang3.StringUtils.isBlank; |
| | | |
| | | /** |
| | | * @auther txb |
| | | * @create 2021-07-23 14:38:38 |
| | |
| | | |
| | | @Resource |
| | | private ComSwPatrolRecordReportDAO comSwPatrolRecordReportDAO; |
| | | |
| | | @Resource |
| | | private ComActDAO comActDAO; |
| | | |
| | | @Override |
| | | public R pagePatrolRecord(ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO) { |
| | |
| | | |
| | | @Override |
| | | public R addPatrolRecord(ComSwPatrolRecordAddDTO comSwPatrolRecordAddDTO) { |
| | | // 巡查记录 |
| | | ComSwPatrolRecordDO comSwPatrolRecordDO = new ComSwPatrolRecordDO(); |
| | | BeanUtils.copyProperties(comSwPatrolRecordAddDTO, comSwPatrolRecordDO); |
| | | Long patrolRecordId = Snowflake.getId(); |
| | | comSwPatrolRecordDO.setId(patrolRecordId); |
| | | if(StringUtils.isEmpty(comSwPatrolRecordAddDTO.getPatrolTime())){ |
| | | comSwPatrolRecordDO.setPatrolTime(new Date()); |
| | | }else { |
| | | comSwPatrolRecordDO.setPatrolTime( |
| | | DateUtils.stringToDate(comSwPatrolRecordAddDTO.getPatrolTime(), DateUtils.yyyyMMdd_format)); |
| | | String patrolTypeString = comSwPatrolRecordAddDTO.getPatrolType(); |
| | | Integer isHiddenDanger = comSwPatrolRecordAddDTO.getIsHiddenDanger(); |
| | | String hiddenDangerTypeString = comSwPatrolRecordAddDTO.getHiddenDangerType(); |
| | | if (isBlank(patrolTypeString)) { |
| | | return R.fail("巡查类型不能为空"); |
| | | } |
| | | // comSwPatrolRecordDO.setPatrolTime(new Date()); |
| | | comSwPatrolRecordDO.setSuccessionTime( |
| | | DateUtils.stringToDate(comSwPatrolRecordAddDTO.getSuccessionTime(), DateUtils.yyyyMMdd_format)); |
| | | if (isNull(isHiddenDanger) || (isHiddenDanger.intValue() == ComSwPatrolRecordAddDTO.isOk.yes |
| | | && isBlank(hiddenDangerTypeString))) { |
| | | return R.fail("隐患类型不能为空"); |
| | | } |
| | | StringBuilder nameString = new StringBuilder(); |
| | | StringBuilder phoneString = new StringBuilder(); |
| | | // 根据传递的巡查人员id查询巡查人员的名字和电话 |
| | |
| | | } |
| | | } |
| | | } |
| | | 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())); |
| | | 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)); |
| | | } |
| | | 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); |
| | | // 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 |
| | |
| | | .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); |
| | | comSwPatrolRecordVO.setDagerNo(comSwDangerReportDO.getDangerNo()); |
| | | } else { |
| | | comSwPatrolRecordVO.setDisplayButton(2); |
| | | } |
| | |
| | | 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() |