ソースを参照

1.复制的单据接口状态复原
2.海运出口选择放箱号增加判断占用箱量合计不能大于箱量
3.审批流程配置搜索报错
4.带分单的主单做amend单据,打印接口报错修改
5.带有分单的amend 打印,数据重复修改
6.海运出口转单明细报错修改
7.主单撤销审核,分单数据以及费用明细状态更新
8.分单添加主单分单 TEU 计算的不对
9.主,分单转单分单单据类型不对修改
10.分单添加到主单的时候,用主单的 mblno 覆盖分单的MBLNO
11.海运出口多次转单报错修改
12.航线成本时间检索bug修改
13.首页提醒接口以及明细接口修改
14.分单添加主单teu判断逻辑修改
15.导入模板本币判断修改

纪新园 8 ヶ月 前
コミット
6254ba4efd

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

@@ -2344,5 +2344,15 @@ public class Bills implements Serializable {
 	@TableField(exist = false)
 	@TableField(exist = false)
 	private Long temporaryId;
 	private Long temporaryId;
 
 
+	/**
+	 * 首页统计类型  1=开船提醒
+	 *    2=到港提醒
+	 *    3=截港提醒
+	 *    4=截单提醒
+	 *    5=开船未付费提醒
+	 */
+	@TableField(exist = false)
+	private String type;
+
 
 
 }
 }

+ 1 - 1
blade-service-api/blade-los-api/src/main/java/org/springblade/los/check/entity/LosAuditPaths.java

@@ -74,7 +74,7 @@ public class LosAuditPaths implements Serializable {
 	 * 承包单位id
 	 * 承包单位id
 	 */
 	 */
 	@ApiModelProperty(value = "承包单位id")
 	@ApiModelProperty(value = "承包单位id")
-	private Integer branchId;
+	private String branchId;
 	/**
 	/**
 	 * N-新建;A-有效;S-停用; Z暂存
 	 * N-新建;A-有效;S-停用; Z暂存
 	 */
 	 */

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

@@ -27,7 +27,6 @@ import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.los.Util.BigDecimalUtils;
 import org.springblade.los.Util.BigDecimalUtils;
 import org.springblade.los.Util.CurrencyUtils;
 import org.springblade.los.Util.CurrencyUtils;
-import org.springblade.los.Util.IDeptUtils;
 import org.springblade.los.Util.MagicValues;
 import org.springblade.los.Util.MagicValues;
 import org.springblade.los.basic.corps.entity.BCorps;
 import org.springblade.los.basic.corps.entity.BCorps;
 import org.springblade.los.basic.corps.entity.BCorpsBank;
 import org.springblade.los.basic.corps.entity.BCorpsBank;
@@ -2607,7 +2606,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 									.eq(Amends::getStatus, 3)
 									.eq(Amends::getStatus, 3)
 									.eq(Amends::getIsDeleted, 0)
 									.eq(Amends::getIsDeleted, 0)
 									.eq(Amends::getTenantId, AuthUtil.getTenantId()));
 									.eq(Amends::getTenantId, AuthUtil.getTenantId()));
