Browse Source

202303224 08:34

wangzhuo 2 years ago
parent
commit
4a185d50f3
13 changed files with 173 additions and 39 deletions
  1. 5 0
      blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/dto/ExportTransportOut.java
  2. 5 1
      blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/entity/TradingBox.java
  3. 7 0
      blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/entity/TradingBoxFees.java
  4. 16 0
      blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/entity/TradingBoxItem.java
  5. 16 0
      blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/entity/TransportItem.java
  6. 11 0
      blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/entity/TransportItemFees.java
  7. 17 0
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/controller/TransferController.java
  8. 1 1
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/service/impl/ShippingBillServiceImpl.java
  9. 1 1
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/service/impl/RepairServiceImpl.java
  10. 19 8
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/service/impl/TradingBoxServiceImpl.java
  11. 8 2
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/service/impl/TransferServiceImpl.java
  12. 1 1
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/service/impl/TransportServiceImpl.java
  13. 66 25
      blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java

+ 5 - 0
blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/dto/ExportTransportOut.java

@@ -60,6 +60,11 @@ public class ExportTransportOut implements Serializable {
 	@ExcelProperty(value = "明细箱号集合")
 	private String code;
 	/**
+	 * 箱型箱量
+	 */
+	@ExcelProperty(value = "箱型箱量")
+	private String boxTypeNumber;
+	/**
 	 * 客户名称
 	 */
 	@ExcelProperty(value = "客户名称")

+ 5 - 1
blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/entity/TradingBox.java

@@ -289,6 +289,10 @@ public class TradingBox implements Serializable {
 	@ApiModelProperty(value = "订单合计金额")
 	private BigDecimal totalAmount;
 
-
+	/**
+	 * 租金计算起始时间
+	 */
+	@TableField(exist = false)
+	private Date startDate;
 
 }

+ 7 - 0
blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/entity/TradingBoxFees.java

@@ -240,4 +240,11 @@ public class TradingBoxFees implements Serializable {
 	 */
 	@ApiModelProperty(value = "是否手动录入(0否,1是)")
 	private Integer identifier;
+
+	/**
+	 * 费用生成时间
+	 */
+	@ApiModelProperty(value = "费用生成时间")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date expenseGenerationTime;
 }

+ 16 - 0
blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/entity/TradingBoxItem.java

@@ -19,9 +19,11 @@ package org.springblade.box.tube.entity;
 import com.baomidou.mybatisplus.annotation.FieldStrategy;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
@@ -300,4 +302,18 @@ public class TradingBoxItem implements Serializable {
 	@ApiModelProperty(value = "租金/天")
 	private BigDecimal price;
 
+	/**
+	 * 堆存状态(已堆存,未堆存)
+	 */
+	@ApiModelProperty(value = "堆存状态(已堆存,未堆存)")
+	private String stackingStatus;
+
+	/**
+	 * 生成堆存时间
+	 */
+	@ApiModelProperty(value = "生成堆存时间")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)//时间为空
+	private Date stackingDate;
 }

+ 16 - 0
blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/entity/TransportItem.java

@@ -16,11 +16,14 @@
  */
 package org.springblade.box.tube.entity;
 
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
@@ -179,6 +182,19 @@ public class TransportItem implements Serializable {
 	@ApiModelProperty(value = "堆存状态")
 	private String stockpilingStatus;
 
+	/**
+	 * 堆存状态(已堆存,未堆存)
+	 */
+	@ApiModelProperty(value = "堆存状态(已堆存,未堆存)")
+	private String stackingStatus;
 
+	/**
+	 * 生成堆存时间
+	 */
+	@ApiModelProperty(value = "生成堆存时间")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)//时间为空
+	private Date stackingDate;
 
 }

+ 11 - 0
blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/entity/TransportItemFees.java

@@ -209,5 +209,16 @@ public class TransportItemFees implements Serializable {
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date reconciliationDate;
 
+	/**
+	 * 是否手动录入(0否,1是)
+	 */
+	@ApiModelProperty(value = "是否手动录入(0否,1是)")
+	private Integer identifier;
 
+	/**
+	 * 费用生成时间
+	 */
+	@ApiModelProperty(value = "费用生成时间")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date expenseGenerationTime;
 }

+ 17 - 0
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/controller/TransferController.java

