Ver código fonte

2024年1月24日17:47:23

纪新园 1 ano atrás
pai
commit
2b236ce5e6

+ 36 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/invoices/entity/FinInvoices.java

@@ -23,6 +23,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springblade.los.finance.stl.dto.FinStlBillsItemsReports;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
@@ -568,5 +569,40 @@ public class FinInvoices implements Serializable {
 	@TableField(exist = false)
 	private String serverName;
 
+	/**
+	 * 联系人姓名
+	 */
+	@TableField(exist = false)
+	private String attnName;
+	/**
+	 * 联系人电话
+	 */
+	@TableField(exist = false)
+	private String attnTel;
+
+	/**
+	 * 联系人姓名
+	 */
+	@TableField(exist = false)
+	private String from;
+
+	/**
+	 * 联系人姓名
+	 */
+	@TableField(exist = false)
+	private String fromName;
+
+	/**
+	 * 联系人电话
+	 */
+	@TableField(exist = false)
+	private String fromTel;
+
+	/**
+	 * 明细打印
+	 */
+	@TableField(exist = false)
+	private List<FinStlBillsItemsReports> finStlBillsItemsReportsList;
+
 
 }

+ 6 - 1
blade-service/blade-los/src/main/java/org/springblade/los/Util/MagicValues.java

@@ -11,8 +11,13 @@ public class MagicValues {
 	public static final String DOCUMENT = "单证";
 	public static final String COST = "费用";
 	public static final String PAID_APPLICATION = "付费申请";
-	public static final String PAID_SETTLEMENT = "付费结算";
+	public static final String RECONCILIATION_CENTER = "对账中心";
+	public static final String INVOICE_APPLICATION = "发票申请";
+	public static final String CHARGE_PAID_OFFSET = "收付相抵";
 	public static final String CHARGE_SETTLEMENT = "收费结算";
+	public static final String CHARGE = "收费";
+	public static final String PAID_SETTLEMENT = "付费结算";
+	public static final String PAID = "付费";
 	public static final String SETTLEMENT_CENTER = "结算中心";
 	public static final String MEET = "应付";
 	public static final String RECEIVABLE = "应收";

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

@@ -51,6 +51,10 @@ import org.springblade.los.finance.agreement.service.IAgreementPriceService;
 import org.springblade.los.finance.fee.dto.FeeCenterReports;
 import org.springblade.los.finance.fee.entity.FeeCenter;
 import org.springblade.los.finance.fee.service.IFeeCenterService;
+import org.springblade.los.finance.invoices.entity.FinInvoices;
+import org.springblade.los.finance.invoices.entity.FinInvoicesItems;
+import org.springblade.los.finance.invoices.service.IFinInvoicesItemsService;
+import org.springblade.los.finance.invoices.service.IFinInvoicesService;
 import org.springblade.los.finance.stl.dto.FinStlBillsItemsReports;
 import org.springblade.los.finance.stl.entity.FinStlBills;
 import org.springblade.los.finance.stl.entity.FinStlBillsItems;
@@ -86,9 +90,12 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 	private final IFeeCenterService feeCenterService;
 
 	private final IFinStlBillsService finStlBillsService;
-
 	private final IFinStlBillsItemsService finStlBillsItemsService;
 
+	private final IFinInvoicesService finInvoicesService;
+	private final IFinInvoicesItemsService finInvoicesItemsService;
+
+
 	private final IBCurrencyService ibCurrencyService;
 
 	private final IAgreementPriceService agreementPriceService;
@@ -863,7 +870,9 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 			} else {
 				map.put(MagicValues.DATA, null);
 			}
