From cc1098fc00a50cb1591d182f04bc37066ff0a9e2 Mon Sep 17 00:00:00 2001
From: 罗元桥 <2376770955@qq.com>
Date: 星期四, 05 八月 2021 15:12:39 +0800
Subject: [PATCH] Merge branch 'test' into 'master'

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwDangerReportServiceImpl.java |  317 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 317 insertions(+), 0 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwDangerReportServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwDangerReportServiceImpl.java
index c3d443b..a28111e 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwDangerReportServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwDangerReportServiceImpl.java
@@ -1,11 +1,37 @@
 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.enums.SafeWordStatusEnum;
+import com.panzhihua.common.model.dtos.community.ComSwDangerReportHandleDTO;
+import com.panzhihua.common.model.dtos.community.ComSwDangerReportRectifyDTO;
+import com.panzhihua.common.model.dtos.community.ComSwPatrolRecordPageDTO;
+import com.panzhihua.common.model.vos.LoginUserInfoVO;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.ComMngCarExcelVO;
+import com.panzhihua.common.model.vos.community.ComSwDangerReportExcelVO;
+import com.panzhihua.common.model.vos.community.ComSwDangerReportVO;
+import com.panzhihua.common.model.vos.community.ComSwSafetyWorkRecordVO;
+import com.panzhihua.common.service.user.UserService;
+import com.panzhihua.common.utlis.DateUtils;
+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.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.ComSwDangerReportService;
 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.*;
 
 /**
  * @auther txb
@@ -16,4 +42,295 @@
 @Service
 public class ComSwDangerReportServiceImpl extends ServiceImpl<ComSwDangerReportDAO, ComSwDangerReportDO> implements ComSwDangerReportService {
 
+    @Resource
+    private ComSwDangerReportDAO comSwDangerReportDAO;
+
+    @Resource
+    private ComSwPatrolRecordDAO comSwPatrolRecordDAO;
+
+    @Resource
+    private ComSwPatrolRecordReportDAO comSwPatrolRecordReportDAO;
+
+    @Resource
+    private UserService userService;
+
+    @Override
+    public R pageDangerReport(ComSwPatrolRecordPageDTO comSwPatrolRecordPageDTO) {
+        Page page = new Page<>();
+        Long pageNum = comSwPatrolRecordPageDTO.getPageNum();
+        Long pageSize = comSwPatrolRecordPageDTO.getPageSize();
+        if (null == pageNum || 0 == pageNum) {
+            pageNum = 1L;
+        }
+        if (null == pageSize || 0 == pageSize) {
+            pageSize = 10L;
+        }
+        page.setSize(pageSize);
+        page.setCurrent(pageNum);
+
+        IPage<ComSwDangerReportVO> iPage = comSwDangerReportDAO.pageDangerReport(page, comSwPatrolRecordPageDTO);
+        if (!iPage.getRecords().isEmpty()) {
+            iPage.getRecords().forEach(comSwDangerReportVO -> {
+                if (StringUtils.isNotEmpty(comSwDangerReportVO.getStatus()) && "2".equals(comSwDangerReportVO.getStatus())) {
+                    comSwDangerReportVO.setIsAssign(ComSwDangerReportVO.isOk.yes);
+                }else {
+                    comSwDangerReportVO.setIsAssign(ComSwDangerReportVO.isOk.no);
+                }
+                StringBuilder patrolNameString = new StringBuilder();
+                StringBuilder patrolPhoneString = new StringBuilder();
+                //巡查人员id查询巡查人员的名字和电话
+                if(StringUtils.isNotEmpty(comSwDangerReportVO.getPatrolPerson())){
+                    String[] patrolIds = comSwDangerReportVO.getPatrolPerson().split(",");
+                    for (int i = 0; i < patrolIds.length ; i++) {
+                        Map<String,String> leader = comSwPatrolRecordDAO.getPbServiceTeamById(patrolIds[i]);
+                        if(leader != null){
+                            if(i != 0){
+                                patrolNameString.append(",");
+                                patrolPhoneString.append(",");
+                            }
+                            patrolNameString.append(leader.get("name"));
+                            patrolPhoneString.append(leader.get("phone"));
+                        }
+                    }
+                    comSwDangerReportVO.setPPersonName(patrolNameString.toString());
+                    comSwDangerReportVO.setPPersonPhone(patrolPhoneString.toString());
+                }
+                //整改人员id查询整改人员的名字和电话
+                StringBuilder dangerNameString = new StringBuilder();
+                StringBuilder dangerPhoneString = new StringBuilder();
+                if(StringUtils.isNotEmpty(comSwDangerReportVO.getRectifyPerson())){
+                    String[] dangerIds = comSwDangerReportVO.getRectifyPerson().split(",");
+                    for (int i = 0; i < dangerIds.length ; i++) {
+                        Map<String,String> person = comSwPatrolRecordDAO.getPbServiceTeamById(dangerIds[i]);
+                        if(person != null){
+                            if(i != 0){
+                                dangerNameString.append(",");
+                                dangerPhoneString.append(",");
+                            }
+                            dangerNameString.append(person.get("name"));
+                            dangerPhoneString.append(person.get("phone"));
+                        }
+                    }
+                    comSwDangerReportVO.setDPersonName(dangerNameString.toString());
+                    comSwDangerReportVO.setDPersonPhone(dangerPhoneString.toString());
+                }
+            });
+        }
+        return R.ok(iPage);
+    }
+
+    @Override
+    public R detailDangerReport(Long dangerReportId) {
+        ComSwDangerReportDO comSwDangerReportDO = comSwDangerReportDAO.selectById(dangerReportId);
+        if (null == comSwDangerReportDO) {
+            return R.fail("该隐患报告不存在");
+        }
+        ComSwDangerReportVO comSwDangerReportVO = new ComSwDangerReportVO();
+        ComSwPatrolRecordReportDO comSwPatrolRecordReportDO = comSwPatrolRecordReportDAO.selectOne(new QueryWrapper<ComSwPatrolRecordReportDO>().lambda().eq(ComSwPatrolRecordReportDO::getReportId, dangerReportId));
+        if (null != comSwPatrolRecordReportDO) {
+            ComSwPatrolRecordDO comSwPatrolRecordDO = comSwPatrolRecordDAO.selectById(comSwPatrolRecordReportDO.getPatrolRecordId());
+            BeanUtils.copyProperties(comSwPatrolRecordDO, comSwDangerReportVO);
+        }
+        BeanUtils.copyProperties(comSwDangerReportDO, comSwDangerReportVO);
+
+        //组装巡查类型
+        if(StringUtils.isNotEmpty(comSwDangerReportVO.getPatrolType())){
+            StringBuilder sb = new StringBuilder();
+            String patrolTypes[] = comSwDangerReportVO.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("防疫巡查");
+                }
+            }
+            comSwDangerReportVO.setPatrolType(sb.toString());
+        }
+
+        //查询整改人员信息
+        if(StringUtils.isNotEmpty(comSwDangerReportVO.getRectifyPerson())){
+            StringBuilder sb = new StringBuilder();
+            String personIds[] = comSwDangerReportVO.getRectifyPerson().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"));
+                }
+            }
+            comSwDangerReportVO.setPersonName(sb.toString());
+        }
+
+        //查询填报人名称
+        if(comSwDangerReportVO.getCreateBy() != null){
+            comSwDangerReportVO.setCreateName(comSwPatrolRecordDAO.getCreateName(comSwDangerReportVO.getCreateBy()));
+        }
+
+        //查询指派人名称
+        if(StringUtils.isNotEmpty(comSwDangerReportVO.getAssignPerson())){
+            StringBuilder sb = new StringBuilder();
+            String personIds[] = comSwDangerReportVO.getAssignPerson().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"));
+                }
+            }
+            comSwDangerReportVO.setAssignPersonName(sb.toString());
+        }
+
+        StringBuilder patrolNameString = new StringBuilder();
+        StringBuilder patrolPhoneString = new StringBuilder();
+        //巡查人员id查询巡查人员的名字和电话
+        if(StringUtils.isNotEmpty(comSwDangerReportVO.getPatrolPerson())){
+            String[] patrolIds = comSwDangerReportVO.getPatrolPerson().split(",");
+            for (int i = 0; i < patrolIds.length ; i++) {
+                Map<String,String> leader = comSwPatrolRecordDAO.getPbServiceTeamById(patrolIds[i]);
+                if(leader != null){
+                    if(i != 0){
+                        patrolNameString.append(",");
+                        patrolPhoneString.append(",");
+                    }
+                    patrolNameString.append(leader.get("name"));
+                    patrolPhoneString.append(leader.get("phone"));
+                }
+            }
+            comSwDangerReportVO.setPPersonName(patrolNameString.toString());
+            comSwDangerReportVO.setPPersonPhone(patrolPhoneString.toString());
+        }
+        //整改人员id查询整改人员的名字和电话
+        StringBuilder dangerNameString = new StringBuilder();
+        StringBuilder dangerPhoneString = new StringBuilder();
+        if(StringUtils.isNotEmpty(comSwDangerReportVO.getRectifyPerson())){
+            String[] dangerIds = comSwDangerReportVO.getRectifyPerson().split(",");
+            for (int i = 0; i < dangerIds.length ; i++) {
+                Map<String,String> person = comSwPatrolRecordDAO.getPbServiceTeamById(dangerIds[i]);
+                if(person != null){
+                    if(i != 0){
+                        dangerNameString.append(",");
+                        dangerPhoneString.append(",");
+                    }
+                    dangerNameString.append(person.get("name"));
+                    dangerPhoneString.append(person.get("phone"));
+                }
+            }
+            comSwDangerReportVO.setDPersonName(dangerNameString.toString());
+            comSwDangerReportVO.setDPersonPhone(dangerPhoneString.toString());
+        }
+
+        return R.ok(comSwDangerReportVO);
+    }
+
+    @Override
+    public R detailDangerReportByPrId(Long patrolRecordId) {
+        ComSwPatrolRecordDO comSwPatrolRecordDO = comSwPatrolRecordDAO.selectById(patrolRecordId);
+        if(comSwPatrolRecordDO == null){
+            return R.fail("该隐患报告不存在");
+        }
+        ComSwDangerReportVO comSwDangerReportVO = new ComSwDangerReportVO();
+        ComSwPatrolRecordReportDO comSwPatrolRecordReportDO = comSwPatrolRecordReportDAO.selectOne(new QueryWrapper<ComSwPatrolRecordReportDO>().lambda().eq(ComSwPatrolRecordReportDO::getPatrolRecordId, patrolRecordId));
+        if (null != comSwPatrolRecordReportDO) {
+            ComSwDangerReportDO comSwDangerReportDO = comSwDangerReportDAO.selectById(comSwPatrolRecordReportDO.getReportId());
+            if (null == comSwDangerReportDO) {
+                return R.fail("该隐患报告不存在");
+            }
+            BeanUtils.copyProperties(comSwDangerReportDO, comSwDangerReportVO);
+        }
+        BeanUtils.copyProperties(comSwPatrolRecordDO, comSwDangerReportVO);
+        StringBuilder patrolNameString = new StringBuilder();
+        StringBuilder patrolPhoneString = new StringBuilder();
+        //巡查人员id查询巡查人员的名字和电话
+        if(StringUtils.isNotEmpty(comSwDangerReportVO.getPatrolPerson())){
+            String[] patrolIds = comSwDangerReportVO.getPatrolPerson().split(",");
+            for (int i = 0; i < patrolIds.length ; i++) {
+                Map<String,String> leader = comSwPatrolRecordDAO.getPbServiceTeamById(patrolIds[i]);
+                if(leader != null){
+                    if(i != 0){
+                        patrolNameString.append(",");
+                        patrolPhoneString.append(",");
+                    }
+                    patrolNameString.append(leader.get("name"));
+                    patrolPhoneString.append(leader.get("phone"));
+                }
+            }
+            comSwDangerReportVO.setPPersonName(patrolNameString.toString());
+            comSwDangerReportVO.setPPersonPhone(patrolPhoneString.toString());
+        }
+        //整改人员id查询整改人员的名字和电话
+        StringBuilder dangerNameString = new StringBuilder();
+        StringBuilder dangerPhoneString = new StringBuilder();
+        if(StringUtils.isNotEmpty(comSwDangerReportVO.getRectifyPerson())){
+            String[] dangerIds = comSwDangerReportVO.getRectifyPerson().split(",");
+            for (int i = 0; i < dangerIds.length ; i++) {
+                Map<String,String> person = comSwPatrolRecordDAO.getPbServiceTeamById(dangerIds[i]);
+                if(person != null){
+                    if(i != 0){
+                        dangerNameString.append(",");
+                        dangerPhoneString.append(",");
+                    }
+                    dangerNameString.append(person.get("name"));
+                    dangerPhoneString.append(person.get("phone"));
+                }
+            }
+            comSwDangerReportVO.setDPersonName(dangerNameString.toString());
+            comSwDangerReportVO.setDPersonPhone(dangerPhoneString.toString());
+        }
+        return R.ok(comSwDangerReportVO);
+    }
+
+    @Override
+    public R handleDangerReport(ComSwDangerReportHandleDTO comSwDangerReportHandleDTO) {
+        ComSwDangerReportDO comSwDangerReportDO = comSwDangerReportDAO.selectById(comSwDangerReportHandleDTO.getDangerReportId());
+        if (null == comSwDangerReportDO) {
+            return R.fail("该隐患报告不存在");
+        }
+        BeanUtils.copyProperties(comSwDangerReportHandleDTO, comSwDangerReportDO);
+        comSwDangerReportDO.setStatus(String.valueOf(SafeWordStatusEnum.YCL.getCode()));
+        int update = comSwDangerReportDAO.updateById(comSwDangerReportDO);
+        if (update > 0) {
+            return R.ok();
+        }
+        return R.fail("处理失败");
+    }
+
+    @Override
+    public R rectifyDangerReport(ComSwDangerReportRectifyDTO comSwDangerReportRectifyDTO) {
+        ComSwDangerReportDO comSwDangerReportDO = comSwDangerReportDAO.selectById(comSwDangerReportRectifyDTO.getDangerReportId());
+        if (null == comSwDangerReportDO) {
+            return R.fail("该隐患报告不存在");
+        }
+        BeanUtils.copyProperties(comSwDangerReportRectifyDTO, comSwDangerReportDO);
+        comSwDangerReportDO.setStatus(String.valueOf(SafeWordStatusEnum.YZG.getCode()));
+        comSwDangerReportDO.setRectifyTime(DateUtils.getCurrentDateStr());
+        int update = comSwDangerReportDAO.updateById(comSwDangerReportDO);
+        if (update > 0) {
+            return R.ok();
+        }
+        return R.fail("整改失败");
+    }
+
+    @Override
+    public R exportDangerReport(List<Long> dangerReportIds) {
+        List<ComSwDangerReportExcelVO> list = comSwDangerReportDAO.exportDangerReport(dangerReportIds);
+//        list.forEach(comSwDangerReportExcelVO -> {
+//            List<String> patrolUserIds = Arrays.asList(comSwDangerReportExcelVO.getPatrolPerson().split(","));
+//            List<String> patrolPhones = new ArrayList<>();
+//            for (String userId : patrolUserIds) {
+//                LoginUserInfoVO loginUserInfoVO = userService.getUserInfoByUserId(userId).getData();
+//                patrolPhones.add(loginUserInfoVO.getPhone());
+//            }
+//            comSwDangerReportExcelVO.setPatrolPersonPhone(StringUtils.join(patrolPhones,","));
+//        });
+        return R.ok(list);
+    }
 }

--
Gitblit v1.7.1