@@ -30,7 +30,9 @@ import org.springblade.box.tube.dto.ExportTransferOut;
 import org.springblade.box.tube.dto.ExportTransportOut;
 import org.springblade.box.tube.dto.TransportItemExcelEnter;
 import org.springblade.box.tube.entity.TradingBox;
+import org.springblade.box.tube.entity.TradingBoxItem;
 import org.springblade.box.tube.entity.Transport;
+import org.springblade.box.tube.mapper.TradingBoxItemMapper;
 import org.springblade.box.tube.service.ITradingBoxService;
 import org.springblade.box.tube.service.ITransferService;
 import org.springblade.box.tube.service.ITransportService;
@@ -68,6 +70,8 @@ public class TransferController extends BladeController {
 
 	private final ITradingBoxService tradingBoxService;
 
+	private final TradingBoxItemMapper tradingBoxItemMapper;
+
 	/**
 	 * 详情
 	 */
@@ -101,6 +105,19 @@ public class TransferController extends BladeController {
 		}
 		lambdaQueryWrapper.orderByDesc(TradingBox::getCreateTime);
 		IPage<TradingBox> pages = tradingBoxService.page(Condition.getPage(query), lambdaQueryWrapper);
+		//取明细第一条的起始日期
+		if (CollectionUtils.isNotEmpty(pages.getRecords())){
+			pages.getRecords().forEach(e -> {
+				LambdaQueryWrapper<TradingBoxItem> itemLambdaQueryWrapper = new LambdaQueryWrapper<>();
+				itemLambdaQueryWrapper.eq(TradingBoxItem::getIsDeleted, 0)
+					.eq(TradingBoxItem::getTenantId, AuthUtil.getTenantId())
+					.eq(TradingBoxItem::getPid, e.getId());
+				List<TradingBoxItem> itemList = tradingBoxItemMapper.selectList(itemLambdaQueryWrapper);
+				if (ObjectUtils.isNotEmpty(itemList)){
+					e.setStartDate(itemList.get(0).getRentStartDate());
+				}
+			});
+		}
 		return R.data(pages);
 	}
 

+ 1 - 1
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/service/impl/ShippingBillServiceImpl.java

@@ -307,7 +307,7 @@ public class ShippingBillServiceImpl extends ServiceImpl<ShippingBillMapper, Shi
 				if (ObjectUtils.isNotNull(boxType) && boxType.size() > 0) {
 					List<ShippingMatchBox> boxTypeSize = shippingBill.getShippingMatchBoxList().stream().filter(e -> ObjectUtils.isNotNull(e.getBoxType()) && e.getBoxType().equals(boxType_)).collect(Collectors.toList());
 					if (ObjectUtils.isNotNull(boxTypeSize) && boxTypeSize.size() > 0) {
-						boxTypeNumber.append(boxType_).append("X").append(boxTypeSize.size()).append(",");
+						boxTypeNumber.append(boxTypeSize.size()).append("*").append(boxType_).append(",");
 					}
 				}
 			}

+ 1 - 1
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/service/impl/RepairServiceImpl.java

@@ -204,7 +204,7 @@ public class RepairServiceImpl extends ServiceImpl<RepairMapper, Repair> impleme
 				if (ObjectUtils.isNotNull(boxType) && boxType.size() > 0) {
 					List<RepairItem> boxTypeSize = repairItemList.stream().filter(e -> ObjectUtils.isNotNull(e.getBoxType()) && e.getBoxType().equals(boxType_)).collect(Collectors.toList());
 					if (ObjectUtils.isNotNull(boxTypeSize) && boxTypeSize.size() > 0) {
-						boxTypeNumber.append(boxType_).append("✖").append(boxTypeSize.size()).append(",");
+						boxTypeNumber.append(boxTypeSize.size()).append("*").append(boxType_).append(",");
 					}
 				}
 			}

+ 19 - 8
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/service/impl/TradingBoxServiceImpl.java

@@ -243,7 +243,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				if (ObjectUtils.isNotNull(boxType) && boxType.size() > 0) {
 					List<TradingBoxItem> boxTypeSize = tradingBoxItemList.stream().filter(e -> ObjectUtils.isNotNull(e.getBoxType()) && e.getBoxType().equals(boxType_)).collect(Collectors.toList());
 					if (ObjectUtils.isNotNull(boxTypeSize) && boxTypeSize.size() > 0) {
-						boxTypeNumber.append(boxType_).append("X").append(boxTypeSize.size()).append(",");
+						boxTypeNumber.append(boxTypeSize.size()).append("*").append(boxType_).append(",");
 					}
 				}
 			}
