|
|
|
@ -11,8 +11,10 @@ import com.logpm.basicdata.feign.IBasicdataClientClient;
|
|
|
|
|
import com.logpm.basicdata.feign.IBasicdataStoreBusinessClient; |
|
|
|
|
import com.logpm.basicdata.feign.IBasicdataWarehouseClient; |
|
|
|
|
import com.logpm.distribution.entity.DistributionParcelListEntity; |
|
|
|
|
import com.logpm.distribution.entity.DistributionParcelNumberEntity; |
|
|
|
|
import com.logpm.distribution.entity.DistributionStockArticleEntity; |
|
|
|
|
import com.logpm.distribution.feign.IDistributionParcelListClient; |
|
|
|
|
import com.logpm.distribution.feign.IDistributionParcelNumberClient; |
|
|
|
|
import com.logpm.distribution.feign.IDistributionStockArticleClient; |
|
|
|
|
import com.logpm.oldproject.entity.WayBillEntity; |
|
|
|
|
import com.logpm.oldproject.entity.WaybillDesEntity; |
|
|
|
@ -61,6 +63,7 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
|
|
|
|
|
private final IBasicdataStoreBusinessClient basicdataStoreBusinessClient; |
|
|
|
|
private final IWarehouseWayBillDetailService warehouseWayBillDetailService; |
|
|
|
|
private final IDistributionParcelListClient distributionParcelListClient; |
|
|
|
|
private final IDistributionParcelNumberClient distributionParcelNumberClient; |
|
|
|
|
|
|
|
|
|
private final IDistributionStockArticleClient distributionStockArticleClient; |
|
|
|
|
|
|
|
|
@ -159,12 +162,15 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
|
|
|
|
|
String destinationWarehouse = warehouseWaybill.getDestinationWarehouseName();//目的仓
|
|
|
|
|
Integer totalCount = warehouseWaybill.getTotalCount();//订单总数量
|
|
|
|
|
Integer stockCount = warehouseWaybill.getStockCount();//订单在库数量
|
|
|
|
|
String consignee = warehouseWaybill.getConsignee(); |
|
|
|
|
BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseClient.findByName(destinationWarehouse); |
|
|
|
|
DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleClient.findByOrderSelfNum(waybillNo); |
|
|
|
|
BasicdataClientEntity clientEntity = basicdataClientClient.findByName(consignee); |
|
|
|
|
Date date = new Date(); |
|
|
|
|
|
|
|
|
|
Long id = null; |
|
|
|
|
if (Objects.isNull(distributionStockArticleEntity)) { |
|
|
|
|
Date date = new Date(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
distributionStockArticleEntity = new DistributionStockArticleEntity(); |
|
|
|
|
distributionStockArticleEntity.setOrderCode(warehouseWaybill.getWaybillNo()); |
|
|
|
@ -172,7 +178,8 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
|
|
|
|
|
distributionStockArticleEntity.setWaybillNumber(waybillNo); |
|
|
|
|
distributionStockArticleEntity.setWaybillId(warehouseWaybill.getId()); |
|
|
|
|
distributionStockArticleEntity.setWarehouseId(basicdataWarehouseEntity.getId()); |
|
|
|
|
distributionStockArticleEntity.setMallName(warehouseWaybill.getConsignee()); |
|
|
|
|
distributionStockArticleEntity.setMallName(consignee); |
|
|
|
|
distributionStockArticleEntity.setMallCode(clientEntity.getClientCode()); |
|
|
|
|
distributionStockArticleEntity.setMallId(warehouseWaybill.getConsigneeId()); |
|
|
|
|
distributionStockArticleEntity.setDescriptionGoods(warehouseWaybill.getGoodsName()); |
|
|
|
|
distributionStockArticleEntity.setWarehouse(basicdataWarehouseEntity.getName()); |
|
|
|
@ -202,6 +209,7 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
|
|
|
|
|
distributionStockArticleEntity.setCustomerAddress(warehouseWaybill.getConsigneeAddress()); |
|
|
|
|
distributionStockArticleEntity.setGenre(1); |
|
|
|
|
distributionStockArticleEntity.setCreateUser(1123598821738675201L); |
|
|
|
|
distributionStockArticleEntity.setUpdateUser(1123598821738675201L); |
|
|
|
|
distributionStockArticleEntity.setSortingQuantity(0); //分拣件数
|
|
|
|
|
distributionStockArticleEntity.setDeliveryQuantity(0); //配送件数
|
|
|
|
|
distributionStockArticleEntity.setTransferQuantity(0); //中转件数
|
|
|
|
@ -216,6 +224,13 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
|
|
|
|
|
|
|
|
|
|
distributionStockArticleEntity.setConsigneeUnit(customerName);//收货单位(经销商)
|
|
|
|
|
distributionStockArticleEntity.setConsigneePerson(warehouseWaybill.getConsigneeName());//收货人
|
|
|
|
|
distributionStockArticleEntity.setConsigneeMobile(warehouseWaybill.getConsigneeMobile()); |
|
|
|
|
distributionStockArticleEntity.setConsigneeAddress(warehouseWaybill.getConsigneeAddress()); |
|
|
|
|
distributionStockArticleEntity.setWarehouseEntryTimeEnd(date); |
|
|
|
|
distributionStockArticleEntity.setSendWarehouseId(warehouseWaybill.getDepartureWarehouseId()); |
|
|
|
|
distributionStockArticleEntity.setSendWarehouseName(warehouseWaybill.getDepartureWarehouseName()); |
|
|
|
|
distributionStockArticleEntity.setAcceptWarehouseId(warehouseWaybill.getDestinationWarehouseId()); |
|
|
|
|
distributionStockArticleEntity.setAcceptWarehouseName(warehouseWaybill.getDestinationWarehouseName()); |
|
|
|
|
distributionStockArticleEntity.setIsZero("1"); |
|
|
|
|
distributionStockArticleEntity.setTenantId(TenantNum.HUITONGCODE); |
|
|
|
|
|
|
|
|
@ -240,11 +255,31 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
|
|
|
|
|
List<DistributionParcelListEntity> ls = new ArrayList<>(); |
|
|
|
|
for (WarehouseWayBillDetail warehouseWayBillDetail : details) { |
|
|
|
|
DistributionParcelListEntity entity = new DistributionParcelListEntity(); |
|
|
|
|
entity.setMaterialName(warehouseWayBillDetail.getProductName()); |
|
|
|
|
entity.setFirsts(warehouseWayBillDetail.getProductName()); |
|
|
|
|
entity.setTenantId("627683"); |
|
|
|
|
entity.setCreateUser(distributionStockArticleEntity.getCreateUser()); |
|
|
|
|
entity.setUpdateUser(distributionStockArticleEntity.getCreateUser()); |
|
|
|
|
entity.setCreateDept(distributionStockArticleEntity.getCreateDept()); |
|
|
|
|
entity.setWarehouseId(distributionStockArticleEntity.getWarehouseId()); |
|
|
|
|
entity.setWarehouse(distributionStockArticleEntity.getWarehouse()); |
|
|
|
|
entity.setQuantity(warehouseWayBillDetail.getNum()); |
|
|
|
|
entity.setConditions(3); |
|
|
|
|
entity.setConditions(1); |
|
|
|
|
entity.setStockArticleId(id); |
|
|
|
|
entity.setOrderCode(distributionStockArticleEntity.getOrderCode()); |
|
|
|
|
entity.setOrderPackageStatus("20"); |
|
|
|
|
entity.setOrderPackageFreezeStatus("10"); |
|
|
|
|
entity.setOrderPackageGroundingStatus("10"); |
|
|
|
|
entity.setOrderPackageStockupStatus("10"); |
|
|
|
|
entity.setOrderPackageReservationStatus("10"); |
|
|
|
|
entity.setOrderPackageLoadingStatus("10"); |
|
|
|
|
entity.setWaybillNumber(distributionStockArticleEntity.getWaybillNumber()); |
|
|
|
|
entity.setWarehouseEntryTimeEnd(date); |
|
|
|
|
entity.setSendWarehouseId(warehouseWaybill.getDepartureWarehouseId()); |
|
|
|
|
entity.setSendWarehouseName(warehouseWaybill.getDepartureWarehouseName()); |
|
|
|
|
entity.setAcceptWarehouseId(warehouseWaybill.getDestinationWarehouseId()); |
|
|
|
|
entity.setAcceptWarehouseName(warehouseWaybill.getDestinationWarehouseName()); |
|
|
|
|
ls.add(entity); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
boolean b = distributionParcelListClient.addBatch(ls); |
|
|
|
|
if (!b) { |
|
|
|
@ -252,12 +287,31 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
|
|
|
|
|
throw new CustomerException(405, "保存包件信息失败"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
List<DistributionParcelNumberEntity> parcelNumberList = new ArrayList<>(); |
|
|
|
|
for (DistributionParcelListEntity entity:ls){ |
|
|
|
|
DistributionParcelNumberEntity parcelNumberEntity = new DistributionParcelNumberEntity(); |
|
|
|
|
parcelNumberEntity.setStockArticleId(id); |
|
|
|
|
parcelNumberEntity.setParcelListId(entity.getId()); |
|
|
|
|
if(totalCount.equals(stockCount)){ |
|
|
|
|
parcelNumberEntity.setHandQuantity(entity.getQuantity()); |
|
|
|
|
}else{ |
|
|
|
|
parcelNumberEntity.setHandQuantity(0); |
|
|
|
|
} |
|
|
|
|
parcelNumberEntity.setQuantity(entity.getQuantity()); |
|
|
|
|
parcelNumberEntity.setDeliveryQuantity(0); |
|
|
|
|
parcelNumberEntity.setSigninQuantity(0); |
|
|
|
|
parcelNumberEntity.setOutboundQuantity(0); |
|
|
|
|
parcelNumberList.add(parcelNumberEntity); |
|
|
|
|
} |
|
|
|
|
//存入零担订单包件数量
|
|
|
|
|
distributionParcelNumberClient.addBatch(parcelNumberList); |
|
|
|
|
} else { |
|
|
|
|
|
|
|
|
|
id = distributionStockArticleEntity.getId(); |
|
|
|
|
|
|
|
|
|
distributionStockArticleEntity.setTotalNumber(totalCount); |
|
|
|
|
distributionStockArticleEntity.setHandQuantity(stockCount); |
|
|
|
|
distributionStockArticleEntity.setWarehouseEntryTimeEnd(date); |
|
|
|
|
log.info(">>>> 更新订单"); |
|
|
|
|
checkStatus(distributionStockArticleEntity); |
|
|
|
|
distributionStockArticleClient.saveOrUpdate(distributionStockArticleEntity); |
|
|
|
@ -338,8 +392,11 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
|
|
|
|
|
Long articleId = distributionStockArticleEntity.getId(); |
|
|
|
|
Integer handQuantity = distributionStockArticleEntity.getHandQuantity(); |
|
|
|
|
String orderSelfNum = distributionStockArticleEntity.getOrderCode(); |
|
|
|
|
Long orderId = distributionStockArticleEntity.getId(); |
|
|
|
|
Long warehouseId = distributionStockArticleEntity.getWarehouseId(); |
|
|
|
|
List<ProductDTO> submitList = new ArrayList<>(); |
|
|
|
|
List<DistributionStockArticleEntity> articleList = distributionStockArticleClient.likeOrderSelfNumbering(orderSelfNum); |
|
|
|
|
List<DistributionParcelListEntity> parcelListEntityList = distributionParcelListClient.findEntityListByOrderCode(orderSelfNum, warehouseId); |
|
|
|
|
int size = articleList.size(); |
|
|
|
|
for (int i = 0; i < splitOrderDTOList.size(); i++) { |
|
|
|
|
SplitOrderDTO splitOrderDTO = splitOrderDTOList.get(i); |
|
|
|
@ -366,7 +423,9 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
|
|
|
|
|
} |
|
|
|
|
allNum = allNum + productDTO.getSplitNum(); |
|
|
|
|
DistributionParcelListEntity distributionParcelListEntity = new DistributionParcelListEntity(); |
|
|
|
|
distributionParcelListEntity.setMaterialName(productDTO.getProductName()); |
|
|
|
|
DistributionParcelListEntity distributionParcelListEntity1 = parcelListEntityList.get(0); |
|
|
|
|
BeanUtil.copyProperties(distributionParcelListEntity1, distributionParcelListEntity); |
|
|
|
|
distributionParcelListEntity.setFirsts(productDTO.getProductName()); |
|
|
|
|
distributionParcelListEntity.setQuantity(productDTO.getSplitNum()); |
|
|
|
|
list.add(distributionParcelListEntity); |
|
|
|
|
submitList.add(productDTO); |
|
|
|
@ -408,6 +467,21 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
|
|
|
|
|
log.warn("###########splitOrder: 保存包件数据失败"); |
|
|
|
|
throw new CustomerException(405, "保存包件数据失败"); |
|
|
|
|
} |
|
|
|
|
List<DistributionParcelNumberEntity> parcelNumberList = new ArrayList<>(); |
|
|
|
|
for (DistributionParcelListEntity distributionParcelListEntity : list) { |
|
|
|
|
DistributionParcelNumberEntity parcelNumberEntity = new DistributionParcelNumberEntity(); |
|
|
|
|
parcelNumberEntity.setStockArticleId(distributionParcelListEntity.getStockArticleId()); |
|
|
|
|
parcelNumberEntity.setParcelListId(distributionParcelListEntity.getId()); |
|
|
|
|
parcelNumberEntity.setHandQuantity(distributionParcelListEntity.getQuantity()); |
|
|
|
|
parcelNumberEntity.setQuantity(distributionParcelListEntity.getQuantity()); |
|
|
|
|
parcelNumberEntity.setDeliveryQuantity(0); |
|
|
|
|
parcelNumberEntity.setSigninQuantity(0); |
|
|
|
|
parcelNumberEntity.setOutboundQuantity(0); |
|
|
|
|
parcelNumberList.add(parcelNumberEntity); |
|
|
|
|
} |
|
|
|
|
//存入零担订单包件数量
|
|
|
|
|
distributionParcelNumberClient.addBatch(parcelNumberList); |
|
|
|
|
|
|
|
|
|
//减少主订单上在库数量
|
|
|
|
|
if (handQuantity - allNum < 0) { |
|
|
|
|
log.warn("###########splitOrder: 拆单数量大于在库数量"); |
|
|
|
|