yangys
2024-03-28 23a939ed820ee32f9a4309f9c81b7bab5a566f30
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
package com.qianwen.smartman.modules.cps.service.impl;
 
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import java.lang.invoke.SerializedLambda;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.qianwen.smartman.common.utils.MessageUtils;
import com.qianwen.core.log.exception.ServiceException;
import com.qianwen.core.mp.base.BaseServiceImpl;
import com.qianwen.smartman.modules.cps.convert.BomProcessConvert;
import com.qianwen.smartman.modules.cps.entity.BomProcess;
import com.qianwen.smartman.modules.cps.entity.BomVersion;
import com.qianwen.smartman.modules.cps.enums.BomVersionStatusEnum;
import com.qianwen.smartman.modules.cps.mapper.BomProcessMapper;
import com.qianwen.smartman.modules.cps.service.IBomProcessService;
import com.qianwen.smartman.modules.cps.service.IBomVersionService;
import com.qianwen.smartman.modules.cps.vo.BomProcessAddVO;
import com.qianwen.smartman.modules.cps.vo.BomProcessDeleteVO;
import com.qianwen.smartman.modules.cps.vo.BomProcessDetailVO;
import com.qianwen.smartman.modules.cps.vo.BomProcessVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
 
@Service
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/cps/service/impl/BomProcessServiceImpl.class */
public class BomProcessServiceImpl extends BaseServiceImpl<BomProcessMapper, BomProcess> implements IBomProcessService {
    @Autowired
    @Lazy
    private IBomVersionService bomVersionService;
 
    @Override // org.springblade.modules.cps.service.IBomProcessService
    public Boolean saveBomProcess(Long bomId, Long bomMaterialId, List<BomProcessVO> bomProcessVOList) {
        List<Long> processIdList = (List) bomProcessVOList.stream().map((v0) -> {
            return v0.getProcessId();
        }).distinct().collect(Collectors.toList());
        if (processIdList.size() != bomProcessVOList.size()) {
            throw new ServiceException(MessageUtils.message("cps.production.bom.material.process.is.repeat", new Object[0]));
        }
        List<BomProcess> list = (List) bomProcessVOList.stream().map(i -> {
            BomProcess bomProcess = new BomProcess();
            bomProcess.setBomMaterialId(bomMaterialId);
            bomProcess.setMolecule(i.getMolecule());
            bomProcess.setDenominator(i.getDenominator());
            bomProcess.setProcessId(i.getProcessId());
            bomProcess.setLoss(i.getLoss());
            return bomProcess;
        }).collect(Collectors.toList());
        return Boolean.valueOf(saveBatch(list));
    }
 
    @Override // org.springblade.modules.cps.service.IBomProcessService
    public Boolean deleteBomProcess(List<Long> bomMaterialIdList) {
        return Boolean.valueOf(remove(Wrappers.<BomProcess>update().lambda()
                  .in(BomProcess::getBomMaterialId, bomMaterialIdList)));
        /*
        return Boolean.valueOf(remove((Wrapper) Wrappers.update().lambda().in((v0) -> {
            return v0.getBomMaterialId();
        }, bomMaterialIdList)));*/
    }
 
    @Override // org.springblade.modules.cps.service.IBomProcessService
    public List<BomProcessDetailVO> getBomProcessDetailVOList(Map<String, Object> params) {
        return ((BomProcessMapper) this.baseMapper).getBomProcessDetailVOList(params);
    }
 
    @Override // org.springblade.modules.cps.service.IBomProcessService
    public IPage<BomProcessDetailVO> getBomProcessDetailVOPage(IPage<BomProcessDetailVO> page, Map<String, Object> params) {
        return page.setRecords(((BomProcessMapper) this.baseMapper).getBomProcessDetailVOPage(page, params));
    }
 
    @Override // org.springblade.modules.cps.service.IBomProcessService
    public BomProcessVO addBomProcess(BomProcessAddVO bomProcessAddVO) {
        BomVersion bomVersion = (BomVersion) this.bomVersionService.getById(bomProcessAddVO.getBomId());
        if (BomVersionStatusEnum.FINALIZED.getStatus().equals(bomVersion.getVersionStatus())) {
            throw new ServiceException(MessageUtils.message("cps.production.bom.version.has.been.finalized.can.not.add.bom.process", new Object[0]));
        }
        BomProcess bomProcess = new BomProcess();
        bomProcess.setProcessId(bomProcessAddVO.getProcessId());
        bomProcess.setBomMaterialId(bomProcessAddVO.getBomMaterialId());
        bomProcess.setLoss(bomProcessAddVO.getLoss());
        bomProcess.setDenominator(bomProcessAddVO.getDenominator());
        bomProcess.setMolecule(bomProcessAddVO.getMolecule());
        save(bomProcess);
        return BomProcessConvert.INSTANCE.convert(bomProcess);
    }
 
    @Override // org.springblade.modules.cps.service.IBomProcessService
    public Boolean removeBomProcessById(BomProcessDeleteVO bomProcessDeleteVO) {
        BomVersion bomVersion = (BomVersion) this.bomVersionService.getById(bomProcessDeleteVO.getBomId());
        if (BomVersionStatusEnum.FINALIZED.getStatus().equals(bomVersion.getVersionStatus())) {
            throw new ServiceException(MessageUtils.message("cps.production.bom.version.has.been.finalized.can.not.delete.bom.process", new Object[0]));
        }
        return Boolean.valueOf(removeById(bomProcessDeleteVO.getId()));
    }
}