教育训练处考试制证系统后端
zf
2023-09-14 704ea6024361970e2c99f21c12d0f0d88d0f1942
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
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.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)表服务实现类
 *
 * @author makejava
 * @since 2023-09-11 16:59:09
 */
@Service("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();
    }
}