huanghongfa
2021-09-02 177249c76aeea0b4bf8d8816d4994e3b445b45ce
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwDangerReportServiceImpl.java
@@ -1,5 +1,13 @@
package com.panzhihua.service_community.service.impl;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
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,12 +16,9 @@
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;
@@ -23,15 +28,9 @@
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.*;
import lombok.extern.slf4j.Slf4j;
/**
 * @auther txb
@@ -40,7 +39,8 @@
 */
@Slf4j
@Service
public class ComSwDangerReportServiceImpl extends ServiceImpl<ComSwDangerReportDAO, ComSwDangerReportDO> implements ComSwDangerReportService {
public class ComSwDangerReportServiceImpl extends ServiceImpl<ComSwDangerReportDAO, ComSwDangerReportDO>
    implements ComSwDangerReportService {
    @Resource
    private ComSwDangerReportDAO comSwDangerReportDAO;
@@ -71,7 +71,8 @@
        IPage<ComSwDangerReportVO> iPage = comSwDangerReportDAO.pageDangerReport(page, comSwPatrolRecordPageDTO);
        if (!iPage.getRecords().isEmpty()) {
            iPage.getRecords().forEach(comSwDangerReportVO -> {
                if (StringUtils.isNotEmpty(comSwDangerReportVO.getStatus()) && "2".equals(comSwDangerReportVO.getStatus())) {
                if (StringUtils.isNotEmpty(comSwDangerReportVO.getStatus())
                    && "2".equals(comSwDangerReportVO.getStatus())) {
                    comSwDangerReportVO.setIsAssign(ComSwDangerReportVO.isOk.yes);
                }else {
                    comSwDangerReportVO.setIsAssign(ComSwDangerReportVO.isOk.no);
@@ -126,9 +127,12 @@
            return R.fail("该隐患报告不存在");
        }
        ComSwDangerReportVO comSwDangerReportVO = new ComSwDangerReportVO();
        ComSwPatrolRecordReportDO comSwPatrolRecordReportDO = comSwPatrolRecordReportDAO.selectOne(new QueryWrapper<ComSwPatrolRecordReportDO>().lambda().eq(ComSwPatrolRecordReportDO::getReportId, dangerReportId));
        ComSwPatrolRecordReportDO comSwPatrolRecordReportDO =
            comSwPatrolRecordReportDAO.selectOne(new QueryWrapper<ComSwPatrolRecordReportDO>().lambda()
                .eq(ComSwPatrolRecordReportDO::getReportId, dangerReportId));
        if (null != comSwPatrolRecordReportDO) {
            ComSwPatrolRecordDO comSwPatrolRecordDO = comSwPatrolRecordDAO.selectById(comSwPatrolRecordReportDO.getPatrolRecordId());
            ComSwPatrolRecordDO comSwPatrolRecordDO =
                comSwPatrolRecordDAO.selectById(comSwPatrolRecordReportDO.getPatrolRecordId());
            BeanUtils.copyProperties(comSwPatrolRecordDO, comSwDangerReportVO);
        }
        BeanUtils.copyProperties(comSwDangerReportDO, comSwDangerReportVO);
@@ -136,7 +140,7 @@
        //组装巡查类型
        if(StringUtils.isNotEmpty(comSwDangerReportVO.getPatrolType())){
            StringBuilder sb = new StringBuilder();
            String patrolTypes[] = comSwDangerReportVO.getPatrolType().split(",");
            String[] patrolTypes = comSwDangerReportVO.getPatrolType().split(",");
            for (int i = 0; i < patrolTypes.length; i++) {
                if(i != 0){
                    sb.append(",");
@@ -155,7 +159,7 @@
        //查询整改人员信息
        if(StringUtils.isNotEmpty(comSwDangerReportVO.getRectifyPerson())){
            StringBuilder sb = new StringBuilder();
            String personIds[] = comSwDangerReportVO.getRectifyPerson().split(",");
            String[] personIds = comSwDangerReportVO.getRectifyPerson().split(",");
            for (int i = 0; i < personIds.length; i++) {
                if(i != 0){
                    sb.append(",");
@@ -176,7 +180,7 @@
        //查询指派人名称
        if(StringUtils.isNotEmpty(comSwDangerReportVO.getAssignPerson())){
            StringBuilder sb = new StringBuilder();
            String personIds[] = comSwDangerReportVO.getAssignPerson().split(",");
            String[] personIds = comSwDangerReportVO.getAssignPerson().split(",");
            for (int i = 0; i < personIds.length; i++) {
                if(i != 0){
                    sb.append(",");
@@ -238,9 +242,12 @@
            return R.fail("该隐患报告不存在");
        }
        ComSwDangerReportVO comSwDangerReportVO = new ComSwDangerReportVO();
        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) {
            ComSwDangerReportDO comSwDangerReportDO = comSwDangerReportDAO.selectById(comSwPatrolRecordReportDO.getReportId());
            ComSwDangerReportDO comSwDangerReportDO =
                comSwDangerReportDAO.selectById(comSwPatrolRecordReportDO.getReportId());
            if (null == comSwDangerReportDO) {
                return R.fail("该隐患报告不存在");
            }
@@ -290,13 +297,15 @@
    @Override
    public R handleDangerReport(ComSwDangerReportHandleDTO comSwDangerReportHandleDTO) {
        ComSwDangerReportDO comSwDangerReportDO = comSwDangerReportDAO.selectById(comSwDangerReportHandleDTO.getDangerReportId());
        ComSwDangerReportDO comSwDangerReportDO =
            comSwDangerReportDAO.selectById(comSwDangerReportHandleDTO.getDangerReportId());
        if (null == comSwDangerReportDO) {
            return R.fail("该隐患报告不存在");
        }
        BeanUtils.copyProperties(comSwDangerReportHandleDTO, comSwDangerReportDO);
        comSwDangerReportDO.setStatus(String.valueOf(SafeWordStatusEnum.YCL.getCode()));
        ComSwDangerReportDO comSwDangerReportDO1 = comSwDangerReportDAO.selectById(comSwDangerReportHandleDTO.getDangerReportId());
        ComSwDangerReportDO comSwDangerReportDO1 =
            comSwDangerReportDAO.selectById(comSwDangerReportHandleDTO.getDangerReportId());
        if (!comSwDangerReportDO1.getStatus().equals(String.valueOf(SafeWordStatusEnum.DCL.getCode()))) {
            return R.fail("该隐患报告已处理,请勿重复操作");
        }
@@ -309,14 +318,16 @@
    @Override
    public R rectifyDangerReport(ComSwDangerReportRectifyDTO comSwDangerReportRectifyDTO) {
        ComSwDangerReportDO comSwDangerReportDO = comSwDangerReportDAO.selectById(comSwDangerReportRectifyDTO.getDangerReportId());
        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());
        ComSwDangerReportDO comSwDangerReportDO1 = comSwDangerReportDAO.selectById(comSwDangerReportRectifyDTO.getDangerReportId());
        ComSwDangerReportDO comSwDangerReportDO1 =
            comSwDangerReportDAO.selectById(comSwDangerReportRectifyDTO.getDangerReportId());
        if (comSwDangerReportDO1.getStatus().equals(String.valueOf(SafeWordStatusEnum.YZG.getCode()))) {
            return R.fail("该隐患报告已整改,请勿重复操作");
        }
@@ -330,15 +341,27 @@
    @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,","));
//        });
         list.forEach(comSwDangerReportExcelVO -> {
             // 整改人员id查询整改人员的名字和电话
             StringBuilder dangerNameString = new StringBuilder();
             StringBuilder dangerPhoneString = new StringBuilder();
             if (StringUtils.isNotEmpty(comSwDangerReportExcelVO.getDpersonName())) {
                 String[] dangerIds = comSwDangerReportExcelVO.getDpersonName().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"));
                     }
                 }
                 comSwDangerReportExcelVO.setDpersonName(dangerNameString.toString());
                 comSwDangerReportExcelVO.setDpersonPhone(dangerPhoneString.toString());
             }
         });
        return R.ok(list);
    }
}