Browse Source

2024年1月27日16:43:41

纪新园 1 year ago
parent
commit
f9bf3a9e8e

+ 4 - 0
blade-service/blade-los/src/main/java/org/springblade/los/basic/reports/service/impl/ReportsServiceImpl.java

@@ -1035,6 +1035,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 					.eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
 					.eq(FinStlBillsItems::getIsDeleted, 0)
 					.eq(FinStlBillsItems::getPid, finStlBills.getId())
+					.eq(FinStlBillsItems::getDc, "D")
 					.orderByDesc(FinStlBillsItems::getVesselCnName);
 				List<FinStlBillsItems> finStlBillsItems = finStlBillsItemsService.list(lambdaQueryWrapper);
 				if (finStlBillsItems.size() > 0) {
@@ -1088,6 +1089,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 					.eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
 					.eq(FinStlBillsItems::getIsDeleted, 0)
 					.eq(FinStlBillsItems::getPid, finStlBills.getId())
+					.eq(FinStlBillsItems::getDc, "C")
 					.orderByDesc(FinStlBillsItems::getVesselCnName);
 				List<FinStlBillsItems> finStlBillsItems = finStlBillsItemsService.list(lambdaQueryWrapper);
 				if (finStlBillsItems.size() > 0) {
@@ -1191,6 +1193,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 					.eq(FinInvoicesItems::getTenantId, AuthUtil.getTenantId())
 					.eq(FinInvoicesItems::getIsDeleted, 0)
 					.eq(FinInvoicesItems::getPid, finStlBills.getId())
+					.eq(FinInvoicesItems::getDc, "D")
 					.orderByDesc(FinInvoicesItems::getVesselCnName);
 				List<FinInvoicesItems> finStlBillsItems = finInvoicesItemsService.list(lambdaQueryWrapper);
 				if (finStlBillsItems.size() > 0) {
@@ -1337,6 +1340,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 //					bills.setFM(MagicValues.FM);
 					bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
 				} else {
+					bills = new Bills();
 					BeanUtil.copyProperties(amends, bills);
 				}
 				BigDecimal amountDr = new BigDecimal(MagicValues.ZERO);

+ 12 - 8
blade-service/blade-los/src/main/java/org/springblade/los/finance/invoices/service/impl/FinInvoicesServiceImpl.java

@@ -215,7 +215,7 @@ public class FinInvoicesServiceImpl extends ServiceImpl<FinInvoicesMapper, FinIn
 			finInvoices.setAmountLoc(finInvoices.getAmountCny().add(bCurrencyService.converterCny("USD", finInvoices.getAmountUsd(), "")));
 			finInvoices.setAmountSubLocNet(finInvoices.getAmountLoc());
 			finInvoices.setAmountSubUsd(amountUsdD.subtract(amountUsdC));
-		}else {
+		} else {
 			throw new RuntimeException("请选择明细");
 		}
 		BigDecimal taxRate = new BigDecimal("0.00");
@@ -336,6 +336,8 @@ public class FinInvoicesServiceImpl extends ServiceImpl<FinInvoicesMapper, FinIn
 				List<FeeCenter> feeCenters = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
 					.in(FeeCenter::getAccBillId, finAccBills.getId())
 					.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+					.eq(FeeCenter::getAccStatus, 1)
+					.apply("amount > uninvoiced_amount")
 					.eq(FeeCenter::getIsDeleted, 0));
 				BigDecimal currentStlAmount = item.getCurrentAmount();
 				for (FeeCenter feeCenter : feeCenters) {
@@ -402,7 +404,7 @@ public class FinInvoicesServiceImpl extends ServiceImpl<FinInvoicesMapper, FinIn
 			}
 			feeCenterService.saveOrUpdateBatch(feeCenterList);
 			finAccBillsService.saveOrUpdateBatch(finAccBillsList);
-		}else {
+		} else {
 			throw new RuntimeException("请选择明细");
 		}
 		BigDecimal invoiceAmount = new BigDecimal("0.00");
