Browse Source

2024年1月15日15:55:39

纪新园 2 years ago
parent
commit
f26888502c
14 changed files with 259 additions and 225 deletions
  1. 36 16
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/fee/entity/FinAccBills.java
  2. 30 18
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/fee/entity/ListAccBillVO.java
  3. 5 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/fee/vo/FinAccBillsVO.java
  4. 20 10
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/invoices/entity/FinInvoices.java
  5. 39 12
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/stl/entity/FinStlBills.java
  6. 6 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/stl/entity/FinStlBillsItems.java
  7. 16 16
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/mapper/BillsMapper.xml
  8. 5 0
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java
  9. 12 12
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/ContainersServiceImpl.java
  10. 27 70
      blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/controller/FinAccBillsController.java
  11. 2 2
      blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/service/impl/FinAccBillsServiceImpl.java
  12. 11 10
      blade-service/blade-los/src/main/java/org/springblade/los/finance/invoices/controller/FinInvoicesController.java
  13. 10 10
      blade-service/blade-los/src/main/java/org/springblade/los/finance/stl/controller/FinStlBillsController.java
  14. 40 49
      blade-service/blade-los/src/main/java/org/springblade/los/finance/stl/service/impl/FinStlBillsServiceImpl.java

+ 36 - 16
blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/fee/entity/FinAccBills.java

