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 implements IBomProcessService { @Autowired @Lazy private IBomVersionService bomVersionService; @Override // org.springblade.modules.cps.service.IBomProcessService public Boolean saveBomProcess(Long bomId, Long bomMaterialId, List bomProcessVOList) { List 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 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 bomMaterialIdList) { return Boolean.valueOf(remove(Wrappers.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 getBomProcessDetailVOList(Map params) { return ((BomProcessMapper) this.baseMapper).getBomProcessDetailVOList(params); } @Override // org.springblade.modules.cps.service.IBomProcessService public IPage getBomProcessDetailVOPage(IPage page, Map 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())); } }