Quellcode durchsuchen

结算中心结算金额计算bug修改

纪新园 vor 5 Monaten
Ursprung
Commit
005b3ebc67

+ 24 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/BillsController.java

@@ -211,13 +211,17 @@ public class BillsController extends BladeController {
 					lambdaQueryWrapper.eq(Bills::getBillStatus, bills.getBillStatus());
 				} else if (0 == bills.getBillStatus()) {
 					lambdaQueryWrapper.and(i -> i.isNull(Bills::getMblno).or().eq(Bills::getMblno, ""));
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				} else if (4 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getMblno)
 						.ne(Bills::getMblno, "");
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				} else if (5 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getActualEtd);
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				} else if (6 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getActualEta);
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				}
 			} else if ("SI".equals(bills.getBusinessType())) {
 				if ("1,2,3".contains(bills.getBillStatus() + "")) {
@@ -229,12 +233,16 @@ public class BillsController extends BladeController {
 					lambdaQueryWrapper.ne(Bills::getBillStatus, "1");
 				} else if (6 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getActualEta);
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				} else if (8 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getReturnEmptyDate);
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				} else if (9 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getChangeOrderDate);
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				} else if (10 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getClearanceDate);
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				}
 			}
 		}
@@ -376,13 +384,17 @@ public class BillsController extends BladeController {
 					lambdaQueryWrapper.eq(Bills::getBillStatus, bills.getBillStatus());
 				} else if (0 == bills.getBillStatus()) {
 					lambdaQueryWrapper.and(i -> i.isNull(Bills::getMblno).or().eq(Bills::getMblno, ""));
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				} else if (4 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getMblno)
 						.ne(Bills::getMblno, "");
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				} else if (5 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getActualEtd);
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				} else if (6 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getActualEta);
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				}
 			} else if ("SI".equals(bills.getBusinessType())) {
 				if ("1,2,3".contains(bills.getBillStatus() + "")) {
@@ -394,12 +406,16 @@ public class BillsController extends BladeController {
 					lambdaQueryWrapper.ne(Bills::getBillStatus, "1");
 				} else if (6 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getActualEta);
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				} else if (8 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getReturnEmptyDate);
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				} else if (9 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getChangeOrderDate);
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				} else if (10 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getClearanceDate);
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				}
 			}
 		}
@@ -777,13 +793,17 @@ public class BillsController extends BladeController {
 					lambdaQueryWrapper.eq(Bills::getBillStatus, bills.getBillStatus());
 				} else if (0 == bills.getBillStatus()) {
 					lambdaQueryWrapper.and(i -> i.isNull(Bills::getMblno).or().eq(Bills::getMblno, ""));
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				} else if (4 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getMblno)
 						.ne(Bills::getMblno, "");
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				} else if (5 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getActualEtd);
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				} else if (6 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getActualEta);
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				}
 			} else if ("SI".equals(bills.getBusinessType())) {
 				if ("1,2,3".contains(bills.getBillStatus() + "")) {
@@ -795,12 +815,16 @@ public class BillsController extends BladeController {
 					lambdaQueryWrapper.ne(Bills::getBillStatus, "1");
 				} else if (6 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getActualEta);
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				} else if (8 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getReturnEmptyDate);
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				} else if (9 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getChangeOrderDate);
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				} else if (10 == bills.getBillStatus()) {
 					lambdaQueryWrapper.isNotNull(Bills::getClearanceDate);
+					lambdaQueryWrapper.eq(Bills::getBillStatus, 0);
 				}
 			}
 		}

+ 36 - 22
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/service/impl/FinAccBillsServiceImpl.java

@@ -28,6 +28,8 @@ import org.springblade.los.basic.business.entity.BusinessType;
 import org.springblade.los.basic.business.service.IBusinessTypeService;
 import org.springblade.los.billno.entity.BusinessBillNo;
 import org.springblade.los.billno.service.IBusinessBillNoService;
+import org.springblade.los.business.amends.entity.Amends;
+import org.springblade.los.business.amends.mapper.AmendsMapper;
 import org.springblade.los.business.sea.entity.Bills;
 import org.springblade.los.business.sea.mapper.BillsMapper;
 import org.springblade.los.excel.FeeCountByCorpExcel;
@@ -78,6 +80,8 @@ public class FinAccBillsServiceImpl extends ServiceImpl<FinAccBillsMapper, FinAc
 
 	private final BillsMapper billsMapper;
 
+	private final AmendsMapper amendsMapper;
+
 	private final IBusinessBillNoService businessBillNoService;
 
 	private final IBusinessTypeService bBusinessTypeService;