@@ -267,6 +267,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 					tradingBoxItem.setCreateUserName(AuthUtil.getUserName());
 					tradingBoxItem.setTenantId(AuthUtil.getTenantId());
 					tradingBoxItem.setPid(tradingBox.getId());
+					tradingBoxItem.setStackingStatus("未堆存");
 					tradingBoxItemMapper.insert(tradingBoxItem);
 				} else {
 					tradingBoxItem.setUpdateUser(AuthUtil.getUserId());
@@ -488,7 +489,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				if (ObjectUtils.isNotNull(boxType) && boxType.size() > 0) {
 					List<TradingBoxItem> boxTypeSize = tradingBoxItemList.stream().filter(e -> ObjectUtils.isNotNull(e.getBoxType()) && e.getBoxType().equals(boxType_)).collect(Collectors.toList());
 					if (ObjectUtils.isNotNull(boxTypeSize) && boxTypeSize.size() > 0) {
-						boxTypeNumber.append(boxType_).append("X").append(boxTypeSize.size()).append(",");
+						boxTypeNumber.append(boxTypeSize.size()).append("*").append(boxType_).append(",");
 					}
 				}
 			}
@@ -1802,11 +1803,11 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 
 			//账单数据
 			ApplyDTO applyDTO = new ApplyDTO();