-		} else if (MagicValues.SETTLEMENT_CENTER.equals(reportCode) && MagicValues.PAID_SETTLEMENT.equals(groupCode)) {
+		} else if ((MagicValues.SETTLEMENT_CENTER.equals(reportCode) || MagicValues.RECONCILIATION_CENTER.equals(reportCode)
+			|| MagicValues.PAID_APPLICATION.equals(reportCode))
+			&& MagicValues.CHARGE_PAID_OFFSET.equals(groupCode)) {
 			FinStlBills finStlBills = finStlBillsService.getById(billId);
 			if (finStlBills != null) {
 				if (ObjectUtils.isNotNull(finStlBills.getCorpId())) {
@@ -910,7 +919,62 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 			} else {
 				map.put(MagicValues.DATA, null);
 			}
-		} else if (MagicValues.SETTLEMENT_CENTER.equals(reportCode) && MagicValues.CHARGE_SETTLEMENT.equals(groupCode)) {
+		} else if ((MagicValues.SETTLEMENT_CENTER.equals(reportCode) || MagicValues.RECONCILIATION_CENTER.equals(reportCode)
+			|| MagicValues.PAID_APPLICATION.equals(reportCode))
+			&& (MagicValues.CHARGE_SETTLEMENT.equals(groupCode) || MagicValues.CHARGE.equals(groupCode))) {
+			FinStlBills finStlBills = finStlBillsService.getById(billId);
+			if (finStlBills != null) {
+				if (ObjectUtils.isNotNull(finStlBills.getCorpId())) {
+					BCorps bCorps = bCorpsService.getById(finStlBills.getCorpId());
+					if (bCorps != null) {
+						finStlBills.setAttnName(bCorps.getAttnName());
+						finStlBills.setAttnTel(bCorps.getAttnTel());
+					}
+				}
+//				finStlBills.setFrom(MagicValues.FM);
+//				finStlBills.setFromName(MagicValues.FM);
+//				finStlBills.setFromTel("0532-82668811");
+				List<FinStlBillsItemsReports> finStlBillsItemsReportsList = new ArrayList<>();
+				LambdaQueryWrapper<FinStlBillsItems> lambdaQueryWrapper = new LambdaQueryWrapper<FinStlBillsItems>()
+					.eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
+					.eq(FinStlBillsItems::getIsDeleted, 0)
+					.eq(FinStlBillsItems::getPid, finStlBills.getId())
+					.orderByDesc(FinStlBillsItems::getVesselCnName);
+				List<FinStlBillsItems> finStlBillsItems = finStlBillsItemsService.list(lambdaQueryWrapper);
+				if (finStlBillsItems.size() > 0) {
+					for (FinStlBillsItems item : finStlBillsItems) {
+						FinStlBillsItemsReports finStlBillsItemsReports = new FinStlBillsItemsReports();
+						finStlBillsItemsReports.setMblno(item.getMblno());
+						finStlBillsItemsReports.setHblno(item.getHblno());
+						finStlBillsItemsReports.setBillNo(item.getBillNo());
+						finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
+						finStlBillsItemsReports.setEtd(item.getEtd());
+						finStlBillsItemsReports.setVesselCnName(item.getVesselCnName() + "/" + item.getVoyageNo());
+						finStlBillsItemsReports.setQuantityCntrTypesDescr(item.getQuantityCntrTypesDescr());
+						finStlBillsItemsReports.setPodCnName(item.getPodCnName());
+						if (MagicValues.D.equals(item.getDc())) {
+							if (MagicValues.CNY.equals(item.getCurCode())) {
+								finStlBillsItemsReports.setAmount(item.getCurrentStlAmount());
+							} else {
+								finStlBillsItemsReports.setAmountUsd(item.getCurrentStlAmount());
+							}
+						} else {
+							if (MagicValues.CNY.equals(item.getCurCode())) {
+								finStlBillsItemsReports.setAmountC(item.getCurrentStlAmount());
+							} else {
+								finStlBillsItemsReports.setAmountUsdC(item.getCurrentStlAmount());
+							}
+						}
+						finStlBillsItemsReportsList.add(finStlBillsItemsReports);
+					}
+				}
+				finStlBills.setFinStlBillsItemsReportsList(finStlBillsItemsReportsList);
+				map.put(MagicValues.DATA, finStlBills);
+			} else {
+				map.put(MagicValues.DATA, null);
+			}
+		} else if ((MagicValues.SETTLEMENT_CENTER.equals(reportCode) || MagicValues.RECONCILIATION_CENTER.equals(reportCode) || MagicValues.PAID_APPLICATION.equals(reportCode))
+			&& (MagicValues.PAID_SETTLEMENT.equals(groupCode) || MagicValues.PAID.equals(groupCode))) {
 			FinStlBills finStlBills = finStlBillsService.getById(billId);
 			if (finStlBills != null) {
 				if (ObjectUtils.isNotNull(finStlBills.getCorpId())) {
@@ -962,6 +1026,105 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 			} else {
 				map.put(MagicValues.DATA, null);
 			}
+		} else if (MagicValues.INVOICE_APPLICATION.equals(reportCode) && MagicValues.CHARGE_PAID_OFFSET.equals(groupCode)) {
+			FinInvoices finStlBills = finInvoicesService.getById(billId);
+			if (finStlBills != null) {
+				if (ObjectUtils.isNotNull(finStlBills.getCorpId())) {
+					BCorps bCorps = bCorpsService.getById(finStlBills.getCorpId());
+					if (bCorps != null) {
+						finStlBills.setAttnName(bCorps.getAttnName());
+						finStlBills.setAttnTel(bCorps.getAttnTel());
+					}
+				}
+//				finStlBills.setFrom(MagicValues.FM);
+//				finStlBills.setFromName(MagicValues.FM);
+//				finStlBills.setFromTel("0532-82668811");
+				List<FinStlBillsItemsReports> finStlBillsItemsReportsList = new ArrayList<>();
+				LambdaQueryWrapper<FinInvoicesItems> lambdaQueryWrapper = new LambdaQueryWrapper<FinInvoicesItems>()
+					.eq(FinInvoicesItems::getTenantId, AuthUtil.getTenantId())
+					.eq(FinInvoicesItems::getIsDeleted, 0)
+					.eq(FinInvoicesItems::getPid, finStlBills.getId());
+				List<FinInvoicesItems> finStlBillsItems = finInvoicesItemsService.list(lambdaQueryWrapper);
+				if (finStlBillsItems.size() > 0) {
+					for (FinInvoicesItems item : finStlBillsItems) {
+						FinStlBillsItemsReports finStlBillsItemsReports = new FinStlBillsItemsReports();
+						finStlBillsItemsReports.setMblno(item.getMblno());
+						finStlBillsItemsReports.setBillNo(item.getBillNo());
+						finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
+						finStlBillsItemsReports.setEtd(item.getEtd());
+						if (MagicValues.D.equals(item.getDc())) {
+							if (MagicValues.CNY.equals(item.getCurCode())) {
+								finStlBillsItemsReports.setAmount(item.getCurrentAmount());
+							} else {
+								finStlBillsItemsReports.setAmountUsd(item.getCurrentAmount());
+							}
+						} else {
+							if (MagicValues.CNY.equals(item.getCurCode())) {
+								finStlBillsItemsReports.setAmountC(item.getCurrentAmount());
+							} else {
+								finStlBillsItemsReports.setAmountUsdC(item.getCurrentAmount());
+							}
+						}
+						finStlBillsItemsReportsList.add(finStlBillsItemsReports);
+					}
+				}
+				finStlBills.setFinStlBillsItemsReportsList(finStlBillsItemsReportsList);
+				map.put(MagicValues.DATA, finStlBills);
+			} else {
+				map.put(MagicValues.DATA, null);
+			}
+		} else if (MagicValues.INVOICE_APPLICATION.equals(reportCode) && MagicValues.CHARGE.equals(groupCode)) {
+			FinInvoices finStlBills = finInvoicesService.getById(billId);
+			if (finStlBills != null) {
+				if (ObjectUtils.isNotNull(finStlBills.getCorpId())) {
+					BCorps bCorps = bCorpsService.getById(finStlBills.getCorpId());
+					if (bCorps != null) {
+						finStlBills.setAttnName(bCorps.getAttnName());
+						finStlBills.setAttnTel(bCorps.getAttnTel());
+					}
+				}
+//				finStlBills.setFrom(MagicValues.FM);
+//				finStlBills.setFromName(MagicValues.FM);
+//				finStlBills.setFromTel("0532-82668811");
+				List<FinStlBillsItemsReports> finStlBillsItemsReportsList = new ArrayList<>();
+				LambdaQueryWrapper<FinInvoicesItems> lambdaQueryWrapper = new LambdaQueryWrapper<FinInvoicesItems>()
+					.eq(FinInvoicesItems::getTenantId, AuthUtil.getTenantId())
+					.eq(FinInvoicesItems::getIsDeleted, 0)
+					.eq(FinInvoicesItems::getPid, finStlBills.getId())
+					.orderByDesc(FinInvoicesItems::getVesselCnName);
+				List<FinInvoicesItems> finStlBillsItems = finInvoicesItemsService.list(lambdaQueryWrapper);
+				if (finStlBillsItems.size() > 0) {
+					for (FinInvoicesItems item : finStlBillsItems) {
+						FinStlBillsItemsReports finStlBillsItemsReports = new FinStlBillsItemsReports();
+						finStlBillsItemsReports.setMblno(item.getMblno());
+						finStlBillsItemsReports.setHblno(item.getHblno());
+						finStlBillsItemsReports.setBillNo(item.getBillNo());
+						finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
+						finStlBillsItemsReports.setEtd(item.getEtd());
+						finStlBillsItemsReports.setVesselCnName(item.getVesselCnName() + "/" + item.getVoyageNo());
+						finStlBillsItemsReports.setQuantityCntrTypesDescr(item.getQuantityCntrTypesDescr());
+						finStlBillsItemsReports.setPodCnName(item.getPodCnName());
+						if (MagicValues.D.equals(item.getDc())) {
+							if (MagicValues.CNY.equals(item.getCurCode())) {
+								finStlBillsItemsReports.setAmount(item.getCurrentAmount());
+							} else {
+								finStlBillsItemsReports.setAmountUsd(item.getCurrentAmount());
+							}
+						} else {
+							if (MagicValues.CNY.equals(item.getCurCode())) {
+								finStlBillsItemsReports.setAmountC(item.getCurrentAmount());
+							} else {
+								finStlBillsItemsReports.setAmountUsdC(item.getCurrentAmount());
+							}
+						}
+						finStlBillsItemsReportsList.add(finStlBillsItemsReports);
+					}
+				}
+				finStlBills.setFinStlBillsItemsReportsList(finStlBillsItemsReportsList);
+				map.put(MagicValues.DATA, finStlBills);
+			} else {
+				map.put(MagicValues.DATA, null);
+			}
 		} else if (MagicValues.COST.equals(reportCode) && MagicValues.MEET.equals(groupCode) && MagicValues.AMEND.equals(type)) {
 			Bills bills;
 			Amends amends = amendsService.getById(billId);
@@ -1943,8 +2106,8 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 							BigDecimal amountDrCnyUpdate = ibCurrencyService.converterCny(MagicValues.USD, amountDrUsd, MagicValues.D);
 							BigDecimal amountCrCnyUpdate = ibCurrencyService.converterCny(MagicValues.USD, amountCrUsd, MagicValues.C);
 							item.setAmountProfitLocUpdate(amountDr.subtract(amountCr).add(amountDrCnyUpdate.subtract(amountCrCnyUpdate)));
-							item.setAmountProfitLocUpdate(item.getAmountProfitLocUpdate().setScale(2,BigDecimal.ROUND_HALF_UP));
-							item.setAmountProfitLoc(item.getAmountProfitLoc().setScale(2,BigDecimal.ROUND_HALF_UP));
+							item.setAmountProfitLocUpdate(item.getAmountProfitLocUpdate().setScale(2, BigDecimal.ROUND_HALF_UP));
+							item.setAmountProfitLoc(item.getAmountProfitLoc().setScale(2, BigDecimal.ROUND_HALF_UP));
 							item.setResponsibleParty(amends.getResponsibleParty());
 							if (ObjectUtils.isNotNull(item.getAmountProfitLocUpdate()) && ObjectUtils.isNotNull(item.getAmountDrLoc())) {
 								if (item.getAmountProfitLocUpdate().compareTo(new BigDecimal(MagicValues.ZERO)) == 0 ||

+ 11 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/aea/controller/AeaBillsController.java

@@ -345,5 +345,16 @@ public class AeaBillsController extends BladeController {
 		return aeaBillsService.revokeDisembarking(ids);
 	}
 
+	/**
+	 * 详情
+	 */
+	@GetMapping("/getDetail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入bills")
+	public R<List<AeaBills>> getDetail(AeaBills bills) {
+		List<AeaBills> detail = aeaBillsService.getDetail(bills);
+		return R.data(detail);
+	}
+
 
 }

+ 2 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/aea/service/IAeaBillsService.java

@@ -118,4 +118,6 @@ public interface IAeaBillsService extends IService<AeaBills> {
 	R disembarking(String ids);
 
 	R revokeDisembarking(String ids);
+
+    List<AeaBills> getDetail(AeaBills bills);
 }

+ 45 - 9
blade-service/blade-los/src/main/java/org/springblade/los/business/aea/service/impl/AeaBillsServiceImpl.java

@@ -38,6 +38,8 @@ import org.springblade.los.business.aea.service.IAeaBillsService;
 import org.springblade.los.business.aea.vo.AeaBillsVO;
 import org.springblade.los.business.files.entity.FilesCenter;
 import org.springblade.los.business.files.service.IFilesCenterService;
+import org.springblade.los.business.sea.entity.Bills;
+import org.springblade.los.business.sea.entity.PreContainers;
 import org.springblade.los.check.dto.LosAuditProecessDTO;
 import org.springblade.los.check.entity.LosAuditPathsActs;
 import org.springblade.los.check.entity.LosAuditPathsLevels;
@@ -125,11 +127,6 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
 			.eq(AeaBills::getIsDeleted, 0)
 			.eq(AeaBills::getMblno, aeaBills.getMblno()
 			));
-		if ("SE".equals(aeaBills.getBusinessType())) {
-			aeaBills.setBillDate(aeaBills.getEtd());
-		} else {
-			aeaBills.setBillDate(aeaBills.getEta());
-		}
 		if (aeaBills.getId() == null) {
 			if ("MH".equals(aeaBills.getBillType())) {
 				if (count.size() > 0) {
@@ -503,18 +500,14 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
 		detail.setFeeCenterListC(feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
 			.eq(FeeCenter::getIsDeleted, 0)
 			.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
-			.eq(FeeCenter::getBillType, detail.getBillType())
 			.eq(FeeCenter::getPid, detail.getId())
 			.eq(FeeCenter::getDc, "C")
-			.eq(FeeCenter::getBillNo, detail.getBillNo())
 		));
 		detail.setFeeCenterListD(feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
 			.eq(FeeCenter::getIsDeleted, 0)
 			.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
-			.eq(FeeCenter::getBillType, detail.getBillType())
 			.eq(FeeCenter::getPid, detail.getId())
 			.eq(FeeCenter::getDc, "D")
-			.eq(FeeCenter::getBillNo, detail.getBillNo())
 		));
 		return detail;
 	}
@@ -1144,4 +1137,47 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
 		return R.data("操作成功");
 	}
 
+	@Override
+	public List<AeaBills> getDetail(AeaBills bills) {
+		if (ObjectUtils.isNull(bills.getMblno()) &&
+			ObjectUtils.isNull(bills.getHblno()) &&
+			ObjectUtils.isNull(bills.getRefno())
+		) {
+			throw new RuntimeException("缺少必要参数");
+		}
+		List<AeaBills> billsList = baseMapper.selectList(new LambdaQueryWrapper<AeaBills>()
+			.eq(ObjectUtils.isNotNull(bills.getBusinessType()), AeaBills::getBusinessType, bills.getBusinessType())
+			.eq(ObjectUtils.isNotNull(bills.getMblno()), AeaBills::getMblno, bills.getMblno())
+			.eq(ObjectUtils.isNotNull(bills.getHblno()), AeaBills::getHblno, bills.getHblno())
+			.eq(ObjectUtils.isNotNull(bills.getRefno()), AeaBills::getRefno, bills.getRefno())
+			.eq(AeaBills::getIsDeleted, 0)
+			.eq(AeaBills::getTenantId, AuthUtil.getTenantId())
+			.eq(AeaBills::getStatus, 3)
+		);
+		if (billsList.size() == 0) {
+			throw new RuntimeException("未查到单据信息");
+		}
+		for (AeaBills detail : billsList) {
+			detail.setFeeCenterListC(feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
+				.eq(FeeCenter::getIsDeleted, 0)
+				.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+				.eq(FeeCenter::getBillType, detail.getBillType())
+				.eq(FeeCenter::getPid, detail.getId())
+				.eq(FeeCenter::getDc, "C")
+				.eq(FeeCenter::getAccStatus, 1)
+				.eq(FeeCenter::getBillNo, detail.getBillNo())
+			));
+			detail.setFeeCenterListD(feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
+				.eq(FeeCenter::getIsDeleted, 0)
+				.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+				.eq(FeeCenter::getBillType, detail.getBillType())
+				.eq(FeeCenter::getPid, detail.getId())
+				.eq(FeeCenter::getDc, "D")
+				.eq(FeeCenter::getAccStatus, 1)
+				.eq(FeeCenter::getBillNo, detail.getBillNo())
+			));
+		}
+		return billsList;
+	}
+
 }

