| | |
| | | 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.service_community.service.ComSwPatrolRecordService; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | import static java.util.Objects.isNull; |
| | | import static org.apache.commons.lang3.StringUtils.isBlank; |
| | | |
| | | /** |
| | | * @auther txb |
| | |
| | | |
| | | @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(); |
| | | } |
| | | |