From 6f05a3669979af08422a2f6fd6df93e3e39774d7 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期日, 26 九月 2021 19:31:50 +0800
Subject: [PATCH] 修改bug

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwPatrolRecordServiceImpl.java |  198 +++++++++++++++++++++++++++++++++++++------------
 1 files changed, 150 insertions(+), 48 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..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,5 +1,15 @@
 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;
@@ -8,7 +18,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 +26,13 @@
 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;
 
 /**
  * @auther txb
@@ -35,7 +41,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;
@@ -51,13 +58,29 @@
 
     @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 +89,29 @@
 
     @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));
+        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())){
+        // 根据传递的巡查人员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(",");
                     }
@@ -93,30 +123,37 @@
         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())) {
+            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 {
+            } else {
                 comSwDangerReportDO.setStatus(String.valueOf(SafeWordStatusEnum.DCL.getCode()));
             }
             BeanUtils.copyProperties(comSwPatrolRecordAddDTO, comSwDangerReportDO);
             comSwDangerReportDO.setPersonName(comSwPatrolRecordAddDTO.getDPersonName());
             comSwDangerReportDO.setPersonPhone(comSwPatrolRecordAddDTO.getDPersonPhone());
             comSwDangerReportDAO.insert(comSwDangerReportDO);
-        }else {
-            //不存在安全隐患,生成安全工作记录
+        } else {
+            // 不存在安全隐患,生成安全工作记录
             ComSwSafetyWorkRecordDO comSwSafetyWorkRecordDO = new ComSwSafetyWorkRecordDO();
             BeanUtils.copyProperties(comSwPatrolRecordAddDTO, comSwSafetyWorkRecordDO);
             Long safetyWorkRecord = Snowflake.getId();
@@ -129,6 +166,62 @@
     }
 
     @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) {
@@ -136,59 +229,68 @@
         }
         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())) {
                     comSwPatrolRecordVO.setDisplayButton(3);
-                }else {
+                } 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()));
         }
+
+        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