+ 90 - 5
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/controller/FinAccBillsController.java

@@ -30,6 +30,8 @@ import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.los.basic.corps.entity.BCorps;
+import org.springblade.los.basic.corps.service.IBCorpsService;
 import org.springblade.los.business.sea.entity.Bills;
 import org.springblade.los.finance.fee.entity.FeeCenter;
 import org.springblade.los.finance.fee.entity.FinAccBills;
@@ -60,7 +62,7 @@ public class FinAccBillsController extends BladeController {
 
 	private final IFinAccBillsService finAccBillsService;
 
-	private final IFeeCenterService feeCenterService;
+	private final IBCorpsService bCorpsService;
 
 	/**
 	 * 详情
@@ -308,6 +310,7 @@ public class FinAccBillsController extends BladeController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "类别", notes = "传入finAccBills")
 	public R<List<FinAccBillsVO>> listAccBillV1(ListAccBillVO listAccBillVO) {
+		String type = listAccBillVO.getType();
 		if ("2".equals(listAccBillVO.getType())) {
 			//收
 			if ("D".equals(listAccBillVO.getDc())) {
@@ -343,7 +346,7 @@ public class FinAccBillsController extends BladeController {
 			item.setAppliedCurrentStlAmount(item.getAmount().subtract(amount).subtract(item.getStlTtlAmount()));
 			item.setAppliedInvoiceCurrentStlAmount(item.getAmount().subtract(item.getStlTtlAmount()));
 			item.setReconciliationCurrentAmount(item.getAmount().subtract(item.getReconciliationAmount()));
-			if ("2".equals(listAccBillVO.getType())) {
+			if ("2".equals(type)) {
 				//收
 				if ("D".equals(listAccBillVO.getDc())) {
 					if (new BigDecimal("0.00").compareTo(item.getAmount().subtract(item.getStlTtlAmount())) != 0) {
@@ -354,20 +357,102 @@ public class FinAccBillsController extends BladeController {
 						finAccBillsVOList.add(item);
 					}
 				} else {
-					listAccBillVO.setType(null);
+					finAccBillsVOList.add(item);
 				}
-			} else if ("3".equals(listAccBillVO.getType())) {
+			} else if ("3".equals(type)) {
 				if (new BigDecimal("0.00").compareTo(item.getAmount().subtract(item.getUninvoicedAmount())) != 0) {
 					finAccBillsVOList.add(item);
 				}
-			} else if ("1".equals(listAccBillVO.getType())) {
+			} else if ("1".equals(type)) {
 				if (new BigDecimal("0.00").compareTo(item.getAmount().subtract(item.getReconciliationAmount())) != 0) {
 					finAccBillsVOList.add(item);
 				}
+			} else if ("5".equals(type)) {
+				finAccBillsVOList.add(item);
 			}
 		}
 		return R.data(finAccBillsVOList);
 	}
 
+	/**
+	 * 财务账单(对账)
+	 */
+	@GetMapping("/listAccBillByCorp")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "类别", notes = "传入finAccBills")
+	public R<List<BCorps>> listAccBillByCorp(ListAccBillVO listAccBillVO) {
+		String type = listAccBillVO.getType();
+		if ("2".equals(listAccBillVO.getType())) {
+			//收
+			if ("D".equals(listAccBillVO.getDc())) {
+				listAccBillVO.setType("2");
+			} else if ("C".equals(listAccBillVO.getDc())) {
+				//付
+				listAccBillVO.setType("3");
+			} else {
+				listAccBillVO.setType(null);
+			}
+		} else if ("3".equals(listAccBillVO.getType())) {
+			listAccBillVO.setType("4");
+		}
+		if (ObjectUtils.isNotNull(listAccBillVO.getIsChecked()) && 0 == listAccBillVO.getIsChecked()) {
+			listAccBillVO.setIsChecked(null);
+		}
+		if (ObjectUtils.isNotNull(listAccBillVO.getIsCleared()) && 0 == listAccBillVO.getIsCleared()) {
+			listAccBillVO.setIsCleared(null);
+		}
+		if (ObjectUtils.isNotNull(listAccBillVO.getIsSignfor()) && 0 == listAccBillVO.getIsSignfor()) {
+			listAccBillVO.setIsSignfor(null);
+		}
+		if (ObjectUtils.isNotNull(listAccBillVO.getInvoiceStatus()) && 0 == listAccBillVO.getInvoiceStatus()) {
+			listAccBillVO.setIsChecked(null);
+		}
+		if (ObjectUtils.isNotNull(listAccBillVO.getAuditStatus()) && "0".equals(listAccBillVO.getAuditStatus())) {
+			listAccBillVO.setAuditStatus(null);
+		}
+		List<FinAccBillsVO> finAccBillsVOList = new ArrayList<>();
+		List<BCorps> bCorpsList = new ArrayList<>();
+		List<FinAccBillsVO> list = finAccBillsService.listAccBill(listAccBillVO);
+		for (FinAccBillsVO item : list) {
+			BigDecimal amount = item.getAppliedAmount().subtract(item.getAppliedAmountStl());
+			item.setAppliedCurrentStlAmount(item.getAmount().subtract(amount).subtract(item.getStlTtlAmount()));
+			item.setAppliedInvoiceCurrentStlAmount(item.getAmount().subtract(item.getStlTtlAmount()));
+			item.setReconciliationCurrentAmount(item.getAmount().subtract(item.getReconciliationAmount()));
+			if ("2".equals(type)) {
+				//收
+				if ("D".equals(listAccBillVO.getDc())) {
+					if (new BigDecimal("0.00").compareTo(item.getAmount().subtract(item.getStlTtlAmount())) != 0) {
+						finAccBillsVOList.add(item);
+					}
+				} else if ("C".equals(listAccBillVO.getDc())) {
+					if (new BigDecimal("0.00").compareTo(item.getAmount().subtract(amount).subtract(item.getStlTtlAmount())) != 0) {
+						finAccBillsVOList.add(item);
+					}
+				} else {
+					finAccBillsVOList.add(item);
+				}
+			} else if ("3".equals(type)) {
+				if (new BigDecimal("0.00").compareTo(item.getAmount().subtract(item.getUninvoicedAmount())) != 0) {
+					finAccBillsVOList.add(item);
+				}
+			} else if ("1".equals(type)) {
+				if (new BigDecimal("0.00").compareTo(item.getAmount().subtract(item.getReconciliationAmount())) != 0) {
+					finAccBillsVOList.add(item);
+				}
+			} else if ("5".equals(type)) {
+				finAccBillsVOList.add(item);
+			}
+		}
+		if (finAccBillsVOList.size() > 0) {
+			List<Long> ids = finAccBillsVOList.stream().map(FinAccBillsVO::getCorpId).distinct().collect(Collectors.toList());
+			bCorpsList = bCorpsService.list(new LambdaQueryWrapper<BCorps>()
+				.eq(BCorps::getTenantId, AuthUtil.getTenantId())
+				.eq(BCorps::getIsDeleted, 0)
+				.eq(BCorps::getStatus, 0)
+				.in(BCorps::getId, ids));
+		}
+		return R.data(bCorpsList);
+	}
+
 
 }