|
|
@@ -411,7 +411,7 @@ public class OwBoxUsageFeeUtils {
|
|
|
int overdueDays = (int) ChronoUnit.DAYS.between(ldt1, ldt2);
|
|
|
//超期天数
|
|
|
if (overdueDays > 0) {
|
|
|
- FeeCenter feeCenter = this.addFeeCenter(item, bills, fees, storageFeesItems, curExrateList, overdueDays, exrateType,"1");
|
|
|
+ FeeCenter feeCenter = this.addFeeCenter(item, bills, fees, storageFeesItems, curExrateList, overdueDays, exrateType, "1");
|
|
|
if (feeCenter != null) {
|
|
|
FeeCenter feeCenterC = new FeeCenter();
|
|
|
BeanUtil.copyProperties(feeCenter, feeCenterC);
|
|
|
@@ -427,30 +427,8 @@ public class OwBoxUsageFeeUtils {
|
|
|
feeCenterC.setAmount(feeCenterC.getQuantity().multiply(feeCenterC.getPrice()));
|
|
|
feeCenterC.setAmountLoc(feeCenterC.getAmount().multiply(feeCenter.getExrate()));
|
|
|
feeCenterC.setUnsettledAmount(feeCenterC.getAmount());
|
|
|
- if (feeCenterListD.isEmpty()) {
|
|
|
- feeCenterListD.add(feeCenter);
|
|
|
- feeCenterListC.add(feeCenterC);
|
|
|
- } else {
|
|
|
- FeeCenter feeCenterD = feeCenterListD.stream().filter(e -> e.getPid().equals(feeCenter.getPid()) &&
|
|
|
- e.getUnitNo().equals(feeCenter.getUnitNo())).findFirst().orElse(null);
|
|
|
- if (feeCenterD != null) {
|
|
|
- feeCenterD.setQuantity(feeCenterD.getQuantity().add(new BigDecimal("1")));
|
|
|
- feeCenterD.setAmount(feeCenterD.getQuantity().multiply(feeCenterD.getPrice()));
|
|
|
- feeCenterD.setAmountLoc(feeCenterD.getAmount().multiply(feeCenterD.getExrate()));
|
|
|
- feeCenterD.setUnsettledAmount(feeCenterD.getAmount());
|
|
|
- FeeCenter feeCentersC = feeCenterListC.stream().filter(e -> e.getPid().equals(feeCenterC.getPid()) &&
|
|
|
- e.getUnitNo().equals(feeCenterC.getUnitNo())).findFirst().orElse(null);
|
|
|
- if (feeCentersC != null) {
|
|
|
- feeCentersC.setQuantity(feeCentersC.getQuantity().add(new BigDecimal("1")));
|
|
|
- feeCentersC.setAmount(feeCentersC.getQuantity().multiply(feeCentersC.getPrice()));
|
|
|
- feeCentersC.setAmountLoc(feeCentersC.getAmount().multiply(feeCentersC.getExrate()));
|
|
|
- feeCentersC.setUnsettledAmount(feeCentersC.getAmount());
|
|
|
- }
|
|
|
- } else {
|
|
|
- feeCenterListD.add(feeCenter);
|
|
|
- feeCenterListC.add(feeCenterC);
|
|
|
- }
|
|
|
- }
|
|
|
+ feeCenterListD.add(feeCenter);
|
|
|
+ feeCenterListC.add(feeCenterC);
|
|
|
item.setPolOverdueBoxUseDays(Integer.parseInt(overdueDays + ""));
|
|
|
item.setPolFreeBoxUseDays(feeCenter.getOverdueBoxUseDays());
|
|
|
putBoxItemsList.add(item);
|
|
|
@@ -737,7 +715,7 @@ public class OwBoxUsageFeeUtils {
|
|
|
//起运港超期天数
|
|
|
if (ObjectUtils.isNotNull(item.getPolReturnDate()) && ObjectUtils.isNotNull(item.getPolStationEmptyContainerExitDate())) {
|
|
|
//所属公司具体超期标准
|
|
|
- StorageFees storageFees = this.getStorageFees(storageFeesList, bills, "1");
|
|
|
+ StorageFees storageFees = this.getStorageFees(storageFeesList, bills, "3");
|
|
|
if (storageFees == null) {
|
|
|
failureHandling("3", boxDynamicsRecord, "请先维护基础资料-超期标准");
|
|
|
return false;
|
|
|
@@ -749,11 +727,11 @@ public class OwBoxUsageFeeUtils {
|
|
|
failureHandling("3", boxDynamicsRecord, "请先维护基础资料-超期标准");
|
|
|
return false;
|
|
|
}
|
|
|
- LocalDateTime ldt1 = item.getPolReturnDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
|
|
|
- LocalDateTime ldt2 = item.getPolStationEmptyContainerExitDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
|
|
|
+ LocalDateTime ldt1 = item.getPolStationEmptyContainerExitDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
|
|
|
+ LocalDateTime ldt2 = item.getPolReturnDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
|
|
|
int overdueDays = (int) ChronoUnit.DAYS.between(ldt1, ldt2);
|
|
|
if (overdueDays > 0) {
|
|
|
- FeeCenter feeCenter = this.addFeeCenter(item, bills, fees, storageFeesItems, curExrateList, overdueDays, exrateType,"3");
|
|
|
+ FeeCenter feeCenter = this.addFeeCenter(item, bills, fees, storageFeesItems, curExrateList, overdueDays, exrateType, "3");
|
|
|
if (feeCenter != null) {
|
|
|
FeeCenter feeCenterC = new FeeCenter();
|
|
|
BeanUtil.copyProperties(feeCenter, feeCenterC);
|
|
|
@@ -769,30 +747,8 @@ public class OwBoxUsageFeeUtils {
|
|
|
feeCenterC.setAmount(feeCenterC.getQuantity().multiply(feeCenterC.getPrice()));
|
|
|
feeCenterC.setAmountLoc(feeCenterC.getAmount().multiply(feeCenter.getExrate()));
|
|
|
feeCenterC.setUnsettledAmount(feeCenterC.getAmount());
|
|
|
- if (feeCenterListD.isEmpty()) {
|
|
|
- feeCenterListD.add(feeCenter);
|
|
|
- feeCenterListC.add(feeCenterC);
|
|
|
- } else {
|
|
|
- FeeCenter feeCenterD = feeCenterListD.stream().filter(e -> e.getPid().equals(feeCenter.getPid()) &&
|
|
|
- e.getUnitNo().equals(feeCenter.getUnitNo())).findFirst().orElse(null);
|
|
|
- if (feeCenterD != null) {
|
|
|
- feeCenterD.setQuantity(feeCenterD.getQuantity().add(new BigDecimal("1")));
|
|
|
- feeCenterD.setAmount(feeCenterD.getQuantity().multiply(feeCenterD.getPrice()));
|
|
|
- feeCenterD.setAmountLoc(feeCenterD.getAmount().multiply(feeCenterD.getExrate()));
|
|
|
- feeCenterD.setUnsettledAmount(feeCenterD.getAmount());
|
|
|
- FeeCenter feeCentersC = feeCenterListC.stream().filter(e -> e.getPid().equals(feeCenterC.getPid()) &&
|
|
|
- e.getUnitNo().equals(feeCenterC.getUnitNo())).findFirst().orElse(null);
|
|
|
- if (feeCentersC != null) {
|
|
|
- feeCentersC.setQuantity(feeCentersC.getQuantity().add(new BigDecimal("1")));
|
|
|
- feeCentersC.setAmount(feeCentersC.getQuantity().multiply(feeCentersC.getPrice()));
|
|
|
- feeCentersC.setAmountLoc(feeCentersC.getAmount().multiply(feeCentersC.getExrate()));
|
|
|
- feeCentersC.setUnsettledAmount(feeCentersC.getAmount());
|
|
|
- }
|
|
|
- } else {
|
|
|
- feeCenterListD.add(feeCenter);
|
|
|
- feeCenterListC.add(feeCenterC);
|
|
|
- }
|
|
|
- }
|
|
|
+ feeCenterListD.add(feeCenter);
|
|
|
+ feeCenterListC.add(feeCenterC);
|
|
|
item.setPolOverdueBoxUseDays(Integer.parseInt(overdueDays + ""));
|
|
|
}
|
|
|
putBoxItemsList.add(item);
|
|
|
@@ -845,7 +801,7 @@ public class OwBoxUsageFeeUtils {
|
|
|
String exrateType = currencyUtils.standardCurrency(item.getBranchId());
|
|
|
Boolean status = this.generateAccBills(feeCenters, item, exrateType, boxDynamicsRecord, type);
|
|
|
if (!status) {
|
|
|
- failureHandling("3", boxDynamicsRecord, "提单号" + item.getHblno() + "超期箱使费生成账单失败");
|
|
|
+ failureHandling("1", boxDynamicsRecord, "提单号" + item.getHblno() + "超期箱使费生成账单失败");
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
@@ -945,7 +901,7 @@ public class OwBoxUsageFeeUtils {
|
|
|
int overdueDays = (int) ChronoUnit.DAYS.between(ldt2, ldt1);
|
|
|
//超期天数
|
|
|
if (overdueDays > 0) {
|
|
|
- FeeCenter feeCenter = this.addFeeCenter(item, billsHYJK, fees, storageFeesItems, curExrateList, overdueDays, exrateType,"2");
|
|
|
+ FeeCenter feeCenter = this.addFeeCenter(item, billsHYJK, fees, storageFeesItems, curExrateList, overdueDays, exrateType, "2");
|
|
|
if (feeCenter != null) {
|
|
|
FeeCenter feeCenterC = new FeeCenter();
|
|
|
BeanUtil.copyProperties(feeCenter, feeCenterC);
|
|
|
@@ -960,31 +916,8 @@ public class OwBoxUsageFeeUtils {
|
|
|
feeCenterC.setAmount(feeCenterC.getQuantity().multiply(feeCenterC.getPrice()));
|
|
|
feeCenterC.setAmountLoc(feeCenterC.getAmount().multiply(feeCenter.getExrate()));
|
|
|
feeCenterC.setUnsettledAmount(feeCenterC.getAmount());
|
|
|
-
|
|
|
- if (feeCenterListD.isEmpty()) {
|
|
|
- feeCenterListD.add(feeCenter);
|
|
|
- feeCenterListC.add(feeCenterC);
|
|
|
- } else {
|
|
|
- FeeCenter feeCenterD = feeCenterListD.stream().filter(e -> e.getPid().equals(feeCenter.getPid()) &&
|
|
|
- e.getUnitNo().equals(feeCenter.getUnitNo())).findFirst().orElse(null);
|
|
|
- if (feeCenterD != null) {
|
|
|
- feeCenterD.setQuantity(feeCenterD.getQuantity().add(new BigDecimal("1")));
|
|
|
- feeCenterD.setAmount(feeCenterD.getQuantity().multiply(feeCenterD.getPrice()));
|
|
|
- feeCenterD.setAmountLoc(feeCenterD.getAmount().multiply(feeCenterD.getExrate()));
|
|
|
- feeCenterD.setUnsettledAmount(feeCenterD.getAmount());
|
|
|
- FeeCenter feeCentersC = feeCenterListC.stream().filter(e -> e.getPid().equals(feeCenterC.getPid()) &&
|
|
|
- e.getUnitNo().equals(feeCenterC.getUnitNo())).findFirst().orElse(null);
|
|
|
- if (feeCentersC != null) {
|
|
|
- feeCentersC.setQuantity(feeCentersC.getQuantity().add(new BigDecimal("1")));
|
|
|
- feeCentersC.setAmount(feeCentersC.getQuantity().multiply(feeCentersC.getPrice()));
|
|
|
- feeCentersC.setAmountLoc(feeCentersC.getAmount().multiply(feeCentersC.getExrate()));
|
|
|
- feeCentersC.setUnsettledAmount(feeCentersC.getAmount());
|
|
|
- }
|
|
|
- } else {
|
|
|
- feeCenterListD.add(feeCenter);
|
|
|
- feeCenterListC.add(feeCenterC);
|
|
|
- }
|
|
|
- }
|
|
|
+ feeCenterListD.add(feeCenter);
|
|
|
+ feeCenterListC.add(feeCenterC);
|
|
|
item.setPodFreeBoxUseDays(feeCenter.getOverdueBoxUseDays());
|
|
|
}
|
|
|
putBoxItemsList.add(item);
|
|
|
@@ -1178,11 +1111,11 @@ public class OwBoxUsageFeeUtils {
|
|
|
* @param curExrateList 汇率明细
|
|
|
* @param overdueDays 超期天数
|
|
|
* @param exrateType 本币币别
|
|
|
- * @param type 业务类型 1=pol,2=pod,3=无货返空
|
|
|
+ * @param type 业务类型 1=pol,2=pod,3=无货返空
|
|
|
*/
|
|
|
public FeeCenter addFeeCenter(PutBoxItems item, Bills bills, BFees fees,
|
|
|
List<StorageFeesItems> storageFeesItems, List<BCurExrate> curExrateList,
|
|
|
- int overdueDays, String exrateType,String type) {
|
|
|
+ int overdueDays, String exrateType, String type) {
|
|
|
FeeCenter feeCenter = new FeeCenter();
|
|
|
feeCenter.setBillType(bills.getBillType());
|
|
|
feeCenter.setCorpType("国内同行及代理");
|
|
|
@@ -1205,14 +1138,16 @@ public class OwBoxUsageFeeUtils {
|
|
|
feeCenter.setUnitNo(item.getBoxType());
|
|
|
//免箱使天数
|
|
|
int overdueBoxUseDays = 0;
|
|
|
- if("1".equals(type)){
|
|
|
+ if ("1".equals(type)) {
|
|
|
if (ObjectUtils.isNotNull(bills.getPolFreeBoxUseDays())) {
|
|
|
overdueBoxUseDays = bills.getPolFreeBoxUseDays();
|
|
|
}
|
|
|
- }else if ("2".equals(type)){
|
|
|
+ } else if ("2".equals(type)) {
|
|
|
if (ObjectUtils.isNotNull(bills.getPodFreeBoxUseDays())) {
|
|
|
overdueBoxUseDays = bills.getPodFreeBoxUseDays();
|
|
|
}
|
|
|
+ } else {
|
|
|
+ overdueBoxUseDays = overdueDays;
|
|
|
}
|
|
|
//判断是否超期
|
|
|
if (overdueDays < overdueBoxUseDays) {
|
|
|
@@ -1226,7 +1161,12 @@ public class OwBoxUsageFeeUtils {
|
|
|
return null;
|
|
|
}
|
|
|
//开始计费-第一档应计费天数
|
|
|
- int firstTierChargeableFeeDays = feesItems.getEndDay() - overdueBoxUseDays;
|
|
|
+ int firstTierChargeableFeeDays;
|
|
|
+ if (overdueBoxUseDays < feesItems.getEndDay()) {
|
|
|
+ firstTierChargeableFeeDays = overdueBoxUseDays + 1;
|
|
|
+ } else {
|
|
|
+ firstTierChargeableFeeDays = feesItems.getEndDay() - overdueBoxUseDays;
|
|
|
+ }
|
|
|
//计算过程
|
|
|
String text;
|
|
|
//超期金额
|
|
|
@@ -1246,55 +1186,61 @@ public class OwBoxUsageFeeUtils {
|
|
|
}
|
|
|
//剩余计费天数
|
|
|
int days = overdueDays - feesItems.getEndDay();
|
|
|
- for (StorageFeesItems term : storageFeesItems) {
|
|
|
- BigDecimal rate;
|
|
|
- //根据箱型获取具体超期单价
|
|
|
- if ("20GP".equals(item.getBoxType())) {
|
|
|
- rate = term.getPrice20gp();
|
|
|
- } else if ("40HC".equals(item.getBoxType())) {
|
|
|
- rate = term.getPrice40hc();
|
|
|
- } else if ("40GP".equals(item.getBoxType())) {
|
|
|
- rate = term.getPrice40gp();
|
|
|
- } else {
|
|
|
- continue;
|
|
|
+ if (days > 0) {
|
|
|
+ for (StorageFeesItems term : storageFeesItems) {
|
|
|
+ BigDecimal rate;
|
|
|
+ //根据箱型获取具体超期单价
|
|
|
+ if ("20GP".equals(item.getBoxType())) {
|
|
|
+ rate = term.getPrice20gp();
|
|
|
+ } else if ("40HC".equals(item.getBoxType())) {
|
|
|
+ rate = term.getPrice40hc();
|
|
|
+ } else if ("40GP".equals(item.getBoxType())) {
|
|
|
+ rate = term.getPrice40gp();
|
|
|
+ } else {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ //剩余计费天数需从免箱使天数所在下一档次开始计算
|
|
|
+ if (term.getStartDay() > finalOverdueBoxUseDays) {
|
|
|
+ //本档次需计费天数
|
|
|
+ int dayLength = term.getEndDay() - term.getStartDay() + 1;
|
|
|
+ //剩余计费天数是否大于本档次计费天数
|
|
|
+ if (days > dayLength) {
|
|
|
+ days -= dayLength;
|
|
|
+ BigDecimal calculate = rate.multiply(new BigDecimal(dayLength + ""));
|
|
|
+ amount = amount.add(calculate);
|
|
|
+ text = text + dayLength + "天*" + rate + "元=" + calculate + "元,";
|
|
|
+ } else {
|
|
|
+ BigDecimal calculate = rate.multiply(new BigDecimal(days + ""));
|
|
|
+ amount = amount.add(calculate);
|
|
|
+ text = text + days + "天*" + rate + "元=" + calculate + "元";
|
|
|
+ days = 0;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- //剩余计费天数需从免箱使天数所在下一档次开始计算
|
|
|
- if (term.getStartDay() > finalOverdueBoxUseDays) {
|
|
|
- //本档次需计费天数
|
|
|
- int dayLength = term.getEndDay() - term.getStartDay() + 1;
|
|
|
- //剩余计费天数是否大于本档次计费天数
|
|
|
- if (days > dayLength) {
|
|
|
- days -= dayLength;
|
|
|
- BigDecimal calculate = rate.multiply(new BigDecimal(dayLength + ""));
|
|
|
+ //如果计费规则循环计算完成后还有剩余计费天数,需按照最后一档次计算超期金额
|
|
|
+ if (days != 0) {
|
|
|
+ if ("20GP".equals(item.getBoxType())) {
|
|
|
+ BigDecimal calculate = storageFeesItems.get(storageFeesItems.size() - 1).getPrice20gp().multiply(new BigDecimal(days + ""));
|
|
|
amount = amount.add(calculate);
|
|
|
- text = text + dayLength + "天*" + rate + "元=" + calculate + "元,";
|
|
|
- } else {
|
|
|
- BigDecimal calculate = rate.multiply(new BigDecimal(days + ""));
|
|
|
+ text = text + "超出费用:" + days + "天*" + storageFeesItems.get(storageFeesItems.size() - 1).getPrice20gp() + "元=" + calculate + "元,";
|
|
|
+ } else if ("40HC".equals(item.getBoxType())) {
|
|
|
+ BigDecimal calculate = storageFeesItems.get(storageFeesItems.size() - 1).getPrice40hc().multiply(new BigDecimal(days + ""));
|
|
|
amount = amount.add(calculate);
|
|
|
- text = text + days + "天*" + rate + "元=" + calculate + "元";
|
|
|
- days = 0;
|
|
|
- break;
|
|
|
+ text = text + "超出费用:" + days + "天*" + storageFeesItems.get(storageFeesItems.size() - 1).getPrice40hc() + "元=" + calculate + "元,";
|
|
|
+ } else if ("40GP".equals(item.getBoxType())) {
|
|
|
+ BigDecimal calculate = storageFeesItems.get(storageFeesItems.size() - 1).getPrice40gp().multiply(new BigDecimal(days + ""));
|
|
|
+ amount = amount.add(calculate);
|
|
|
+ text = text + "超出费用:" + days + "天*" + storageFeesItems.get(storageFeesItems.size() - 1).getPrice40gp() + "元=" + calculate + "元,";
|
|
|
+ } else {
|
|
|
+ return null;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- feeCenter.setOverdueBoxUseDays(overdueDays - overdueBoxUseDays);
|
|
|
- //如果计费规则循环计算完成后还有剩余计费天数,需按照最后一档次计算超期金额
|
|
|
- if (days != 0) {
|
|
|
- if ("20GP".equals(item.getBoxType())) {
|
|
|
- BigDecimal calculate = storageFeesItems.get(storageFeesItems.size() - 1).getPrice20gp().multiply(new BigDecimal(days + ""));
|
|
|
- amount = amount.add(calculate);
|
|
|
- text = text + "超出费用:" + days + "天*" + storageFeesItems.get(storageFeesItems.size() - 1).getPrice20gp() + "元=" + calculate + "元,";
|
|
|
- } else if ("40HC".equals(item.getBoxType())) {
|
|
|
- BigDecimal calculate = storageFeesItems.get(storageFeesItems.size() - 1).getPrice40hc().multiply(new BigDecimal(days + ""));
|
|
|
- amount = amount.add(calculate);
|
|
|
- text = text + "超出费用:" + days + "天*" + storageFeesItems.get(storageFeesItems.size() - 1).getPrice40hc() + "元=" + calculate + "元,";
|
|
|
- } else if ("40GP".equals(item.getBoxType())) {
|
|
|
- BigDecimal calculate = storageFeesItems.get(storageFeesItems.size() - 1).getPrice40gp().multiply(new BigDecimal(days + ""));
|
|
|
- amount = amount.add(calculate);
|
|
|
- text = text + "超出费用:" + days + "天*" + storageFeesItems.get(storageFeesItems.size() - 1).getPrice40gp() + "元=" + calculate + "元,";
|
|
|
- } else {
|
|
|
- return null;
|
|
|
- }
|
|
|
+ if ("1".equals(type) || "2".equals(type)) {
|
|
|
+ feeCenter.setOverdueBoxUseDays(overdueDays - overdueBoxUseDays);
|
|
|
+ } else {
|
|
|
+ feeCenter.setOverdueBoxUseDays(overdueDays);
|
|
|
}
|
|
|
if (exrateType.equals(feeCenter.getCurCode())) {
|
|
|
feeCenter.setExrate(new BigDecimal("1.00"));
|
|
|
@@ -1326,6 +1272,8 @@ public class OwBoxUsageFeeUtils {
|
|
|
feeCenter.setAutomaticGenerated("1");
|
|
|
feeCenter.setBranchId(bills.getBranchId());
|
|
|
feeCenter.setBranchName(bills.getBranchName());
|
|
|
+ feeCenter.setBillBranchId(bills.getBranchId());
|
|
|
+ feeCenter.setBillBranchName(bills.getBranchName());
|
|
|
feeCenter.setVersion("1");
|
|
|
return feeCenter;
|
|
|
}
|
|
|
@@ -1338,24 +1286,20 @@ public class OwBoxUsageFeeUtils {
|
|
|
* @param type 操作类型 1=起运港 2=目的港
|
|
|
*/
|
|
|
public StorageFees getStorageFees(List<StorageFees> storageFeesList, Bills bills, String type) {
|
|
|
- StorageFees storageFees;
|
|
|
String portId;
|
|
|
+ String businessType;
|
|
|
if ("1".equals(type)) {
|
|
|
portId = bills.getPolId() + "";
|
|
|
- } else {
|
|
|
+ businessType = "出口超期箱";
|
|
|
+ } else if ("2".equals(type)) {
|
|
|
portId = bills.getPodId() + "";
|
|
|
- }
|
|
|
- if ("SE".equals(bills.getBusinessType())) {
|
|
|
- storageFees = storageFeesList.stream().filter(e -> e.getBranchId().equals(bills.getBranchId()) &&
|
|
|
- "出口超期箱".equals(e.getType()) && e.getPortId().contains(portId)).findFirst().orElse(null);
|
|
|
- } else if ("SI".equals(bills.getBusinessType())) {
|
|
|
- storageFees = storageFeesList.stream().filter(e -> e.getBranchId().equals(bills.getBranchId()) &&
|
|
|
- "进口超期箱".equals(e.getType()) && e.getPortId().contains(portId)).findFirst().orElse(null);
|
|
|
+ businessType = "进口超期箱";
|
|
|
} else {
|
|
|
- storageFees = storageFeesList.stream().filter(e -> e.getBranchId().equals(bills.getBranchId()) &&
|
|
|
- "退关、无货返空箱".equals(e.getType()) && e.getPortId().contains(portId)).findFirst().orElse(null);
|
|
|
+ portId = bills.getPolId() + "";
|
|
|
+ businessType = "退关、无货返空箱";
|
|
|
}
|
|
|
- return storageFees;
|
|
|
+ return storageFeesList.stream().filter(e -> e.getBranchId().equals(bills.getBranchId()) &&
|
|
|
+ businessType.equals(e.getType()) && e.getPortId().contains(portId)).findFirst().orElse(null);
|
|
|
}
|
|
|
|
|
|
/**
|