Kaynağa Gözat

2023年2月15日18:22:23

纪新园 2 yıl önce
ebeveyn
işleme
41bdf06570

+ 117 - 0
blade-service/trade-finance/src/main/java/org/springblade/finance/controller/AccController.java

@@ -981,4 +981,121 @@ 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);
+	}
+
 }