4 天以前 ed0b34e7377749befc33465318285bcc52128770
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessServiceImpl.java
@@ -4,6 +4,7 @@
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.mes.controller.admin.pro.route.vo.process.MesProRouteProcessSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProcessDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProductBomDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProductDO;
import cn.iocoder.yudao.module.mes.dal.mysql.pro.route.MesProRouteProcessMapper;
import cn.iocoder.yudao.module.mes.service.pro.process.MesProProcessService;
@@ -17,6 +18,8 @@
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*;
@@ -24,7 +27,7 @@
/**
 * MES 工艺路线工序 Service 实现类
 *
 * @author 芋道源码
 * @author 超级管理员
 */
@Service
@Validated
@@ -42,6 +45,9 @@
    @Resource
    @Lazy
    private MesProRouteService routeService;
    @Resource
    @Lazy
    private MesProRouteProductBomService routeProductBomService;
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -57,6 +63,12 @@
        // 2. 插入
        MesProRouteProcessDO routeProcess = BeanUtils.toBean(createReqVO, MesProRouteProcessDO.class);
        if (CollUtil.isNotEmpty(createReqVO.getOutputItemIds())) {
            routeProcess.setOutputItemId(
                createReqVO.getOutputItemIds().stream()
                    .map(String::valueOf)
                    .collect(Collectors.joining(",")));
        }
        routeProcessMapper.insert(routeProcess);
        // 3. 更新工序链
@@ -80,6 +92,12 @@
        // 2. 更新
        MesProRouteProcessDO updateObj = BeanUtils.toBean(updateReqVO, MesProRouteProcessDO.class);
        if (CollUtil.isNotEmpty(updateReqVO.getOutputItemIds())) {
            updateObj.setOutputItemId(
                updateReqVO.getOutputItemIds().stream()
                    .map(String::valueOf)
                    .collect(Collectors.joining(",")));
        }
        routeProcessMapper.updateById(updateObj);
        // 3. 重建工序链
@@ -198,6 +216,20 @@
    }
    @Override
    public Map<Long, List<MesProRouteProductBomDO>> getRouteProcessBomMapByProductId(Long productId) {
        MesProRouteProductDO routeProduct = routeProductService.getRouteProductByItemId(productId);
        if (routeProduct == null) {
            return Collections.emptyMap();
        }
        List<MesProRouteProductBomDO> bomList = routeProductBomService
                .getRouteProductBomListByRouteIdAndProductId(routeProduct.getRouteId(), productId);
        if (CollUtil.isEmpty(bomList)) {
            return Collections.emptyMap();
        }
        return bomList.stream().collect(Collectors.groupingBy(MesProRouteProductBomDO::getProcessId));
    }
    @Override
    public List<MesProRouteProcessDO> getRouteProcessListByProcessId(Long processId) {
        return routeProcessMapper.selectListByProcessId(processId);
    }