-								if (!amendsListMh.isEmpty()){
+								if (!amendsListMh.isEmpty()) {
 									LambdaQueryWrapper<FeeCenter> amendsFeeCenterLambdaQueryWrapper = new LambdaQueryWrapper<FeeCenter>()
 									LambdaQueryWrapper<FeeCenter> amendsFeeCenterLambdaQueryWrapper = new LambdaQueryWrapper<FeeCenter>()
 										.in(FeeCenter::getPid, ids)
 										.in(FeeCenter::getPid, ids)
 										.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
 										.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
@@ -2622,12 +2621,12 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 									List<FeeCenter> amendsFeeCenterListMh = feeCenterService.list(amendsFeeCenterLambdaQueryWrapper);
 									List<FeeCenter> amendsFeeCenterListMh = feeCenterService.list(amendsFeeCenterLambdaQueryWrapper);
 									amendsFeeCenterListMh.stream().filter(e -> ObjectUtils.isNull(e.getReportType())).forEach(e -> e.setReportType("0"));
 									amendsFeeCenterListMh.stream().filter(e -> ObjectUtils.isNull(e.getReportType())).forEach(e -> e.setReportType("0"));
 									for (Bills item : billsList) {
 									for (Bills item : billsList) {
-										List<Amends> amends1 = amendsListMh.stream().filter(e-> e.getOrigId().equals(item.getId())).collect(Collectors.toList());
-										if (!amends1.isEmpty()){
+										List<Amends> amends1 = amendsListMh.stream().filter(e -> e.getOrigId().equals(item.getId())).collect(Collectors.toList());
+										if (!amends1.isEmpty()) {
 											List<Long> amendIdList = amends1.stream().map(Amends::getId).collect(Collectors.toList());
 											List<Long> amendIdList = amends1.stream().map(Amends::getId).collect(Collectors.toList());
-											List<FeeCenter> amendsFeeCenterListMhs = amendsFeeCenterListMh.stream().filter(e-> amendIdList.contains(e.getPid()))
+											List<FeeCenter> amendsFeeCenterListMhs = amendsFeeCenterListMh.stream().filter(e -> amendIdList.contains(e.getPid()))
 												.collect(Collectors.toList());
 												.collect(Collectors.toList());
-											if (!amendsFeeCenterListMhs.isEmpty()){
+											if (!amendsFeeCenterListMhs.isEmpty()) {
 												for (FeeCenter items : amendsFeeCenterListMhs) {
 												for (FeeCenter items : amendsFeeCenterListMhs) {
 													if (ObjectUtils.isNotNull(items.getShortName())) {
 													if (ObjectUtils.isNotNull(items.getShortName())) {
 														items.setCorpCnName(items.getShortName());
 														items.setCorpCnName(items.getShortName());
@@ -3131,14 +3130,14 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 							}
 							}
 							List<FeeCenter> feeCenterListMh = feeCenterService.list(feeCenterLambdaQueryWrapperM);
 							List<FeeCenter> feeCenterListMh = feeCenterService.list(feeCenterLambdaQueryWrapperM);
 							feeCenterListMh.stream().filter(e -> ObjectUtils.isNull(e.getReportType())).forEach(e -> e.setReportType("0"));
 							feeCenterListMh.stream().filter(e -> ObjectUtils.isNull(e.getReportType())).forEach(e -> e.setReportType("0"));
-							for (FeeCenter feeCenter : amendFeeCenterList) {
+							/*for (FeeCenter feeCenter : amendFeeCenterList) {
 								if (feeCenter.getPid().equals(amends.getId())) {
 								if (feeCenter.getPid().equals(amends.getId())) {
 									feeCenter.setReportType(MagicValues.ONE);
 									feeCenter.setReportType(MagicValues.ONE);
 								} else {
 								} else {
 									feeCenter.setReportType(MagicValues.TWO);
 									feeCenter.setReportType(MagicValues.TWO);
 								}
 								}
 							}
 							}
-							feeCenterListMh.addAll(amendFeeCenterList);
+							feeCenterListMh.addAll(amendFeeCenterList);*/
 							for (FeeCenter item : feeCenterListMh) {
 							for (FeeCenter item : feeCenterListMh) {
 								if (ObjectUtils.isNotNull(item.getShortName())) {
 								if (ObjectUtils.isNotNull(item.getShortName())) {
 									item.setCorpCnName(item.getShortName());
 									item.setCorpCnName(item.getShortName());
@@ -3286,6 +3285,12 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 						}
 						}
 					}
 					}
 					if (!list.isEmpty()) {
 					if (!list.isEmpty()) {
+						BigDecimal amountTotalProfit = new BigDecimal("0.00");
+						BigDecimal amountTotalProfitUsd = new BigDecimal("0.00");
+						BigDecimal amountTotalProfitLoc = new BigDecimal("0.00");
+						BigDecimal amountTotalProfitUpdate = new BigDecimal("0.00");
+						BigDecimal amountTotalProfitUsdUpdate = new BigDecimal("0.00");
+						BigDecimal amountTotalProfitLocUpdate = new BigDecimal("0.00");
 						for (Bills item : list) {
 						for (Bills item : list) {
 							List<FeeCenterReports> feeCenterReports = new ArrayList<>();
 							List<FeeCenterReports> feeCenterReports = new ArrayList<>();
 							List<FeeCenterReports> feeCenterReportsList1 = item.getFeeCenterList().stream().filter(e -> MagicValues.ONE.equals(e.getReportType())).collect(Collectors.toList());
 							List<FeeCenterReports> feeCenterReportsList1 = item.getFeeCenterList().stream().filter(e -> MagicValues.ONE.equals(e.getReportType())).collect(Collectors.toList());
@@ -3312,6 +3317,9 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 							// 遍历应收,并与应付对应
 							// 遍历应收,并与应付对应
 							for (int i = 0; i < feeCentersD.size(); i++) {
 							for (int i = 0; i < feeCentersD.size(); i++) {
 								FeeCenterReports fee = feeCentersD.get(i);
 								FeeCenterReports fee = feeCentersD.get(i);
+								if (ObjectUtils.isNull(fee.getBillCorpCnName())) {
+									continue;
+								}
 								FeeCenterReports feeCenterReports1 = new FeeCenterReports();
 								FeeCenterReports feeCenterReports1 = new FeeCenterReports();
 								feeCenterReports1.setFeeCnName(fee.getFeeCnName());
 								feeCenterReports1.setFeeCnName(fee.getFeeCnName());
 								feeCenterReports1.setHblno(fee.getHblno());
 								feeCenterReports1.setHblno(fee.getHblno());
@@ -3369,6 +3377,11 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 							item.setAmountProfit(amountDr.subtract(amountCr));
 							item.setAmountProfit(amountDr.subtract(amountCr));
 							item.setAmountProfitUsd(amountDrUsd.subtract(amountCrUsd));
 							item.setAmountProfitUsd(amountDrUsd.subtract(amountCrUsd));
 							item.setAmountProfitLoc(amountDrLoc.subtract(amountCrLoc));
 							item.setAmountProfitLoc(amountDrLoc.subtract(amountCrLoc));
+							if ("MH".equals(item.getBillType())) {
+								amountTotalProfit = amountTotalProfit.add(item.getAmountProfit());
+								amountTotalProfitUsd = amountTotalProfitUsd.add(item.getAmountProfitUsd());
+								amountTotalProfitLoc = amountTotalProfitLoc.add(item.getAmountProfitLoc());
+							}
 							List<FeeCenterReports> feeCenterReportsArrayList = feeCenterReportsList1.stream()
 							List<FeeCenterReports> feeCenterReportsArrayList = feeCenterReportsList1.stream()
 								.collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
 								.collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
 									Comparator.comparing(f -> f.getFeeCnName() + f.getBillCorpCnName() + f.getDc()))), ArrayList::new));
 									Comparator.comparing(f -> f.getFeeCnName() + f.getBillCorpCnName() + f.getDc()))), ArrayList::new));
@@ -3418,6 +3431,11 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 							item.setAmountProfitLocUpdate(item.getAmountProfitLocUpdate().setScale(2, RoundingMode.HALF_UP));
 							item.setAmountProfitLocUpdate(item.getAmountProfitLocUpdate().setScale(2, RoundingMode.HALF_UP));
 							item.setAmountProfitLoc(item.getAmountProfitLoc().setScale(2, RoundingMode.HALF_UP));
 							item.setAmountProfitLoc(item.getAmountProfitLoc().setScale(2, RoundingMode.HALF_UP));
 							item.setResponsibleParty(amends.getResponsibleParty());
 							item.setResponsibleParty(amends.getResponsibleParty());
+							if ("MH".equals(item.getBillType())) {
+								amountTotalProfitUpdate = amountTotalProfitUpdate.add(item.getAmountProfitUpdate());
+								amountTotalProfitUsdUpdate = amountTotalProfitUsdUpdate.add(item.getAmountProfitUsdUpdate());
+								amountTotalProfitLocUpdate = amountTotalProfitLocUpdate.add(item.getAmountProfitLocUpdate());
+							}
 							if (ObjectUtils.isNotNull(item.getAmountProfitLocUpdate()) && ObjectUtils.isNotNull(item.getAmountDrLoc())) {
 							if (ObjectUtils.isNotNull(item.getAmountProfitLocUpdate()) && ObjectUtils.isNotNull(item.getAmountDrLoc())) {
 								if (item.getAmountProfitLocUpdate().compareTo(new BigDecimal(MagicValues.ZERO)) == 0 ||
 								if (item.getAmountProfitLocUpdate().compareTo(new BigDecimal(MagicValues.ZERO)) == 0 ||
 									item.getAmountDrLoc().compareTo(new BigDecimal(MagicValues.ZERO)) == 0) {
 									item.getAmountDrLoc().compareTo(new BigDecimal(MagicValues.ZERO)) == 0) {
@@ -3432,6 +3450,15 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 							item.setExrateType(exrateType);
 							item.setExrateType(exrateType);
 							item.setFeeCenterList(feeCenterReports);
 							item.setFeeCenterList(feeCenterReports);
 						}
 						}
+						Bills bills1 = list.stream().filter(e -> e.getBillType().equals("MM")).findFirst().orElse(null);
+						if (bills1 != null) {
+							bills1.setAmountProfit(bills1.getAmountProfit().add(amountTotalProfit));
+							bills1.setAmountProfitUsd(bills1.getAmountProfitUsd().add(amountTotalProfitUsd));
+							bills1.setAmountProfitLoc(bills1.getAmountProfitLoc().add(amountTotalProfitLoc));
+							bills1.setAmountProfitUpdate(bills1.getAmountProfitUpdate().add(amountTotalProfitUpdate));
+							bills1.setAmountProfitUsdUpdate(bills1.getAmountProfitUsdUpdate().add(amountTotalProfitUsdUpdate));
+							bills1.setAmountProfitLocUpdate(bills1.getAmountProfitLocUpdate().add(amountTotalProfitLocUpdate));
+						}
 					}
 					}
 					map.put(MagicValues.DATA, list);
 					map.put(MagicValues.DATA, list);
 				}
 				}

+ 6 - 4
blade-service/blade-los/src/main/java/org/springblade/los/box/controller/RouteCostController.java

@@ -102,10 +102,12 @@ public class RouteCostController extends BladeController {
 			.and(ObjectUtils.isNotNull(routeCost.getShipCname()), i -> i.like(RouteCost::getShipCname, routeCost.getShipCname()).or()
 			.and(ObjectUtils.isNotNull(routeCost.getShipCname()), i -> i.like(RouteCost::getShipCname, routeCost.getShipCname()).or()
 				.like(RouteCost::getShipEname, routeCost.getShipCname()).or().like(RouteCost::getShipCode, routeCost.getShipCname()))
 				.like(RouteCost::getShipEname, routeCost.getShipCname()).or().like(RouteCost::getShipCode, routeCost.getShipCname()))
 			.like(ObjectUtils.isNotNull(routeCost.getVoyage()), RouteCost::getVoyage, routeCost.getVoyage());
 			.like(ObjectUtils.isNotNull(routeCost.getVoyage()), RouteCost::getVoyage, routeCost.getVoyage());
-		if (ObjectUtils.isNotNull(routeCost.getEffectiveStartDate()) && ObjectUtils.isNotNull(routeCost.getEffectiveEndDate())) {
-			SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
-			lambdaQueryWrapper.apply(ObjectUtils.isNotNull(routeCost.getEffectiveStartDate()), "DATE_FORMAT(effective_start_date,'%Y-%m-%d') >= '" + formatter.format(routeCost.getEffectiveStartDate()) + "'")
-				.apply(ObjectUtils.isNotNull(routeCost.getEffectiveEndDate()), "DATE_FORMAT(effective_end_date,'%Y-%m-%d') <= '" + formatter.format(routeCost.getEffectiveEndDate()) + "'");
+		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+		if (ObjectUtils.isNotNull(routeCost.getEffectiveStartDate())) {
+			lambdaQueryWrapper.apply(ObjectUtils.isNotNull(routeCost.getEffectiveStartDate()), "DATE_FORMAT(effective_start_date,'%Y-%m-%d') >= '" + formatter.format(routeCost.getEffectiveStartDate()) + "'");
+		}
+		if (ObjectUtils.isNotNull(routeCost.getEffectiveEndDate())) {
+			lambdaQueryWrapper.apply(ObjectUtils.isNotNull(routeCost.getEffectiveEndDate()), "DATE_FORMAT(effective_end_date,'%Y-%m-%d') <= '" + formatter.format(routeCost.getEffectiveEndDate()) + "'");
 		}
 		}
 		if ("0".equals(routeCost.getSort())) {
 		if ("0".equals(routeCost.getSort())) {
 			lambdaQueryWrapper.orderByDesc(RouteCost::getTotalProfit);
 			lambdaQueryWrapper.orderByDesc(RouteCost::getTotalProfit);

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

@@ -1155,6 +1155,7 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 				if (ObjectUtils.isNotNull(item.getMasterId()) && item.getMasterId() != 0) {
 				if (ObjectUtils.isNotNull(item.getMasterId()) && item.getMasterId() != 0) {
 					throw new RuntimeException("分单号:" + item.getBillNo() + "已添加主单,请勿重复添加");
 					throw new RuntimeException("分单号:" + item.getBillNo() + "已添加主单,请勿重复添加");
 				}
 				}
+				item.setMblno(bills.getMblno());
 				item.setEtd(bills.getEtd());
 				item.setEtd(bills.getEtd());
 				item.setEta(bills.getEta());
 				item.setEta(bills.getEta());
 				item.setActualEta(bills.getActualEta());
 				item.setActualEta(bills.getActualEta());
@@ -1528,6 +1529,43 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 		}
 		}
 		declare.setStatus(0);
 		declare.setStatus(0);
 		baseMapper.updateById(declare);
 		baseMapper.updateById(declare);
+		List<Long> idList = new ArrayList<>();
+		idList.add(declare.getId());
+		if ("MM".equals(declare.getBillType())) {
+			List<Bills> billsList = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
+				.eq(Bills::getTenantId, AuthUtil.getTenantId())
+				.eq(Bills::getIsDeleted, 0)
+				.eq(Bills::getMasterId, declare.getId())
+				.eq(Bills::getBillType, "MH"));
+			if (!billsList.isEmpty()) {
+				for (Bills item : billsList) {
+					item.setStatus(0);
+					item.setUpdateTime(new Date());
+					item.setUpdateUserName(AuthUtil.getUserName());
+					item.setUpdateUser(AuthUtil.getUserId());
+				}
+				this.updateBatchById(billsList);
+				idList.addAll(billsList.stream().map(Bills::getId).collect(Collectors.toList()));
+			}
+		}
+		List<FeeCenter> feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
+			.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+			.eq(FeeCenter::getIsDeleted, 0)
+			.in(FeeCenter::getPid, idList)
+			.eq(FeeCenter::getAccStatus, "0")
+			.eq(FeeCenter::getAuditStatus, "1"));
+		if (!feeCenterList.isEmpty()) {
+			for (FeeCenter item : feeCenterList) {
+				item.setUpdateTime(new Date());
+				item.setUpdateUser(AuthUtil.getUserId());
+				item.setUpdateUserName(AuthUtil.getUserName());
+				item.setAuditStatus("0");
+				item.setApplyId(AuthUtil.getUserId());
+				item.setApplyName(AuthUtil.getUserName());
+				item.setApplyTime(new Date());
+			}
+			feeCenterService.updateBatchById(feeCenterList);
+		}
 		return declare;
 		return declare;
 	}
 	}
 
 
@@ -1651,7 +1689,7 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 		for (PreContainers item : preContainersList) {
 		for (PreContainers item : preContainersList) {
 			item.setPid(null);
 			item.setPid(null);
 			item.setId(null);
 			item.setId(null);
-			item.setWhetherDispatchVehicles("0");
+			item.setContainerNumberStatus("录入");
 		}
 		}
 		List<FilesCenter> filesList = filesCenterService.list(new LambdaQueryWrapper<FilesCenter>()
 		List<FilesCenter> filesList = filesCenterService.list(new LambdaQueryWrapper<FilesCenter>()
 			.eq(FilesCenter::getIsDeleted, 0)
 			.eq(FilesCenter::getIsDeleted, 0)
@@ -2611,6 +2649,8 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 					item.setIssueStatus(null);
 					item.setIssueStatus(null);
 					item.setMasterId(billsJkNew.getId());
 					item.setMasterId(billsJkNew.getId());
 					item.setMasterBillNo(billsJkNew.getBillNo());
 					item.setMasterBillNo(billsJkNew.getBillNo());
+					item.setBusinessType("SI");
+					item.setSeaType("I");
 					BusinessBillNo businessBillNo1 = new BusinessBillNo();
 					BusinessBillNo businessBillNo1 = new BusinessBillNo();
 					businessBillNo1.setBusinessTypeId(businessType.getId());
 					businessBillNo1.setBusinessTypeId(businessType.getId());
 					businessBillNo1.setCode("HYJK");
 					businessBillNo1.setCode("HYJK");
@@ -2705,6 +2745,7 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 			.eq(PreContainers::getIsDeleted, 0)
 			.eq(PreContainers::getIsDeleted, 0)
 			.eq(PreContainers::getPid, billsJk.getSrcBusId()));
 			.eq(PreContainers::getPid, billsJk.getSrcBusId()));
 		if (!preContainersList.isEmpty()) {
 		if (!preContainersList.isEmpty()) {
+			List<PreContainers> preContainersListNew = new ArrayList<>();
 			for (PreContainers item : preContainersList) {
 			for (PreContainers item : preContainersList) {
 				item.setId(null);
 				item.setId(null);
 				item.setCreateTime(new Date());
 				item.setCreateTime(new Date());
@@ -2717,15 +2758,17 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 				item.setUpdateTime(null);
 				item.setUpdateTime(null);
 				item.setUpdateUserName(null);
 				item.setUpdateUserName(null);
 				item.setPid(billsJk.getId());
 				item.setPid(billsJk.getId());
+				preContainersListNew.add(item);
 			}
 			}
-			preContainersService.saveBatch(preContainersList);
+			preContainersService.saveBatch(preContainersListNew);
 		}
 		}
 		List<Containers> containersList = containersService.list(new LambdaQueryWrapper<Containers>()
 		List<Containers> containersList = containersService.list(new LambdaQueryWrapper<Containers>()
 			.eq(Containers::getTenantId, AuthUtil.getTenantId())
 			.eq(Containers::getTenantId, AuthUtil.getTenantId())
 			.eq(Containers::getIsDeleted, 0)
 			.eq(Containers::getIsDeleted, 0)
 			.eq(Containers::getPid, billsJk.getSrcBusId()));
 			.eq(Containers::getPid, billsJk.getSrcBusId()));
 		if (!containersList.isEmpty()) {
 		if (!containersList.isEmpty()) {
-			for (Containers item : billsJk.getContainersList()) {
+			List<Containers> containersListNew = new ArrayList<>();
+			for (Containers item : containersList) {
 				item.setSrcId(item.getId());
 				item.setSrcId(item.getId());
 				item.setId(null);
 				item.setId(null);
 				item.setCreateTime(new Date());
 				item.setCreateTime(new Date());
@@ -2738,13 +2781,15 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 				item.setUpdateTime(null);
 				item.setUpdateTime(null);
 				item.setUpdateUserName(null);
 				item.setUpdateUserName(null);
 				item.setPid(billsJk.getId());
 				item.setPid(billsJk.getId());
+				containersListNew.add(item);
 			}
 			}
-			containersService.saveBatch(containersList);
+			containersService.saveBatch(containersListNew);
 			List<ContainersCommodity> containersCommodityList = containersCommodityService.list(new LambdaQueryWrapper<ContainersCommodity>()
 			List<ContainersCommodity> containersCommodityList = containersCommodityService.list(new LambdaQueryWrapper<ContainersCommodity>()
 				.eq(ContainersCommodity::getTenantId, AuthUtil.getTenantId())
 				.eq(ContainersCommodity::getTenantId, AuthUtil.getTenantId())
 				.eq(ContainersCommodity::getIsDeleted, 0)
 				.eq(ContainersCommodity::getIsDeleted, 0)
 				.eq(ContainersCommodity::getPpId, billsJk.getSrcBusId()));
 				.eq(ContainersCommodity::getPpId, billsJk.getSrcBusId()));
 			if (!containersCommodityList.isEmpty()) {
 			if (!containersCommodityList.isEmpty()) {
+				List<ContainersCommodity> containersCommodityListNew = new ArrayList<>();
 				for (ContainersCommodity item : containersCommodityList) {
 				for (ContainersCommodity item : containersCommodityList) {
 					Containers containers = containersList.stream().filter(e -> e.getSrcId().equals(item.getPid())).findFirst().orElse(null);
 					Containers containers = containersList.stream().filter(e -> e.getSrcId().equals(item.getPid())).findFirst().orElse(null);
 					if (containers != null) {
 					if (containers != null) {
@@ -2763,14 +2808,16 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 					} else {
 					} else {
 						throw new RuntimeException("装箱明细数据错误,请联系管理员");
 						throw new RuntimeException("装箱明细数据错误,请联系管理员");
 					}
 					}
+					containersCommodityListNew.add(item);
 				}
 				}
-				containersCommodityService.saveBatch(containersCommodityList);
+				containersCommodityService.saveBatch(containersCommodityListNew);
 			}
 			}
 			List<ContainersBills> containersBillsList = containersBillsService.list(new LambdaQueryWrapper<ContainersBills>()
 			List<ContainersBills> containersBillsList = containersBillsService.list(new LambdaQueryWrapper<ContainersBills>()
 				.eq(ContainersBills::getTenantId, AuthUtil.getTenantId())
 				.eq(ContainersBills::getTenantId, AuthUtil.getTenantId())
 				.eq(ContainersBills::getIsDeleted, 0)
 				.eq(ContainersBills::getIsDeleted, 0)
 				.eq(ContainersBills::getPpId, billsJk.getSrcBusId()));
 				.eq(ContainersBills::getPpId, billsJk.getSrcBusId()));
 			if (!containersBillsList.isEmpty()) {
 			if (!containersBillsList.isEmpty()) {
+				List<ContainersBills> containersBillsListNew = new ArrayList<>();
 				for (ContainersBills item : containersBillsList) {
 				for (ContainersBills item : containersBillsList) {
 					Containers containers = containersList.stream().filter(e -> e.getSrcId().equals(item.getPid())).findFirst().orElse(null);
 					Containers containers = containersList.stream().filter(e -> e.getSrcId().equals(item.getPid())).findFirst().orElse(null);
 					if (containers != null) {
 					if (containers != null) {
@@ -2789,8 +2836,9 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 					} else {
 					} else {
 						throw new RuntimeException("装箱明细数据错误,请联系管理员");
 						throw new RuntimeException("装箱明细数据错误,请联系管理员");
 					}
 					}
+					containersBillsListNew.add(item);
 				}
 				}
-				containersBillsService.saveBatch(containersBillsList);
+				containersBillsService.saveBatch(containersBillsListNew);
 			}
 			}
 		}
 		}
 		List<FilesCenter> filesList = filesCenterService.list(new LambdaQueryWrapper<FilesCenter>()
 		List<FilesCenter> filesList = filesCenterService.list(new LambdaQueryWrapper<FilesCenter>()
@@ -2798,7 +2846,8 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 			.eq(FilesCenter::getIsDeleted, 0)
 			.eq(FilesCenter::getIsDeleted, 0)
 			.eq(FilesCenter::getPid, billsJk.getSrcBusId()));
 			.eq(FilesCenter::getPid, billsJk.getSrcBusId()));
 		if (!filesList.isEmpty()) {
 		if (!filesList.isEmpty()) {
-			for (FilesCenter item : billsJk.getFilesList()) {
+			List<FilesCenter> filesListNew = new ArrayList<>();
+			for (FilesCenter item : filesList) {
 				item.setId(null);
 				item.setId(null);
 				item.setPid(billsJk.getId());
 				item.setPid(billsJk.getId());
 				item.setCreateTime(new Date());
 				item.setCreateTime(new Date());
@@ -2810,9 +2859,9 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 				item.setUpdateUser(null);
 				item.setUpdateUser(null);
 				item.setUpdateTime(null);
 				item.setUpdateTime(null);
 				item.setUpdateUserName(null);
 				item.setUpdateUserName(null);
-				filesList.add(item);
+				filesListNew.add(item);
 			}
 			}
-			filesCenterService.saveBatch(filesList);
+			filesCenterService.saveBatch(filesListNew);
 		}
 		}
 		BigDecimal amountCr = new BigDecimal("0.00");
 		BigDecimal amountCr = new BigDecimal("0.00");
 		BigDecimal amountProfit = new BigDecimal("0.00");
 		BigDecimal amountProfit = new BigDecimal("0.00");
@@ -2834,6 +2883,7 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 		List<BCurExrate> curExrateList = currencyUtils.obtainRate(date, "1", billsJk.getBranchId());
 		List<BCurExrate> curExrateList = currencyUtils.obtainRate(date, "1", billsJk.getBranchId());
 		if (!feeCenterList.isEmpty()) {
 		if (!feeCenterList.isEmpty()) {
 			statusD += 1;
 			statusD += 1;
+			List<FeeCenter> feeCenterListNew = new ArrayList<>();
 			for (FeeCenter item : feeCenterList) {
 			for (FeeCenter item : feeCenterList) {
 				//计算字段null值处理
 				//计算字段null值处理
 				item.setQuantity(ObjectUtils.isNotNull(item.getQuantity()) ? item.getQuantity() : new BigDecimal("0.00"));
 				item.setQuantity(ObjectUtils.isNotNull(item.getQuantity()) ? item.getQuantity() : new BigDecimal("0.00"));
@@ -2866,8 +2916,9 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 				}
 				}
 				item.setAmount(amount);
 				item.setAmount(amount);
 				item.setUnsettledAmount(item.getAmount().subtract(item.getStlTtlAmount()));
 				item.setUnsettledAmount(item.getAmount().subtract(item.getStlTtlAmount()));
+				feeCenterListNew.add(item);
 			}
 			}
-			feeCenterService.saveBatch(feeCenterList);
+			feeCenterService.saveBatch(feeCenterListNew);
 		}
 		}
 		if (0 == statusD) {
 		if (0 == statusD) {
 			billsJk.setAccountStatus(0);
 			billsJk.setAccountStatus(0);
@@ -3316,10 +3367,19 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 					throw new RuntimeException("分单号:" + item.getBillNo() + "已添加主单,请勿重复添加");
 					throw new RuntimeException("分单号:" + item.getBillNo() + "已添加主单,请勿重复添加");
 				}
 				}
 			}
 			}
