yangys
2024-04-13 0a583efe2ddead0cdd37fd83deff43d43745a05f
smart-man-boot/src/main/java/com/qianwen/smartman/modules/cps/service/impl/BomMaterialServiceImpl.java
@@ -1,22 +1,25 @@
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;
@@ -27,13 +30,8 @@
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;
@@ -41,7 +39,7 @@
    @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 -> {
@@ -56,7 +54,7 @@
        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()
@@ -66,33 +64,33 @@
       
       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]));
@@ -104,25 +102,19 @@
        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);
@@ -140,7 +132,7 @@
        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));
    }