-			if ("JKFC".equals(transport.getBillType())) {
+			/*if ("JKFC".equals(transport.getBillType())) {
 				applyDTO.setBillType("申请");
 			} else {
 				applyDTO.setBillType("收费");
-			}
+			}*/
 			applyDTO.setTradeType("BOX");
 			applyDTO.setBelongCompany(transport.getCorpName());
 
@@ -1821,15 +1822,19 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				List<Items> itemsList = new ArrayList<>();
 				for (TransportItemFees tradingBoxFees : transportItemFeesList) {
 					Items items = new Items();
-					amount = tradingBoxFees.getAmount();
+					if (ObjectUtils.isNotEmpty(tradingBoxFees.getAmount())){
+						amount = tradingBoxFees.getAmount();
+					}
 					//计算单价
 					if (quantity.compareTo(BigDecimal.ZERO) > 0) {
 						price = amount.divide(quantity, 5, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP);
 					}
 					if (1 == tradingBoxFees.getFeesType()) {
 						items.setSrcFeesType("收费");
+						applyDTO.setBillType("收费");
 					} else {
 						items.setSrcFeesType("申请");
+						applyDTO.setBillType("申请");
 					}
 					items.setSrcBoxBillType(tradingBoxFees.getBillType());
 					items.setItemType(transport.getBillType());
@@ -1861,6 +1866,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 					applyDTO.setItemsList(itemsList);
 					//修改费用明细
 					tradingBoxFees.setSubmitPay(1);
+					tradingBoxFees.setExpenseGenerationTime(new Date());
 					transportItemFeesMapper.updateById(tradingBoxFees);
 				}
 				if (CollectionUtils.isNotEmpty(itemsList)) {
@@ -1906,7 +1912,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 
 			//账单数据
 			ApplyDTO applyDTO = new ApplyDTO();
-			if ("ZR".equals(tradingBox.getType()) || "ZC".equals(tradingBox.getType())) {
+			/*if ("ZR".equals(tradingBox.getType()) || "ZC".equals(tradingBox.getType())) {
 				applyDTO.setBillType("");
 			} else if ("BUY".equals(tradingBox.getType())) {
 				applyDTO.setBillType("申请");
@@ -1914,7 +1920,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				applyDTO.setBillType("收费");
 			} else if ("DCF".equals(tradingBox.getType())) {
 				applyDTO.setBillType("申请");
-			}
+			}*/
 			applyDTO.setTradeType("BOX");
 			applyDTO.setBelongCompany(tradingBox.getPurchaseCompanyName());
 
@@ -1936,8 +1942,10 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 					}
 					if (1 == tradingBoxFees.getFeesType()) {
 						items.setSrcFeesType("收费");
+						applyDTO.setBillType("收费");
 					} else {
 						items.setSrcFeesType("申请");
+						applyDTO.setBillType("申请");
 					}
 					items.setSrcBoxBillType(tradingBoxFees.getBillType());
 					items.setItemType(tradingBox.getType());
@@ -1967,6 +1975,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 					applyDTO.setItemsList(itemsList);
 					//修改费用明细
 					tradingBoxFees.setSubmitPay(1);
+					tradingBoxFees.setExpenseGenerationTime(new Date());
 					tradingBoxFeesMapper.updateById(tradingBoxFees);
 				}
 				if (CollectionUtils.isNotEmpty(itemsList)) {
@@ -2011,7 +2020,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 
 	@Override
 	public R revokeBill(TradingBox tradingBox) {
-		if ("JKFC".equals(tradingBox.getType()) || "CKZY".equals(tradingBox.getType())) {
+		if ("JK".equals(tradingBox.getType()) || "CK".equals(tradingBox.getType())) {
 			Transport selectTransport = transportMapper.selectById(tradingBox.getId());
 			if (selectTransport == null) {
 				throw new SecurityException("撤销失败,未找到主表信息");
@@ -2036,6 +2045,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 						}
 					}
 					transportItemFees.setSubmitPay(0);
+					transportItemFees.setExpenseGenerationTime(null);
 					transportItemFeesMapper.updateById(transportItemFees);
 				}
 			} else {
@@ -2067,6 +2077,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 						}
 					}
 					tradingBoxFees.setSubmitPay(0);
+					tradingBoxFees.setExpenseGenerationTime(null);
 					tradingBoxFeesMapper.updateById(tradingBoxFees);
 				}
 			} else {

+ 8 - 2
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/service/impl/TransferServiceImpl.java

@@ -124,7 +124,7 @@ public class TransferServiceImpl implements ITransferService {
 				if (ObjectUtils.isNotNull(boxType) && boxType.size() > 0) {
 					List<TradingBoxItem> boxTypeSize = tradingBoxItemList.stream().filter(e -> ObjectUtils.isNotNull(e.getBoxType()) && e.getBoxType().equals(boxType_)).collect(Collectors.toList());
 					if (ObjectUtils.isNotNull(boxTypeSize) && boxTypeSize.size() > 0) {
-						boxTypeNumber.append(boxType_).append("X").append(boxTypeSize.size()).append(",");
+						boxTypeNumber.append(boxTypeSize.size()).append("*").append(boxType_).append(",");
 					}
 				}
 			}
@@ -137,11 +137,15 @@ public class TransferServiceImpl implements ITransferService {
 						TransportItem transportItem = new TransportItem();
 						transportItem.setId(tradingBoxItem.getId());
 						transportItem.setStockpilingStatus("0");
+						transportItem.setStackingStatus("已堆存");
+						transportItem.setStackingDate(tradingBox.getRentDate());
 						transportItemMapper.updateById(transportItem);
 					} else {
 						TradingBoxItem tradingBoxItem_ = new TradingBoxItem();
 						tradingBoxItem_.setId(tradingBoxItem.getId());
 						tradingBoxItem_.setStockpilingStatus("0");
+						tradingBoxItem_.setStackingStatus("已堆存");
+						tradingBoxItem_.setStackingDate(tradingBox.getRentDate());
 						tradingBoxItemMapper.updateById(tradingBoxItem_);
 					}
 					tradingBoxItem.setSrcId(tradingBoxItem.getId());
@@ -164,7 +168,6 @@ public class TransferServiceImpl implements ITransferService {
 					tradingBoxItem.setTenantId(AuthUtil.getTenantId());
 					tradingBoxItem.setPid(tradingBox.getId());
 					tradingBoxItem.setStatus("待使用");
-
 					tradingBoxItem.setStockpilingStatus("0");
 					tradingBoxItemMapper.insert(tradingBoxItem);
 				} else {
@@ -483,6 +486,9 @@ public class TransferServiceImpl implements ITransferService {
 				TradingBoxFees tradingBoxFees = new TradingBoxFees();
 				tradingBoxFees.setCorpId(tradingBox.getPurchaseCompanyId());
 				tradingBoxFees.setCorpName(tradingBox.getPurchaseCompanyName());
+				if (ObjectUtils.isEmpty(tradingBoxItem1.getPrice())){
+					tradingBoxItem1.setPrice(BigDecimal.ZERO);
+				}
 				tradingBoxFees.setAmount(tradingBoxItem1.getPrice().multiply(BigDecimal.valueOf(days)));
 				tradingBoxFees.setPrice(tradingBoxItem1.getPrice());
 				tradingBoxFees.setQuantity(BigDecimal.valueOf(days));

+ 1 - 1
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/service/impl/TransportServiceImpl.java

@@ -219,7 +219,7 @@ public class TransportServiceImpl extends ServiceImpl<TransportMapper, Transport
 				if (ObjectUtils.isNotNull(boxType) && boxType.size() > 0) {
 					List<TransportItem> boxTypeSize = transportItemList.stream().filter(e -> ObjectUtils.isNotNull(e.getBoxType()) && e.getBoxType().equals(boxType_)).collect(Collectors.toList());
 					if (ObjectUtils.isNotNull(boxTypeSize) && boxTypeSize.size() > 0) {
-						boxTypeNumber.append(boxType_).append("X").append(boxTypeSize.size()).append(",");
+						boxTypeNumber.append(boxTypeSize.size()).append("*").append(boxType_).append(",");
 					}
 				}
 			}

+ 66 - 25
blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java

@@ -673,15 +673,28 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 				throw new SecurityException("修改原单据失败");
 			}
 			//回退原业务表数据
-			if (tradingBoxFeesR.getData().getReconciliationAmount() == null) {
-				throw new SecurityException("撤销账单失败,原业务表对账金额为空");
-			}
-			BigDecimal decimal = tradingBoxFeesR.getData().getReconciliationAmount().subtract(items.getThisAmount());
-			if (decimal.compareTo(BigDecimal.ZERO) < 0) {
-				throw new SecurityException("撤销账单失败,剩余已收金额不够本次扣款");
+			if ("对账".equals(settlementDTO.getBillType())) {
+				if (tradingBoxFeesR.getData().getReconciliationAmount() == null) {
+					throw new SecurityException("撤销账单失败,原业务表对账金额为空");
+				}
+				BigDecimal decimal = tradingBoxFeesR.getData().getReconciliationAmount().subtract(items.getThisAmount());
+				if (decimal.compareTo(BigDecimal.ZERO) < 0) {
+					throw new SecurityException("撤销账单失败,剩余已收金额不够本次扣款");
+				}
+				tradingBoxFeesR.getData().setReconciliationAmount(decimal);
+				tradingBoxFeesR.getData().setReconciliationDate(null);
+			}else {
+				if (tradingBoxFeesR.getData().getSettlementAmount() == null) {
+					throw new SecurityException("撤销账单失败,原业务表对账金额为空");
+				}
+				BigDecimal decimal = tradingBoxFeesR.getData().getSettlementAmount().subtract(items.getThisAmount());
+				if (decimal.compareTo(BigDecimal.ZERO) < 0) {
+					throw new SecurityException("撤销账单失败,剩余已收金额不够本次扣款");
+				}
+				tradingBoxFeesR.getData().setSettlementAmount(decimal);
+				tradingBoxFeesR.getData().setSettlementDate(null);
 			}
-			tradingBoxFeesR.getData().setReconciliationAmount(decimal);
-			tradingBoxFeesR.getData().setReconciliationDate(null);
+
 			tradingBoxClient.updateTradingBoxFees(tradingBoxFeesR.getData());
 		}
 		//修改费用明细
@@ -696,15 +709,28 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 				throw new SecurityException("修改原单据失败");
 			}
 			//回退原业务表数据
