Browse Source

1.财务查询数据对账单号支持多个
2.客户订舱复制,箱型箱量不复制海运费,成本价
3.客户订舱模板保存,箱型箱量保存海运费,成本价制成0
4.付费申请,结算中心,发票申请,销项发票添加明细数据本次金额绑定字段修改
5.用箱计划列表增加等级检索
6.增加用箱提醒列表,导出接口
7.OW拿费用计算bug修改
8.小铃铛空白信息修改
9.同步主单分单接口增加同步船名航次到客户端显示
10.增加延期提醒列表,导出接口
11.付费申请-报表打印客户名称去重
12.客户订舱列表增加已退舱状态tab页

纪新园 4 months ago
parent
commit
0c600ddd3d
17 changed files with 547 additions and 149 deletions
  1. 139 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/box/excel/BoxReminderExcel.java
  2. 5 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/fee/entity/ListAccBillVO.java
  3. 2 0
      blade-service/blade-los/src/main/java/org/springblade/los/basic/corps/controller/BCorpsController.java
  4. 14 4
      blade-service/blade-los/src/main/java/org/springblade/los/basic/reports/service/impl/ReportsServiceImpl.java
  5. 84 0
      blade-service/blade-los/src/main/java/org/springblade/los/box/controller/BoxReminderController.java
  6. 3 1
      blade-service/blade-los/src/main/java/org/springblade/los/box/controller/UseBoxPlanController.java
  7. 3 0
      blade-service/blade-los/src/main/java/org/springblade/los/box/service/ITradingBoxService.java
  8. 14 4
      blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/PutBoxServiceImpl.java
  9. 172 68
      blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/TradingBoxServiceImpl.java
  10. 3 0
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/BookingCabinController.java
  11. 16 6
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/mapper/BillsMapper.xml
  12. 43 6
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java
  13. 27 53
      blade-service/blade-los/src/main/java/org/springblade/los/check/service/impl/AuditProecessServiceImpl.java
  14. 9 0
      blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/controller/FinAccBillsController.java
  15. 3 3
      blade-service/blade-los/src/main/java/org/springblade/los/finance/invoices/service/impl/FinInvoicesServiceImpl.java
  16. 9 3
      blade-service/blade-los/src/main/java/org/springblade/los/finance/stl/service/impl/FinStlBillsServiceImpl.java
  17. 1 1
      blade-service/blade-los/src/main/java/org/springblade/los/view/mapper/FinanceProfitMapper.xml

+ 139 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/box/excel/BoxReminderExcel.java

@@ -0,0 +1,139 @@
+package org.springblade.los.box.excel;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.Data;
+
+/**
+ * @author :jixinyuan
+ * @date : 2025/9/2
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class BoxReminderExcel {
+
+	/**
+	 * provider
+	 */
+	@ExcelProperty(value = "provider")
+	private String provider;
+
+	/**
+	 * 业务类型
+	 */
+	@ExcelProperty(value = "业务类型")
+	private String busType;
+
+	/**
+	 * 放箱号
+	 */
+	@ExcelProperty(value = "放箱号")
+	private String containerNumber;
+
+	/**
+	 * 箱型
+	 */
+	@ExcelProperty(value = "箱型")
+	private String boxType;
+
+	/**
+	 * 箱量
+	 */
+	@ExcelProperty(value = "箱量")
+	private Integer boxNumber;
+
+	/**
+	 * 已提箱
+	 */
+	@ExcelProperty(value = "已提箱")
+	private Integer suitcaseNum;
+	/**
+	 * 未提箱
+	 */
+	@ExcelProperty(value = "未提箱")
+	private Integer notSuitcaseNum;
+
+	/**
+	 * 起运港
+	 */
+	@ExcelProperty(value = "起运港")
+	private String polCname;
+
+	/**
+	 * 起运港场站
+	 */
+	@ExcelProperty(value = "起运港场站")
+	private String polStationCname;
+
+	/**
+	 * 目的港
+	 */
+	@ExcelProperty(value = "目的港")
+	private String podCname;
+
+	/**
+	 * 目的港场站
+	 */
+	@ExcelProperty(value = "目的港场站")
+	private String podStationCname;
+
+	/**
+	 * 有效日期起
+	 */
+	@ExcelProperty(value = "有效日期起")
+	private String effectiveDate;
+
+	/**
+	 * 有效日期止
+	 */
+	@ExcelProperty(value = "有效日期止")
+	private String expiryDate;
+
+	/**
+	 * 启用日期
+	 */
+	@ExcelProperty(value = "启用日期")
+	private String activationDate;
+
+	/**
+	 * 提单号
+	 */
+	@ExcelProperty(value = "提单号")
+	private String mblno;
+
+	/**
+	 * 分单号
+	 */
+	@ExcelProperty(value = "分单号")
+	private String hblno;
+
+	/**
+	 * etd
+	 */
+	@ExcelProperty(value = "etd")
+	private String etd;
+
+	/**
+	 * eta
+	 */
+	@ExcelProperty(value = "eta")
+	private String eta;
+
+	/**
+	 * 租户号
+	 */
+	@ExcelIgnore
+	private String tenantId;
+
+	/**
+	 * 类型  1=还箱提醒  2=用箱提箱  3=延期提醒
+	 */
+	@ExcelIgnore
+	private String type;
+
+}

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