-			Integer teu = bills.getTeu();
+			List<PreContainers> preContainersList = preContainersService.list(new LambdaQueryWrapper<PreContainers>()
+				.eq(PreContainers::getTenantId, AuthUtil.getTenantId())
+				.eq(PreContainers::getIsDeleted, 0)
+				.eq(PreContainers::getPid, bills.getId()));
+			int teu = 0;
+			for (PreContainers item : preContainersList) {
+				if (ObjectUtils.isNotNull(item.getTeu())) {
+					teu = teu + item.getQuantity() * Integer.parseInt(item.getTeu().toString());
+				}
+			}
 			Integer teus = billsList.stream().map(Bills::getTeu).filter(Objects::nonNull).reduce(0, Integer::sum);
 			Integer teus = billsList.stream().map(Bills::getTeu).filter(Objects::nonNull).reduce(0, Integer::sum);
 			if (teu < teus + bills.getTeuTotal()) {
 			if (teu < teus + bills.getTeuTotal()) {
-				return R.data("分单订舱TEU:" + teus + bills.getTeuTotal() + "大于主单TEU:" + teu);
+				return R.data("分单订舱TEU:" + (teus + bills.getTeuTotal()) + "大于主单TEU:" + teu);
 			}
 			}
 		}
 		}
 		return R.data("操作成功");
 		return R.data("操作成功");
