huanghongfa
2021-07-28 098b507166a2b23f0256d5c4f097e7f05f11e9be
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwPatrolRecordServiceImpl.java
@@ -3,16 +3,27 @@
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.Snowflake;
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.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,46 @@
        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) {
                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();
    }
}