获取订单 半成品订单生成

dev
siontion 4 months ago
parent 8a259210c9
commit 8828c22054

@ -849,9 +849,9 @@ public class ChanjetManager {
private void saveSemiFinishedOrder(MaterialDO materialDO,ProjectOrderSaveReqVO saveReqVO,Integer orderAmount){ private void saveSemiFinishedOrder(MaterialDO materialDO,ProjectOrderSaveReqVO saveReqVO,Integer orderAmount){
// 查询当前物料子件物料信息 // 查询当前物料子件物料信息
List<BomMaterialVO> bomDataList = queryProcessBom(materialDO.getCode(),saveReqVO.getWarehouseId()); List<BomMaterialVO> bomDataList = queryProcessBom(materialDO.getCode(),saveReqVO.getWarehouseId());
if(CollUtil.isNotEmpty(bomDataList) && bomDataList.stream().filter(mo->mo.getMaterialId()!=null && mo.getMaterialId().toString().startsWith("6")).count()>0){ if(CollUtil.isNotEmpty(bomDataList) && bomDataList.stream().filter(mo->mo.getProjectSubCode()!=null && mo.getProjectSubCode().toString().startsWith("6")).count()>0){
List<BomMaterialVO> mat6 = bomDataList.stream().filter(mo->mo.getMaterialId()!=null && mo.getMaterialId().toString().startsWith("6")).collect(Collectors.toList()); List<BomMaterialVO> mat6 = bomDataList.stream().filter(mo->mo.getProjectSubCode()!=null && mo.getProjectSubCode().toString().startsWith("6")).collect(Collectors.toList());
ProjectOrderDO newProjectOrderDO =BeanUtil.toBean(projectOrderMapper.selectById(saveReqVO.getId()),ProjectOrderDO.class); ProjectOrderDO newProjectOrderDO =BeanUtil.toBean(projectOrderMapper.selectById(saveReqVO.getId()),ProjectOrderDO.class);
@ -859,12 +859,12 @@ public class ChanjetManager {
List<ProjectOrderSubDO> subDOList = new ArrayList<>(16); List<ProjectOrderSubDO> subDOList = new ArrayList<>(16);
mat6.forEach(mo->{ mat6.forEach(mo->{
MaterialDO item = materialMapper.selectById(mo.getMaterialId()); MaterialDO item = materialMapper.selectOne("code",mo.getProjectSubCode());
BigDecimal matAmount = new BigDecimal("0"); BigDecimal matAmount = new BigDecimal("0");
if(mo.getProduceQuantity()==null || mo.getProduceQuantity().equals(0)){ if(mo.getProduceQuantity()==null || mo.getProduceQuantity().equals(0)){
matAmount = matAmount.subtract(mo.getStockQuantity()).add(item.getInvSafe()); matAmount = matAmount.subtract(mo.getStockQuantity()).add(item.getInvSafe());
}else{ }else{
matAmount = mo.getRequiredQuantity().divide(mo.getProduceQuantity()).multiply(new BigDecimal(orderAmount)).subtract(mo.getStockQuantity()).add(item.getInvSafe()); matAmount = mo.getRequiredQuantity().divide(mo.getProduceQuantity()).multiply(new BigDecimal(orderAmount)).subtract(mo.getStockQuantity()).add(item.getInvSafe()==null?new BigDecimal(0):item.getInvSafe());
} }
if(matAmount.intValue()>0){ if(matAmount.intValue()>0){
ProjectOrderSubDO subDO = new ProjectOrderSubDO(); ProjectOrderSubDO subDO = new ProjectOrderSubDO();
@ -881,6 +881,7 @@ public class ChanjetManager {
newProjectOrderDO.setId(null) newProjectOrderDO.setId(null)
.setCode(newProjectOrderDO.getCode()+"-1") .setCode(newProjectOrderDO.getCode()+"-1")
.setExternalCode(newProjectOrderDO.getCode()+"-1")
.setStatus(ValidStatusEnum.VALID.getCode()) .setStatus(ValidStatusEnum.VALID.getCode())
.setOrderSource(ProjectOrderSourceEnum.INTERFACE.getCode()) .setOrderSource(ProjectOrderSourceEnum.INTERFACE.getCode())
.setOrderStatus(ProjectOrderStatusEnum.SAVE.getCode()) .setOrderStatus(ProjectOrderStatusEnum.SAVE.getCode())
@ -888,7 +889,7 @@ public class ChanjetManager {
// 保存订单信息 // 保存订单信息
projectOrderMapper.insert(newProjectOrderDO); projectOrderMapper.insert(newProjectOrderDO);
subDOList.stream().map(vo->vo.setProjectOrderId(newProjectOrderDO.getId())); subDOList.stream().forEach(vo->vo.setProjectOrderId(newProjectOrderDO.getId()));
projectOrderSubMapper.insertBatch(subDOList); projectOrderSubMapper.insertBatch(subDOList);
} }

Loading…
Cancel
Save