gdg
2020-12-23 6207311d7df3d47d27fdd78de33f49875550f52f
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
package com.nanometer.smartlab.service;
 
import com.nanometer.smartlab.dao.EncodeReplaceDictMapper;
import com.nanometer.smartlab.entity.EncodeReplaceDict;
import com.nanometer.smartlab.entity.SysUser;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
 
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.*;
 
@Service
public class EncodeReplaceDictServiceImpl implements EncodeReplaceDictService{
 
    @Resource
    private EncodeReplaceDictMapper encodeReplaceDictMapper;
 
    @Override
    public List<EncodeReplaceDict> selectAll(EncodeReplaceDict encodeReplaceDictFilter, Integer offset, Integer pageSize) {
        Map<String, Object> params = new HashMap<>();
        if (encodeReplaceDictFilter != null){
            params.put("info", encodeReplaceDictFilter.getInfo());
            params.put("number", encodeReplaceDictFilter.getNumber());
            params.put("type", encodeReplaceDictFilter.getType());
        }
        return encodeReplaceDictMapper.selectAll(params);
    }
 
    @Override
    public int countAll(EncodeReplaceDict encodeReplaceDictFilter) {
        Map<String, Object> params = new HashMap<>();
        if (encodeReplaceDictFilter != null){
            params.put("info", encodeReplaceDictFilter.getInfo());
            params.put("number", encodeReplaceDictFilter.getNumber());
            params.put("type", encodeReplaceDictFilter.getType());
        }
        return encodeReplaceDictMapper.countAll(params);
    }
 
    @Override
    @Transactional
    public void deleteOne(Long id) {
        encodeReplaceDictMapper.deleteByPrimaryKey(id);
    }
 
    @Override
    @Transactional
    public void addOne(EncodeReplaceDict encodeReplaceDict, SysUser user) {
        encodeReplaceDict.setUpdateTime(new Date());
        encodeReplaceDict.setCreator(user.getId());
        encodeReplaceDictMapper.insert(encodeReplaceDict);
    }
 
    @Override
    @Transactional
    public void updateOne(EncodeReplaceDict encodeReplaceDict) {
        encodeReplaceDictMapper.updateByPrimaryKey(encodeReplaceDict);
    }
 
    @Override
    public boolean checkAddOne(EncodeReplaceDict encodeReplaceDict) throws Exception {
        Map<String, Object> params = null;
        params = new HashMap<>();
        //同一个类型下的编号是否重复
        params.put("number", encodeReplaceDict.getNumber());
        params.put("type", encodeReplaceDict.getType());
        int check1 = encodeReplaceDictMapper.findByCondition(params);
        if (check1 >0){
            throw new Exception("编号重复");
        }
        //同一个类型下信息是否重复
        params = new HashMap<>();
        params.put("info", encodeReplaceDict.getInfo().trim());
        params.put("type", encodeReplaceDict.getType());
        int check2 = encodeReplaceDictMapper.findByCondition(params);
        if (check2 >0){
            throw new Exception("信息重复");
        }
        //同时不存在就合格
        return check1 == 0 && check2 == 0;
    }
 
    @Override
    public void checkUpdateOne(EncodeReplaceDict encodeReplaceDict) throws Exception {
        Map<String, Object> params = null;
        //同一个类型下编号除自己以外是否重复
        params = new HashMap<>();
        params.put("p_number", encodeReplaceDict.getNumber());
        params.put("type", encodeReplaceDict.getType());
        List<EncodeReplaceDict> checkList1 = encodeReplaceDictMapper.selectAll(params);
        //结果如果不是自己就是重复
        if (checkList1.size()>0 && !checkList1.get(0).getId().equals(encodeReplaceDict.getId())) {
            throw new Exception("编号重复");
        }
        params = new HashMap<>();
        params.put("p_info", encodeReplaceDict.getInfo().trim());
        params.put("type", encodeReplaceDict.getType());
        List<EncodeReplaceDict> checkList2 = encodeReplaceDictMapper.selectAll(params);
        //结果如果不是自己就是重复
        if (checkList2.size()>0 && !checkList2.get(0).getId().equals(encodeReplaceDict.getId())) {
            throw new Exception("信息重复");
        }
    }
 
 
}