|
|
|
@ -752,4 +752,73 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl<BusinessPreOrde
|
|
|
|
|
|
|
|
|
|
return r; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public Boolean inOrderByZero(List<BusinessPreOrderVO> businessPreOrderList) { |
|
|
|
|
|
|
|
|
|
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse(); |
|
|
|
|
|
|
|
|
|
List<Long> ids = businessPreOrderList.stream().map(BusinessPreOrderVO::getId).collect(Collectors.toList()); |
|
|
|
|
|
|
|
|
|
// 查询与入库数量
|
|
|
|
|
List<BusinessPreOrderEntity> list = baseMapper.selectList(new LambdaQueryWrapper<BusinessPreOrderEntity>().in(BusinessPreOrderEntity::getId, ids)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (BusinessPreOrderEntity businessPreOrderEntity : list) { |
|
|
|
|
|
|
|
|
|
BusinessPreOrderVO t = businessPreOrderList.stream().filter(a->businessPreOrderEntity.getId().equals(a.getId())).findFirst().get(); |
|
|
|
|
|
|
|
|
|
if (1 == businessPreOrderEntity.getInWarehouse()) { |
|
|
|
|
throw new CustomerException( businessPreOrderEntity.getFirsts() + "已入库"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 构建 订单
|
|
|
|
|
DistributionStockArticleEntity distributionStockArticleEntity = checkStockArticle(businessPreOrderEntity, myCurrentWarehouse); |
|
|
|
|
// 构建 订单下级【包件】
|
|
|
|
|
DistributionParcelListEntity distributionParcelListEntityByOrderCodeAndFirstName = distributionParcelListClient.findDistributionParcelListEntityByOrderCodeAndFirstName(businessPreOrderEntity.getOrderCode(), businessPreOrderEntity.getFirsts(), myCurrentWarehouse.getId()); |
|
|
|
|
|
|
|
|
|
int temp = 0; |
|
|
|
|
if (distributionParcelListEntityByOrderCodeAndFirstName == null) { |
|
|
|
|
// 执行新增功能
|
|
|
|
|
DistributionParcelListEntity distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId = distributionParcelListClient.findDistributionParcelListEntityByOrderCodeAndFirstNameAndTenantId(businessPreOrderEntity.getFromTenantId(), businessPreOrderEntity.getOrderCode(), businessPreOrderEntity.getFirsts(), businessPreOrderEntity.getWarehouseId()); |
|
|
|
|
if (distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId != null) { |
|
|
|
|
distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setId(null); |
|
|
|
|
distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setTenantId(null); |
|
|
|
|
distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setCreateUser(null); |
|
|
|
|
distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setUpdateUser(null); |
|
|
|
|
distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setCreateTime(null); |
|
|
|
|
distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setUpdateTime(null); |
|
|
|
|
distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setOrderPackageReservationStatus("10"); |
|
|
|
|
// 卸车数量作为入库数量
|
|
|
|
|
distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setQuantity(t.getUnloadNum()); |
|
|
|
|
distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId.setStockArticleId(distributionStockArticleEntity.getId()); |
|
|
|
|
distributionParcelListClient.add(distributionParcelListEntityByOrderCodeAndFirstNameAndTenantId); |
|
|
|
|
temp = t.getUnloadNum(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
// 修改其入库数量
|
|
|
|
|
if(distributionParcelListEntityByOrderCodeAndFirstName.getQuantity()<t.getUnloadNum()){ |
|
|
|
|
temp = distributionParcelListEntityByOrderCodeAndFirstName.getQuantity() - t.getUnloadNum(); |
|
|
|
|
}else{ |
|
|
|
|
temp = t.getUnloadNum() - distributionParcelListEntityByOrderCodeAndFirstName.getQuantity(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
distributionParcelListEntityByOrderCodeAndFirstName.setQuantity(t.getUnloadNum()); |
|
|
|
|
distributionParcelListClient.update(distributionParcelListEntityByOrderCodeAndFirstName); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
distributionStockArticleEntity.setHandQuantity(distributionStockArticleEntity.getHandQuantity() + temp); |
|
|
|
|
distributionStockArticleEntity.setIncomingNum(distributionStockArticleEntity.getIncomingNum() + temp); |
|
|
|
|
distributionStockArticleClient.saveOrUpdate(distributionStockArticleEntity); |
|
|
|
|
|
|
|
|
|
// 修改预入库数据
|
|
|
|
|
businessPreOrderEntity.setInWarehouse(1); |
|
|
|
|
businessPreOrderEntity.setUnloadNum(t.getUnloadNum()); |
|
|
|
|
this.updateById(businessPreOrderEntity); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|