郑永安
2023-09-19 69185134fcfaf913ea45f1255677225a2cc311a4
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
package com.gk.hotwork.specialWork.service.baseService.impl;
 
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gk.hotwork.Domain.Enum.ResultCodes;
import com.gk.hotwork.Domain.Exception.BusinessException;
import com.gk.hotwork.specialWork.entity.ApprovalRuleUnit;
import com.gk.hotwork.specialWork.enums.RuleUnitStatusEnum;
import com.gk.hotwork.specialWork.model.query.db.ApprovalRuleUnitDbQuery;
import com.gk.hotwork.specialWork.repository.ApprovalRuleUnitRepository;
import com.gk.hotwork.specialWork.service.baseService.ApprovalRuleUnitService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.time.LocalDateTime;
import java.util.List;
 
@Service("ApprovalRuleUnitService")
public class ApprovalRuleUnitServiceImpl extends ServiceImpl<ApprovalRuleUnitRepository, ApprovalRuleUnit> implements ApprovalRuleUnitService {
 
    @Autowired
    private ApprovalRuleUnitRepository approvalRuleUnitRepository;
 
 
    /**
     * 新增
     * @param unit
     * @return
     */
    @Override
    public int saveOneUnit(ApprovalRuleUnit unit) {
        unit.setStatus(RuleUnitStatusEnum.VALID.getCode());
        unit.setGmtCreate(LocalDateTime.now());
        return baseMapper.insert(unit);
    }
    /**
     * 修改
     */
    @Override
    public int updateOneUnit(ApprovalRuleUnit unit) {
        unit.setGmtModified(LocalDateTime.now());
        return baseMapper.insert(unit);
    }
    /**
     * 批量更新
     * @param unitList
     * @return
     */
    @Override
    public int saveUnitList(List<ApprovalRuleUnit> unitList) {
 
        return baseMapper.batchInsert(unitList);
    }
 
    @Override
    public List<ApprovalRuleUnit> listByRuleStepId(Long stepId) {
        List<ApprovalRuleUnit> unitList = baseMapper.listActiveByRuleStepId(stepId,RuleUnitStatusEnum.VALID.getCode());
        return unitList;
    }
    /**
     * 根据stepIds获取
     * @param stepId
     * @return
     */
    @Override
    public List<Long> listUnitIdByStepId(Long stepId) {
        return baseMapper.listUnitIdByStepId(stepId,RuleUnitStatusEnum.VALID.getCode());
    }
 
    @Override
    public int updateStatusByRuleStepId(Long stepId) {
        return baseMapper.updateStatusByRuleStepId(stepId,RuleUnitStatusEnum.ABANDONED.getCode());
    }
 
    @Override
    public int updateStatusByStepIds(List<Long> stepIds) {
        return baseMapper.updateStatusByStepIds(stepIds,RuleUnitStatusEnum.ABANDONED.getCode());
    }
 
    @Override
    public int updateStatusByRuleId(Long ruleId) {
        return baseMapper.updateStatusByRuleId(ruleId,RuleUnitStatusEnum.ABANDONED.getCode());
    }
 
    /**
     * 根据规则ruleIds删除数据
     * @param ruleIds
     * @return
     */
    @Override
    public int updateStatusByRuleIds(List<Long> ruleIds) {
        return baseMapper.updateStatusByRuleIds(ruleIds,RuleUnitStatusEnum.ABANDONED.getCode());
    }
 
    /**
     * 批量删除
     * @param unitIds
     * @return
     */
    @Override
    public int updateStatusByUnitIds(List<Long> unitIds) {
        return baseMapper.updateStatusByUnitIds(unitIds,RuleUnitStatusEnum.ABANDONED.getCode());
    }
 
    /**
     * 根据规则id获取集合
     * @param ruleId
     * @return
     */
    @Override
    public List<ApprovalRuleUnit> listByRuleId(Long ruleId) {
        return baseMapper.listActiveByRuleId(ruleId,RuleUnitStatusEnum.VALID.getCode());
    }
 
    @Override
    public List<ApprovalRuleUnit> listByConditions(ApprovalRuleUnitDbQuery query) {
        query.setStatus(RuleUnitStatusEnum.VALID.getCode());
        return baseMapper.listByConditions(query);
    }
 
    @Override
    public List<ApprovalRuleUnit> listApprovalUnitByRuleId(Long ruleId) {
        if (ruleId == null) {
            throw new BusinessException(ResultCodes.SERVER_PARAM_NULL);
        }
        return approvalRuleUnitRepository.selectList(new LambdaQueryWrapper<ApprovalRuleUnit>()
                // 规则id
                .eq(ApprovalRuleUnit::getRuleId,ruleId)
 
                // 状态
                .eq(ApprovalRuleUnit::getStatus,RuleUnitStatusEnum.VALID.getCode())
        );
    }
 
    @Override
    public List<ApprovalRuleUnit> listByNoConditions() {
        return baseMapper.selectList(new LambdaQueryWrapper<ApprovalRuleUnit>()
                .eq(ApprovalRuleUnit::getStatus,RuleUnitStatusEnum.VALID.getCode()));
    }
 
 
}