refactor(wms): 移除废弃的出入库相关接口和实现
- 注释掉推荐采购计划相关接口及其实现逻辑 - 删除出入库单主表和明细表的控制器、服务接口及实现类 - 移除出入库单相关的Mapper接口及XML配置文件 - 清理原材料服务中不再使用的库存信息填充方法
This commit is contained in:
@@ -71,59 +71,59 @@ public class WmsPurchasePlanServiceImpl implements IWmsPurchasePlanService {
|
||||
return flag > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WmsPurchasePlanVo recommendPurchasePlanByOrder(Long orderId) {
|
||||
// 1. 查询订单明细
|
||||
List<WmsOrderDetailVo> orderDetails = wmsOrderDetailService.queryListByOrderId(orderId);
|
||||
// 2. 汇总原材料需求
|
||||
Map<Long, WmsPurchasePlanDetailVo> materialMap = new HashMap<>();
|
||||
for (WmsOrderDetailVo detail : orderDetails) {
|
||||
List<WmsProductBom> bomList = wmsProductBomService.listByProductId(detail.getProductId());
|
||||
for (WmsProductBom bom : bomList) {
|
||||
BigDecimal needQty = bom.getQuantity().multiply(detail.getQuantity());
|
||||
WmsPurchasePlanDetailVo vo =
|
||||
materialMap.getOrDefault(bom.getRawMaterialId(), new WmsPurchasePlanDetailVo());
|
||||
vo.setRawMaterialId(bom.getRawMaterialId());
|
||||
vo.setQuantity(vo.getQuantity() == null ? needQty : vo.getQuantity().add(needQty));
|
||||
vo.setUnit(bom.getUnit());
|
||||
// 挂载原材料名称编号
|
||||
WmsRawMaterial wmsRawMaterial = wmsRawMaterialMapper.selectById(bom.getRawMaterialId());
|
||||
vo.setRawMaterialName(wmsRawMaterial.getRawMaterialName());
|
||||
vo.setRawMaterialCode(wmsRawMaterial.getRawMaterialCode());
|
||||
materialMap.put(bom.getRawMaterialId(), vo);
|
||||
}
|
||||
}
|
||||
// 3. 查询库存并计算推荐采购量
|
||||
for (WmsPurchasePlanDetailVo vo : materialMap.values()) {
|
||||
// 需求量
|
||||
vo.setDemand(vo.getQuantity());
|
||||
BigDecimal stockQty = wmsStockService.getStockByItemId(vo.getRawMaterialId());
|
||||
// 库存量
|
||||
if(stockQty == null){
|
||||
stockQty = BigDecimal.ZERO;
|
||||
}
|
||||
vo.setInventory(stockQty);
|
||||
// 在途量
|
||||
BigDecimal onTheWayQty = BigDecimal.ZERO;
|
||||
BigDecimal byRawMaterialIdAndOnTheWay =
|
||||
wmsPurchasePlanDetailMapper.getByRawMaterialIdAndOnTheWay(vo.getRawMaterialId());
|
||||
if (byRawMaterialIdAndOnTheWay != null) {
|
||||
onTheWayQty = byRawMaterialIdAndOnTheWay;
|
||||
}
|
||||
vo.setOnTheWay(onTheWayQty);
|
||||
// 计算推荐采购量
|
||||
BigDecimal recommendQty = vo.getQuantity().subtract(onTheWayQty).subtract(stockQty);
|
||||
vo.setQuantity(recommendQty.compareTo(BigDecimal.ZERO) > 0 ? recommendQty : BigDecimal.ZERO);
|
||||
}
|
||||
// 4. 组装主VO
|
||||
WmsPurchasePlanVo planVo = new WmsPurchasePlanVo();
|
||||
planVo.setPlanCode("推荐计划-" + orderId);
|
||||
planVo.setOrderId(orderId);
|
||||
planVo.setOwner("系统推荐");
|
||||
planVo.setRemark("仅供参考,实际采购请确认");
|
||||
planVo.setDetailList(new ArrayList<>(materialMap.values()));
|
||||
return planVo;
|
||||
}
|
||||
// @Override
|
||||
// public WmsPurchasePlanVo recommendPurchasePlanByOrder(Long orderId) {
|
||||
// // 1. 查询订单明细
|
||||
// List<WmsOrderDetailVo> orderDetails = wmsOrderDetailService.queryListByOrderId(orderId);
|
||||
// // 2. 汇总原材料需求
|
||||
// Map<Long, WmsPurchasePlanDetailVo> materialMap = new HashMap<>();
|
||||
// for (WmsOrderDetailVo detail : orderDetails) {
|
||||
// List<WmsProductBom> bomList = wmsProductBomService.listByProductId(detail.getProductId());
|
||||
// for (WmsProductBom bom : bomList) {
|
||||
// BigDecimal needQty = bom.getQuantity().multiply(detail.getQuantity());
|
||||
// WmsPurchasePlanDetailVo vo =
|
||||
// materialMap.getOrDefault(bom.getRawMaterialId(), new WmsPurchasePlanDetailVo());
|
||||
// vo.setRawMaterialId(bom.getRawMaterialId());
|
||||
// vo.setQuantity(vo.getQuantity() == null ? needQty : vo.getQuantity().add(needQty));
|
||||
// vo.setUnit(bom.getUnit());
|
||||
// // 挂载原材料名称编号
|
||||
// WmsRawMaterial wmsRawMaterial = wmsRawMaterialMapper.selectById(bom.getRawMaterialId());
|
||||
// vo.setRawMaterialName(wmsRawMaterial.getRawMaterialName());
|
||||
// vo.setRawMaterialCode(wmsRawMaterial.getRawMaterialCode());
|
||||
// materialMap.put(bom.getRawMaterialId(), vo);
|
||||
// }
|
||||
// }
|
||||
// // 3. 查询库存并计算推荐采购量
|
||||
// for (WmsPurchasePlanDetailVo vo : materialMap.values()) {
|
||||
// // 需求量
|
||||
// vo.setDemand(vo.getQuantity());
|
||||
// BigDecimal stockQty = wmsStockService.getStockByItemId(vo.getRawMaterialId());
|
||||
// // 库存量
|
||||
// if(stockQty == null){
|
||||
// stockQty = BigDecimal.ZERO;
|
||||
// }
|
||||
// vo.setInventory(stockQty);
|
||||
// // 在途量
|
||||
// BigDecimal onTheWayQty = BigDecimal.ZERO;
|
||||
// BigDecimal byRawMaterialIdAndOnTheWay =
|
||||
// wmsPurchasePlanDetailMapper.getByRawMaterialIdAndOnTheWay(vo.getRawMaterialId());
|
||||
// if (byRawMaterialIdAndOnTheWay != null) {
|
||||
// onTheWayQty = byRawMaterialIdAndOnTheWay;
|
||||
// }
|
||||
// vo.setOnTheWay(onTheWayQty);
|
||||
// // 计算推荐采购量
|
||||
// BigDecimal recommendQty = vo.getQuantity().subtract(onTheWayQty).subtract(stockQty);
|
||||
// vo.setQuantity(recommendQty.compareTo(BigDecimal.ZERO) > 0 ? recommendQty : BigDecimal.ZERO);
|
||||
// }
|
||||
// // 4. 组装主VO
|
||||
// WmsPurchasePlanVo planVo = new WmsPurchasePlanVo();
|
||||
// planVo.setPlanCode("推荐计划-" + orderId);
|
||||
// planVo.setOrderId(orderId);
|
||||
// planVo.setOwner("系统推荐");
|
||||
// planVo.setRemark("仅供参考,实际采购请确认");
|
||||
// planVo.setDetailList(new ArrayList<>(materialMap.values()));
|
||||
// return planVo;
|
||||
// }
|
||||
|
||||
/**
|
||||
* 查询采购计划主
|
||||
|
||||
Reference in New Issue
Block a user