@@ -134,7 +134,12 @@ public class FinAccBills implements Serializable {
 	 * 财务日期
 	 */
 	@TableField(exist = false)
-	private List<String> accountDateList;
+	private String accountDateStart;
+	/**
+	 * 财务日期
+	 */
+	@TableField(exist = false)
+	private String accountDateEnd;
 	/**
 	 * 账单关键字 业务表的id+结算单位+收付  +核算要素作为关键字
 	 */
@@ -166,7 +171,12 @@ public class FinAccBills implements Serializable {
 	 * 业务单据日期(主单,直单)
 	 */
 	@TableField(exist = false)
-	private List<String> businessDateList;
+	private String businessDateStart;
+	/**
+	 * 业务单据日期(主单,直单)
+	 */
+	@TableField(exist = false)
+	private String businessDateEnd;
 	/**
 	 * 业务 id(分单)
 	 */
@@ -303,11 +313,6 @@ public class FinAccBills implements Serializable {
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date etd;
 	/**
-	 * 开船日期
-	 */
-	@TableField(exist = false)
-	private List<String> etdList;
-	/**
 	 * 到港日期
 	 */
 	@ApiModelProperty(value = "到港日期")
@@ -315,11 +320,6 @@ public class FinAccBills implements Serializable {
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	private Date eta;
 	/**
-	 * 到港日期
-	 */
-	@TableField(exist = false)
-	private List<String> etaList;
-	/**
 	 * 装货港 id
 	 */
 	@ApiModelProperty(value = "装货港 id")
@@ -421,7 +421,12 @@ public class FinAccBills implements Serializable {
 	 * 结算日期
 	 */
 	@TableField(exist = false)
-	private List<String> stlDateList;
+	private String stlDateStart;
+	/**
+	 * 结算日期
+	 */
+	@TableField(exist = false)
+	private String stlDateEnd;
 	/**
 	 * 已结算本位币应收(CNY)
 	 */
@@ -478,7 +483,12 @@ public class FinAccBills implements Serializable {
 	 * 发票日期
 	 */
 	@TableField(exist = false)
-	private List<String> invoiceDateList;
+	private String invoiceDateStart;
+	/**
+	 * 发票日期
+	 */
+	@TableField(exist = false)
+	private String invoiceDateEnd;
 	/**
 	 * 凭证 Id
 	 */
@@ -506,7 +516,12 @@ public class FinAccBills implements Serializable {
 	 * 凭证日期
 	 */
 	@TableField(exist = false)
-	private List<String> voucherDateList;
+	private String voucherDateStart;
+	/**
+	 * 凭证日期
+	 */
+	@TableField(exist = false)
+	private String voucherDateEnd;
 	/**
 	 * 是否对账(0 未对账 1 已对账)
 	 */
@@ -592,7 +607,12 @@ public class FinAccBills implements Serializable {
 	 * 审核日期
 	 */
 	@TableField(exist = false)
-	private List<String> approvedDateList;
+	private String approvedDateStart;
+/**
+	 * 审核日期
+	 */
+	@TableField(exist = false)
+	private String approvedDateEnd;
 
 	/**
 	 * 开票CNY

+ 30 - 18
blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/fee/entity/ListAccBillVO.java

@@ -32,9 +32,14 @@ public class ListAccBillVO extends FinAccBills {
 	private Integer isSignfor;
 
 	/**
-	 * 签收日期
+	 * 签收日期开始
 	 */
-	private List<String> signforDateList;
+	private String signforDateStart;
+
+	/**
+	 * 签收日期结束
+	 */
+	private String signforDateEnd;
 
 	/**
 	 * 收付 D=收 C=付
@@ -91,14 +96,34 @@ public class ListAccBillVO extends FinAccBills {
 	private String checkBillNo;
 
 	/**
-	 * 财务日期
+	 * 业务开始
+	 */
+	private String businessDateStart;
+
+	/**
+	 * 业务结束
 	 */
-	private List<String> billDateList;
+	private String businessDateEnd;
+
+	/**
+	 * 财务开始
+	 */
+	private String billDateStart;
+
+	/**
+	 * 财务结束
+	 */
+	private String billDateEnd;
+
+	/**
+	 * 审核时间
+	 */
+	private String approveTimeStart;
 
 	/**
 	 * 审核时间
 	 */
-	private List<String> approveTimeList;
+	private String approveTimeEnd;
 
 	/**
 	 * 查询金额
@@ -156,19 +181,6 @@ public class ListAccBillVO extends FinAccBills {
 	private String type;
 
 	/**
-	 * 财务开始日期
-	 */
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
-	private Date accountDateFrom;
-	/**
-	 * 财务结束日期
-	 */
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
-	private Date accountDateTo;
-
-	/**
 	 * 账单id
 	 */
 	private Long accId;

+ 5 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/fee/vo/FinAccBillsVO.java

@@ -283,4 +283,9 @@ public class FinAccBillsVO extends FinAccBills {
 	 */
 	private BigDecimal currentStlAmount;
 
+	/**
+	 * 本次对账金额
+	 */
+	private BigDecimal reconciliationCurrentAmount;
+
 }

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

@@ -102,8 +102,8 @@ public class FinInvoices implements Serializable {
 	 * 单据日期
 	 */
 	@ApiModelProperty(value = "单据日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date billDate;
 	/**
 	 * 发票号码
@@ -114,10 +114,20 @@ public class FinInvoices implements Serializable {
 	 * 开票日期
 	 */
 	@ApiModelProperty(value = "开票日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date invoiceDate;
 	/**
+	 * 开票日期开始
+	 */
+	@TableField(exist = false)
+	private String invoiceDateStart;
+	/**
+	 * 开票日期结束
+	 */
+	@TableField(exist = false)
+	private String invoiceDateEnd;
+	/**
 	 * 原发票号码
 	 */
 	@ApiModelProperty(value = "原发票号码")
@@ -313,15 +323,15 @@ public class FinInvoices implements Serializable {
 	 * 财务开始日期
 	 */
 	@ApiModelProperty(value = "财务开始日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date accountDateFrom;
 	/**
 	 * 财务结束日期
 	 */
 	@ApiModelProperty(value = "财务结束日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date accountDateTo;
 	/**
 	 * 申请人 Id
@@ -367,8 +377,8 @@ public class FinInvoices implements Serializable {
 	 * 导出日期
 	 */
 	@ApiModelProperty(value = "导出日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date exportDate;
 	/**
 	 * 导出人 Id

+ 39 - 12
blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/stl/entity/FinStlBills.java

@@ -109,15 +109,20 @@ public class FinStlBills implements Serializable {
 	 * 对账/结算日期
 	 */
 	@ApiModelProperty(value = "对账/结算日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd ")
+	@DateTimeFormat(pattern = "yyyy-MM-dd ")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date billDate;
 	/**
 	 * 对账/结算日期
 	 */
 	@TableField(exist = false)
-	private List<String> billDateList;
+	private String billDateStart;
+	/**
+	 * 对账/结算日期
+	 */
+	@TableField(exist = false)
+	private String billDateEnd;
 	/**
 	 * 客户 id
 	 */
@@ -238,20 +243,37 @@ public class FinStlBills implements Serializable {
 	 */
 	@ApiModelProperty(value = "HB/L NO")
 	private String hblno;
+
+	/**
+	 * 业务开始日期
+	 */
+	@ApiModelProperty(value = "业务开始日期")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd ")
+	@DateTimeFormat(pattern = "yyyy-MM-dd ")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date businessDateStart;
+	/**
+	 * 业务结束日期
+	 */
+	@ApiModelProperty(value = "业务结束日期")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd ")
+	@DateTimeFormat(pattern = "yyyy-MM-dd ")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date businessDateEnd;
 	/**
 	 * 财务开始日期
 	 */
 	@ApiModelProperty(value = "财务开始日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd ")
+	@DateTimeFormat(pattern = "yyyy-MM-dd ")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date accountDateFrom;
 	/**
 	 * 财务结束日期
 	 */
 	@ApiModelProperty(value = "财务结束日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd ")
+	@DateTimeFormat(pattern = "yyyy-MM-dd ")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date accountDateTo;
 	/**
@@ -263,8 +285,8 @@ public class FinStlBills implements Serializable {
 	 * 审核结束日期
 	 */
 	@ApiModelProperty(value = "审核结束日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd ")
+	@DateTimeFormat(pattern = "yyyy-MM-dd ")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date auditDateTo;
 	/**
@@ -341,8 +363,8 @@ public class FinStlBills implements Serializable {
 	 * 凭证日期
 	 */
 	@ApiModelProperty(value = "凭证日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd ")
+	@DateTimeFormat(pattern = "yyyy-MM-dd ")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date voucherDate;
 	/**
@@ -508,7 +530,12 @@ public class FinStlBills implements Serializable {
 	 * 预收时间
 	 */
 	@TableField(exist = false)
-	private List<String> estimatedTimeList;
+	private String estimatedTimeStart;
+	/**
+	 * 预收时间
+	 */
+	@TableField(exist = false)
+	private String estimatedTimeEnd;
 
 	/**
 	 * 财务对账单和结算单明细

+ 6 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/stl/entity/FinStlBillsItems.java

@@ -696,5 +696,11 @@ public class FinStlBillsItems implements Serializable {
 	@TableField(exist = false)
 	private BigDecimal appliedInvoiceCurrentStlAmount;
 
+	/**
+	 * 本次对账金额
+	 */
+	@TableField(exist = false)
+	private BigDecimal reconciliationCurrentAmount;
+
 
 }

+ 16 - 16
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/mapper/BillsMapper.xml

@@ -389,29 +389,29 @@
         <if test="acc.isChecked != null">
             and acc.is_checked = #{acc.isChecked}
         </if>
-        <if test="acc.billDateList != null and acc.billDateList != '' and acc.billDateList[0] != ''">
-            and acc.bill_date &gt;= #{acc.billDateList[0]}
+        <if test="acc.billDateStart != null and acc.billDateStart != ''">
+            and acc.bill_date &gt;= #{acc.billDateStart}
         </if>
-        <if test="acc.billDateList != null and acc.billDateList != '' and acc.billDateList[1] != ''">
-            and acc.bill_date &lt;= #{acc.billDateList[1]}
+        <if test="acc.billDateEnd != null and acc.billDateEnd != ''">
+            and acc.bill_date &lt;= #{acc.billDateEnd}
         </if>
-        <if test="acc.accountDateFrom != null">
-            and acc.business_date &gt;= #{acc.accountDateFrom}
+        <if test="acc.businessDateStart != null and acc.businessDateStart != ''">
+            and acc.business_date &gt;= #{acc.businessDateStart}
         </if>
-        <if test="acc.accountDateTo != null">
-            and acc.business_date &lt;= #{acc.accountDateTo}
+        <if test="acc.businessDateEnd != null and acc.businessDateEnd != ''">
+            and acc.business_date &lt;= #{acc.businessDateEnd}
         </if>
-        <if test="acc.approveTimeList != null and acc.approveTimeList != '' and acc.approveTimeList[0] != ''">
-            and fee.approve_time &gt;= #{acc.approveTimeList[0]}
+        <if test="acc.approveTimeStart != null and acc.approveTimeStart != ''">
+            and fee.approve_time &gt;= #{acc.approveTimeStart}
         </if>
-        <if test="acc.approveTimeList != null and acc.approveTimeList != '' and acc.approveTimeList[1] != ''">
-            and fee.approve_time &lt;= #{acc.approveTimeList[1]}
+        <if test="acc.approveTimeEnd != null and acc.approveTimeEnd != ''">
+            and fee.approve_time &lt;= #{acc.approveTimeEnd}
         </if>
-        <if test="acc.signforDateList != null and acc.signforDateList != '' and acc.signforDateList[0] != ''">
-            and fee.signfor_date &gt;= #{acc.signforDateList[0]}
+        <if test="acc.signforDateStart != null and acc.signforDateStart != '' ">
+            and fee.signfor_date &gt;= #{acc.signforDateStart}
         </if>
-        <if test="acc.signforDateList != null and acc.signforDateList != '' and acc.signforDateList[1] != ''">
-            and fee.signfor_date &lt;= #{acc.signforDateList[1]}
+        <if test="acc.signforDateEnd != null and acc.signforDateEnd != '' ">
+            and fee.signfor_date &lt;= #{acc.signforDateEnd}
         </if>
         <if test="acc.queryAmount != null and acc.queryAmount != ''">
             and (acc.amount_dr_loc = #{acc.queryAmount} or acc.amount_cr_loc = #{acc.queryAmount})

+ 5 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java

@@ -156,6 +156,11 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 			.eq(Bills::getMblno, bills.getMblno())
 			.eq(Bills::getBookingNo, bills.getBookingNo())
 		);
+		if ("SE".equals(bills.getBusinessType())){
+			bills.setBillDate(bills.getEtd());
+		}else{
+			bills.setBillDate(bills.getEta());
+		}
 		if (bills.getId() == null) {
 			if ("MH".equals(bills.getBillType())) {
 				if (count.size() > 0) {

+ 12 - 12
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/ContainersServiceImpl.java

@@ -96,21 +96,21 @@ public class ContainersServiceImpl extends ServiceImpl<ContainersMapper, Contain
 				branchId = deptId;
 			}
 		}
-		long sealNoCount = baseMapper.selectCount(new LambdaQueryWrapper<Containers>()
+		List<Containers> sealNoCount = baseMapper.selectList(new LambdaQueryWrapper<Containers>()
 			.eq(Containers::getTenantId, AuthUtil.getTenantId())
 			.eq(Containers::getIsDeleted, 0)
 			.eq(Containers::getPid, containers.getPid())
 			.eq(Containers::getSealNo, containers.getSealNo()));
-		long cntrNoCount = baseMapper.selectCount(new LambdaQueryWrapper<Containers>()
+		List<Containers> cntrNoCount = baseMapper.selectList(new LambdaQueryWrapper<Containers>()
 			.eq(Containers::getTenantId, AuthUtil.getTenantId())
 			.eq(Containers::getIsDeleted, 0)
 			.eq(Containers::getPid, containers.getPid())
 			.eq(Containers::getCntrNo, containers.getCntrNo()));
 		if (containers.getId() == null) {
-			if (ObjectUtils.isNotNull(containers.getCntrNo()) && cntrNoCount > 0) {
+			if (ObjectUtils.isNotNull(containers.getCntrNo()) && cntrNoCount.size() > 0) {
 				throw new RuntimeException("箱号不允许重复");
 			}
-			if (ObjectUtils.isNotNull(containers.getSealNo()) && sealNoCount > 0) {
+			if (ObjectUtils.isNotNull(containers.getSealNo()) && sealNoCount.size() > 0) {
 				throw new RuntimeException("铅封号不允许重复");
 			}
 			containers.setCreateTime(new Date());
@@ -122,10 +122,10 @@ public class ContainersServiceImpl extends ServiceImpl<ContainersMapper, Contain
 				containers.setCreateDeptName(deptName);
 			}
 		} else {
-			if (ObjectUtils.isNotNull(containers.getCntrNo()) && cntrNoCount > 1) {
+			if (ObjectUtils.isNotNull(containers.getCntrNo()) && cntrNoCount.stream().anyMatch(e -> !e.getId().equals(containers.getId()))) {
 				throw new RuntimeException("箱号不允许重复");
 			}
-			if (ObjectUtils.isNotNull(containers.getSealNo()) && sealNoCount > 1) {
+			if (ObjectUtils.isNotNull(containers.getSealNo()) && sealNoCount.stream().anyMatch(e -> !e.getId().equals(containers.getId()))) {
 				throw new RuntimeException("铅封号不允许重复");
 			}
 			containers.setUpdateUser(AuthUtil.getUserId());
@@ -429,21 +429,21 @@ public class ContainersServiceImpl extends ServiceImpl<ContainersMapper, Contain
 		List<ContainersBills> subtractContainersBillsList = new ArrayList<>();
 		List<ContainersCommodity> containersCommodityList = new ArrayList<>();
 		for (Containers containers : list) {
-			long sealNoCount = baseMapper.selectCount(new LambdaQueryWrapper<Containers>()
+			List<Containers> sealNoCount = baseMapper.selectList(new LambdaQueryWrapper<Containers>()
 				.eq(Containers::getTenantId, AuthUtil.getTenantId())
 				.eq(Containers::getIsDeleted, 0)
 				.eq(Containers::getPid, containers.getPid())
 				.eq(Containers::getSealNo, containers.getSealNo()));
-			long cntrNoCount = baseMapper.selectCount(new LambdaQueryWrapper<Containers>()
+			List<Containers> cntrNoCount = baseMapper.selectList(new LambdaQueryWrapper<Containers>()
 				.eq(Containers::getTenantId, AuthUtil.getTenantId())
 				.eq(Containers::getIsDeleted, 0)
 				.eq(Containers::getPid, containers.getPid())
 				.eq(Containers::getCntrNo, containers.getCntrNo()));
 			if (containers.getId() == null) {
-				if (ObjectUtils.isNotNull(containers.getCntrNo()) && cntrNoCount > 0) {
+				if (ObjectUtils.isNotNull(containers.getCntrNo()) && cntrNoCount.size() > 0) {
 					throw new RuntimeException("箱号不允许重复");
 				}
-				if (ObjectUtils.isNotNull(containers.getSealNo()) && sealNoCount > 0) {
+				if (ObjectUtils.isNotNull(containers.getSealNo()) && sealNoCount.size() > 0) {
 					throw new RuntimeException("铅封号不允许重复");
 				}
 				containers.setCreateTime(new Date());
@@ -455,10 +455,10 @@ public class ContainersServiceImpl extends ServiceImpl<ContainersMapper, Contain
 					containers.setCreateDeptName(deptName);
 				}
 			} else {
-				if (ObjectUtils.isNotNull(containers.getCntrNo()) && cntrNoCount > 1) {
+				if (ObjectUtils.isNotNull(containers.getCntrNo()) && cntrNoCount.stream().anyMatch(e -> !e.getId().equals(containers.getId()))) {
 					throw new RuntimeException("箱号不允许重复");
 				}
-				if (ObjectUtils.isNotNull(containers.getSealNo()) && sealNoCount > 1) {
+				if (ObjectUtils.isNotNull(containers.getSealNo()) && sealNoCount.stream().anyMatch(e -> !e.getId().equals(containers.getId()))) {
 					throw new RuntimeException("铅封号不允许重复");
 				}
 				containers.setUpdateUser(AuthUtil.getUserId());

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

@@ -112,38 +112,18 @@ public class FinAccBillsController extends BladeController {
 			.eq(ObjectUtils.isNotNull(finAccBills.getBillStatus()), FinAccBills::getBillStatus, finAccBills.getBillStatus())
 			.like(ObjectUtils.isNotNull(finAccBills.getBookingNo()), FinAccBills::getBookingNo, finAccBills.getBookingNo());
 
-		if (ObjectUtils.isNotNull(finAccBills.getAccountDateList()) && finAccBills.getAccountDateList().size() > 0) {
-			lambdaQueryWrapper.ge(FinAccBills::getAccountDate, finAccBills.getAccountDateList().get(0));
-			lambdaQueryWrapper.le(FinAccBills::getAccountDate, finAccBills.getAccountDateList().get(1));
-		}
-		if (ObjectUtils.isNotNull(finAccBills.getBusinessDateList()) && finAccBills.getBusinessDateList().size() > 0) {
-			lambdaQueryWrapper.ge(FinAccBills::getBusinessDate, finAccBills.getBusinessDateList().get(0));
-			lambdaQueryWrapper.le(FinAccBills::getBusinessDate, finAccBills.getBusinessDateList().get(1));
-		}
-		if (ObjectUtils.isNotNull(finAccBills.getBusinessDivideDateList()) && finAccBills.getBusinessDivideDateList().size() > 0) {
-			lambdaQueryWrapper.ge(FinAccBills::getBusinessDivideDate, finAccBills.getBusinessDivideDateList().get(0));
-			lambdaQueryWrapper.le(FinAccBills::getBusinessDivideDate, finAccBills.getBusinessDivideDateList().get(1));
-		}
-		if (ObjectUtils.isNotNull(finAccBills.getEtdList()) && finAccBills.getEtdList().size() > 0) {
-			lambdaQueryWrapper.ge(FinAccBills::getEtd, finAccBills.getEtdList().get(0));
-			lambdaQueryWrapper.le(FinAccBills::getEtd, finAccBills.getEtdList().get(1));
-		}
-		if (ObjectUtils.isNotNull(finAccBills.getEtaList()) && finAccBills.getEtaList().size() > 0) {
-			lambdaQueryWrapper.ge(FinAccBills::getEta, finAccBills.getEtaList().get(0));
-			lambdaQueryWrapper.le(FinAccBills::getEta, finAccBills.getEtaList().get(1));
-		}
-		if (ObjectUtils.isNotNull(finAccBills.getStlDateList()) && finAccBills.getStlDateList().size() > 0) {
-			lambdaQueryWrapper.ge(FinAccBills::getStlDate, finAccBills.getStlDateList().get(0));
-			lambdaQueryWrapper.le(FinAccBills::getStlDate, finAccBills.getStlDateList().get(1));
-		}
-		if (ObjectUtils.isNotNull(finAccBills.getInvoiceDateList()) && finAccBills.getInvoiceDateList().size() > 0) {
-			lambdaQueryWrapper.ge(FinAccBills::getInvoiceDate, finAccBills.getInvoiceDateList().get(0));
-			lambdaQueryWrapper.le(FinAccBills::getInvoiceDate, finAccBills.getInvoiceDateList().get(1));
-		}
-		if (ObjectUtils.isNotNull(finAccBills.getVoucherDateList()) && finAccBills.getVoucherDateList().size() > 0) {
-			lambdaQueryWrapper.ge(FinAccBills::getVoucherDate, finAccBills.getVoucherDateList().get(0));
-			lambdaQueryWrapper.le(FinAccBills::getVoucherDate, finAccBills.getVoucherDateList().get(1));
-		}
+		lambdaQueryWrapper.ge(ObjectUtils.isNotNull(finAccBills.getAccountDateStart()), FinAccBills::getAccountDate, finAccBills.getAccountDateStart());
+		lambdaQueryWrapper.le(ObjectUtils.isNotNull(finAccBills.getAccountDateEnd()), FinAccBills::getAccountDate, finAccBills.getAccountDateEnd());
+		lambdaQueryWrapper.ge(ObjectUtils.isNotNull(finAccBills.getBusinessDateStart()), FinAccBills::getBusinessDate, finAccBills.getBusinessDateStart());
+		lambdaQueryWrapper.le(ObjectUtils.isNotNull(finAccBills.getBusinessDateEnd()), FinAccBills::getBusinessDate, finAccBills.getBusinessDateEnd());
+		lambdaQueryWrapper.ge(ObjectUtils.isNotNull(finAccBills.getStlDateStart()), FinAccBills::getStlDate, finAccBills.getStlDateStart());
+		lambdaQueryWrapper.le(ObjectUtils.isNotNull(finAccBills.getStlDateEnd()), FinAccBills::getStlDate, finAccBills.getStlDateEnd());
+		lambdaQueryWrapper.ge(ObjectUtils.isNotNull(finAccBills.getInvoiceDateStart()), FinAccBills::getInvoiceDate, finAccBills.getInvoiceDateStart());
+		lambdaQueryWrapper.le(ObjectUtils.isNotNull(finAccBills.getInvoiceDateEnd()), FinAccBills::getInvoiceDate, finAccBills.getInvoiceDateEnd());
+		lambdaQueryWrapper.ge(ObjectUtils.isNotNull(finAccBills.getVoucherDateStart()), FinAccBills::getVoucherDate, finAccBills.getVoucherDateStart());
+		lambdaQueryWrapper.le(ObjectUtils.isNotNull(finAccBills.getVoucherDateEnd()), FinAccBills::getVoucherDate, finAccBills.getVoucherDateEnd());
+		lambdaQueryWrapper.ge(ObjectUtils.isNotNull(finAccBills.getApprovedDateStart()), FinAccBills::getApprovedDate, finAccBills.getApprovedDateStart());
+		lambdaQueryWrapper.le(ObjectUtils.isNotNull(finAccBills.getApprovedDateEnd()), FinAccBills::getApprovedDate, finAccBills.getApprovedDateEnd());
 		lambdaQueryWrapper.orderByDesc(FinAccBills::getCreateTime);
 		IPage<FinAccBills> pages = finAccBillsService.page(Condition.getPage(query), lambdaQueryWrapper);
 		String accBillNo = "";
@@ -303,42 +283,18 @@ public class FinAccBillsController extends BladeController {
 			.eq(ObjectUtils.isNotNull(finAccBills.getBillStatus()), FinAccBills::getAccountDc, finAccBills.getAccountDc())
 			.like(ObjectUtils.isNotNull(finAccBills.getBookingNo()), FinAccBills::getAccountDc, finAccBills.getAccountDc());
 
-		if (ObjectUtils.isNotNull(finAccBills.getAccountDateList()) && finAccBills.getAccountDateList().size() > 0) {
-			lambdaQueryWrapper.ge(FinAccBills::getAccountDate, finAccBills.getAccountDateList().get(0));
-			lambdaQueryWrapper.le(FinAccBills::getAccountDate, finAccBills.getAccountDateList().get(1));
-		}
-		if (ObjectUtils.isNotNull(finAccBills.getBusinessDateList()) && finAccBills.getBusinessDateList().size() > 0) {
-			lambdaQueryWrapper.ge(FinAccBills::getBusinessDate, finAccBills.getBusinessDateList().get(0));
-			lambdaQueryWrapper.le(FinAccBills::getBusinessDate, finAccBills.getBusinessDateList().get(1));
-		}
-		if (ObjectUtils.isNotNull(finAccBills.getApprovedDateList()) && finAccBills.getApprovedDateList().size() > 0) {
-			lambdaQueryWrapper.ge(FinAccBills::getApprovedDate, finAccBills.getApprovedDateList().get(0));
-			lambdaQueryWrapper.le(FinAccBills::getApprovedDate, finAccBills.getApprovedDateList().get(1));
-		}
-		if (ObjectUtils.isNotNull(finAccBills.getBusinessDivideDateList()) && finAccBills.getBusinessDivideDateList().size() > 0) {
-			lambdaQueryWrapper.ge(FinAccBills::getBusinessDivideDate, finAccBills.getBusinessDivideDateList().get(0));
-			lambdaQueryWrapper.le(FinAccBills::getBusinessDivideDate, finAccBills.getBusinessDivideDateList().get(1));
-		}
-		if (ObjectUtils.isNotNull(finAccBills.getEtdList()) && finAccBills.getEtdList().size() > 0) {
-			lambdaQueryWrapper.ge(FinAccBills::getEtd, finAccBills.getEtdList().get(0));
-			lambdaQueryWrapper.le(FinAccBills::getEtd, finAccBills.getEtdList().get(1));
-		}
-		if (ObjectUtils.isNotNull(finAccBills.getEtaList()) && finAccBills.getEtaList().size() > 0) {
-			lambdaQueryWrapper.ge(FinAccBills::getEta, finAccBills.getEtaList().get(0));
-			lambdaQueryWrapper.le(FinAccBills::getEta, finAccBills.getEtaList().get(1));
-		}
-		if (ObjectUtils.isNotNull(finAccBills.getStlDateList()) && finAccBills.getStlDateList().size() > 0) {
-			lambdaQueryWrapper.ge(FinAccBills::getStlDate, finAccBills.getStlDateList().get(0));
-			lambdaQueryWrapper.le(FinAccBills::getStlDate, finAccBills.getStlDateList().get(1));
-		}
-		if (ObjectUtils.isNotNull(finAccBills.getInvoiceDateList()) && finAccBills.getInvoiceDateList().size() > 0) {
-			lambdaQueryWrapper.ge(FinAccBills::getInvoiceDate, finAccBills.getInvoiceDateList().get(0));
-			lambdaQueryWrapper.le(FinAccBills::getInvoiceDate, finAccBills.getInvoiceDateList().get(1));
-		}
-		if (ObjectUtils.isNotNull(finAccBills.getVoucherDateList()) && finAccBills.getVoucherDateList().size() > 0) {
-			lambdaQueryWrapper.ge(FinAccBills::getVoucherDate, finAccBills.getVoucherDateList().get(0));
-			lambdaQueryWrapper.le(FinAccBills::getVoucherDate, finAccBills.getVoucherDateList().get(1));
-		}
+		lambdaQueryWrapper.ge(ObjectUtils.isNotNull(finAccBills.getAccountDateStart()), FinAccBills::getAccountDate, finAccBills.getAccountDateStart());
+		lambdaQueryWrapper.le(ObjectUtils.isNotNull(finAccBills.getAccountDateEnd()), FinAccBills::getAccountDate, finAccBills.getAccountDateEnd());
+		lambdaQueryWrapper.ge(ObjectUtils.isNotNull(finAccBills.getBusinessDateStart()), FinAccBills::getBusinessDate, finAccBills.getBusinessDateStart());
+		lambdaQueryWrapper.le(ObjectUtils.isNotNull(finAccBills.getBusinessDateEnd()), FinAccBills::getBusinessDate, finAccBills.getBusinessDateEnd());
+		lambdaQueryWrapper.ge(ObjectUtils.isNotNull(finAccBills.getStlDateStart()), FinAccBills::getStlDate, finAccBills.getStlDateStart());
+		lambdaQueryWrapper.le(ObjectUtils.isNotNull(finAccBills.getStlDateEnd()), FinAccBills::getStlDate, finAccBills.getStlDateEnd());
+		lambdaQueryWrapper.ge(ObjectUtils.isNotNull(finAccBills.getInvoiceDateStart()), FinAccBills::getInvoiceDate, finAccBills.getInvoiceDateStart());
+		lambdaQueryWrapper.le(ObjectUtils.isNotNull(finAccBills.getInvoiceDateEnd()), FinAccBills::getInvoiceDate, finAccBills.getInvoiceDateEnd());
+		lambdaQueryWrapper.ge(ObjectUtils.isNotNull(finAccBills.getVoucherDateStart()), FinAccBills::getVoucherDate, finAccBills.getVoucherDateStart());
+		lambdaQueryWrapper.le(ObjectUtils.isNotNull(finAccBills.getVoucherDateEnd()), FinAccBills::getVoucherDate, finAccBills.getVoucherDateEnd());
+		lambdaQueryWrapper.ge(ObjectUtils.isNotNull(finAccBills.getApprovedDateStart()), FinAccBills::getApprovedDate, finAccBills.getApprovedDateStart());
+		lambdaQueryWrapper.le(ObjectUtils.isNotNull(finAccBills.getApprovedDateEnd()), FinAccBills::getApprovedDate, finAccBills.getApprovedDateEnd());
 		lambdaQueryWrapper.orderByDesc(FinAccBills::getCreateTime);
 		List<FinAccBills> pages = finAccBillsService.list(Condition.getQueryWrapper(finAccBills));
 		return R.data(pages);
@@ -364,9 +320,10 @@ public class FinAccBillsController extends BladeController {
 		}
 		List<FinAccBillsVO> list = finAccBillsService.listAccBill(listAccBillVO);
 		for (FinAccBillsVO item : list) {
-			item.setAppliedCurrentStlAmount(item.getAmount().subtract(item.getAppliedAmount().add(item.getAppliedAmountStl())).subtract(item.getStlTtlAmount()));
-			item.setAppliedInvoiceCurrentStlAmount(item.getAmount().subtract(item.getAppliedInvoiceAmount().add(item.getAppliedInvoiceAmountStl())).subtract(item.getUninvoicedAmount()));
+			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()));
 		}
 		return R.data(list);
 	}

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

@@ -222,12 +222,12 @@ public class FinAccBillsServiceImpl extends ServiceImpl<FinAccBillsMapper, FinAc
 				if (ObjectUtils.isNotNull(bills.getMasterId())) {
 					data.setBusinessBillId(bills.getMasterId());
 					data.setBusinessBillNo(bills.getMasterBillNo());
-					data.setBusinessDate(item.getEtd());
+					data.setBusinessDate(item.getBillDate());
 				}
 			} else {
 				data.setBusinessBillId(item.getPid());
 				data.setBusinessBillNo(item.getBillNo());
-				data.setBusinessDate(item.getEtd());
+				data.setBusinessDate(item.getBillDate());
 			}
 			data.setPaymode(item.getPaymode());
 			data.setAccelementid(item.getElementsId());

+ 11 - 10
blade-service/blade-los/src/main/java/org/springblade/los/finance/invoices/controller/FinInvoicesController.java

@@ -17,29 +17,26 @@
 package org.springblade.los.finance.invoices.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
-
-import javax.validation.Valid;
-
 import org.springblade.common.annotation.RepeatSubmit;
+import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.mp.support.Condition;
 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.finance.stl.entity.FinStlBills;
-import org.springblade.los.finance.vouchers.entity.FinVouchers;
-import org.springframework.web.bind.annotation.*;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.los.finance.invoices.entity.FinInvoices;
-import org.springblade.los.finance.invoices.vo.FinInvoicesVO;
 import org.springblade.los.finance.invoices.service.IFinInvoicesService;
-import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.los.finance.invoices.vo.FinInvoicesVO;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
 
 /**
  * 业务-发票主表 控制器
@@ -80,6 +77,10 @@ public class FinInvoicesController extends BladeController {
 			.eq(ObjectUtils.isNotNull(finInvoices.getType()), FinInvoices::getType, finInvoices.getType())
 			.eq(ObjectUtils.isNotNull(finInvoices.getStatus()), FinInvoices::getStatus, finInvoices.getStatus())
 			.eq(ObjectUtils.isNotNull(finInvoices.getBillStatus()), FinInvoices::getBillStatus, finInvoices.getBillStatus())
+			.ge(ObjectUtils.isNotNull(finInvoices.getInvoiceDateStart()), FinInvoices::getBillDate, finInvoices.getInvoiceDateStart())
+			.le(ObjectUtils.isNotNull(finInvoices.getInvoiceDateEnd()), FinInvoices::getBillDate, finInvoices.getInvoiceDateEnd())
+			.ge(ObjectUtils.isNotNull(finInvoices.getAccountDateFrom()), FinInvoices::getAccountDateFrom, finInvoices.getAccountDateFrom())
+			.le(ObjectUtils.isNotNull(finInvoices.getAccountDateTo()), FinInvoices::getAccountDateTo, finInvoices.getAccountDateTo())
 			.orderByDesc(FinInvoices::getCreateTime);
 		IPage<FinInvoices> pages = finInvoicesService.page(Condition.getPage(query), lambdaQueryWrapper);
 		return R.data(pages);

+ 10 - 10
blade-service/blade-los/src/main/java/org/springblade/los/finance/stl/controller/FinStlBillsController.java

@@ -31,7 +31,6 @@ 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.business.sea.entity.Bills;
 import org.springblade.los.finance.stl.entity.FinStlBills;
 import org.springblade.los.finance.stl.service.IFinStlBillsService;
 import org.springblade.los.finance.stl.vo.FinStlBillsVO;
@@ -105,14 +104,16 @@ public class FinStlBillsController extends BladeController {
 				.like(FinStlBills::getCorpEnName, finStlBills.getCorpCnName()))
 			.eq(ObjectUtils.isNotNull(finStlBills.getFeeCnName()), FinStlBills::getFeeCnName, finStlBills.getFeeCnName())
 			.eq(ObjectUtils.isNotNull(finStlBills.getVoucherDate()), FinStlBills::getVoucherDate, finStlBills.getVoucherDate());
-		if (ObjectUtils.isNotNull(finStlBills.getBillDateList()) && finStlBills.getBillDateList().size() > 0) {
-			lambdaQueryWrapper.ge(FinStlBills::getBillDate, finStlBills.getBillDateList().get(0));
-			lambdaQueryWrapper.le(FinStlBills::getBillDate, finStlBills.getBillDateList().get(1));
-		}
-		if (ObjectUtils.isNotNull(finStlBills.getEstimatedTimeList()) && finStlBills.getEstimatedTimeList().size() > 0) {
-			lambdaQueryWrapper.ge(FinStlBills::getEstimatedTime, finStlBills.getEstimatedTimeList().get(0));
-			lambdaQueryWrapper.le(FinStlBills::getEstimatedTime, finStlBills.getEstimatedTimeList().get(1));
-		}
+		lambdaQueryWrapper.ge(ObjectUtils.isNotNull(finStlBills.getBillDateStart()), FinStlBills::getBillDate, finStlBills.getBillDateStart());
+		lambdaQueryWrapper.le(ObjectUtils.isNotNull(finStlBills.getBillDateEnd()), FinStlBills::getBillDate, finStlBills.getBillDateEnd());
+		lambdaQueryWrapper.ge(ObjectUtils.isNotNull(finStlBills.getBusinessDateStart()), FinStlBills::getBusinessDateStart, finStlBills.getBusinessDateStart());
+		lambdaQueryWrapper.le(ObjectUtils.isNotNull(finStlBills.getBusinessDateEnd()), FinStlBills::getBusinessDateEnd, finStlBills.getBusinessDateEnd());
+		lambdaQueryWrapper.ge(ObjectUtils.isNotNull(finStlBills.getEstimatedTimeStart()), FinStlBills::getEstimatedTime, finStlBills.getEstimatedTimeStart());
+		lambdaQueryWrapper.le(ObjectUtils.isNotNull(finStlBills.getEstimatedTimeEnd()), FinStlBills::getEstimatedTime, finStlBills.getEstimatedTimeEnd());
+		lambdaQueryWrapper.ge(ObjectUtils.isNotNull(finStlBills.getAccountDateFrom()), FinStlBills::getAccountDateFrom, finStlBills.getAccountDateFrom());
+		lambdaQueryWrapper.le(ObjectUtils.isNotNull(finStlBills.getAccountDateTo()), FinStlBills::getAccountDateTo, finStlBills.getAccountDateTo());
+		lambdaQueryWrapper.ge(ObjectUtils.isNotNull(finStlBills.getAuditDateFrom()), FinStlBills::getAuditDateFrom, finStlBills.getAuditDateFrom());
+		lambdaQueryWrapper.le(ObjectUtils.isNotNull(finStlBills.getAuditDateTo()), FinStlBills::getAuditDateTo, finStlBills.getAuditDateTo());
 		lambdaQueryWrapper.orderByDesc(FinStlBills::getCreateTime);
 		IPage<FinStlBills> pages = finStlBillsService.page(Condition.getPage(query), lambdaQueryWrapper);
 		return R.data(pages);
@@ -318,5 +319,4 @@ public class FinStlBillsController extends BladeController {
 	}
 
 
-
 }

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

@@ -322,7 +322,8 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 				.in(FeeCenter::getAccBillId, accIds)
 				.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
 				.eq(FeeCenter::getIsDeleted, 0));
-			List<FeeCenter> feeCenterListNew = reconciliationFeeCenter(detail, feeCenterList, 1);
+			BigDecimal amount =  finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getCurrentStlAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO,BigDecimal::add);
+			List<FeeCenter> feeCenterListNew = reconciliationFeeCenter(detail, feeCenterList, 1,amount);
 			feeCenterService.saveOrUpdateBatch(feeCenterListNew);
 			finAccBillsService.saveOrUpdateBatch(finAccBillsList);
 		}
@@ -332,7 +333,8 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 		return R.data(detail);
 	}
 
-	private List<FeeCenter> reconciliationFeeCenter(FinStlBills detail, List<FeeCenter> feeCenterList, int count) {
+	private List<FeeCenter> reconciliationFeeCenter(FinStlBills detail, List<FeeCenter> feeCenterList, int count,BigDecimal amount) {
+		BigDecimal currentStlAmount = amount;
 		for (FeeCenter item : feeCenterList) {
 			if (count == 1) {
 				item.setCheckBillId(detail.getId());
@@ -342,7 +344,20 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 				item.setCheckStatus(1);
 				item.setCheckById(detail.getCreateUser());
 				item.setCheckByName(detail.getCreateUserName());
-				item.setReconciliationAmount(item.getReconciliationAmount().add(item.getAmount()));
+				if (currentStlAmount.compareTo(new BigDecimal("0.00")) == 0) {
+					break;
+				} else {
+					if (item.getAmount().subtract(item.getReconciliationAmount()).compareTo(currentStlAmount) > 0) {
+						item.setReconciliationAmount(item.getReconciliationAmount().add(currentStlAmount));
+						currentStlAmount = new BigDecimal("0.00");
+					} else if (item.getAmount().subtract(item.getReconciliationAmount()).compareTo(currentStlAmount) == 0) {
+						item.setReconciliationAmount(item.getReconciliationAmount().add(currentStlAmount));
+						currentStlAmount = new BigDecimal("0.00");
+					} else {
+						item.setReconciliationAmount(item.getAmount());
+						currentStlAmount = currentStlAmount.subtract(item.getAmount());
+					}
+				}
 			} else {
 				item.setCheckBillId(0L);
 				item.setCheckBillNo("");
@@ -351,7 +366,20 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 				item.setCheckStatus(0);
 				item.setCheckById(0L);
 				item.setCheckByName("");
-				item.setReconciliationAmount(item.getReconciliationAmount().subtract(item.getAmount()));
+				if (currentStlAmount.compareTo(new BigDecimal("0.00")) == 0) {
+					break;
+				} else {
+					if (item.getReconciliationAmount().compareTo(currentStlAmount) > 0) {
+						item.setReconciliationAmount(item.getReconciliationAmount().subtract(currentStlAmount));
+						currentStlAmount = new BigDecimal("0.00");
+					} else if (item.getReconciliationAmount().compareTo(currentStlAmount) == 0) {
+						item.setReconciliationAmount(item.getReconciliationAmount().subtract(currentStlAmount));
+						currentStlAmount = new BigDecimal("0.00");
+					} else {
+						item.setReconciliationAmount(new BigDecimal("0.00"));
+						currentStlAmount = currentStlAmount.subtract(item.getAmount());
+					}
+				}
 			}
 		}
 		return feeCenterList;
@@ -427,50 +455,10 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 				.in(FeeCenter::getAccBillId, accIds)
 				.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
 				.eq(FeeCenter::getIsDeleted, 0));
-			List<FeeCenter> feeCenterListNew = reconciliationFeeCenter(detail, feeCenterList, 2);
+			BigDecimal amount =  finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getCurrentStlAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO,BigDecimal::add);
+			List<FeeCenter> feeCenterListNew = reconciliationFeeCenter(detail, feeCenterList, 2,amount);
 			feeCenterService.saveOrUpdateBatch(feeCenterListNew);
 			finAccBillsService.saveOrUpdateBatch(finAccBillsList);
-			/*List<Bills> billsList = new ArrayList<>();
-			List<Long> ids = finAccBillsList.stream().map(FinAccBills::getBusinessBillId).filter(Objects::nonNull).collect(Collectors.toList());
-			List<Long> idsD = finAccBillsList.stream().filter(e -> "D".equals(e.getAccountDc())).map(FinAccBills::getBusinessBillId).filter(Objects::nonNull).collect(Collectors.toList());
-			List<Long> idsC = finAccBillsList.stream().filter(e -> "C".equals(e.getAccountDc())).map(FinAccBills::getBusinessBillId).filter(Objects::nonNull).collect(Collectors.toList());
-			List<Long> divideIds = finAccBillsList.stream().map(FinAccBills::getBusinessBillDivideId).filter(Objects::nonNull).collect(Collectors.toList());
-			List<Long> divideIdsD = finAccBillsList.stream().filter(e -> "D".equals(e.getAccountDc())).map(FinAccBills::getBusinessBillDivideId).filter(Objects::nonNull).collect(Collectors.toList());
-			List<Long> divideIdsC = finAccBillsList.stream().filter(e -> "C".equals(e.getAccountDc())).map(FinAccBills::getBusinessBillDivideId).filter(Objects::nonNull).collect(Collectors.toList());
-			if (ObjectUtils.isNotNull(ids) && ids.size() > 0) {
-				billsList = billsMapper.selectList(new LambdaQueryWrapper<Bills>()
-					.eq(Bills::getTenantId, AuthUtil.getTenantId())
-					.eq(Bills::getIsDeleted, 0)
-					.in(Bills::getId, ids));
-			}
-			if (ObjectUtils.isNotNull(divideIds) && divideIds.size() > 0) {
-				List<Bills> divideBillsList = billsMapper.selectList(new LambdaQueryWrapper<Bills>()
-					.eq(Bills::getTenantId, AuthUtil.getTenantId())
-					.eq(Bills::getIsDeleted, 0)
-					.in(Bills::getId, divideIds));
-				billsList.addAll(divideBillsList);
-			}
-			for (Bills item : billsList) {
-				if (item.getBillingStatus() == 0) {
-					throw new RuntimeException("撤销对账失败");
-				}
-				item.setBillingStatus(item.getBillingStatus() - 1);
-				long countD = finAccBillsService.count(new LambdaQueryWrapper<FinAccBills>()
-					.eq(FinAccBills::getBusinessBillId, item.getId())
-					.eq(FinAccBills::getTenantId, AuthUtil.getTenantId())
-					.eq(FinAccBills::getIsDeleted, 0)
-					.eq(FinAccBills::getIsChecked, 1)
-					.eq(FinAccBills::getAccountDc, "D"));
-				long countC = finAccBillsService.count(new LambdaQueryWrapper<FinAccBills>()
-					.eq(FinAccBills::getBusinessBillId, item.getId())
-					.eq(FinAccBills::getTenantId, AuthUtil.getTenantId())
-					.eq(FinAccBills::getIsDeleted, 0)
-					.eq(FinAccBills::getIsChecked, 1)
-					.eq(FinAccBills::getAccountDc, "C"));
-				Bills bills = reconciliation(item, countD, divideIdsD, countC, divideIdsC, idsD, idsC);
-				billsMapper.updateById(bills);
-			}
-*/
 		}
 		detail.setStatus(0);
 		detail.setIsChecked(2);
@@ -1528,10 +1516,12 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 				item.setAppliedAmountStl(finAccBillsVO.getAppliedAmountStl());
 				item.setAppliedInvoiceAmountStl(finAccBillsVO.getAppliedInvoiceAmountStl());
 				item.setReconciliationAmount(finAccBillsVO.getReconciliationAmount());
-
-				item.setAppliedCurrentStlAmount(item.getAmount().subtract(item.getAppliedAmount().add(item.getAppliedAmountStl())).subtract(finAccBillsVO.getStlTtlAmount()));
-				item.setAppliedInvoiceCurrentStlAmount(item.getAmount().subtract(item.getAppliedInvoiceAmount()).add(item.getAppliedInvoiceAmountStl()).subtract(finAccBillsVO.getUninvoicedAmount()));
+				BigDecimal amount = item.getAppliedAmount().subtract(item.getAppliedAmountStl());
+				item.setAppliedCurrentStlAmount(item.getAmount().subtract(amount).subtract(finAccBillsVO.getStlTtlAmount()));
+//				item.setAppliedInvoiceCurrentStlAmount(item.getAmount().subtract(item.getAppliedInvoiceAmount()).add(item.getAppliedInvoiceAmountStl()).subtract(finAccBillsVO.getUninvoicedAmount()));
+				item.setAppliedInvoiceCurrentStlAmount(item.getAmount().subtract(finAccBillsVO.getStlTtlAmount()));
 				item.setCurrentStlAmount(item.getAmount().subtract(finAccBillsVO.getStlTtlAmount()));
+				item.setReconciliationCurrentAmount(item.getAmount().subtract(item.getReconciliationAmount()));
 			} else {
 				item.setAppliedAmount(new BigDecimal("0.00"));
 				item.setAppliedInvoiceAmount(new BigDecimal("0.00"));
@@ -1541,6 +1531,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 				item.setAppliedCurrentStlAmount(new BigDecimal("0.00"));
 				item.setAppliedInvoiceCurrentStlAmount(new BigDecimal("0.00"));
 				item.setCurrentStlAmount(new BigDecimal("0.00"));
+				item.setReconciliationCurrentAmount(new BigDecimal("0.00"));
 			}
 		}
 		detail.setFinStlBillsItemsList(finStlBillsItemsList);