| | |
| | | package com.qianwen.smartman.modules.cps.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.IdWorker; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import java.lang.invoke.SerializedLambda; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Optional; |
| | | import java.util.stream.Collectors; |
| | | import com.qianwen.smartman.common.utils.MessageUtils; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.context.annotation.Lazy; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.IdWorker; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.qianwen.core.log.exception.ServiceException; |
| | | import com.qianwen.core.mp.base.BaseServiceImpl; |
| | | import com.qianwen.core.tool.node.ForestNodeMerger; |
| | | import com.qianwen.core.tool.utils.CollectionUtil; |
| | | import com.qianwen.core.tool.utils.Func; |
| | | import com.qianwen.smartman.common.utils.MessageUtils; |
| | | import com.qianwen.smartman.modules.cps.convert.BomMaterialConvert; |
| | | import com.qianwen.smartman.modules.cps.entity.BomMaterial; |
| | | import com.qianwen.smartman.modules.cps.entity.BomVersion; |
| | |
| | | import com.qianwen.smartman.modules.cps.service.IBomVersionService; |
| | | import com.qianwen.smartman.modules.cps.vo.BomMaterialDetailVO; |
| | | import com.qianwen.smartman.modules.cps.vo.BomMaterialVO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.context.annotation.Lazy; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | @Service |
| | | /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/cps/service/impl/BomMaterialServiceImpl.class */ |
| | | public class BomMaterialServiceImpl extends BaseServiceImpl<BomMaterialMapper, BomMaterial> implements IBomMaterialService { |
| | | @Autowired |
| | | private IBomProcessService bomProcessService; |
| | |
| | | @Lazy |
| | | private IBomVersionService bomVersionService; |
| | | |
| | | @Override // org.springblade.modules.cps.service.IBomMaterialService |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class}) |
| | | public Boolean saveBomMaterial(Long bomId, String allPath, Long parentId, List<BomMaterialVO> bomMaterialVOList) { |
| | | bomMaterialVOList.forEach(i -> { |
| | |
| | | return true; |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.IBomMaterialService |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class}) |
| | | public Boolean deleteBomMaterial(Long bomId) { |
| | | List<BomMaterial> list = list(Wrappers.<BomMaterial>query().lambda() |
| | |
| | | |
| | | remove(Wrappers.<BomMaterial>update().lambda() |
| | | .eq(BomMaterial::getVersionId, bomId)); |
| | | List<Long> bomMaterialIdList = (List<Long>)list.stream().map(BomMaterial::getId).distinct().collect(Collectors.toList()); |
| | | List<Long> bomMaterialIdList = list.stream().map(BomMaterial::getId).distinct().collect(Collectors.toList()); |
| | | this.bomProcessService.deleteBomProcess(bomMaterialIdList); |
| | | return true; |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.IBomMaterialService |
| | | @Override |
| | | public List<BomMaterialVO> getBomMaterialVOListByBomId(Long bomId) { |
| | | return BomMaterialConvert.INSTANCE.convert(list(Wrappers.<BomMaterial>query().lambda() |
| | | .in(BomMaterial::getVersionId, new Object[] { bomId }))); |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.IBomMaterialService |
| | | @Override |
| | | public BomMaterialDetailVO detail(Long id) { |
| | | return ((BomMaterialMapper) this.baseMapper).detail(id); |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.IBomMaterialService |
| | | @Override |
| | | public List<BomMaterialDetailVO> list(Map<String, Object> params) { |
| | | return ((BomMaterialMapper) this.baseMapper).list(params); |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.IBomMaterialService |
| | | @Override |
| | | public IPage<BomMaterialDetailVO> page(IPage<BomMaterialDetailVO> page, Map<String, Object> params) { |
| | | return page.setRecords(((BomMaterialMapper) this.baseMapper).page(page, params)); |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.IBomMaterialService |
| | | @Override |
| | | public Boolean insert(BomMaterialVO bomMaterialVO) { |
| | | if (Func.isEmpty(bomMaterialVO.getVersionId())) { |
| | | throw new ServiceException(MessageUtils.message("cps.production.bom.version.id.is.empty", new Object[0])); |
| | |
| | | List<BomMaterial> list = list(Wrappers.<BomMaterial>query().lambda() |
| | | .eq(BomMaterial::getVersionId, bomMaterialVO.getVersionId()) |
| | | .eq(BomMaterial::getMaterialId, bomMaterialVO.getMaterialId())); |
| | | /* |
| | | List<BomMaterial> list = list((Wrapper) ((LambdaQueryWrapper) Wrappers.query().lambda().eq((v0) -> { |
| | | return v0.getVersionId(); |
| | | }, bomMaterialVO.getVersionId())).eq((v0) -> { |
| | | return v0.getMaterialId(); |
| | | }, bomMaterialVO.getMaterialId())); |
| | | */ |
| | | |
| | | if (CollectionUtil.isNotEmpty(list)) { |
| | | throw new ServiceException(MessageUtils.message("cps.production.bom.version.has.same.bom.material", new Object[0])); |
| | | } |
| | | String allPath = ""; |
| | | if (Func.isNotEmpty(bomMaterialVO.getParentId()) && bomMaterialVO.getParentId().compareTo((Long) 0L) > 0) { |
| | | allPath = (String) Optional.ofNullable(((BomMaterial) getById(bomMaterialVO.getParentId())).getAllPath()).orElse(null); |
| | | allPath = Optional.ofNullable(getById(bomMaterialVO.getParentId()).getAllPath()).orElse(null); |
| | | } |
| | | saveBomMaterial(bomMaterialVO.getVersionId(), allPath, bomMaterialVO.getParentId(), Arrays.asList(bomMaterialVO)); |
| | | return true; |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.IBomMaterialService |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class}) |
| | | public Boolean removeBomMaterial(Long id) { |
| | | BomMaterial bomMaterial = (BomMaterial) getById(id); |
| | |
| | | return true; |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.IBomMaterialService |
| | | @Override |
| | | public List<BomMaterialDetailVO> tree(Map<String, Object> params) { |
| | | return ForestNodeMerger.merge(((BomMaterialMapper) this.baseMapper).list(params)); |
| | | } |