package com.gk.hotwork.Service.ServiceImpl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.gk.hotwork.Domain.*; import com.gk.hotwork.Domain.Do.CompanyInspectionCountDO; import com.gk.hotwork.Domain.Do.SafetySelfInspectionItemQualifiedCountDO; import com.gk.hotwork.Domain.Exception.BusinessException; import com.gk.hotwork.Domain.Utils.PageInfo; import com.gk.hotwork.Domain.Utils.StringUtils; import com.gk.hotwork.Domain.dto.resp.InspectionHiddenDangerRespDTO; import com.gk.hotwork.Domain.query.CountQuery; import com.gk.hotwork.Mapper.InspectionExpertMapper; import com.gk.hotwork.Mapper.InspectionHiddenDangerMapper; import com.gk.hotwork.Service.AttachmentInfoService; import com.gk.hotwork.Service.InspectionExpertService; import com.gk.hotwork.Service.InspectionHiddenDangerService; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * @email 1603559716@qq.com * @author: zf * @date: 2023/7/19 * @time: 17:30 */ @Service public class InspectionHiddenDangerServiceImpl extends ServiceImpl implements InspectionHiddenDangerService { @Autowired private InspectionHiddenDangerMapper inspectionHiddenDangerMapper; @Autowired private AttachmentInfoService attachmentInfoService; /** * 修改 * @param inspectionHiddenDanger */ @Override public void mod(InspectionHiddenDanger inspectionHiddenDanger, UserInfo userInfo) { modrequiredVerification(inspectionHiddenDanger); StringBuffer stringBuffer = new StringBuffer(); //附件 if(CollectionUtils.isNotEmpty(inspectionHiddenDanger.getRattachmentList())){ for (AttachmentInfo attachmentInfo : inspectionHiddenDanger.getRattachmentList()) { attachmentInfo.setBusinessId(inspectionHiddenDanger.getId()); stringBuffer.append(attachmentInfo.getId().toString()).append(","); } stringBuffer = stringBuffer.deleteCharAt(stringBuffer.length()-1); } inspectionHiddenDanger.setUpdateTime(new Date()); inspectionHiddenDanger.setUpdateBy(userInfo.getRealname()); inspectionHiddenDanger.setRectificationUrl(stringBuffer.toString()); inspectionHiddenDangerMapper.updateById(inspectionHiddenDanger); //更新附件 if(CollectionUtils.isNotEmpty(inspectionHiddenDanger.getRattachmentList())){ attachmentInfoService.updateBusinessIdBatch(inspectionHiddenDanger.getRattachmentList()); } } /** * 删除 * @param */ public void delByInspectionItemId(Long inspectionItemId,UserInfo userInfo){ InspectionHiddenDanger inspectionHiddenDanger = new InspectionHiddenDanger(); inspectionHiddenDanger.setSelfInspectionItemId(inspectionItemId); inspectionHiddenDanger.setUpdateBy(userInfo.getRealname()); inspectionHiddenDanger.setUpdateTime(new Date()); inspectionHiddenDangerMapper.delByInspectionItemId(inspectionHiddenDanger); } @Override public List getBySafetySelfInspectionItemId(Long inspectionItemId) { List inspectionHiddenDangerList = inspectionHiddenDangerMapper.selectList(new LambdaQueryWrapper() .eq(InspectionHiddenDanger::getValidFlag, true) .eq(InspectionHiddenDanger::getSelfInspectionItemId, inspectionItemId)); return inspectionHiddenDangerList; } public List getBySafetySelfInspectionId(Long inspectionId) { List inspectionHiddenDangerList = inspectionHiddenDangerMapper.selectList(new LambdaQueryWrapper() .eq(InspectionHiddenDanger::getValidFlag, true) .eq(InspectionHiddenDanger::getSelfInspectionId, inspectionId)); return inspectionHiddenDangerList; } @Override public List listByPage(PageInfo pageInfo) { return null; } @Override public void delByIds(List idList) { inspectionHiddenDangerMapper.delByIds(idList); } @Override public IPage selectPage(Page page, Map params, UserInfo user) { Integer type = user.getType(); //普通用户 if (type.equals(3)) { Long companyid = user.getCompanyid(); params.put("checkedCompanyId",companyid); } //监管用户 if (type.equals(2)) { //获取企业信息 params.put("province",user.getProvince()); params.put("city",user.getCity()); params.put("area",user.getCounty()); } IPage res = inspectionHiddenDangerMapper.selectPages(page, params); return res; } @Override public List inspectionHdangerlist(Long selfInspectionId) { List inspectionHiddenDangerList = inspectionHiddenDangerMapper.inspectionHdangerlist(selfInspectionId); for (InspectionHiddenDanger inspectionHiddenDanger : inspectionHiddenDangerList) { if(StringUtils.isNotBlank(inspectionHiddenDanger.getRectificationUrl())){ List idList = new ArrayList<>(); String[] split = inspectionHiddenDanger.getRectificationUrl().split(","); for (String s : split) { idList.add(Long.valueOf(s)); } List byIds = attachmentInfoService.findByIds(idList); inspectionHiddenDanger.setRattachmentList(byIds); } if(StringUtils.isNotBlank(inspectionHiddenDanger.getUrl())){ List idList = new ArrayList<>(); String[] split = inspectionHiddenDanger.getUrl().split(","); for (String s : split) { idList.add(Long.valueOf(s)); } List byIds = attachmentInfoService.findByIds(idList); inspectionHiddenDanger.setAttachmentList(byIds); } } return inspectionHiddenDangerList; } /** * 统计 * @param query * @return */ @Override public List getStatisticHiddenDanger(CountQuery query) { return inspectionHiddenDangerMapper.getStatisticHiddenDanger(query); } private void modrequiredVerification(InspectionHiddenDanger inspectionHiddenDanger){ if(inspectionHiddenDanger.getId() == null){ throw new BusinessException("隐患主键不可为空"); } InspectionHiddenDanger danger = this.inspectionHiddenDangerMapper.selectById(inspectionHiddenDanger.getId()); if(danger.getStatus().equals((byte) 1)){ throw new BusinessException("已整改不可再修改"); } if (inspectionHiddenDanger.getLevel() == null) throw new BusinessException("请选择隐患等级"); if (inspectionHiddenDanger.getStatus() == null) throw new BusinessException("整改状态不可为空"); } }