@@ -3547,6 +3607,7 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 					containers.setCreateDept(item.getCreateDept());
 					containers.setCreateDept(item.getCreateDept());
 					containers.setCreateDeptName(item.getCreateDeptName());
 					containers.setCreateDeptName(item.getCreateDeptName());
 					containers.setCreateTime(new Date());
 					containers.setCreateTime(new Date());
+					containers.setContainerNumberStatus("录入");
 					copyPreContainersList.add(containers);
 					copyPreContainersList.add(containers);
 				}
 				}
 			}
 			}

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

@@ -116,6 +116,9 @@ public class SeaContainerNumberItemServiceImpl extends ServiceImpl<SeaContainerN
 		if (preContainers == null) {
 		if (preContainers == null) {
 			throw new RuntimeException("数据错误,请联系管理员");
 			throw new RuntimeException("数据错误,请联系管理员");
 		}
 		}
+		if (preContainers.getQuantity() < containerNumberItemList.stream().map(SeaContainerNumberItem::getOccupyNum).reduce(0, Integer::sum)) {
+			throw new RuntimeException("操作占用箱量合计大于订舱箱量");
+		}
 		preContainers.setUpdateTime(new Date());
 		preContainers.setUpdateTime(new Date());
 		preContainers.setUpdateUser(AuthUtil.getUserId());
 		preContainers.setUpdateUser(AuthUtil.getUserId());
 		preContainers.setUpdateUserName(AuthUtil.getUserName());
 		preContainers.setUpdateUserName(AuthUtil.getUserName());

