Browse Source

增加零担的异常输出

pull/1/head
pref_mail@163.com 1 year ago
parent
commit
aab70e2376
  1. 294
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java

294
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java

@ -163,162 +163,168 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
private void createStockArticle(WarehouseWaybillEntity warehouseWaybill,Integer allNum) {
//判断新系统是否有这条订单数据
//自动生成的在库订单就用运单号作为订单号
String waybillNo = warehouseWaybill.getWaybillNo();
Long waybillId = warehouseWaybill.getId();
String destinationWarehouse = warehouseWaybill.getDestinationWarehouseName();//目的仓
Long destinationWarehouseId = warehouseWaybill.getDestinationWarehouseId();
Integer totalCount = warehouseWaybill.getTotalCount();//订单总数量
Integer stockCount = warehouseWaybill.getStockCount();//订单在库数量
String consignee = warehouseWaybill.getConsignee();
BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseClient.getEntityWarehouseId(destinationWarehouseId);
DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleClient.findByOrderSelfNum(waybillNo,destinationWarehouseId);
BasicdataClientEntity clientEntity = basicdataClientClient.findByName(consignee);
Date date = new Date();
Long id = null;
if (Objects.isNull(distributionStockArticleEntity)) {
distributionStockArticleEntity = new DistributionStockArticleEntity();
distributionStockArticleEntity.setOrderCode(warehouseWaybill.getWaybillNo());
distributionStockArticleEntity.setServiceNumber(warehouseWaybill.getServiceNo());
distributionStockArticleEntity.setWaybillNumber(waybillNo);
distributionStockArticleEntity.setWaybillId(warehouseWaybill.getId());
distributionStockArticleEntity.setWarehouseId(basicdataWarehouseEntity.getId());
distributionStockArticleEntity.setMallName(consignee);
distributionStockArticleEntity.setMallCode(clientEntity.getClientCode());
distributionStockArticleEntity.setMallId(warehouseWaybill.getConsigneeId());
distributionStockArticleEntity.setDescriptionGoods(warehouseWaybill.getGoodsName());
distributionStockArticleEntity.setWarehouse(basicdataWarehouseEntity.getName());
distributionStockArticleEntity.setWarehouseEntryTime(date);
distributionStockArticleEntity.setTotalNumber(totalCount);
distributionStockArticleEntity.setHandQuantity(allNum);
//零担订单默认齐套
distributionStockArticleEntity.setCompleteSet(1);
distributionStockArticleEntity.setBrand(warehouseWaybill.getBrand());
distributionStockArticleEntity.setResource("零担");
distributionStockArticleEntity.setCreateDept(Objects.isNull(basicdataWarehouseEntity.getDepartment()) ? null : basicdataWarehouseEntity.getDepartment());
String customerName = warehouseWaybill.getConsignee();//客户名称
//通过客户名称去查询客户的服务类型、
distributionStockArticleEntity.setTypeService("1");//默认商配
BasicdataClientEntity basicdataClientEntity = basicdataClientClient.findByName(customerName);
if (!Objects.isNull(basicdataClientEntity)) {
Long clientEntityId = basicdataClientEntity.getId();//基础客户
BasicdataStoreBusinessEntity basicdataStoreBusinessEntity = basicdataStoreBusinessClient.findByClientIdAndTypeService(clientEntityId, 3);
if (!Objects.isNull(basicdataStoreBusinessEntity)) {
distributionStockArticleEntity.setTypeService(basicdataStoreBusinessEntity.getMold());
try{
String waybillNo = warehouseWaybill.getWaybillNo();
Long waybillId = warehouseWaybill.getId();
String destinationWarehouse = warehouseWaybill.getDestinationWarehouseName();//目的仓
Long destinationWarehouseId = warehouseWaybill.getDestinationWarehouseId();
Integer totalCount = warehouseWaybill.getTotalCount();//订单总数量
Integer stockCount = warehouseWaybill.getStockCount();//订单在库数量
String consignee = warehouseWaybill.getConsignee();
BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseClient.getEntityWarehouseId(destinationWarehouseId);
DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleClient.findByOrderSelfNum(waybillNo,destinationWarehouseId);
BasicdataClientEntity clientEntity = basicdataClientClient.findByName(consignee);
Date date = new Date();
Long id = null;
if (Objects.isNull(distributionStockArticleEntity)) {
distributionStockArticleEntity = new DistributionStockArticleEntity();
distributionStockArticleEntity.setOrderCode(warehouseWaybill.getWaybillNo());
distributionStockArticleEntity.setServiceNumber(warehouseWaybill.getServiceNo());
distributionStockArticleEntity.setWaybillNumber(waybillNo);
distributionStockArticleEntity.setWaybillId(warehouseWaybill.getId());
distributionStockArticleEntity.setWarehouseId(basicdataWarehouseEntity.getId());
distributionStockArticleEntity.setMallName(consignee);
distributionStockArticleEntity.setMallCode(clientEntity.getClientCode());
distributionStockArticleEntity.setMallId(warehouseWaybill.getConsigneeId());
distributionStockArticleEntity.setDescriptionGoods(warehouseWaybill.getGoodsName());
distributionStockArticleEntity.setWarehouse(basicdataWarehouseEntity.getName());
distributionStockArticleEntity.setWarehouseEntryTime(date);
distributionStockArticleEntity.setTotalNumber(totalCount);
distributionStockArticleEntity.setHandQuantity(allNum);
//零担订单默认齐套
distributionStockArticleEntity.setCompleteSet(1);
distributionStockArticleEntity.setBrand(warehouseWaybill.getBrand());
distributionStockArticleEntity.setResource("零担");
distributionStockArticleEntity.setCreateDept(Objects.isNull(basicdataWarehouseEntity.getDepartment()) ? null : basicdataWarehouseEntity.getDepartment());
String customerName = warehouseWaybill.getConsignee();//客户名称
//通过客户名称去查询客户的服务类型、
distributionStockArticleEntity.setTypeService("1");//默认商配
BasicdataClientEntity basicdataClientEntity = basicdataClientClient.findByName(customerName);
if (!Objects.isNull(basicdataClientEntity)) {
Long clientEntityId = basicdataClientEntity.getId();//基础客户
BasicdataStoreBusinessEntity basicdataStoreBusinessEntity = basicdataStoreBusinessClient.findByClientIdAndTypeService(clientEntityId, 3);
if (!Objects.isNull(basicdataStoreBusinessEntity)) {
distributionStockArticleEntity.setTypeService(basicdataStoreBusinessEntity.getMold());
}
}
}
distributionStockArticleEntity.setCustomerName(warehouseWaybill.getConsigneeName());
distributionStockArticleEntity.setCustomerTelephone(warehouseWaybill.getConsigneeMobile());
distributionStockArticleEntity.setCustomerAddress(warehouseWaybill.getConsigneeAddress());
distributionStockArticleEntity.setGenre(1);
distributionStockArticleEntity.setCreateUser(1123598821738675201L);
distributionStockArticleEntity.setUpdateUser(1123598821738675201L);
distributionStockArticleEntity.setSortingQuantity(0); //分拣件数
distributionStockArticleEntity.setDeliveryQuantity(0); //配送件数
distributionStockArticleEntity.setTransferQuantity(0); //中转件数
distributionStockArticleEntity.setSigninQuantity(0); //签收件数
distributionStockArticleEntity.setFreezeStatus(OrderFreezeStatusConstant.weidongjie.getValue()); //冻结状态
distributionStockArticleEntity.setReservationStatus(OrderReservationStatusConstant.daiyuyue.getValue()); //预约状态
distributionStockArticleEntity.setStockupStatus(OrderStockupStatusConstant.daibeihuo.getValue()); //备货状态
distributionStockArticleEntity.setGroundingStatus(OrderGroundingStatusConstant.daishangjia.getValue()); //上架状态
distributionStockArticleEntity.setOrderStatus(OrderStatusConstant.bufenruku.getValue());
distributionStockArticleEntity.setOrderReceiveStatus(OrderReceiveStatusConstant.bufenshouhuo.getValue());
checkStatus(distributionStockArticleEntity);
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.setIncomingNum(allNum);
distributionStockArticleEntity.setTenantId(TenantNum.HUITONGCODE);
List<WarehouseWayBillDetail> details = warehouseWayBillDetailService.findByWaybillId(waybillId);
StringBuilder sb = new StringBuilder();
for (WarehouseWayBillDetail warehouseWayBillDetail : details) {
if (!sb.toString().isEmpty()) {
sb.append(",");
distributionStockArticleEntity.setCustomerName(warehouseWaybill.getConsigneeName());
distributionStockArticleEntity.setCustomerTelephone(warehouseWaybill.getConsigneeMobile());
distributionStockArticleEntity.setCustomerAddress(warehouseWaybill.getConsigneeAddress());
distributionStockArticleEntity.setGenre(1);
distributionStockArticleEntity.setCreateUser(1123598821738675201L);
distributionStockArticleEntity.setUpdateUser(1123598821738675201L);
distributionStockArticleEntity.setSortingQuantity(0); //分拣件数
distributionStockArticleEntity.setDeliveryQuantity(0); //配送件数
distributionStockArticleEntity.setTransferQuantity(0); //中转件数
distributionStockArticleEntity.setSigninQuantity(0); //签收件数
distributionStockArticleEntity.setFreezeStatus(OrderFreezeStatusConstant.weidongjie.getValue()); //冻结状态
distributionStockArticleEntity.setReservationStatus(OrderReservationStatusConstant.daiyuyue.getValue()); //预约状态
distributionStockArticleEntity.setStockupStatus(OrderStockupStatusConstant.daibeihuo.getValue()); //备货状态
distributionStockArticleEntity.setGroundingStatus(OrderGroundingStatusConstant.daishangjia.getValue()); //上架状态
distributionStockArticleEntity.setOrderStatus(OrderStatusConstant.bufenruku.getValue());
distributionStockArticleEntity.setOrderReceiveStatus(OrderReceiveStatusConstant.bufenshouhuo.getValue());
checkStatus(distributionStockArticleEntity);
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.setIncomingNum(allNum);
distributionStockArticleEntity.setTenantId(TenantNum.HUITONGCODE);
List<WarehouseWayBillDetail> details = warehouseWayBillDetailService.findByWaybillId(waybillId);
StringBuilder sb = new StringBuilder();
for (WarehouseWayBillDetail warehouseWayBillDetail : details) {
if (!sb.toString().isEmpty()) {
sb.append(",");
}
sb.append(warehouseWayBillDetail.getProductName());
}
sb.append(warehouseWayBillDetail.getProductName());
}
distributionStockArticleEntity.setDescriptionGoods(sb.toString());
distributionStockArticleEntity.setDescriptionGoods(sb.toString());
id = distributionStockArticleClient.addData(distributionStockArticleEntity);
if (id == 0) {
log.warn("#################createStockArticle: 保存订单信息失败 orderSelfNum={}", waybillNo);
throw new CustomerException(405, "保存订单信息失败");
}
id = distributionStockArticleClient.addData(distributionStockArticleEntity);
if (id == 0) {
log.warn("#################createStockArticle: 保存订单信息失败 orderSelfNum={}", waybillNo);
throw new CustomerException(405, "保存订单信息失败");
}
//第一次生成订单也要生成包件信息
List<DistributionParcelNumberEntity> parcelNumberList = new ArrayList<>();
for (WarehouseWayBillDetail warehouseWayBillDetail : details) {
DistributionParcelListEntity entity = new DistributionParcelListEntity();
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(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());
Long aLong = distributionParcelListClient.addReturnId(entity);
DistributionParcelNumberEntity parcelNumberEntity = new DistributionParcelNumberEntity();
parcelNumberEntity.setStockArticleId(id);
parcelNumberEntity.setParcelListId(aLong);
parcelNumberEntity.setTenantId("627683");
parcelNumberEntity.setCreateUser(distributionStockArticleEntity.getCreateUser());
parcelNumberEntity.setUpdateUser(distributionStockArticleEntity.getCreateUser());
parcelNumberEntity.setCreateDept(distributionStockArticleEntity.getCreateDept());
parcelNumberEntity.setHandQuantity(0);
parcelNumberEntity.setQuantity(entity.getQuantity());
parcelNumberEntity.setDeliveryQuantity(0);
parcelNumberEntity.setSigninQuantity(0);
parcelNumberEntity.setOutboundQuantity(0);
parcelNumberList.add(parcelNumberEntity);
//第一次生成订单也要生成包件信息
List<DistributionParcelNumberEntity> parcelNumberList = new ArrayList<>();
for (WarehouseWayBillDetail warehouseWayBillDetail : details) {
DistributionParcelListEntity entity = new DistributionParcelListEntity();
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(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());
Long aLong = distributionParcelListClient.addReturnId(entity);
}
//存入零担订单包件数量
distributionParcelNumberClient.addBatch(parcelNumberList);
DistributionParcelNumberEntity parcelNumberEntity = new DistributionParcelNumberEntity();
parcelNumberEntity.setStockArticleId(id);
parcelNumberEntity.setParcelListId(aLong);
parcelNumberEntity.setTenantId("627683");
parcelNumberEntity.setCreateUser(distributionStockArticleEntity.getCreateUser());
parcelNumberEntity.setUpdateUser(distributionStockArticleEntity.getCreateUser());
parcelNumberEntity.setCreateDept(distributionStockArticleEntity.getCreateDept());
parcelNumberEntity.setHandQuantity(0);
parcelNumberEntity.setQuantity(entity.getQuantity());
parcelNumberEntity.setDeliveryQuantity(0);
parcelNumberEntity.setSigninQuantity(0);
parcelNumberEntity.setOutboundQuantity(0);
parcelNumberList.add(parcelNumberEntity);
}
//存入零担订单包件数量
distributionParcelNumberClient.addBatch(parcelNumberList);
} else {
} else {
id = distributionStockArticleEntity.getId();
Integer handQuantity = distributionStockArticleEntity.getHandQuantity();
distributionStockArticleEntity.setTotalNumber(totalCount);
distributionStockArticleEntity.setHandQuantity(handQuantity+allNum);
distributionStockArticleEntity.setWarehouseEntryTimeEnd(date);
log.info(">>>> 更新订单");
checkStatus(distributionStockArticleEntity);
distributionStockArticleClient.saveOrUpdate(distributionStockArticleEntity);
id = distributionStockArticleEntity.getId();
Integer handQuantity = distributionStockArticleEntity.getHandQuantity();
distributionStockArticleEntity.setTotalNumber(totalCount);
distributionStockArticleEntity.setHandQuantity(handQuantity+allNum);
distributionStockArticleEntity.setWarehouseEntryTimeEnd(date);
log.info(">>>> 更新订单");
checkStatus(distributionStockArticleEntity);
distributionStockArticleClient.saveOrUpdate(distributionStockArticleEntity);
}
}catch (Exception e){
log.error(">>>>> createStockArticle",e);
}
//存入包件信息
// List<WarehouseWayBillDetail> details = warehouseWayBillDetailService.findByWaybillId(waybillId);
//

Loading…
Cancel
Save