yangys
2024-04-13 0a583efe2ddead0cdd37fd83deff43d43745a05f
smart-man-boot/src/main/java/com/qianwen/smartman/modules/cps/service/impl/ProductionCraftProcessServiceImpl.java
@@ -1,27 +1,24 @@
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.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.google.common.collect.Lists;
import java.lang.invoke.SerializedLambda;
import java.util.Collection;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.qianwen.smartman.common.cache.RegionCache;
import com.qianwen.smartman.common.utils.ExtraLambdaQueryWrapper;
import com.qianwen.smartman.common.utils.Lambda;
import com.qianwen.smartman.common.utils.MessageUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.common.collect.Lists;
import com.qianwen.core.log.exception.ServiceException;
import com.qianwen.core.mp.service.impl.BladeServiceImpl;
import com.qianwen.core.tool.node.ForestNodeMerger;
import com.qianwen.core.tool.utils.Func;
import com.qianwen.smartman.common.utils.Lambda;
import com.qianwen.smartman.common.utils.MessageUtils;
import com.qianwen.smartman.modules.cps.convert.ProductionCraftProcessConvert;
import com.qianwen.smartman.modules.cps.convert.ProductionCraftProcessFileConvert;
import com.qianwen.smartman.modules.cps.convert.ProductionCraftProcessRelatedFixtureConvert;
@@ -59,11 +56,10 @@
import com.qianwen.smartman.modules.cps.vo.VersionProcessParallelVO;
import com.qianwen.smartman.modules.cps.vo.VersionProcessTreeVO;
import com.qianwen.smartman.modules.cps.vo.VersionProcessUpdateVO;
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/ProductionCraftProcessServiceImpl.class */
public class ProductionCraftProcessServiceImpl extends BladeServiceImpl<ProductionCraftProcessMapper, ProductionCraftProcess> implements IProductionCraftProcessService {
    private final IProductionCraftProcessFileService processFileService;
    private final IProductionCraftProcessRelatedToolService relatedToolService;
@@ -77,7 +73,7 @@
        this.relatedFixtureService = relatedFixtureService;
    }
    @Override // org.springblade.modules.cps.service.IProductionCraftProcessService
    @Override
    @Transactional(rollbackFor = {Exception.class})
    public List<ProductionCraftProcessVO> saveVersionProcess(Long versionId, List<VersionProcessAddVO> processList) {
        validFixVersion(versionId);
@@ -97,14 +93,14 @@
        return ProductionCraftProcessConvert.INSTANCE.convert(craftProcessList);
    }
    @Override // org.springblade.modules.cps.service.IProductionCraftProcessService
    @Override
    @Transactional(rollbackFor = {Exception.class})
    public Boolean removeVersionProcess(List<Long> ids) {
        boolean flag = removeBatchByIds(ids);
        return Boolean.valueOf(flag && removeProcessAssociation(ids));
    }
    @Override // org.springblade.modules.cps.service.IProductionCraftProcessService
    @Override
    public List<ProductionCraftProcess> listProcessByVersion(Long id) {
       return list(Wrappers.lambdaQuery(ProductionCraftProcess.class)
               .eq(ProductionCraftProcess::getVersionId, id)
@@ -112,7 +108,7 @@
       
    }
    @Override // org.springblade.modules.cps.service.IProductionCraftProcessService
    @Override
    public boolean useSameFixture(ProductionCraftProcess currentProcess, ProductionCraftProcess nextProcess) {
       List<ProductionCraftProcessRelatedFixture> currentFixture = this.relatedFixtureService.list(Wrappers.lambdaQuery(ProductionCraftProcessRelatedFixture.class)
               .eq(ProductionCraftProcessRelatedFixture::getVersionProcessId, currentProcess.getId()));
@@ -141,7 +137,7 @@
        return currentIds.containsAll(nextIds);
    }
    @Override // org.springblade.modules.cps.service.IProductionCraftProcessService
    @Override
    public Boolean updateSort(ProductionCraftProcessUpdateSortVO productionCraftProcessUpdateSortVO) {
        List<ProductionCraftProcess> list = productionCraftProcessUpdateSortVO.getProcessList().stream().map(i -> {
            ProductionCraftProcess productionCraftProcess = new ProductionCraftProcess();
@@ -156,7 +152,7 @@
        return Boolean.valueOf(updateBatchById(list));
    }
    @Override // org.springblade.modules.cps.service.IProductionCraftProcessService
    @Override
    public ProductionCraftProcessDetailVO detailProcess(Long id) {
        ProductionCraftProcess process = (ProductionCraftProcess) getById(id);
        ProductionCraftProcessDetailVO vo = ProductionCraftProcessConvert.INSTANCE.convertDetailVO(process);
@@ -172,15 +168,13 @@
        }, id));
        List<ProductionCraftProcessRelatedFixtureVO> fixtureList = ProductionCraftProcessRelatedFixtureConvert.INSTANCE.convert(fixtures);
        vo.setFixtures(fixtureList);
        List<ProductionCraftProcessRelatedTool> tools = this.relatedToolService.list( Wrappers.lambdaQuery(ProductionCraftProcessRelatedTool.class).eq((v0) -> {
            return v0.getVersionProcessId();
        }, id));
        List<ProductionCraftProcessRelatedTool> tools = this.relatedToolService.list( Wrappers.lambdaQuery(ProductionCraftProcessRelatedTool.class).eq(ProductionCraftProcessRelatedTool::getVersionProcessId, id));
        List<ProductionCraftProcessRelatedToolVO> toolList = ProductionCraftProcessRelatedToolConvert.INSTANCE.convert(tools);
        vo.setTools(toolList);
        return vo;
    }
    @Override // org.springblade.modules.cps.service.IProductionCraftProcessService
    @Override
    @Transactional(rollbackFor = {Exception.class})
    public Boolean removeProcess(ProductionCraftProcessRemoveVO vo) {
        int versionStatus = this.baseMapper.getVersionStatus(vo.getVersionId());
@@ -189,9 +183,7 @@
        }
        Long versionProcessId = vo.getVersionProcessId();
        removeById(versionProcessId);
        remove(Lambda.eq((v0) -> {
            return v0.getMainSequenceId();
        }, versionProcessId));
        remove(Lambda.eq(ProductionCraftProcess::getMainSequenceId, versionProcessId));
        removeProcessAssociation(Lists.newArrayList(new Long[]{versionProcessId}));
        List<ProductionCraftProcessDeleteVO> voList = vo.getProductionCraftProcessDeleteVOList();
        if (Func.isNotEmpty(voList)) {
@@ -211,7 +203,7 @@
        return true;
    }
    @Override // org.springblade.modules.cps.service.IProductionCraftProcessService
    @Override
    @Transactional(rollbackFor = {Exception.class})
    public Boolean updateVersionProcess(VersionProcessUpdateVO vo) {
        Long versionId = vo.getVersionId();
@@ -228,14 +220,7 @@
               List<ProductionCraftProcess> list = list(Lambda.eq(ProductionCraftProcess::getSort, sort)
                        .ne(ProductionCraftProcess::getId, vo.getId())
                        .eq(ProductionCraftProcess::getVersionId, versionId));
               /*
                List<ProductionCraftProcess> list = list((Wrapper) ((ExtraLambdaQueryWrapper) Lambda.eq((v0) -> {
                    return v0.getSort();
                }, sort).ne((v0) -> {
                    return v0.getId();
                }, vo.getId())).eq((v0) -> {
                    return v0.getVersionId();
                }, versionId));*/
                if (Func.isNotEmpty(list)) {
                    throw new ServiceException(MessageUtils.message("cps.production.craft.process.same.sort", new Object[0]));
                }
@@ -259,7 +244,7 @@
        return true;
    }
    @Override // org.springblade.modules.cps.service.IProductionCraftProcessService
    @Override
    public List<ProductionCraftProcessVO> listProcess(Long versionId) {
        List<ProductionCraftProcess> list = list(Wrappers.lambdaQuery(ProductionCraftProcess.class).eq((v0) -> {
            return v0.getVersionId();
@@ -267,7 +252,7 @@
        return ProductionCraftProcessConvert.INSTANCE.convert(list);
    }
    @Override // org.springblade.modules.cps.service.IProductionCraftProcessService
    @Override
    @Transactional(rollbackFor = {Exception.class})
    public Boolean saveParallel(VersionProcessParallelVO vo) {
        Long versionId = vo.getVersionId();
@@ -278,11 +263,9 @@
        return updateChildProcess(craftProcess, childProcess);
    }
    @Override // org.springblade.modules.cps.service.IProductionCraftProcessService
    @Override
    public List<VersionProcessTreeVO> treeProcess(String versionId) {
        List<ProductionCraftProcess> list = list(Lambda.eq((v0) -> {
            return v0.getVersionId();
        }, versionId));
        List<ProductionCraftProcess> list = list(Lambda.eq(ProductionCraftProcess::getVersionId, versionId));
        List<VersionProcessTreeVO> vos = list.stream().map(this::convert).collect(Collectors.toList());
        List<VersionProcessTreeVO> result = ForestNodeMerger.merge(vos);
        result.sort(Comparator.comparing((v0) -> {
@@ -291,7 +274,7 @@
        return result;
    }
    @Override // org.springblade.modules.cps.service.IProductionCraftProcessService
    @Override
    public Boolean updateParallelProcess(UpdateParallelProcessVO vo) {
        ProductionCraftProcess process = new ProductionCraftProcess();
        process.setId(vo.getId());
@@ -302,7 +285,7 @@
              .eq(ProductionCraftProcess::getMainSequenceId, vo.getId())).update());
    }
    @Override // org.springblade.modules.cps.service.IProductionCraftProcessService
    @Override
    @Transactional(rollbackFor = {Exception.class})
    public List<ProductionCraftProcessVO> parallelSave(ProcessParallelSaveVO vo) {
        Long versionId = vo.getVersionId();
@@ -352,7 +335,7 @@
        return res;
    }
    @Override // org.springblade.modules.cps.service.IProductionCraftProcessService
    @Override
    public List<ProductionCraftProcess> childProcessSave(ChildProcessVO vo) {
        List<VersionProcessAddVO> childProcess = vo.getChildProcess();
        Map<Integer, List<VersionProcessAddVO>> typeMap = childProcess.stream().collect(Collectors.groupingBy((v0) -> {
@@ -376,19 +359,14 @@
        return saveAll(versionId, mainId, vo.getSort(), childProcess);
    }
    @Override // org.springblade.modules.cps.service.IProductionCraftProcessService
    @Override
    public Boolean childProcessRemove(String mainId, String childId) {
       return Boolean.valueOf(remove(Lambda.eq(ProductionCraftProcess::getMainSequenceId, mainId)
                 .eq(ProductionCraftProcess::getId, childId)));
       /*
        return Boolean.valueOf(remove((Wrapper) Lambda.eq((v0) -> {
            return v0.getMainSequenceId();
        }, mainId).eq((v0) -> {
            return v0.getId();
        }, childId)));*/
    }
    @Override // org.springblade.modules.cps.service.IProductionCraftProcessService
    @Override
    @Transactional(rollbackFor = {Exception.class})
    public Boolean childProcessUpdate(ProcessParallelUpdateVO vo) {
        Long versionId = vo.getVersionId();