From 00e79777005543dd11732436b8690167451acde7 Mon Sep 17 00:00:00 2001
From: tangxiaobao <303826152@qq.com>
Date: 星期四, 29 七月 2021 19:00:59 +0800
Subject: [PATCH] Merge branch 'txb'

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwPatrolRecordServiceImpl.java |   96 +++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 90 insertions(+), 6 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..47097d4 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,29 @@
 package com.panzhihua.service_community.service.impl;
 
+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.ComMngRealAssetsVO;
 import com.panzhihua.common.model.vos.community.ComSwPatrolRecordVO;
+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.model.dos.ComSwPatrolRecordDO;
+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.service.ComSwPatrolRecordService;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.Date;
 
 /**
  * @auther txb
@@ -26,11 +37,20 @@
     @Resource
     private ComSwPatrolRecordDAO comSwPatrolRecordDAO;
 
+    @Resource
+    private ComSwSafetyWorkRecordDAO comSwSafetyWorkRecordDAO;
+
+    @Resource
+    private ComSwDangerReportDAO comSwDangerReportDAO;
+
+    @Resource
+    private ComSwPatrolRecordReportDAO comSwPatrolRecordReportDAO;
+
     @Override
-    public R pagePatrolRecord(ComSwPatrolRecordDTO comSwPatrolRecordDTO) {
+    public R pagePatrolRecord(ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO) {
         Page page = new Page<>();
-        Long pageNum = comSwPatrolRecordDTO.getPageNum();
-        Long pageSize = comSwPatrolRecordDTO.getPageSize();
+        Long pageNum = comSwPatrolRecordPageDTO.getPageNum();
+        Long pageSize = comSwPatrolRecordPageDTO.getPageSize();
         if (null == pageNum || 0 == pageNum) {
             pageNum = 1L;
         }
@@ -40,7 +60,71 @@
         page.setSize(pageSize);
         page.setCurrent(pageNum);
 
-        IPage<ComSwPatrolRecordVO> iPage = comSwPatrolRecordDAO.pagePatrolRecord(page, comSwPatrolRecordDTO);
+        IPage<ComSwPatrolRecordVO> iPage = comSwPatrolRecordDAO.pagePatrolRecord(page, comSwPatrolRecordPageDTO);
         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);
+        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();
+            BeanUtils.copyProperties(comSwPatrolRecordAddDTO, 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 Date());
+            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 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);
+                }
+            }
+        }
+        return R.ok(comSwPatrolRecordVO);
+    }
 }

--
Gitblit v1.7.1