@@ -206,6 +206,11 @@ public class ListAccBillVO extends FinAccBills {
 	private String vagueH;
 
 	/**
+	 * 模糊查询=1
+	 */
+	private String vagueCh;
+
+	/**
 	 * 是否 DK, 0 否, 1 是
 	 */
 	private Integer isDk;

+ 2 - 0
blade-service/blade-los/src/main/java/org/springblade/los/basic/corps/controller/BCorpsController.java

@@ -617,10 +617,12 @@ public class BCorpsController extends BladeController {
 				if (bCorps.getId().equals(item.getCorpId())){
 					item.setCorpCnName(bCorps.getCnName());
 					item.setCorpEnName(bCorps.getEnName());
+					item.setShortName(bCorps.getShortName());
 				}
 				if (bCorps.getId().equals(item.getCarrierId())){
 					item.setCarrierCnName(bCorps.getCnName());
 					item.setCarrierEnName(bCorps.getEnName());
+					item.setCarrierShortName(bCorps.getShortName());
 				}
 				if (bCorps.getId().equals(item.getBookingAgentId())){
 					item.setBookingAgentCnName(bCorps.getCnName());

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

@@ -320,7 +320,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 										List<Long> billsIds = billsList.stream().map(Bills::getCorpId).distinct().collect(Collectors.toList());
 										List<Bills> billsList1 = billsList.stream().filter(e -> billsIds.contains(e.getCorpId())).collect(Collectors.toList());
 										for (Bills item : billsList1) {
-											billCorpName.append(item.getCorpCnName()).append("/");
+											billCorpName.append(item.getCorpCnName()).append(",");
 											AgreementPrice agreementPrice = agreementPriceList.stream().filter(e -> e.getCorpId().equals(item.getCorpId())).findFirst().orElse(null);
 											if (agreementPrice != null) {
 												AgreementPriceItems agreementPriceItems = agreementPriceItemsList.stream().filter(e -> e.getPid().equals(agreementPrice.getId())).findFirst().orElse(null);
@@ -333,7 +333,12 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 												billCorpNameAgreement.append("无").append("/");
 											}
 										}
-										finStlBills.setBillCorpName(billCorpName.toString());
+										List<String> billCorpNameList = Func.toStrList(billCorpName.toString());
+										if (!billCorpNameList.isEmpty()){
+											finStlBills.setBillCorpName(billCorpNameList.stream().distinct().collect(Collectors.joining("/")));
+										}else{
+											finStlBills.setBillCorpName(billCorpName.toString());
+										}
 										finStlBills.setBillCorpNameAgreement(billCorpNameAgreement.toString());
 									}
 									feeCenterListAll = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
@@ -436,7 +441,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 										List<Long> billsIds = billsList.stream().map(Bills::getCorpId).distinct().collect(Collectors.toList());
 										List<Bills> billsList1 = billsList.stream().filter(e -> billsIds.contains(e.getCorpId())).collect(Collectors.toList());
 										for (Bills item : billsList1) {
-											billCorpName.append(item.getCorpCnName()).append("/");
+											billCorpName.append(item.getCorpCnName()).append(",");
 											AgreementPrice agreementPrice = agreementPriceList.stream().filter(e -> e.getCorpId().equals(item.getCorpId())).findFirst().orElse(null);
 											if (agreementPrice != null) {
 												AgreementPriceItems agreementPriceItems = agreementPriceItemsList.stream().filter(e -> e.getPid().equals(agreementPrice.getId())).findFirst().orElse(null);
@@ -449,7 +454,12 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 												billCorpNameAgreement.append("无").append("/");
 											}
 										}
-										finStlBills.setBillCorpName(billCorpName.toString());
+										List<String> billCorpNameList = Func.toStrList(billCorpName.toString());
+										if (!billCorpNameList.isEmpty()){
+											finStlBills.setBillCorpName(billCorpNameList.stream().distinct().collect(Collectors.joining("/")));
+										}else{
+											finStlBills.setBillCorpName(billCorpName.toString());
+										}
 										finStlBills.setBillCorpNameAgreement(billCorpNameAgreement.toString());
 									}
 									feeCenterListAll = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()

+ 84 - 0
blade-service/blade-los/src/main/java/org/springblade/los/box/controller/BoxReminderController.java

@@ -0,0 +1,84 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.los.box.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import io.swagger.annotations.Api;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.excel.util.ExcelUtil;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.los.box.dto.ExportTradingBoxItemOut;
+import org.springblade.los.box.excel.BoxReminderExcel;
+import org.springblade.los.box.service.IPutBoxService;
+import org.springblade.los.box.service.IRouteCostService;
+import org.springblade.los.box.service.ITradingBoxItemService;
+import org.springblade.los.box.service.ITradingBoxService;
+import org.springblade.los.excel.RTFDProfitExcel;
+import org.springblade.los.excel.RouteCostProfitExcel;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 航线利润 控制器
+ *
+ * @author BladeX
+ * @since 2025-03-31
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/boxReminderStatistics")
+public class BoxReminderController extends BladeController {
+
+
+	private final ITradingBoxService tradingBoxService;
+
+	/**
+	 * 提醒
+	 */
+	@GetMapping("/boxUsageReminder")
+	public R<List<BoxReminderExcel>> boxUsageReminder(BoxReminderExcel boxReminderExcel) {
+		boxReminderExcel.setTenantId(AuthUtil.getTenantId());
+		List<BoxReminderExcel> list = tradingBoxService.boxUsageReminder( boxReminderExcel);
+		return R.data(list);
+	}
+
+	/**
+	 * 提醒
+	 */
+	@GetMapping("/boxUsageReminderExport")
+	public void boxUsageReminderExport(BoxReminderExcel boxReminderExcel, HttpServletResponse response) {
+		List<BoxReminderExcel> list = tradingBoxService.boxUsageReminder( boxReminderExcel);
+		if ("1".equals(boxReminderExcel.getType())) {
+			ExcelUtil.export(response, "还箱提醒", "还箱提醒", list, BoxReminderExcel.class);
+		} else if ("2".equals(boxReminderExcel.getType())) {
+			ExcelUtil.export(response, "用箱提箱", "用箱提箱", list, BoxReminderExcel.class);
+		}else if ("3".equals(boxReminderExcel.getType())) {
+			ExcelUtil.export(response, "延期提醒", "延期提醒", list, BoxReminderExcel.class);
+		}
+	}
+
+}

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

@@ -76,9 +76,11 @@ public class UseBoxPlanController extends BladeController {
 			.like(ObjectUtils.isNotNull(useBoxPlan.getSysNo()), UseBoxPlan::getSysNo, useBoxPlan.getSysNo())
 			.eq(ObjectUtils.isNotNull(useBoxPlan.getYear()), UseBoxPlan::getYear, useBoxPlan.getYear())
 			.eq(ObjectUtils.isNotNull(useBoxPlan.getWeek()), UseBoxPlan::getWeek, useBoxPlan.getWeek())
+			.eq(ObjectUtils.isNotNull(useBoxPlan.getLevel()), UseBoxPlan::getLevel, useBoxPlan.getLevel())
 			.ge(ObjectUtils.isNotNull(useBoxPlan.getStartDate()),UseBoxPlan::getStartDate, useBoxPlan.getStartDate())
 			.le(ObjectUtils.isNotNull(useBoxPlan.getEndDate()),UseBoxPlan::getEndDate, useBoxPlan.getEndDate())
-			.orderByDesc(UseBoxPlan::getCreateTime);
+			.orderByDesc(UseBoxPlan::getCreateTime)
+			.orderByDesc(UseBoxPlan::getLevel);
 		IPage<UseBoxPlan> pages = useBoxPlanService.page(Condition.getPage(query), lambdaQueryWrapper);
 		return R.data(pages);
 	}

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

@@ -19,6 +19,7 @@ package org.springblade.los.box.service;
 import org.springblade.los.box.dto.ExportTradingBoxItemOut;
 import org.springblade.los.box.dto.TradingBoxItemRentExcelEnter;
 import org.springblade.los.box.entity.TradingBox;
+import org.springblade.los.box.excel.BoxReminderExcel;
 import org.springblade.los.box.vo.TradingBoxVO;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -82,4 +83,6 @@ public interface ITradingBoxService extends IService<TradingBox> {
 	R revokeMergeGenerateCost(TradingBox tradingBox);
 
 	R revokEnable(TradingBox tradingBox);
+
+	List<BoxReminderExcel> boxUsageReminder(BoxReminderExcel boxReminderExcel);
 }

+ 14 - 4
blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/PutBoxServiceImpl.java

@@ -3661,6 +3661,11 @@ public class PutBoxServiceImpl extends ServiceImpl<PutBoxMapper, PutBox> impleme
 			if (billsHYJKList.isEmpty()) {
 				throw new RuntimeException("未查到海运出口单据");
 			}
+			for (Bills item : billsHYJKList) {
+				if (new Date().compareTo(item.getEtd()) > 0) {
+					throw new RuntimeException("提单号:" + item.getMblno() + "已开船,修改失败");
+				}
+			}
 			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())
@@ -3715,6 +3720,11 @@ public class PutBoxServiceImpl extends ServiceImpl<PutBoxMapper, PutBox> impleme
 			if (billsHYJKList.isEmpty()) {
 				throw new RuntimeException("未查到海运出口单据");
 			}
+			for (Bills item : billsHYJKList) {
+				if (new Date().compareTo(item.getEtd()) > 0) {
+					throw new RuntimeException("提单号:" + item.getMblno() + "已开船,修改失败");
+				}
+			}
 			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())
@@ -5264,13 +5274,13 @@ public class PutBoxServiceImpl extends ServiceImpl<PutBoxMapper, PutBox> impleme
 			.eq(PutBoxItems::getTenantId, AuthUtil.getTenantId())
 			.eq(PutBoxItems::getIsDeleted, 0)
 			.in(PutBoxItems::getPid, longList));
