Merge branch 'dev' of http://192.168.50.149:8085/r/aps-backend into dev
| | |
| | | |
| | | private Long id; |
| | | |
| | | /** 需求ID */ |
| | | @Excel(name = "需求ID") |
| | | private String requireId; |
| | | |
| | | /** 需求追溯ID */ |
| | | @Excel(name = "需求追溯ID") |
| | | private String requireId; |
| | | private String requireTrackId; |
| | | |
| | | /** bom_line_id */ |
| | | @Excel(name = "bom_line_id") |
| | |
| | | private Long id; |
| | | |
| | | /** 需求追溯ID */ |
| | | @Excel(name = "需求追溯ID") |
| | | @Excel(name = "需求ID") |
| | | private String requireId; |
| | | |
| | | /** 需求追溯ID */ |
| | | @Excel(name = "需求追溯ID") |
| | | private String requireTrackId; |
| | | /** bom_line_id */ |
| | | @Excel(name = "bom_line_id") |
| | | private String bomLineId; |
| | |
| | | */ |
| | | public int deleteApsPlateStandardRequireBomStockDetailById(Long id); |
| | | |
| | | void saveStorageAndDetail(ApsMaterialStorageManagement itemStorage, ApsPlatePlan plan, ApsBom bomLine, String batchNum, BigDecimal deductionAmount, BigDecimal afterStockAmount); |
| | | void saveStorageAndDetail(ApsMaterialStorageManagement itemStorage, ApsPlatePlan plan, ApsBom bomLine, String batchNum, BigDecimal deductionAmount, BigDecimal afterStockAmount,String requireId); |
| | | } |
| | |
| | | /* 记录工单与净需求的匹配关系*/ |
| | | ApsPlateStandardRequireBomOrderDetail bomOrderDetail = ApsPlateStandardRequireBomOrderDetail.builder() |
| | | .id(IdUtil.getSnowflakeNextId()) |
| | | .requireId(require.getRequireId()) |
| | | .requireId(require.getId().toString()) |
| | | .requireTrackId(require.getRequireId()) |
| | | .bomLineId(require.getBomLineId()) |
| | | .bomLineCode(require.getBomLineCode()) |
| | | .docNo(platePlan.getDocumentNumber()) |
| | |
| | | * 计算物料剩余库存 并保存物料剩余库存明细。 |
| | | * */ |
| | | @Override |
| | | public void saveStorageAndDetail(ApsMaterialStorageManagement itemStorage, ApsPlatePlan plan, ApsBom bomLine, String batchNum, BigDecimal deductionAmount, BigDecimal afterStockAmount){ |
| | | public void saveStorageAndDetail(ApsMaterialStorageManagement itemStorage, ApsPlatePlan plan, ApsBom bomLine, String batchNum, BigDecimal deductionAmount, BigDecimal afterStockAmount,String requireId){ |
| | | /*更新物料剩余库存*/ |
| | | itemStorageMapper.updateMaterialStorageByVersion(afterStockAmount,itemStorage.getVersion()); |
| | | /*记录扣减明细*/ |
| | | ApsPlateStandardRequireBomStockDetail bomStockDetail = ApsPlateStandardRequireBomStockDetail.builder() |
| | | .id(IdUtil.getSnowflakeNextId()) |
| | | .requireId(plan.getRequireId()) |
| | | .requireId(requireId) |
| | | .requireTrackId(plan.getRequireId()) |
| | | .bomLineId(bomLine.getBomLineId()) |
| | | .bomLineCode(bomLine.getItemCode()) |
| | | .beforeStockAmount(itemStorage.getRemainderStock()) |
| | |
| | | String plantCode="FORTUNA"; |
| | | /*定义主单类型为钣金主单*/ |
| | | String mainOrderType = "钣金主件"; |
| | | /*定义子单类型为钣金子单*/ |
| | | String subOrderType = "钣金子件"; |
| | | /*生成新批次号*/ |
| | | String batchNum=getBatch(); |
| | | /*获取钣金主单信息*/ |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 构建需求信息 |
| | | * */ |
| | | private void getBomRequires(String plant, ApsBom bomLine, String batchNum, Date upLevelStartDate, ApsPlatePlan plan, List<ApsPlateStandardRequire> allRequires, Long level) { |
| | | |
| | | String itemNumber = bomLine.getItemCode(); |
| | | String productivityModel_combined_batch = "合批"; |
| | | String productivityModel_monopolize = "独占"; |
| | | /*构建需求信息*/ |
| | | ApsPlateStandardRequire require = new ApsPlateStandardRequire(); |
| | | require.setId(IdUtil.getSnowflakeNextId()); |
| | |
| | | afterStockAmount = remainderStock.subtract(deductionAmount); |
| | | require.setNetRequirement(BigDecimal.ZERO); |
| | | } |
| | | bomStockDetailService.saveStorageAndDetail(storage, plan, bomLine, batchNum, deductionAmount, afterStockAmount); |
| | | bomStockDetailService.saveStorageAndDetail(storage, plan, bomLine, batchNum, deductionAmount, afterStockAmount,require.getId().toString()); |
| | | } |
| | | } |
| | | |
| | |
| | | require.setMatchState("待匹配"); |
| | | require.setMatchMode("工单匹配"); |
| | | } |
| | | require.setHasDelayRisk("无风险"); |
| | | /*使用子件工单进行需求匹配*/ |
| | | matchRequireAndSubPlan(require); |
| | | |
| | |
| | | getBomRequires(plant, line, batchNum, require.getStartDate(), plan, allRequires, level + 1); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | private BigDecimal getRouteLineTotalTime(ApsStandardProcessRouteHeader routeHeader, String productivityModel_monopolize, BigDecimal netRequirement) { |
| | | ApsStandardProcessRouteLine routeLineParam = ApsStandardProcessRouteLine.builder() |
| | | .routeId(routeHeader.getRouteId()) |
| | | .build(); |
| | | List<ApsStandardProcessRouteLine> apsStandardProcessRouteLines = ApsStandardProcessRouteLineMapper.selectApsStandardProcessRouteLineList(routeLineParam); |
| | | /*工艺路线Line 总工时*/ |
| | | BigDecimal totalRouteTime = BigDecimal.ZERO; |
| | | apsStandardProcessRouteLines.forEach(line -> { |
| | | line.setRouteTime(line.getDesignCapacity()); |
| | | if (line.getProductivityModel().equals(productivityModel_monopolize)) { |
| | | line.setRouteTime(line.getDesignCapacity().multiply(netRequirement)); |
| | | } |
| | | totalRouteTime.add(line.getRouteTime()); |
| | | }); |
| | | return totalRouteTime; |
| | | } |
| | | |
| | | /** |
| | |
| | | <resultMap type="ApsPlateStandardRequireBomOrderDetail" id="ApsPlateStandardRequireBomOrderDetailResult"> |
| | | <result property="id" column="id" /> |
| | | <result property="requireId" column="require_id" /> |
| | | <result property="requireTrackId" column="require_track_id" /> |
| | | <result property="bomLineId" column="bom_line_id" /> |
| | | <result property="bomLineCode" column="bom_line_code" /> |
| | | <result property="docNo" column="doc_no" /> |
| | |
| | | </resultMap> |
| | | |
| | | <sql id="selectApsPlateStandardRequireBomOrderDetailVo"> |
| | | select id, require_id, bom_line_id, bom_line_code, doc_no, before_prod_amount, deduction_amount, after_prod_amount, org_code, batch_number, del_flag, create_time, create_by, update_by, update_time from aps_plate_standard_require_bom_order_detail |
| | | select id, require_id,require_track_id, bom_line_id, bom_line_code, doc_no, |
| | | before_prod_amount, deduction_amount, after_prod_amount, |
| | | org_code, batch_number, del_flag, create_time, create_by, update_by, update_time |
| | | from aps_plate_standard_require_bom_order_detail |
| | | </sql> |
| | | |
| | | <select id="selectApsPlateStandardRequireBomOrderDetailList" parameterType="ApsPlateStandardRequireBomOrderDetail" resultMap="ApsPlateStandardRequireBomOrderDetailResult"> |
| | | <include refid="selectApsPlateStandardRequireBomOrderDetailVo"/> |
| | | <where> |
| | | <if test="requireId != null and requireId != ''"> and require_id = #{requireId}</if> |
| | | <if test="requireTrackId != null and requireTrackId != ''"> and require_track_id = #{requireTrackId}</if> |
| | | <if test="bomLineId != null and bomLineId != ''"> and bom_line_id = #{bomLineId}</if> |
| | | <if test="bomLineCode != null and bomLineCode != ''"> and bom_line_code = #{bomLineCode}</if> |
| | | <if test="docNo != null and docNo != ''"> and doc_no = #{docNo}</if> |
| | |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="id != null">id,</if> |
| | | <if test="requireId != null">require_id,</if> |
| | | <if test="requireTrackId != null">require_track_id,</if> |
| | | |
| | | <if test="bomLineId != null">bom_line_id,</if> |
| | | <if test="bomLineCode != null">bom_line_code,</if> |
| | | <if test="docNo != null">doc_no,</if> |
| | |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="id != null">#{id},</if> |
| | | <if test="requireId != null">#{requireId},</if> |
| | | <if test="requireTrackId != null">#{requireTrackId},</if> |
| | | |
| | | <if test="bomLineId != null">#{bomLineId},</if> |
| | | <if test="bomLineCode != null">#{bomLineCode},</if> |
| | | <if test="docNo != null">#{docNo},</if> |
| | |
| | | update aps_plate_standard_require_bom_order_detail |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | <if test="requireId != null">require_id = #{requireId},</if> |
| | | <if test="requireTrackId != null">require_track_id = #{requireTrackId},</if> |
| | | <if test="bomLineId != null">bom_line_id = #{bomLineId},</if> |
| | | <if test="bomLineCode != null">bom_line_code = #{bomLineCode},</if> |
| | | <if test="docNo != null">doc_no = #{docNo},</if> |
| | |
| | | <resultMap type="ApsPlateStandardRequireBomStockDetail" id="ApsPlateStandardRequireBomStockDetailResult"> |
| | | <result property="id" column="id" /> |
| | | <result property="requireId" column="require_id" /> |
| | | <result property="requireTrackId" column="require_track_id" /> |
| | | <result property="bomLineId" column="bom_line_id" /> |
| | | <result property="bomLineCode" column="bom_line_code" /> |
| | | <result property="beforeStockAmount" column="before_stock_amount" /> |
| | |
| | | </resultMap> |
| | | |
| | | <sql id="selectApsPlateStandardRequireBomStockDetailVo"> |
| | | select id, require_id, bom_line_id, bom_line_code, before_stock_amount, deduction_amount, after_stock_amount, org_code, batch_number, del_flag, create_time, create_by, update_by, update_time from aps_plate_standard_require_bom_stock_detail |
| | | select id, require_id,require_track_id, bom_line_id, bom_line_code, before_stock_amount, |
| | | deduction_amount, after_stock_amount, org_code, batch_number, del_flag, |
| | | create_time, create_by, update_by, update_time |
| | | from aps_plate_standard_require_bom_stock_detail |
| | | </sql> |
| | | |
| | | <select id="selectApsPlateStandardRequireBomStockDetailList" parameterType="ApsPlateStandardRequireBomStockDetail" resultMap="ApsPlateStandardRequireBomStockDetailResult"> |
| | | <include refid="selectApsPlateStandardRequireBomStockDetailVo"/> |
| | | <where> |
| | | <if test="requireId != null and requireId != ''"> and require_id = #{requireId}</if> |
| | | <if test="requireTrackId != null and requireTrackId != ''"> and require_track_id = #{requireTrackId}</if> |
| | | <if test="bomLineId != null and bomLineId != ''"> and bom_line_id = #{bomLineId}</if> |
| | | <if test="bomLineCode != null and bomLineCode != ''"> and bom_line_code = #{bomLineCode}</if> |
| | | <if test="beforeStockAmount != null and beforeStockAmount != ''"> and before_stock_amount = #{beforeStockAmount}</if> |
| | |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="id != null">id,</if> |
| | | <if test="requireId != null">require_id,</if> |
| | | <if test="requireTrackId != null">require_track_id,</if> |
| | | <if test="bomLineId != null">bom_line_id,</if> |
| | | <if test="bomLineCode != null">bom_line_code,</if> |
| | | <if test="beforeStockAmount != null">before_stock_amount,</if> |
| | |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="id != null">#{id},</if> |
| | | <if test="requireId != null">#{requireId},</if> |
| | | <if test="requireTrackId != null">#{requireTrackId},</if> |
| | | <if test="bomLineId != null">#{bomLineId},</if> |
| | | <if test="bomLineCode != null">#{bomLineCode},</if> |
| | | <if test="beforeStockAmount != null">#{beforeStockAmount},</if> |
| | |
| | | update aps_plate_standard_require_bom_stock_detail |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | <if test="requireId != null">require_id = #{requireId},</if> |
| | | <if test="requireTrackId != null">require_track_id = #{requireTrackId},</if> |
| | | <if test="bomLineId != null">bom_line_id = #{bomLineId},</if> |
| | | <if test="bomLineCode != null">bom_line_code = #{bomLineCode},</if> |
| | | <if test="beforeStockAmount != null">before_stock_amount = #{beforeStockAmount},</if> |