package com.panzhihua.service_community.service.impl;
|
|
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.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
|
* @create 2021-07-23 14:38:38
|
* @describe 社区》安全工作》巡查记录服务实现类
|
*/
|
@Slf4j
|
@Service
|
public class ComSwPatrolRecordServiceImpl extends ServiceImpl<ComSwPatrolRecordDAO, ComSwPatrolRecordDO> implements ComSwPatrolRecordService {
|
|
@Resource
|
private ComSwPatrolRecordDAO comSwPatrolRecordDAO;
|
|
@Resource
|
private ComSwSafetyWorkRecordDAO comSwSafetyWorkRecordDAO;
|
|
@Resource
|
private ComSwDangerReportDAO comSwDangerReportDAO;
|
|
@Resource
|
private ComSwPatrolRecordReportDAO comSwPatrolRecordReportDAO;
|
|
@Override
|
public R pagePatrolRecord(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<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();
|
}
|
}
|