Browse Source

Merge remote-tracking branch 'origin/dev' into pre-production

visual
zhenghaoyu 6 months ago
parent
commit
a3e0058258
  1. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml
  2. 31
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  3. 8
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java
  4. 10
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseWarehousingEntryController.java
  5. 60
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/excel/WarehousingEntryDetailExcel.java
  6. 25
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java
  7. 16
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml

@ -320,6 +320,7 @@
(
SELECT
aaa.id,
aaa.warehouse_name AS warehouseName,
group_concat( DISTINCT dsa.service_number ) AS serviceNumber,
group_concat( DISTINCT dsa.waybill_number ) AS waybillNumber,
group_concat( DISTINCT dsa.consignee_unit ) AS consigneeUnit,
@ -342,6 +343,7 @@
LEFT JOIN (
SELECT
bbb.id,
bbb.warehouse_name AS warehouseName,
group_concat( DISTINCT ldsl.service_number ) AS serviceNumber,
group_concat( ldsl.incoming_batch ) AS incomingBatch,
group_concat( DISTINCT ldsl.market_name ) AS consigneeUnit,

31
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java

@ -8770,6 +8770,10 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
//日志信息收集
List<JSONObject> packageLogs = new ArrayList<>();
//查询司机信息
//回传数据修改
List<DistributionLoadscanEntity> pushNodeList = new ArrayList<>();
//回传数据修改
List<DistributionLoadscaninvnEntity> ts = new ArrayList<>();
DistributionDeliverySelfEntity distributionDeliverySelfEntity = getDriver(deliveryListEntity, user, distrilbutionloadingscanDTO.getVehicleNub(), isDriverFlag);
if (Objects.isNull(distributionDeliverySelfEntity)) {
return Resp.fail("当前操作人不合法");
@ -8838,6 +8842,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
}
//正常进行装车
DistributionLoadscanEntity loadscanEntity = createdDistributionLoadscanEntity(deliveryListEntity, distributionDeliverySelfEntity, reservationId, parcelListEntity, myCurrentWarehouse, user);
pushNodeList.add(loadscanEntity);
distributionLoadscanService.save(loadscanEntity);
//这里还需要对异常记录进行关闭和完成
distributionLoadscanAbnormalService.completeLoadingAbnormal(loadscanEntity.getOrderPackageCode(), loadscanEntity.getWarehouseId(), loadscanEntity.getReservationId(), loadscanEntity.getScanUser());
@ -8963,7 +8968,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
//零担装车只能在一个车上
return Resp.scanFail("零担同一品类需在一个车", "零担同一品类需在一个车");
}
updateZeroLoadingEntity(zeroLoadscanEntity, parcelListDTO, myCurrentWarehouse, zeroPackageMap);
updateZeroLoadingEntity(zeroLoadscanEntity, parcelListDTO, myCurrentWarehouse, zeroPackageMap, pushNodeList);
JSONObject zeroJsonObject = new JSONObject();
zeroJsonObject.put("code", zeroParcelListEntity.getOrderCode());
zeroJsonObject.put("warehouseId", myCurrentWarehouse.getId());
@ -8982,7 +8987,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distrilbutionloadingscanDTO.getReservationId(),
parcelListDTO, myCurrentWarehouse,
user,
zeroPackageMap);
zeroPackageMap,
pushNodeList);
packageLockIds.add(parcelListDTO.getParcelListId());
JSONObject zeroJsonObject = new JSONObject();
zeroJsonObject.put("code", zeroParcelListEntity.getOrderCode());
@ -9003,7 +9009,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distrilbutionloadingscanDTO.getReservationId(),
parcelListDTO, myCurrentWarehouse,
user,
zeroPackageMap);
zeroPackageMap,
pushNodeList);
packageLockIds.add(parcelListDTO.getParcelListId());
JSONObject zeroJsonObject = new JSONObject();
zeroJsonObject.put("code", zeroParcelListEntity.getOrderCode());
@ -9098,6 +9105,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
log.info(">>>>>>>>>>>>>>>>>>>装车修改库存品包件>装车包件码:{},", disStockListDetailEntity.getStockPackageCode());
DistributionLoadscaninvnEntity distributionLoadscaninvnEntity = getDistributionLoadscaninvnEntity(distrilbutionloadingscanDTO, distributionDeliverySelfEntity, disStockListDetailEntity, deliveryListEntity, myCurrentWarehouse);
packageLockIds.add(distributionLoadscaninvnEntity.getInventoryPackageId());
ts.add(distributionLoadscaninvnEntity);
distributionLoadscaninvnService.save(distributionLoadscaninvnEntity);
//对装车异常进行关闭
distributionLoadscanAbnormalService.completeLoadingAbnormal(distributionLoadscaninvnEntity.getOrderPackageCode(), distributionLoadscaninvnEntity.getWarehouseId(), distributionLoadscaninvnEntity.getReservationId(), distributionLoadscaninvnEntity.getScanUser());
@ -9122,6 +9130,10 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
inventoryJsonObject.put("num", 1);
inventoryJsonObject.put("remark", "装车下架");
jsonObjects.add(inventoryJsonObject);
if (CollUtil.isNotEmpty(ts)) {
NodeFanoutMsg<DistributionLoadVO> nodeFanoutMsg = buildNodeFanoutMsgByStock(deliveryListEntity, reservationEntity2, ts);
distributionNodeWorkService.nodeLoading(nodeFanoutMsg, AuthUtil.getUser());
}
break;
case 4:
if (Objects.isNull(distrilbutionloadingscanDTO.getBarcode())) {
@ -9206,6 +9218,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
trayJsonObject.put("num", 1);
trayJsonObject.put("remark", "装车下架");
jsonObjects.add(trayJsonObject);
pushNodeList.addAll(reservationLoadscanEntities);
distributionLoadscanService.saveBatch(reservationLoadscanEntities);
//这里则进行整托装车的数据构建
//维护订单的信息
@ -9274,6 +9287,11 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
factoryDataMessageSender.sendNodeDataByBrand(msg);
}
}
if (CollUtil.isNotEmpty(pushNodeList)) {
NodeFanoutMsg<DistributionLoadVO> nodeFanoutMsg = buildNodeFanoutMsgByPackage(deliveryListEntity, pushNodeList);
distributionNodeWorkService.nodeLoading(nodeFanoutMsg, AuthUtil.getUser());
}
//维护订单数量
if (!orderCodes.isEmpty()) {
String s = orderCodes.stream().collect(Collectors.joining(","));
@ -9949,7 +9967,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
return packageRetentionScanEntity;
}
private void updateZeroLoadingEntity(DistributionLoadscanEntity loadscanEntity, DistributionParcelNumberDTO parcelListDTO, BasicdataWarehouseEntity myCurrentWarehouse, Map<Long, DistributionParcelNumberEntity> zeroPackageMap) {
private void updateZeroLoadingEntity(DistributionLoadscanEntity loadscanEntity, DistributionParcelNumberDTO parcelListDTO, BasicdataWarehouseEntity myCurrentWarehouse, Map<Long, DistributionParcelNumberEntity> zeroPackageMap, List<DistributionLoadscanEntity> pushNodeList) {
//维护零担出库数量
DistributionParcelNumberEntity parcelNumberEntity = zeroPackageMap.get(parcelListDTO.getParcelListId());
BigDecimal deliveryQuantity = new BigDecimal(parcelNumberEntity.getDeliveryQuantity());
@ -9975,6 +9993,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
loadscanEntity.setWarehouseName(myCurrentWarehouse.getName());
loadscanEntity.setIsZero(Integer.parseInt(IsOrNoConstant.yes.getValue()));
distributionLoadscanService.updateById(loadscanEntity);
pushNodeList.add(loadscanEntity);
//维护零担订单装车状态
distributionAsyncService.checkZeroStockArticleLoadingStatus(parcelNumberEntity, loadscanEntity.getDeliveryId(), loadscanEntity.getReservationId());
}
@ -9986,9 +10005,11 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
DistributionParcelNumberDTO parcelNumberDTO,
BasicdataWarehouseEntity myCurrentWarehouse,
BladeUser user,
Map<Long, DistributionParcelNumberEntity> zeroPackageMap) {
Map<Long, DistributionParcelNumberEntity> zeroPackageMap,
List<DistributionLoadscanEntity> pushNodeList) {
DistributionLoadscanEntity zeroLoadscanEntity = createdDistributionZeroLoadscanEntity(distributionDeliverySelfEntity, deliveryListEntity, distrilbutionloadingscanDTO.getReservationId(), parcelNumberDTO, myCurrentWarehouse, user);
zeroLoadscanEntity.setIsZero(Integer.parseInt(IsOrNoConstant.yes.getValue()));
pushNodeList.add(zeroLoadscanEntity);
distributionLoadscanService.save(zeroLoadscanEntity);
//更新装车时间
Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId());

