Browse Source

1.海运单据,导入模板,起运港目的港不覆盖
2.航线利润:导出 增加承运人 运输条款
3.报表打印收发通不显示修改
4.权限修改为多角色or的关系

纪新园 7 months ago
parent
commit
60649bec23
14 changed files with 180 additions and 181 deletions
  1. 31 20
      blade-service/blade-los/src/main/java/org/springblade/los/Util/CurrencyUtils.java
  2. 38 33
      blade-service/blade-los/src/main/java/org/springblade/los/basic/reports/service/impl/ReportsServiceImpl.java
  3. 2 2
      blade-service/blade-los/src/main/java/org/springblade/los/box/controller/TradingBoxItemController.java
  4. 4 0
      blade-service/blade-los/src/main/java/org/springblade/los/box/mapper/RouteCostMapper.xml
  5. 12 12
      blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/ExpenseApplicationServiceImpl.java
  6. 1 1
      blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/TradingBoxItemServiceImpl.java
  7. 7 2
      blade-service/blade-los/src/main/java/org/springblade/los/business/amends/controller/AmendsController.java
  8. 18 6
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/BillsController.java
  9. 4 0
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java
  10. 7 89
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/TemplateImportServiceImpl.java
  11. 1 0
      blade-service/blade-los/src/main/java/org/springblade/los/check/service/impl/AuditProecessServiceImpl.java
  12. 10 0
      blade-service/blade-los/src/main/java/org/springblade/los/excel/RouteCostProfitExcel.java
  13. 3 2
      blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/service/impl/FeeCenterServiceImpl.java
  14. 42 14
      blade-service/blade-los/src/main/java/org/springblade/los/statisticAnalysis/service/impl/StatisticAnalysisServiceImpl.java

+ 31 - 20
blade-service/blade-los/src/main/java/org/springblade/los/Util/CurrencyUtils.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import lombok.AllArgsConstructor;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
 import org.springblade.los.basic.cur.entity.BCurExrate;
 import org.springblade.los.basic.cur.entity.BCurrency;
 import org.springblade.los.basic.cur.service.IBCurExrateService;