@@ -494,9 +496,9 @@ public class FinInvoicesServiceImpl extends ServiceImpl<FinInvoicesMapper, FinIn
 				finAccBills.setUpdateUserName(AuthUtil.getUserName());
 				if ("CNY".equals(item.getCurCode())) {
 					if ("C".equals(finAccBills.getAccountDc())) {
-							if (item.getCurrentAmount().compareTo(finAccBills.getUninvoicedAmount()) > 0) {
-								throw new RuntimeException("本次开票金额大于已开票金额");
-							}
+						if (item.getCurrentAmount().compareTo(finAccBills.getUninvoicedAmount()) > 0) {
+							throw new RuntimeException("本次开票金额大于已开票金额");
+						}
 					} else {
 						if (item.getCurrentAmount().compareTo(finAccBills.getUninvoicedAmount()) > 0) {
 							throw new RuntimeException("本次开票金额大于已开票金额");
@@ -525,6 +527,8 @@ public class FinInvoicesServiceImpl extends ServiceImpl<FinInvoicesMapper, FinIn
 				List<FeeCenter> feeCenters = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
 					.in(FeeCenter::getAccBillId, finAccBills.getId())
 					.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+					.eq(FeeCenter::getAccStatus, 1)
+					.apply("uninvoiced_amount != 0")
 					.eq(FeeCenter::getIsDeleted, 0));
 				BigDecimal currentStlAmount = detail.getAmountLoc();
 				for (FeeCenter feeCenter : feeCenters) {
@@ -585,7 +589,7 @@ public class FinInvoicesServiceImpl extends ServiceImpl<FinInvoicesMapper, FinIn
 			}
 			feeCenterService.saveOrUpdateBatch(feeCenterList);
 			finAccBillsService.saveOrUpdateBatch(finAccBillsList);
-		}else {
+		} else {
 			throw new RuntimeException("请选择明细");
 		}
 		detail.setStatus(0);
@@ -670,7 +674,7 @@ public class FinInvoicesServiceImpl extends ServiceImpl<FinInvoicesMapper, FinIn
 			}
 			feeCenterService.saveOrUpdateBatch(feeCenterList);
 			finAccBillsService.saveOrUpdateBatch(finAccBillsList);
-		}else {
+		} else {
 			throw new RuntimeException("请选择明细");
 		}
 		BigDecimal invoiceAmount = new BigDecimal("0.00");
@@ -752,7 +756,7 @@ public class FinInvoicesServiceImpl extends ServiceImpl<FinInvoicesMapper, FinIn
 			}
 			feeCenterService.saveOrUpdateBatch(feeCenterList);
 			finAccBillsService.saveOrUpdateBatch(finAccBillsList);
-		}else {
+		} else {
 			throw new RuntimeException("请选择明细");
 		}
 		detail.setStatus(0);

+ 17 - 13
blade-service/blade-los/src/main/java/org/springblade/los/finance/stl/service/impl/FinStlBillsServiceImpl.java

@@ -270,7 +270,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 			finStlBills.setAmountCrLocNet(amountCrCNYTax.add(bCurrencyService.converterCny("USD", amountCrUSDTax, "C")));
 			finStlBills.setAmountSubLocNet(finStlBills.getAmountCrLocNet().subtract(finStlBills.getAmountDrLocNet()));
 
-		}else {
+		} else {
 			throw new RuntimeException("请选择明细");
 		}
 		this.saveOrUpdate(finStlBills);
@@ -347,6 +347,8 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 					List<FeeCenter> feeCenters = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
 						.in(FeeCenter::getAccBillId, finAccBills.getId())
 						.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+						.eq(FeeCenter::getAccStatus, 1)
+						.apply("amount > reconciliation_amount")
 						.eq(FeeCenter::getIsDeleted, 0));
 					BigDecimal currentStlAmount = item.getCurrentStlAmount();
 					for (FeeCenter feeCenter : feeCenters) {
@@ -540,6 +542,8 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 					List<FeeCenter> feeCenters = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
 						.in(FeeCenter::getAccBillId, finAccBills.getId())
 						.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+						.eq(FeeCenter::getAccStatus, 1)
+						.apply("reconciliation_amount != 0")
 						.eq(FeeCenter::getIsDeleted, 0));
 					BigDecimal currentStlAmount = item.getCurrentStlAmount();
 					for (FeeCenter feeCenter : feeCenters) {
@@ -571,7 +575,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 			finStlBillsItemsService.saveOrUpdateBatch(finStlBills.getFinStlBillsItemsList());
 			feeCenterService.saveOrUpdateBatch(feeCenterList);
 			finAccBillsService.saveOrUpdateBatch(finAccBillsList);
-		}else {
+		} else {
 			throw new RuntimeException("请选择明细");
 		}
 		detail.setStatus(0);
