Просмотр исходного кода

1.增加撤销启用放箱号接口
2.放箱号删除接口增加判断
3.edi增加文件导入接口
4.海运进口增加POD场站查询
5.OW生成超期箱使费计算规则修改
6.OW费用明细列表日期检索bug修改
7.业务利润增加单据类型检索
8.OW单据增加起运港,目的港场站地址,联系人,邮箱,电话字段
9.OW-批量修改Pod场站,Pod场站修改接口增加地址等信息
10.用箱计划增加字段等级
11.费用中心列表不显示bug修改
12.付费申请-报表打印付费对象数据不对修改

纪新园 7 месяцев назад
Родитель
Сommit
6ec05f4c12
20 измененных файлов с 470 добавлено и 70 удалено
  1. 48 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/box/entity/TradingBox.java
  2. 5 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/box/entity/UseBoxPlan.java
  3. 24 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/entity/Containers.java
  4. 5 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/statisticAnalysis/FinanceProfitDtoList.java
  5. 5 2
      blade-service/blade-los/src/main/java/org/springblade/los/basic/reports/service/impl/ReportsServiceImpl.java
  6. 1 1
      blade-service/blade-los/src/main/java/org/springblade/los/box/controller/PutBoxController.java
  7. 9 0
      blade-service/blade-los/src/main/java/org/springblade/los/box/controller/TradingBoxController.java
  8. 2 0
      blade-service/blade-los/src/main/java/org/springblade/los/box/service/IPutBoxService.java
  9. 2 0
      blade-service/blade-los/src/main/java/org/springblade/los/box/service/ITradingBoxService.java
  10. 89 42
      blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/PutBoxServiceImpl.java
  11. 78 5
      blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/TradingBoxServiceImpl.java
  12. 2 0
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/BillsController.java
  13. 21 0
      blade-service/blade-los/src/main/java/org/springblade/los/excel/PodStationR.java
  14. 2 2
      blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/controller/FeeCenterController.java
  15. 4 3
      blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/controller/FeeCenterItemsController.java
  16. 13 0
      blade-service/blade-los/src/main/java/org/springblade/los/ftp/controller/TestController.java
  17. 2 0
      blade-service/blade-los/src/main/java/org/springblade/los/ftp/service/CyFtpService.java
  18. 139 4
      blade-service/blade-los/src/main/java/org/springblade/los/ftp/service/impl/CyFtpServiceImpl.java
  19. 7 7
      blade-service/blade-los/src/main/java/org/springblade/los/statisticAnalysis/service/impl/StatisticAnalysisServiceImpl.java
  20. 12 4
      blade-service/blade-los/src/main/java/org/springblade/los/view/mapper/FinanceProfitMapper.xml

+ 48 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/box/entity/TradingBox.java

