aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireServiceImpl.java
@@ -166,7 +166,7 @@
        /*定义工厂为南通 */
        String plantCode="FORTUNA";
        /*定义主单类型为钣金主单*/
        String mainOrderType = "0";
        String mainOrderType = "main";
        /*生成新批次号*/
        String batchNum= requireBatchService.getNewBatchNumber();
        /*获取钣金主单信息*/
@@ -226,8 +226,6 @@
        /*计算需求数量*/
        if (level == 0) {
            require.setBomUseAmount(BigDecimal.ONE);
            require.setCompleteDate(plan.getPlanEndDay());
            require.setDemandDate(plan.getPlanEndDay());
        } else {
            require.setBomUseAmount(itemNum.multiply(plan.getProductionQuantity()));
        }
@@ -272,21 +270,27 @@
        require.setProcessRouteId(routeId);
        require.setProcessRouteHours(String.valueOf(totalRouteTime));
        /*完成时间,level=0 时默认为工单的计划完成日期*/
        Date completeDate = plan.getPlanEndDay();
        /*预留天数*/
        Long reservedDay = getReservedDays();
        if (level > 0) {
        /*设置完成日期*/
        if(level==0){
            /*完成时间,level=0 时默认为工单的计划完成日期*/
            require.setCompleteDate(plan.getPlanEndDay());
            require.setDemandDate(plan.getPlanEndDay());
        } else  {
            /* 当前需求完成日期为上阶层需求的开始时间 - 预留天数(转换为毫秒)*/
            long reservedMillisecond = reservedDay * 24 * millisecond;
            Date completeDate = new Date();
            completeDate.setTime(upLevelStartDate.getTime() - reservedMillisecond);
            require.setCompleteDate(completeDate);
            require.setDemandDate(completeDate);
        }
        /*设置完成日期*/
        require.setCompleteDate(completeDate);
        require.setDemandDate(completeDate);
        /*设置开始时间*/
        Date startDay = new Date();
        startDay.setTime(completeDate.getTime() - totalRouteMillisecond);
        startDay.setTime(require.getCompleteDate().getTime() - totalRouteMillisecond);
        require.setStartDate(startDay);
        /*计算是否有风险*/
@@ -334,10 +338,10 @@
     * 获取钣金计划 预留天数
     * */
    private Long getReservedDays(){
        Long days=0L;
        List<SysDictData> dictDataList = DictUtils.getDictCache("aps_is_suspended");
        if (dictDataList != null) {
            Long.getLong(dictDataList.get(0).getDictValue());
        long days=0L;
        List<SysDictData> dictDataList = DictUtils.getDictCache("plate_plan_param");
        if (dictDataList != null && !dictDataList.isEmpty()) {
            days = Long.parseLong(dictDataList.get(0).getDictValue());
        }
        return days;
    }
@@ -361,7 +365,7 @@
                    bomOrderDetailService.savePlastPlanAndBomOrderDetail(require, platePlan, subtract, stock, netRequirement);
                    netRequirement = BigDecimal.ZERO;
                    require.setMatchState("已匹配");
                    require.setUnmatchedDemandAmount(netRequirement);
                    require.setUnmatchedDemandAmount(BigDecimal.ZERO);
                    /*净需求已经被满足,不需要继续匹配*/
                } else if (netRequirement.compareTo(stock) == 0) {
@@ -371,7 +375,7 @@
                    bomOrderDetailService.savePlastPlanAndBomOrderDetail(require, platePlan, subtract, stock, netRequirement);
                    netRequirement = BigDecimal.ZERO;
                    require.setMatchState("已匹配");
                    require.setUnmatchedDemandAmount(netRequirement);
                    require.setUnmatchedDemandAmount(BigDecimal.ZERO);
                    /*净需求已经被满足,不需要继续匹配*/
                }
                if (netRequirement.compareTo(stock) > 0) {
@@ -385,12 +389,10 @@
                    platePlan = apsPlatePlanMapper.selectUnMatchPlateSubPlan(require.getOrgCode(),  require.getBomLineCode());
                    /*剩余净需求*/
                    netRequirement = rest;
                    require.setUnmatchedDemandAmount(netRequirement);
                    require.setUnmatchedDemandAmount(rest);
                }
            }
        }
        require.setUnmatchedDemandAmount(require.getNetRequirement());
    }