sfd
2025-05-23 8c6327da1e57033a8d331d11e7f2e81496f1d6b5
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
143
144
145
package com.aps.core.service.impl;
 
import com.aps.common.core.utils.DateUtils;
import com.aps.common.core.utils.StringUtils;
import com.aps.common.security.utils.DictUtils;
import com.aps.common.security.utils.SecurityUtils;
import com.aps.core.domain.ApsShop;
import com.aps.core.domain.ApsStandardProcess;
import com.aps.core.mapper.ApsShopMapper;
import com.aps.core.mapper.ApsStandardProcessMapper;
import com.aps.core.service.IApsStandardProcessService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
 
/**
 * 标准工序Service业务层处理
 *
 * @author hjy
 * @date 2025-04-23
 */
@Service
public class ApsStandardProcessServiceImpl implements IApsStandardProcessService {
    @Autowired
    private ApsStandardProcessMapper apsStandardProcessMapper;
 
    @Autowired
    private ApsShopMapper apsShopMapper;
 
    /**
     * 查询标准工序
     *
     * @param id 标准工序主键
     * @return 标准工序
     */
    @Override
    public ApsStandardProcess selectApsStandardProcessById(Long id) {
        return apsStandardProcessMapper.selectApsStandardProcessById(id);
    }
 
    /**
     * 查询标准工序列表
     *
     * @param apsStandardProcess 标准工序
     * @return 标准工序
     */
    @Override
    public List<ApsStandardProcess> selectApsStandardProcessList(ApsStandardProcess apsStandardProcess) {
        return apsStandardProcessMapper.selectApsStandardProcessList(apsStandardProcess);
    }
 
    /**
     * 新增标准工序
     *
     * @param apsStandardProcess 标准工序
     * @return 结果
     */
    @Override
    public int insertApsStandardProcess(ApsStandardProcess apsStandardProcess) {
        apsStandardProcess.setCreateTime(DateUtils.getNowDate());
        apsStandardProcess.setCreateBy(SecurityUtils.getUsername());
        return apsStandardProcessMapper.insertApsStandardProcess(apsStandardProcess);
    }
 
    /**
     * 修改标准工序
     *
     * @param apsStandardProcess 标准工序
     * @return 结果
     */
    @Override
    public int updateApsStandardProcess(ApsStandardProcess apsStandardProcess) {
        apsStandardProcess.setUpdateTime(DateUtils.getNowDate());
        apsStandardProcess.setUpdateBy(SecurityUtils.getUsername());
        return apsStandardProcessMapper.updateApsStandardProcess(apsStandardProcess);
    }
 
    /**
     * 批量删除标准工序
     *
     * @param ids 需要删除的标准工序主键
     * @return 结果
     */
    @Override
    public int deleteApsStandardProcessByIds(Long[] ids) {
        return apsStandardProcessMapper.deleteApsStandardProcessByIds(ids);
    }
 
    /**
     * 删除标准工序信息
     *
     * @param id 标准工序主键
     * @return 结果
     */
    @Override
    public int deleteApsStandardProcessById(Long id) {
        return apsStandardProcessMapper.deleteApsStandardProcessById(id);
    }
 
    /**
     * 导入数据
     *
     * @param tempList
     * @return true/false
     */
    @Override
    public boolean importData(List<ApsStandardProcess> tempList) {
        try {
            if (!tempList.isEmpty()) {
                DictUtils.CacheValue cacheFactory = DictUtils.getCacheValue("aps_factory");
                DictUtils.CacheValue cacheDomain = DictUtils.getCacheValue("aps_domain");
 
                List<ApsShop> shops = apsShopMapper.selectApsByName(tempList.stream()
                        .map(ApsStandardProcess::getWorkShop)
                        .filter(StringUtils::isNotEmpty)
                        .collect(Collectors.toSet()));
                tempList.forEach(temp -> {
                    temp.setCreateBy(SecurityUtils.getUsername());
                    temp.setCreateTime(DateUtils.getNowDate());
                    temp.setMajor(cacheDomain.get(temp.getMajor()));
                    temp.setPlant(cacheFactory.get(temp.getPlant()));
                    temp.setWorkShop(shops.stream()
                            .filter(shop -> Objects.equals(shop.getShopName(), temp.getWorkShop()))
                            .filter(shop -> Objects.equals(shop.getPlantCode(), temp.getPlant()))
                            .map(ApsShop::getShopCode)
                            .findFirst()
                            .orElse(null));
                });
                apsStandardProcessMapper.insert(tempList);
            }
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
        return true;
    }
 
    @Override
    public List<ApsStandardProcess> selectApsStandardProcessListAll(ApsStandardProcess apsStandardProcess) {
        return apsStandardProcessMapper.selectApsStandardProcessList(apsStandardProcess);
    }
}