zhanghl
2025-05-09 32d1bd8a3f94c67198e397aff76bc7b33a30a6b6
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsStandardProcessRouteLineServiceImpl.java
@@ -4,7 +4,9 @@
import java.util.Hashtable;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import cn.hutool.core.util.IdUtil;
import com.aps.common.core.utils.DateUtils;
import com.aps.common.security.utils.SecurityUtils;
import com.aps.core.domain.ApsPlateStandardRequire;
@@ -123,18 +125,18 @@
        // 物料号
        String itemNumber=require.getBomLineCode();
        long routId=0L;
        ApsStandardProcessRouteLine ret=ApsStandardProcessRouteLine.builder()
                .routeId(String.valueOf(routId))
                .routeTime(BigDecimal.ZERO)
                .build();
        ApsStandardProcessRouteLine ret=new ApsStandardProcessRouteLine();
        ret.setRouteId(String.valueOf(routId));
        ret.setRouteTime(BigDecimal.ZERO);
        // 查询标准工艺路线头部信息
        Optional<ApsStandardProcessRouteHeader> firstProcessRoute = standardProcessRouteHeaderMapper.queryStandardProcessRouteHeaderByPlantAndItemCode(plant, itemNumber).stream().findFirst();
        if (firstProcessRoute.isPresent()) {
            ApsStandardProcessRouteHeader routeHeader = firstProcessRoute.get();
            // 构建工艺路线行参数对象
            ApsStandardProcessRouteLine routeLineParam = ApsStandardProcessRouteLine.builder()
                    .routeId(routeHeader.getRouteId())
                    .build();
            ApsStandardProcessRouteLine routeLineParam =new ApsStandardProcessRouteLine();
            routeLineParam.setRouteId(routeHeader.getRouteId());
            // 查询标准工艺路线行信息
            List<ApsStandardProcessRouteLine> apsStandardProcessRouteLines = apsStandardProcessRouteLineMapper.selectApsStandardProcessRouteLineList(routeLineParam);
            /*工艺路线Line 总工时*/
@@ -150,10 +152,14 @@
                    if (line.getProductivityModel().equals(productivityModel_monopolize)) {
                        line.setRouteTime(line.getDesignCapacity().multiply(require.getNetRequirement()));
                    }
                    // 累加路线时间到总工时中
                    totalRouteTime.add(line.getRouteTime());
                });
                // 累加路线时间到总工时中
               totalRouteTime = apsStandardProcessRouteLines.stream()
                        .map(ApsStandardProcessRouteLine::getRouteTime)
                        .reduce(BigDecimal.ZERO, BigDecimal::add);
            }
            ret.setRouteTime(totalRouteTime);
            ret.setRouteId(routeHeader.getRouteId());
        }else {
@@ -165,7 +171,8 @@
    private void saveRequireError(ApsPlateStandardRequire require,String message) {
        ApsPlateStandardRequireError data = ApsPlateStandardRequireError.builder()
                .requireId(require.getRequireId())
                .id(IdUtil.getSnowflakeNextId())
                .requireId(require.getId())
                .batchNumber(require.getBatchNumber())
                .docNum(require.getDocNum())
                .itemNum(require.getBomLineCode())