+ 3 - 0
blade-service/blade-los/src/main/java/org/springblade/los/check/controller/AuditPathsController.java

@@ -86,6 +86,9 @@ public class AuditPathsController extends BladeController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "列表-审批流配置主表", notes = "传入auditPaths")
 	@ApiOperation(value = "列表-审批流配置主表", notes = "传入auditPaths")
 	public R<IPage<LosAuditPaths>> list(LosAuditPaths auditPaths, Query query) {
 	public R<IPage<LosAuditPaths>> list(LosAuditPaths auditPaths, Query query) {
+		if (ObjectUtils.isNotNull(auditPaths.getBranchId())){
+			auditPaths.setSalesCompanyId(Long.parseLong(auditPaths.getBranchId()));
+		}
 		LambdaQueryWrapper<LosAuditPaths> lambdaQueryWrapper=new LambdaQueryWrapper<>();
 		LambdaQueryWrapper<LosAuditPaths> lambdaQueryWrapper=new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.like(StringUtils.isNotBlank(auditPaths.getPathName()),LosAuditPaths::getPathName,auditPaths.getPathName())
 		lambdaQueryWrapper.like(StringUtils.isNotBlank(auditPaths.getPathName()),LosAuditPaths::getPathName,auditPaths.getPathName())
 			.eq(LosAuditPaths::getTenantId, AuthUtil.getTenantId())
 			.eq(LosAuditPaths::getTenantId, AuthUtil.getTenantId())

+ 5 - 1
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/service/impl/FeeCenterServiceImpl.java

@@ -1095,7 +1095,11 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
 				feeCenter.setUnitNo(items.getUnitNo());
 				feeCenter.setUnitNo(items.getUnitNo());
 				feeCenter.setPrice(items.getSalesPrice());
 				feeCenter.setPrice(items.getSalesPrice());
 				feeCenter.setCurCode(items.getCurCode());
 				feeCenter.setCurCode(items.getCurCode());
-				feeCenter.setExrate(currencyUtils.obtainExrate(feeCenter.getDc(), curExrateList, feeCenter.getCurCode(), "1"));
+				if (exrateType.equals(items.getCurCode())){
+					feeCenter.setExrate(new BigDecimal("1.00"));
+				}else{
+					feeCenter.setExrate(currencyUtils.obtainExrate(feeCenter.getDc(), curExrateList, feeCenter.getCurCode(), "1"));
+				}
 				if ("按箱型".equals(items.getQuantityRule())) {
 				if ("按箱型".equals(items.getQuantityRule())) {
 					if (preContainers.isEmpty()) {
 					if (preContainers.isEmpty()) {
 						text.append("费用:").append(items.getFeeCnName()).append("未找到集装箱信息!");
 						text.append("费用:").append(items.getFeeCnName()).append("未找到集装箱信息!");

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

@@ -1384,10 +1384,11 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 	@Override
 	@Override
 	public R<Map<String, Object>> arrivalReminder() {
 	public R<Map<String, Object>> arrivalReminder() {
 		Map<String, Object> map = new HashMap<>();
 		Map<String, Object> map = new HashMap<>();
+		//到港提醒
 		int day = 5;
 		int day = 5;
 		Date date = new Date();
 		Date date = new Date();
 		String arrivalReminderDay = sysClient.getParamService("arrival.reminder");
 		String arrivalReminderDay = sysClient.getParamService("arrival.reminder");
-		if (ObjectUtils.isNotNull(arrivalReminderDay)) {
+		if (ObjectUtils.isNotNull(arrivalReminderDay) && !"获取数据失败".equals(arrivalReminderDay)) {
 			day = Integer.parseInt(arrivalReminderDay);
 			day = Integer.parseInt(arrivalReminderDay);
 		}
 		}
 		Calendar calendar = Calendar.getInstance();
 		Calendar calendar = Calendar.getInstance();
@@ -1395,12 +1396,71 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 		calendar.add(Calendar.DAY_OF_MONTH, -day);
 		calendar.add(Calendar.DAY_OF_MONTH, -day);
 		Date date1 = calendar.getTime();
 		Date date1 = calendar.getTime();
 		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-		LambdaQueryWrapper<Bills> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-		lambdaQueryWrapper.eq(Bills::getTenantId, AuthUtil.getTenantId())
+		map.put("arrivalReminder", billsMapper.selectCount(new LambdaQueryWrapper<Bills>().eq(Bills::getTenantId, AuthUtil.getTenantId())
+			.eq(Bills::getIsDeleted, 0)
+			.eq(Bills::getBranchId, AuthUtil.getDeptId())
+			.apply("DATE_FORMAT(eta,'%Y-%m-%d') > '" + sdf.format(date1) + "' and DATE_FORMAT(eta,'%Y-%m-%d') <= '" + sdf.format(date) + "'")));
+		//开船提醒
+		int etdDay = 5;
+		Date etdDate = new Date();
+		String sailRemind = sysClient.getParamService("sail.remind");
+		if (ObjectUtils.isNotNull(sailRemind) && !"获取数据失败".equals(sailRemind)) {
+			etdDay = Integer.parseInt(sailRemind);
+		}
+		Calendar etdCalendar = Calendar.getInstance();
+		etdCalendar.setTime(etdDate);
+		etdCalendar.add(Calendar.DAY_OF_MONTH, -etdDay);
+		Date etdDate1 = calendar.getTime();
+		map.put("sailRemind", billsMapper.selectCount(new LambdaQueryWrapper<Bills>().eq(Bills::getTenantId, AuthUtil.getTenantId())
+			.eq(Bills::getIsDeleted, 0)
+			.eq(Bills::getBranchId, AuthUtil.getDeptId())
+			.apply("DATE_FORMAT(etd,'%Y-%m-%d') > '" + sdf.format(etdDate1) + "' and DATE_FORMAT(etd,'%Y-%m-%d') <= '" + sdf.format(date) + "'")));
+		//截港提醒
+		int cutOffPortDay = 5;
+		Date cutOffPortDate = new Date();
+		String cutOffPortRemind = sysClient.getParamService("cut.off.port.remind");
+		if (ObjectUtils.isNotNull(cutOffPortRemind) && !"获取数据失败".equals(cutOffPortRemind)) {
+			cutOffPortDay = Integer.parseInt(cutOffPortRemind);
+		}
+		Calendar cutOffPortCalendar = Calendar.getInstance();
+		cutOffPortCalendar.setTime(cutOffPortDate);
+		cutOffPortCalendar.add(Calendar.DAY_OF_MONTH, -cutOffPortDay);
+		Date cutOffPortDate1 = calendar.getTime();
+		map.put("cutOffPortRemind", billsMapper.selectCount(new LambdaQueryWrapper<Bills>().eq(Bills::getTenantId, AuthUtil.getTenantId())
+			.eq(Bills::getIsDeleted, 0)
+			.eq(Bills::getBranchId, AuthUtil.getDeptId())
+			.apply("DATE_FORMAT(cy_return_time,'%Y-%m-%d') > '" + sdf.format(cutOffPortDate1) + "' and DATE_FORMAT(cy_return_time,'%Y-%m-%d') <= '" + sdf.format(cutOffPortDate) + "'")));
+		//截单提醒
+		int cutSingleDay = 5;
+		Date cutSingleDate = new Date();
+		String cutSingleRemind = sysClient.getParamService("cut.single.remind");
+		if (ObjectUtils.isNotNull(cutSingleRemind) && !"获取数据失败".equals(cutSingleRemind)) {
+			cutSingleDay = Integer.parseInt(cutSingleRemind);
+		}
+		Calendar cutSingleCalendar = Calendar.getInstance();
+		cutSingleCalendar.setTime(cutSingleDate);
+		cutSingleCalendar.add(Calendar.DAY_OF_MONTH, -cutSingleDay);
+		Date cutSingleDate1 = calendar.getTime();
+		map.put("cutSingleRemind", billsMapper.selectCount(new LambdaQueryWrapper<Bills>().eq(Bills::getTenantId, AuthUtil.getTenantId())
+			.eq(Bills::getIsDeleted, 0)
+			.eq(Bills::getBranchId, AuthUtil.getDeptId())
+			.apply("DATE_FORMAT(cy_trailer_time,'%Y-%m-%d') > '" + sdf.format(cutSingleDate1) + "' and DATE_FORMAT(cy_trailer_time,'%Y-%m-%d') <= '" + sdf.format(cutSingleDate) + "'")));
+		//开船未付费提醒
+		int sailUnpaidDay = 5;
+		Date sailUnpaidDate = new Date();
+		String sailUnpaidRemind = sysClient.getParamService("sail.unpaid.remind");
+		if (ObjectUtils.isNotNull(sailUnpaidRemind) && !"获取数据失败".equals(sailUnpaidRemind)) {
+			sailUnpaidDay = Integer.parseInt(sailUnpaidRemind);
+		}
+		Calendar sailUnpaidCalendar = Calendar.getInstance();
+		sailUnpaidCalendar.setTime(sailUnpaidDate);
+		sailUnpaidCalendar.add(Calendar.DAY_OF_MONTH, -sailUnpaidDay);
+		Date sailUnpaidDate1 = calendar.getTime();
+		map.put("sailUnpaidRemind", billsMapper.selectCount(new LambdaQueryWrapper<Bills>().eq(Bills::getTenantId, AuthUtil.getTenantId())
 			.eq(Bills::getIsDeleted, 0)
 			.eq(Bills::getIsDeleted, 0)
 			.eq(Bills::getBranchId, AuthUtil.getDeptId())
 			.eq(Bills::getBranchId, AuthUtil.getDeptId())
-			.apply("DATE_FORMAT(eta,'%Y-%m-%d') > '" + sdf.format(date1) + "' and DATE_FORMAT(eta,'%Y-%m-%d') <= '" + sdf.format(date) + "'");
-		map.put("arrivalReminder", billsMapper.selectCount(lambdaQueryWrapper));
+			.eq(Bills::getStlCrStatus, 0)
+			.apply("DATE_FORMAT(actual_etd,'%Y-%m-%d') > '" + sdf.format(sailUnpaidDate1) + "' and DATE_FORMAT(actual_etd,'%Y-%m-%d') <= '" + sdf.format(sailUnpaidDate) + "'")));
 		return R.data(map);
 		return R.data(map);
 	}
 	}
 
 
@@ -1408,25 +1468,114 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 	public R<IPage<Bills>> arrivalReminderList(Bills bills, Query query) {
 	public R<IPage<Bills>> arrivalReminderList(Bills bills, Query query) {
 		int day = 5;
 		int day = 5;
 		Date date = new Date();
 		Date date = new Date();
-		String arrivalReminderDay = sysClient.getParamService("arrival.reminder");
-		if (ObjectUtils.isNotNull(arrivalReminderDay)) {
-			day = Integer.parseInt(arrivalReminderDay);
+		if("1".equals(bills.getType())){
+			String arrivalReminderDay = sysClient.getParamService("arrival.reminder");
+			if (ObjectUtils.isNotNull(arrivalReminderDay) && !"获取数据失败".equals(arrivalReminderDay)) {
+				day = Integer.parseInt(arrivalReminderDay);
+			}
+			Calendar calendar = Calendar.getInstance();
+			calendar.setTime(date);
+			calendar.add(Calendar.DAY_OF_MONTH, -day);
+			Date date1 = calendar.getTime();
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+			LambdaQueryWrapper<Bills> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+			lambdaQueryWrapper.eq(Bills::getTenantId, AuthUtil.getTenantId())
+				.eq(Bills::getIsDeleted, 0)
+				.eq(Bills::getBranchId, AuthUtil.getDeptId())
+				.like(ObjectUtils.isNotNull(bills.getBillNo()), Bills::getBillNo, bills.getBillNo())
+				.and(ObjectUtils.isNotNull(bills.getCorpCnName()), i -> i.like(Bills::getCorpCnName, bills.getCorpCnName()).or()
+					.like(Bills::getCorpEnName, bills.getCorpCnName()))
+				.like(ObjectUtils.isNotNull(bills.getBillNo()), Bills::getBillNo, bills.getBillNo())
+				.apply("DATE_FORMAT(etd,'%Y-%m-%d') > '" + sdf.format(date1) + "' and DATE_FORMAT(etd,'%Y-%m-%d') <= '" + sdf.format(date) + "'");
+			IPage<Bills> billsIPage = billsMapper.selectPage(Condition.getPage(query), lambdaQueryWrapper);
+			return R.data(billsIPage);
+		}else if("2".equals(bills.getType())){
+			String arrivalReminderDay = sysClient.getParamService("sail.reminder");
+			if (ObjectUtils.isNotNull(arrivalReminderDay) && !"获取数据失败".equals(arrivalReminderDay)) {
+				day = Integer.parseInt(arrivalReminderDay);
+			}
+			Calendar calendar = Calendar.getInstance();
+			calendar.setTime(date);
+			calendar.add(Calendar.DAY_OF_MONTH, -day);
+			Date date1 = calendar.getTime();
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+			LambdaQueryWrapper<Bills> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+			lambdaQueryWrapper.eq(Bills::getTenantId, AuthUtil.getTenantId())
+				.eq(Bills::getIsDeleted, 0)
+				.eq(Bills::getBranchId, AuthUtil.getDeptId())
+				.like(ObjectUtils.isNotNull(bills.getBillNo()), Bills::getBillNo, bills.getBillNo())
+				.and(ObjectUtils.isNotNull(bills.getCorpCnName()), i -> i.like(Bills::getCorpCnName, bills.getCorpCnName()).or()
+					.like(Bills::getCorpEnName, bills.getCorpCnName()))
+				.like(ObjectUtils.isNotNull(bills.getBillNo()), Bills::getBillNo, bills.getBillNo())
+				.apply("DATE_FORMAT(eta,'%Y-%m-%d') > '" + sdf.format(date1) + "' and DATE_FORMAT(eta,'%Y-%m-%d') <= '" + sdf.format(date) + "'");
+			IPage<Bills> billsIPage = billsMapper.selectPage(Condition.getPage(query), lambdaQueryWrapper);
+			return R.data(billsIPage);
+		}else if("3".equals(bills.getType())){
+			String arrivalReminderDay = sysClient.getParamService("cut.off.port.reminder");
+			if (ObjectUtils.isNotNull(arrivalReminderDay) && !"获取数据失败".equals(arrivalReminderDay)) {
+				day = Integer.parseInt(arrivalReminderDay);
+			}
+			Calendar calendar = Calendar.getInstance();
+			calendar.setTime(date);
+			calendar.add(Calendar.DAY_OF_MONTH, -day);
+			Date date1 = calendar.getTime();
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+			LambdaQueryWrapper<Bills> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+			lambdaQueryWrapper.eq(Bills::getTenantId, AuthUtil.getTenantId())
+				.eq(Bills::getIsDeleted, 0)
+				.eq(Bills::getBranchId, AuthUtil.getDeptId())
+				.like(ObjectUtils.isNotNull(bills.getBillNo()), Bills::getBillNo, bills.getBillNo())
+				.and(ObjectUtils.isNotNull(bills.getCorpCnName()), i -> i.like(Bills::getCorpCnName, bills.getCorpCnName()).or()
+					.like(Bills::getCorpEnName, bills.getCorpCnName()))
+				.like(ObjectUtils.isNotNull(bills.getBillNo()), Bills::getBillNo, bills.getBillNo())
+				.apply("DATE_FORMAT(cy_return_time,'%Y-%m-%d') > '" + sdf.format(date1) + "' and DATE_FORMAT(cy_return_time,'%Y-%m-%d') <= '" + sdf.format(date) + "'");
+			IPage<Bills> billsIPage = billsMapper.selectPage(Condition.getPage(query), lambdaQueryWrapper);
+			return R.data(billsIPage);
+		}else if("4".equals(bills.getType())){
+			String arrivalReminderDay = sysClient.getParamService("cut.single.reminder");
+			if (ObjectUtils.isNotNull(arrivalReminderDay) && !"获取数据失败".equals(arrivalReminderDay)) {
+				day = Integer.parseInt(arrivalReminderDay);
+			}
+			Calendar calendar = Calendar.getInstance();
+			calendar.setTime(date);
+			calendar.add(Calendar.DAY_OF_MONTH, -day);
+			Date date1 = calendar.getTime();
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+			LambdaQueryWrapper<Bills> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+			lambdaQueryWrapper.eq(Bills::getTenantId, AuthUtil.getTenantId())
+				.eq(Bills::getIsDeleted, 0)
+				.eq(Bills::getBranchId, AuthUtil.getDeptId())
+				.like(ObjectUtils.isNotNull(bills.getBillNo()), Bills::getBillNo, bills.getBillNo())
+				.and(ObjectUtils.isNotNull(bills.getCorpCnName()), i -> i.like(Bills::getCorpCnName, bills.getCorpCnName()).or()
+					.like(Bills::getCorpEnName, bills.getCorpCnName()))
+				.like(ObjectUtils.isNotNull(bills.getBillNo()), Bills::getBillNo, bills.getBillNo())
+				.apply("DATE_FORMAT(cy_trailer_time,'%Y-%m-%d') > '" + sdf.format(date1) + "' and DATE_FORMAT(cy_trailer_time,'%Y-%m-%d') <= '" + sdf.format(date) + "'");
+			IPage<Bills> billsIPage = billsMapper.selectPage(Condition.getPage(query), lambdaQueryWrapper);
+			return R.data(billsIPage);
+		}else if("5".equals(bills.getType())){
+			String arrivalReminderDay = sysClient.getParamService("sail.unpaid.reminder");
+			if (ObjectUtils.isNotNull(arrivalReminderDay) && !"获取数据失败".equals(arrivalReminderDay)) {
+				day = Integer.parseInt(arrivalReminderDay);
+			}
+			Calendar calendar = Calendar.getInstance();
+			calendar.setTime(date);
+			calendar.add(Calendar.DAY_OF_MONTH, -day);
+			Date date1 = calendar.getTime();
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+			LambdaQueryWrapper<Bills> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+			lambdaQueryWrapper.eq(Bills::getTenantId, AuthUtil.getTenantId())
+				.eq(Bills::getIsDeleted, 0)
+				.eq(Bills::getBranchId, AuthUtil.getDeptId())
+				.eq(Bills::getStlCrStatus, 0)
+				.like(ObjectUtils.isNotNull(bills.getBillNo()), Bills::getBillNo, bills.getBillNo())
+				.and(ObjectUtils.isNotNull(bills.getCorpCnName()), i -> i.like(Bills::getCorpCnName, bills.getCorpCnName()).or()
+					.like(Bills::getCorpEnName, bills.getCorpCnName()))
+				.like(ObjectUtils.isNotNull(bills.getBillNo()), Bills::getBillNo, bills.getBillNo())
+				.apply("DATE_FORMAT(actual_etd,'%Y-%m-%d') > '" + sdf.format(date1) + "' and DATE_FORMAT(actual_etd,'%Y-%m-%d') <= '" + sdf.format(date) + "'");
+			IPage<Bills> billsIPage = billsMapper.selectPage(Condition.getPage(query), lambdaQueryWrapper);
+			return R.data(billsIPage);
+		}else{
+			return R.data(null);
 		}
 		}
-		Calendar calendar = Calendar.getInstance();
-		calendar.setTime(date);
-		calendar.add(Calendar.DAY_OF_MONTH, -day);
-		Date date1 = calendar.getTime();
-		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-		LambdaQueryWrapper<Bills> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-		lambdaQueryWrapper.eq(Bills::getTenantId, AuthUtil.getTenantId())
-			.eq(Bills::getIsDeleted, 0)
-			.eq(Bills::getBranchId, AuthUtil.getDeptId())
-			.like(ObjectUtils.isNotNull(bills.getBillNo()), Bills::getBillNo, bills.getBillNo())
-			.and(ObjectUtils.isNotNull(bills.getCorpCnName()), i -> i.like(Bills::getCorpCnName, bills.getCorpCnName()).or()
-				.like(Bills::getCorpEnName, bills.getCorpCnName()))
-			.like(ObjectUtils.isNotNull(bills.getBillNo()), Bills::getBillNo, bills.getBillNo())
-			.apply("DATE_FORMAT(eta,'%Y-%m-%d') > '" + sdf.format(date1) + "' and DATE_FORMAT(eta,'%Y-%m-%d') <= '" + sdf.format(date) + "'");
-		IPage<Bills> billsIPage = billsMapper.selectPage(Condition.getPage(query), lambdaQueryWrapper);
-		return R.data(billsIPage);
 	}
 	}
 }
 }