package com.gkhy.exam.noncoalmine.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.exam.noncoalmine.entity.ViolationRegistration; import com.gkhy.exam.noncoalmine.entity.WorkRegistration; import com.gkhy.exam.noncoalmine.mapper.ViolationRegistrationMapper; import com.gkhy.exam.noncoalmine.model.addForm.ViolationRegistrationAddForm; import com.gkhy.exam.noncoalmine.model.modForm.ViolationRegistrationModForm; import com.gkhy.exam.noncoalmine.model.query.ViolationRegistrationQuery; import com.gkhy.exam.noncoalmine.model.vo.ViolationRegistrationVO; import com.gkhy.exam.noncoalmine.model.vo.WorkRegistrationVO; import com.gkhy.exam.noncoalmine.service.ViolationRegistrationService; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.file.entity.AttachmentInfo; import com.ruoyi.file.mapper.AttachmentInfoMapper; import com.ruoyi.file.service.AttachmentInfoService; import com.ruoyi.system.domain.bo.SysOperateTypeWholeNameBO; import com.ruoyi.system.service.SysOperateTypeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; /** * (ViolationRegistration)表服务实现类 * * @author makejava * @since 2023-09-11 16:59:09 */ @Service("violationRegistrationService") public class ViolationRegistrationServiceImpl extends ServiceImpl implements ViolationRegistrationService { @Autowired private SysOperateTypeService sysOperateTypeService; @Autowired private ViolationRegistrationMapper violationRegistrationMapper; @Autowired private AttachmentInfoService attachmentInfoService; /** * 分页 * @param query * @return */ @Override public List listByPage(ViolationRegistrationQuery query) { List violationRegistrations = violationRegistrationMapper.listByPage(query); List list = violationRegistrations.stream().map(registration -> { ViolationRegistrationVO violationRegistrationVO = new ViolationRegistrationVO(); BeanUtils.copyProperties(registration, violationRegistrationVO); SysOperateTypeWholeNameBO operateTypeWholeName = sysOperateTypeService.getOperateTypeWholeNameById(registration.getOperateTypeId()); violationRegistrationVO.setJobCategory(operateTypeWholeName.getJobCategory()); violationRegistrationVO.setQualificationType(operateTypeWholeName.getQualificationType()); violationRegistrationVO.setOperationItems(operateTypeWholeName.getOperationItems()); //附件转换 violationRegistrationVO.setViolationPath(getAttachmentUrl(registration.getViolationPath())); return violationRegistrationVO; }).collect(Collectors.toList()); return list; } /** * 新增 * @param addForm * @return */ @Override public int add(ViolationRegistrationAddForm addForm) { ViolationRegistration violationRegistration = new ViolationRegistration(); BeanUtils.copyProperties(addForm,violationRegistration); violationRegistration.setDelFlag((byte) 0); return baseMapper.insert(violationRegistration); } /** * 修改 * @param modForm * @return */ @Override public int mod(ViolationRegistrationModForm modForm) { ViolationRegistration violationRegistration = new ViolationRegistration(); BeanUtils.copyProperties(modForm,violationRegistration); return baseMapper.updateById(violationRegistration); } /** * 根据身份证获取违章数据 */ public List getByIdCard(String idCard,byte isCm){ List violationRegistrations = baseMapper.selectList(new LambdaQueryWrapper() .eq(ViolationRegistration::getDelFlag, (byte)0) .eq(ViolationRegistration::getIdCard, idCard) .eq(ViolationRegistration::getIsCm,isCm)); List list = violationRegistrations.stream().map(registration -> { ViolationRegistrationVO violationRegistrationVO = new ViolationRegistrationVO(); BeanUtils.copyProperties(registration, violationRegistrationVO); SysOperateTypeWholeNameBO operateTypeWholeName = sysOperateTypeService.getOperateTypeWholeNameById(registration.getOperateTypeId()); violationRegistrationVO.setJobCategory(operateTypeWholeName.getJobCategory()); violationRegistrationVO.setQualificationType(operateTypeWholeName.getQualificationType()); violationRegistrationVO.setOperationItems(operateTypeWholeName.getOperationItems()); //附件转换 violationRegistrationVO.setViolationPath(getAttachmentUrl(registration.getViolationPath())); return violationRegistrationVO; }).collect(Collectors.toList()); return list; } @Override public void delBatch(List violationIds) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.in("violation_id",violationIds) .set("del_flag",(byte)2); this.update(updateWrapper); } /** * 附件转换 * @param keys * @return */ private String getAttachmentUrl(String keys){ if(StringUtils.isEmpty(keys)){ return null; } String[] arry = keys.split(","); StringBuffer paths = new StringBuffer(); List attachmentList = attachmentInfoService.findByKeys(Arrays.asList(arry)); if(!CollectionUtils.isEmpty(attachmentList)){ for (AttachmentInfo attachmentInfo : attachmentList) { paths.append(attachmentInfo.getFileUrl()).append(","); } paths.deleteCharAt(paths.length() -1); } return paths.toString(); } }