Browse Source

Merge branch 'pre-production'

master
zhenghaoyu 11 months ago
parent
commit
08c5627a32
  1. 10
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/LoadingDetailExportVO.java
  2. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/config/CustomMessageConverter.java
  3. 3
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionBillOrderPackExcel.java
  4. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionDeliveryListExcel.java
  5. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml
  6. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml
  7. 9
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillStockMapper.xml
  8. 13
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  9. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
  10. 5
      blade-service/logpm-factory-data/logpm-factory-data-base/src/main/java/com/logpm/factorydata/base/config/CustomMessageConverter.java
  11. 5
      blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/config/CustomMessageConverter.java
  12. 5
      blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/config/CustomMessageConverter.java
  13. 5
      blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/config/CustomMessageConverter.java
  14. 5
      blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/config/CustomMessageConverter.java
  15. 5
      blade-service/logpm-factory/src/main/java/com/logpm/factory/config/CustomMessageConverter.java
  16. 2
      blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/controller/MtFactoryDataController.java
  17. 2
      blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/controller/PanFactoryDataController.java
  18. 13
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/config/CustomMessageConverter.java
  19. 2
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/IncomingController.java
  20. 26
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml
  21. 4
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mq/AdvanceToLoadListener.java
  22. 3
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IInComingService.java
  23. 2
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IOpenOrderAsyncService.java
  24. 3
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceService.java
  25. 5
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java
  26. 5
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderAsyncServiceImpl.java
  27. 276
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java
  28. 45
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java
  29. 4
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceServiceImpl.java
  30. 2
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingPackageServiceImpl.java
  31. 11
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java
  32. 5
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/CustomMessageConverter.java
  33. 93
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.xml

10
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/LoadingDetailExportVO.java