@@ -770,7 +774,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 					.eq(FeeCenter::getIsDeleted, 0)
 					.eq(FeeCenter::getAccBillId, finAccBills.getId())
 					.eq(FeeCenter::getAccStatus, 1)
-//					.apply("amount != stl_ttl_amount")
+					.apply("amount > stl_ttl_amount")
 					.orderByDesc(FeeCenter::getCreateTime));
 				BigDecimal currentStlAmount = item.getCurrentStlAmount().abs();
 				BigDecimal stlTtlAmount = feeCenters.stream().map(FeeCenter::getStlTtlAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
@@ -864,7 +868,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 			finAccBillsService.saveOrUpdateBatch(finAccBillsList);
 			detail.setStatus(3);
 			detail.setIsCleared(1);
-		}else {
+		} else {
 			throw new RuntimeException("请选择明细");
 		}
 		baseMapper.updateById(detail);
@@ -1048,7 +1052,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 					.eq(FeeCenter::getIsDeleted, 0)
 					.eq(FeeCenter::getAccBillId, finAccBills.getId())
 					.eq(FeeCenter::getAccStatus, 1)
-//					.apply("stl_ttl_amount != 0")
+					.apply("stl_ttl_amount != 0")
 					.orderByDesc(FeeCenter::getCreateTime));
 				BigDecimal currentStlAmount = item.getCurrentStlAmount().abs();
 				BigDecimal stlTtlAmount = feeCenters.stream().map(FeeCenter::getStlTtlAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
@@ -1135,7 +1139,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 			finAccBillsService.saveOrUpdateBatch(finAccBillsList);
 			detail.setStatus(0);
 			detail.setIsCleared(0);
-		}else {
+		} else {
 			throw new RuntimeException("请选择明细");
 		}
 		baseMapper.updateById(detail);
@@ -1261,7 +1265,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 				item.setUpdateUserName(AuthUtil.getUserName());
 			}
 			finStlBillsItemsService.saveOrUpdateBatch(finStlBills.getFinStlBillsItemsList());
-		}else {
+		} else {
 			throw new RuntimeException("请选择明细");
 		}
 		detail.setIsSignfor(1);
@@ -1288,7 +1292,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 				item.setUpdateUserName(AuthUtil.getUserName());
 			}
 			finStlBillsItemsService.saveOrUpdateBatch(finStlBills.getFinStlBillsItemsList());
-		}else {
+		} else {
 			throw new RuntimeException("请选择明细");
 		}
 		detail.setIsSignfor(2);
@@ -1414,7 +1418,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 					.eq(FeeCenter::getIsDeleted, 0)
 					.eq(FeeCenter::getAccBillId, finAccBills.getId())
 					.eq(FeeCenter::getAccStatus, 1)
-					.apply("amount != stl_ttl_amount + applied_amount")
+					.apply("amount > stl_ttl_amount + applied_amount - applied_amount_stl")
 					.orderByDesc(FeeCenter::getCreateTime));
 				BigDecimal currentStlAmount = item.getCurrentStlAmount();
 				for (FeeCenter e : feeCenters) {
@@ -1445,7 +1449,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 			}
 			feeCenterService.saveOrUpdateBatch(feeCenterList);
 			finAccBillsService.saveOrUpdateBatch(finAccBillsList);
-		}else {
+		} else {
 			throw new RuntimeException("请选择明细");
 		}
 		baseMapper.updateById(detail);
@@ -1531,7 +1535,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 			}
 			feeCenterService.saveOrUpdateBatch(feeCenterList);
 			finAccBillsService.saveOrUpdateBatch(finAccBillsList);
-		}else {
+		} else {
 			throw new RuntimeException("请选择明细");
 		}
 		baseMapper.updateById(detail);
@@ -1751,7 +1755,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 			}
 			feeCenterService.saveOrUpdateBatch(feeCenterList);
 			finAccBillsService.saveOrUpdateBatch(finAccBillsList);
-		}else {
+		} else {
 			throw new RuntimeException("请选择明细");
 		}
 		baseMapper.updateById(detail);
@@ -1788,7 +1792,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 			}
 			feeCenterService.saveOrUpdateBatch(feeCenterList);
 			finAccBillsService.saveOrUpdateBatch(finAccBillsList);
-		}else {
+		} else {
 			throw new RuntimeException("请选择明细");
 		}
 		baseMapper.updateById(detail);