package com.ruoyi.project.tr.specialCheck.service.impl; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.ruoyi.doublePrevention.entity.CJReport.PreventCJReportDangerInfo; import com.ruoyi.doublePrevention.enums.ErrorCodes; import com.ruoyi.doublePrevention.enums.ResultCodes; import com.ruoyi.doublePrevention.repository.PreventCJReportDangerInfoRepository; import com.ruoyi.doublePrevention.service.baseService.PreventCJReportDangerInfoService; import com.ruoyi.doublePrevention.vo.ResultVO; import com.ruoyi.project.system.user.domain.User; import com.ruoyi.project.tr.riskList.domain.RiskList; import com.ruoyi.project.tr.specialCheck.domin.BO.TbSpecialCheckItemDangerLogBO; import com.ruoyi.project.tr.specialCheck.domin.BO.TbSpecialCheckItemDangerLogUpdateBO; import com.ruoyi.project.tr.specialCheck.domin.TbBaseCheckItem; import com.ruoyi.project.tr.specialCheck.domin.TbBaseCheckScore; import com.ruoyi.project.tr.specialCheck.domin.TbSpecialCheckItemDangerLog; import com.ruoyi.project.tr.specialCheck.domin.TbSpecialCheckTaskLog; import com.ruoyi.project.tr.specialCheck.mapper.TbBaseCheckItemMapper; import com.ruoyi.project.tr.specialCheck.mapper.TbBaseCheckScoreMapper; import com.ruoyi.project.tr.specialCheck.mapper.TbBaseCheckTaskMapper; import com.ruoyi.project.tr.specialCheck.mapper.TbSpecialCheckItemDangerLogMapper; import com.ruoyi.project.tr.specialCheck.service.SpecialCheckItemDangerLogService; import com.ruoyi.project.tr.specialCheck.service.TbBaseCheckService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; import java.time.LocalDateTime; import java.util.List; import java.util.UUID; import static com.ruoyi.common.utils.security.ShiroUtils.getSysUser; @Service public class SpecialCheckItemDangerLogServiceImpl implements SpecialCheckItemDangerLogService { @Autowired private TbSpecialCheckItemDangerLogMapper itemDangerLogMapper; @Autowired private TbBaseCheckTaskMapper baseCheckTaskMapper; @Autowired private TbBaseCheckItemMapper baseCheckItemMapper; @Autowired private TbBaseCheckScoreMapper baseCheckScoreMapper; @Autowired private PreventCJReportDangerInfoRepository preventCJReportDangerInfoRepository; @Override public ResultVO> selectSpecialCheckItemDangerLogPage(TbSpecialCheckItemDangerLogBO itemDangerLogBO) { Integer pageIndex = itemDangerLogBO.getPageNum(); Integer pageSize = itemDangerLogBO.getPageSize(); if (pageIndex == 0 || pageSize == 0){ return new ResultVO<>(ErrorCodes.REQUEST_PARAM_ERROR.getCode(),"当前页码或当前页显示数不能为0"); } Page page = PageHelper.startPage(pageIndex, pageSize); itemDangerLogMapper.selectSpecialCheckItemDangerLogPage(itemDangerLogBO); Long total = page.getTotal(); int count = total.intValue(); List pageResult = null; ResultVO> resultVO = new ResultVO<>(ResultCodes.OK,pageResult); resultVO.setData(page.getResult()); resultVO.setCount(count); resultVO.setCount((int) page.getTotal()); resultVO.setPageNum(page.getPageNum()); resultVO.setPageSize(page.getPageSize()); return resultVO; } @Override public ResultVO addSpecialItemDanger(TbSpecialCheckItemDangerLog itemDangerLog) { User sysUser = getSysUser(); ResultVO resultVO = new ResultVO<>(); resultVO.setCode(ErrorCodes.REQUEST_PARAM_ERROR.getCode()); if (itemDangerLog.getTaskId() == null){ resultVO.setMsg("任务不能为空"); return resultVO; } TbBaseCheckTaskMapper baseCheckTaskByTaskId = baseCheckTaskMapper.getBaseCheckTaskByTaskId(itemDangerLog.getTaskId()); if (ObjectUtils.isEmpty(baseCheckTaskByTaskId)){ resultVO.setMsg("任务不存在"); return resultVO; } if (itemDangerLog.getCheckItemId() == null){ resultVO.setMsg("检查项不能为空"); return resultVO; } TbBaseCheckItem baseCheckItemByItemId = baseCheckItemMapper.getBaseCheckItemByItemId(itemDangerLog.getCheckItemId()); if (ObjectUtils.isEmpty(baseCheckItemByItemId)){ resultVO.setMsg("检查项不存在"); return resultVO; } if (itemDangerLog.getCheckScoreId() == null){ resultVO.setMsg("评分不能为空"); return resultVO; } TbBaseCheckScore baseCheckScoreByScoreId = baseCheckScoreMapper.getBaseCheckScoreByScoreId(itemDangerLog.getCheckScoreId()); if (ObjectUtils.isEmpty(baseCheckScoreByScoreId)){ resultVO.setMsg("评分标准不存在"); return resultVO; } if (itemDangerLog.getDangerId() == null){ resultVO.setMsg("关联隐患不能为空"); return resultVO; } PreventCJReportDangerInfo dangerById = preventCJReportDangerInfoRepository.getDangerById(itemDangerLog.getDangerId()); if (ObjectUtils.isEmpty(dangerById)){ resultVO.setMsg("隐患不存在"); return resultVO; } if (itemDangerLog.getCheckDate() == null){ resultVO.setMsg("检查时间不能为空"); return resultVO; } if (itemDangerLog.getCheckType() == null){ resultVO.setMsg("检查类型不能为空"); return resultVO; } LocalDateTime dateTime = LocalDateTime.now(); String uuid = UUID.randomUUID().toString(); itemDangerLog.setId(uuid); itemDangerLog.setCompanyCode("652310082"); itemDangerLog.setCreateDate(dateTime); itemDangerLog.setUpdateDate(dateTime); itemDangerLog.setCreateBy(sysUser.getUserName()); itemDangerLog.setUpdateBy(sysUser.getUserName()); itemDangerLog.setReportStatus((byte) 1); itemDangerLog.setReportTime(null); itemDangerLog.setDeleted((byte) 0); int saveResult = itemDangerLogMapper.save(itemDangerLog); if (saveResult == 0){ resultVO.setCode(ResultCodes.SERVER_ADD_ERROR.getCode()); resultVO.setMsg(ResultCodes.SERVER_ADD_ERROR.getDesc()); return resultVO; } resultVO.setCode(ResultCodes.OK.getCode()); resultVO.setMsg("新增检查成功"); return resultVO; } @Override public TbSpecialCheckItemDangerLog getSpecialCheckItemDangerLogByIndexId(Long indexId) { return itemDangerLogMapper.getSpecialCheckItemDangerLogByIndexId(indexId); } @Override public ResultVO updateSpecialCheckItemDangerLog(TbSpecialCheckItemDangerLogUpdateBO updateBO) { User sysUser = getSysUser(); ResultVO resultVO = new ResultVO<>(); resultVO.setCode(ErrorCodes.REQUEST_PARAM_ERROR.getCode()); if (updateBO.getTaskId() == null){ resultVO.setMsg("任务不能为空"); return resultVO; } TbBaseCheckTaskMapper baseCheckTaskByTaskId = baseCheckTaskMapper.getBaseCheckTaskByTaskId(updateBO.getTaskId()); if (ObjectUtils.isEmpty(baseCheckTaskByTaskId)){ resultVO.setMsg("任务不存在"); return resultVO; } if (updateBO.getCheckItemId() == null){ resultVO.setMsg("检查项不能为空"); return resultVO; } TbBaseCheckItem baseCheckItemByItemId = baseCheckItemMapper.getBaseCheckItemByItemId(updateBO.getCheckItemId()); if (ObjectUtils.isEmpty(baseCheckItemByItemId)){ resultVO.setMsg("检查项不存在"); return resultVO; } if (updateBO.getCheckScoreId() == null){ resultVO.setMsg("评分不能为空"); return resultVO; } TbBaseCheckScore baseCheckScoreByScoreId = baseCheckScoreMapper.getBaseCheckScoreByScoreId(updateBO.getCheckScoreId()); if (ObjectUtils.isEmpty(baseCheckScoreByScoreId)){ resultVO.setMsg("评分标准不存在"); return resultVO; } if (updateBO.getDangerId() == null){ resultVO.setMsg("关联隐患不能为空"); return resultVO; } PreventCJReportDangerInfo dangerById = preventCJReportDangerInfoRepository.getDangerById(updateBO.getDangerId()); if (ObjectUtils.isEmpty(dangerById)){ resultVO.setMsg("隐患不存在"); return resultVO; } if (updateBO.getCheckDate() == null){ resultVO.setMsg("检查时间不能为空"); return resultVO; } if (updateBO.getCheckType() == null){ resultVO.setMsg("检查类型不能为空"); return resultVO; } LocalDateTime dateTime = LocalDateTime.now(); updateBO.setCompanyCode("652310082"); updateBO.setCreateDate(dateTime); updateBO.setUpdateDate(dateTime); updateBO.setCreateBy(sysUser.getUserName()); updateBO.setUpdateBy(sysUser.getUserName()); updateBO.setReportStatus((byte) 1); updateBO.setReportTime(null); updateBO.setDeleted((byte) 0); int updateResult = itemDangerLogMapper.updateSpecialCheckItemDangerLogById(updateBO); if (updateResult == 0){ resultVO.setCode(ResultCodes.SERVER_UPDATE_ERROR.getCode()); resultVO.setMsg(ResultCodes.SERVER_UPDATE_ERROR.getDesc()); return resultVO; } resultVO.setCode(ResultCodes.OK.getCode()); resultVO.setMsg("更新成功"); return resultVO; } @Override public ResultVO deleteTbSpecialItemDangerTaskLog(TbSpecialCheckItemDangerLogUpdateBO updateBO) { User sysUser = getSysUser(); ResultVO resultVO = new ResultVO<>(); resultVO.setCode(ErrorCodes.REQUEST_PARAM_ERROR.getCode()); if (updateBO.getIndexId() == null){ resultVO.setMsg("检查项为空"); return resultVO; } TbSpecialCheckItemDangerLog specialCheckItemDangerLogByIndexId = itemDangerLogMapper.getSpecialCheckItemDangerLogByIndexId(updateBO.getIndexId()); if (ObjectUtils.isEmpty(specialCheckItemDangerLogByIndexId)){ resultVO.setMsg("检查项不存在,删除失败"); return resultVO; } TbSpecialCheckItemDangerLog tbSpecialCheckItemDangerLog = new TbSpecialCheckItemDangerLog(); LocalDateTime dateTime = LocalDateTime.now(); tbSpecialCheckItemDangerLog.setIndexId(updateBO.getIndexId()); tbSpecialCheckItemDangerLog.setUpdateDate(dateTime); tbSpecialCheckItemDangerLog.setUpdateBy(sysUser.getUserName()); tbSpecialCheckItemDangerLog.setReportStatus((byte) 1); tbSpecialCheckItemDangerLog.setDeleted((byte) 1); int deleteResult = itemDangerLogMapper.deleteTbSpecialCheckItemDangerLog(tbSpecialCheckItemDangerLog); if (deleteResult == 0){ resultVO.setCode(ResultCodes.SERVER_DEL_ERROR.getCode()); resultVO.setMsg(ResultCodes.SERVER_DEL_ERROR.getDesc()); return resultVO; } resultVO.setCode(ResultCodes.OK.getCode()); resultVO.setMsg("删除成功"); return resultVO; } }