@ -1,9 +1,11 @@
package com.logpm.trunkline.vo; package com.logpm.trunkline.vo;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
@Data @Data
public class LoadingDetailExportVO implements Serializable { public class LoadingDetailExportVO implements Serializable {
@ -62,4 +64,12 @@ public class LoadingDetailExportVO implements Serializable {
@ExcelProperty(value = "是否补录") @ExcelProperty(value = "是否补录")
private String isSupple; private String isSupple;
@ExcelProperty(value = "装车时间")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date loadingTime;
@ExcelProperty(value = "卸车时间")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date unloadTime;
} }

5
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/config/CustomMessageConverter.java

@ -73,7 +73,10 @@ public class CustomMessageConverter extends AllowedListDeserializingMessageConve
Map<String, Object> headers = properties.getHeaders(); Map<String, Object> headers = properties.getHeaders();
HttpHeaders httpHeaders = new HttpHeaders(); HttpHeaders httpHeaders = new HttpHeaders();
for (Map.Entry<String, Object> entry : headers.entrySet()) { for (Map.Entry<String, Object> entry : headers.entrySet()) {
if (StrUtil.equals("Blade-Auth", entry.getKey()) || StrUtil.equals("Authorization", entry.getKey())) { if (StrUtil.equals("Blade-Auth", entry.getKey())
|| StrUtil.equals("Authorization", entry.getKey())
|| StrUtil.equals("blade-auth", entry.getKey())
|| StrUtil.equals("authorization", entry.getKey())) {
List value = (List) entry.getValue(); List value = (List) entry.getValue();
for (Object o : value) { for (Object o : value) {
httpHeaders.add(entry.getKey(), String.valueOf(o)); httpHeaders.add(entry.getKey(), String.valueOf(o));

3
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionBillOrderPackExcel.java

@ -55,6 +55,9 @@ public class DistributionBillOrderPackExcel {
@ExcelProperty("物料名称") @ExcelProperty("物料名称")
private String materialName; private String materialName;
@ColumnWidth(20) @ColumnWidth(20)
@ExcelProperty("数量")
private Integer num;
@ColumnWidth(20)
@ExcelProperty("托盘码") @ExcelProperty("托盘码")
private String pallet; private String pallet;
@ColumnWidth(20) @ColumnWidth(20)

7
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/excel/DistributionDeliveryListExcel.java

@ -68,6 +68,13 @@ public class DistributionDeliveryListExcel implements Serializable {
@ColumnWidth(20) @ColumnWidth(20)
@ExcelProperty("客户名称") @ExcelProperty("客户名称")
private String consignee; private String consignee;
/**
* 仓库
*/
@ColumnWidth(20)
@ExcelProperty("订单自编号")
private String orderCode;
/** /**
* 仓库 * 仓库
*/ */

8
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml

@ -1169,7 +1169,7 @@
IF IF
( ldl.id IS NOT NULL, 1, ldl.id ) AS is_loading, ( ldl.id IS NOT NULL, 1, ldl.id ) AS is_loading,
1 is_out, 1 is_out,
ldpl.conditions AS goods_type, IF(ldpl.conditions = 1, 0 ,ldpl.conditions) AS goods_type,
ldl.received_quantity AS signNum, ldl.received_quantity AS signNum,
5 AS broke_state 5 AS broke_state
FROM FROM
@ -1200,7 +1200,7 @@
IF IF
( ldl.id IS NOT NULL, 1, ldl.id ) AS is_loading, ( ldl.id IS NOT NULL, 1, ldl.id ) AS is_loading,
1 is_out, 1 is_out,
ldpl.conditions AS goods_type, IF(ldpl.conditions = 1, 0 ,ldpl.conditions) AS goods_type,
ldl.received_quantity AS signNum, ldl.received_quantity AS signNum,
5 AS broke_state 5 AS broke_state
FROM FROM
@ -1234,7 +1234,7 @@
ldl.signing_time AS sign_time, ldl.signing_time AS sign_time,
1 AS is_out, 1 AS is_out,
ldsl.quantity_stock AS num, ldsl.quantity_stock AS num,
3 AS goods_type, 2 AS goods_type,
ldl.received_quantity AS sign_num, ldl.received_quantity AS sign_num,
4 AS broke_state 4 AS broke_state
FROM FROM
@ -1269,7 +1269,7 @@
ldl.signing_time AS sign_time, ldl.signing_time AS sign_time,
1 AS is_out, 1 AS is_out,
ldsl.quantity_stock AS num, ldsl.quantity_stock AS num,
3 AS goods_type, 2 AS goods_type,
ldl.received_quantity AS sign_num, ldl.received_quantity AS sign_num,
4 AS broke_state 4 AS broke_state
FROM FROM

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

@ -905,7 +905,7 @@
ldbls.update_time AS update_time, ldbls.update_time AS update_time,
ldbls.quantity AS num, ldbls.quantity AS num,
ldbls.quantity AS signNum, ldbls.quantity AS signNum,
3 AS goods_type 2 AS goods_type
FROM FROM
logpm_distribution_bill_lading_scan AS ldbls logpm_distribution_bill_lading_scan AS ldbls
LEFT JOIN logpm_dis_stock_list_detail AS ldsld ON ldbls.bill_lading_id = ldsld.reservation_id AND ldsld.is_deleted = 0 LEFT JOIN logpm_dis_stock_list_detail AS ldsld ON ldbls.bill_lading_id = ldsld.reservation_id AND ldsld.is_deleted = 0

9
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillStockMapper.xml

@ -141,7 +141,7 @@
where ldpl.material_name is not null and ldpl.stock_article_id = ldbs.stock_article_id) materialName, where ldpl.material_name is not null and ldpl.stock_article_id = ldbs.stock_article_id) materialName,
(select IFNULL(sum(lds.stock_quantity),0) (select IFNULL(sum(lds.stock_quantity),0)
from logpm_distribution_stock lds from logpm_distribution_stock lds
where lds.stock_article = ldbs.stock_article_id ) preparedQuantity , where lds.stock_article = ldbs.stock_article_id AND lds.bill_lading_id = ldbl.id ) preparedQuantity ,
(select COALESCE(GROUP_CONCAT(DISTINCT lwtg.tray_code SEPARATOR ','), '') (select COALESCE(GROUP_CONCAT(DISTINCT lwtg.tray_code SEPARATOR ','), '')
from logpm_distribution_parcel_list ldpl from logpm_distribution_parcel_list ldpl
LEFT JOIN logpm_warehouse_tray_goods lwtg on lwtg.association_id = ldpl.id and lwtg.association_type = '3' LEFT JOIN logpm_warehouse_tray_goods lwtg on lwtg.association_id = ldpl.id and lwtg.association_type = '3'
@ -156,12 +156,12 @@
logpm_distrilbution_bill_lading AS ldbl logpm_distrilbution_bill_lading AS ldbl
LEFT JOIN logpm_distrilbution_bill_stock ldbs ON ldbs.bill_lading_id = ldbl.id LEFT JOIN logpm_distrilbution_bill_stock ldbs ON ldbs.bill_lading_id = ldbl.id
LEFT JOIN logpm_distribution_stock_article ldsa on ldbs.stock_article_id = ldsa.id LEFT JOIN logpm_distribution_stock_article ldsa on ldbs.stock_article_id = ldsa.id
LEFT JOIN logpm_distribution_stock lds on lds.stock_article = ldbs.stock_article_id <!-- LEFT JOIN logpm_distribution_stock lds on lds.stock_article = ldbs.stock_article_id-->
LEFT JOIN logpm_distribution_bill_lading_scan AS ldbls ON ldbl.id = ldbls.bill_lading_id LEFT JOIN logpm_distribution_bill_lading_scan AS ldbls ON ldbl.id = ldbls.bill_lading_id
<where> <where>
ldbs.is_deleted = 0 and ldbs.bill_lading_id = #{param.billLadingId} and ldbs.order_status in (1,3) ldbs.is_deleted = 0 and ldbs.bill_lading_id = #{param.billLadingId} and ldbs.order_status in (1,3)
</where> </where>
GROUP BY ldbl.id GROUP BY ldbl.id,ldbs.stock_article_id
</select> </select>
<select id="getBillOrderPack" resultType="com.logpm.distribution.vo.DistributionBillOrderPackVO"> <select id="getBillOrderPack" resultType="com.logpm.distribution.vo.DistributionBillOrderPackVO">
SELECT SELECT
@ -357,7 +357,8 @@
end as clerkCheck, end as clerkCheck,
CASE CASE
WHEN ldbl.conditions = 30 THEN ldbl.update_time WHEN ldbl.conditions = 30 THEN ldbl.update_time
end as clerkUpdateTime end as clerkUpdateTime,
1 AS num
FROM logpm_distrilbution_bill_lading ldbl FROM logpm_distrilbution_bill_lading ldbl
LEFT JOIN logpm_distrilbution_bill_package ldbp on ldbl.id = ldbp.bill_lading_id LEFT JOIN logpm_distrilbution_bill_package ldbp on ldbl.id = ldbp.bill_lading_id
LEFT JOIN logpm_distribution_parcel_list ldpl ON ldbp.parce_list_id = ldpl.id LEFT JOIN logpm_distribution_parcel_list ldpl ON ldbp.parce_list_id = ldpl.id

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

@ -601,13 +601,13 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
if (!abnormalEntities.isEmpty()) { if (!abnormalEntities.isEmpty()) {
//判断异常是否属于自身 //判断异常是否属于自身
boolean flag = abnormalEntities.stream().allMatch(a -> distributionDeliveryListEntity.getId().equals(a.getDeliveryListId()) ); boolean flag = abnormalEntities.stream().allMatch(a -> !distributionDeliveryListEntity.getId().equals(a.getDeliveryListId()) || !distrilbutionloadingscanDTO.getReservationId().equals(a.getReservationId()));
if (flag){ if (flag){
return Resp.scanFail("包件已存在异常", "包件已存在异常"); //该异常属于其他车次
String collect = abnormalEntities.stream().map(DistributionLoadscanAbnormalEntity::getTrainNumber).collect(Collectors.joining(","));
log.info("包件已在其他车次存在异常 >>>>当前车次:{},其他车次:{}",distributionDeliveryListEntity.getTrainNumber(),collect);
return Resp.scanFail("包件已在其他车次存在异常", "包件已在其他车次存在异常");
} }
String collect = abnormalEntities.stream().map(DistributionLoadscanAbnormalEntity::getTrainNumber).collect(Collectors.joining(","));
log.info("包件已在其他车次存在异常 >>>>当前车次:{},其他车次:{}",distributionDeliveryListEntity.getTrainNumber(),collect);
return Resp.scanFail("包件在其他车次存在异常", "包件在其他车次存在异常");
} }
//异步确认包条扫描信息 //异步确认包条扫描信息
// distributionAsyncService.changeOrderSignforStatus(distrilbutionloadingscanDTO.getBarcode()); // distributionAsyncService.changeOrderSignforStatus(distrilbutionloadingscanDTO.getBarcode());
@ -726,7 +726,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
Map<String,Object> info = new HashMap<>(); Map<String,Object> info = new HashMap<>();
info.put("orderPackageCode",parcelListEntity.getOrderPackageCode()); info.put("orderPackageCode",parcelListEntity.getOrderPackageCode());
info.put("warehouseId",myCurrentWarehouse.getId()); info.put("warehouseId",myCurrentWarehouse.getId());
warehouseUpdownTypeClient.downDeliveryPackage(info); warehouseUpdownTypeClient.downPackageOrDelTray(parcelListEntity.getOrderPackageCode(),myCurrentWarehouse.getId(),"扫描装车进行下架、解托");
Map<String, Object> map = new HashMap(); Map<String, Object> map = new HashMap();
String distrilbutionloadingscanDTOJson = JSONObject.toJSONString(distrilbutionloadingscanDTO); String distrilbutionloadingscanDTOJson = JSONObject.toJSONString(distrilbutionloadingscanDTO);
@ -2553,6 +2553,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
//// distributionStockArticleVO.setParcelListVOS(DistributionParcelListWrapper.build().listVO(distributionParcelListService.getBaseMapper().selectList(Wrappers.<DistributionParcelListEntity>query().lambda().eq(DistributionParcelListEntity::getStockArticleId, rs.getStockArticleId())))); //// distributionStockArticleVO.setParcelListVOS(DistributionParcelListWrapper.build().listVO(distributionParcelListService.getBaseMapper().selectList(Wrappers.<DistributionParcelListEntity>query().lambda().eq(DistributionParcelListEntity::getStockArticleId, rs.getStockArticleId()))));
//// } //// }
// } // }
distributionStockArticleVO.setReservationNum(rs.getReservationNum());
distributionStockArticleVOS.add(distributionStockArticleVO); distributionStockArticleVOS.add(distributionStockArticleVO);
}); });
} }

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java

@ -2432,7 +2432,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
if (!abnormalEntities.isEmpty()) { if (!abnormalEntities.isEmpty()) {
//判断此包件的异常是否是当前扫描车次和客户 //判断此包件的异常是否是当前扫描车次和客户
//首先判断存在异常是否不属于当前车次和客户 //首先判断存在异常是否不属于当前车次和客户
boolean flag = abnormalEntities.stream().allMatch(a -> !deliveryListEntity.getId().equals(a.getDeliveryListId()) && !distrilbutionloadingscanDTO.getReservationId().equals(a.getReservationId())); boolean flag = abnormalEntities.stream().allMatch(a -> !deliveryListEntity.getId().equals(a.getDeliveryListId()) || !distrilbutionloadingscanDTO.getReservationId().equals(a.getReservationId()));
if (flag){ if (flag){
//该异常属于其他车次 //该异常属于其他车次
String collect = abnormalEntities.stream().map(DistributionLoadscanAbnormalEntity::getTrainNumber).collect(Collectors.joining(",")); String collect = abnormalEntities.stream().map(DistributionLoadscanAbnormalEntity::getTrainNumber).collect(Collectors.joining(","));

5
blade-service/logpm-factory-data/logpm-factory-data-base/src/main/java/com/logpm/factorydata/base/config/CustomMessageConverter.java

@ -73,7 +73,10 @@ public class CustomMessageConverter extends AllowedListDeserializingMessageConve
Map<String, Object> headers = properties.getHeaders(); Map<String, Object> headers = properties.getHeaders();
HttpHeaders httpHeaders = new HttpHeaders(); HttpHeaders httpHeaders = new HttpHeaders();
for (Map.Entry<String, Object> entry : headers.entrySet()) { for (Map.Entry<String, Object> entry : headers.entrySet()) {
if (StrUtil.equals("Blade-Auth", entry.getKey()) || StrUtil.equals("Authorization", entry.getKey())) { if (StrUtil.equals("Blade-Auth", entry.getKey())
|| StrUtil.equals("Authorization", entry.getKey())
|| StrUtil.equals("blade-auth", entry.getKey())
|| StrUtil.equals("authorization", entry.getKey())) {
List value = (List) entry.getValue(); List value = (List) entry.getValue();
for (Object o : value) { for (Object o : value) {
httpHeaders.add(entry.getKey(), String.valueOf(o)); httpHeaders.add(entry.getKey(), String.valueOf(o));

5
blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/config/CustomMessageConverter.java

@ -73,7 +73,10 @@ public class CustomMessageConverter extends AllowedListDeserializingMessageConve
Map<String, Object> headers = properties.getHeaders(); Map<String, Object> headers = properties.getHeaders();
HttpHeaders httpHeaders = new HttpHeaders(); HttpHeaders httpHeaders = new HttpHeaders();
for (Map.Entry<String, Object> entry : headers.entrySet()) { for (Map.Entry<String, Object> entry : headers.entrySet()) {
if (StrUtil.equals("Blade-Auth", entry.getKey()) || StrUtil.equals("Authorization", entry.getKey())) { if (StrUtil.equals("Blade-Auth", entry.getKey())
|| StrUtil.equals("Authorization", entry.getKey())
|| StrUtil.equals("blade-auth", entry.getKey())
|| StrUtil.equals("authorization", entry.getKey())) {
List value = (List) entry.getValue(); List value = (List) entry.getValue();
for (Object o : value) { for (Object o : value) {
httpHeaders.add(entry.getKey(), String.valueOf(o)); httpHeaders.add(entry.getKey(), String.valueOf(o));

5
blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/config/CustomMessageConverter.java

@ -73,7 +73,10 @@ public class CustomMessageConverter extends AllowedListDeserializingMessageConve
Map<String, Object> headers = properties.getHeaders(); Map<String, Object> headers = properties.getHeaders();
HttpHeaders httpHeaders = new HttpHeaders(); HttpHeaders httpHeaders = new HttpHeaders();
for (Map.Entry<String, Object> entry : headers.entrySet()) { for (Map.Entry<String, Object> entry : headers.entrySet()) {
if (StrUtil.equals("Blade-Auth", entry.getKey()) || StrUtil.equals("Authorization", entry.getKey())) { if (StrUtil.equals("Blade-Auth", entry.getKey())
|| StrUtil.equals("Authorization", entry.getKey())
|| StrUtil.equals("blade-auth", entry.getKey())
|| StrUtil.equals("authorization", entry.getKey())) {
List value = (List) entry.getValue(); List value = (List) entry.getValue();
for (Object o : value) { for (Object o : value) {
httpHeaders.add(entry.getKey(), String.valueOf(o)); httpHeaders.add(entry.getKey(), String.valueOf(o));

5
blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/config/CustomMessageConverter.java

@ -73,7 +73,10 @@ public class CustomMessageConverter extends AllowedListDeserializingMessageConve
Map<String, Object> headers = properties.getHeaders(); Map<String, Object> headers = properties.getHeaders();
HttpHeaders httpHeaders = new HttpHeaders(); HttpHeaders httpHeaders = new HttpHeaders();
for (Map.Entry<String, Object> entry : headers.entrySet()) { for (Map.Entry<String, Object> entry : headers.entrySet()) {
if (StrUtil.equals("Blade-Auth", entry.getKey()) || StrUtil.equals("Authorization", entry.getKey())) { if (StrUtil.equals("Blade-Auth", entry.getKey())
|| StrUtil.equals("Authorization", entry.getKey())
|| StrUtil.equals("blade-auth", entry.getKey())
|| StrUtil.equals("authorization", entry.getKey())) {
List value = (List) entry.getValue(); List value = (List) entry.getValue();
for (Object o : value) { for (Object o : value) {
httpHeaders.add(entry.getKey(), String.valueOf(o)); httpHeaders.add(entry.getKey(), String.valueOf(o));

5
blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/config/CustomMessageConverter.java

@ -73,7 +73,10 @@ public class CustomMessageConverter extends AllowedListDeserializingMessageConve
Map<String, Object> headers = properties.getHeaders(); Map<String, Object> headers = properties.getHeaders();
HttpHeaders httpHeaders = new HttpHeaders(); HttpHeaders httpHeaders = new HttpHeaders();
for (Map.Entry<String, Object> entry : headers.entrySet()) { for (Map.Entry<String, Object> entry : headers.entrySet()) {
if (StrUtil.equals("Blade-Auth", entry.getKey()) || StrUtil.equals("Authorization", entry.getKey())) { if (StrUtil.equals("Blade-Auth", entry.getKey())
|| StrUtil.equals("Authorization", entry.getKey())
|| StrUtil.equals("blade-auth", entry.getKey())
|| StrUtil.equals("authorization", entry.getKey())) {
List value = (List) entry.getValue(); List value = (List) entry.getValue();
for (Object o : value) { for (Object o : value) {
httpHeaders.add(entry.getKey(), String.valueOf(o)); httpHeaders.add(entry.getKey(), String.valueOf(o));

5
blade-service/logpm-factory/src/main/java/com/logpm/factory/config/CustomMessageConverter.java

@ -73,7 +73,10 @@ public class CustomMessageConverter extends AllowedListDeserializingMessageConve
Map<String, Object> headers = properties.getHeaders(); Map<String, Object> headers = properties.getHeaders();
HttpHeaders httpHeaders = new HttpHeaders(); HttpHeaders httpHeaders = new HttpHeaders();
for (Map.Entry<String, Object> entry : headers.entrySet()) { for (Map.Entry<String, Object> entry : headers.entrySet()) {
if (StrUtil.equals("Blade-Auth", entry.getKey()) || StrUtil.equals("Authorization", entry.getKey())) { if (StrUtil.equals("Blade-Auth", entry.getKey())
|| StrUtil.equals("Authorization", entry.getKey())
|| StrUtil.equals("blade-auth", entry.getKey())
|| StrUtil.equals("authorization", entry.getKey())) {
List value = (List) entry.getValue(); List value = (List) entry.getValue();
for (Object o : value) { for (Object o : value) {
httpHeaders.add(entry.getKey(), String.valueOf(o)); httpHeaders.add(entry.getKey(), String.valueOf(o));

2
blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/controller/MtFactoryDataController.java

@ -93,7 +93,7 @@ public class MtFactoryDataController extends BladeController {
if (!Objects.isNull(mainId)) { if (!Objects.isNull(mainId)) {
asyncDataService.handlerMtDataToHt(map.get("mainId")); asyncDataService.handlerMtDataToHt(map.get("mainId"));
// 走新系统暂存单 // 走新系统暂存单
asyncDataService.handlerMtDataToHtNew(map.get("mainId")); // asyncDataService.handlerMtDataToHtNew(map.get("mainId"));
} }
} else { } else {
orderStatusLog.setStatus(2); orderStatusLog.setStatus(2);

2
blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/controller/PanFactoryDataController.java

@ -126,7 +126,7 @@ public class PanFactoryDataController extends BladeController {
if(!Objects.isNull(orderId)){ if(!Objects.isNull(orderId)){
syncDataService.handlerPanDataToHt(orderId); syncDataService.handlerPanDataToHt(orderId);
// 走新系统暂存单 // 走新系统暂存单
syncDataService.handlerPanDataToHtNew(orderId); // syncDataService.handlerPanDataToHtNew(orderId);
} }

13
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/config/CustomMessageConverter.java

@ -19,13 +19,7 @@ import org.springframework.util.ClassUtils;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import java.io.ByteArrayInputStream; import java.io.*;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectStreamClass;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -73,7 +67,10 @@ public class CustomMessageConverter extends AllowedListDeserializingMessageConve
Map<String, Object> headers = properties.getHeaders(); Map<String, Object> headers = properties.getHeaders();
HttpHeaders httpHeaders = new HttpHeaders(); HttpHeaders httpHeaders = new HttpHeaders();
for (Map.Entry<String, Object> entry : headers.entrySet()) { for (Map.Entry<String, Object> entry : headers.entrySet()) {
if (StrUtil.equals("Blade-Auth", entry.getKey()) || StrUtil.equals("Authorization", entry.getKey())) { if (StrUtil.equals("Blade-Auth", entry.getKey())
|| StrUtil.equals("Authorization", entry.getKey())
|| StrUtil.equals("blade-auth", entry.getKey())
|| StrUtil.equals("authorization", entry.getKey())) {
List value = (List) entry.getValue(); List value = (List) entry.getValue();
for (Object o : value) { for (Object o : value) {
httpHeaders.add(entry.getKey(), String.valueOf(o)); httpHeaders.add(entry.getKey(), String.valueOf(o));

2
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/IncomingController.java

@ -90,7 +90,7 @@ public class IncomingController {
} }
return inComingService.incomingBatchOrder(inComingDTO); return inComingService.incomingBatchOrder(inComingDTO,null);
}catch (CustomerException e){ }catch (CustomerException e){
log.error(e.message,e); log.error(e.message,e);
return R.fail(e.code,e.message); return R.fail(e.code,e.message);

26
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml

@ -656,15 +656,12 @@
</select> </select>
<select id="loadingDetailExport" resultType="com.logpm.trunkline.vo.LoadingDetailExportVO"> <select id="loadingDetailExport" resultType="com.logpm.trunkline.vo.LoadingDetailExportVO">
select ltcls.tray_code trayCode, select ltcls.waybill_no waybillNo,
ltcls.unload_node_name unloadNodeName,
ltcls.order_code orderCode,
ltcls.warehouse_name warehouseNname,
ltcls.unload_user_name unloadUserName,
IF(ltcls.unload_abnormal = 1,'是','否') unloadAbnormal,
IF(ltcls.is_supple = 1,'是','否') isSupple,
ltcls.load_code carsNo, ltcls.load_code carsNo,
ltcls.order_code orderCode,
ltcls.scan_code scanCode, ltcls.scan_code scanCode,
ltcls.loading_user_name loadingUserName,
ltcls.warehouse_name warehouseNname,
ltcls.final_node_name finalNodeName, ltcls.final_node_name finalNodeName,
case ltcls.scan_status case ltcls.scan_status
when '1' then '装车' when '1' then '装车'
@ -672,15 +669,20 @@
when '3' then '签收' when '3' then '签收'
end scanStatus, end scanStatus,
ltcls.tray_name trayName, ltcls.tray_name trayName,
ltcls.num num, ltcls.tray_code trayCode,
IF(ltcls.is_data = 1,'有','无') isData, ltcls.unload_node_name unloadNodeName,
ltcls.waybill_no waybillNo, ltcls.unload_user_name unloadUserName,
ltcls.loading_user_name loadingUserName,
case ltcls.type case ltcls.type
when 1 then '订制品' when 1 then '订制品'
when 2 then '零担' when 2 then '零担'
end type, end type,
IF(ltcls.loading_abnormal = 1,'是','否') loadingAbnormal ltcls.num num,
IF(ltcls.is_data = 1,'有','无') isData,
IF(ltcls.loading_abnormal = 1,'是','否') loadingAbnormal,
IF(ltcls.unload_abnormal = 1,'是','否') unloadAbnormal,
IF(ltcls.is_supple = 1,'是','否') isSupple,
ltcls.create_time loadingTime,
ltcls.unload_time unloadTime
from logpm_trunkline_cars_load_scan ltcls from logpm_trunkline_cars_load_scan ltcls
where ltcls.load_id = #{param.loadId} where ltcls.load_id = #{param.loadId}
order by ltcls.create_time asc order by ltcls.create_time asc

4
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mq/AdvanceToLoadListener.java

@ -18,6 +18,7 @@ import org.springblade.common.constant.IncomingTypeEnum;
import org.springblade.common.constant.RabbitConstant; import org.springblade.common.constant.RabbitConstant;
import org.springblade.common.constant.TenantNum; import org.springblade.common.constant.TenantNum;
import org.springblade.common.utils.CommonUtil; import org.springblade.common.utils.CommonUtil;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.StringUtil; import org.springblade.core.tool.utils.StringUtil;
import org.springframework.amqp.core.Message; import org.springframework.amqp.core.Message;
@ -48,6 +49,7 @@ public class AdvanceToLoadListener {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void advanceToLoad(Map map, Message message, Channel channel){ public void advanceToLoad(Map map, Message message, Channel channel){
String msg = (String) map.get("messageData"); String msg = (String) map.get("messageData");
String tenantId1 = AuthUtil.getTenantId();
if(StringUtil.isNotBlank(msg)){ if(StringUtil.isNotBlank(msg)){
log.info("#############advanceToLoad: 暂存单包件入库并且绑定到对应车次上 {}", msg); log.info("#############advanceToLoad: 暂存单包件入库并且绑定到对应车次上 {}", msg);
JSONObject jsonObject = JSONUtil.parseObj(msg); JSONObject jsonObject = JSONUtil.parseObj(msg);
@ -79,7 +81,7 @@ public class AdvanceToLoadListener {
inComingDTO.setTenantId(TenantNum.HUITONGCODE); inComingDTO.setTenantId(TenantNum.HUITONGCODE);
inComingDTO.setOrderPackageCode(orderPackageCode); inComingDTO.setOrderPackageCode(orderPackageCode);
inComingDTO.setWarehouseId(warehouseId); inComingDTO.setWarehouseId(warehouseId);
inComingDTO.setWarehouseName(warehouseName); // inComingDTO.setWarehouseName(warehouseName);
inComingDTO.setTenantId(advanceDetailEntity.getTenantId()); inComingDTO.setTenantId(advanceDetailEntity.getTenantId());
inComingDTO.setUserId(advanceDetailEntity.getCreateUser()); inComingDTO.setUserId(advanceDetailEntity.getCreateUser());
inComingDTO.setDeptId(advanceDetailEntity.getCreateDept()); inComingDTO.setDeptId(advanceDetailEntity.getCreateDept());

3
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IInComingService.java

@ -1,6 +1,7 @@
package com.logpm.trunkline.service; package com.logpm.trunkline.service;
import com.logpm.trunkline.dto.InComingDTO; import com.logpm.trunkline.dto.InComingDTO;
import com.logpm.warehouse.entity.WarehouseWaybillEntity;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
public interface IInComingService { public interface IInComingService {
@ -9,6 +10,6 @@ public interface IInComingService {
R findIncomingOrderList(InComingDTO inComingDTO); R findIncomingOrderList(InComingDTO inComingDTO);
R incomingBatchOrder(InComingDTO inComingDTO); R incomingBatchOrder(InComingDTO inComingDTO, WarehouseWaybillEntity waybillEntity);
} }

2
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IOpenOrderAsyncService.java

@ -18,7 +18,7 @@ public interface IOpenOrderAsyncService {
void saveUnloadStartCarLog(TrunklineCarsLoadLineEntity currentCarsLoadLineEntity, String nickName,Long userId); void saveUnloadStartCarLog(TrunklineCarsLoadLineEntity currentCarsLoadLineEntity, String nickName,Long userId);
void incomingPackageBatch(List<Long> advanceIds, Long userId, Long deptId, String tenantId, String nickName,Integer incomingType,Long warehouseId,String warehouseName); void incomingPackageBatch(List<Long> advanceIds, Long userId, Long deptId, String tenantId, String nickName,Integer incomingType,Long warehouseId,String warehouseName,WarehouseWaybillEntity waybillEntity);
void saveUpdateLog(Long waybillId, String waybillNo, String trackType, String refer, String operationRemark, String nickName, Long userId, Long warehouseId, String warehouseName, WarehouseWaybillEntity waybillEntity); void saveUpdateLog(Long waybillId, String waybillNo, String trackType, String refer, String operationRemark, String nickName, Long userId, Long warehouseId, String warehouseName, WarehouseWaybillEntity waybillEntity);
} }

3
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceService.java

@ -8,6 +8,7 @@ import com.logpm.trunkline.entity.TrunklineAdvanceEntity;
import com.logpm.trunkline.vo.CustomerInfoVO; import com.logpm.trunkline.vo.CustomerInfoVO;
import com.logpm.trunkline.vo.OpenOrderVO; import com.logpm.trunkline.vo.OpenOrderVO;
import com.logpm.trunkline.vo.TrunklineAdvanceVO; import com.logpm.trunkline.vo.TrunklineAdvanceVO;
import com.logpm.warehouse.entity.WarehouseWaybillEntity;
import org.springblade.core.mp.base.BaseService; import org.springblade.core.mp.base.BaseService;
import java.util.List; import java.util.List;
@ -36,7 +37,7 @@ public interface ITrunklineAdvanceService extends BaseService<TrunklineAdvanceEn
List<TrunklineAdvanceVO> findIncomingOrderList(InComingDTO inComingDTO); List<TrunklineAdvanceVO> findIncomingOrderList(InComingDTO inComingDTO);
List<String> incomingPackageBatch(Long advanceId, Long warehouseId, List<TrunklineAdvanceDetailEntity> detailList, Long userId, Long deptId, String tenantId); List<String> incomingPackageBatch(Long advanceId, Long warehouseId, List<TrunklineAdvanceDetailEntity> detailList, Long userId, Long deptId, String tenantId, WarehouseWaybillEntity waybillEntity);
List<TrunklineAdvanceEntity> findListByExistsAndOrderCodeSet(List<String> orderCodeSet); List<TrunklineAdvanceEntity> findListByExistsAndOrderCodeSet(List<String> orderCodeSet);
} }

5
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java

@ -12,6 +12,7 @@ import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity;
import com.logpm.trunkline.entity.TrunklineBillladingPackageEntity; import com.logpm.trunkline.entity.TrunklineBillladingPackageEntity;
import com.logpm.trunkline.service.*; import com.logpm.trunkline.service.*;
import com.logpm.trunkline.vo.TrunklineAdvanceVO; import com.logpm.trunkline.vo.TrunklineAdvanceVO;
import com.logpm.warehouse.entity.WarehouseWaybillEntity;
import com.logpm.warehouse.feign.IWarehouseTrayTypeClient; import com.logpm.warehouse.feign.IWarehouseTrayTypeClient;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -184,7 +185,7 @@ public class InComingServiceImpl implements IInComingService {
} }
@Override @Override
public R incomingBatchOrder(InComingDTO inComingDTO) { public R incomingBatchOrder(InComingDTO inComingDTO, WarehouseWaybillEntity waybillEntity) {
Long warehouseId = inComingDTO.getWarehouseId(); Long warehouseId = inComingDTO.getWarehouseId();
String warehouseName = inComingDTO.getWarehouseName(); String warehouseName = inComingDTO.getWarehouseName();
Integer incomingType = inComingDTO.getIncomingType(); Integer incomingType = inComingDTO.getIncomingType();
@ -203,7 +204,7 @@ public class InComingServiceImpl implements IInComingService {
//查询所有包件 //查询所有包件
List<TrunklineAdvanceDetailEntity> detailList = advanceDetailService.list(queryWrapper); List<TrunklineAdvanceDetailEntity> detailList = advanceDetailService.list(queryWrapper);
List<String> orderPackageCodes = advanceService.incomingPackageBatch(advanceId, warehouseId, detailList, userId, deptId, tenantId); List<String> orderPackageCodes = advanceService.incomingPackageBatch(advanceId, warehouseId, detailList, userId, deptId, tenantId,waybillEntity);
advanceDetailService.updateBatchById(detailList); advanceDetailService.updateBatchById(detailList);

5
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderAsyncServiceImpl.java

@ -17,7 +17,6 @@ import org.springblade.system.cache.UserCache;
import org.springblade.system.entity.User; import org.springblade.system.entity.User;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Date; import java.util.Date;
@ -260,7 +259,7 @@ public class OpenOrderAsyncServiceImpl implements IOpenOrderAsyncService {
@LogpmAsync("asyncExecutor") @LogpmAsync("asyncExecutor")
@Override @Override
public void incomingPackageBatch(List<Long> advanceIds, Long userId, Long deptId, String tenantId, String nickName,Integer incomingType,Long warehouseId,String warehouseName) { public void incomingPackageBatch(List<Long> advanceIds, Long userId, Long deptId, String tenantId, String nickName,Integer incomingType,Long warehouseId,String warehouseName,WarehouseWaybillEntity waybillEntity) {
InComingDTO inComingDTO = new InComingDTO(); InComingDTO inComingDTO = new InComingDTO();
inComingDTO.setAdvanceIds(advanceIds); inComingDTO.setAdvanceIds(advanceIds);
inComingDTO.setWarehouseId(warehouseId); inComingDTO.setWarehouseId(warehouseId);
@ -270,7 +269,7 @@ public class OpenOrderAsyncServiceImpl implements IOpenOrderAsyncService {
inComingDTO.setTenantId(tenantId); inComingDTO.setTenantId(tenantId);
inComingDTO.setNickName(nickName); inComingDTO.setNickName(nickName);
inComingDTO.setIncomingType(incomingType); inComingDTO.setIncomingType(incomingType);
inComingService.incomingBatchOrder(inComingDTO); inComingService.incomingBatchOrder(inComingDTO,waybillEntity);
} }
@Override @Override

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

@ -46,6 +46,7 @@ import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil; import org.springblade.core.tool.utils.StringUtil;
import org.springblade.system.cache.DictBizCache; import org.springblade.system.cache.DictBizCache;
import org.springblade.system.feign.IRegionFeign; import org.springblade.system.feign.IRegionFeign;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -95,6 +96,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
private final IBasicdataStoreContactClient basicdataStoreContactClient; private final IBasicdataStoreContactClient basicdataStoreContactClient;
private final IAsyncService asyncService; private final IAsyncService asyncService;
private final ICarsLoadAsyncService carsLoadAsyncService; private final ICarsLoadAsyncService carsLoadAsyncService;
private final RabbitTemplate rabbitTemplate;
@Override @Override
public IPage<TrunklineAdvanceVO> advancePageList(AdvanceDTO advanceDTO) { public IPage<TrunklineAdvanceVO> advancePageList(AdvanceDTO advanceDTO) {
@ -601,7 +603,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
//判断是否是开单及入库的配置 //判断是否是开单及入库的配置
Boolean aBoolean = basicdataOpenIncomingClient.checkOpenIncoming(warehouseId, brandId); Boolean aBoolean = basicdataOpenIncomingClient.checkOpenIncoming(warehouseId, brandId);
if (Boolean.TRUE.equals(aBoolean)) { if (Boolean.TRUE.equals(aBoolean)) {
openOrderAsyncService.incomingPackageBatch(advanceIds, AuthUtil.getUserId(), Func.firstLong(AuthUtil.getDeptId()), AuthUtil.getTenantId(), AuthUtil.getNickName(), IncomingTypeEnum.OPEN_TO_IN.getCode(),warehouseId,warehouseName); openOrderAsyncService.incomingPackageBatch(advanceIds, AuthUtil.getUserId(), Func.firstLong(AuthUtil.getDeptId()), AuthUtil.getTenantId(), AuthUtil.getNickName(), IncomingTypeEnum.OPEN_TO_IN.getCode(),warehouseId,warehouseName,waybillEntity);
waybillEntity.setStockCount(waybillEntity.getTotalCount()); waybillEntity.setStockCount(waybillEntity.getTotalCount());
waybillEntity.setWaybillStatus("20"); waybillEntity.setWaybillStatus("20");
warehouseWaybillClient.updateEntity(waybillEntity); warehouseWaybillClient.updateEntity(waybillEntity);
@ -2100,49 +2102,62 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
List<ImportOrderNoPackageExcelDTO> importOrderNoPackageExcelDTOS = EasyExcel.read(inputStream).head(ImportOrderNoPackageExcelDTO.class).sheet(0).headRowNumber(2).doReadSync(); List<ImportOrderNoPackageExcelDTO> importOrderNoPackageExcelDTOS = EasyExcel.read(inputStream).head(ImportOrderNoPackageExcelDTO.class).sheet(0).headRowNumber(2).doReadSync();
Map<String, Long> orderCodeCounts = importOrderNoPackageExcelDTOS.stream()
.collect(Collectors.groupingBy(a->(a.getOrderCode()+"&"+a.getFirsts()), Collectors.counting()));
Set<String> duplicateOrderCodes = orderCodeCounts.entrySet().stream()
.filter(entry -> entry.getValue() > 1)
.map(Map.Entry::getKey)
.collect(Collectors.toSet());
if(!duplicateOrderCodes.isEmpty()){
log.warn("#################importCustomizedOuPai: 订单号品类重复 {}",duplicateOrderCodes);
return R.fail(405, "包条码重复"+duplicateOrderCodes);
}
//把importOrderNoPackageExcelDTOS中的orderCode存入一个set集合 //把importOrderNoPackageExcelDTOS中的orderCode存入一个set集合
Set<String> orderCodes = importOrderNoPackageExcelDTOS.parallelStream().map(ImportOrderNoPackageExcelDTO::getOrderCode).collect(Collectors.toSet()); // Set<String> orderCodes = importOrderNoPackageExcelDTOS.parallelStream().map(ImportOrderNoPackageExcelDTO::getOrderCode).collect(Collectors.toSet());
//把importOrderNoPackageExcelDTOS的每个元素提取成一个key为orderCode和trainNumber的拼接,value为元素本身的map //把importOrderNoPackageExcelDTOS的每个元素提取成一个key为orderCode和trainNumber的拼接,value为元素本身的map
Map<String, ImportOrderNoPackageExcelDTO> importOrderNoPackageExcelDTOMap = importOrderNoPackageExcelDTOS.parallelStream().collect(Collectors.toMap(a -> a.getOrderCode() + "&" + a.getTrainNumber(), a -> a)); Map<String, ImportOrderNoPackageExcelDTO> importOrderNoPackageExcelDTOMap = importOrderNoPackageExcelDTOS.parallelStream().collect(Collectors.toMap(a -> a.getOrderCode() + "&" + a.getFirsts(), a -> a));
importOrderNoPackageExcelDTOMap.remove("null&null"); importOrderNoPackageExcelDTOMap.remove("null&null");
List<TrunklineAdvanceEntity> detailEntities = new ArrayList<>(); List<TrunklineAdvanceEntity> detailEntities = new ArrayList<>();
//把orderCodes转成List //把orderCodes转成List
List<String> orderCodeList = new ArrayList<>(orderCodes); // List<String> orderCodeList = new ArrayList<>(orderCodes);
//把orderCodeList分成每2000个元素一组 //把orderCodeList分成每2000个元素一组
int batchSize = 2000; // int batchSize = 2000;
List<List<String>> orderedGroups = new ArrayList<>(); // List<List<String>> orderedGroups = new ArrayList<>();
//
for (int i = 0; i < orderCodeList.size(); i += batchSize) { // for (int i = 0; i < orderCodeList.size(); i += batchSize) {
int endIndex = Math.min(i + batchSize, orderCodeList.size()); // int endIndex = Math.min(i + batchSize, orderCodeList.size());
orderedGroups.add(orderCodeList.subList(i, endIndex)); // orderedGroups.add(orderCodeList.subList(i, endIndex));
} // }
for (int i = 0; i < orderedGroups.size(); i++) { // for (int i = 0; i < orderedGroups.size(); i++) {
List<String> set1 = orderedGroups.get(i); // List<String> set1 = orderedGroups.get(i);
List<TrunklineAdvanceEntity> entities = advanceService.findListByExistsAndOrderCodeSet(set1); // List<TrunklineAdvanceEntity> entities = advanceService.findListByExistsAndOrderCodeSet(set1);
detailEntities.addAll(entities); // detailEntities.addAll(entities);
} // }
Map<String,TrunklineAdvanceEntity> advanceEntityMap = new HashMap<>(); Map<String,TrunklineAdvanceEntity> advanceEntityMap = new HashMap<>();
//把detailEntities转化成以orderCode和trainNumber为key的map //把detailEntities转化成以orderCode和trainNumber为key的map
detailEntities.forEach(advanceEntity -> { // detailEntities.forEach(advanceEntity -> {
String orderCode = advanceEntity.getOrderCode(); // String orderCode = advanceEntity.getOrderCode();
String trainNumber = advanceEntity.getTrainNumber(); // String packName = advanceEntity.getPackName();
String key = orderCode + "&" + (StringUtil.isBlank(trainNumber)?"null":trainNumber); // String key = orderCode + "&" + (StringUtil.isBlank(packName)?"null":packName);
advanceEntityMap.put(key,advanceEntity); // advanceEntityMap.put(key,advanceEntity);
}); // });
List<TrunklineAdvanceEntity> list = new ArrayList<>(); List<TrunklineAdvanceEntity> list = new ArrayList<>();
importOrderNoPackageExcelDTOMap.keySet().forEach(key -> { importOrderNoPackageExcelDTOMap.keySet().forEach(key -> {
ImportOrderNoPackageExcelDTO importOrderNoPackageExcelDTO = importOrderNoPackageExcelDTOMap.get(key); ImportOrderNoPackageExcelDTO importOrderNoPackageExcelDTO = importOrderNoPackageExcelDTOMap.get(key);
TrunklineAdvanceEntity advanceEntity = advanceEntityMap.get(key); if(Objects.isNull(importOrderNoPackageExcelDTO)){
if(Objects.isNull(advanceEntity)){
String orderCode = importOrderNoPackageExcelDTO.getOrderCode(); String orderCode = importOrderNoPackageExcelDTO.getOrderCode();
advanceEntity = new TrunklineAdvanceVO(); TrunklineAdvanceEntity advanceEntity = new TrunklineAdvanceVO();
advanceEntity.setWarehouseId(warehouseId); advanceEntity.setWarehouseId(warehouseId);
advanceEntity.setWarehouseName(warehouseName); advanceEntity.setWarehouseName(warehouseName);
advanceEntity.setServiceNum(importOrderNoPackageExcelDTO.getServiceNum()); advanceEntity.setServiceNum(importOrderNoPackageExcelDTO.getServiceNum());
@ -2181,8 +2196,8 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
List<TrunklineAdvanceDetailEntity> advanceDetailEntities = new ArrayList<>(); List<TrunklineAdvanceDetailEntity> advanceDetailEntities = new ArrayList<>();
for (TrunklineAdvanceEntity advanceEntity : list) { for (TrunklineAdvanceEntity advanceEntity : list) {
String orderCode = advanceEntity.getOrderCode(); String orderCode = advanceEntity.getOrderCode();
String trainNumber = advanceEntity.getTrainNumber(); String packName = advanceEntity.getPackName();
ImportOrderNoPackageExcelDTO importOrderNoPackageExcelDTO = importOrderNoPackageExcelDTOMap.get(orderCode + "&" + (StringUtil.isBlank(trainNumber) ? "null" : trainNumber)); ImportOrderNoPackageExcelDTO importOrderNoPackageExcelDTO = importOrderNoPackageExcelDTOMap.get(orderCode + "&" + (StringUtil.isBlank(packName) ? "null" : packName));
if(!Objects.isNull(importOrderNoPackageExcelDTO)){ if(!Objects.isNull(importOrderNoPackageExcelDTO)){
String firsts = importOrderNoPackageExcelDTO.getFirsts(); String firsts = importOrderNoPackageExcelDTO.getFirsts();
Integer totalNum = advanceEntity.getTotalNum(); Integer totalNum = advanceEntity.getTotalNum();
@ -2292,99 +2307,136 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
List<ImportOrderNoPackageExcelDTO> importOrderNoPackageExcelDTOS = EasyExcel.read(inputStream).head(ImportOrderNoPackageExcelDTO.class).sheet(0).headRowNumber(2).doReadSync(); List<ImportOrderNoPackageExcelDTO> importOrderNoPackageExcelDTOS = EasyExcel.read(inputStream).head(ImportOrderNoPackageExcelDTO.class).sheet(0).headRowNumber(2).doReadSync();
//把importOrderNoPackageExcelDTOS中的orderCode存入一个set集合 //把importOrderNoPackageExcelDTOS中的orderCode存入一个set集合
Set<String> orderCodes = importOrderNoPackageExcelDTOS.parallelStream().map(ImportOrderNoPackageExcelDTO::getOrderCode).collect(Collectors.toSet()); // Set<String> orderCodes = importOrderNoPackageExcelDTOS.parallelStream().map(ImportOrderNoPackageExcelDTO::getOrderCode).collect(Collectors.toSet());
//
Map<String, Long> orderCodeCounts = importOrderNoPackageExcelDTOS.stream() // Map<String, Long> orderCodeCounts = importOrderNoPackageExcelDTOS.stream()
.collect(Collectors.groupingBy(a -> a.getOrderCode() + "&" + a.getTrainNumber(), Collectors.counting())); // .collect(Collectors.groupingBy(a -> a.getOrderCode() + "&" + a.getTrainNumber(), Collectors.counting()));
//
Set<String> duplicateOrderCodes = orderCodeCounts.entrySet().stream() // Set<String> duplicateOrderCodes = orderCodeCounts.entrySet().stream()
.filter(entry -> entry.getValue() > 1) // .filter(entry -> entry.getValue() > 1)
.map(Map.Entry::getKey) // .map(Map.Entry::getKey)
.collect(Collectors.toSet()); // .collect(Collectors.toSet());
//
if(!duplicateOrderCodes.isEmpty()){ // if(!duplicateOrderCodes.isEmpty()){
log.warn("#####################openLabelHasPacakage: 订单重复 {}",duplicateOrderCodes); // log.warn("#####################openLabelHasPacakage: 订单重复 {}",duplicateOrderCodes);
return R.fail(405, "包条码重复"+duplicateOrderCodes); // return R.fail(405, "包条码重复"+duplicateOrderCodes);
} // }
//
//把importOrderNoPackageExcelDTOS的每个元素提取成一个key为orderCode和trainNumber的拼接,value为元素本身的map // //把importOrderNoPackageExcelDTOS的每个元素提取成一个key为orderCode和trainNumber的拼接,value为元素本身的map
Map<String, ImportOrderNoPackageExcelDTO> importOrderNoPackageExcelDTOMap = importOrderNoPackageExcelDTOS.parallelStream().collect(Collectors.toMap(a -> a.getOrderCode() + "&" + a.getTrainNumber(), a -> a)); // Map<String, ImportOrderNoPackageExcelDTO> importOrderNoPackageExcelDTOMap = importOrderNoPackageExcelDTOS.parallelStream().collect(Collectors.toMap(a -> a.getOrderCode() + "&" + a.getTrainNumber(), a -> a));
//
importOrderNoPackageExcelDTOMap.remove("null&null"); // importOrderNoPackageExcelDTOMap.remove("null&null");
//
List<TrunklineAdvanceEntity> detailEntities = new ArrayList<>(); // List<TrunklineAdvanceEntity> detailEntities = new ArrayList<>();
//
//把orderCodes转成List // //把orderCodes转成List
List<String> orderCodeList = new ArrayList<>(orderCodes); // List<String> orderCodeList = new ArrayList<>(orderCodes);
//把orderCodeList分成每2000个元素一组 // //把orderCodeList分成每2000个元素一组
int batchSize = 1000; // int batchSize = 1000;
List<List<String>> orderedGroups = new ArrayList<>(); // List<List<String>> orderedGroups = new ArrayList<>();
//
for (int i = 0; i < orderCodeList.size(); i += batchSize) { // for (int i = 0; i < orderCodeList.size(); i += batchSize) {
int endIndex = Math.min(i + batchSize, orderCodeList.size()); // int endIndex = Math.min(i + batchSize, orderCodeList.size());
orderedGroups.add(orderCodeList.subList(i, endIndex)); // orderedGroups.add(orderCodeList.subList(i, endIndex));
} // }
for (int i = 0; i < orderedGroups.size(); i++) { // for (int i = 0; i < orderedGroups.size(); i++) {
List<String> set1 = orderedGroups.get(i); // List<String> set1 = orderedGroups.get(i);
List<TrunklineAdvanceEntity> entities = advanceService.findListByExistsAndOrderCodeSet(set1); // List<TrunklineAdvanceEntity> entities = advanceService.findListByExistsAndOrderCodeSet(set1);
detailEntities.addAll(entities); // detailEntities.addAll(entities);
} // }
//
Map<String,TrunklineAdvanceEntity> advanceEntityMap = new HashMap<>(); // Map<String,TrunklineAdvanceEntity> advanceEntityMap = new HashMap<>();
//
//把detailEntities转化成以orderCode和trainNumber为key的map // //把detailEntities转化成以orderCode和trainNumber为key的map
detailEntities.forEach(advanceEntity -> { // detailEntities.forEach(advanceEntity -> {
String orderCode = advanceEntity.getOrderCode(); // String orderCode = advanceEntity.getOrderCode();
String trainNumber = advanceEntity.getTrainNumber(); // String trainNumber = advanceEntity.getTrainNumber();
String key = orderCode + "&" + (StringUtil.isBlank(trainNumber)?"null":trainNumber); // String key = orderCode + "&" + (StringUtil.isBlank(trainNumber)?"null":trainNumber);
advanceEntityMap.put(key,advanceEntity); // advanceEntityMap.put(key,advanceEntity);
}); // });
List<TrunklineAdvanceEntity> list = new ArrayList<>(); List<TrunklineAdvanceEntity> list = new ArrayList<>();
importOrderNoPackageExcelDTOMap.keySet().forEach(key -> { // importOrderNoPackageExcelDTOMap.keySet().forEach(key -> {
ImportOrderNoPackageExcelDTO importOrderNoPackageExcelDTO = importOrderNoPackageExcelDTOMap.get(key); // ImportOrderNoPackageExcelDTO importOrderNoPackageExcelDTO = importOrderNoPackageExcelDTOMap.get(key);
TrunklineAdvanceEntity advanceEntity = advanceEntityMap.get(key); // TrunklineAdvanceEntity advanceEntity = advanceEntityMap.get(key);
if(Objects.isNull(advanceEntity)){ // if(Objects.isNull(advanceEntity)){
String orderCode = importOrderNoPackageExcelDTO.getOrderCode(); // String orderCode = importOrderNoPackageExcelDTO.getOrderCode();
advanceEntity = new TrunklineAdvanceVO(); // advanceEntity = new TrunklineAdvanceVO();
advanceEntity.setWarehouseId(warehouseId); // advanceEntity.setWarehouseId(warehouseId);
advanceEntity.setWarehouseName(warehouseName); // advanceEntity.setWarehouseName(warehouseName);
advanceEntity.setServiceNum(importOrderNoPackageExcelDTO.getServiceNum()); // advanceEntity.setServiceNum(importOrderNoPackageExcelDTO.getServiceNum());
advanceEntity.setOrderCode(orderCode); // advanceEntity.setOrderCode(orderCode);
advanceEntity.setArea(importOrderNoPackageExcelDTO.getArea()); // advanceEntity.setArea(importOrderNoPackageExcelDTO.getArea());
advanceEntity.setBrand(importOrderNoPackageExcelDTO.getBrand()); // advanceEntity.setBrand(importOrderNoPackageExcelDTO.getBrand());
advanceEntity.setTotalNum(Integer.parseInt(importOrderNoPackageExcelDTO.getCount())); // advanceEntity.setTotalNum(Integer.parseInt(importOrderNoPackageExcelDTO.getCount()));
advanceEntity.setPackName(importOrderNoPackageExcelDTO.getFirsts()); // advanceEntity.setPackName(importOrderNoPackageExcelDTO.getFirsts());
advanceEntity.setDealerCode(importOrderNoPackageExcelDTO.getDealerCode()); // advanceEntity.setDealerCode(importOrderNoPackageExcelDTO.getDealerCode());
advanceEntity.setDealerName(importOrderNoPackageExcelDTO.getDealerName()); // advanceEntity.setDealerName(importOrderNoPackageExcelDTO.getDealerName());
advanceEntity.setCustomerName(importOrderNoPackageExcelDTO.getCustomerName()); // advanceEntity.setCustomerName(importOrderNoPackageExcelDTO.getCustomerName());
advanceEntity.setCustomerPhone(importOrderNoPackageExcelDTO.getCustomerPhone()); // advanceEntity.setCustomerPhone(importOrderNoPackageExcelDTO.getCustomerPhone());
advanceEntity.setCustomerAddress(importOrderNoPackageExcelDTO.getCustomerAddress()); // advanceEntity.setCustomerAddress(importOrderNoPackageExcelDTO.getCustomerAddress());
advanceEntity.setConsigneePerson(importOrderNoPackageExcelDTO.getConsigneePerson()); // advanceEntity.setConsigneePerson(importOrderNoPackageExcelDTO.getConsigneePerson());
advanceEntity.setConsigneeMobile(importOrderNoPackageExcelDTO.getConsigneeMobile()); // advanceEntity.setConsigneeMobile(importOrderNoPackageExcelDTO.getConsigneeMobile());
advanceEntity.setConsigneeAddress(importOrderNoPackageExcelDTO.getConsigneeAddress()); // advanceEntity.setConsigneeAddress(importOrderNoPackageExcelDTO.getConsigneeAddress());
advanceEntity.setSenderName(importOrderNoPackageExcelDTO.getShipperPerson()); // advanceEntity.setSenderName(importOrderNoPackageExcelDTO.getShipperPerson());
advanceEntity.setSenderPhone(importOrderNoPackageExcelDTO.getShipperMobile()); // advanceEntity.setSenderPhone(importOrderNoPackageExcelDTO.getShipperMobile());
advanceEntity.setSenderAddress(importOrderNoPackageExcelDTO.getShipperAddress()); // advanceEntity.setSenderAddress(importOrderNoPackageExcelDTO.getShipperAddress());
advanceEntity.setTrainNumber(importOrderNoPackageExcelDTO.getTrainNumber()); // advanceEntity.setTrainNumber(importOrderNoPackageExcelDTO.getTrainNumber());
advanceEntity.setSystemType("线上"); // advanceEntity.setSystemType("线上");
advanceEntity.setMatingType("1"); // advanceEntity.setMatingType("1");
advanceEntity.setWaybillStatus("0"); // advanceEntity.setWaybillStatus("0");
advanceEntity.setFreezeStatus("0"); // advanceEntity.setFreezeStatus("0");
advanceEntity.setLegacyStatus("0"); // advanceEntity.setLegacyStatus("0");
if (orderCode.contains("遗")) { // if (orderCode.contains("遗")) {
advanceEntity.setLegacyStatus("1"); // advanceEntity.setLegacyStatus("1");
} // }
advanceEntity.setHasPackage(0); // advanceEntity.setHasPackage(0);
advanceEntity.setCreateUserName(AuthUtil.getNickName()); // advanceEntity.setCreateUserName(AuthUtil.getNickName());
list.add(advanceEntity); // list.add(advanceEntity);
// }
// });
importOrderNoPackageExcelDTOS.forEach(importOrderNoPackageExcelDTO -> {
String orderCode = importOrderNoPackageExcelDTO.getOrderCode();
TrunklineAdvanceEntity advanceEntity = new TrunklineAdvanceEntity();
advanceEntity.setWarehouseId(warehouseId);
advanceEntity.setWarehouseName(warehouseName);
advanceEntity.setServiceNum(importOrderNoPackageExcelDTO.getServiceNum());
advanceEntity.setOrderCode(orderCode);
advanceEntity.setArea(importOrderNoPackageExcelDTO.getArea());
advanceEntity.setBrand(importOrderNoPackageExcelDTO.getBrand());
advanceEntity.setTotalNum(Integer.parseInt(importOrderNoPackageExcelDTO.getCount()));
advanceEntity.setPackName(importOrderNoPackageExcelDTO.getFirsts());
advanceEntity.setDealerCode(importOrderNoPackageExcelDTO.getDealerCode());
advanceEntity.setDealerName(importOrderNoPackageExcelDTO.getDealerName());
advanceEntity.setCustomerName(importOrderNoPackageExcelDTO.getCustomerName());
advanceEntity.setCustomerPhone(importOrderNoPackageExcelDTO.getCustomerPhone());
advanceEntity.setCustomerAddress(importOrderNoPackageExcelDTO.getCustomerAddress());
advanceEntity.setConsigneePerson(importOrderNoPackageExcelDTO.getConsigneePerson());
advanceEntity.setConsigneeMobile(importOrderNoPackageExcelDTO.getConsigneeMobile());
advanceEntity.setConsigneeAddress(importOrderNoPackageExcelDTO.getConsigneeAddress());
advanceEntity.setSenderName(importOrderNoPackageExcelDTO.getShipperPerson());
advanceEntity.setSenderPhone(importOrderNoPackageExcelDTO.getShipperMobile());
advanceEntity.setSenderAddress(importOrderNoPackageExcelDTO.getShipperAddress());
advanceEntity.setTrainNumber(importOrderNoPackageExcelDTO.getTrainNumber());
advanceEntity.setSystemType("线上");
advanceEntity.setMatingType("1");
advanceEntity.setWaybillStatus("0");
advanceEntity.setFreezeStatus("0");
advanceEntity.setLegacyStatus("0");
if (orderCode.contains("遗")) {
advanceEntity.setLegacyStatus("1");
} }
advanceEntity.setHasPackage(0);
advanceEntity.setCreateUserName(AuthUtil.getNickName());
list.add(advanceEntity);
}); });
advanceService.saveBatch(list); advanceService.saveBatch(list);
int successNum = list.size(); int successNum = list.size();
return R.success("成功导入"+successNum+"件"); return R.success("成功导入"+successNum+"");
} }
@Override @Override

45
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java

@ -1,6 +1,6 @@
package com.logpm.trunkline.service.impl; package com.logpm.trunkline.service.impl;
import com.alibaba.fastjson.JSONObject; import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
@ -17,6 +17,8 @@ import com.logpm.trunkline.mapper.TrunklineAdvanceDetailMapper;
import com.logpm.trunkline.mapper.TrunklineAdvanceMapper; import com.logpm.trunkline.mapper.TrunklineAdvanceMapper;
import com.logpm.trunkline.service.ITrunklineAdvanceDetailService; import com.logpm.trunkline.service.ITrunklineAdvanceDetailService;
import com.logpm.trunkline.vo.*; import com.logpm.trunkline.vo.*;
import com.logpm.warehouse.entity.WarehouseWaybillEntity;
import com.logpm.warehouse.feign.IWarehouseWaybillClient;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.printTemplate.PrintTemplateStatusConstant; import org.springblade.common.constant.printTemplate.PrintTemplateStatusConstant;
@ -40,6 +42,8 @@ public class TrunklineAdvanceDetailServiceImpl extends BaseServiceImpl<Trunkline
private final TrunklineAdvanceMapper advanceMapper; private final TrunklineAdvanceMapper advanceMapper;
private final IWarehouseWaybillClient warehouseWaybillClient;
@Override @Override
public void updatePackageStatusById(String packageStatus, Long advanceDetailId,Long warehouseId,String warehouseName) { public void updatePackageStatusById(String packageStatus, Long advanceDetailId,Long warehouseId,String warehouseName) {
baseMapper.updatePackageStatusById(packageStatus,advanceDetailId,warehouseId,warehouseName); baseMapper.updatePackageStatusById(packageStatus,advanceDetailId,warehouseId,warehouseName);
@ -138,27 +142,42 @@ public class TrunklineAdvanceDetailServiceImpl extends BaseServiceImpl<Trunkline
if(!Objects.isNull(advanceDetailEntity)){ if(!Objects.isNull(advanceDetailEntity)){
Long advanceId = advanceDetailEntity.getAdvanceId(); Long advanceId = advanceDetailEntity.getAdvanceId();
TrunklineAdvanceEntity advanceEntity = advanceMapper.selectById(advanceId); TrunklineAdvanceEntity advanceEntity = advanceMapper.selectById(advanceId);
if(ObjectUtil.isEmpty(advanceEntity.getSenderName()) || ("/").equals(advanceEntity.getSenderName())){
vo.setShipperName("无"); Long waybillId = advanceDetailEntity.getWaybillId();
} String orderCode = advanceDetailEntity.getOrderCode();
if(ObjectUtil.isEmpty(advanceEntity.getSenderAddress())){ String firstPackName = advanceDetailEntity.getFirstPackName();
vo.setShipperAddress(" "); String secondPackName = advanceDetailEntity.getSecondPackName();
String thirdPackName = advanceDetailEntity.getThirdPackName();
if(!Objects.isNull(waybillId)){
WarehouseWaybillEntity waybillEntity = warehouseWaybillClient.findByWaybillId(waybillId);
if(!Objects.isNull(waybillEntity)){
vo.setShipperName(waybillEntity.getShipper());
vo.setShipperAddress(waybillEntity.getShipperAddress());
vo.setMallName(waybillEntity.getConsignee());
vo.setWaybillsNum(waybillEntity.getTotalCount()+"");
vo.setObjective(waybillEntity.getDestinationWarehouseName());
vo.setDepartureStation(waybillEntity.getDepartureWarehouseName());
vo.setWaybillNumber(waybillEntity.getWaybillNo());
}
} }
vo.setOrderCode(advanceDetailEntity.getOrderCode());
vo.setMallName(advanceEntity.getDealerName()); vo.setOrderCode(orderCode);
vo.setCustomerName(advanceEntity.getCustomerName()); vo.setCustomerName(advanceEntity.getCustomerName());
vo.setCustomerTelephone(advanceEntity.getCustomerPhone()); vo.setCustomerTelephone(advanceEntity.getCustomerPhone());
vo.setCustomerAddress(advanceEntity.getCustomerAddress());
vo.setMaterialName(advanceDetailEntity.getMaterialName()); vo.setMaterialName(advanceDetailEntity.getMaterialName());
vo.setCategory(advanceDetailEntity.getFirstPackName()); vo.setCategory(firstPackName+"/"+secondPackName+"/"+thirdPackName);
vo.setWaybillNumber(StringUtil.isBlank(advanceDetailEntity.getWaybillNo())?"":advanceDetailEntity.getWaybillNo());
vo.setObjective(advanceEntity.getWarehouseName());
vo.setDealerCode(advanceEntity.getDealerCode()); vo.setDealerCode(advanceEntity.getDealerCode());
vo.setQrCode(orderPackageCode);
vo.setDealerName(advanceEntity.getDealerName()); vo.setDealerName(advanceEntity.getDealerName());
vo.setQrCode(orderPackageCode);
vo.setTotalNumber(advanceEntity.getTotalNum()+""); vo.setTotalNumber(advanceEntity.getTotalNum()+"");
} }
Map<String, Object> map = JSONObject.parseObject(JSONObject.toJSONString(vo), Map.class); //把vo转成Map<String, Object>
Map<String, Object> map = BeanUtil.beanToMap(vo);
if(!Objects.isNull(advanceDetailEntity)){ if(!Objects.isNull(advanceDetailEntity)){
map.put("id",advanceDetailEntity.getId()); map.put("id",advanceDetailEntity.getId());
} }

4
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceServiceImpl.java

@ -403,7 +403,7 @@ public class TrunklineAdvanceServiceImpl extends BaseServiceImpl<TrunklineAdvanc
} }
@Override @Override
public List<String> incomingPackageBatch(Long advanceId, Long warehouseId, List<TrunklineAdvanceDetailEntity> detailList, Long userId, Long deptId, String tenantId) { public List<String> incomingPackageBatch(Long advanceId, Long warehouseId, List<TrunklineAdvanceDetailEntity> detailList, Long userId, Long deptId, String tenantId, WarehouseWaybillEntity waybillEntity) {
Date date = new Date(); Date date = new Date();
@ -457,7 +457,6 @@ public class TrunklineAdvanceServiceImpl extends BaseServiceImpl<TrunklineAdvanc
stockArticleEntity.setTypeService("1");//默认商配 stockArticleEntity.setTypeService("1");//默认商配
if(!StringUtil.isBlank(waybillNo)){ if(!StringUtil.isBlank(waybillNo)){
WarehouseWaybillEntity waybillEntity = warehouseWaybillClient.findByWaybillNo(waybillNo);
if(!Objects.isNull(waybillEntity)){ if(!Objects.isNull(waybillEntity)){
Long consigneeId = waybillEntity.getConsigneeId(); Long consigneeId = waybillEntity.getConsigneeId();
@ -566,7 +565,6 @@ public class TrunklineAdvanceServiceImpl extends BaseServiceImpl<TrunklineAdvanc
parcelList.setWarehouseId(warehouseId); parcelList.setWarehouseId(warehouseId);
String waybillNo = advanceEntity.getWaybillNo(); String waybillNo = advanceEntity.getWaybillNo();
if(StringUtil.isNotBlank(waybillNo)){ if(StringUtil.isNotBlank(waybillNo)){
WarehouseWaybillEntity waybillEntity = warehouseWaybillClient.findByWaybillNo(waybillNo);
if(!Objects.isNull(waybillEntity)){ if(!Objects.isNull(waybillEntity)){
Long departureWarehouseId = waybillEntity.getDepartureWarehouseId(); Long departureWarehouseId = waybillEntity.getDepartureWarehouseId();
Long destinationWarehouseId = waybillEntity.getDestinationWarehouseId(); Long destinationWarehouseId = waybillEntity.getDestinationWarehouseId();

2
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineBillladingPackageServiceImpl.java

@ -83,7 +83,7 @@ public class TrunklineBillladingPackageServiceImpl extends BaseServiceImpl<Trunk
billladingPackageEntity.setWarehouseName(warehouseEntity.getName()); billladingPackageEntity.setWarehouseName(warehouseEntity.getName());
billladingPackageEntity.setOrderPackageCode(orderPackageCode); billladingPackageEntity.setOrderPackageCode(orderPackageCode);
billladingPackageEntity.setBillladingId(billladingId); billladingPackageEntity.setBillladingId(billladingId);
billladingPackageEntity.setCreateUserName(AuthUtil.getUserName()); billladingPackageEntity.setCreateUserName(AuthUtil.getNickName());
billladingPackageEntity.setIncomingType(incomingType); billladingPackageEntity.setIncomingType(incomingType);
save(billladingPackageEntity); save(billladingPackageEntity);

11
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java

@ -1296,6 +1296,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
BigDecimal settlementValue = carsLoadDTO.getSettlementValue(); BigDecimal settlementValue = carsLoadDTO.getSettlementValue();
String driverType = carsLoadDTO.getDriverType(); String driverType = carsLoadDTO.getDriverType();
String outDriverPerson = carsLoadDTO.getOutDriverPerson(); String outDriverPerson = carsLoadDTO.getOutDriverPerson();
String loadingType = carsLoadDTO.getLoadingType();
List<TrunklineCarsLoadLineDTO> addCarsLoadLineList = carsLoadDTO.getAddCarsLoadLineList(); List<TrunklineCarsLoadLineDTO> addCarsLoadLineList = carsLoadDTO.getAddCarsLoadLineList();
List<TrunklineCarsLoadLineDTO> removeCarsLoadLineList = carsLoadDTO.getRemoveCarsLoadLineList(); List<TrunklineCarsLoadLineDTO> removeCarsLoadLineList = carsLoadDTO.getRemoveCarsLoadLineList();
@ -1337,6 +1338,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
carsLoadEntity.setSettlementValue(settlementValue); carsLoadEntity.setSettlementValue(settlementValue);
carsLoadEntity.setDriverType(driverType); carsLoadEntity.setDriverType(driverType);
carsLoadEntity.setOutDriverPerson(outDriverPerson); carsLoadEntity.setOutDriverPerson(outDriverPerson);
carsLoadEntity.setLoadingType(loadingType);
updateById(carsLoadEntity); updateById(carsLoadEntity);
for (TrunklineCarsLoadLineDTO carsLoadLineDTO : removeCarsLoadLineList) { for (TrunklineCarsLoadLineDTO carsLoadLineDTO : removeCarsLoadLineList) {
@ -3076,10 +3078,11 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
map.put("trayCode", trayCode); map.put("trayCode", trayCode);
map.put("warehouseId", warehouseId); map.put("warehouseId", warehouseId);
map.put("orderPackageCode", orderPackageCode); map.put("orderPackageCode", orderPackageCode);
boolean b = trayTypeClient.orderScanOrderPackageCode(map); R r = trayTypeClient.orderScanOrderPackageCodeReturnR(map);
if (!b) { int code = r.getCode();
log.warn("##########findNextNodeList: 打托失败 trayCode={} orderPackageCode={}", trayCode, orderPackageCode); if(code != 200){
return R.fail(405, "打托失败"); log.warn("##########findNextNodeList: 打托失败 trayCode={} orderPackageCode={} msg={}", trayCode, orderPackageCode,r.getMsg());
return R.fail(code, r.getMsg());
} }
DistributionParcelListEntity parcelListEntity = distributionParcelListClient.findByPacketBarCodeAndWarehouseId(orderPackageCode, warehouseId); DistributionParcelListEntity parcelListEntity = distributionParcelListClient.findByPacketBarCodeAndWarehouseId(orderPackageCode, warehouseId);
orders = parcelListEntity.getOrderCode(); orders = parcelListEntity.getOrderCode();

5
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/CustomMessageConverter.java

@ -73,7 +73,10 @@ public class CustomMessageConverter extends AllowedListDeserializingMessageConve
Map<String, Object> headers = properties.getHeaders(); Map<String, Object> headers = properties.getHeaders();
HttpHeaders httpHeaders = new HttpHeaders(); HttpHeaders httpHeaders = new HttpHeaders();
for (Map.Entry<String, Object> entry : headers.entrySet()) { for (Map.Entry<String, Object> entry : headers.entrySet()) {
if (StrUtil.equals("Blade-Auth", entry.getKey()) || StrUtil.equals("Authorization", entry.getKey())) { if (StrUtil.equals("Blade-Auth", entry.getKey())
|| StrUtil.equals("Authorization", entry.getKey())
|| StrUtil.equals("blade-auth", entry.getKey())
|| StrUtil.equals("authorization", entry.getKey())) {
List value = (List) entry.getValue(); List value = (List) entry.getValue();
for (Object o : value) { for (Object o : value) {
httpHeaders.add(entry.getKey(), String.valueOf(o)); httpHeaders.add(entry.getKey(), String.valueOf(o));

93
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.xml

@ -143,140 +143,141 @@
<select id="pageList" resultType="com.logpm.warehouse.vo.WarehouseWaybillVO"> <select id="pageList" resultType="com.logpm.warehouse.vo.WarehouseWaybillVO">
select * select lww.*
from logpm_warehouse_waybill from logpm_warehouse_waybill lww
where is_deleted = 0 left join (select ltwt.waybill_id,GROUP_CONCAT(DISTINCT ltwt.warehouse_id) warehouse_ids from logpm_trunkline_waybill_track ltwt group by ltwt.waybill_id) t on t.waybill_id = lww.id
where lww.is_deleted = 0
<if test="param.waybillNoList != null"> <if test="param.waybillNoList != null">
and waybill_no not in and lww.waybill_no not in
<foreach collection="param.waybillNoList" item="item" open="(" separator="," close=")"> <foreach collection="param.waybillNoList" item="item" open="(" separator="," close=")">
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="param.warehouseId != null"> <if test="param.warehouseId != null">
and (departure_warehouse_id = #{param.warehouseId} or destination_warehouse_id = #{param.warehouseId}) and Locate(#{param.warehouseId},t.warehouse_ids) > 0
</if> </if>
<if test="param.waybillNo != null and param.waybillNo != ''"> <if test="param.waybillNo != null and param.waybillNo != ''">
and Locate(#{param.waybillNo},waybill_no) > 0 and Locate(#{param.waybillNo},lww.waybill_no) > 0
</if> </if>
<if test="param.orderNo != null and param.orderNo != ''"> <if test="param.orderNo != null and param.orderNo != ''">
and Locate(#{param.orderNo},order_no) > 0 and Locate(#{param.orderNo},lww.order_no) > 0
</if> </if>
<if test="param.destinationWarehouseName != null and param.destinationWarehouseName != ''"> <if test="param.destinationWarehouseName != null and param.destinationWarehouseName != ''">
and Locate(#{param.destinationWarehouseName},destination_warehouse_name) > 0 and Locate(#{param.destinationWarehouseName},lww.destination_warehouse_name) > 0
</if> </if>
<if test="param.departureWarehouseName != null and param.departureWarehouseName != ''"> <if test="param.departureWarehouseName != null and param.departureWarehouseName != ''">
and Locate(#{param.departureWarehouseName},departure_warehouse_name) > 0 and Locate(#{param.departureWarehouseName},lww.departure_warehouse_name) > 0
</if> </if>
<if test="param.customerTrain != null and param.customerTrain != ''"> <if test="param.customerTrain != null and param.customerTrain != ''">
and Locate(#{param.customerTrain},customer_train) > 0 and Locate(#{param.customerTrain},lww.customer_train) > 0
</if> </if>
<if test="param.brand != null and param.brand != ''"> <if test="param.brand != null and param.brand != ''">
and Locate(#{param.brand},brand) > 0 and Locate(#{param.brand},lww.brand) > 0
</if> </if>
<if test="param.shipper != null and param.shipper != ''"> <if test="param.shipper != null and param.shipper != ''">
and Locate(#{param.shipper},shipper) > 0 and Locate(#{param.shipper},lww.shipper) > 0
</if> </if>
<if test="param.shipperName != null and param.shipperName != ''"> <if test="param.shipperName != null and param.shipperName != ''">
and Locate(#{param.shipperName},shipper_name) > 0 and Locate(#{param.shipperName},lww.shipper_name) > 0
</if> </if>
<if test="param.shipperMobile != null and param.shipperMobile != ''"> <if test="param.shipperMobile != null and param.shipperMobile != ''">
and Locate(#{param.shipperMobile},shipper_mobile) > 0 and Locate(#{param.shipperMobile},lww.shipper_mobile) > 0
</if> </if>
<if test="param.consignee != null and param.consignee != ''"> <if test="param.consignee != null and param.consignee != ''">
and Locate(#{param.consignee},consignee) > 0 and Locate(#{param.consignee},lww.consignee) > 0
</if> </if>
<if test="param.consigneeName != null and param.consigneeName != ''"> <if test="param.consigneeName != null and param.consigneeName != ''">
and Locate(#{param.consigneeName},consignee_name) > 0 and Locate(#{param.consigneeName},lww.consignee_name) > 0
</if> </if>
<if test="param.consigneeMobile != null and param.consigneeMobile != ''"> <if test="param.consigneeMobile != null and param.consigneeMobile != ''">
and Locate(#{param.consigneeMobile},consignee_mobile) > 0 and Locate(#{param.consigneeMobile},lww.consignee_mobile) > 0
</if> </if>
<if test="param.destination != null and param.destination != ''"> <if test="param.destination != null and param.destination != ''">
and Locate(#{param.destination},destination) > 0 and Locate(#{param.destination},lww.destination) > 0
</if> </if>
<if test="param.departure != null and param.departure != ''"> <if test="param.departure != null and param.departure != ''">
and Locate(#{param.departure},departure) > 0 and Locate(#{param.departure},lww.departure) > 0
</if> </if>
<if test="param.payType != null"> <if test="param.payType != null">
and pay_type = #{param.payType} and lww.pay_type = #{param.payType}
</if> </if>
<if test="param.payWay != null"> <if test="param.payWay != null">
and pay_way = #{param.payWay} and lww.pay_way = #{param.payWay}
</if> </if>
<if test="param.deliveryWay != null"> <if test="param.deliveryWay != null">
and delivery_way = #{param.deliveryWay} and lww.delivery_way = #{param.deliveryWay}
</if> </if>
<if test="param.urgency != null"> <if test="param.urgency != null">
and urgency = #{param.urgency} and lww.urgency = #{param.urgency}
</if> </if>
<if test="param.transportType != null"> <if test="param.transportType != null">
and transport_type = #{param.transportType} and lww.transport_type = #{param.transportType}
</if> </if>
<if test="param.transportType != null"> <if test="param.transportType != null">
and transport_type = #{param.transportType} and lww.transport_type = #{param.transportType}
</if> </if>
<if test="param.waybillStatus != null"> <if test="param.waybillStatus != null">
and waybill_status = #{param.waybillStatus} and lww.waybill_status = #{param.waybillStatus}
</if> </if>
<if test="param.pickupCompleteOrNot != null"> <if test="param.pickupCompleteOrNot != null">
and pickup_complete_or_not = #{param.pickupCompleteOrNot} and lww.pickup_complete_or_not = #{param.pickupCompleteOrNot}
</if> </if>
<if test="param.trunklineCompleteOrNot != null"> <if test="param.trunklineCompleteOrNot != null">
and trunkline_complete_or_not = #{param.trunklineCompleteOrNot} and lww.trunkline_complete_or_not = #{param.trunklineCompleteOrNot}
</if> </if>
<if test="param.documentMakingTimeStartDate != null"> <if test="param.documentMakingTimeStartDate != null">
and document_making_time &gt;= #{param.documentMakingTimeStartDate} and lww.document_making_time &gt;= #{param.documentMakingTimeStartDate}
</if> </if>
<if test="param.documentMakingTimeEndDate != null"> <if test="param.documentMakingTimeEndDate != null">
and document_making_time &lt;= #{param.documentMakingTimeEndDate} and lww.document_making_time &lt;= #{param.documentMakingTimeEndDate}
</if> </if>
<if test="param.createTimeStartDate != null"> <if test="param.createTimeStartDate != null">
and create_time &gt;= #{param.createTimeStartDate} and lww.create_time &gt;= #{param.createTimeStartDate}
</if> </if>
<if test="param.createTimeEndDate != null"> <if test="param.createTimeEndDate != null">
and create_time &lt;= #{param.createTimeEndDate} and lww.create_time &lt;= #{param.createTimeEndDate}
</if> </if>
<if test="param.agent != null and param.agent != ''"> <if test="param.agent != null and param.agent != ''">
and Locate(#{param.agent},agent) > 0 and lww.Locate(#{param.agent},agent) > 0
</if> </if>
<if test="param.goodsName != null and param.goodsName != ''"> <if test="param.goodsName != null and param.goodsName != ''">
and Locate(#{param.goodsName},goods_name) > 0 and lww.Locate(#{param.goodsName},goods_name) > 0
</if> </if>
<if test="param.freezeStatus != null"> <if test="param.freezeStatus != null">
and freeze_status = #{param.freezeStatus} and lww.freeze_status = #{param.freezeStatus}
</if> </if>
<if test="param.abolishStatus != null"> <if test="param.abolishStatus != null">
and abolish_status = #{param.abolishStatus} and lww.abolish_status = #{param.abolishStatus}
</if> </if>
<if test="param.remark != null and param.reamrk != ''"> <if test="param.remark != null and param.reamrk != ''">
and Locate(#{param.remark},remark) > 0 and Locate(#{param.remark},lww.remark) > 0
</if> </if>
<if test="param.consigneeAddress != null and param.consigneeAddress != ''"> <if test="param.consigneeAddress != null and param.consigneeAddress != ''">
and Locate(#{param.consigneeAddress},consignee_address) > 0 and Locate(#{param.consigneeAddress},lww.consignee_address) > 0
</if> </if>
<if test="param.totalCount != null"> <if test="param.totalCount != null">
and total_count = #{param.totalCount} and lww.total_count = #{param.totalCount}
</if> </if>
<if test="param.totalWeight != null"> <if test="param.totalWeight != null">
and total_weight = #{param.totalWeight} and lww.total_weight = #{param.totalWeight}
</if> </if>
<if test="param.totalVolume != null"> <if test="param.totalVolume != null">
and total_volume = #{param.totalVolume} and lww.total_volume = #{param.totalVolume}
</if> </if>
<if test="param.abolishTimeStartDate != null"> <if test="param.abolishTimeStartDate != null">
and abolish_time &gt;= #{param.abolishTimeStartDate} and lww.abolish_time &gt;= #{param.abolishTimeStartDate}
</if> </if>
<if test="param.abolishTimeEndDate != null"> <if test="param.abolishTimeEndDate != null">
and abolish_time &lt;= #{param.abolishTimeEndDate} and lww.abolish_time &lt;= #{param.abolishTimeEndDate}
</if> </if>
<if test="param.freezeTimeStartDate != null"> <if test="param.freezeTimeStartDate != null">
and freeze_time &gt;= #{param.freezeTimeStartDate} and lww.freeze_time &gt;= #{param.freezeTimeStartDate}
</if> </if>
<if test="param.freezeTimeEndDate != null"> <if test="param.freezeTimeEndDate != null">
and freeze_time &lt;= #{param.freezeTimeEndDate} and lww.freeze_time &lt;= #{param.freezeTimeEndDate}
</if> </if>
order by create_time desc order by lww.create_time desc
</select> </select>
<select id="findMoreWaybillNo" resultType="String"> <select id="findMoreWaybillNo" resultType="String">

Loading…
Cancel
Save