-		for (PutBox item : putBoxList){
+		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 (!boxItemsList.isEmpty()) {
+				itemsList = boxItemsList.stream().filter(e -> e.getPid().equals(item.getId())).collect(Collectors.toList());
 			}
 			if ("OW(拿),OW(放)".contains(item.getBusType())) {
 				if (!itemsList.isEmpty()) {
@@ -5279,7 +5289,7 @@ public class PutBoxServiceImpl extends ServiceImpl<PutBoxMapper, PutBox> impleme
 			}
 		}
 		this.removeByIds(longList);
-		if (!boxItemsList.isEmpty()){
+		if (!boxItemsList.isEmpty()) {
 			putBoxItemsService.removeByIds(boxItemsList.stream().map(PutBoxItems::getId).collect(Collectors.toList()));
 		}
 		return R.success("删除成功");

+ 172 - 68
blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/TradingBoxServiceImpl.java

@@ -35,6 +35,7 @@ import org.springblade.los.billno.entity.BusinessBillNo;
 import org.springblade.los.billno.service.IBusinessBillNoService;
 import org.springblade.los.box.dto.ExportTradingBoxItemOut;
 import org.springblade.los.box.entity.*;
+import org.springblade.los.box.excel.BoxReminderExcel;
 import org.springblade.los.box.mapper.TradingBoxMapper;
 import org.springblade.los.box.service.*;
 import org.springblade.los.business.sea.entity.Bills;
@@ -2518,6 +2519,11 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				.eq(Bills::getIsDeleted, 0)
 				.in(Bills::getMblno, mblno));
 			if (!billsList.isEmpty()) {
+				for (Bills item : billsList) {
+					if (new Date().compareTo(item.getEtd()) > 0) {
+						throw new RuntimeException("提单号:" + item.getMblno() + "已开船,修改失败");
+					}
+				}
 				List<Containers> containersList = containersService.list(new LambdaQueryWrapper<Containers>()
 					.eq(Containers::getTenantId, AuthUtil.getTenantId())
 					.eq(Containers::getIsDeleted, 0)
@@ -2737,7 +2743,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 			throw new RuntimeException("请先维护'PerDiem'费用基础信息");
 		}
 		Calendar calendar = Calendar.getInstance();
-		calendar.setTime(new Date());
+		calendar.setTime(tradingBox.getRentDate());
 		int year = calendar.get(Calendar.YEAR); // 获取年份
 		int month = calendar.get(Calendar.MONTH) + 1; // 获取月份(注意需加上1,因为月份从0开始计数)
 		int day = calendar.get(Calendar.DATE);
@@ -2760,7 +2766,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 			feeCenterItems.setCreateUserName(detail.getCreateUserName());
 			feeCenterItems.setCreateTime(new Date());
 			feeCenterItems.setPid(detail.getId());
-			feeCenterItems.setAccountDate(new Date());
+			feeCenterItems.setAccountDate(tradingBox.getRentDate());
 			feeCenterItems.setAccountYear(year);
 			feeCenterItems.setAccountMonth(month);
 			feeCenterItems.setAccountDay(day);
@@ -2920,19 +2926,19 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 							throw new RuntimeException("箱号:" + item.getCode() + "已生费用明细,撤销失败");
 						}
 						feeCenterItemsService.removeById(feeCenter.getId());
+						Calendar calendar = Calendar.getInstance();
+						calendar.setTime(feeCenter.getStorageDate());
+						calendar.add(Calendar.DAY_OF_MONTH, -1);
+						item.setRentEndDate(calendar.getTime());
+						if (item.getRentEndDate().compareTo(item.getPolPickUpDate()) < 0) {
+							item.setRentEndDate(item.getPolPickUpDate());
+						}
 					}
 				}
 				item.setUpdateTime(new Date());
 				item.setUpdateUser(AuthUtil.getUserId());
 				item.setUpdateUserName(AuthUtil.getUserName());
 				item.setCount(item.getCount() - 1);
-				Calendar calendar = Calendar.getInstance();
-				calendar.setTime(item.getRentStartDate());
-				calendar.add(Calendar.DAY_OF_MONTH, -1);
-				item.setRentEndDate(calendar.getTime());
-				if (item.getRentEndDate().compareTo(item.getPolPickUpDate()) < 0) {
-					item.setRentEndDate(item.getPolPickUpDate());
-				}
 				itemList.add(item);
 			}
 		}
@@ -2965,6 +2971,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 			feeCenter.setCorpId(centerItems.getCorpId());
 			feeCenter.setCorpCnName(centerItems.getCorpCnName());
 			feeCenter.setCorpEnName(centerItems.getCorpEnName());
+			feeCenter.setShortName(centerItems.getCorpCnName());
 			feeCenter.setCreateTime(new Date());
 			feeCenter.setCreateUser(AuthUtil.getUserId());
 			feeCenter.setCreateUserName(AuthUtil.getUserName());
@@ -3009,6 +3016,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				feeCenterList.add(feeCenter);
 			}
 		}
