From 55b91c9938a8eaa4a96910f6fce633c7bcdaa85f Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期六, 18 九月 2021 16:02:43 +0800
Subject: [PATCH] 1
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwPatrolRecordServiceImpl.java | 293 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 274 insertions(+), 19 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..0b63600 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,38 @@
package com.panzhihua.service_community.service.impl;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Map;
+
+import javax.annotation.Resource;
+
+import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordEditDTO;
+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;
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.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.dao.ComSwPatrolRecordReportDAO;
+import com.panzhihua.service_community.dao.ComSwSafetyWorkRecordDAO;
+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.stereotype.Service;
-import javax.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
/**
* @auther txb
@@ -21,26 +41,261 @@
*/
@Slf4j
@Service
-public class ComSwPatrolRecordServiceImpl extends ServiceImpl<ComSwPatrolRecordDAO, ComSwPatrolRecordDO> implements ComSwPatrolRecordService {
+public class ComSwPatrolRecordServiceImpl extends ServiceImpl<ComSwPatrolRecordDAO, ComSwPatrolRecordDO>
+ implements ComSwPatrolRecordService {
@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);
+ 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));
+ 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 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
+ 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