-			if (transportItemFeesR.getData().getReconciliationAmount() == null) {
-				throw new SecurityException("撤销账单失败,原业务表已收金额为空");
-			}
-			BigDecimal decimal = transportItemFeesR.getData().getReconciliationAmount().subtract(items.getThisAmount());
-			if (decimal.compareTo(BigDecimal.ZERO) < 0) {
-				throw new SecurityException("撤销账单失败,剩余已收金额不够本次扣款");
+			if ("对账".equals(settlementDTO.getBillType())) {
+				if (transportItemFeesR.getData().getReconciliationAmount() == null) {
+					throw new SecurityException("撤销账单失败,原业务表已收金额为空");
+				}
+				BigDecimal decimal = transportItemFeesR.getData().getReconciliationAmount().subtract(items.getThisAmount());
+				if (decimal.compareTo(BigDecimal.ZERO) < 0) {
+					throw new SecurityException("撤销账单失败,剩余已收金额不够本次扣款");
+				}
+				transportItemFeesR.getData().setReconciliationAmount(decimal);
+				transportItemFeesR.getData().setReconciliationDate(null);
+			}else {
+				if (transportItemFeesR.getData().getSettlementAmount() == null) {
+					throw new SecurityException("撤销账单失败,原业务表已收金额为空");
+				}
+				BigDecimal decimal = transportItemFeesR.getData().getSettlementAmount().subtract(items.getThisAmount());
+				if (decimal.compareTo(BigDecimal.ZERO) < 0) {
+					throw new SecurityException("撤销账单失败,剩余已收金额不够本次扣款");
+				}
+				transportItemFeesR.getData().setSettlementAmount(decimal);
+				transportItemFeesR.getData().setSettlementDate(null);
 			}
-			transportItemFeesR.getData().setReconciliationAmount(decimal);
-			transportItemFeesR.getData().setReconciliationDate(null);
+
 			transportClient.updateTransportItemFees(transportItemFeesR.getData());
 		} else if (type == 7) {
 			Long srcFeesId = acc.getSrcFeesId();
@@ -961,12 +987,20 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			if (!tradingBoxFeesR.isSuccess() && ObjectUtils.isNull(tradingBoxFeesR.getData())) {
 				throw new SecurityException("修改原单据失败");
 			}
-			acc.setCheckAmount(acc.getCheckAmount() != null ? acc.getCheckAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
-			tradingBoxFeesR.getData().setReconciliationAmount(tradingBoxFeesR.getData().getSettlementAmount() != null ? tradingBoxFeesR.getData().getSettlementAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
-			accMapper.updateById(acc);
 			TradingBoxFees tradingBoxFees = new TradingBoxFees();
-			BeanUtils.copyProperties(tradingBoxFeesR.getData(), tradingBoxFees);
-			tradingBoxFees.setReconciliationDate(new Date());
+			if ("对账".equals(settlementDTO.getBillType())) {
+				acc.setCheckAmount(acc.getCheckAmount() != null ? acc.getCheckAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
+				tradingBoxFeesR.getData().setReconciliationAmount(tradingBoxFeesR.getData().getReconciliationAmount() != null ? tradingBoxFeesR.getData().getReconciliationAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
+				accMapper.updateById(acc);
+				BeanUtils.copyProperties(tradingBoxFeesR.getData(), tradingBoxFees);
+				tradingBoxFees.setReconciliationDate(new Date());
+			}else {
+				acc.setSettlementAmount(acc.getSettlementAmount() != null ? acc.getSettlementAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
+				tradingBoxFeesR.getData().setSettlementAmount(tradingBoxFeesR.getData().getSettlementAmount() != null ? tradingBoxFeesR.getData().getSettlementAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
+				accMapper.updateById(acc);
+				BeanUtils.copyProperties(tradingBoxFeesR.getData(), tradingBoxFees);
+				tradingBoxFees.setSettlementDate(new Date());
+			}
 			tradingBoxClient.updateTradingBoxFees(tradingBoxFees);
 		} else if (type == 6) {
 			Long srcFeesId = acc.getSrcFeesId();
@@ -978,10 +1012,17 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			if (!transportItemFeesR.isSuccess() && ObjectUtils.isNull(transportItemFeesR.getData())) {
 				throw new SecurityException("修改原单据失败");
 			}
-			acc.setCheckAmount(acc.getCheckAmount() != null ? acc.getCheckAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
-			transportItemFeesR.getData().setReconciliationAmount(transportItemFeesR.getData().getSettlementAmount() != null ? transportItemFeesR.getData().getSettlementAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
-			accMapper.updateById(acc);
-			transportItemFeesR.getData().setReconciliationDate(new Date());
+			if ("对账".equals(settlementDTO.getBillType())) {
+				acc.setCheckAmount(acc.getCheckAmount() != null ? acc.getCheckAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
+				transportItemFeesR.getData().setReconciliationAmount(transportItemFeesR.getData().getReconciliationAmount() != null ? transportItemFeesR.getData().getReconciliationAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
+				accMapper.updateById(acc);
+				transportItemFeesR.getData().setReconciliationDate(new Date());
+			}else {
+				acc.setSettlementAmount(acc.getSettlementAmount() != null ? acc.getSettlementAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
+				transportItemFeesR.getData().setSettlementAmount(transportItemFeesR.getData().getSettlementAmount() != null ? transportItemFeesR.getData().getSettlementAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
+				accMapper.updateById(acc);
+				transportItemFeesR.getData().setSettlementDate(new Date());
+			}
 			transportClient.updateTransportItemFees(transportItemFeesR.getData());
 		} else if (type == 7) {
 			Long srcFeesId = acc.getSrcFeesId();