+		List<FeeCenterItems> feeCenterItemsList = new ArrayList<>();
 		if (!feeCenterList.isEmpty()) {
 			feeCenterService.saveBatch(feeCenterList);
 			if (!feeCenters.isEmpty()) {
@@ -3055,17 +3063,24 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 			detail.setProfitUsd(detail.getAmountDUsd().subtract(detail.getAmountCUsd()));
 			detail.setTotalProfit(detail.getTotalAmountD().subtract(detail.getTotalAmountC()));
 			baseMapper.updateById(detail);
-		}
-		List<FeeCenterItems> feeCenterItemsList = new ArrayList<>();
-		for (FeeCenter item : feeCenterList) {
-			List<FeeCenterItems> feeCenterItems = tradingBox.getFeeCenterItemsList().stream()
-				.filter(e -> e.getUnitNo().equals(item.getUnitNo())).collect(Collectors.toList());
-			for (FeeCenterItems centerItems : feeCenterItems) {
+			for (FeeCenter item : feeCenterList) {
+				List<FeeCenterItems> feeCenterItems = tradingBox.getFeeCenterItemsList().stream()
+					.filter(e -> e.getUnitNo().equals(item.getUnitNo())).collect(Collectors.toList());
+				for (FeeCenterItems centerItems : feeCenterItems) {
+					centerItems.setUpdateTime(new Date());
+					centerItems.setUpdateUserName(AuthUtil.getUserName());
+					centerItems.setUpdateUser(AuthUtil.getUserId());
+					centerItems.setWhetherGenerateCost("1");
+					centerItems.setFeeCenterId(item.getId());
+					feeCenterItemsList.add(centerItems);
+				}
+			}
+		} else {
+			for (FeeCenterItems centerItems : tradingBox.getFeeCenterItemsList()) {
 				centerItems.setUpdateTime(new Date());
 				centerItems.setUpdateUserName(AuthUtil.getUserName());
 				centerItems.setUpdateUser(AuthUtil.getUserId());
 				centerItems.setWhetherGenerateCost("1");
-				centerItems.setFeeCenterId(item.getId());
 				feeCenterItemsList.add(centerItems);
 			}
 		}
@@ -3081,60 +3096,62 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 			throw new RuntimeException("缺少必要参数");
 		}
 		TradingBox detail = baseMapper.selectById(tradingBox.getId());
-		List<Long> idList = tradingBox.getFeeCenterItemsList().stream().map(FeeCenterItems::getFeeCenterId).distinct().collect(Collectors.toList());
-		List<FeeCenter> feeCenters = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
-			.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
-			.eq(FeeCenter::getIsDeleted, 0)
-			.eq(FeeCenter::getPid, detail.getId())
-			.in(FeeCenter::getId, idList));
-		if (feeCenters.isEmpty()) {
-			throw new RuntimeException("未查到费用明细");
-		}
-		feeCenterService.removeByIds(feeCenters.stream().map(FeeCenter::getId).collect(Collectors.toList()));
-		//费用数据
-		BigDecimal amountD = new BigDecimal("0.00");
-		BigDecimal amountC = new BigDecimal("0.00");
-		BigDecimal amountDUsd = new BigDecimal("0.00");
-		BigDecimal amountCUsd = new BigDecimal("0.00");
-		BigDecimal amountDrLoc = new BigDecimal("0.00");
-		BigDecimal amountCrLoc = new BigDecimal("0.00");
-		String exrateType = currencyUtils.standardCurrency(AuthUtil.getDeptId());
-		List<BCurExrate> curExrateList = currencyUtils.obtainRate(new Date(), "1", AuthUtil.getDeptId());
-		for (FeeCenter item : feeCenters) {
-			item.setAmountLoc(item.getAmount().multiply(item.getExrate()));
-			if (exrateType.equals(item.getCurCode())) {
-				if ("D".equals(item.getDc())) {
-					amountD = amountD.add(item.getAmount());
-					amountDrLoc = amountDrLoc.add(item.getAmount());
-				} else {
-					amountC = amountC.add(item.getAmount());
-					amountCrLoc = amountCrLoc.add(item.getAmount());
-				}
-			} else {
-				if ("D".equals(item.getDc())) {
-					amountDUsd = amountDUsd.add(item.getAmount());
-					amountDrLoc = amountDrLoc.add(item.getAmountLoc());
+		List<Long> idList = tradingBox.getFeeCenterItemsList().stream().map(FeeCenterItems::getFeeCenterId)
+			.distinct().filter(Objects::nonNull).collect(Collectors.toList());
+		if (!idList.isEmpty()){
+			List<FeeCenter> feeCenters = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
+				.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+				.eq(FeeCenter::getIsDeleted, 0)
+				.eq(FeeCenter::getPid, detail.getId())
+				.in(FeeCenter::getId, idList));
+			if (!feeCenters.isEmpty()) {
+				feeCenterService.removeByIds(feeCenters.stream().map(FeeCenter::getId).collect(Collectors.toList()));
+			}
+			//费用数据
+			BigDecimal amountD = new BigDecimal("0.00");
+			BigDecimal amountC = new BigDecimal("0.00");
+			BigDecimal amountDUsd = new BigDecimal("0.00");
+			BigDecimal amountCUsd = new BigDecimal("0.00");
+			BigDecimal amountDrLoc = new BigDecimal("0.00");
+			BigDecimal amountCrLoc = new BigDecimal("0.00");
+			String exrateType = currencyUtils.standardCurrency(AuthUtil.getDeptId());
+			List<BCurExrate> curExrateList = currencyUtils.obtainRate(new Date(), "1", AuthUtil.getDeptId());
+			for (FeeCenter item : feeCenters) {
+				item.setAmountLoc(item.getAmount().multiply(item.getExrate()));
+				if (exrateType.equals(item.getCurCode())) {
+					if ("D".equals(item.getDc())) {
+						amountD = amountD.add(item.getAmount());
+						amountDrLoc = amountDrLoc.add(item.getAmount());
+					} else {
+						amountC = amountC.add(item.getAmount());
+						amountCrLoc = amountCrLoc.add(item.getAmount());
+					}
 				} else {
-					amountCUsd = amountCUsd.add(item.getAmount());
-					amountCrLoc = amountCrLoc.add(item.getAmountLoc());
+					if ("D".equals(item.getDc())) {
+						amountDUsd = amountDUsd.add(item.getAmount());
+						amountDrLoc = amountDrLoc.add(item.getAmountLoc());
+					} else {
+						amountCUsd = amountCUsd.add(item.getAmount());
+						amountCrLoc = amountCrLoc.add(item.getAmountLoc());
+					}
 				}
 			}
+			detail.setAmountD(detail.getAmountD().subtract(amountD));
+			detail.setAmountDUsd(detail.getAmountDUsd().subtract(amountDUsd));
+			detail.setTotalAmountD(detail.getTotalAmountD().subtract(amountDrLoc));
+			detail.setAmountC(detail.getAmountC().subtract(amountC));
+			detail.setAmountCUsd(detail.getAmountCUsd().subtract(amountCUsd));
+			detail.setTotalAmountC(detail.getTotalAmountC().subtract(amountCrLoc));
+			detail.setProfit(detail.getAmountD().subtract(detail.getAmountC()));
+			detail.setProfitUsd(detail.getAmountDUsd().subtract(detail.getAmountCUsd()));
+			detail.setTotalProfit(detail.getTotalAmountD().subtract(detail.getTotalAmountC()));
+			baseMapper.updateById(detail);
 		}
-		detail.setAmountD(detail.getAmountD().subtract(amountD));
-		detail.setAmountDUsd(detail.getAmountDUsd().subtract(amountDUsd));
-		detail.setTotalAmountD(detail.getTotalAmountD().subtract(amountDrLoc));
-		detail.setAmountC(detail.getAmountC().subtract(amountC));
-		detail.setAmountCUsd(detail.getAmountCUsd().subtract(amountCUsd));
-		detail.setTotalAmountC(detail.getTotalAmountC().subtract(amountCrLoc));
-		detail.setProfit(detail.getAmountD().subtract(detail.getAmountC()));
-		detail.setProfitUsd(detail.getAmountDUsd().subtract(detail.getAmountCUsd()));
-		detail.setTotalProfit(detail.getTotalAmountD().subtract(detail.getTotalAmountC()));
-		baseMapper.updateById(detail);
 		List<FeeCenterItems> feeCenterItemsList = new ArrayList<>();
 		List<FeeCenterItems> feeCenterItems = feeCenterItemsService.list(new LambdaQueryWrapper<FeeCenterItems>()
 			.eq(FeeCenterItems::getTenantId, AuthUtil.getTenantId())
 			.eq(FeeCenterItems::getIsDeleted, 0)
-			.in(FeeCenterItems::getFeeCenterId, idList)
+			.in(!idList.isEmpty(),FeeCenterItems::getFeeCenterId, idList)
 			.eq(FeeCenterItems::getWhetherGenerateCost, "1"));
 		for (FeeCenterItems centerItems : feeCenterItems) {
 			centerItems.setUpdateTime(new Date());
@@ -3152,14 +3169,11 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 
 	@Override
 	public R revokEnable(TradingBox detail) {
-		if (ObjectUtils.isNull(detail.getPolId())
-			|| ObjectUtils.isNull(detail.getContainerNumber()) || ObjectUtils.isNull(detail.getPolStationId())) {
+		if (ObjectUtils.isNull(detail.getId())) {
 			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())
@@ -3171,8 +3185,6 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				item.setUpdateUserName(AuthUtil.getUserName());
 				item.setUpdateTime(new Date());
 				item.setWhetherEnable("否");
-				item.setContainerNumber(detail.getContainerNumber());
-				item.setActivationDate(detail.getActivationDate());
 			}
 			tradingBoxItemService.updateBatchById(itemList);
 		}
@@ -3206,4 +3218,96 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 		return R.success("操作成功");
 	}
 
+	@Override
+	public List<BoxReminderExcel> boxUsageReminder(BoxReminderExcel boxReminderExcel) {
+		List<BoxReminderExcel> list = new ArrayList<>();
+		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+		if ("1".equals(boxReminderExcel.getType())) {
+
+		} else if ("2".equals(boxReminderExcel.getType())) {
+			String status = sysClient.getParamServiceDWT("box.usage.reminder",AuthUtil.getTenantId());
+			if (ObjectUtils.isNull(status) || "获取数据失败".equals(status)) {
+				throw new RuntimeException("请先维护用箱提醒系统参数");
+			}
+			Calendar calendar = Calendar.getInstance();
+			calendar.setTime(new Date());
+			calendar.add(Calendar.DAY_OF_MONTH, 0 - Integer.parseInt(status));
+			List<TradingBox> tradingBoxList = baseMapper.selectList(new LambdaQueryWrapper<TradingBox>()
+				.eq(TradingBox::getTenantId, AuthUtil.getTenantId())
+				.eq(TradingBox::getIsDeleted, 0)
+				.eq(TradingBox::getWhetherEnable, "是")
+				.lt(TradingBox::getEffectiveDate, calendar.getTime())
+				.apply("find_in_set(type,'OW-N,OW-F') and suitcase_num = 0"));
+			for (TradingBox item : tradingBoxList) {
+				BoxReminderExcel excel = new BoxReminderExcel();
+				excel.setProvider(item.getPurchaseCompanyName());
+				excel.setBusType(item.getType());
+				excel.setContainerNumber(item.getContainerNumber());
+				excel.setBoxType(item.getBoxTypeQuantityOne());
+				excel.setBoxNumber(item.getBoxNumber());
+				excel.setSuitcaseNum(item.getSuitcaseNum());
+				excel.setNotSuitcaseNum(item.getNotSuitcaseNum());
+				excel.setPolCname(item.getPolCname());
+				excel.setPolStationCname(item.getPolStationCname());
+				excel.setPodCname(item.getPodCname());
+				excel.setPodStationCname(item.getPodStationCname());
+				if (ObjectUtils.isNotNull(item.getEffectiveDate())) {
+					excel.setEffectiveDate(formatter.format(item.getEffectiveDate()));
+				}
+				if (ObjectUtils.isNotNull(item.getExpiryDate())) {
+					excel.setExpiryDate(formatter.format(item.getExpiryDate()));
+				}
+				if (ObjectUtils.isNotNull(item.getActivationDate())) {
+					excel.setActivationDate(formatter.format(item.getActivationDate()));
+				}
+				list.add(excel);
+			}
+		} else if ("3".equals(boxReminderExcel.getType())) {
+			String status = sysClient.getParamServiceDWT("postponement.reminder",AuthUtil.getTenantId());
+			if (ObjectUtils.isNull(status) || "获取数据失败".equals(status)) {
+				throw new RuntimeException("请先维护延期提醒系统参数");
+			}
+			Calendar calendar = Calendar.getInstance();
+			calendar.setTime(new Date());
+			calendar.add(Calendar.DAY_OF_MONTH, 0 - Integer.parseInt(status));
+			Calendar calendar1 = Calendar.getInstance();
+			calendar1.setTime(new Date());
+			calendar1.add(Calendar.DAY_OF_MONTH, Integer.parseInt(status));
+			List<TradingBox> tradingBoxList = baseMapper.selectList(new LambdaQueryWrapper<TradingBox>()
+				.eq(TradingBox::getTenantId, AuthUtil.getTenantId())
+				.eq(TradingBox::getIsDeleted, 0)
+				.eq(TradingBox::getWhetherEnable, "是")
+				.ge(TradingBox::getExpiryDate, calendar.getTime())
+				.le(TradingBox::getExpiryDate, calendar1.getTime())
+				.apply("find_in_set(type,'OW-N,OW-F') and suitcase_num != 0"));
+			for (TradingBox item : tradingBoxList) {
+				BoxReminderExcel excel = new BoxReminderExcel();
+				excel.setProvider(item.getPurchaseCompanyName());
+				excel.setBusType(item.getType());
+				excel.setContainerNumber(item.getContainerNumber());
+				excel.setBoxType(item.getBoxTypeQuantityOne());
+				excel.setBoxNumber(item.getBoxNumber());
+				excel.setSuitcaseNum(item.getSuitcaseNum());
+				excel.setNotSuitcaseNum(item.getNotSuitcaseNum());
+				excel.setPolCname(item.getPolCname());
+				excel.setPolStationCname(item.getPolStationCname());
+				excel.setPodCname(item.getPodCname());
+				excel.setPodStationCname(item.getPodStationCname());
+				if (ObjectUtils.isNotNull(item.getEffectiveDate())) {
+					excel.setEffectiveDate(formatter.format(item.getEffectiveDate()));
+				}
+				if (ObjectUtils.isNotNull(item.getExpiryDate())) {
+					excel.setExpiryDate(formatter.format(item.getExpiryDate()));
+				}
+				if (ObjectUtils.isNotNull(item.getActivationDate())) {
+					excel.setActivationDate(formatter.format(item.getActivationDate()));
+				}
+				list.add(excel);
+			}
+		} else {
+			throw new RuntimeException("数据错误,请联系管理员");
+		}
+		return list;
+	}
+
 }

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

@@ -153,6 +153,9 @@ public class BookingCabinController extends BladeController {
 			}else if (7 == bills.getBillStatus()) {
 				//订舱驳回
 				lambdaQueryWrapper.eq(Bills::getIssueStatus, "6");
+			}else if (8 == bills.getBillStatus()) {
+				//已退舱
+				lambdaQueryWrapper.eq(Bills::getBillStatus, "1");
 			}
 		}
 		IPage<Bills> pages = billsService.page(Condition.getPage(query), lambdaQueryWrapper);

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