@@ -16,7 +17,6 @@ import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
-import java.util.stream.Collectors;
 
 /**
  * @author :jixinyuan
@@ -39,16 +39,21 @@ public class CurrencyUtils {
 	 * @return 币别代码
 	 */
 	public String standardCurrency(String deptId) {
-		if (ObjectUtils.isNull(deptId)){
+		if (ObjectUtils.isNull(deptId)) {
 			deptId = AuthUtil.getDeptId();
 		}
+		String deptName = "";
+		R<String> res = sysClient.getDeptName(Long.parseLong(deptId));
+		if (res.isSuccess() && ObjectUtils.isNotNull(res.getData())) {
+			deptName = res.getData();
+		}
 		BCurrency bCurExrate = bCurrencyService.getOne(new LambdaQueryWrapper<BCurrency>()
 			.eq(BCurrency::getTenantId, AuthUtil.getTenantId())
 			.eq(BCurrency::getBranchId, deptId)
 			.eq(BCurrency::getIsDeleted, 0)
 			.eq(BCurrency::getIsLocal, 1));
 		if (bCurExrate == null) {
-			throw new RuntimeException("请先维护本位币基础资料");
+			throw new RuntimeException("请先维护所属公司:" + deptName + "本位币");
 		}
 		return bCurExrate.getCode();
 	}
@@ -60,10 +65,15 @@ public class CurrencyUtils {
 	 * @param type 类型  1=业务 2=财务
 	 * @return 币别汇率集合
 	 */
-	public List<BCurExrate> obtainRate(Date date, String type,String deptId) {
-		if (ObjectUtils.isNull(deptId)){
+	public List<BCurExrate> obtainRate(Date date, String type, String deptId) {
+		if (ObjectUtils.isNull(deptId)) {
 			deptId = AuthUtil.getDeptId();
 		}
+		String deptName = "";
+		R<String> res = sysClient.getDeptName(Long.parseLong(deptId));
+		if (res.isSuccess() && ObjectUtils.isNotNull(res.getData())) {
+			deptName = res.getData();
+		}
 		List<BCurExrate> curExrateList = new ArrayList<>();
 		// 创建 Calendar 对象并设置为当前时间
 		Calendar calendar = Calendar.getInstance();
@@ -79,7 +89,7 @@ public class CurrencyUtils {
 			.eq(BCurrency::getBranchId, deptId)
 			.eq(BCurrency::getIsDeleted, 0));
 		if (currencyList.isEmpty()) {
-			throw new RuntimeException("请先维护位币基础资料");
+			throw new RuntimeException("请先维护所属公司:" + deptName + "币别基础资料");
 		}
 		boolean status = false;
 		//获取业务汇率范围
@@ -95,7 +105,7 @@ public class CurrencyUtils {
 				.eq(BCurExrate::getTenantId, AuthUtil.getTenantId())
 				.eq(BCurExrate::getBranchId, deptId)
 				.eq(BCurExrate::getIsDeleted, 0);
-			if (0 == bCurrency.getIsLocal()){
+			if (0 == bCurrency.getIsLocal()) {
 				lambdaQueryWrapper.eq(BCurExrate::getExrateYear, year);
 				//判断查询条件为  配置范围/默认范围
 				if (status) {
@@ -107,8 +117,7 @@ public class CurrencyUtils {
 						lambdaQueryWrapper.eq(BCurExrate::getExrateDay, day)
 							.eq(BCurExrate::getType, "日汇率");
 					}
-				}
-				else {
+				} else {
 					if ("月汇率".equals(bCurrency.getParitiesType())) {
 						lambdaQueryWrapper.eq(BCurExrate::getExrateMonth, month)
 							.eq(BCurExrate::getType, bCurrency.getParitiesType());
@@ -126,18 +135,19 @@ public class CurrencyUtils {
 			}
 		}
 		if (curExrateList.isEmpty()) {
-			throw new RuntimeException("请维护" + year + "年" + month + "月汇率");
+			throw new RuntimeException("请维护所属公司:" + deptName + "," + year + "年" + month + "月汇率");
 		}
 		return curExrateList;
 	}
 
 	/**
 	 * 外币转换本位币
-	 * @param dc 收付
-	 * @param curExrateList  汇率数据
-	 * @param amount 金额
-	 * @param curCode 外币
-	 * @param type 类型 1=业务 2=财务
+	 *
+	 * @param dc            收付
+	 * @param curExrateList 汇率数据
+	 * @param amount        金额
+	 * @param curCode       外币
+	 * @param type          类型 1=业务 2=财务
 	 * @return 本位币
 	 */
 	public BigDecimal converter(String dc, List<BCurExrate> curExrateList, BigDecimal amount, String curCode, String type) {
@@ -164,13 +174,14 @@ public class CurrencyUtils {
 
 	/**
 	 * 获取对应币别汇率
-	 * @param dc 收付
-	 * @param curExrateList  汇率数据
-	 * @param curCode 外币
-	 * @param type 类型 1=业务 2=财务
+	 *
+	 * @param dc            收付
+	 * @param curExrateList 汇率数据
+	 * @param curCode       外币
+	 * @param type          类型 1=业务 2=财务
 	 * @return 本位币
 	 */
-	public BigDecimal obtainExrate(String dc, List<BCurExrate> curExrateList,  String curCode, String type) {
+	public BigDecimal obtainExrate(String dc, List<BCurExrate> curExrateList, String curCode, String type) {
 		BigDecimal exrate;
 		BCurExrate bCurExrate = curExrateList.stream().filter(e -> e.getCode().equals(curCode)).findFirst().orElse(null);
 		if (bCurExrate == null) {

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

@@ -729,8 +729,8 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 			if (bills != null) {
 				String exrateType = currencyUtils.standardCurrency(bills.getBranchId());
 				bills.setExrateType(exrateType);
-				this.dictionaryConversion(bills);
-				this.assignmentSeaBillsDetail(bills);
+				bills = this.dictionaryConversion(bills);
+				bills = this.assignmentSeaBillsDetail(bills);
 				HmmEdi hmmEdi = hmmEdiService.getOne(new LambdaQueryWrapper<HmmEdi>()
 					.eq(HmmEdi::getTenantId, AuthUtil.getTenantId())
 					.eq(HmmEdi::getPid, bills.getId()));
@@ -899,8 +899,9 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 							feeCenterReports.setPid(bills.getId());
 							feeCenterReports.setFeeCnName(fee.getFeeCnName());
 							feeCenterReports.setDc(fee.getDc());
+							Bills finalBills = bills;
 							List<FeeCenter> feeCenterListD = feeCenterList.stream()
-								.filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
+								.filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(finalBills.getId()) &&
 									e.getFeeId().equals(fee.getFeeId()) && exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
 									e.getCorpId().equals(fee.getCorpId()))
 								.collect(Collectors.toList());
@@ -912,7 +913,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 									.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
 							}
 							List<FeeCenter> feeCenterListUsdD = feeCenterList.stream()
-								.filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
+								.filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(finalBills.getId()) &&
 									e.getFeeId().equals(fee.getFeeId()) && !exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
 									e.getCorpId().equals(fee.getCorpId()))
 								.collect(Collectors.toList());
@@ -924,7 +925,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 									.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
 							}
 							List<FeeCenter> feeCenterListC = feeCenterList.stream()
-								.filter(e -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
+								.filter(e -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(finalBills.getId()) &&
 									e.getFeeId().equals(fee.getFeeId()) && exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
 									e.getCorpId().equals(fee.getCorpId()))
 								.collect(Collectors.toList());
@@ -936,7 +937,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 									.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
 							}
 							List<FeeCenter> feeCenterListUsdC = feeCenterList.stream()
-								.filter(e -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
+								.filter(e -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(finalBills.getId()) &&
 									e.getFeeId().equals(fee.getFeeId()) && !exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
 									e.getCorpId().equals(fee.getCorpId()))
 								.collect(Collectors.toList());
@@ -1004,8 +1005,9 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 								feeCenterReports.setPid(bills.getId());
 								feeCenterReports.setFeeCnName(fee.getFeeCnName());
 								feeCenterReports.setDc(fee.getDc());
+								Bills finalBills1 = bills;
 								List<FeeCenter> feeCenterListD = feeCenterList.stream()
-									.filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
+									.filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(finalBills1.getId()) &&
 										e.getFeeId().equals(fee.getFeeId()) && exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
 										e.getCorpId().equals(fee.getCorpId()))
 									.collect(Collectors.toList());
@@ -1017,7 +1019,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 										.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
 								}
 								List<FeeCenter> feeCenterListUsdD = feeCenterList.stream()
-									.filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
+									.filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(finalBills1.getId()) &&
 										e.getFeeId().equals(fee.getFeeId()) && !exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
 										e.getCorpId().equals(fee.getCorpId()))
 									.collect(Collectors.toList());
@@ -1029,7 +1031,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 										.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
 								}
 								List<FeeCenter> feeCenterListC = feeCenterList.stream()
-									.filter(e -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
+									.filter(e -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(finalBills1.getId()) &&
 										e.getFeeId().equals(fee.getFeeId()) && exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
 										e.getCorpId().equals(fee.getCorpId()))
 									.collect(Collectors.toList());
@@ -1041,7 +1043,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 										.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
 								}
 								List<FeeCenter> feeCenterListUsdC = feeCenterList.stream()
-									.filter(e -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
+									.filter(e -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(finalBills1.getId()) &&
 										e.getFeeId().equals(fee.getFeeId()) && !exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
 										e.getCorpId().equals(fee.getCorpId()))
 									.collect(Collectors.toList());
@@ -1226,8 +1228,8 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 			if (bills != null) {
 				String exrateType = currencyUtils.standardCurrency(bills.getBranchId());
 				bills.setExrateType(exrateType);
-				this.dictionaryConversion(bills);
-				this.assignmentSeaBillsDetail(bills);
+				bills = this.dictionaryConversion(bills);
+				bills = this.assignmentSeaBillsDetail(bills);
 //				bills.setFM(MagicValues.FM);
 				bills.setCapitalLetters("SAY " + BigDecimalUtils.convertToEnglish(bills.getQuantity()) + " " + bills.getPackingUnit() + " ONLY.");
 				bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
@@ -1286,7 +1288,8 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 			if (bills != null) {
 				String exrateType = currencyUtils.standardCurrency(bills.getBranchId());
 				bills.setExrateType(exrateType);
-				this.dictionaryConversion(bills);
+				bills = this.dictionaryConversion(bills);
+				bills = this.assignmentSeaBillsDetail(bills);
 //				bills.setFM(MagicValues.FM);
 				bills.setCapitalLetters("SAY " + BigDecimalUtils.convertToEnglish(bills.getQuantity()) + " " + bills.getPackingUnit() + " ONLY.");
 				bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
@@ -1333,8 +1336,8 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 			if (bills != null) {
 				String exrateType = currencyUtils.standardCurrency(bills.getBranchId());
 				bills.setExrateType(exrateType);
-				this.dictionaryConversion(bills);
-				this.assignmentSeaBillsDetail(bills);
+				bills = this.dictionaryConversion(bills);
+				bills = this.assignmentSeaBillsDetail(bills);
 //				bills.setFM(MagicValues.FM);
 				List<PreContainers> preContainersList = preContainersService.list(new LambdaQueryWrapper<PreContainers>()
 					.eq(PreContainers::getTenantId, AuthUtil.getTenantId())
@@ -1357,8 +1360,8 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 			if (bills != null) {
 				String exrateType = currencyUtils.standardCurrency(bills.getBranchId());
 				bills.setExrateType(exrateType);
-				this.dictionaryConversion(bills);
-				this.assignmentSeaBillsDetail(bills);
+				bills = this.dictionaryConversion(bills);
+				bills = this.assignmentSeaBillsDetail(bills);
 //				bills.setFM(MagicValues.FM);
 				bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
 				bills.setDept(dept);
@@ -1380,8 +1383,8 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 					date = bills.getEta();
 				}
 				List<BCurExrate> curExrateList = currencyUtils.obtainRate(date, "1", bills.getBranchId());
-				this.dictionaryConversion(bills);
-				this.assignmentSeaBillsDetail(bills);
+				bills = this.dictionaryConversion(bills);
+				bills = this.assignmentSeaBillsDetail(bills);
 //				bills.setFM(MagicValues.FM);
 				bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
 				List<FeeCenter> feeCenterList;
@@ -1446,8 +1449,8 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 					date = bills.getEta();
 				}
 				List<BCurExrate> curExrateList = currencyUtils.obtainRate(date, "1", bills.getBranchId());
-				this.dictionaryConversion(bills);
-				this.assignmentSeaBillsDetail(bills);
+				bills = this.dictionaryConversion(bills);
+				bills = this.assignmentSeaBillsDetail(bills);
 //				bills.setFM(MagicValues.FM);
 				bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
 				List<FeeCenter> feeCenterList;
@@ -1493,8 +1496,8 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 			if (bills != null) {
 				String exrateType = currencyUtils.standardCurrency(bills.getBranchId());
 				bills.setExrateType(exrateType);
-				this.dictionaryConversion(bills);
-				this.assignmentSeaBillsDetail(bills);
+				bills = this.dictionaryConversion(bills);
+				bills = this.assignmentSeaBillsDetail(bills);
 				HmmEdi hmmEdi = hmmEdiService.getOne(new LambdaQueryWrapper<HmmEdi>()
 					.eq(HmmEdi::getTenantId, AuthUtil.getTenantId())
 					.eq(HmmEdi::getPid, bills.getId()));
@@ -1683,8 +1686,9 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 							feeCenterReports.setPid(bills.getId());
 							feeCenterReports.setFeeCnName(fee.getFeeCnName());
 							feeCenterReports.setDc(fee.getDc());
+							Bills finalBills = bills;
 							List<FeeCenter> feeCenterListD = feeCenterList.stream()
-								.filter(e -> MagicValues.D.equals(e.getDc()) && e.getMblno().equals(bills.getMblno()) &&
+								.filter(e -> MagicValues.D.equals(e.getDc()) && e.getMblno().equals(finalBills.getMblno()) &&
 									e.getFeeId().equals(fee.getFeeId()) && exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
 									e.getCorpId().equals(fee.getCorpId()))
 								.collect(Collectors.toList());
@@ -1696,7 +1700,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 									.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
 							}
 							List<FeeCenter> feeCenterListUsdD = feeCenterList.stream()
-								.filter(e -> MagicValues.D.equals(e.getDc()) && e.getMblno().equals(bills.getMblno()) &&
+								.filter(e -> MagicValues.D.equals(e.getDc()) && e.getMblno().equals(finalBills.getMblno()) &&
 									e.getFeeId().equals(fee.getFeeId()) && !exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
 									e.getCorpId().equals(fee.getCorpId()))
 								.collect(Collectors.toList());
@@ -1708,7 +1712,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 									.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
 							}
 							List<FeeCenter> feeCenterListC = feeCenterList.stream()
-								.filter(e -> MagicValues.C.equals(e.getDc()) && e.getMblno().equals(bills.getMblno()) &&
+								.filter(e -> MagicValues.C.equals(e.getDc()) && e.getMblno().equals(finalBills.getMblno()) &&
 									e.getFeeId().equals(fee.getFeeId()) && exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
 									e.getCorpId().equals(fee.getCorpId()))
 								.collect(Collectors.toList());
@@ -1720,7 +1724,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 									.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
 							}
 							List<FeeCenter> feeCenterListUsdC = feeCenterList.stream()
-								.filter(e -> MagicValues.C.equals(e.getDc()) && e.getMblno().equals(bills.getMblno()) &&
+								.filter(e -> MagicValues.C.equals(e.getDc()) && e.getMblno().equals(finalBills.getMblno()) &&
 									e.getFeeId().equals(fee.getFeeId()) && !exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
 									e.getCorpId().equals(fee.getCorpId()))
 								.collect(Collectors.toList());
@@ -1789,8 +1793,9 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 								feeCenterReports.setPid(bills.getId());
 								feeCenterReports.setFeeCnName(fee.getFeeCnName());
 								feeCenterReports.setDc(fee.getDc());
+								Bills finalBills1 = bills;
 								List<FeeCenter> feeCenterListD = feeCenterList.stream()
-									.filter(e -> MagicValues.D.equals(e.getDc()) && e.getMblno().equals(bills.getMblno()) &&
+									.filter(e -> MagicValues.D.equals(e.getDc()) && e.getMblno().equals(finalBills1.getMblno()) &&
 										e.getFeeId().equals(fee.getFeeId()) && exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
 										e.getCorpId().equals(fee.getCorpId()))
 									.collect(Collectors.toList());
@@ -1802,7 +1807,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 										.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
 								}
 								List<FeeCenter> feeCenterListUsdD = feeCenterList.stream()
-									.filter(e -> MagicValues.D.equals(e.getDc()) && e.getMblno().equals(bills.getMblno()) &&
+									.filter(e -> MagicValues.D.equals(e.getDc()) && e.getMblno().equals(finalBills1.getMblno()) &&
 										e.getFeeId().equals(fee.getFeeId()) && !exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
 										e.getCorpId().equals(fee.getCorpId()))
 									.collect(Collectors.toList());
@@ -1814,7 +1819,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 										.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
 								}
 								List<FeeCenter> feeCenterListC = feeCenterList.stream()
-									.filter(e -> MagicValues.C.equals(e.getDc()) && e.getMblno().equals(bills.getMblno()) &&
+									.filter(e -> MagicValues.C.equals(e.getDc()) && e.getMblno().equals(finalBills1.getMblno()) &&
 										e.getFeeId().equals(fee.getFeeId()) && exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
 										e.getCorpId().equals(fee.getCorpId()))
 									.collect(Collectors.toList());
@@ -1826,7 +1831,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 										.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
 								}
 								List<FeeCenter> feeCenterListUsdC = feeCenterList.stream()
-									.filter(e -> MagicValues.C.equals(e.getDc()) && e.getMblno().equals(bills.getMblno()) &&
+									.filter(e -> MagicValues.C.equals(e.getDc()) && e.getMblno().equals(finalBills1.getMblno()) &&
 										e.getFeeId().equals(fee.getFeeId()) && !exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
 										e.getCorpId().equals(fee.getCorpId()))
 									.collect(Collectors.toList());
@@ -2013,8 +2018,8 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 			if (bills != null) {
 				String exrateType = currencyUtils.standardCurrency(bills.getBranchId());
 				bills.setExrateType(exrateType);
-				this.dictionaryConversion(bills);
-				this.assignmentSeaBillsDetail(bills);
+				bills = this.dictionaryConversion(bills);
+				bills = this.assignmentSeaBillsDetail(bills);
 //				bills.setFM(MagicValues.FM);
 				bills.setCapitalLetters("SAY " + BigDecimalUtils.convertToEnglish(bills.getQuantity()) + " " + bills.getPackingUnit() + " ONLY.");
 				bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());

+ 2 - 2
blade-service/blade-los/src/main/java/org/springblade/los/box/controller/TradingBoxItemController.java

@@ -306,8 +306,8 @@ public class TradingBoxItemController extends BladeController {
 			List<RentalBoxItemExcel> list = new ArrayList<>();
 			ExcelUtil.export(response, "导入箱明细模板-租箱", "箱明细", list, RentalBoxItemExcel.class);
 		}else if ("4".equals(type)){
-			List<RentalBoxItemExcel> list = new ArrayList<>();
-			ExcelUtil.export(response, "导入箱明细模板-箱管费用", "箱明细", list, RentalBoxItemExcel.class);
+			List<TradingBoxItemExcel> list = new ArrayList<>();
+			ExcelUtil.export(response, "导入箱明细模板-箱管费用", "箱明细", list, TradingBoxItemExcel.class);
 		}
 	}
 

+ 4 - 0
blade-service/blade-los/src/main/java/org/springblade/los/box/mapper/RouteCostMapper.xml

@@ -102,6 +102,8 @@
         lrc.update_time as updateTime,
         lrc.ship_cname as shipCname,
         lrc.voyage as voyage,
+        lrc.shipping_company_cname as shippingCompanyCname,
+        lrc.transportation_terms as transportationTerms,
         lrc.id as pid,
         item.id as id,
         lrc.business_type as businessType,
@@ -179,6 +181,8 @@
         lrc.update_time as updateTime,
         lrc.ship_cname as shipCname,
         lrc.voyage as voyage,
+        lrc.shipping_company_cname as shippingCompanyCname,
+        lrc.transportation_terms as transportationTerms,
         lrc.id as pid,
         item.id as id,
         lrc.business_type as businessType,

+ 12 - 12
blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/ExpenseApplicationServiceImpl.java

@@ -355,8 +355,8 @@ public class ExpenseApplicationServiceImpl extends ServiceImpl<ExpenseApplicatio
 						feeCentersNew.add(item);
 					}
 					expenseApplication.setFeeCenterList(feeCentersNew);
+					expenseApplicationList.add(expenseApplication);
 				}
-				expenseApplicationList.add(expenseApplication);
 			}
 		} else if ("HYJK,HYCK".contains(type)) {
 			List<Bills> billsList = billsService.list(new LambdaQueryWrapper<Bills>()
@@ -396,25 +396,25 @@ public class ExpenseApplicationServiceImpl extends ServiceImpl<ExpenseApplicatio
 						feeCentersNew.add(item);
 					}
 					expenseApplication.setFeeCenterList(feeCentersNew);
+					expenseApplicationList.add(expenseApplication);
 				}
-				expenseApplicationList.add(expenseApplication);
 			}
 		} else {
 			throw new RuntimeException("类型错误,未查到单据");
 		}
 		this.saveBatch(expenseApplicationList);
 		for (ExpenseApplication item : expenseApplicationList){
-			for (FeeCenter feeCenter : item.getFeeCenterList()) {
-				feeCenter.setUpdateTime(new Date());
-				feeCenter.setUpdateUser(AuthUtil.getUserId());
-				feeCenter.setUpdateUserName(AuthUtil.getUserName());
-				feeCenter.setStlPid(item.getId());
-				feeCenter.setAuditStatus("1");
-				feeCenter.setApplyId(AuthUtil.getUserId());
-				feeCenter.setApplyName(AuthUtil.getUserName());
-				feeCenter.setApplyTime(new Date());
-			}
 			if (ObjectUtils.isNotNull(item.getFeeCenterList()) && !item.getFeeCenterList().isEmpty()){
+				for (FeeCenter feeCenter : item.getFeeCenterList()) {
+					feeCenter.setUpdateTime(new Date());
+					feeCenter.setUpdateUser(AuthUtil.getUserId());
+					feeCenter.setUpdateUserName(AuthUtil.getUserName());
+					feeCenter.setStlPid(item.getId());
+					feeCenter.setAuditStatus("1");
+					feeCenter.setApplyId(AuthUtil.getUserId());
+					feeCenter.setApplyName(AuthUtil.getUserName());
+					feeCenter.setApplyTime(new Date());
+				}
 				feeCenterService.updateBatchById(item.getFeeCenterList());
 			}
 		}

+ 1 - 1
blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/TradingBoxItemServiceImpl.java

@@ -263,7 +263,7 @@ public class TradingBoxItemServiceImpl extends ServiceImpl<TradingBoxItemMapper,
 			.eq(BCorps::getTenantId, AuthUtil.getTenantId())
 			.eq(BCorps::getIsDeleted, 0)
 			.apply("find_in_set(cn_name,'" + stationName + "')"));
-		if ("1".equals(type)) {
+		if ("1,4".contains(type)) {
 			List<TradingBoxItemExcel> excelList = ExcelUtil.read(file, TradingBoxItemExcel.class);
 			for (TradingBoxItemExcel item : excelList) {
 				TradingBoxItem tradingBoxItem;

+ 7 - 2
blade-service/blade-los/src/main/java/org/springblade/los/business/amends/controller/AmendsController.java

@@ -34,6 +34,7 @@ import org.springblade.core.tool.utils.Func;
 import org.springblade.los.business.amends.entity.Amends;
 import org.springblade.los.business.amends.service.IAmendsService;
 import org.springblade.los.business.amends.vo.AmendsVO;
+import org.springblade.los.business.sea.entity.Bills;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
@@ -95,7 +96,11 @@ public class AmendsController extends BladeController {
 		if (!AuthUtil.getUserRole().contains("总部") && !AuthUtil.getUserRole().contains("admin")) {
 			lambdaQueryWrapper.eq(Amends::getBranchId, AuthUtil.getDeptId());
 			if (!AuthUtil.getUserRole().contains("secondaryAdmin")) {
-				if (AuthUtil.getUserRole().contains("业务员")) {
+				lambdaQueryWrapper.and(i-> i.eq(AuthUtil.getUserRole().contains("业务员"), Amends::getSrcId, AuthUtil.getUserId()).or()
+					.eq(AuthUtil.getUserRole().contains("操作员"),Amends::getOperatorId, AuthUtil.getUserId()).or()
+					.eq(AuthUtil.getUserRole().contains("客服"),Amends::getCustomerServiceId, AuthUtil.getUserId()).or()
+					.eq(Amends::getCreateUser, AuthUtil.getUserId()));
+				/*if (AuthUtil.getUserRole().contains("业务员")) {
 					lambdaQueryWrapper.eq(Amends::getSrcId, AuthUtil.getUserId());
 				} else if (AuthUtil.getUserRole().contains("操作员")) {
 					lambdaQueryWrapper.eq(Amends::getOperatorId, AuthUtil.getUserId());
@@ -103,7 +108,7 @@ public class AmendsController extends BladeController {
 					lambdaQueryWrapper.eq(Amends::getCustomerServiceId, AuthUtil.getUserId());
 				} else {
 					lambdaQueryWrapper.eq(Amends::getCreateUser, AuthUtil.getUserId());
-				}
+				}*/
 			}
 		} else {
 			lambdaQueryWrapper.eq(ObjectUtils.isNotNull(amends.getBranchId()), Amends::getBranchId, amends.getBranchId());

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

@@ -126,7 +126,11 @@ public class BillsController extends BladeController {
 		if (!AuthUtil.getUserRole().contains("总部") && !AuthUtil.getUserRole().contains("admin")) {
 			lambdaQueryWrapper.eq(Bills::getBranchId, AuthUtil.getDeptId());
 			if (!AuthUtil.getUserRole().contains("secondaryAdmin")) {
-				if (AuthUtil.getUserRole().contains("业务员")) {
+				lambdaQueryWrapper.and(i-> i.eq(AuthUtil.getUserRole().contains("业务员"),Bills::getSrcId, AuthUtil.getUserId()).or()
+					.eq(AuthUtil.getUserRole().contains("操作员"),Bills::getOperatorId, AuthUtil.getUserId()).or()
+					.eq(AuthUtil.getUserRole().contains("客服"),Bills::getCustomerServiceId, AuthUtil.getUserId()).or()
+					.eq(Bills::getCreateUser, AuthUtil.getUserId()));
+				/*if (AuthUtil.getUserRole().contains("业务员")) {
 					lambdaQueryWrapper.eq(Bills::getSrcId, AuthUtil.getUserId());
 				} else if (AuthUtil.getUserRole().contains("操作员")) {
 					lambdaQueryWrapper.eq(Bills::getOperatorId, AuthUtil.getUserId());
@@ -134,7 +138,7 @@ public class BillsController extends BladeController {
 					lambdaQueryWrapper.eq(Bills::getCustomerServiceId, AuthUtil.getUserId());
 				} else {
 					lambdaQueryWrapper.eq(Bills::getCreateUser, AuthUtil.getUserId());
-				}
+				}*/
 			}
 		} else {
 			lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getSrcType()), Bills::getSrcType, bills.getSrcType())
@@ -263,7 +267,11 @@ public class BillsController extends BladeController {
 		if (!AuthUtil.getUserRole().contains("总部") && !AuthUtil.getUserRole().contains("admin")) {
 			lambdaQueryWrapper.eq(Bills::getBranchId, AuthUtil.getDeptId());
 			if (!AuthUtil.getUserRole().contains("secondaryAdmin")) {
-				if (AuthUtil.getUserRole().contains("业务员")) {
+				lambdaQueryWrapper.and(i-> i.eq(AuthUtil.getUserRole().contains("业务员"),Bills::getSrcId, AuthUtil.getUserId()).or()
+					.eq(AuthUtil.getUserRole().contains("操作员"),Bills::getOperatorId, AuthUtil.getUserId()).or()
+					.eq(AuthUtil.getUserRole().contains("客服"),Bills::getCustomerServiceId, AuthUtil.getUserId()).or()
+					.eq(Bills::getCreateUser, AuthUtil.getUserId()));
+			/*	if (AuthUtil.getUserRole().contains("业务员")) {
 					lambdaQueryWrapper.eq(Bills::getSrcId, AuthUtil.getUserId());
 				} else if (AuthUtil.getUserRole().contains("操作员")) {
 					lambdaQueryWrapper.eq(Bills::getOperatorId, AuthUtil.getUserId());
@@ -271,7 +279,7 @@ public class BillsController extends BladeController {
 					lambdaQueryWrapper.eq(Bills::getCustomerServiceId, AuthUtil.getUserId());
 				} else {
 					lambdaQueryWrapper.eq(Bills::getCreateUser, AuthUtil.getUserId());
-				}
+				}*/
 			}
 		} else {
 			lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getSrcType()), Bills::getSrcType, bills.getSrcType())
@@ -611,7 +619,11 @@ public class BillsController extends BladeController {
 		if (!AuthUtil.getUserRole().contains("总部") && !AuthUtil.getUserRole().contains("admin")) {
 			lambdaQueryWrapper.eq(Bills::getBranchId, AuthUtil.getDeptId());
 			if (!AuthUtil.getUserRole().contains("secondaryAdmin")) {
-				if (AuthUtil.getUserRole().contains("业务员")) {
+				lambdaQueryWrapper.and(i-> i.eq(AuthUtil.getUserRole().contains("业务员"),Bills::getSrcId, AuthUtil.getUserId()).or()
+					.eq(AuthUtil.getUserRole().contains("操作员"),Bills::getOperatorId, AuthUtil.getUserId()).or()
+					.eq(AuthUtil.getUserRole().contains("客服"),Bills::getCustomerServiceId, AuthUtil.getUserId()).or()
+					.eq(Bills::getCreateUser, AuthUtil.getUserId()));
+				/*if (AuthUtil.getUserRole().contains("业务员")) {
 					lambdaQueryWrapper.eq(Bills::getSrcId, AuthUtil.getUserId());
 				} else if (AuthUtil.getUserRole().contains("操作员")) {
 					lambdaQueryWrapper.eq(Bills::getOperatorId, AuthUtil.getUserId());
@@ -619,7 +631,7 @@ public class BillsController extends BladeController {
 					lambdaQueryWrapper.eq(Bills::getCustomerServiceId, AuthUtil.getUserId());
 				} else {
 					lambdaQueryWrapper.eq(Bills::getCreateUser, AuthUtil.getUserId());
-				}
+				}*/
 			}
 		} else {
 			lambdaQueryWrapper.eq(ObjectUtils.isNotNull(bills.getSrcType()), Bills::getSrcType, bills.getSrcType())

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

@@ -2789,6 +2789,10 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 			if (!details.isEmpty()) {
 				List<Bills> billsList = new ArrayList<>();
 				for (Bills item : details) {
+					item.setOperatorId(bills.getPodStaffId());
+					item.setOperatorName(bills.getPodStaffName());
+					item.setCustomerServiceId(bills.getPodStaffId());
+					item.setCustomerServiceName(bills.getPodStaffName());
 					item.setSrcBusId(item.getId());
 					item.setId(null);
 					item.setUpdateUser(null);

+ 7 - 89
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/TemplateImportServiceImpl.java

@@ -365,89 +365,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
 				} else {
 					// throw new RuntimeException("船名航次不能为空");
 				}
-			} else if (val0.equals("POR")) {
-				String port = getSheetCellValueAsString(sheet, r, 1);
-				System.out.println("por:" + port);
-				if (ObjectUtils.isNotNull(port)) {
-					BPorts ports = bPortsService.getOne(new LambdaQueryWrapper<BPorts>()
-						.eq(BPorts::getTenantId, AuthUtil.getTenantId())
-						.eq(BPorts::getIsDeleted, 0)
-						.like(BPorts::getEnName, port)
-						.last("limit 1"));
-					if (ports != null) {
-						bills.setPlaceReceiptId(ports.getId());
-						bills.setPlaceReceiptCode(ports.getCode());
-						bills.setPlaceReceiptName(ports.getEnName());
-						bills.setPlaceReceiptNamePrint(ports.getEnName());
-					}else {
-						throw new RuntimeException("收货地 " + port + " 无法识别!");
-					}
-				} else {
-					// throw new RuntimeException("收货地不能为空");
-				}
-
-				port = getSheetCellValueAsString(sheet, r, 4);
-				System.out.println("pol:" + port);
-				if (ObjectUtils.isNotNull(port)) {
-					BPorts ports = bPortsService.getOne(new LambdaQueryWrapper<BPorts>()
-						.eq(BPorts::getTenantId, AuthUtil.getTenantId())
-						.eq(BPorts::getIsDeleted, 0)
-						.like(BPorts::getEnName, port)
-						.last("limit 1"));
-					if (ports != null) {
-						bills.setPolId(ports.getId());
-						bills.setPolCode(ports.getCode());
-						bills.setPolCnName(ports.getCnName());
-						bills.setPolEnName(ports.getEnName());
-						bills.setPolNamePrint(ports.getEnName());
-					}else {
-						throw new RuntimeException("装货港 " + port + " 无法识别!");
-					}
-				} else {
-					// throw new RuntimeException("装货港不能为空");
-				}
-			} else if (val0.equals("POD")) {
-				String port = getSheetCellValueAsString(sheet, r, 1);
-				System.out.println("pod:" + port);
-				if (ObjectUtils.isNotNull(port)) {
-					BPorts ports = bPortsService.getOne(new LambdaQueryWrapper<BPorts>()
-						.eq(BPorts::getTenantId, AuthUtil.getTenantId())
-						.eq(BPorts::getIsDeleted, 0)
-						.like(BPorts::getEnName, port)
-						.last("limit 1"));
-					if (ports != null) {
-						bills.setPodId(ports.getId());
-						bills.setPodCode(ports.getCode());
-						bills.setPodCnName(ports.getCnName());
-						bills.setPodEnName(ports.getEnName());
-						bills.setPodNamePrint(ports.getEnName());
-					}else {
-						throw new RuntimeException("卸货港 " + port + " 无法识别!");
-					}
-				} else {
-					// throw new RuntimeException("卸货港不能为空");
-				}
-
-				port = getSheetCellValueAsString(sheet, r, 4);
-				System.out.println("place Of Delivery:" + port);
-				if (ObjectUtils.isNotNull(port)) {
-					BPorts ports = bPortsService.getOne(new LambdaQueryWrapper<BPorts>()
-						.eq(BPorts::getTenantId, AuthUtil.getTenantId())
-						.eq(BPorts::getIsDeleted, 0)
-						.like(BPorts::getEnName, port)
-						.last("limit 1"));
-					if (ports != null) {
-						bills.setPlaceDeliveryId(ports.getId());
-						bills.setPlaceDeliveryCode(ports.getCode());
-						bills.setPlaceDeliveryName(ports.getEnName());
-						bills.setPlaceDeliveryNamePrint(ports.getEnName());
-					}else {
-						throw new RuntimeException("交货地 " + port + " 无法识别!");
-					}
-				} else {
-					// throw new RuntimeException("交货地不能为空");
-				}
-			} else if (val0.equals("KINDOFB/L")) {
+			}else if (val0.equals("KINDOFB/L")) {
 				String s1 = getSheetCellValueAsString(sheet, r, 1);
 				System.out.println("kindOfBl:" + s1);
 				if (ObjectUtils.isNotNull(s1)) {
@@ -718,7 +636,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
 		} else {
 			throw new RuntimeException("收货地不能为空");
 		}
-
+/*
 		//POL
 		if (ObjectUtils.isNotNull(sheet.getRow(23).getCell(3))) {
 			String pol = getSheetCellValueAsString(sheet, 23, 3);
@@ -780,7 +698,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
 			System.out.println("delivery:" + delivery);
 		} else {
 			throw new RuntimeException("交货地不能为空");
-		}
+		}*/
 
 		//B/L NO
 		if (ObjectUtils.isNotNull(sheet.getRow(25).getCell(5))) {
@@ -964,7 +882,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
 			throw new RuntimeException("船名航次不能为空");
 		}
 
-		// POR
+		/*// POR
 		if (ObjectUtils.isNotNull(sheet.getRow(25).getCell(0))) {
 			String por = getSheetCellValueAsString(sheet, 25, 0);
 			if (ObjectUtils.isNotNull(por)) {
@@ -1047,7 +965,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
 			System.out.println("delivery:" + delivery);
 		} else {
 			throw new RuntimeException("交货地不能为空");
-		}
+		}*/
 
 		//B/L NO
 		if (ObjectUtils.isNotNull(sheet.getRow(25).getCell(5))) {
@@ -1197,7 +1115,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
 					seaBillsDetail.setHnotify2Details(sbLines.toString().trim());
 				}
 				sbLines.setLength(0);
-				String portName = getSheetCellValueAsString(sheet, r, 1);
+				/*String portName = getSheetCellValueAsString(sheet, r, 1);
 				if (ObjectUtils.isNotNull(portName)) {
 					BPorts ports = bPortsService.getOne(new LambdaQueryWrapper<BPorts>()
 						.eq(BPorts::getTenantId, AuthUtil.getTenantId())
@@ -1230,7 +1148,7 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
 						}
 					}
 				}
-				System.out.println(val0  + ":" + portName);
+				System.out.println(val0  + ":" + portName);*/
 			} else if (val0.equals("SHIPPINGMARK")) {
 				sbLines.setLength(0);
 				sbLines.append(getSheetCellValueAsString(sheet, r, 1).concat("\r\n"));

+ 1 - 0
blade-service/blade-los/src/main/java/org/springblade/los/check/service/impl/AuditProecessServiceImpl.java

@@ -1580,6 +1580,7 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 				data.setCreateDept(deptId);
 				data.setCreateDeptName(deptName);
 				data.setBranchId(branchId);
+				data.setBranchName(deptName);
 				data.setDeptId(Long.parseLong(deptId));
 				data.setDeptName(deptName);
 				BusinessBillNo businessBillNo = new BusinessBillNo();

+ 10 - 0
blade-service/blade-los/src/main/java/org/springblade/los/excel/RouteCostProfitExcel.java

@@ -121,6 +121,16 @@ public class RouteCostProfitExcel implements Serializable {
 	 */
 	@ExcelProperty(value = "船公司")
 	private String actualShippingCompanyCname;
+	/**
+	 * 承运人
+	 */
+	@ExcelProperty(value = "承运人")
+	private String shippingCompanyCname;
+	/**
+	 * 运输条款
+	 */
+	@ExcelProperty(value = "运输条款")
+	private String transportationTerms;
 
 	/**
 	 * 船名

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

@@ -255,6 +255,7 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
 				feeCenter.setDc(losBFeesTemplate.getDc());
 				feeCenter.setPaymode(bills.getMpaymode());
 				feeCenter.setSort(count);
+				feeCenter.setCorpType(items.getCorpType());
 				count++;
 				if ("国内直接客户,国外直接客户,国内同行及代理".contains(items.getCorpType())) {
 					feeCenter.setCorpId(bills.getCorpId());
@@ -1077,6 +1078,7 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
 				feeCenter.setDc(items.getDc());
 				feeCenter.setPaymode(bills.getMpaymode());
 				feeCenter.setSort(count);
+				feeCenter.setCorpType(templateItems.getCorpType());
 				count++;
 				if ("国内直接客户,国外直接客户,国内同行及代理".contains(templateItems.getCorpType())) {
 					feeCenter.setCorpId(bills.getCorpId());
@@ -1118,7 +1120,6 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
 					feeCenter.setShortName(bCorps == null ? items.getCorpCnName() : bCorps.getShortName());
 				}
 				feeCenter.setFeeId(items.getFeeId());
-				feeCenter.setCorpType(items.getType());
 				feeCenter.setFeeCode(items.getFeeCode());
 				feeCenter.setFeeCnName(items.getFeeCnName());
 				feeCenter.setFeeEnName(items.getFeeEnName());
@@ -1231,7 +1232,7 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
 		BFees fees = bFeesService.getOne(new LambdaQueryWrapper<BFees>()
 			.eq(BFees::getTenantId, AuthUtil.getTenantId())
 			.eq(BFees::getIsDeleted, 0)
-			.eq(BFees::getCode, "OF"));
+			.eq(BFees::getCode, "HYF"));
 		if (fees == null) {
 			throw new RuntimeException("未查到海运费信息,请先维护基础资料");
 		}

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

@@ -239,7 +239,11 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 		if (!AuthUtil.getUserRole().contains("总部") && !AuthUtil.getUserRole().contains("admin")) {
 			lambdaQueryWrapper.eq(Bills::getBranchId, AuthUtil.getDeptId());
 			if (!AuthUtil.getUserRole().contains("secondaryAdmin")) {
-				if (AuthUtil.getUserRole().contains("业务员")) {
+				lambdaQueryWrapper.and(i-> i.eq(AuthUtil.getUserRole().contains("业务员"),Bills::getSrcId, AuthUtil.getUserId()).or()
+					.eq(AuthUtil.getUserRole().contains("操作员"),Bills::getOperatorId, AuthUtil.getUserId()).or()
+					.eq(AuthUtil.getUserRole().contains("客服"),Bills::getCustomerServiceId, AuthUtil.getUserId()).or()
+					.eq(Bills::getCreateUser, AuthUtil.getUserId()));
+				/*if (AuthUtil.getUserRole().contains("业务员")) {
 					lambdaQueryWrapper.eq(Bills::getSrcId, AuthUtil.getUserId());
 				} else if (AuthUtil.getUserRole().contains("操作员")) {
 					lambdaQueryWrapper.eq(Bills::getOperatorId, AuthUtil.getUserId());
@@ -247,7 +251,7 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 					lambdaQueryWrapper.eq(Bills::getCustomerServiceId, AuthUtil.getUserId());
 				} else {
 					lambdaQueryWrapper.eq(Bills::getCreateUser, AuthUtil.getUserId());
-				}
+				}*/
 			}
 		}
 		lambdaQueryWrapper.eq(Bills::getBusinessType, "SE");
@@ -260,7 +264,11 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 		if (!AuthUtil.getUserRole().contains("总部") && !AuthUtil.getUserRole().contains("admin")) {
 			lambdaQueryWrapperSI.eq(Bills::getBranchId, AuthUtil.getDeptId());
 			if (!AuthUtil.getUserRole().contains("secondaryAdmin")) {
-				if (AuthUtil.getUserRole().contains("业务员")) {
+				lambdaQueryWrapper.and(i-> i.eq(AuthUtil.getUserRole().contains("业务员"),Bills::getSrcId, AuthUtil.getUserId()).or()
+					.eq(AuthUtil.getUserRole().contains("操作员"),Bills::getOperatorId, AuthUtil.getUserId()).or()
+					.eq(AuthUtil.getUserRole().contains("客服"),Bills::getCustomerServiceId, AuthUtil.getUserId()).or()
+					.eq(Bills::getCreateUser, AuthUtil.getUserId()));
+				/*if (AuthUtil.getUserRole().contains("业务员")) {
 					lambdaQueryWrapperSI.eq(Bills::getSrcId, AuthUtil.getUserId());
 				} else if (AuthUtil.getUserRole().contains("操作员")) {
 					lambdaQueryWrapperSI.eq(Bills::getOperatorId, AuthUtil.getUserId());
@@ -268,7 +276,7 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 					lambdaQueryWrapperSI.eq(Bills::getCustomerServiceId, AuthUtil.getUserId());
 				} else {
 					lambdaQueryWrapperSI.eq(Bills::getCreateUser, AuthUtil.getUserId());
-				}
+				}*/
 			}
 		}
 		lambdaQueryWrapperSI.eq(Bills::getBusinessType, "SI");
@@ -312,7 +320,11 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 		if (!AuthUtil.getUserRole().contains("总部") && !AuthUtil.getUserRole().contains("admin")) {
 			lambdaQueryWrapper.eq(Bills::getBranchId, AuthUtil.getDeptId());
 			if (!AuthUtil.getUserRole().contains("secondaryAdmin")) {
-				if (AuthUtil.getUserRole().contains("业务员")) {
+				lambdaQueryWrapper.and(i-> i.eq(AuthUtil.getUserRole().contains("业务员"),Bills::getSrcId, AuthUtil.getUserId()).or()
+					.eq(AuthUtil.getUserRole().contains("操作员"),Bills::getOperatorId, AuthUtil.getUserId()).or()
+					.eq(AuthUtil.getUserRole().contains("客服"),Bills::getCustomerServiceId, AuthUtil.getUserId()).or()
+					.eq(Bills::getCreateUser, AuthUtil.getUserId()));
+				/*if (AuthUtil.getUserRole().contains("业务员")) {
 					lambdaQueryWrapper.eq(Bills::getSrcId, AuthUtil.getUserId());
 				} else if (AuthUtil.getUserRole().contains("操作员")) {
 					lambdaQueryWrapper.eq(Bills::getOperatorId, AuthUtil.getUserId());
@@ -320,7 +332,7 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 					lambdaQueryWrapper.eq(Bills::getCustomerServiceId, AuthUtil.getUserId());
 				} else {
 					lambdaQueryWrapper.eq(Bills::getCreateUser, AuthUtil.getUserId());
-				}
+				}*/
 			}
 		}
 		lambdaQueryWrapper.eq(Bills::getBusinessType, "SE");
@@ -334,7 +346,11 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 		if (!AuthUtil.getUserRole().contains("总部") && !AuthUtil.getUserRole().contains("admin")) {
 			lambdaQueryWrapperSI.eq(Bills::getBranchId, AuthUtil.getDeptId());
 			if (!AuthUtil.getUserRole().contains("secondaryAdmin")) {
-				if (AuthUtil.getUserRole().contains("业务员")) {
+				lambdaQueryWrapper.and(i-> i.eq(AuthUtil.getUserRole().contains("业务员"),Bills::getSrcId, AuthUtil.getUserId()).or()
+					.eq(AuthUtil.getUserRole().contains("操作员"),Bills::getOperatorId, AuthUtil.getUserId()).or()
+					.eq(AuthUtil.getUserRole().contains("客服"),Bills::getCustomerServiceId, AuthUtil.getUserId()).or()
+					.eq(Bills::getCreateUser, AuthUtil.getUserId()));
+				/*if (AuthUtil.getUserRole().contains("业务员")) {
 					lambdaQueryWrapperSI.eq(Bills::getSrcId, AuthUtil.getUserId());
 				} else if (AuthUtil.getUserRole().contains("操作员")) {
 					lambdaQueryWrapperSI.eq(Bills::getOperatorId, AuthUtil.getUserId());
@@ -342,7 +358,7 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 					lambdaQueryWrapperSI.eq(Bills::getCustomerServiceId, AuthUtil.getUserId());
 				} else {
 					lambdaQueryWrapperSI.eq(Bills::getCreateUser, AuthUtil.getUserId());
-				}
+				}*/
 			}
 		}
 		lambdaQueryWrapperSI.eq(Bills::getBusinessType, "SI");
@@ -357,7 +373,11 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 		if (!AuthUtil.getUserRole().contains("总部") && !AuthUtil.getUserRole().contains("admin")) {
 			amendsLambdaQueryWrapper.eq(Amends::getBranchId, AuthUtil.getDeptId());
 			if (!AuthUtil.getUserRole().contains("secondaryAdmin")) {
-				if (AuthUtil.getUserRole().contains("业务员")) {
+				lambdaQueryWrapper.and(i-> i.eq(AuthUtil.getUserRole().contains("业务员"),Bills::getSrcId, AuthUtil.getUserId()).or()
+					.eq(AuthUtil.getUserRole().contains("操作员"),Bills::getOperatorId, AuthUtil.getUserId()).or()
+					.eq(AuthUtil.getUserRole().contains("客服"),Bills::getCustomerServiceId, AuthUtil.getUserId()).or()
+					.eq(Bills::getCreateUser, AuthUtil.getUserId()));
+				/*if (AuthUtil.getUserRole().contains("业务员")) {
 					amendsLambdaQueryWrapper.eq(Amends::getSrcId, AuthUtil.getUserId());
 				} else if (AuthUtil.getUserRole().contains("操作员")) {
 					amendsLambdaQueryWrapper.eq(Amends::getOperatorId, AuthUtil.getUserId());
@@ -365,7 +385,7 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 					amendsLambdaQueryWrapper.eq(Amends::getCustomerServiceId, AuthUtil.getUserId());
 				} else {
 					amendsLambdaQueryWrapper.eq(Amends::getCreateUser, AuthUtil.getUserId());
-				}
+				}*/
 			}
 		}
 		amendsLambdaQueryWrapper.eq(Amends::getBusinessType, "SEA");
@@ -379,7 +399,11 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 		if (!AuthUtil.getUserRole().contains("总部") && !AuthUtil.getUserRole().contains("admin")) {
 			amendsLambdaQueryWrapper.eq(Amends::getBranchId, AuthUtil.getDeptId());
 			if (!AuthUtil.getUserRole().contains("secondaryAdmin")) {
-				if (AuthUtil.getUserRole().contains("业务员")) {
+				lambdaQueryWrapper.and(i-> i.eq(AuthUtil.getUserRole().contains("业务员"),Bills::getSrcId, AuthUtil.getUserId()).or()
+					.eq(AuthUtil.getUserRole().contains("操作员"),Bills::getOperatorId, AuthUtil.getUserId()).or()
+					.eq(AuthUtil.getUserRole().contains("客服"),Bills::getCustomerServiceId, AuthUtil.getUserId()).or()
+					.eq(Bills::getCreateUser, AuthUtil.getUserId()));
+				/*if (AuthUtil.getUserRole().contains("业务员")) {
 					amendsLambdaQueryWrapper.eq(Amends::getSrcId, AuthUtil.getUserId());
 				} else if (AuthUtil.getUserRole().contains("操作员")) {
 					amendsLambdaQueryWrapper.eq(Amends::getOperatorId, AuthUtil.getUserId());
@@ -387,7 +411,7 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 					amendsLambdaQueryWrapper.eq(Amends::getCustomerServiceId, AuthUtil.getUserId());
 				} else {
 					amendsLambdaQueryWrapper.eq(Amends::getCreateUser, AuthUtil.getUserId());
-				}
+				}*/
 			}
 		}
 		amendsLambdaQueryWrapperSIA.eq(Amends::getBusinessType, "SIA");
@@ -415,7 +439,11 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 			if (!AuthUtil.getUserRole().contains("总部") && !AuthUtil.getUserRole().contains("admin")) {
 				lambdaQueryWrapperSE.eq(Bills::getBranchId, AuthUtil.getDeptId());
 				if (!AuthUtil.getUserRole().contains("secondaryAdmin")) {
-					if (AuthUtil.getUserRole().contains("业务员")) {
+					lambdaQueryWrapperSE.and(i-> i.eq(AuthUtil.getUserRole().contains("业务员"),Bills::getSrcId, AuthUtil.getUserId()).or()
+						.eq(AuthUtil.getUserRole().contains("操作员"),Bills::getOperatorId, AuthUtil.getUserId()).or()
+						.eq(AuthUtil.getUserRole().contains("客服"),Bills::getCustomerServiceId, AuthUtil.getUserId()).or()
+						.eq(Bills::getCreateUser, AuthUtil.getUserId()));
+					/*if (AuthUtil.getUserRole().contains("业务员")) {
 						lambdaQueryWrapperSE.eq(Bills::getSrcId, AuthUtil.getUserId());
 					} else if (AuthUtil.getUserRole().contains("操作员")) {
 						lambdaQueryWrapperSE.eq(Bills::getOperatorId, AuthUtil.getUserId());
@@ -423,7 +451,7 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 						lambdaQueryWrapperSE.eq(Bills::getCustomerServiceId, AuthUtil.getUserId());
 					} else {
 						lambdaQueryWrapperSE.eq(Bills::getCreateUser, AuthUtil.getUserId());
-					}
+					}*/
 				}
 			}
 			lambdaQueryWrapperSE.eq(Bills::getBusinessType, type);