@@ -139,6 +143,7 @@ public class FinAccBillsServiceImpl extends ServiceImpl<FinAccBillsMapper, FinAc
 			}
 		}
 		List<Bills> billsList = new ArrayList<>();
+		List<Amends> amendsList = new ArrayList<>();
 		List<Long> ids = finAccBills.getFeeCenterList().stream().map(FeeCenter::getPid).collect(Collectors.toList());
 		String status = sysClient.getParamService("generate.billing.rules");
 		for (FeeCenter item : finAccBills.getFeeCenterList()) {
@@ -184,6 +189,10 @@ public class FinAccBillsServiceImpl extends ServiceImpl<FinAccBillsMapper, FinAc
 				item.setBillingStatus(item.getBillingStatus() + reducelList.size());
 				billsMapper.updateById(item);
 			}
+			amendsList = amendsMapper.selectList(new LambdaQueryWrapper<Amends>()
+				.eq(Amends::getTenantId, AuthUtil.getTenantId())
+				.eq(Amends::getIsDeleted, 0)
+				.in(Amends::getId, ids));
 		}
 		for (FeeCenter item : reducelList) {
 			BigDecimal amountCNY = finAccBills.getFeeCenterList().stream()
@@ -222,30 +231,35 @@ public class FinAccBillsServiceImpl extends ServiceImpl<FinAccBillsMapper, FinAc
 			data.setAccountDate(item.getBillDate());
 			data.setBillKey(item.getBillKey());
 			data.setBusinessType(item.getBusinessType());
-			Bills bills = billsList.stream().filter(e -> e.getId().equals(item.getPid())).findFirst().orElse(new Bills());
-			if ("MH".equals(item.getBusinessType())) {
-				//分单
-				data.setBusinessBillDivideId(item.getPid());
-				data.setBusinessBillDivideNo(item.getBillNo());
-				data.setBusinessDivideDate(item.getEtd());
-				//主单
-				if (ObjectUtils.isNotNull(bills.getMasterId())) {
-					data.setBusinessBillId(bills.getMasterId());
-					data.setBusinessBillNo(bills.getMasterBillNo());
-					data.setBusinessDate(item.getBillDate());
-				}
+			data.setBusinessBillId(item.getPid());
+			data.setBusinessBillNo(item.getBillNo());
+			data.setBusinessDate(item.getBillDate());
+			if ("SEA,SIA,AEA,AIA".contains(item.getBusinessType())) {
+				Amends amends = amendsList.stream().filter(e -> e.getId().equals(item.getPid())).findFirst().orElse(new Amends());
+				data.setSrcId(amends.getSrcId());
+				data.setSrcCnName(amends.getSrcCnName());
+				data.setSrcEnName(amends.getSrcEnName());
+				data.setSrcType(amends.getSrcType());
+				data.setOperatorId(amends.getOperatorId());
+				data.setOperatorName(amends.getOperatorName());
+				data.setQuantityCntrDescr(amends.getQuantityCntrDescr());
+			} else if ("SE,SI".contains(item.getBusinessType())) {
+				Bills bills = billsList.stream().filter(e -> e.getId().equals(item.getPid())).findFirst().orElse(new Bills());
+				data.setSrcId(bills.getSrcId());
+				data.setSrcCnName(bills.getSrcCnName());
+				data.setSrcEnName(bills.getSrcEnName());
+				data.setSrcType(bills.getSrcType());
+				data.setOperatorId(bills.getOperatorId());
+				data.setOperatorName(bills.getOperatorName());
+				data.setQuantityCntrDescr(bills.getQuantityCntrDescr());
 			} else {
-				data.setBusinessBillId(item.getPid());
-				data.setBusinessBillNo(item.getBillNo());
-				data.setBusinessDate(item.getBillDate());
+				data.setSrcId(item.getSrcId());
+				data.setSrcCnName(item.getSrcCnName());
+				data.setSrcEnName(item.getSrcEnName());
+				data.setSrcType(item.getSrcType());
+				data.setOperatorId(item.getCreateUser());
+				data.setOperatorName(item.getCreateUserName());
 			}
-			data.setSrcId(item.getSrcId());
-			data.setSrcCnName(item.getSrcCnName());
-			data.setSrcEnName(item.getSrcEnName());
-			data.setSrcType(item.getSrcType());
-			data.setOperatorId(bills.getOperatorId());
-			data.setOperatorName(bills.getOperatorName());
-			data.setQuantityCntrDescr(bills.getQuantityCntrDescr());
 			data.setPaymode(item.getPaymode());
 			data.setAccelementid(item.getElementsId());
 			data.setAccelementname(item.getElementsCnName());

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

@@ -1086,8 +1086,8 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 						}
 					} else {
 						finAccBills.setStlAmountDrUsd(finAccBills.getStlAmountDrUsd().add(item.getCurrentStlAmount().add(item.getCurrentStlDiscount())));
-						BigDecimal cny = bCurrencyService.converterCny(item.getCurCode(), item.getCurrentStlAmount().add(item.getCurrentStlDiscount()), "D", "2");
-						finAccBills.setStlAmountDrLoc(finAccBills.getStlAmountDrLoc().add(cny));
+//						BigDecimal cny = bCurrencyService.converterCny(item.getCurCode(), item.getCurrentStlAmount().add(item.getCurrentStlDiscount()), "D", "2");
+						finAccBills.setStlAmountDrLoc(finAccBills.getStlAmountDrLoc().add(item.getCurrentStlAmountLoc()));
 						if (!ids.isEmpty()) {
 							finAccBills.setAppliedAmountStlUsd(finAccBills.getAppliedAmountStl().add(item.getCurrentStlAmount()));
 						}
@@ -1111,8 +1111,8 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 						}
 					} else {
 						finAccBills.setStlAmountCrUsd(finAccBills.getStlAmountCrUsd().add(item.getCurrentStlAmount()));
-						BigDecimal cny = bCurrencyService.converterCny(item.getCurCode(), item.getCurrentStlAmount(), "C", "2");
-						finAccBills.setStlAmountCrLoc(finAccBills.getStlAmountCrLoc().add(cny));
+//						BigDecimal cny = bCurrencyService.converterCny(item.getCurCode(), item.getCurrentStlAmount(), "C", "2");
+						finAccBills.setStlAmountCrLoc(finAccBills.getStlAmountCrLoc().add(item.getCurrentStlAmountLoc()));
 						if (!ids.isEmpty()) {
 							finAccBills.setAppliedAmountStlUsd(finAccBills.getAppliedAmountStlUsd().add(item.getCurrentStlAmount()));
 						}
@@ -1392,8 +1392,8 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 						finAccBills.setStlAmountDrLoc(finAccBills.getStlAmountDrLoc().subtract(item.getCurrentStlAmount().subtract(item.getCurrentStlDiscount())));
 					} else {
 						finAccBills.setStlAmountDrUsd(finAccBills.getStlAmountDrUsd().subtract(item.getCurrentStlAmount().subtract(item.getCurrentStlDiscount())));
-						BigDecimal cny = bCurrencyService.converterCny(item.getCurCode(), item.getCurrentStlAmount().subtract(item.getCurrentStlDiscount()), "D", "2");
-						finAccBills.setStlAmountDrLoc(finAccBills.getStlAmountDrLoc().subtract(cny));
+//						BigDecimal cny = bCurrencyService.converterCny(item.getCurCode(), item.getCurrentStlAmount().subtract(item.getCurrentStlDiscount()), "D", "2");
+						finAccBills.setStlAmountDrLoc(finAccBills.getStlAmountDrLoc().subtract(item.getCurrentStlAmountLoc()));
 					}
 					if (finAccBills.getAmountDr().compareTo(new BigDecimal("0.00")) == 0 &&
 						finAccBills.getAmountDrUsd().compareTo(new BigDecimal("0.00")) == 0) {
@@ -1423,8 +1423,8 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 						}
 					} else {
 						finAccBills.setStlAmountCrUsd(finAccBills.getStlAmountCrUsd().subtract(item.getCurrentStlAmount().subtract(item.getCurrentStlDiscount())));
-						BigDecimal cny = bCurrencyService.converterCny(item.getCurCode(), item.getCurrentStlAmount().subtract(item.getCurrentStlDiscount()), "C", "2");
-						finAccBills.setStlAmountCrLoc(finAccBills.getStlAmountCrLoc().subtract(cny));
+//						BigDecimal cny = bCurrencyService.converterCny(item.getCurCode(), item.getCurrentStlAmount().subtract(item.getCurrentStlDiscount()), "C", "2");
+						finAccBills.setStlAmountCrLoc(finAccBills.getStlAmountCrLoc().subtract(item.getCurrentStlAmountLoc()));
 						if (!ids.isEmpty()) {
 							finAccBills.setAppliedAmountStlUsd(finAccBills.getAppliedAmountStlUsd().subtract(item.getCurrentStlAmount()));
 						}