|
|
@@ -499,27 +499,34 @@ public class OrderServiceImpl implements OrderService {
|
|
|
switch (type) {
|
|
|
case 1:
|
|
|
ids.add(printRequest.getTransportOrderId());
|
|
|
- createPrintData(printApiRequest, ids, null, null, null, null, null);
|
|
|
+ createPrintData(printApiRequest, ids, null, null, null, null, null,
|
|
|
+ enterprise);
|
|
|
break;
|
|
|
case 2:
|
|
|
Integer subIndex = printRequest.getSubIndex();
|
|
|
- createPrintData(printApiRequest, null, ids, null, null, null, null);
|
|
|
+ ids.add(generateSubOrderNumber(printRequest.getTransportOrderId(), subIndex, 1));
|
|
|
+ createPrintData(printApiRequest, null, ids, null, null, null, null,
|
|
|
+ enterprise);
|
|
|
break;
|
|
|
case 3:
|
|
|
ids.add("HD" + printRequest.getTransportOrderId());
|
|
|
- createPrintData(printApiRequest, null, null, ids, null, null, null);
|
|
|
+ createPrintData(printApiRequest, null, null, ids, null, null, null,
|
|
|
+ enterprise);
|
|
|
break;
|
|
|
case 4:
|
|
|
ids.add("HD" + printRequest.getTransportOrderId());
|
|
|
- createPrintData(printApiRequest, null, null, null, ids, null, null);
|
|
|
+ createPrintData(printApiRequest, null, null, null, ids, null, null,
|
|
|
+ enterprise);
|
|
|
break;
|
|
|
case 5:
|
|
|
ids.add(printRequest.getTransportOrderId());
|
|
|
- createPrintData(printApiRequest, null, null, null, null, ids, null);
|
|
|
+ createPrintData(printApiRequest, null, null, null, null, ids, null,
|
|
|
+ enterprise);
|
|
|
break;
|
|
|
case 6:
|
|
|
ids.add(printRequest.getTransportOrderId());
|
|
|
- createPrintData(printApiRequest, null, null, null, null, null, ids);
|
|
|
+ createPrintData(printApiRequest, null, null, null, null, null, ids,
|
|
|
+ enterprise);
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
@@ -580,7 +587,8 @@ public class OrderServiceImpl implements OrderService {
|
|
|
senderReceiptOrderIdList,
|
|
|
receiverReceiptOrderIdList,
|
|
|
podSignedOrderIdList,
|
|
|
- retentionCopyOrderIdList);
|
|
|
+ retentionCopyOrderIdList,
|
|
|
+ enterprise);
|
|
|
|
|
|
PrintApiResponse printApiResponse;
|
|
|
try {
|
|
|
@@ -625,12 +633,31 @@ public class OrderServiceImpl implements OrderService {
|
|
|
return code;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 不同的单据,付费方式,有些需要隐藏金额(客户金额)
|
|
|
+ * @param baseWaybill
|
|
|
+ * @param printType
|
|
|
+ */
|
|
|
+ private void needHideChargeFee(BaseWaybill baseWaybill, String printType) {
|
|
|
+ String paymentMethod = baseWaybill.getPaymentMethod();
|
|
|
+
|
|
|
+ if (ObjectUtil.isNotEmpty(paymentMethod) && ObjectUtil.isNotEmpty(printType)) {
|
|
|
+ if (printType.equals("子单") || printType.equals("回单")
|
|
|
+ || (printType.equals("签收联") && !paymentMethod.equals(OrderPaymentMethod.END_PAY.getValue()))
|
|
|
+ || (printType.equals("留存联") && !paymentMethod.equals(OrderPaymentMethod.END_PAY.getValue()))) {
|
|
|
+ baseWaybill.setChargeFee(BigDecimal.ZERO.doubleValue());
|
|
|
+ baseWaybill.setChargeFeePrint("**");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private void createPrintData(PrintApiRequest printApiRequest, List<String> transportOrderIds,
|
|
|
List<String> subTransportOrderIds,
|
|
|
List<String> senderReceiptOrderIds,
|
|
|
List<String> receiverReceiptOrderIds,
|
|
|
List<String> podSignedOrderIds,
|
|
|
- List<String> retentionCopyOrderIds) {
|
|
|
+ List<String> retentionCopyOrderIds,
|
|
|
+ EnterpriseWithSecretDTO enterprise) {
|
|
|
// 1. 获取需要查询的运单号,查询运单详情
|
|
|
Set<String> transportOrderIdSet = new HashSet<>();
|
|
|
if (ObjectUtil.isNotNull(transportOrderIds) && !transportOrderIds.isEmpty()) {
|
|
|
@@ -677,6 +704,21 @@ public class OrderServiceImpl implements OrderService {
|
|
|
transportOrderDTO.setPage(1);
|
|
|
transportOrderDTO.setPageSize(1000);
|
|
|
transportOrderDTO.setTransportOrderIds(new ArrayList<>(transportOrderIdSet));
|
|
|
+
|
|
|
+ // 有些订单是没有打印权限的
|
|
|
+ List<EnterpriseOrderDTO> enterpriseOrderDTOS = enterpriseOrderFeign.getByTransportOrderIds(new ArrayList<>(transportOrderIdSet), enterprise.getId().toString());
|
|
|
+
|
|
|
+ List<String> existTransportOrderIds = enterpriseOrderDTOS.stream().map(EnterpriseOrderDTO::getTransportOrderId).collect(Collectors.toList());
|
|
|
+
|
|
|
+ // 获取在transportOrderIdSet 中但不在existTransportOrderIds中的运单号
|
|
|
+ List<String> missingTransportOrderIds = transportOrderIdSet.stream()
|
|
|
+ .filter(id -> !existTransportOrderIds.contains(id))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ if (ObjectUtil.isNotEmpty(missingTransportOrderIds) && !missingTransportOrderIds.isEmpty()) {
|
|
|
+ throw new SLWebException("下列运单号无打印权限:" + missingTransportOrderIds);
|
|
|
+ }
|
|
|
+
|
|
|
PageResponse<TransportOrderDTO> dtoPageResponse = transportOrderFeign.findByPageWithSubTransportOrderList(transportOrderDTO);
|
|
|
|
|
|
List<BaseWaybill> baseWaybills = batchParseTransportOrderDTO2Vo(dtoPageResponse.getItems());
|
|
|
@@ -692,7 +734,12 @@ public class OrderServiceImpl implements OrderService {
|
|
|
if (ObjectUtil.isNotEmpty(transportOrderIds)) {
|
|
|
List<BaseWaybill> masterWaybills = new ArrayList<>(transportOrderIds.size());
|
|
|
for (String transportOrderId : transportOrderIds) {
|
|
|
- masterWaybills.add(baseWaybillMap.get(transportOrderId));
|
|
|
+ BaseWaybill baseWaybill = baseWaybillMap.get(transportOrderId);
|
|
|
+ BaseWaybill newBaseWaybill = BeanUtil.copyProperties(baseWaybill, BaseWaybill.class);
|
|
|
+
|
|
|
+ needHideChargeFee(newBaseWaybill, "主单");
|
|
|
+
|
|
|
+ masterWaybills.add(baseWaybill);
|
|
|
}
|
|
|
printApiRequest.setMasterWaybillList(masterWaybills);
|
|
|
}
|
|
|
@@ -708,7 +755,11 @@ public class OrderServiceImpl implements OrderService {
|
|
|
SubTransportOrderVo subTransportOrderVo = baseWaybill.getSubTransportOrderMap().get(subTransportOrderId);
|
|
|
houseWaybill.setSubIndex(subTransportOrderVo.getIndex());
|
|
|
houseWaybill.setTemperatureRegion(subTransportOrderVo.getTemperatureRegionText());
|
|
|
- houseWaybillList.add(houseWaybill);
|
|
|
+
|
|
|
+ BaseWaybill newBaseWaybill = BeanUtil.copyProperties(houseWaybill, BaseWaybill.class);
|
|
|
+ needHideChargeFee(newBaseWaybill, "子单");
|
|
|
+
|
|
|
+ houseWaybillList.add(newBaseWaybill);
|
|
|
}
|
|
|
printApiRequest.setHouseWaybillList(houseWaybillList);
|
|
|
}
|
|
|
@@ -718,7 +769,11 @@ public class OrderServiceImpl implements OrderService {
|
|
|
for (String senderReceiptOrderId : senderReceiptOrderIds) {
|
|
|
String transportOrderId = senderReceiptOrderId.replace("HD", "");
|
|
|
BaseWaybill baseWaybill = baseWaybillMap.get(transportOrderId);
|
|
|
- senderReceiptList.add(baseWaybill);
|
|
|
+
|
|
|
+ BaseWaybill newBaseWaybill = BeanUtil.copyProperties(baseWaybill, BaseWaybill.class);
|
|
|
+ needHideChargeFee(newBaseWaybill, "回单");
|
|
|
+
|
|
|
+ senderReceiptList.add(newBaseWaybill);
|
|
|
}
|
|
|
printApiRequest.setSenderReceiptList(senderReceiptList);
|
|
|
}
|
|
|
@@ -728,7 +783,11 @@ public class OrderServiceImpl implements OrderService {
|
|
|
for (String receiverReceiptOrderId : receiverReceiptOrderIds) {
|
|
|
String transportOrderId = receiverReceiptOrderId.replace("HD", "");
|
|
|
BaseWaybill baseWaybill = baseWaybillMap.get(transportOrderId);
|
|
|
- receiverReceiptList.add(baseWaybill);
|
|
|
+
|
|
|
+ BaseWaybill newBaseWaybill = BeanUtil.copyProperties(baseWaybill, BaseWaybill.class);
|
|
|
+ needHideChargeFee(newBaseWaybill, "回单");
|
|
|
+
|
|
|
+ receiverReceiptList.add(newBaseWaybill);
|
|
|
}
|
|
|
printApiRequest.setReceiverReceiptList(receiverReceiptList);
|
|
|
}
|
|
|
@@ -738,7 +797,11 @@ public class OrderServiceImpl implements OrderService {
|
|
|
for (String podSignedOrderId : podSignedOrderIds) {
|
|
|
String transportOrderId = podSignedOrderId;
|
|
|
BaseWaybill baseWaybill = baseWaybillMap.get(transportOrderId);
|
|
|
- podSignedList.add(baseWaybill);
|
|
|
+
|
|
|
+ BaseWaybill newBaseWaybill = BeanUtil.copyProperties(baseWaybill, BaseWaybill.class);
|
|
|
+ needHideChargeFee(newBaseWaybill, "签收联");
|
|
|
+
|
|
|
+ podSignedList.add(newBaseWaybill);
|
|
|
}
|
|
|
printApiRequest.setPodSignedList(podSignedList);
|
|
|
}
|
|
|
@@ -748,7 +811,11 @@ public class OrderServiceImpl implements OrderService {
|
|
|
for (String retentionCopyOrderId : retentionCopyOrderIds) {
|
|
|
String transportOrderId = retentionCopyOrderId;
|
|
|
BaseWaybill baseWaybill = baseWaybillMap.get(transportOrderId);
|
|
|
- retentionCopyList.add(baseWaybill);
|
|
|
+
|
|
|
+ BaseWaybill newBaseWaybill = BeanUtil.copyProperties(baseWaybill, BaseWaybill.class);
|
|
|
+ needHideChargeFee(newBaseWaybill, "留存联");
|
|
|
+
|
|
|
+ retentionCopyList.add(newBaseWaybill);
|
|
|
}
|
|
|
printApiRequest.setRetentionCopyList(retentionCopyList);
|
|
|
}
|
|
|
@@ -861,13 +928,15 @@ public class OrderServiceImpl implements OrderService {
|
|
|
if (orderDTO.getIsInsure().equals(OrderIsInsureEnum.VALUE_DECLARED.getCode())) {
|
|
|
vo.setDeclareValue(orderDTO.getDeclareValue().doubleValue());
|
|
|
}
|
|
|
- if (orderDTO.getPaymentMethod().equals(OrderPaymentMethod.END_PAY.getCode())) {
|
|
|
- vo.setChargeFee(orderDTO.getChargeFee().doubleValue());
|
|
|
- vo.setChargeFeePrint(orderDTO.getChargeFee().toString() + "元");
|
|
|
- } else {
|
|
|
- vo.setChargeFee(new Double(0));
|
|
|
- vo.setChargeFeePrint("**");
|
|
|
- }
|
|
|
+ vo.setChargeFee(orderDTO.getChargeFee().doubleValue());
|
|
|
+ vo.setChargeFeePrint(orderDTO.getChargeFee().toString() + "元");
|
|
|
+// if (orderDTO.getPaymentMethod().equals(OrderPaymentMethod.END_PAY.getCode())) {
|
|
|
+// vo.setChargeFee(orderDTO.getChargeFee().doubleValue());
|
|
|
+// vo.setChargeFeePrint(orderDTO.getChargeFee().toString() + "元");
|
|
|
+// } else {
|
|
|
+// vo.setChargeFee(new Double(0));
|
|
|
+// vo.setChargeFeePrint("**");
|
|
|
+// }
|
|
|
|
|
|
if (ObjectUtil.isNotEmpty(orderDTO.getSenderProvinceId())) {
|
|
|
AreaDto result = areaMap.get(orderDTO.getSenderProvinceId());
|