8
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java

@ -2910,6 +2910,10 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
List<ImportOrderNoPackageExcelDTO> importOrderNoPackageExcelDTOS = EasyExcel.read(inputStream).head(ImportOrderNoPackageExcelDTO.class).sheet(0).headRowNumber(2).doReadSync();
//过滤掉importOrderNoPackageExcelDTOS中orderCode为空的数据
importOrderNoPackageExcelDTOS = importOrderNoPackageExcelDTOS.stream().filter(item -> StringUtil.isNotBlank(item.getOrderCode())).collect(Collectors.toList());
//把importOrderNoPackageExcelDTOS中所有brand放入一个Set
Set<String> brands = importOrderNoPackageExcelDTOS.parallelStream().map(ImportOrderNoPackageExcelDTO::getBrand).collect(Collectors.toSet());
@ -3151,6 +3155,10 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
List<ImportOrderNoPackageExcelDTO> importOrderNoPackageExcelDTOS = EasyExcel.read(inputStream).head(ImportOrderNoPackageExcelDTO.class).sheet(0).headRowNumber(2).doReadSync();
//过滤掉importOrderNoPackageExcelDTOS中orderCode为空的数据
importOrderNoPackageExcelDTOS = importOrderNoPackageExcelDTOS.stream().filter(item -> StringUtil.isNotBlank(item.getOrderCode())).collect(Collectors.toList());
//把importOrderNoPackageExcelDTOS中所有brand放入一个Set
Set<String> brands = importOrderNoPackageExcelDTOS.parallelStream().map(ImportOrderNoPackageExcelDTO::getBrand).collect(Collectors.toSet());
List<BasicdataBrandEntity> brandEntities = basicdataBrandClient.findListByNames(brands);