@@ -604,6 +604,54 @@ public class TradingBox implements Serializable {
 	private BigDecimal gateInFee;
 
 	/**
+	 * 起运港场站地址
+	 */
+	@ApiModelProperty(value = "起运港场站地址")
+	private String polCyAddress;
+
+	/**
+	 * 起运港场站联系人
+	 */
+	@ApiModelProperty(value = "起运港场站联系人")
+	private String polCyContact;
+
+	/**
+	 * 起运港场站邮箱
+	 */
+	@ApiModelProperty(value = "起运港场站邮箱")
+	private String polCyEmail;
+
+	/**
+	 * 起运港场站电话
+	 */
+	@ApiModelProperty(value = "起运港场站电话")
+	private String polCyTel;
+
+	/**
+	 * 目的港场站地址
+	 */
+	@ApiModelProperty(value = "目的港场站地址")
+	private String podCyAddress;
+
+	/**
+	 * 目的港场站联系人
+	 */
+	@ApiModelProperty(value = "目的港场站联系人")
+	private String podCyContact;
+
+	/**
+	 * 目的港场站邮箱
+	 */
+	@ApiModelProperty(value = "目的港场站邮箱")
+	private String podCyEmail;
+
+	/**
+	 * 目的港场站电话
+	 */
+	@ApiModelProperty(value = "目的港场站电话")
+	private String podCyTel;
+
+	/**
 	 * 临时数据
 	 */
 	@TableField(exist = false)

+ 5 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/box/entity/UseBoxPlan.java

@@ -133,6 +133,11 @@ public class UseBoxPlan implements Serializable {
 	 */
 	@ApiModelProperty(value = "系统号")
 	private String sysNo;
+	/**
+	 * 等级
+	 */
+	@ApiModelProperty(value = "等级")
+	private String level;
 
 	/**
 	 * 明细

+ 24 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/entity/Containers.java

@@ -586,6 +586,30 @@ public class Containers implements Serializable {
 	private String whetherFee;
 
 	/**
+	 * 目的港场站地址
+	 */
+	@ApiModelProperty(value = "目的港场站地址")
+	private String podCyAddress;
+
+	/**
+	 * 目的港场站联系人
+	 */
+	@ApiModelProperty(value = "目的港场站联系人")
+	private String podCyContact;
+
+	/**
+	 * 目的港场站邮箱
+	 */
+	@ApiModelProperty(value = "目的港场站邮箱")
+	private String podCyEmail;
+
+	/**
+	 * 目的港场站电话
+	 */
+	@ApiModelProperty(value = "目的港场站电话")
+	private String podCyTel;
+
+	/**
 	 * 配箱类型
 	 */
 	@TableField(exist = false)

+ 5 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/statisticAnalysis/FinanceProfitDtoList.java

@@ -25,6 +25,11 @@ public class FinanceProfitDtoList {
 	 */
 	@ExcelProperty(value = "业务类型")
 	private String billType;
+	/**
+	 * 单据类型
+	 */
+	@ExcelProperty(value = "单据类型")
+	private String businessType;
 
 	/**
 	 * 业务编号

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

@@ -283,6 +283,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 							.eq(FinStlBillsItems::getPid, finStlBills.getId());
 						List<FinStlBillsItems> finStlBillsItems = finStlBillsItemsService.list(lambdaQueryWrapper);
 						if (!finStlBillsItems.isEmpty()) {
+							List<String> businessNo = finStlBillsItems.stream().map(FinStlBillsItems::getBillNo).distinct().collect(Collectors.toList());
 							finStlBills.setSalesman(finStlBillsItems.get(0).getSrcCnName());
 							if (MagicValues.PAID_APPLICATION_V1.equals(groupCode)) {
 								List<FinStlBillsItems> reducelList = finStlBillsItems.stream()
@@ -295,6 +296,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 									billsList = billsService.list(new LambdaQueryWrapper<Bills>()
 										.eq(Bills::getTenantId, AuthUtil.getTenantId())
 										.eq(Bills::getIsDeleted, 0)
+										.in(!businessNo.isEmpty(),Bills::getBillNo,businessNo)
 										.apply("find_in_set(mblno,'" + mblno + "')"));
 
 									if (!billsList.isEmpty()) {
@@ -410,6 +412,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 									billsList = billsService.list(new LambdaQueryWrapper<Bills>()
 										.eq(Bills::getTenantId, AuthUtil.getTenantId())
 										.eq(Bills::getIsDeleted, 0)
+										.in(!businessNo.isEmpty(),Bills::getBillNo,businessNo)
 										.apply("find_in_set(mblno,'" + mblno + "')"));
 
 									if (!billsList.isEmpty()) {
@@ -516,9 +519,9 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 
 						}
 						finStlBills.setAmountCr(finStlBillsItemsReportsList.stream().map(FinStlBillsItemsReports::getAmount)
-							.reduce(BigDecimal.ZERO,BigDecimal::add));
+							.reduce(BigDecimal.ZERO, BigDecimal::add));
 						finStlBills.setAmountCrUsd(finStlBillsItemsReportsList.stream().map(FinStlBillsItemsReports::getAmountUsd)
-							.reduce(BigDecimal.ZERO,BigDecimal::add));
+							.reduce(BigDecimal.ZERO, BigDecimal::add));
 						finStlBills.setAmountSubLoc(finStlBills.getAmountSubLoc().abs());
 						finStlBills.setFinStlBillsItemsReportsList(finStlBillsItemsReportsList);
 						finStlBills.setDept(dept);

+ 1 - 1
blade-service/blade-los/src/main/java/org/springblade/los/box/controller/PutBoxController.java

@@ -137,7 +137,7 @@ public class PutBoxController extends BladeController {
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "删除", notes = "传入ids")
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
-		return R.status(putBoxService.removeByIds(Func.toLongList(ids)));
+		return putBoxService.detele(Func.toLongList(ids));
 	}
 
 

+ 9 - 0
blade-service/blade-los/src/main/java/org/springblade/los/box/controller/TradingBoxController.java

@@ -261,6 +261,15 @@ public class TradingBoxController extends BladeController {
 	}
 
 	/**
+	 * 买箱、卖箱、租箱、代理箱 撤销启用
+	 */
+	@PostMapping("/revokEnable")
+	@RepeatSubmit
+	public R revokEnable(@Valid @RequestBody TradingBox tradingBox) {
+		return tradingBoxService.revokEnable(tradingBox);
+	}
+
+	/**
 	 * 起租,退租
 	 */
 	@PostMapping("/startingRent")

+ 2 - 0
blade-service/blade-los/src/main/java/org/springblade/los/box/service/IPutBoxService.java

@@ -92,4 +92,6 @@ public interface IPutBoxService extends IService<PutBox> {
 	R returnEmptyAnalysis(MultipartFile file)throws IOException;
 
 	R returnEmptyPOD(Bills bills);
+
+    R detele(List<Long> longList);
 }

+ 2 - 0
blade-service/blade-los/src/main/java/org/springblade/los/box/service/ITradingBoxService.java

@@ -80,4 +80,6 @@ public interface ITradingBoxService extends IService<TradingBox> {
 	R mergeGenerateCost(TradingBox tradingBox);
 
 	R revokeMergeGenerateCost(TradingBox tradingBox);
+
+	R revokEnable(TradingBox tradingBox);
 }

+ 89 - 42
blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/PutBoxServiceImpl.java

@@ -3636,51 +3636,59 @@ public class PutBoxServiceImpl extends ServiceImpl<PutBoxMapper, PutBox> impleme
 					this.countOverdueFeeV1(billsHYJK, tradingBoxList, tradingBoxItemOldList, putBoxItemsOldList, putBoxList);
 				}
 			} else {*/
-				for (Containers item : containersHYJKList) {
-					if (ObjectUtils.isNull(item.getHblno())) {
-						throw new RuntimeException("分单号不能为空");
-					}
-					item.setPodStationId(podStationR.getPodStationId());
-					item.setPodStationCname(podStationR.getPodStationCname());
-					item.setPodStationEname(podStationR.getPodStationEname());
-					item.setPodStationCode(podStationR.getPodStationCode());
-					item.setMarks(podStationR.getPodStationCode());
-					item.setUpdateTime(new Date());
-					item.setUpdateUser(AuthUtil.getUserId());
-					item.setUpdateUserName(AuthUtil.getUserName());
-				}
-				containersService.updateBatchById(containersHYJKList);
-				List<Bills> billsHYJKList = billsMapper.selectList(new LambdaQueryWrapper<Bills>()
-					.eq(Bills::getTenantId, AuthUtil.getTenantId())
-					.eq(Bills::getIsDeleted, 0)
-					.in(Bills::getId, billsIds));
-				if (billsHYJKList.isEmpty()) {
-					throw new RuntimeException("未查到海运出口单据");
+			for (Containers item : containersHYJKList) {
+				if (ObjectUtils.isNull(item.getHblno())) {
+					throw new RuntimeException("分单号不能为空");
 				}
-				List<Long> idHYJKList = billsHYJKList.stream().map(Bills::getMasterId).distinct().collect(Collectors.toList());
-				List<Bills> billsHYJKListFD = billsMapper.selectList(new LambdaQueryWrapper<Bills>()
-					.eq(Bills::getTenantId, AuthUtil.getTenantId())
-					.eq(Bills::getIsDeleted, 0)
-					.in(Bills::getId, idHYJKList));
-				if (!billsHYJKListFD.isEmpty()) {
-					List<Containers> containersList = containersService.list(new LambdaQueryWrapper<Containers>()
-						.eq(Containers::getTenantId, AuthUtil.getTenantId())
-						.eq(Containers::getIsDeleted, 0)
-						.in(Containers::getPid, billsHYJKListFD.stream().map(Bills::getId).collect(Collectors.toList())));
-					if (!containersList.isEmpty()) {
-						for (Containers item : containersList) {
-							item.setPodStationId(podStationR.getPodStationId());
-							item.setPodStationCname(podStationR.getPodStationCname());
-							item.setPodStationEname(podStationR.getPodStationEname());
-							item.setPodStationCode(podStationR.getPodStationCode());
-							item.setMarks(podStationR.getPodStationCode());
-							item.setUpdateTime(new Date());
-							item.setUpdateUser(AuthUtil.getUserId());
-							item.setUpdateUserName(AuthUtil.getUserName());
-						}
-						containersService.updateBatchById(containersList);
+				item.setPodStationId(podStationR.getPodStationId());
+				item.setPodStationCname(podStationR.getPodStationCname());
+				item.setPodStationEname(podStationR.getPodStationEname());
+				item.setPodStationCode(podStationR.getPodStationCode());
+				item.setPodCyAddress(podStationR.getPodCyAddress());
+				item.setPodCyContact(podStationR.getPodCyContact());
+				item.setPodCyEmail(podStationR.getPodCyEmail());
+				item.setPodCyTel(podStationR.getPodCyTel());
+				item.setMarks(podStationR.getPodStationCode());
+				item.setUpdateTime(new Date());
+				item.setUpdateUser(AuthUtil.getUserId());
+				item.setUpdateUserName(AuthUtil.getUserName());
+			}
+			containersService.updateBatchById(containersHYJKList);
+			List<Bills> billsHYJKList = billsMapper.selectList(new LambdaQueryWrapper<Bills>()
+				.eq(Bills::getTenantId, AuthUtil.getTenantId())
+				.eq(Bills::getIsDeleted, 0)
+				.in(Bills::getId, billsIds));
+			if (billsHYJKList.isEmpty()) {
+				throw new RuntimeException("未查到海运出口单据");
+			}
+			List<Long> idHYJKList = billsHYJKList.stream().map(Bills::getMasterId).distinct().collect(Collectors.toList());
+			List<Bills> billsHYJKListFD = billsMapper.selectList(new LambdaQueryWrapper<Bills>()
+				.eq(Bills::getTenantId, AuthUtil.getTenantId())
+				.eq(Bills::getIsDeleted, 0)
+				.in(Bills::getId, idHYJKList));
+			if (!billsHYJKListFD.isEmpty()) {
+				List<Containers> containersList = containersService.list(new LambdaQueryWrapper<Containers>()
+					.eq(Containers::getTenantId, AuthUtil.getTenantId())
+					.eq(Containers::getIsDeleted, 0)
+					.in(Containers::getPid, billsHYJKListFD.stream().map(Bills::getId).collect(Collectors.toList())));
+				if (!containersList.isEmpty()) {
+					for (Containers item : containersList) {
+						item.setPodStationId(podStationR.getPodStationId());
+						item.setPodStationCname(podStationR.getPodStationCname());
+						item.setPodStationEname(podStationR.getPodStationEname());
+						item.setPodStationCode(podStationR.getPodStationCode());
+						item.setMarks(podStationR.getPodStationCode());
+						item.setPodCyAddress(podStationR.getPodCyAddress());
+						item.setPodCyContact(podStationR.getPodCyContact());
+						item.setPodCyEmail(podStationR.getPodCyEmail());
+						item.setPodCyTel(podStationR.getPodCyTel());
+						item.setUpdateTime(new Date());
+						item.setUpdateUser(AuthUtil.getUserId());
+						item.setUpdateUserName(AuthUtil.getUserName());
 					}
+					containersService.updateBatchById(containersList);
 				}
+			}
 //			}
 		} else {
 			for (Containers item : containersHYJKList) {
@@ -3691,6 +3699,10 @@ public class PutBoxServiceImpl extends ServiceImpl<PutBoxMapper, PutBox> impleme
 				item.setPodStationCname(podStationR.getPodStationCname());
 				item.setPodStationEname(podStationR.getPodStationEname());
 				item.setPodStationCode(podStationR.getPodStationCode());
+				item.setPodCyAddress(podStationR.getPodCyAddress());
+				item.setPodCyContact(podStationR.getPodCyContact());
+				item.setPodCyEmail(podStationR.getPodCyEmail());
+				item.setPodCyTel(podStationR.getPodCyTel());
 				item.setUpdateTime(new Date());
 				item.setUpdateUser(AuthUtil.getUserId());
 				item.setUpdateUserName(AuthUtil.getUserName());
@@ -3719,6 +3731,10 @@ public class PutBoxServiceImpl extends ServiceImpl<PutBoxMapper, PutBox> impleme
 						item.setPodStationCname(podStationR.getPodStationCname());
 						item.setPodStationEname(podStationR.getPodStationEname());
 						item.setPodStationCode(podStationR.getPodStationCode());
+						item.setPodCyAddress(podStationR.getPodCyAddress());
+						item.setPodCyContact(podStationR.getPodCyContact());
+						item.setPodCyEmail(podStationR.getPodCyEmail());
+						item.setPodCyTel(podStationR.getPodCyTel());
 						item.setUpdateTime(new Date());
 						item.setUpdateUser(AuthUtil.getUserId());
 						item.setUpdateUserName(AuthUtil.getUserName());
@@ -5238,6 +5254,37 @@ public class PutBoxServiceImpl extends ServiceImpl<PutBoxMapper, PutBox> impleme
 		return null;
 	}
 
+	@Override
+	public R detele(List<Long> longList) {
+		List<PutBox> putBoxList = baseMapper.selectList(new LambdaQueryWrapper<PutBox>()
+			.eq(PutBox::getTenantId, AuthUtil.getTenantId())
+			.eq(PutBox::getIsDeleted, 0)
+			.in(PutBox::getId, longList));
+		List<PutBoxItems> boxItemsList = putBoxItemsService.list(new LambdaQueryWrapper<PutBoxItems>()
+			.eq(PutBoxItems::getTenantId, AuthUtil.getTenantId())
+			.eq(PutBoxItems::getIsDeleted, 0)
+			.in(PutBoxItems::getPid, longList));
+		for (PutBox item : putBoxList){
+			if (item.getOccupyNum() > 0) {
+				throw new RuntimeException("放箱号:" + item.getContainerNumber() + "操作已占用,撤销失败!");
+			}
+			List<PutBoxItems> itemsList = new ArrayList<>();
+			if (!boxItemsList.isEmpty()){
+				itemsList = boxItemsList.stream().filter(e-> e.getPid().equals(item.getId())).collect(Collectors.toList());
+			}
+			if ("OW(拿),OW(放)".contains(item.getBusType())) {
+				if (!itemsList.isEmpty()) {
+					throw new RuntimeException("放箱号:" + item.getContainerNumber() + "已导入箱号,撤销失败!");
+				}
+			}
+		}
+		this.removeByIds(longList);
+		if (!boxItemsList.isEmpty()){
+			putBoxItemsService.removeByIds(boxItemsList.stream().map(PutBoxItems::getId).collect(Collectors.toList()));
+		}
+		return R.success("删除成功");
+	}
+
 	private void countOverdueFeeV1(Bills billsHYJK, List<TradingBox> tradingBoxList,
 								   List<TradingBoxItem> tradingBoxItemOldList, List<PutBoxItems> putBoxItemsOldList,
 								   List<PutBox> putBoxList) {

+ 78 - 5
blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/TradingBoxServiceImpl.java

@@ -2527,6 +2527,10 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 					containers.setPodStationCname(tradingBox.getPodStationCname());
 					containers.setPodStationCode(tradingBox.getPodStationCode());
 					containers.setPodStationEname(tradingBox.getPodStationEname());
+					containers.setPodCyAddress(tradingBox.getPodCyAddress());
+					containers.setPodCyContact(tradingBox.getPodCyContact());
+					containers.setPodCyEmail(tradingBox.getPodCyEmail());
+					containers.setPodCyTel(tradingBox.getPodCyTel());
 					containersListNew.add(containers);
 				}
 				if (!containersListNew.isEmpty()) {
@@ -2534,6 +2538,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				}
 			}
 		}
+		baseMapper.updateById(tradingBox);
 		return R.data(tradingBox);
 	}
 
@@ -2741,9 +2746,13 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 		String exrateType = currencyUtils.standardCurrency(AuthUtil.getDeptId());
 		List<BCurExrate> curExrateList = currencyUtils.obtainRate(new Date(), "1", AuthUtil.getDeptId());
 		for (TradingBoxItem item : putBoxItemsList) {
+			Date endDate;
 			if (ObjectUtils.isNotNull(item.getPodEmptyContainerReturnDate())
 				&& tradingBox.getRentDate().compareTo(item.getPodEmptyContainerReturnDate()) > 0) {
-				throw new RuntimeException("箱号:" + item.getCode() + "租金计算截止时间大于pod还箱日期");
+				endDate = item.getPodEmptyContainerReturnDate();
+//				throw new RuntimeException("箱号:" + item.getCode() + "租金计算截止时间大于pod还箱日期");
+			} else {
+				endDate = tradingBox.getRentDate();
 			}
 			FeeCenterItems feeCenterItems = new FeeCenterItems();
 			feeCenterItems.setBranchId(AuthUtil.getDeptId());
@@ -2766,7 +2775,6 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 			feeCenterItems.setPodCode(detail.getPodCode());
 			feeCenterItems.setPodCnName(detail.getPodCname());
 			feeCenterItems.setPodEnName(detail.getPodEname());
-			feeCenterItems.setFreeDay(detail.getFreeDay());
 			feeCenterItems.setMblno(item.getMblno());
 			feeCenterItems.setHblno(item.getHblno());
 			feeCenterItems.setEtd(item.getEtd());
@@ -2786,7 +2794,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 			feeCenterItems.setCurCode(rentTermList.get(0).getCurCode());
 			feeCenterItems.setFeeType("2");
 			Instant instant1 = item.getRentEndDate().toInstant();
-			Instant instant2 = tradingBox.getRentDate().toInstant();
+			Instant instant2 = endDate.toInstant();
 			LocalDate date1 = instant1.atZone(ZoneId.systemDefault()).toLocalDate();
 			LocalDate date2 = instant2.atZone(ZoneId.systemDefault()).toLocalDate();
 			Duration duration = Duration.between(date1.atStartOfDay(), date2.atStartOfDay());
@@ -2816,6 +2824,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 			int dayLength;
 			BigDecimal amount = new BigDecimal("0.00");
 			String price = "";
+			int freeDays = 0;
 			for (RentTerm term : rentTermList) {
 				dayLength = term.getStopDays() - term.getRiseDays() + 1;
 				if (earlySumDays >= dayLength) {
@@ -2830,10 +2839,16 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 					amount = amount.add(calculate);
 					text = text + tempDays + "天*" + term.getRate() + "元=" + calculate + "元,";
 					price = price + term.getRate() + ",";
+					if (new BigDecimal("0.00").compareTo(term.getRate()) == 0) {
+						freeDays += tempDays;
+					}
 				} else {
 					BigDecimal calculate = term.getRate().multiply(new BigDecimal(days + ""));
 					amount = amount.add(calculate);
 					text = text + days + "天*" + term.getRate() + "元=" + calculate + "元";
+					if (new BigDecimal("0.00").compareTo(term.getRate()) == 0) {
+						freeDays += days;
+					}
 					days = 0;
 					price = price + term.getRate() + ",";
 					break;
@@ -2845,6 +2860,8 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				text = text + "超出费用:" + days + "天*" + rentTermList.get(rentTermList.size() - 1).getRate() + "元=" + calculate + "元,";
 
 			}
+			feeCenterItems.setFreeDay(freeDays);
+			feeCenterItems.setDays(feeCenterItems.getDays() - freeDays);
 			text = text + "+ gateInFee费用:" + detail.getGateInFee();
 			if (exrateType.equals(feeCenterItems.getCurCode())) {
 				feeCenterItems.setExrate(new BigDecimal("1.00"));
@@ -2855,12 +2872,12 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 			feeCenterItems.setPrice(price);
 			feeCenterItems.setGateInFee(detail.getGateInFee());
 			feeCenterItems.setRemarks(text);
-			feeCenterItems.setOutboundDate(tradingBox.getRentDate());
+			feeCenterItems.setOutboundDate(endDate);
 			feeCenterItemsList.add(feeCenterItems);
 			item.setUpdateTime(new Date());
 			item.setUpdateUserName(AuthUtil.getUserName());
 			item.setUpdateUser(AuthUtil.getUserId());
-			item.setRentEndDate(tradingBox.getRentDate());
+			item.setRentEndDate(endDate);
 			item.setCount(item.getCount() + 1);
 		}
 		tradingBoxItemService.updateBatchById(putBoxItemsList);
@@ -3133,4 +3150,60 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 		return R.data(tradingBox);
 	}
 
+	@Override
+	public R revokEnable(TradingBox detail) {
+		if (ObjectUtils.isNull(detail.getPolId())
+			|| ObjectUtils.isNull(detail.getContainerNumber()) || ObjectUtils.isNull(detail.getPolStationId())) {
+			throw new RuntimeException("必要参数未填写");
+		}
+		TradingBox tradingBox = baseMapper.selectById(detail.getId());
+		tradingBox.setWhetherEnable("否");
+		tradingBox.setContainerNumber(detail.getContainerNumber());
+		tradingBox.setActivationDate(detail.getActivationDate());
+		baseMapper.updateById(tradingBox);
+		List<TradingBoxItem> itemList = tradingBoxItemService.list(new LambdaQueryWrapper<TradingBoxItem>()
+			.eq(TradingBoxItem::getPid, tradingBox.getId())
+			.eq(TradingBoxItem::getTenantId, AuthUtil.getTenantId())
+			.eq(TradingBoxItem::getIsDeleted, 0));
+		if (!itemList.isEmpty()) {
+			for (TradingBoxItem item : itemList) {
+				item.setUpdateUser(AuthUtil.getUserId());
+				item.setUpdateUserName(AuthUtil.getUserName());
+				item.setUpdateTime(new Date());
+				item.setWhetherEnable("否");
+				item.setContainerNumber(detail.getContainerNumber());
+				item.setActivationDate(detail.getActivationDate());
+			}
+			tradingBoxItemService.updateBatchById(itemList);
+		}
+		PutBox putBox = putBoxService.getOne(new LambdaQueryWrapper<PutBox>()
+			.eq(PutBox::getTenantId, AuthUtil.getTenantId())
+			.eq(PutBox::getIsDeleted, 0)
+			.eq(PutBox::getSrcContainerNumber, tradingBox.getContainerNumber())
+			.eq(PutBox::getSrcNo, tradingBox.getId())
+			.eq(PutBox::getSrcId, tradingBox.getSysNo())
+			.eq(PutBox::getWhetherManuallyCreate, "1")
+		);
+		if (putBox != null) {
+			if (putBox.getOccupyNum() > 0) {
+				throw new RuntimeException("放箱号:" + putBox.getContainerNumber() + "操作已占用,撤销失败!");
+			}
+			List<PutBoxItems> boxItemsList = putBoxItemsService.list(new LambdaQueryWrapper<PutBoxItems>()
+				.eq(PutBoxItems::getTenantId, AuthUtil.getTenantId())
+				.eq(PutBoxItems::getIsDeleted, 0)
+				.eq(PutBoxItems::getPid, putBox.getId()));
+			if ("OW-N,OW-F".contains(tradingBox.getType())) {
+				if (!boxItemsList.isEmpty()) {
+					throw new RuntimeException("放箱号:" + putBox.getContainerNumber() + "已导入箱号,撤销失败!");
+				}
+			} else {
+				if (!boxItemsList.isEmpty()) {
+					putBoxItemsService.removeByIds(boxItemsList.stream().map(PutBoxItems::getId).collect(Collectors.toList()));
+				}
+			}
+			putBoxService.removeById(putBox.getId());
+		}
+		return R.success("操作成功");
+	}
+
 }

+ 2 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/BillsController.java

@@ -124,6 +124,8 @@ public class BillsController extends BladeController {
 				.like(Bills::getLineEnName, bills.getLineCnName()))
 			.and(ObjectUtils.isNotNull(bills.getCyCnName()), i -> i.like(Bills::getCyCode, bills.getCyCnName()).or()
 				.like(Bills::getCyCnName, bills.getCyCnName()).or().like(Bills::getCyEnName, bills.getCyCnName()))
+			.and(ObjectUtils.isNotNull(bills.getPodCyCnName()), i -> i.like(Bills::getPodCyCode, bills.getPodCyCnName()).or()
+				.like(Bills::getPodCyCnName, bills.getPodCyCnName()).or().like(Bills::getPodCyEnName, bills.getPodCyCnName()))
 			.apply(ObjectUtils.isNotNull(bills.getCreateDeptName()), "find_in_set('" + bills.getCreateDeptName() + "',create_dept_name)");
 		if (ObjectUtils.isNotNull(bills.getEtdList()) && !bills.getEtdList().isEmpty()) {
 			lambdaQueryWrapper.ge(Bills::getEtd, bills.getEtdList().get(0));

+ 21 - 0
blade-service/blade-los/src/main/java/org/springblade/los/excel/PodStationR.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -56,5 +57,25 @@ public class PodStationR {
 	 */
 	private String marks;
 
+	/**
+	 * 目的港场站地址
+	 */
+	private String podCyAddress;
+
+	/**
+	 * 目的港场站联系人
+	 */
+	private String podCyContact;
+
+	/**
+	 * 目的港场站邮箱
+	 */
+	private String podCyEmail;
+
+	/**
+	 * 目的港场站电话
+	 */
+	private String podCyTel;
+
 
 }

+ 2 - 2
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/controller/FeeCenterController.java

@@ -109,9 +109,9 @@ public class FeeCenterController extends BladeController {
 	@ApiOperation(value = "分页", notes = "传入feeCenter")
 	public R<IPage<FeeCenter>> list(FeeCenter feeCenter, Query query) {
 		LambdaQueryWrapper<FeeCenter> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-		lambdaQueryWrapper.eq(FeeCenter::getTenantId, 0)
+		lambdaQueryWrapper.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
 			.eq(FeeCenter::getIsDeleted, 0)
-			.eq(FeeCenter::getDc, feeCenter.getDc())
+			.eq(ObjectUtils.isNotNull(feeCenter.getDc()),FeeCenter::getDc, feeCenter.getDc())
 			.and(ObjectUtils.isNotNull(feeCenter.getCorpCnName()), i -> i.like(FeeCenter::getCorpCnName, feeCenter.getCorpCnName()).or()
 				.like(FeeCenter::getCorpEnName, feeCenter.getCorpCnName()))
 			.and(ObjectUtils.isNotNull(feeCenter.getBillCorpCnName()), i -> i.like(FeeCenter::getBillCorpCnName, feeCenter.getBillCorpCnName()).or()

+ 4 - 3
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/controller/FeeCenterItemsController.java

@@ -18,6 +18,7 @@ package org.springblade.los.finance.fee.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;
@@ -74,9 +75,9 @@ public class FeeCenterItemsController extends BladeController {
 			.eq(FeeCenterItems::getIsDeleted, 0)
 			.eq(FeeCenterItems::getPid, feeCenterItems.getPid())
 			.eq(FeeCenterItems::getFeeType, feeCenterItems.getFeeType())
-			.eq(FeeCenterItems::getCntrNo, feeCenterItems.getCntrNo())
-			.apply("DATE_FORMAT(account_date,'%Y-%m') = '" + feeCenterItems.getDate() + "'");
-		List<FeeCenterItems> pages = feeCenterItemsService.list(Condition.getQueryWrapper(feeCenterItems));
+			.eq(ObjectUtils.isNotNull(feeCenterItems.getCntrNo()),FeeCenterItems::getCntrNo, feeCenterItems.getCntrNo())
+			.apply(ObjectUtils.isNotNull(feeCenterItems.getDate()),"DATE_FORMAT(account_date,'%Y-%m') = '" + feeCenterItems.getDate() + "'");
+		List<FeeCenterItems> pages = feeCenterItemsService.list(lambdaQueryWrapper);
 		return R.data(pages);
 	}
 

+ 13 - 0
blade-service/blade-los/src/main/java/org/springblade/los/ftp/controller/TestController.java

@@ -59,4 +59,17 @@ public class TestController {
 	public R emptyContainerEntryFtp(@RequestParam("corpId") Long corpId,@RequestParam("type") String type) {
 		return cyFtpService.ftpFilesHandle(corpId,type);
 	}
+
+	/**
+	 * ftp文件导入
+	 *
+	 * @param file
+	 * @return
+	 */
+	@SneakyThrows
+	@PostMapping("/ftpFileImport")
+	public R ftpFileImport(@RequestParam("file") MultipartFile file,
+								   @RequestParam("corpId") Long corpId,@RequestParam("type") String type) {
+		return R.data(cyFtpService.ftpFileImport(file,corpId,type));
+	}
 }

+ 2 - 0
blade-service/blade-los/src/main/java/org/springblade/los/ftp/service/CyFtpService.java

@@ -16,4 +16,6 @@ public interface CyFtpService {
 	R ftpFilesHandle(Long corpId,String type);
 
 	R ftpFilescopy(Long corpId,List<String> filesName, String type);
+
+	R ftpFileImport(MultipartFile file, Long corpId, String type);
 }

+ 139 - 4
blade-service/blade-los/src/main/java/org/springblade/los/ftp/service/impl/CyFtpServiceImpl.java

@@ -182,9 +182,9 @@ public class CyFtpServiceImpl implements CyFtpService {
 								recordItems.setContainerNumber(item.getContainerNumber());
 								recordItems.setBoxCode(item.getBoxCode());
 								recordItems.setObjective(item.getObjective());
-								if ("1".equals(item.getBoxGoodBad())){
+								if ("1".equals(item.getBoxGoodBad())) {
 									recordItems.setBoxStatus("坏箱");
-								}else{
+								} else {
 									recordItems.setBoxStatus(item.getBoxGoodBad());
 								}
 								BPorts ports = portsList.stream().filter(e -> e.getUnCode().equals(item.getPortName())).findFirst().orElse(null);
@@ -242,8 +242,8 @@ public class CyFtpServiceImpl implements CyFtpService {
 				ex.printStackTrace();
 			}
 		}
-		if (!filesName.isEmpty()){
-			this.ftpFilescopy(corpId,filesName,type);
+		if (!filesName.isEmpty()) {
+			this.ftpFilescopy(corpId, filesName, type);
 		}
 		return R.data(new ArrayList<>());
 	}
@@ -296,6 +296,141 @@ public class CyFtpServiceImpl implements CyFtpService {
 		return R.data("操作成功");
 	}
 
+	@Override
+	public R ftpFileImport(MultipartFile file, Long corpId, String type) {
+		BCorps bCorps = bCorpsService.getById(corpId);
+		String boxStatus = "";
+		if ("IN".equals(type)) {
+			boxStatus = "空箱提箱进场";
+		} else if ("OUT".equals(type)) {
+			boxStatus = "空箱出场";
+		}
+		try {
+			// 获取文件列表
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
+			if (file.getName().endsWith(".txt")) {
+				// 下载文件
+				InputStream inputStream = file.getInputStream();
+				// 解析EDIFACT内容
+				List<ContainerMovement> movements = parseEdifactMessage(inputStream);
+				List<EmptyContainerAppearanceAnalysis> analysisList = new ArrayList<>();
+				// 输出解析结果
+				for (ContainerMovement movement : movements) {
+					EmptyContainerAppearanceAnalysis analysis = new EmptyContainerAppearanceAnalysis();
+					analysis.setContainerNumber(movement.getBookingNumber());
+					analysis.setBoxCode(movement.getContainerNumber());
+					analysis.setBoxType(movement.getContainerType());
+					analysis.setPortName(movement.getFromLocation());
+					analysis.setStationName(bCorps.getCnName());
+					analysis.setMblno(movement.getBillOfLading());
+					analysis.setBoxStatus(boxStatus);
+					analysis.setBoxGoodBad(movement.getBoxGoodBad());
+					analysis.setObjective(movement.getObjective());
+					if (ObjectUtils.isNotNull(movement.getMovementDateTime())) {
+						analysis.setBoxStatusDate(sdf.parse(movement.getMovementDateTime()));
+					}
+					analysis.setSrcFile(file.getName());
+					analysis.setCorpId(corpId);
+					if (ObjectUtils.isNotNull(analysis.getContainerNumber())) {
+						analysisList.add(analysis);
+					}
+				}
+				if (!analysisList.isEmpty()) {
+					List<String> portName = analysisList.stream().map(EmptyContainerAppearanceAnalysis::getPortName).filter(Objects::nonNull)
+						.distinct().collect(Collectors.toList());
+					List<BPorts> portsList = new ArrayList<>();
+					if (!portName.isEmpty()) {
+						portsList = bPortsService.list(new LambdaQueryWrapper<BPorts>()
+							.eq(BPorts::getTenantId, AuthUtil.getTenantId())
+							.eq(BPorts::getIsDeleted, 0)
+							.in(BPorts::getUnCode, portName));
+					}
+					List<String> boxType = analysisList.stream().map(EmptyContainerAppearanceAnalysis::getBoxType).filter(Objects::nonNull)
+						.distinct().collect(Collectors.toList());
+					List<BCntrTypes> boxTypeList = new ArrayList<>();
+					if (!portName.isEmpty()) {
+						boxTypeList = cntrTypesService.list(new LambdaQueryWrapper<BCntrTypes>()
+							.eq(BCntrTypes::getTenantId, AuthUtil.getTenantId())
+							.eq(BCntrTypes::getIsDeleted, 0)
+							.in(BCntrTypes::getCode95, boxType));
+					}
+					List<String> boxCodeList = analysisList.stream().map(EmptyContainerAppearanceAnalysis::getBoxCode).filter(Objects::nonNull)
+						.distinct().collect(Collectors.toList());
+					BoxDynamicsRecord boxDynamicsRecord = new BoxDynamicsRecord();
+					boxDynamicsRecord.setCreateTime(new Date());
+					boxDynamicsRecord.setCreateUserName(AuthUtil.getUserName());
+					boxDynamicsRecord.setCreateUser(AuthUtil.getUserId());
+					boxDynamicsRecord.setBranchId(AuthUtil.getDeptId());
+					boxDynamicsRecord.setFileType("edi");
+					boxDynamicsRecord.setImportDate(new Date());
+					if ("IN".equals(type)) {
+						boxDynamicsRecord.setBoxDynamics("进场");
+						boxDynamicsRecord.setApproachExit("JC");
+					} else {
+						boxDynamicsRecord.setBoxDynamics("出场");
+						boxDynamicsRecord.setApproachExit("CC");
+					}
+					boxDynamicsRecord.setBoxCode(String.join(",", boxCodeList));
+					List<BoxDynamicsRecordItems> itemsList = new ArrayList<>();
+					for (EmptyContainerAppearanceAnalysis item : analysisList) {
+						BoxDynamicsRecordItems recordItems = new BoxDynamicsRecordItems();
+						recordItems.setCreateTime(new Date());
+						recordItems.setCreateUserName(AuthUtil.getUserName());
+						recordItems.setCreateUser(AuthUtil.getUserId());
+						recordItems.setBranchId(AuthUtil.getDeptId());
+						recordItems.setContainerNumber(item.getContainerNumber());
+						recordItems.setBoxCode(item.getBoxCode());
+						recordItems.setObjective(item.getObjective());
+						if ("1".equals(item.getBoxGoodBad())) {
+							recordItems.setBoxStatus("坏箱");
+						} else {
+							recordItems.setBoxStatus(item.getBoxGoodBad());
+						}
+						BPorts ports = portsList.stream().filter(e -> e.getUnCode().equals(item.getPortName())).findFirst().orElse(null);
+						if (ports == null) {
+							throw new RuntimeException("请先维护港口:" + item.getPortName() + "基础资料");
+						} else {
+							recordItems.setPortCode(ports.getCode());
+							recordItems.setPortCname(ports.getCnName());
+							recordItems.setPortEname(ports.getEnName());
+							recordItems.setPortId(ports.getId());
+						}
+						BCntrTypes cntrTypes = boxTypeList.stream().filter(e -> e.getCode95().equals(item.getBoxType())).findFirst().orElse(null);
+						if (cntrTypes == null) {
+							throw new RuntimeException("请先维护箱型:" + item.getBoxType() + "基础资料");
+						} else {
+							recordItems.setBoxType(cntrTypes.getCnName());
+						}
+						recordItems.setStationCname(bCorps.getCnName());
+						recordItems.setStationEname(bCorps.getEnName());
+						recordItems.setStationCode(bCorps.getCode());
+						recordItems.setStationId(bCorps.getId());
+						recordItems.setHblno(item.getMblno());
+						recordItems.setApproachExitDate(item.getBoxStatusDate());
+						itemsList.add(recordItems);
+					}
+					boxDynamicsRecord.setPortCode(itemsList.get(0).getPortCode());
+					boxDynamicsRecord.setPortCname(itemsList.get(0).getPortCname());
+					boxDynamicsRecord.setPortEname(itemsList.get(0).getPortEname());
+					boxDynamicsRecord.setPortId(itemsList.get(0).getPortId());
+					boxDynamicsRecord.setStationCname(itemsList.get(0).getStationCname());
+					boxDynamicsRecord.setStationEname(itemsList.get(0).getStationEname());
+					boxDynamicsRecord.setStationCode(itemsList.get(0).getStationCode());
+					boxDynamicsRecord.setStationId(itemsList.get(0).getStationId());
+					boxDynamicsRecordService.insert(boxDynamicsRecord);
+					for (BoxDynamicsRecordItems item : itemsList) {
+						item.setPid(boxDynamicsRecord.getId());
+						boxDynamicsRecordItemsService.insert(item);
+					}
+				}
+				inputStream.close();
+			}
+		} catch (IOException | ParseException ex) {
+			throw new RuntimeException(ex);
+		}
+		return R.data(new ArrayList<>());
+	}
+
 	public static List<ContainerMovement> parseEdifactMessage(InputStream inputStream) throws IOException {
 		List<ContainerMovement> movements = new ArrayList<>();
 		if (inputStream == null) {

+ 7 - 7
blade-service/blade-los/src/main/java/org/springblade/los/statisticAnalysis/service/impl/StatisticAnalysisServiceImpl.java

@@ -205,8 +205,8 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 				}
 			}
 		} else {
-			if (ObjectUtils.isNotNull(financeProfit.getBillType())) {
-				financeProfit.setBillType(financeProfit.getBillType() + ",SEA,SIA,AEA,AIA");
+			if (ObjectUtils.isNotNull(financeProfit.getBusinessType())) {
+				financeProfit.setBusinessType(financeProfit.getBusinessType() + ",SEA,SIA,AEA,AIA");
 			}
 			financeProfitList = financeProfitMapper.financeProfitList(financeProfit, page);
 		}
@@ -219,7 +219,7 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 			);
 		}
 		for (FinanceProfitDtoList item : financeProfitList) {
-			if ("SEA,SIA,AEA,AIA".contains(item.getBillType()) && !financeProfitDataList.isEmpty()) {
+			if ("SEA,SIA,AEA,AIA".contains(item.getBusinessType()) && !financeProfitDataList.isEmpty()) {
 				FinanceProfit profit = financeProfitDataList.stream().filter(e -> e.getMblno().equals(item.getMblNo())).findFirst().orElse(null);
 				if (profit != null) {
 					item.setSalesman(profit.getSrcCnName());
@@ -745,8 +745,8 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 				}
 			}
 		} else {
-			if (ObjectUtils.isNotNull(financeProfit.getBillType())) {
-				financeProfit.setBillType(financeProfit.getBillType() + ",SEA,SIA,AEA,AIA");
+			if (ObjectUtils.isNotNull(financeProfit.getBusinessType())) {
+				financeProfit.setBusinessType(financeProfit.getBusinessType() + ",SEA,SIA,AEA,AIA");
 			}
 			financeProfitList = financeProfitMapper.financeProfitListSum(financeProfit);
 			for (FinanceProfitDtoList item : financeProfitList) {
@@ -916,7 +916,7 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 				}
 			}
 		} else {
-			financeProfit.setBillType(financeProfit.getBillType() + ",SEA,SIA,AEA,AIA");
+			financeProfit.setBusinessType(financeProfit.getBusinessType() + ",SEA,SIA,AEA,AIA");
 			financeProfitList = financeProfitMapper.financeProfitListSum(financeProfit);
 		}
 		List<FinanceProfit> financeProfitDataList = new ArrayList<>();
@@ -928,7 +928,7 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 			);
 		}
 		for (FinanceProfitDtoList item : financeProfitList) {
-			if ("SEA,SIA,AEA,AIA".contains(item.getBillType()) && !financeProfitDataList.isEmpty()) {
+			if ("SEA,SIA,AEA,AIA".contains(item.getBusinessType()) && !financeProfitDataList.isEmpty()) {
 				FinanceProfit profit = financeProfitDataList.stream().filter(e -> e.getMblno().equals(item.getMblNo())).findFirst().orElse(null);
 				if (profit != null) {
 					item.setSalesman(profit.getSrcCnName());

+ 12 - 4
blade-service/blade-los/src/main/java/org/springblade/los/view/mapper/FinanceProfitMapper.xml

@@ -47,7 +47,8 @@
     </select>
     <select id="financeProfitList" resultType="org.springblade.los.statisticAnalysis.FinanceProfitDtoList">
     select
-        seb.business_type AS billType,
+        seb.business_type AS businessType,
+        seb.bill_type AS billType,
         seb.bill_no AS billNo,
         seb.hblno AS hblNo,
         seb.mblno AS mblNo,
@@ -95,7 +96,10 @@
             and seb.branch_id = #{data.branchId}
         </if>
         <if test="data.billType != null and data.billType != ''">
-            and find_in_set(seb.business_type,#{data.billType})
+            and find_in_set(seb.bill_type,#{data.billType})
+        </if>
+        <if test="data.businessType != null and data.businessType != ''">
+            and find_in_set(seb.business_type,#{data.businessType})
             and (IF(find_in_set( seb.business_type, 'SEA,SIA,AEA,AIA' ) ,seb.STATUS = 3,1=1))
         </if>
         <if test="data.billNo != null and data.billNo != ''">
@@ -167,7 +171,8 @@
     </select>
     <select id="financeProfitListSum" resultType="org.springblade.los.statisticAnalysis.FinanceProfitDtoList">
         select
-        seb.business_type AS billType,
+        seb.business_type AS businessType,
+        seb.bill_type AS billType,
         seb.bill_no AS billNo,
         seb.hblno AS hblNo,
         seb.mblno AS mblNo,
@@ -215,7 +220,10 @@
             and seb.branch_id = #{data.branchId}
         </if>
         <if test="data.billType != null and data.billType != ''">
-            and find_in_set(seb.business_type,#{data.billType})
+            and find_in_set(seb.bill_type,#{data.billType})
+        </if>
+        <if test="data.businessType != null and data.businessType != ''">
+            and find_in_set(seb.business_type,#{data.businessType})
             and (IF(find_in_set( seb.business_type, 'SEA,SIA,AEA,AIA' ) ,seb.STATUS = 3,1=1))
         </if>
         <if test="data.billNo != null and data.billNo != ''">