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()));
|
}
|
}
|