纪新园 2 лет назад
Родитель
Сommit
59d396016c

+ 6 - 0
blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vojo/Acc.java

@@ -573,4 +573,10 @@ public class Acc implements Serializable {
 	 */
 	@TableField(exist = false)
 	private BigDecimal arrivalAmount;
+
+	/**
+	 * 对账状态
+	 */
+	@TableField(exist = false)
+	private String  duiZhangStatus;
 }

+ 101 - 173
blade-service/trade-finance/src/main/java/org/springblade/finance/controller/AccController.java

@@ -128,66 +128,111 @@ public class AccController extends BladeController {
 	public R<IPage<Acc>> list(Acc acc, Query query) {
 		LambdaQueryWrapper<Acc> accLambdaQueryWrapper = new LambdaQueryWrapper<>();
 
-		if (ObjectUtil.isNotEmpty(acc.getSrcParentId())) {
-			if (acc.getFlag() != null && acc.getFlag() == 1) {
-				accLambdaQueryWrapper.apply(" Amount >= Settlement_Amount");
-			} else if (acc.getFlag() != null && acc.getFlag() == 2) {
-				accLambdaQueryWrapper.apply(" Amount >= Invoice_Amount");
+		if ("对账".equals(acc.getDuiZhangStatus())){
+			if (ObjectUtil.isNotEmpty(acc.getSrcParentId())) {
+				if (acc.getFlag() != null && acc.getFlag() == 1) {
+					accLambdaQueryWrapper.apply(" Amount >= Check_Amount");
+				}
+			} else if (ObjectUtil.isNotEmpty(acc.getCorpId())) {
+				if (acc.getFlag() != null && acc.getFlag() == 1) {
+					accLambdaQueryWrapper.apply(" Amount > Check_Amount");
+				}
+			} else {
+				if (acc.getFlag() != null && acc.getFlag() == 1) {
+					accLambdaQueryWrapper.apply(" Amount >= Check_Amount");
+				}
 			}
-		} else if (ObjectUtil.isNotEmpty(acc.getCorpId())) {
-			if (acc.getFlag() != null && acc.getFlag() == 1) {
-				accLambdaQueryWrapper.apply(" Amount > Settlement_Amount");
-			} else if (acc.getFlag() != null && acc.getFlag() == 2) {
-				accLambdaQueryWrapper.apply(" Amount > Invoice_Amount");
+			accLambdaQueryWrapper.between(StringUtils.isNotBlank(acc.getCreateStartDate()) && StringUtils.isNotBlank(acc.getCreateEndDate()), Acc::getCreateTime, acc.getCreateStartDate(), acc.getCreateEndDate())
+				.like(StringUtils.isNotBlank(acc.getBillType()), Acc::getBillType, acc.getBillType())
+				.like(StringUtils.isNotBlank(acc.getAccSysNo()), Acc::getAccSysNo, acc.getAccSysNo())
+				.like(StringUtils.isNotBlank(acc.getSrcBillNo()), Acc::getSrcBillNo, acc.getSrcBillNo())
+				.like(StringUtils.isNotBlank(acc.getSysno()), Acc::getSysno, acc.getSysno())
+				.eq(acc.getCorpId() != null, Acc::getCorpId, acc.getCorpId())
+				.eq(StringUtils.isNotBlank(acc.getItemType()), Acc::getItemType, acc.getItemType())
+				.eq(StringUtils.isNotBlank(acc.getCostType()), Acc::getCostType, acc.getCostType())
+				.eq(acc.getCreateUser() != null, Acc::getCreateUser, acc.getCreateUser())
+				.eq(acc.getSrcParentId() != null, Acc::getSrcParentId, acc.getSrcParentId())
+				.eq(ObjectUtils.isNotNull(acc.getSrcSysno()), Acc::getSrcSysno, acc.getSrcSysno())
+				.eq(ObjectUtils.isNotNull(acc.getSrcRefno()), Acc::getSrcRefno, acc.getSrcRefno())
+				.eq(StringUtils.isNotBlank(acc.getDc()), Acc::getDc, acc.getDc());
+
+			accLambdaQueryWrapper.eq(Acc::getTenantId, SecureUtil.getTenantId())
+				.eq(Acc::getIsDeleted, 0);
+			if (acc.getSettlementStatus() != null && acc.getSettlementStatus() == 1) {
+				accLambdaQueryWrapper.apply("Amount = Check_Amount");
+			} else if (acc.getSettlementStatus() != null && acc.getSettlementStatus() == 2) {
+				accLambdaQueryWrapper.apply("Amount != Check_Amount");
 			}
-		} else {
-			if (acc.getFlag() != null && acc.getFlag() == 1) {
-				accLambdaQueryWrapper.apply(" Amount >= Settlement_Amount");
-			} else if (acc.getFlag() != null && acc.getFlag() == 2) {
-				accLambdaQueryWrapper.apply(" Amount >= Invoice_Amount");
+			if (acc.getRentEndDateList() != null && acc.getRentEndDateList().size() > 1) {//创建日期
+				accLambdaQueryWrapper.ge(Acc::getRentEndDate, acc.getRentEndDateList().get(0));
+				accLambdaQueryWrapper.le(Acc::getRentEndDate, acc.getRentEndDateList().get(1));
+			}
+			if (acc.getRentStartDateList() != null && acc.getRentStartDateList().size() > 1) {//修改日期
+				accLambdaQueryWrapper.ge(Acc::getRentStartDate, acc.getRentStartDateList().get(0));
+				accLambdaQueryWrapper.le(Acc::getRentStartDate, acc.getRentStartDateList().get(1));
+			}
+		}else{
+			if (ObjectUtil.isNotEmpty(acc.getSrcParentId())) {
+				if (acc.getFlag() != null && acc.getFlag() == 1) {
+					accLambdaQueryWrapper.apply(" Amount >= Settlement_Amount");
+				} else if (acc.getFlag() != null && acc.getFlag() == 2) {
+					accLambdaQueryWrapper.apply(" Amount >= Invoice_Amount");
+				}
+			} else if (ObjectUtil.isNotEmpty(acc.getCorpId())) {
+				if (acc.getFlag() != null && acc.getFlag() == 1) {
+					accLambdaQueryWrapper.apply(" Amount > Settlement_Amount");
+				} else if (acc.getFlag() != null && acc.getFlag() == 2) {
+					accLambdaQueryWrapper.apply(" Amount > Invoice_Amount");
+				}
+			} else {
+				if (acc.getFlag() != null && acc.getFlag() == 1) {
+					accLambdaQueryWrapper.apply(" Amount >= Settlement_Amount");
+				} else if (acc.getFlag() != null && acc.getFlag() == 2) {
+					accLambdaQueryWrapper.apply(" Amount >= Invoice_Amount");
+				}
 			}
-		}
-
-		accLambdaQueryWrapper.between(StringUtils.isNotBlank(acc.getCreateStartDate()) && StringUtils.isNotBlank(acc.getCreateEndDate()), Acc::getCreateTime, acc.getCreateStartDate(), acc.getCreateEndDate())
-			.like(StringUtils.isNotBlank(acc.getBillType()), Acc::getBillType, acc.getBillType())
-			.like(StringUtils.isNotBlank(acc.getAccSysNo()), Acc::getAccSysNo, acc.getAccSysNo())
-			.like(StringUtils.isNotBlank(acc.getSrcBillNo()), Acc::getSrcBillNo, acc.getSrcBillNo())
-			.like(StringUtils.isNotBlank(acc.getSysno()), Acc::getSysno, acc.getSysno())
-			.eq(acc.getCorpId() != null, Acc::getCorpId, acc.getCorpId())
-			.eq(StringUtils.isNotBlank(acc.getItemType()), Acc::getItemType, acc.getItemType())
-			.eq(StringUtils.isNotBlank(acc.getCostType()), Acc::getCostType, acc.getCostType())
-			.eq(acc.getCreateUser() != null, Acc::getCreateUser, acc.getCreateUser())
-			.eq(acc.getSrcParentId() != null, Acc::getSrcParentId, acc.getSrcParentId())
-			.eq(ObjectUtils.isNotNull(acc.getSrcSysno()), Acc::getSrcSysno, acc.getSrcSysno())
-			.eq(ObjectUtils.isNotNull(acc.getSrcRefno()), Acc::getSrcRefno, acc.getSrcRefno())
-			.eq(StringUtils.isNotBlank(acc.getDc()), Acc::getDc, acc.getDc())
-			.like(ObjectUtil.isNotEmpty(acc.getQuantity()), Acc::getQuantity, acc.getQuantity())
-			.like(ObjectUtil.isNotEmpty(acc.getSettlementAmount()), Acc::getSettlementAmount, acc.getSettlementAmount());
-		accLambdaQueryWrapper.gt(acc.getCheckStatus() != null && acc.getCheckStatus() == 1, Acc::getCheckAmount, 0)
-			.eq(acc.getCheckStatus() != null && acc.getCheckStatus() == 2, Acc::getCheckAmount, 0)
-			.gt(acc.getCheckStatus() != null && acc.getCheckStatus() == 1, Acc::getSettlementAmount, 0)
-			.eq(acc.getCheckStatus() != null && acc.getCheckStatus() == 2, Acc::getSettlementAmount, 0)
-			.gt(acc.getCheckStatus() != null && acc.getCheckStatus() == 1, Acc::getInvoiceAmount, 0)
-			.eq(acc.getCheckStatus() != null && acc.getCheckStatus() == 2, Acc::getInvoiceAmount, 0);
 
-		accLambdaQueryWrapper.eq(Acc::getTenantId, SecureUtil.getTenantId())
-			.eq(Acc::getIsDeleted, 0);
-		if (acc.getSettlementStatus() != null && acc.getSettlementStatus() == 1) {
-			accLambdaQueryWrapper.apply("Amount = Settlement_Amount");
-		} else if (acc.getSettlementStatus() != null && acc.getSettlementStatus() == 2) {
-			accLambdaQueryWrapper.apply("Amount != Settlement_Amount");
-		}
-		if (acc.getRentEndDateList() != null && acc.getRentEndDateList().size() > 1) {//创建日期
-			accLambdaQueryWrapper.ge(Acc::getRentEndDate, acc.getRentEndDateList().get(0));
-			accLambdaQueryWrapper.le(Acc::getRentEndDate, acc.getRentEndDateList().get(1));
-		}
-		if (acc.getRentStartDateList() != null && acc.getRentStartDateList().size() > 1) {//修改日期
-			accLambdaQueryWrapper.ge(Acc::getRentStartDate, acc.getRentStartDateList().get(0));
-			accLambdaQueryWrapper.le(Acc::getRentStartDate, acc.getRentStartDateList().get(1));
-		}
-		if ("673511".equals(AuthUtil.getTenantId())) {
-			accLambdaQueryWrapper.ge(ObjectUtils.isNotNull(acc.getCreateStartDate()), Acc::getSrcDate, acc.getCreateStartDate())
-				.le(ObjectUtils.isNotNull(acc.getCreateEndDate()), Acc::getSrcDate, acc.getCreateEndDate());
+			accLambdaQueryWrapper.between(StringUtils.isNotBlank(acc.getCreateStartDate()) && StringUtils.isNotBlank(acc.getCreateEndDate()), Acc::getCreateTime, acc.getCreateStartDate(), acc.getCreateEndDate())
+				.like(StringUtils.isNotBlank(acc.getBillType()), Acc::getBillType, acc.getBillType())
+				.like(StringUtils.isNotBlank(acc.getAccSysNo()), Acc::getAccSysNo, acc.getAccSysNo())
+				.like(StringUtils.isNotBlank(acc.getSrcBillNo()), Acc::getSrcBillNo, acc.getSrcBillNo())
+				.like(StringUtils.isNotBlank(acc.getSysno()), Acc::getSysno, acc.getSysno())
+				.eq(acc.getCorpId() != null, Acc::getCorpId, acc.getCorpId())
+				.eq(StringUtils.isNotBlank(acc.getItemType()), Acc::getItemType, acc.getItemType())
+				.eq(StringUtils.isNotBlank(acc.getCostType()), Acc::getCostType, acc.getCostType())
+				.eq(acc.getCreateUser() != null, Acc::getCreateUser, acc.getCreateUser())
+				.eq(acc.getSrcParentId() != null, Acc::getSrcParentId, acc.getSrcParentId())
+				.eq(ObjectUtils.isNotNull(acc.getSrcSysno()), Acc::getSrcSysno, acc.getSrcSysno())
+				.eq(ObjectUtils.isNotNull(acc.getSrcRefno()), Acc::getSrcRefno, acc.getSrcRefno())
+				.eq(StringUtils.isNotBlank(acc.getDc()), Acc::getDc, acc.getDc())
+				.like(ObjectUtil.isNotEmpty(acc.getQuantity()), Acc::getQuantity, acc.getQuantity())
+				.like(ObjectUtil.isNotEmpty(acc.getSettlementAmount()), Acc::getSettlementAmount, acc.getSettlementAmount());
+			accLambdaQueryWrapper.gt(acc.getCheckStatus() != null && acc.getCheckStatus() == 1, Acc::getCheckAmount, 0)
+				.eq(acc.getCheckStatus() != null && acc.getCheckStatus() == 2, Acc::getCheckAmount, 0)
+				.gt(acc.getCheckStatus() != null && acc.getCheckStatus() == 1, Acc::getSettlementAmount, 0)
+				.eq(acc.getCheckStatus() != null && acc.getCheckStatus() == 2, Acc::getSettlementAmount, 0)
+				.gt(acc.getCheckStatus() != null && acc.getCheckStatus() == 1, Acc::getInvoiceAmount, 0)
+				.eq(acc.getCheckStatus() != null && acc.getCheckStatus() == 2, Acc::getInvoiceAmount, 0);
+
+			accLambdaQueryWrapper.eq(Acc::getTenantId, SecureUtil.getTenantId())
+				.eq(Acc::getIsDeleted, 0);
+			if (acc.getSettlementStatus() != null && acc.getSettlementStatus() == 1) {
+				accLambdaQueryWrapper.apply("Amount = Settlement_Amount");
+			} else if (acc.getSettlementStatus() != null && acc.getSettlementStatus() == 2) {
+				accLambdaQueryWrapper.apply("Amount != Settlement_Amount");
+			}
+			if (acc.getRentEndDateList() != null && acc.getRentEndDateList().size() > 1) {//创建日期
+				accLambdaQueryWrapper.ge(Acc::getRentEndDate, acc.getRentEndDateList().get(0));
+				accLambdaQueryWrapper.le(Acc::getRentEndDate, acc.getRentEndDateList().get(1));
+			}
+			if (acc.getRentStartDateList() != null && acc.getRentStartDateList().size() > 1) {//修改日期
+				accLambdaQueryWrapper.ge(Acc::getRentStartDate, acc.getRentStartDateList().get(0));
+				accLambdaQueryWrapper.le(Acc::getRentStartDate, acc.getRentStartDateList().get(1));
+			}
+			if ("673511".equals(AuthUtil.getTenantId())) {
+				accLambdaQueryWrapper.ge(ObjectUtils.isNotNull(acc.getCreateStartDate()), Acc::getSrcDate, acc.getCreateStartDate())
+					.le(ObjectUtils.isNotNull(acc.getCreateEndDate()), Acc::getSrcDate, acc.getCreateEndDate());
+			}
 		}
 		accLambdaQueryWrapper.eq(Acc::getStatus, 0);
 		accLambdaQueryWrapper.orderByDesc(Acc::getCreateTime);
@@ -981,121 +1026,4 @@ public class AccController extends BladeController {
 		return detail;
 	}
 
-	/**
-	 * 分页 财务账单
-	 */
-	@GetMapping("/listDuiZhang")
-	@ApiOperationSupport(order = 2)
-	@ApiOperation(value = "分页", notes = "传入acc")
-	public R<IPage<Acc>> listDuiZhang(Acc acc, Query query) {
-		LambdaQueryWrapper<Acc> accLambdaQueryWrapper = new LambdaQueryWrapper<>();
-		if (ObjectUtil.isNotEmpty(acc.getSrcParentId())) {
-			if (acc.getFlag() != null && acc.getFlag() == 1) {
-				accLambdaQueryWrapper.apply(" Amount >= Check_Amount");
-			}
-		} else if (ObjectUtil.isNotEmpty(acc.getCorpId())) {
-			if (acc.getFlag() != null && acc.getFlag() == 1) {
-				accLambdaQueryWrapper.apply(" Amount > Check_Amount");
-			}
-		} else {
-			if (acc.getFlag() != null && acc.getFlag() == 1) {
-				accLambdaQueryWrapper.apply(" Amount >= Check_Amount");
-			}
-		}
-		accLambdaQueryWrapper.between(StringUtils.isNotBlank(acc.getCreateStartDate()) && StringUtils.isNotBlank(acc.getCreateEndDate()), Acc::getCreateTime, acc.getCreateStartDate(), acc.getCreateEndDate())
-			.like(StringUtils.isNotBlank(acc.getBillType()), Acc::getBillType, acc.getBillType())
-			.like(StringUtils.isNotBlank(acc.getAccSysNo()), Acc::getAccSysNo, acc.getAccSysNo())
-			.like(StringUtils.isNotBlank(acc.getSrcBillNo()), Acc::getSrcBillNo, acc.getSrcBillNo())
-			.like(StringUtils.isNotBlank(acc.getSysno()), Acc::getSysno, acc.getSysno())
-			.eq(acc.getCorpId() != null, Acc::getCorpId, acc.getCorpId())
-			.eq(StringUtils.isNotBlank(acc.getItemType()), Acc::getItemType, acc.getItemType())
-			.eq(StringUtils.isNotBlank(acc.getCostType()), Acc::getCostType, acc.getCostType())
-			.eq(acc.getCreateUser() != null, Acc::getCreateUser, acc.getCreateUser())
-			.eq(acc.getSrcParentId() != null, Acc::getSrcParentId, acc.getSrcParentId())
-			.eq(ObjectUtils.isNotNull(acc.getSrcSysno()), Acc::getSrcSysno, acc.getSrcSysno())
-			.eq(ObjectUtils.isNotNull(acc.getSrcRefno()), Acc::getSrcRefno, acc.getSrcRefno())
-			.eq(StringUtils.isNotBlank(acc.getDc()), Acc::getDc, acc.getDc());
-
-		accLambdaQueryWrapper.eq(Acc::getTenantId, SecureUtil.getTenantId())
-			.eq(Acc::getIsDeleted, 0);
-		if (acc.getSettlementStatus() != null && acc.getSettlementStatus() == 1) {
-			accLambdaQueryWrapper.apply("Amount = Check_Amount");
-		} else if (acc.getSettlementStatus() != null && acc.getSettlementStatus() == 2) {
-			accLambdaQueryWrapper.apply("Amount != Check_Amount");
-		}
-		if (acc.getRentEndDateList() != null && acc.getRentEndDateList().size() > 1) {//创建日期
-			accLambdaQueryWrapper.ge(Acc::getRentEndDate, acc.getRentEndDateList().get(0));
-			accLambdaQueryWrapper.le(Acc::getRentEndDate, acc.getRentEndDateList().get(1));
-		}
-		if (acc.getRentStartDateList() != null && acc.getRentStartDateList().size() > 1) {//修改日期
-			accLambdaQueryWrapper.ge(Acc::getRentStartDate, acc.getRentStartDateList().get(0));
-			accLambdaQueryWrapper.le(Acc::getRentStartDate, acc.getRentStartDateList().get(1));
-		}
-		accLambdaQueryWrapper.eq(Acc::getStatus, 0);
-		accLambdaQueryWrapper.orderByDesc(Acc::getCreateTime);
-		IPage<Acc> pages = new Page<>();
-		if ("1".equals(acc.getWhetherStatistics())){
-			pages = accService.whetherStatistics(Condition.getPage(query), acc);
-		}else{
-			pages = accService.page(Condition.getPage(query), accLambdaQueryWrapper);
-		}
-		String corpIds = "";
-		String fleetName = "";
-		for (Acc accOne : pages.getRecords()) {
-			if (ObjectUtil.isNotEmpty(accOne.getCorpId())) {
-				corpIds = corpIds + accOne.getCorpId() + ",";
-			}
-			if (ObjectUtil.isNotEmpty(accOne.getFleetId())) {
-				fleetName = fleetName + accOne.getFleetId() + ",";
-			}
-		}
-		List<CorpsDesc> corpsDescList = corpsDescClient.selectByCorpIds(corpIds);
-		for (Acc acc_ : pages.getRecords()) {
-			if (ObjectUtils.isNotNull(acc_.getTradeType()) && acc_.getTradeType().equals("ZDLU")) {
-				if (acc_.getCurrency().equals("1")) {
-					acc_.setCurrency("CNY");
-				} else if (acc_.getCurrency().equals("2")) {
-					acc_.setCurrency("USD");
-				} else {
-					acc_.setCurrency("CNY");
-				}
-				if (ObjectUtils.isNull(acc_.getItemName())) {
-					acc_.setItemName("运费");
-				}
-			}
-			if (ObjectUtils.isNotNull(acc_.getCreateUser())) {
-				R<User> r = iUserClient.userInfoById(acc_.getCreateUser());
-				if (r.isSuccess() && ObjectUtils.isNotNull(r.getData())) {
-					//录入人
-					acc_.setCreateUserName(r.getData().getRealName());
-				}
-			}
-			//费用名称
-			if (StringUtils.isNotBlank(acc_.getCostType())) {
-				R<FeesDesc> detail = iFeesDescClient.detail(Long.valueOf(acc_.getCostType()));
-				if (detail.isSuccess() && detail.getData() != null) {
-					acc_.setItemName(detail.getData().getCname());
-				}
-			}
-			//客户名称
-			if (acc_.getCorpId() != null) {
-				if (ObjectUtil.isNotEmpty(corpsDescList)) {
-					CorpsDesc corpsDesc = corpsDescList.stream().filter(d -> d.getId().equals(acc_.getCorpId())).findFirst().orElse(null);
-					if (ObjectUtils.isNotNull(corpsDesc)) {
-						acc_.setCorpName(corpsDesc.getCname());
-					}
-				}
-			}
-			acc_.setOutstandingAmount(acc_.getAmount().subtract(acc_.getSettlementAmount()));
-			//获取所属公司中文名
-			if (acc_.getCompanyid() != null) {
-				R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(acc_.getCompanyid());
-				if (corpMessage.isSuccess() && corpMessage.getData() != null) {
-					acc_.setCompany(corpMessage.getData().getCname());
-				}
-			}
-		}
-		return R.data(pages);
-	}
-
 }