|
|
@ -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);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|