教育训练处考试制证系统后端
zf
2023-09-14 704ea6024361970e2c99f21c12d0f0d88d0f1942
exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ViolationRegistrationServiceImpl.java
@@ -1,10 +1,29 @@
package com.gkhy.exam.noncoalmine.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.exam.noncoalmine.mapper.ViolationRegistrationDao;
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.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)表服务实现类
@@ -13,7 +32,92 @@
 * @since 2023-09-11 16:59:09
 */
@Service("violationRegistrationService")
public class ViolationRegistrationServiceImpl extends ServiceImpl<ViolationRegistrationDao, ViolationRegistration> implements ViolationRegistrationService {
public class ViolationRegistrationServiceImpl extends ServiceImpl<ViolationRegistrationMapper, ViolationRegistration> implements ViolationRegistrationService {
   @Autowired
   private SysOperateTypeService sysOperateTypeService;
   @Autowired
   private ViolationRegistrationMapper violationRegistrationMapper;
   @Autowired
   private AttachmentInfoService attachmentInfoService;
   /**
    * 分页
    * @param query
    * @return
    */
   @Override
   public List<ViolationRegistrationVO> listByPage(ViolationRegistrationQuery query) {
      List<ViolationRegistration> violationRegistrations = violationRegistrationMapper.listByPage(query);
      List<ViolationRegistrationVO> 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<ViolationRegistrationVO> getByIdCard(String idCard){
      List<ViolationRegistration> violationRegistrations = baseMapper.selectList(new LambdaQueryWrapper<ViolationRegistration>()
            .eq(ViolationRegistration::getDelFlag, 0)
            .eq(ViolationRegistration::getIdCard, idCard));
      List<ViolationRegistrationVO> list = violationRegistrations.stream().map(registration -> {
         ViolationRegistrationVO violationRegistrationVO = new ViolationRegistrationVO();
         BeanUtils.copyProperties(registration, violationRegistrationVO);
         return violationRegistrationVO;
      }).collect(Collectors.toList());
      return list;
   }
   /**
    * 附件转换
    * @param keys
    * @return
    */
   private String getAttachmentUrl(String keys){
      String[] arry = keys.split(",");
      StringBuffer paths = new StringBuffer();
      List<AttachmentInfo> 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();
   }
}