10
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseWarehousingEntryController.java

@ -238,13 +238,13 @@ public class WarehouseWarehousingEntryController extends BladeController {
warehousingEntryDetailExcel.setTrainNumber("SF098876456 选添");
warehousingEntryDetailExcel.setLicensePlate("川S5346347 选添");
warehousingEntryDetailExcel.setServiceType("自提 商配 市配 选择其一");
warehousingEntryDetailExcel.setSku("G21191547");
// warehousingEntryDetailExcel.setSku("G21191547");
warehousingEntryDetailExcel.setProductName("OP-CD309-1.8慕思如梦时光床垫/1800*2000*260");
warehousingEntryDetailExcel.setProductCode("G21191547");
warehousingEntryDetailExcel.setProductUnit("张");
// warehousingEntryDetailExcel.setProductCode("G21191547");
// warehousingEntryDetailExcel.setProductUnit("张");
warehousingEntryDetailExcel.setLogisticsCompany("物流公司 选填");
warehousingEntryDetailExcel.setPackagingNumber("1");
warehousingEntryDetailExcel.setPackagingSpecifications("1");
// warehousingEntryDetailExcel.setPackagingNumber("1");
// warehousingEntryDetailExcel.setPackagingSpecifications("1");
warehousingEntryDetailExcel.setCreateInventory(100);
warehousingEntryDetailExcel.setPositions("存放位置 选填");
warehousingEntryDetailExcel.setLoadingType("存放类型 1-库位 2-托盘 ");

60
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/excel/WarehousingEntryDetailExcel.java

@ -123,42 +123,42 @@ public class WarehousingEntryDetailExcel implements Serializable {
// @ExcelProperty("入库总件数")
// private Integer totalInput;
/**
* SKU
*/
@ColumnWidth(20)
@ExcelProperty("SKU")
private String sku;
// /**
// * SKU
// */
// @ColumnWidth(20)
// @ExcelProperty("SKU")
// private String sku;
/**
* 物品名称
*/
@ColumnWidth(20)
@ExcelProperty("物品名称")
private String productName;
/**
* 物品编码
*/
@ColumnWidth(20)
@ExcelProperty("物品编码")
private String productCode;
/**
* 物品单位
*/
@ColumnWidth(20)
@ExcelProperty("物品单位")
private String productUnit;
/**
* 包装数量
*/
@ColumnWidth(20)
@ExcelProperty("包装数量")
private String packagingNumber;
/**
* 包装规格
*/
@ColumnWidth(20)
@ExcelProperty("包装规格")
private String packagingSpecifications;
// /**
// * 物品编码
// */
// @ColumnWidth(20)
// @ExcelProperty("物品编码")
// private String productCode;
// /**
// * 物品单位
// */
// @ColumnWidth(20)
// @ExcelProperty("物品单位")
// private String productUnit;
// /**
// * 包装数量
// */
// @ColumnWidth(20)
// @ExcelProperty("包装数量")
// private String packagingNumber;
// /**
// * 包装规格
// */
// @ColumnWidth(20)
// @ExcelProperty("包装规格")
// private String packagingSpecifications;
/**
* 创建入库数量
*/

25
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java

@ -593,13 +593,20 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
v.forEach(i -> {
WarehouseWarehousingDetailEntity detail = new WarehouseWarehousingDetailEntity();
detail.setConditions("1");
detail.setSku(i.getSku());
detail.setProductCode(i.getProductCode().trim());
detail.setProductName(i.getProductName().trim());
detail.setProductCode(i.getProductCode().trim());
detail.setProductUnit(i.getProductUnit().trim());
detail.setPackagingNumber(i.getPackagingNumber().trim());
detail.setPackagingSpecifications(i.getPackagingSpecifications());
String materialName = i.getProductName().trim();
BasicMaterialEntity entityByName = basicMaterialClient.findEntityByName(materialName);
if (!Objects.isNull(entityByName)){
detail.setSku(entityByName.getSku());
detail.setProductCode(entityByName.getProductCode());
detail.setProductName(entityByName.getName());
detail.setProductUnit(entityByName.getLogpmUnit());
detail.setPackagingSpecifications(entityByName.getPackingSpecification());
}
// detail.setProductCode(i.getProductCode().trim());
// detail.setProductName(i.getProductName().trim());
// detail.setProductUnit(i.getProductUnit().trim());
// detail.setPackagingNumber(i.getPackagingNumber().trim());
// detail.setPackagingSpecifications(i.getPackagingSpecifications());
detail.setCreateInventory(i.getCreateInventory());
detail.setWarehousingEntryId(entryEntity.getId());
detail.setActualReceipt(0);
@ -641,14 +648,14 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
detail.setBrandName(brandList.getBrandName());
detail.setBrandId(brandList.getBrandId());
} else {
throw new CustomerException(i.getProductName() + i.getProductCode() + i.getSku() + "品牌信息不存在!!请维护客户品牌数据!!!");
throw new CustomerException(i.getProductName() + "品牌信息不存在!!请维护客户品牌数据!!!");
}
BasicMaterialEntity materialOwn = basicMaterialClient.getMaterialOwn(detail.getProductCode(), detail.getProductName(), detail.getSku());
if (Func.isNotEmpty(materialOwn)) {
detail.setMaterialId(materialOwn.getId());//物料ID
} else {
throw new CustomerException(i.getProductName() + i.getProductCode() + i.getSku() + "物料信息不存在!!请维护基础数据!!!");
throw new CustomerException(i.getProductName() + "物料信息不存在!!请维护基础数据!!!");
}
if (!detailEntityList.isEmpty()) {
boolean b = detailEntityList.stream().anyMatch(a -> a.getProductCode().equals(detail.getProductCode()) && a.getProductName().equals(detail.getProductName()) && a.getSku().equals(detail.getSku()));

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

@ -814,7 +814,7 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
warehouseWayBillDetails = detailList.subList(i * 4, 4);
}
PrintPreviewVO printPreviewVO = buildPrintWallet(warehouseWaybillEntity, warehouseWayBillDetails, template);
PrintPreviewVO printPreviewVO = buildPrintWallet(warehouseWaybillEntity, warehouseWayBillDetails, template,num,i);
list.add(printPreviewVO);
@ -911,7 +911,7 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
}
private PrintPreviewVO buildPrintWallet(WarehouseWaybillEntity warehouseWaybillEntity, List<WarehouseWayBillDetail> warehouseWayBillDetails, BasicPrintTemplateEntity template) throws Exception {
private PrintPreviewVO buildPrintWallet(WarehouseWaybillEntity warehouseWaybillEntity, List<WarehouseWayBillDetail> warehouseWayBillDetails, BasicPrintTemplateEntity template,int total,int num) throws Exception {
PrintPreviewVO printPreviewVO = new PrintPreviewVO();
String html = TemplateUtil.getTemplateByUrl(template.getTemplateUrl());
@ -927,7 +927,14 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
map.put("托运单位电话", warehouseWaybillEntity.getShipperMobile());
map.put("托运单位地址", warehouseWaybillEntity.getShipperAddress());
map.put("收货单位名称", warehouseWaybillEntity.getConsignee());
StringBuffer sb = new StringBuffer();
sb.append(warehouseWaybillEntity.getConsignee());
if (!StringUtil.isBlank(warehouseWaybillEntity.getConsigneeName())) {
sb.append("(");
sb.append(warehouseWaybillEntity.getConsigneeName());
sb.append(")");
}
map.put("收货单位名称", sb.toString());
map.put("收货单位电话", warehouseWaybillEntity.getConsigneeMobile());
map.put("收货单位地址", warehouseWaybillEntity.getConsigneeAddress());
@ -980,7 +987,8 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
map.put("合计件数", sumNumber);
map.put("合计重量", formatToTwoDecimalPlaces(sumWEIGHT));
map.put("合计体积", formatToTwoDecimalPlaces(sumVOLUME));
map.put("t", total+1);
map.put("n", num+1);
String popHtml = TemplateUtil.popTemplate("运单", map, html);

Loading…
Cancel
Save