@@ -419,6 +419,14 @@
                 and find_in_set(fee.hblno,#{acc.hblno})
             </if>
         </if>
+        <if test="acc.checkBillNo != null and acc.checkBillNo != ''">
+            <if test="acc.vagueCh == null or acc.vagueCh == ''">
+                and fee.check_bill_no like concat('%', #{acc.checkBillNo}, '%')
+            </if>
+            <if test="acc.vagueCh != null and acc.vagueCh != ''">
+                and find_in_set(fee.check_bill_no,#{acc.checkBillNo})
+            </if>
+        </if>
         <if test="acc.billDateStart != null and acc.billDateStart != ''">
             and DATE_FORMAT(acc.bill_date,'%Y-%m-%d') &gt;= DATE_FORMAT(#{acc.billDateStart},'%Y-%m-%d')
         </if>
@@ -459,9 +467,6 @@
         <if test="acc.voyageNo != null and acc.voyageNo != ''">
             and acc.voyage_no like concat('%', #{acc.voyageNo}, '%')
         </if>
-        <if test="acc.checkBillNo != null and acc.checkBillNo != ''">
-            and fee.check_bill_no like concat('%', #{acc.checkBillNo}, '%')
-        </if>
         <if test="acc.threeInspectionsNo != null and acc.threeInspectionsNo != ''">
             and acc.three_inspections_no like concat('%', #{acc.threeInspectionsNo}, '%')
         </if>
@@ -1057,6 +1062,14 @@
                 and find_in_set(fee.hblno,#{acc.hblno})
             </if>
         </if>
+        <if test="acc.checkBillNo != null and acc.checkBillNo != ''">
+            <if test="acc.vagueCh == null or acc.vagueCh == ''">
+                and fee.check_bill_no like concat('%', #{acc.checkBillNo}, '%')
+            </if>
+            <if test="acc.vagueCh != null and acc.vagueCh != ''">
+                and find_in_set(fee.check_bill_no,#{acc.checkBillNo})
+            </if>
+        </if>
         <if test="acc.billDateStart != null and acc.billDateStart != ''">
             and DATE_FORMAT(acc.bill_date,'%Y-%m-%d') &gt;= DATE_FORMAT(#{acc.billDateStart},'%Y-%m-%d')
         </if>
@@ -1097,9 +1110,6 @@
         <if test="acc.voyageNo != null and acc.voyageNo != ''">
             and acc.voyage_no like concat('%', #{acc.voyageNo}, '%')
         </if>
-        <if test="acc.checkBillNo != null and acc.checkBillNo != ''">
-            and fee.check_bill_no like concat('%', #{acc.checkBillNo}, '%')
-        </if>
         <if test="acc.threeInspectionsNo != null and acc.threeInspectionsNo != ''">
             and acc.three_inspections_no like concat('%', #{acc.threeInspectionsNo}, '%')
         </if>

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

@@ -5158,6 +5158,9 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 		for (PreContainers item : preContainersList) {
 			item.setPid(null);
 			item.setId(null);
+			item.setSalesPrice(new BigDecimal("0.00"));
+			item.setCostPrice(new BigDecimal("0.00"));
+			item.setOceanFreight(new BigDecimal("0.00"));
 			item.setContainerNumberStatus("录入");
 		}
 		Bills copyBills = new Bills();
@@ -5382,13 +5385,14 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 		billsFd.setPodCnName(billsBooking.getPodCnName());
 		billsFd.setPodEnName(billsBooking.getPodEnName());
 		billsFd.setMarks(billsBooking.getMarks());
-		billsFd.setCommodityDescr(billsBooking.getMarks());
+		billsFd.setCommodityDescr(billsBooking.getCommodityDescr());
 		billsFd.setHpaymode(billsBooking.getMpaymode());
 		billsFd.setMpaymode(billsBooking.getMpaymode());
 		billsFd.setServiceTerms(billsBooking.getServiceTerms());
 		billsFd.setQuantity(billsBooking.getQuantity());
 		billsFd.setGrossWeight(billsBooking.getGrossWeight());
 		billsFd.setMeasurement(billsBooking.getMeasurement());
+		billsFd.setSiRemarks(billsBooking.getSiRemarks());
 		baseMapper.updateById(billsFd);
 		//覆盖主表从表明细信息
 		seaBillsDetailFd.setHnotifyDetails(seaBillsDetailBooking.getHnotifyDetails());
@@ -5483,7 +5487,7 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 					sendMessage.setUrl("/iosBasicData/SeafreightExportF/bills/index");
 					sendMessage.setPageLabel("海运出口");
 					sendMessage.setPageStatus("this.$store.getters.domSaleStatus");
-					sendMessage.setMessageBody("您有客户订舱已提交确认,请及时待处理!提单号:" + billsFd.getMblno() + "时间:" + formatted);
+					sendMessage.setMessageBody("您有客户订舱已提交确认,请及时待处理!提单号:" + billsFd.getHblno() + "时间:" + formatted);
 					R save = messageClient.save(sendMessage);
 					if (!save.isSuccess()) {
 						throw new SecurityException("发送消息失败");
@@ -5508,7 +5512,7 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 					sendMessage.setUrl("/iosBasicData/SeafreightExportF/bills/index");
 					sendMessage.setPageLabel("海运出口");
 					sendMessage.setPageStatus("this.$store.getters.domSaleStatus");
-					sendMessage.setMessageBody("您有客户订舱已提交确认,请及时待处理!提单号:" + billsFd.getMblno() + "时间:" + formatted);
+					sendMessage.setMessageBody("您有客户订舱已提交确认,请及时待处理!提单号:" + billsFd.getHblno() + "时间:" + formatted);
 					R save = messageClient.save(sendMessage);
 					if (!save.isSuccess()) {
 						throw new SecurityException("发送消息失败");
@@ -5637,6 +5641,15 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 				.eq(Bills::getIsDeleted, 0)
 				.eq(Bills::getMasterId, billId));
 			if (!billsList.isEmpty()) {
+				List<Long> temporaryIdList = billsList.stream().map(Bills::getTemporaryId).distinct().filter(Objects::nonNull).collect(Collectors.toList());
+				List<Bills> bookingList = new ArrayList<>();
+				List<Bills> bookingListNew = new ArrayList<>();
+				if (!temporaryIdList.isEmpty()) {
+					bookingList = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
+						.eq(Bills::getTenantId, AuthUtil.getTenantId())
+						.eq(Bills::getIsDeleted, 0)
+						.eq(Bills::getId, temporaryIdList));
+				}
 				for (Bills item : billsList) {
 					int version = StringUtil.isBlank(item.getVersion()) ? 1 : Integer.parseInt(item.getVersion());
 					item.setVersion(String.valueOf(version + 1));
@@ -5671,8 +5684,28 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 					item.setPlaceDeliveryCode(bills.getPlaceDeliveryCode());
 					item.setIssueAtId(bills.getIssueAtId());
 					item.setIssueAt(bills.getIssueAt());
+					if (!bookingList.isEmpty() && ObjectUtils.isNotNull(item.getTemporaryId())) {
+						Bills bills1 = bookingList.stream().filter(e -> e.getId().equals(item.getTemporaryId())).findFirst().orElse(null);
+						if (bills1 != null) {
+							if ("MH".equals(bills.getBillType())) {
+								bills1.setMblno(bills.getMblno());
+								bills1.setHblno(bills.getHblno());
+								bills1.setVesselId(bills.getVesselId());
+								bills1.setVesselCnName(bills.getVesselCnName());
+								bills1.setVesselEnName(bills.getVesselEnName());
+								bills1.setVoyageNo(bills.getVoyageNo());
+								bills1.setCyReturnTime(bills.getCyReturnTime());
+								bills1.setCyTrailerTime(bills.getCyTrailerTime());
+								bills1.setSiRemarks(bills.getSiRemarks());
+								bookingListNew.add(bills1);
+							}
+						}
+					}
 				}
 				this.updateBatchById(billsList);
+				if (!bookingListNew.isEmpty()){
+					this.updateBatchById(bookingListNew);
+				}
 				List<Long> billIds = billsList.stream().map(Bills::getId).collect(Collectors.toList());
 				List<FeeCenter> feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
 					.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
@@ -5807,7 +5840,7 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 					sendMessage.setUrl("/iosBasicData/SeafreightExportF/bills/index");
 					sendMessage.setPageLabel("海运出口");
 					sendMessage.setPageStatus("this.$store.getters.domSaleStatus");
-					sendMessage.setMessageBody("客户已提交修改箱型箱量,请及时待处理!订舱单号:" + bills.getBillNo() + "时间:" + formatted);
+					sendMessage.setMessageBody("客户已提交修改箱型箱量,请及时待处理!订舱单号:" + bookingCabin.getBillNo() + "时间:" + formatted);
 					R save = messageClient.save(sendMessage);
 					if (!save.isSuccess()) {
 						throw new SecurityException("发送消息失败");
@@ -5833,7 +5866,7 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 					sendMessage.setUrl("/iosBasicData/SeafreightExportF/bills/index");
 					sendMessage.setPageLabel("海运出口");
 					sendMessage.setPageStatus("this.$store.getters.domSaleStatus");
-					sendMessage.setMessageBody("客户已提交修改箱型箱量,请及时待处理!订舱单号:" + bills.getBillNo() + "时间:" + formatted);
+					sendMessage.setMessageBody("客户已提交修改箱型箱量,请及时待处理!订舱单号:" + bookingCabin.getBillNo() + "时间:" + formatted);
 					R save = messageClient.save(sendMessage);
 					if (!save.isSuccess()) {
 						throw new SecurityException("发送消息失败");
@@ -5962,6 +5995,10 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 				item.setUpdateTime(null);
 				item.setUpdateUserName(null);
 				item.setPid(bills.getId());
+				item.setSalesPrice(new BigDecimal("0.00"));
+				item.setCostPrice(new BigDecimal("0.00"));
+				item.setOceanFreight(new BigDecimal("0.00"));
+				item.setContainerNumberStatus("录入");
 				preContainers.add(item);
 			}
 			preContainersService.saveBatch(preContainers);
@@ -6088,7 +6125,7 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 			sendMessage.setUrl("/iosBasicData/businessCenter/customerBooking/index");
 			sendMessage.setPageLabel("客户订舱");
 			sendMessage.setPageStatus("this.$store.getters.domSaleStatus");
-			sendMessage.setMessageBody("订舱单号:" + bills.getBillNo() + " 已驳回,驳回原因:"+bills.getReason()+",驳回时间:" + formatted);
+			sendMessage.setMessageBody("订舱单号:" + bills.getBillNo() + " 已驳回,驳回原因:" + bills.getReason() + ",驳回时间:" + formatted);
 			R save = messageClient.save(sendMessage);
 			if (!save.isSuccess()) {
 				throw new SecurityException("发送消息失败");

+ 27 - 53
blade-service/blade-los/src/main/java/org/springblade/los/check/service/impl/AuditProecessServiceImpl.java

@@ -223,22 +223,6 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 					message.setMessageBody("您有新的单据审核,客户名:" + corpName + "," + "业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
 						+ " 提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
 					);
-				} else if ("贸易代理单据审核".equals(auditProecess.getProcessType())) {
-					message.setMessageBody("您有新的贸易代理审核,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
-						+ "提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
-					);
-				} else if ("贸易代理货款付费申请".equals(auditProecess.getProcessType())) {
-					message.setMessageBody("您有新的贸易代理货款付费申请,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
-						+ "提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
-					);
-				} else if ("贸易代理货款收费确认".equals(auditProecess.getProcessType())) {
-					message.setMessageBody("您有新的贸易代理货款收费待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
-						+ "提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
-					);
-				} else if ("贸易代理货款付费确认".equals(auditProecess.getProcessType())) {
-					message.setMessageBody("您有新的贸易代理货款付费待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
-						+ "提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
-					);
 				} else if ("付费申请".equals(auditProecess.getProcessType())) {
 					message.setMessageBody("您有新的付费申请待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
 						+ "提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
@@ -251,14 +235,6 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 					message.setMessageBody("您有新的海运进口AMEND待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
 						+ "提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
 					);
-				} else if ("空运出口AMEND".equals(auditProecess.getProcessType())) {
-					message.setMessageBody("您有新的空运出口AMEND待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
-						+ "提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
-					);
-				} else if ("空运进口AMEND".equals(auditProecess.getProcessType())) {
-					message.setMessageBody("您有新的空运进口AMEND待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
-						+ "提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
-					);
 				} else if ("航线成本(SOC)审核".equals(auditProecess.getProcessType())) {
 					message.setMessageBody("您有新的航线成本(SOC)审核待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
 						+ "提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
@@ -271,6 +247,18 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 					message.setMessageBody("您有新的费用审核待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
 						+ "提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
 					);
+				}else if ("请核费用-付费".equals(auditProecess.getProcessType())) {
+					message.setMessageBody("您有新的请核费用-付费待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
+						+ "提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
+					);
+				}else if ("费用-申请修改".equals(auditProecess.getProcessType())) {
+					message.setMessageBody("您有新的费用-申请修改待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
+						+ "提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
+					);
+				}else if ("费用-申请删除".equals(auditProecess.getProcessType())) {
+					message.setMessageBody("您有新的费用-申请删除待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
+						+ "提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
+					);
 				}else if ("客户托书审核".equals(auditProecess.getProcessType())) {
 					message.setMessageBody("您有新的客户托书审核待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
 						+ "提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
@@ -279,6 +267,10 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 					message.setMessageBody("您有新的营业费用审核待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
 						+ "提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
 					);
+				}else if ("mkt&slot审核".equals(auditProecess.getProcessType())) {
+					message.setMessageBody("您有新的mkt&slot审核待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
+						+ "提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
+					);
 				}
 
 
@@ -511,11 +503,11 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 					this.updateBills(bills, 3);
 				}
 				if ("海运出口审核".equals(auditProecess.getProcessType())) {
-					sendMessage.setMessageBody("您的海运出口审核已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+					sendMessage.setMessageBody("您的海运出口审核已通过" + ",业务单号:" + proecessTemp.getBillNo() );
 				} else if ("海运进口审核".equals(auditProecess.getProcessType())) {
-					sendMessage.setMessageBody("您的海运进口审核已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+					sendMessage.setMessageBody("您的海运进口审核已通过" + ",业务单号:" + proecessTemp.getBillNo());
 				} else if ("客户托书审核".equals(auditProecess.getProcessType())) {
-					sendMessage.setMessageBody("您的客户托书审核已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+					sendMessage.setMessageBody("您的客户托书审核已通过" + ",业务单号:" + proecessTemp.getBillNo());
 				}
 				R save = messageClient.save(sendMessage);
 				if (!save.isSuccess()) {
@@ -1112,16 +1104,6 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 						+ "单据日期:" + billsDate + ",请审核。"
 						+ "提交人:" + proecessTemp.getSendName() + "  " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
 					);
-				} else if ("空运出口AMEND".equals(auditProecess.getProcessType())) {
-					message.setMessageBody("您有新的空运出口AMEND审核,业务单号:" + proecessTemp.getBillNo() + ","
-						+ "单据日期:" + billsDate + ",请审核。"
-						+ "提交人:" + proecessTemp.getSendName() + "  " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
-					);
-				} else if ("空运进口AMEND".equals(auditProecess.getProcessType())) {
-					message.setMessageBody("您有新的空运进口口AMEND审核,业务单号:" + proecessTemp.getBillNo() + ","
-						+ "单据日期:" + billsDate + ",请审核。"
-						+ "提交人:" + proecessTemp.getSendName() + "  " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
-					);
 				}
 				message.setUrl(auditProecess.getUrl());
 				message.setPageLabel(auditProecess.getPageLabel());
@@ -1145,13 +1127,9 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 					throw new SecurityException("修改订单数据失败");
 				}
 				if ("海运出口AMEND".equals(auditProecess.getProcessType())) {
-					sendMessage.setMessageBody("您的海运出口AMEND审核未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+					sendMessage.setMessageBody("您的海运出口AMEND审核未通过" + ",业务单号:" + proecessTemp.getBillNo());
 				} else if ("海运进口AMEND".equals(auditProecess.getProcessType())) {
-					sendMessage.setMessageBody("您的海运进口AMEND审核未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
-				} else if ("空运出口AMEND".equals(auditProecess.getProcessType())) {
-					sendMessage.setMessageBody("您的空运出口AMEND审核未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
-				} else if ("空运进口AMEND".equals(auditProecess.getProcessType())) {
-					sendMessage.setMessageBody("您的空运进口AMEND审核未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+					sendMessage.setMessageBody("您的海运进口AMEND审核未通过" + ",业务单号:" + proecessTemp.getBillNo());
 				}
 				R save = messageClient.save(sendMessage);
 				if (!save.isSuccess()) {
@@ -1208,10 +1186,6 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 					sendMessage.setMessageBody("您的海运出口AMEND审核已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
 				} else if ("海运进口AMEND".equals(auditProecess.getProcessType())) {
 					sendMessage.setMessageBody("您的海运进口AMEND审核已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
-				} else if ("空运出口AMEND".equals(auditProecess.getProcessType())) {
-					sendMessage.setMessageBody("您的空运出口AMEND审核已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
-				} else if ("空运进口AMEND".equals(auditProecess.getProcessType())) {
-					sendMessage.setMessageBody("您的空运进口AMEND审核已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
 				}
 				R save = messageClient.save(sendMessage);
 				if (!save.isSuccess()) {
@@ -1398,9 +1372,9 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 					throw new SecurityException("审批开始修改审核状态失败");
 				}
 				if ("航线成本(SOC)审核".equals(auditProecess.getProcessType())) {
-					sendMessage.setMessageBody("您的航线成本(SOC)审核已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+					sendMessage.setMessageBody("您的航线成本(SOC)审核已通过" + ",业务单号:" + proecessTemp.getBillNo());
 				} else if ("航线成本(COC)审核".equals(auditProecess.getProcessType())) {
-					sendMessage.setMessageBody("您的航线成本(COC)审核已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+					sendMessage.setMessageBody("您的航线成本(COC)审核已通过" + ",业务单号:" + proecessTemp.getBillNo());
 				}
 				R save = messageClient.save(sendMessage);
 				if (!save.isSuccess()) {
@@ -1566,7 +1540,7 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 				expenseApplication.setStatus("审核通过");
 				this.updateData(expenseApplication, feeCenterList, "4");
 				if ("请核费用".equals(auditProecess.getProcessType()) || "请核费用-付费".equals(auditProecess.getProcessType())) {
-					sendMessage.setMessageBody("您的费用审核已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+					sendMessage.setMessageBody("您的费用审核已通过" + ",业务单号:" + proecessTemp.getBillNo());
 				}
 				R save = messageClient.save(sendMessage);
 				if (!save.isSuccess()) {
@@ -1744,9 +1718,9 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 				auditProecess.setAuditStatus("A");
 				this.updateFeeCenter(feeCenterUpdateRecord, feeCenter);
 				if ("费用-申请修改".equals(auditProecess.getProcessType())) {
-					sendMessage.setMessageBody("您的费用-申请修改审核已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+					sendMessage.setMessageBody("您的费用-申请修改审核已通过" + ",业务单号:" + proecessTemp.getBillNo());
 				} else if ("费用-申请删除".equals(auditProecess.getProcessType())) {
-					sendMessage.setMessageBody("您的费用-申请删除审核已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+					sendMessage.setMessageBody("您的费用-申请删除审核已通过" + ",业务单号:" + proecessTemp.getBillNo());
 				}
 				R save = messageClient.save(sendMessage);
 				if (!save.isSuccess()) {
@@ -1940,7 +1914,7 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 				if (count == 0) {
 					throw new SecurityException("修改订单数据失败");
 				}
-				sendMessage.setMessageBody("您的mkt&slot审核未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+				sendMessage.setMessageBody("您的mkt&slot审核未通过" + ",业务单号:" + proecessTemp.getBillNo());
 				R save = messageClient.save(sendMessage);
 				if (!save.isSuccess()) {
 					throw new SecurityException("发送消息失败");

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

@@ -439,6 +439,9 @@ public class FinAccBillsController extends BladeController {
 		if (ObjectUtils.isNotNull(listAccBillVO.getMblno()) && listAccBillVO.getMblno().contains(",")) {
 			listAccBillVO.setVagueM("1");
 		}
+		if (ObjectUtils.isNotNull(listAccBillVO.getCheckBillNo()) && listAccBillVO.getCheckBillNo().contains(",")) {
+			listAccBillVO.setVagueCh("1");
+		}
 		List<FinAccBillsVO> finAccBillsVOPage = new ArrayList<>();
 		List<FinAccBillsVO> list = finAccBillsService.listAccBillV2(listAccBillVO);
 		List<FinAccBillsVO> listAll = finAccBillsService.listAccBill(listAccBillVO);
@@ -455,10 +458,13 @@ public class FinAccBillsController extends BladeController {
 					BigDecimal amount = accBillsVO.getAppliedAmount().subtract(accBillsVO.getAppliedAmountStl());
 					accBillsVO.setAppliedCurrentStlAmount(accBillsVO.getAmount().subtract(amount).subtract(accBillsVO.getStlTtlAmount()));
 					accBillsVO.setAppliedCurrentStlAmountOriginal(accBillsVO.getAmount().subtract(amount).subtract(accBillsVO.getStlTtlAmount()));
+
 					accBillsVO.setAppliedInvoiceCurrentStlAmount(accBillsVO.getAmount().subtract(accBillsVO.getStlTtlAmount()));
 					accBillsVO.setAppliedInvoiceCurrentStlAmountOriginal(accBillsVO.getAmount().subtract(accBillsVO.getStlTtlAmount()));
+
 					accBillsVO.setReconciliationCurrentAmount(accBillsVO.getAmount().subtract(accBillsVO.getReconciliationAmount()));
 					accBillsVO.setReconciliationCurrentAmountOriginal(accBillsVO.getAmount().subtract(accBillsVO.getReconciliationAmount()));
+
 					BigDecimal invoice = accBillsVO.getAppliedInvoiceAmount().subtract(accBillsVO.getAppliedInvoiceAmountStl());
 					accBillsVO.setAppliedInvoiceCurrentAmount(accBillsVO.getAmount().subtract(invoice).subtract(accBillsVO.getUninvoicedAmount()));
 					accBillsVO.setAppliedInvoiceCurrentAmountOriginal(accBillsVO.getAmount().subtract(invoice).subtract(accBillsVO.getUninvoicedAmount()));
@@ -576,6 +582,9 @@ public class FinAccBillsController extends BladeController {
 		if (ObjectUtils.isNotNull(listAccBillVO.getMblno()) && listAccBillVO.getMblno().contains(",")) {
 			listAccBillVO.setVagueM("1");
 		}
+		if (ObjectUtils.isNotNull(listAccBillVO.getCheckBillNo()) && listAccBillVO.getCheckBillNo().contains(",")) {
+			listAccBillVO.setVagueCh("1");
+		}
 		List<FinAccBillsVO> finAccBillsVOList = new ArrayList<>();
 		List<BCorps> bCorpsList = new ArrayList<>();
 		List<FinAccBillsVO> list = finAccBillsService.listAccBill(listAccBillVO);

+ 3 - 3
blade-service/blade-los/src/main/java/org/springblade/los/finance/invoices/service/impl/FinInvoicesServiceImpl.java

@@ -1392,9 +1392,9 @@ public class FinInvoicesServiceImpl extends ServiceImpl<FinInvoicesMapper, FinIn
 			List<FinInvoicesItems> finInvoicesItemsList = new ArrayList<>();
 			for (FinAccBillsVO item : finInvoices.getFinAccBillsVOList()) {
 				FinInvoicesItems invoicesItems = this.assignmentProcess(item, invoices);
-				invoicesItems.setCurrentAmountNet(item.getAppliedInvoiceCurrentStlAmount());
-				invoicesItems.setCurrentAmount(item.getAppliedInvoiceCurrentStlAmount());
-				invoicesItems.setCurrentAmountLoc(item.getAppliedInvoiceCurrentStlAmount().multiply(item.getExrate()).setScale(2, RoundingMode.HALF_UP));
+				invoicesItems.setCurrentAmountNet(item.getAppliedInvoiceCurrentAmount());
+				invoicesItems.setCurrentAmount(item.getAppliedInvoiceCurrentAmount());
+				invoicesItems.setCurrentAmountLoc(item.getAppliedInvoiceCurrentAmount().multiply(item.getExrate()).setScale(2, RoundingMode.HALF_UP));
 				finInvoicesItemsList.add(invoicesItems);
 			}
 			if (!finInvoicesItemsList.isEmpty()) {

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

@@ -2490,9 +2490,15 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 			for (FinAccBillsVO item : finStlBills.getFinAccBillsVOList()) {
 				FinStlBillsItems stlBillsItems = this.assignmentProcess(item, stlBills);
 				stlBillsItems.setPType("STL");
-				stlBillsItems.setCurrentStlAmountNet(item.getReconciliationCurrentAmount());
-				stlBillsItems.setCurrentStlAmount(item.getReconciliationCurrentAmount());
-				stlBillsItems.setCurrentStlAmountLoc(item.getReconciliationCurrentAmount().multiply(item.getExrate()).setScale(2, RoundingMode.HALF_UP));
+				if ("D".equals(item.getAccountDc())) {
+					stlBillsItems.setCurrentStlAmountNet(item.getAppliedInvoiceCurrentStlAmount());
+					stlBillsItems.setCurrentStlAmount(item.getAppliedInvoiceCurrentStlAmount());
+					stlBillsItems.setCurrentStlAmountLoc(item.getAppliedInvoiceCurrentStlAmount().multiply(item.getExrate()).setScale(2, RoundingMode.HALF_UP));
+				} else if ("C".equals(item.getAccountDc())) {
+					stlBillsItems.setCurrentStlAmountNet(item.getAppliedCurrentStlAmount());
+					stlBillsItems.setCurrentStlAmount(item.getAppliedCurrentStlAmount());
+					stlBillsItems.setCurrentStlAmountLoc(item.getAppliedCurrentStlAmount().multiply(item.getExrate()).setScale(2, RoundingMode.HALF_UP));
+				}
 				stlBillsItems.setItemType("STL");
 				stlBillsItems.setStlTtlAmount(stlBillsItems.getStlTtlAmount().add(stlBillsItems.getCurrentStlAmount().add(stlBillsItems.getCurrentStlDiscount())));
 				stlBillsItems.setUnsettledAmount(stlBillsItems.getAmount().subtract(stlBillsItems.getStlTtlAmount()));

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

@@ -85,7 +85,7 @@
         seb.corp_source AS corpSource,
         seb.ocean_freight_dr AS oceanFreightDr,
         seb.ocean_freight_cr AS oceanFreightCr,
-        seb.ocean_freight_profit AS oceanFreightProfi,
+        seb.ocean_freight_profit AS oceanFreightProfit,
         seb.box_belongs_to as boxBelongsTo
         FROM
         los_finance_profit seb