zhanghl
2025-05-08 abc451e52a9ded8a18238d6903539fb310c1b256
增加初始化钣金计划数据接口
已修改18个文件
149 ■■■■ 文件已修改
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsMaterialStorageManagementMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlatePlanMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBatchMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBomOrderDetailMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBomStockDetailMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireErrorMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlateStandardRequireBatchService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireBatchServiceImpl.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireBomOrderDetailServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireServiceImpl.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/resources/mapper/core/ApsMaterialStorageManagementMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBatchMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBomOrderDetailMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBomStockDetailMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireErrorMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsMaterialStorageManagementMapper.java
@@ -64,4 +64,9 @@
   int updateMaterialStorageByVersion(BigDecimal remainderStock, Integer version);
   /**
    * 初始化剩余库存数量
    * */
   int initRemainderStock();
}
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlatePlanMapper.java
@@ -83,4 +83,9 @@
     * 更新子计划未匹配数量
     * */
    int updatePlanUnMatchQtyByVersion(ApsPlatePlan plan);
    /**
     * 初始化 子件工单的 未匹配数量
     * */
    int initUnMatchQty();
}
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBatchMapper.java
@@ -60,4 +60,9 @@
     * @return 结果
     */
    public int deleteApsPlateStandardRequireBatchByIds(Long[] ids);
    /**
     * 取出上一批次信息
     * */
    ApsPlateStandardRequireBatch selectLastRequireBatch();
}
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBomOrderDetailMapper.java
@@ -61,4 +61,6 @@
     * @return 结果
     */
    public int deleteApsPlateStandardRequireBomOrderDetailByIds(Long[] ids);
    int deleteLastPatch(String batchNumber);
}
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBomStockDetailMapper.java
@@ -60,4 +60,6 @@
     * @return 结果
     */
    public int deleteApsPlateStandardRequireBomStockDetailByIds(Long[] ids);
    int deleteLastPatch(String batchNumber);
}
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireErrorMapper.java
@@ -60,4 +60,6 @@
     * @return 结果
     */
    public int deleteApsPlateStandardRequireErrorByIds(Long[] ids);
    int deleteLastPatch(String batchNumber);
}
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireMapper.java
@@ -71,4 +71,6 @@
    public List<ApsPlateStandardRequire> selectPlateSupplyGapList(ApsPlateStandardRequire apsPlateStandardRequire);
    int batchInsert(List<ApsPlateStandardRequire> requireList);
    int deleteLastPatch(String batchNumber);
}
aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlateStandardRequireBatchService.java
@@ -2,6 +2,7 @@
import java.util.List;
import com.aps.core.domain.ApsPlateStandardRequireBatch;
import org.springframework.transaction.annotation.Transactional;
/**
 * 钣金计划标准需求计划批次表Service接口
@@ -58,4 +59,9 @@
     * @return 结果
     */
    public int deleteApsPlateStandardRequireBatchById(Long id);
    String getNewBatchNumber();
    @Transactional
    void initRequireBatch();
}
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireBatchServiceImpl.java
@@ -1,12 +1,17 @@
package com.aps.core.service.impl;
import java.util.List;
import cn.hutool.core.util.IdUtil;
import com.aps.common.core.utils.DateUtils;
import com.aps.common.security.utils.SecurityUtils;
import com.aps.core.mapper.*;
import jakarta.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.aps.core.mapper.ApsPlateStandardRequireBatchMapper;
import com.aps.core.domain.ApsPlateStandardRequireBatch;
import com.aps.core.service.IApsPlateStandardRequireBatchService;
import org.springframework.transaction.annotation.Transactional;
/**
 * 钣金计划标准需求计划批次表Service业务层处理
@@ -19,6 +24,25 @@
{
    @Autowired
    private ApsPlateStandardRequireBatchMapper apsPlateStandardRequireBatchMapper;
    @Resource
    ApsMaterialStorageManagementMapper apsMaterialStorageManagementMapper;
    @Resource
    ApsPlatePlanMapper apsPlatePlanMapper;
    @Resource
    ApsPlateStandardRequireMapper apsPlateStandardRequireMapper;
    @Resource
    ApsPlateStandardRequireBomOrderDetailMapper apsPlateStandardRequireBomOrderDetailMapper;
    @Resource
    ApsPlateStandardRequireBomStockDetailMapper apsPlateStandardRequireBomStockDetailMapper;
    @Resource
    ApsPlateStandardRequireErrorMapper apsPlateStandardRequireErrorMapper;
    /**
     * 查询钣金计划标准需求计划批次表
@@ -93,4 +117,35 @@
    {
        return apsPlateStandardRequireBatchMapper.deleteApsPlateStandardRequireBatchById(id);
    }
    /**
     * 生成新批次号
     * */
    @Override
    public String getNewBatchNumber() {
        String batchNum = String.valueOf(IdUtil.getSnowflakeNextId()) ;
        ApsPlateStandardRequireBatch batchBuilder = ApsPlateStandardRequireBatch.builder()
                .id(IdUtil.getSnowflakeNextId())
                .batchNumber(batchNum)
                .delFlag("0").build();
        batchBuilder.setCreateBy(SecurityUtils.getUsername());
        batchBuilder.setCreateTime(DateUtils.getNowDate());
        apsPlateStandardRequireBatchMapper.insertApsPlateStandardRequireBatch(batchBuilder);
        return batchNum;
    }
    @Transactional
    @Override
    public void initRequireBatch() {
        ApsPlateStandardRequireBatch batch=apsPlateStandardRequireBatchMapper.selectLastRequireBatch();
        if (batch!=null){
            String batchNumber = batch.getBatchNumber();
            apsPlateStandardRequireMapper.deleteLastPatch(batchNumber);
            apsPlateStandardRequireBomOrderDetailMapper.deleteLastPatch(batchNumber);
            apsPlateStandardRequireBomStockDetailMapper.deleteLastPatch(batchNumber);
            apsPlateStandardRequireErrorMapper.deleteLastPatch(batchNumber);
            apsPlatePlanMapper.initUnMatchQty();
            apsMaterialStorageManagementMapper.initRemainderStock();
        }
    }
}
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireBomOrderDetailServiceImpl.java
@@ -115,7 +115,9 @@
                .docNo(platePlan.getDocumentNumber())
                .beforeProdAmount(stock)
                .deductionAmount(netRequirement)
                .afterProdAmount(subtract).build();
                .afterProdAmount(subtract)
                .batchNumber(require.getBatchNumber())
                .build();
        apsPlateStandardRequireBomOrderDetailMapper.insertApsPlateStandardRequireBomOrderDetail(bomOrderDetail);
    }
}
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireServiceImpl.java
@@ -18,6 +18,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.aps.core.service.IApsPlateStandardRequireService;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -69,6 +70,9 @@
    @Resource
    IApsStandardProcessRouteLineService routeLineService;
    @Resource
    IApsPlateStandardRequireBatchService requireBatchService;
    /**
     * 查询钣金工单标准需求
@@ -154,14 +158,17 @@
        return apsPlateStandardRequireMapper.selectPlateSupplyGapList(apsPlateStandardRequire);
    }
    private void generatorPlan(){
    @Transactional
    public void generatorPlan(){
        /*初始化数据*/
        requireBatchService.initRequireBatch();
        /*定义工厂为南通 */
        String plantCode="FORTUNA";
        /*定义主单类型为钣金主单*/
        String mainOrderType = "钣金主件";
        /*生成新批次号*/
        String batchNum=getBatch();
        String batchNum= requireBatchService.getNewBatchNumber();
        /*获取钣金主单信息*/
        List<ApsPlatePlan> mainPlans = platePlanMapper.selectPlatePlanByPlantMajor(plantCode,mainOrderType);
        for (ApsPlatePlan mainPlan : mainPlans) {
@@ -215,6 +222,8 @@
        }
        /*查找库存,计算净需求,保存剩余库存,保存库存扣减明细*/
        BigDecimal remainderStock = BigDecimal.ZERO;
        /*默认净需求为BOM用量*/
        require.setNetRequirement(require.getBomUseAmount());
        Optional<ApsMaterialStorageManagement> itemStorage = getItemStorage(plant, itemNumber);
        if (itemStorage.isPresent()) {
            ApsMaterialStorageManagement storage = itemStorage.get();
@@ -294,21 +303,6 @@
                getBomRequires(plant, line, batchNum, require.getStartDate(), plan, allRequires, level + 1);
            });
        }
    }
    /**
     * 生成新批次号
     * */
    private  String getBatch() {
        String batchNum = System.currentTimeMillis() + "";
        ApsPlateStandardRequireBatch batchBuilder = ApsPlateStandardRequireBatch.builder()
                .id(IdUtil.getSnowflakeNextId())
                .batchNumber(batchNum)
                .delFlag("0").build();
        batchBuilder.setCreateBy(SecurityUtils.getUsername());
        batchBuilder.setCreateTime(DateUtils.getNowDate());
        requireBatchMapper.insertApsPlateStandardRequireBatch(batchBuilder);
        return batchNum;
    }
    /**
     * 获取物料库存信息
aps-modules/aps-core/src/main/resources/mapper/core/ApsMaterialStorageManagementMapper.xml
@@ -98,4 +98,10 @@
        set remainder_stock=#{remainderStock},version=version+1
        where id=#{id} and version=#{version}
    </update>
    <update id="initRemainderStock">
        update aps_material_storage_management
        set remainder_stock=num,version=0
        where 1=1
    </update>
</mapper>
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml
@@ -306,4 +306,9 @@
        </if>
    </select>
    <update id="initUnMatchQty" >
        update aps_plate_plan
            set unmatched_quantity=production_quantity, version=0
        where   del_flag='0' and professional_affiliation !='0'
    </update>
</mapper>
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBatchMapper.xml
@@ -75,4 +75,10 @@
            #{id}
        </foreach>
    </delete>
    <select id="selectLastRequireBatch" parameterType="Long" resultMap="ApsPlateStandardRequireBatchResult">
        <include refid="selectApsPlateStandardRequireBatchVo"/>
        order by create_time desc,id desc
        limit  1
    </select>
</mapper>
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBomOrderDetailMapper.xml
@@ -125,4 +125,8 @@
            #{id}
        </foreach>
    </delete>
    <update id="deleteLastPatch" parameterType="String">
        update aps_plate_standard_require_bom_order_detail set del_flag = '1' where batch_number = #{batchNumber}
    </update>
</mapper>
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBomStockDetailMapper.xml
@@ -118,4 +118,8 @@
            #{id}
        </foreach>
    </delete>
    <update id="deleteLastPatch" parameterType="String">
        update aps_plate_standard_require_bom_stock_detail set del_flag = '1' where batch_number = #{batchNumber}
    </update>
</mapper>
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireErrorMapper.xml
@@ -100,4 +100,7 @@
            #{id}
        </foreach>
    </delete>
    <update id="deleteLastPatch" parameterType="String">
        update aps_plate_standard_require_error set del_flag = '1' where batch_number = #{batchNumber}
    </update>
</mapper>
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireMapper.xml
@@ -216,4 +216,7 @@
        )
        </foreach>
    </insert>
    <update id="deleteLastPatch" parameterType="String">
        update aps_plate_standard_require set del_flag = '1' where batch_number = #{batchNumber}
    </update>
</mapper>