Browse Source

1.海运出口提取成本二程海运费未生成问题修改
2.期间管理-锁定接口,导出接口问题修改
3.业务利润列表,合计,导出接口增加字段
4.账龄分析列表,导出接口修改

纪新园 3 months ago
parent
commit
904e9e41cc

+ 40 - 70
blade-service-api/blade-los-api/src/main/java/org/springblade/los/statisticAnalysis/AgingAnalysisRD.java

@@ -45,99 +45,69 @@ public class AgingAnalysisRD {
 	@ExcelProperty(value = "sgd总计")
 	private BigDecimal sgdTtl;
 
-
 	@ExcelProperty(value = "cny30")
 	private BigDecimal cny30;
-
-	@ExcelProperty(value = "cny60")
-	private BigDecimal cny60;
-
-	@ExcelProperty(value = "cny90")
-	private BigDecimal cny90;
-
-	@ExcelProperty(value = "cny120")
-	private BigDecimal cny120;
-
-	@ExcelProperty(value = "cny150")
-	private BigDecimal cny150;
-
-	@ExcelProperty(value = "cnyOver150")
-	private BigDecimal cnyOver150;
-
 	@ExcelProperty(value = "usd30")
 	private BigDecimal usd30;
-
-	@ExcelProperty(value = "usd60")
-	private BigDecimal usd60;
-
-	@ExcelProperty(value = "usd90")
-	private BigDecimal usd90;
-
-	@ExcelProperty(value = "usd120")
-	private BigDecimal usd120;
-
-	@ExcelProperty(value = "usd150")
-	private BigDecimal usd150;
-
-	@ExcelProperty(value = "usdOver150")
-	private BigDecimal usdOver150;
-
-
 	@ExcelProperty(value = "hkd30")
 	private BigDecimal hkd30;
-
-	@ExcelProperty(value = "hkd60")
-	private BigDecimal hkd60;
-
-	@ExcelProperty(value = "hkd90")
-	private BigDecimal hkd90;
-
-
-	@ExcelProperty(value = "hkd120")
-	private BigDecimal hkd120;
-
-	@ExcelProperty(value = "hkd150")
-	private BigDecimal hkd150;
-
-	@ExcelProperty(value = "hkdOver150")
-	private BigDecimal hkdOver150;
-
-
 	@ExcelProperty(value = "vnk30")
 	private BigDecimal vnk30;
-
-	@ExcelProperty(value = " vnk60")
-	private BigDecimal vnk60;
-
-	@ExcelProperty(value = " vnk90")
-	private BigDecimal vnk90;
-
-
-	@ExcelProperty(value = " vnk120")
-	private BigDecimal vnk120;
-
-	@ExcelProperty(value = " vnk150")
-	private BigDecimal vnk150;
-
-	@ExcelProperty(value = "vnkOver150")
-	private BigDecimal vnkOver150;
-
 	@ExcelProperty(value = "sgd30")
 	private BigDecimal sgd30;
 
+	@ExcelProperty(value = "cny60")
+	private BigDecimal cny60;
+	@ExcelProperty(value = "usd60")
+	private BigDecimal usd60;
+	@ExcelProperty(value = "hkd60")
+	private BigDecimal hkd60;
+	@ExcelProperty(value = " vnk60")
+	private BigDecimal vnk60;
 	@ExcelProperty(value = "sgd60")
 	private BigDecimal sgd60;
 
+	@ExcelProperty(value = "cny90")
+	private BigDecimal cny90;
+	@ExcelProperty(value = "usd90")
+	private BigDecimal usd90;
+	@ExcelProperty(value = "hkd90")
+	private BigDecimal hkd90;
+	@ExcelProperty(value = " vnk90")
+	private BigDecimal vnk90;
 	@ExcelProperty(value = "sgd90")
 	private BigDecimal sgd90;
 
-
+	@ExcelProperty(value = "cny120")
+	private BigDecimal cny120;
+	@ExcelProperty(value = "usd120")
+	private BigDecimal usd120;
+	@ExcelProperty(value = "hkd120")
+	private BigDecimal hkd120;
+	@ExcelProperty(value = " vnk120")
+	private BigDecimal vnk120;
 	@ExcelProperty(value = "sgd120")
 	private BigDecimal sgd120;
 
+	@ExcelProperty(value = "cny150")
+	private BigDecimal cny150;
+	@ExcelProperty(value = "usd150")
+	private BigDecimal usd150;
+	@ExcelProperty(value = "hkd150")
+	private BigDecimal hkd150;
+	@ExcelProperty(value = " vnk150")
+	private BigDecimal vnk150;
 	@ExcelProperty(value = "sgd150")
 	private BigDecimal sgd150;
 
+	@ExcelProperty(value = "cnyOver150")
+	private BigDecimal cnyOver150;
+	@ExcelProperty(value = "usdOver150")
+	private BigDecimal usdOver150;
+	@ExcelProperty(value = "hkdOver150")
+	private BigDecimal hkdOver150;
+	@ExcelProperty(value = "vnkOver150")
+	private BigDecimal vnkOver150;
 	@ExcelProperty(value = "sgdOver150")
 	private BigDecimal sgdOver150;
 }

+ 144 - 44
blade-service-api/blade-los-api/src/main/java/org/springblade/los/statisticAnalysis/FinanceProfitDtoList.java

@@ -21,6 +21,11 @@ public class FinanceProfitDtoList {
 
 
 	/**
+	 * 所属公司
+	 */
+	@ExcelProperty(value = "所属公司")
+	private String branchId;
+	/**
 	 * 业务类型
 	 */
 	@ExcelProperty(value = "业务类型")
@@ -161,55 +166,91 @@ public class FinanceProfitDtoList {
 	 */
 	@ExcelProperty(value = "操作员")
 	private String operatorName;
-
+	/**
+	 * 应收(CNY)
+	 */
+	@ExcelProperty(value = "应收人民币")
+	private BigDecimal amountDr;
+	/**
+	 * 实际实收(CNY)
+	 */
+	@ExcelProperty(value = "实收人民币")
+	private BigDecimal realAmountDr;
+	/**
+	 * 未收人民币
+	 */
+	@ExcelProperty(value = "未收人民币")
+	private BigDecimal notReceivedDr;
 	/**
 	 * 应收(USD)
 	 */
 	@ExcelProperty(value = "应收美元")
 	private BigDecimal amountDrUsd;
-
 	/**
 	 * 实际实收(USD)
 	 */
 	@ExcelProperty(value = "实收美元")
 	private BigDecimal realAmountDrUsd;
-
 	/**
 	 * 未收美元
 	 */
 	@ExcelProperty(value = "未收美元")
 	private BigDecimal notReceivedDrUsd;
-
 	/**
-	 * 应收(CNY)
+	 * 应收(HKD)
 	 */
-	@ExcelProperty(value = "应收人民币")
-	private BigDecimal amountDr;
-
+	@ExcelProperty(value = "应收HKD")
+	private BigDecimal amountDrHkd;
 	/**
-	 * 实际实收(CNY)
+	 * 实际实收(HKD)
 	 */
-	@ExcelProperty(value = "实收人民币")
-	private BigDecimal realAmountDr;
-
+	@ExcelProperty(value = "实收HKD")
+	private BigDecimal realAmountDrHkd;
 	/**
-	 * 未收人民币
+	 * 未收HKD
 	 */
-	@ExcelProperty(value = "未收人民币")
-	private BigDecimal notReceivedDr;
-
+	@ExcelProperty(value = "未收HKD")
+	private BigDecimal notReceivedDrHkd;
+	/**
+	 * 应收(VND)
+	 */
+	@ExcelProperty(value = "应收VND")
+	private BigDecimal amountDrVnd;
+	/**
+	 * 实际实收(VND)
+	 */
+	@ExcelProperty(value = "实收VND")
+	private BigDecimal realAmountDrVnd;
+	/**
+	 * 未收VND
+	 */
+	@ExcelProperty(value = "未收VND")
+	private BigDecimal notReceivedDrVnd;
+	/**
+	 * 应收(SGD)
+	 */
+	@ExcelProperty(value = "应收SGD")
+	private BigDecimal amountDrSgd;
+	/**
+	 * 实际实收(SGD)
+	 */
+	@ExcelProperty(value = "实收SGD")
+	private BigDecimal realAmountDrSgd;
+	/**
+	 * 未收SGD
+	 */
+	@ExcelProperty(value = "未收SGD")
+	private BigDecimal notReceivedDrSgd;
 	/**
 	 * 合计应收
 	 */
 	@ExcelProperty(value = "合计应收")
 	private BigDecimal amountDrLoc;
-
 	/**
 	 * 实际合计应收
 	 */
 	@ExcelProperty(value = "实际合计应收")
 	private BigDecimal realAmountDrLoc;
-
 	/**
 	 * 实际未收
 	 */
@@ -217,47 +258,106 @@ public class FinanceProfitDtoList {
 	private BigDecimal notReceivedLoc;
 
 	/**
+	 * 应付(CNY)
+	 */
+	@ExcelProperty(value = "应付人民币")
+	private BigDecimal amountCr;
+	/**
+	 * 实付实收(CNY)
+	 */
+	@ExcelProperty(value = "实付人民币")
+	private BigDecimal realAmountCr;
+	/**
+	 * 未付人民币
+	 */
+	@ExcelProperty(value = "未付人民币")
+	private BigDecimal notReceivedCr;
+	/**
 	 * 应付(USD)
 	 */
 	@ExcelProperty(value = "应付美元")
 	private BigDecimal amountCrUsd;
-
 	/**
-	 * 实际应付(USD)
+	 * 实际付(USD)
 	 */
 	@ExcelProperty(value = "实付美元")
 	private BigDecimal realAmountCrUsd;
-
 	/**
-	 * 应付(CNY)
+	 * 未付美元
 	 */
-	@ExcelProperty(value = "应付人民币")
-	private BigDecimal amountCr;
-
+	@ExcelProperty(value = "未付美元")
+	private BigDecimal notReceivedCrUsd;
 	/**
-	 * 实际应付(CNY)
+	 * 应付(HKD)
 	 */
-	@ExcelProperty(value = "实付人民币")
-	private BigDecimal realAmountCr;
-
+	@ExcelProperty(value = "应付HKD")
+	private BigDecimal amountCrHkd;
+	/**
+	 * 实际实付(HKD)
+	 */
+	@ExcelProperty(value = "实付HKD")
+	private BigDecimal realAmountCrHkd;
+	/**
+	 * 未付HKD
+	 */
+	@ExcelProperty(value = "未付HKD")
+	private BigDecimal notReceivedCrHkd;
+	/**
+	 * 应付(VND)
+	 */
+	@ExcelProperty(value = "应付VND")
+	private BigDecimal amountCrVnd;
+	/**
+	 * 实际实付(VND)
+	 */
+	@ExcelProperty(value = "实付VND")
+	private BigDecimal realAmountCrVnd;
+	/**
+	 * 未付VND
+	 */
+	@ExcelProperty(value = "未付VND")
+	private BigDecimal notReceivedCrVnd;
+	/**
+	 * 应付(SGD)
+	 */
+	@ExcelProperty(value = "应付SGD")
+	private BigDecimal amountCrSgd;
+	/**
+	 * 实际实付(SGD)
+	 */
+	@ExcelProperty(value = "实付SGD")
+	private BigDecimal realAmountCrSgd;
+	/**
+	 * 未付SGD
+	 */
+	@ExcelProperty(value = "未付SGD")
+	private BigDecimal notReceivedCrSgd;
 	/**
 	 * 合计应付
 	 */
 	@ExcelProperty(value = "合计应付")
 	private BigDecimal amountCrLoc;
-
 	/**
 	 * 实际合计应付
 	 */
 	@ExcelProperty(value = "实际合计应付")
 	private BigDecimal realAmountCrLoc;
+	/**
+	 * 实际未付
+	 */
+	@ExcelProperty(value = "未付合计")
+	private BigDecimal notReceivedCrLoc;
 
 	/**
 	 * 单票利润
 	 */
 	@ExcelProperty(value = "合计利润")
 	private BigDecimal amountProfitLoc;
-
+	/**
+	 * 实际单票利润
+	 */
+	@ExcelProperty(value = "实际单票利润")
+	private BigDecimal realAmountProfitLoc;
 	/**
 	 * 人民币利润
 	 */
@@ -269,14 +369,21 @@ public class FinanceProfitDtoList {
 	 */
 	@ExcelProperty(value = "美元利润")
 	private BigDecimal amountProfitUsd;
-
 	/**
-	 * 实际单票利润
+	 * HKD利润
 	 */
-	@ExcelProperty(value = "实际单票利润")
-	private BigDecimal realAmountProfitLoc;
-
-
+	@ExcelProperty(value = "HKD利润")
+	private BigDecimal amountProfitHkd;
+	/**
+	 * VND利润
+	 */
+	@ExcelProperty(value = "VND利润")
+	private BigDecimal amountProfitVnd;
+	/**
+	 * SGD利润
+	 */
+	@ExcelProperty(value = "SGD利润")
+	private BigDecimal amountProfitSgd;
 	/**
 	 * 应收海运费
 	 */
@@ -354,13 +461,6 @@ public class FinanceProfitDtoList {
 	@ExcelIgnore
 	private String tenantId;
 
-
-	/**
-	 * 分公司 Id
-	 */
-	@ExcelIgnore
-	private String branchId;
-
 	/**
 	 * 单据所属公司 Id
 	 */

+ 20 - 26
blade-service-api/blade-los-api/src/main/java/org/springblade/los/view/entity/FinanceProfit.java

@@ -65,43 +65,37 @@ public class FinanceProfit implements Serializable {
 	@TableField("STATUS")
 	private Integer status;
 	private Date createTime;
-	private BigDecimal amountDrUsd;
-	private BigDecimal realAmountDrUsd;
+
 	private BigDecimal amountDr;
-	private BigDecimal realAmountDr;
-	/**
-	 * 合计应收
-	 */
-	@TableField(exist = false)
+	private BigDecimal amountDrUsd;
+	private BigDecimal amountDrHkd;
+	private BigDecimal amountDrVnd;
+	private BigDecimal amountDrSgd;
 	private BigDecimal amountDrLoc;
 
-	/**
-	 * 实际合计应收
-	 */
-	@TableField(exist = false)
+	private BigDecimal realAmountDr;
+	private BigDecimal realAmountDrUsd;
+	private BigDecimal realAmountDrHkd;
+	private BigDecimal realAmountDrVnd;
+	private BigDecimal realAmountDrSgd;
 	private BigDecimal realAmountDrLoc;
-	private BigDecimal amountCrUsd;
-	private BigDecimal realAmountCrUsd;
+
 	private BigDecimal amountCr;
-	private BigDecimal realAmountCr;
-	/**
-	 * 合计应付
-	 */
-	@TableField(exist = false)
+	private BigDecimal amountCrUsd;
+	private BigDecimal amountCrHkd;
+	private BigDecimal amountCrVnd;
+	private BigDecimal amountCrSgd;
 	private BigDecimal amountCrLoc;
 
-	/**
-	 * 实际合计应付
-	 */
-	@TableField(exist = false)
+	private BigDecimal realAmountCr;
+	private BigDecimal realAmountCrUsd;
+	private BigDecimal realAmountCrHkd;
+	private BigDecimal realAmountCrVnd;
+	private BigDecimal realAmountCrSgd;
 	private BigDecimal realAmountCrLoc;
 
 	private BigDecimal amountProfitLoc;
 
-	/**
-	 * 实际单票利润
-	 */
-	@TableField(exist = false)
 	private BigDecimal realAmountProfitLoc;
 	private String boxBelongsTo;
 

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

@@ -190,6 +190,11 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 		}
 		if (ObjectUtils.isNotNull(bills.getMblno())) {
 			bills.setMblno(bills.getMblno().replaceAll(" ", ""));
+			bills.setMblno(bills.getMblno().replaceAll("'", ""));
+		}
+		if (ObjectUtils.isNotNull(bills.getHblno())) {
+			bills.setHblno(bills.getHblno().replaceAll(" ", ""));
+			bills.setHblno(bills.getHblno().replaceAll("'", ""));
 		}
 		List<Bills> count = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
 			.select(Bills::getId)

+ 11 - 0
blade-service/blade-los/src/main/java/org/springblade/los/excel/ReviewFailedExcel.java

@@ -1,6 +1,9 @@
 package org.springblade.los.excel;
 
 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;
 
 import java.util.Date;
@@ -10,6 +13,9 @@ import java.util.Date;
  * @date : 2024/5/20
  */
 @Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
 public class ReviewFailedExcel {
 
 	/**
@@ -33,6 +39,11 @@ public class ReviewFailedExcel {
 	@ExcelProperty(value = "提单号")
 	private String mblno;
 	/**
+	 * 分单号
+	 */
+	@ExcelProperty(value = "分单号")
+	private String hblno;
+	/**
 	 * 操作员
 	 */
 	@ExcelProperty(value = "操作员")

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

@@ -2049,7 +2049,7 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
 					}
 					//二程费用
 					if (ObjectUtils.isNotNull(items.getOceanFreightTwo()) &&
-						new BigDecimal("0.00").compareTo(items.getOceanFreightTwo()) == 0) {
+						new BigDecimal("0.00").compareTo(items.getOceanFreightTwo()) != 0) {
 						FeeCenter feeCenterChengBrothers = this.addFeeCenterChengBrothers(bills, "C", count, fees, "船公司", items,
 							curExrateList, preContainers, exrateType, "1");
 						if (feeCenterChengBrothers != null) {
@@ -2102,7 +2102,7 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
 					}
 					//二程费用
 					if (ObjectUtils.isNotNull(items.getOceanFreightTwo()) &&
-						new BigDecimal("0.00").compareTo(items.getOceanFreightTwo()) == 0) {
+						new BigDecimal("0.00").compareTo(items.getOceanFreightTwo()) != 0) {
 						FeeCenter feeCenterChengBrothers = this.addFeeCenterChengBrothers(bills, "C", count, fees, "船公司", items,
 							curExrateList, preContainers, exrateType, "1");
 						if (feeCenterChengBrothers != null) {

+ 52 - 22
blade-service/blade-los/src/main/java/org/springblade/los/finance/genleg/controller/FinPeriodController.java

@@ -42,6 +42,8 @@ import org.springblade.los.excel.UnbookkeptExcel;
 import org.springblade.los.finance.genleg.entity.FinPeriod;
 import org.springblade.los.finance.genleg.service.IFinPeriodService;
 import org.springblade.los.finance.genleg.vo.FinPeriodVO;
+import org.springblade.los.finance.invoices.entity.FinInvoices;
+import org.springblade.los.finance.invoices.service.IFinInvoicesService;
 import org.springblade.los.finance.stl.entity.FinStlBills;
 import org.springblade.los.finance.stl.service.IFinStlBillsService;
 import org.springframework.web.bind.annotation.*;
@@ -73,6 +75,8 @@ public class FinPeriodController extends BladeController {
 
 	private final IFinStlBillsService finStlBillsService;
 
+	private final IFinInvoicesService finInvoicesService;
+
 	/**
 	 * 详情
 	 */
@@ -98,7 +102,8 @@ public class FinPeriodController extends BladeController {
 			.eq(ObjectUtils.isNotNull(finPeriod.getLockingStatus()), FinPeriod::getLockingStatus, finPeriod.getLockingStatus())
 			.eq(ObjectUtils.isNotNull(finPeriod.getBeginDate()), FinPeriod::getBeginDate, finPeriod.getBeginDate())
 			.eq( FinPeriod::getIsDeleted, 0)
-			.eq(ObjectUtils.isNotNull(finPeriod.getEndDate()), FinPeriod::getEndDate, finPeriod.getEndDate());
+			.eq(ObjectUtils.isNotNull(finPeriod.getEndDate()), FinPeriod::getEndDate, finPeriod.getEndDate())
+			.orderByDesc(FinPeriod::getEndDate);
 		if (!AuthUtil.getUserRole().contains("总部") && !AuthUtil.getUserRole().contains("admin")) {
 			lambdaQueryWrapper.eq(FinPeriod::getBranchId, AuthUtil.getDeptId());
 		} else {
@@ -230,7 +235,6 @@ public class FinPeriodController extends BladeController {
 			throw new RuntimeException("该期间已锁定,请勿重复锁定!");
 		}
 		List<ReviewFailedExcel> reviewFailedExcelList = new ArrayList<>();
-		List<UnbookkeptExcel> unbookkeptExcelList = new ArrayList<>();
 		String beginDate = "";
 		String endDate = "";
 		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@@ -249,8 +253,8 @@ public class FinPeriodController extends BladeController {
 			.eq(Bills::getIsDeleted, 0)
 			.eq(Bills::getBranchId, detail.getBranchId())
 			.apply("not find_in_set(bill_status,'1,3')")
-			.apply("((business_type = 'SE' and etd >='" + beginDate + "' and etd <= '" + endDate + "' ) " +
-				"or (business_type = 'SI' and eta >='" + beginDate + "' and eta <= '" + endDate + "'))"));
+			.apply("((business_type = 'SE' and actual_etd >='" + beginDate + "' and actual_etd <= '" + endDate + "' ) " +
+				"or (business_type = 'SI' and actual_eta >='" + beginDate + "' and actual_eta <= '" + endDate + "'))"));
 		if (!billsList.isEmpty()) {
 			for (Bills item : billsList) {
 				ReviewFailedExcel reviewFailedExcel = new ReviewFailedExcel();
@@ -262,6 +266,7 @@ public class FinPeriodController extends BladeController {
 				reviewFailedExcel.setBillNo(item.getBillNo());
 				reviewFailedExcel.setBusinessDate(item.getBillDate());
 				reviewFailedExcel.setMblno(item.getMblno());
+				reviewFailedExcel.setHblno(item.getHblno());
 				reviewFailedExcel.setOperator(item.getOperatorName());
 				if ("SALES".equals(item.getSrcType())) {
 					reviewFailedExcel.setSalesperson(item.getSrcCnName());
@@ -269,17 +274,12 @@ public class FinPeriodController extends BladeController {
 				reviewFailedExcelList.add(reviewFailedExcel);
 			}
 		}
-
 		List<Amends> amendsList = amendsService.list(new LambdaQueryWrapper<Amends>()
 			.eq(Amends::getTenantId, AuthUtil.getTenantId())
 			.eq(Amends::getIsDeleted, 0)
 			.eq(Amends::getBranchId, detail.getBranchId())
 			.apply("not find_in_set(bill_status,'3')")
-			.apply("((business_type = 'SEA' and etd >='" + beginDate + "' and etd <= '" + endDate + "' ) " +
-				"or (business_type = 'SIA' and eta >='" + beginDate + "' and eta <= '" + endDate + "')" +
-				"or (business_type = 'AEA' and etd >='" + beginDate + "' and etd <= '" + endDate + "')" +
-				"or (business_type = 'AIA' and eta >='" + beginDate + "' and eta <= '" + endDate + "'))"
-			));
+			.apply("create_time >='" + beginDate + "' and create_time <= '" + endDate + "'"));
 		List<Bills> billsList1 = new ArrayList<>();
 		if (!amendsList.isEmpty()) {
 			List<Long> billsId = amendsList.stream().map(Amends::getOrigId).collect(Collectors.toList());
@@ -291,7 +291,6 @@ public class FinPeriodController extends BladeController {
 					.in(Bills::getId, billsId)
 				);
 			}
-
 		}
 		for (Amends item : amendsList) {
 			ReviewFailedExcel reviewFailedExcel = new ReviewFailedExcel();
@@ -315,24 +314,55 @@ public class FinPeriodController extends BladeController {
 			reviewFailedExcel.setBillNo(item.getBillNo());
 			reviewFailedExcel.setBusinessDate(item.getBillDate());
 			reviewFailedExcel.setMblno(item.getMblno());
+			reviewFailedExcel.setHblno(item.getHblno());
 			reviewFailedExcel.setOperator(item.getOperatorName());
 			reviewFailedExcelList.add(reviewFailedExcel);
 		}
-
-		List<FinStlBills> finStlBillsList = finStlBillsService.list(new LambdaQueryWrapper<FinStlBills>()
+		List<FinStlBills> finStlBillsLis = finStlBillsService.list(new LambdaQueryWrapper<FinStlBills>()
 			.eq(FinStlBills::getTenantId, AuthUtil.getTenantId())
 			.eq(FinStlBills::getIsDeleted, 0)
-			.eq(FinStlBills::getBusinessType, "STL")
-			.notIn(FinStlBills::getStatus, 3)
 			.eq(FinStlBills::getBranchId, detail.getBranchId())
-			.gt(FinStlBills::getBillDate, beginDate)
-			.lt(FinStlBills::getBillDate, endDate)
-		);
-		if (!reviewFailedExcelList.isEmpty()) {
-			ExcelUtil.export(response, "审核未通过", "审核未通过", BeanUtil.copy(reviewFailedExcelList, ReviewFailedExcel.class), ReviewFailedExcel.class);
+			.ne(FinStlBills::getStatus, "3")
+			.apply("bill_date >='" + beginDate + "' and bill_date <= '" + endDate + "'"));
+		if (!finStlBillsLis.isEmpty()) {
+			for (FinStlBills item : finStlBillsLis) {
+				ReviewFailedExcel reviewFailedExcel = new ReviewFailedExcel();
+				if ("FFSQ".equals(item.getBusinessType())) {
+					reviewFailedExcel.setBusinessType("付费申请");
+				} else {
+					reviewFailedExcel.setBusinessType("结算中心");
+				}
+				reviewFailedExcel.setBillNo(item.getBillNo());
+				reviewFailedExcel.setBusinessDate(item.getBillDate());
+				reviewFailedExcel.setMblno(item.getMblno());
+				reviewFailedExcel.setHblno(item.getHblno());
+				reviewFailedExcel.setOperator(item.getOperatorName());
+				reviewFailedExcelList.add(reviewFailedExcel);
+			}
+		}
+		List<FinInvoices> finInvoicesList = finInvoicesService.list(new LambdaQueryWrapper<FinInvoices>()
+			.eq(FinInvoices::getTenantId, AuthUtil.getTenantId())
+			.eq(FinInvoices::getIsDeleted, 0)
+			.eq(FinInvoices::getBranchId, detail.getBranchId())
+			.ne(FinInvoices::getStatus, "3")
+			.apply("invoice_date >='" + beginDate + "' and invoice_date <= '" + endDate + "'"));
+		if (!finInvoicesList.isEmpty()) {
+			for (FinInvoices item : finInvoicesList) {
+				ReviewFailedExcel reviewFailedExcel = new ReviewFailedExcel();
+				if ("FPSQ".equals(item.getType())) {
+					reviewFailedExcel.setBusinessType("发票申请");
+				} else {
+					reviewFailedExcel.setBusinessType("销项发票");
+				}
+				reviewFailedExcel.setBillNo(item.getBillNo());
+				reviewFailedExcel.setBusinessDate(item.getBillDate());
+				reviewFailedExcel.setMblno(item.getMblno());
+				reviewFailedExcel.setHblno(item.getHblno());
+				reviewFailedExcelList.add(reviewFailedExcel);
+			}
 		}
-		if (!unbookkeptExcelList.isEmpty()) {
-			ExcelUtil.export(response, "凭证未记账", "凭证未记账", BeanUtil.copy(unbookkeptExcelList, UnbookkeptExcel.class), UnbookkeptExcel.class);
+		if (!reviewFailedExcelList.isEmpty()) {
+			ExcelUtil.export(response, "期间锁定明细", "期间锁定明细", BeanUtil.copy(reviewFailedExcelList, ReviewFailedExcel.class), ReviewFailedExcel.class);
 		}
 	}
 

+ 8 - 2
blade-service/blade-los/src/main/java/org/springblade/los/finance/genleg/service/impl/FinPeriodServiceImpl.java

@@ -233,6 +233,7 @@ public class FinPeriodServiceImpl extends ServiceImpl<FinPeriodMapper, FinPeriod
 				reviewFailedExcel.setBillNo(item.getBillNo());
 				reviewFailedExcel.setBusinessDate(item.getBillDate());
 				reviewFailedExcel.setMblno(item.getMblno());
+				reviewFailedExcel.setHblno(item.getHblno());
 				reviewFailedExcel.setOperator(item.getOperatorName());
 				if ("SALES".equals(item.getSrcType())) {
 					reviewFailedExcel.setSalesperson(item.getSrcCnName());
@@ -280,6 +281,7 @@ public class FinPeriodServiceImpl extends ServiceImpl<FinPeriodMapper, FinPeriod
 			reviewFailedExcel.setBillNo(item.getBillNo());
 			reviewFailedExcel.setBusinessDate(item.getBillDate());
 			reviewFailedExcel.setMblno(item.getMblno());
+			reviewFailedExcel.setHblno(item.getHblno());
 			reviewFailedExcel.setOperator(item.getOperatorName());
 			reviewFailedExcelList.add(reviewFailedExcel);
 		}
@@ -287,7 +289,8 @@ public class FinPeriodServiceImpl extends ServiceImpl<FinPeriodMapper, FinPeriod
 			.eq(FinStlBills::getTenantId, AuthUtil.getTenantId())
 			.eq(FinStlBills::getIsDeleted, 0)
 			.eq(FinStlBills::getBranchId, detail.getBranchId())
-			.ne(FinStlBills::getBillStatus, "3"));
+			.ne(FinStlBills::getStatus, "3")
+			.apply("bill_date >='" + beginDate + "' and bill_date <= '" + endDate + "'"));
 		if (!finStlBillsLis.isEmpty()) {
 			for (FinStlBills item : finStlBillsLis) {
 				ReviewFailedExcel reviewFailedExcel = new ReviewFailedExcel();
@@ -299,6 +302,7 @@ public class FinPeriodServiceImpl extends ServiceImpl<FinPeriodMapper, FinPeriod
 				reviewFailedExcel.setBillNo(item.getBillNo());
 				reviewFailedExcel.setBusinessDate(item.getBillDate());
 				reviewFailedExcel.setMblno(item.getMblno());
+				reviewFailedExcel.setHblno(item.getHblno());
 				reviewFailedExcel.setOperator(item.getOperatorName());
 				reviewFailedExcelList.add(reviewFailedExcel);
 			}
@@ -307,7 +311,8 @@ public class FinPeriodServiceImpl extends ServiceImpl<FinPeriodMapper, FinPeriod
 			.eq(FinInvoices::getTenantId, AuthUtil.getTenantId())
 			.eq(FinInvoices::getIsDeleted, 0)
 			.eq(FinInvoices::getBranchId, detail.getBranchId())
-			.ne(FinInvoices::getBillStatus, "3"));
+			.ne(FinInvoices::getStatus, "3")
+			.apply("invoice_date >='" + beginDate + "' and invoice_date <= '" + endDate + "'"));
 		if (!finInvoicesList.isEmpty()) {
 			for (FinInvoices item : finInvoicesList) {
 				ReviewFailedExcel reviewFailedExcel = new ReviewFailedExcel();
@@ -319,6 +324,7 @@ public class FinPeriodServiceImpl extends ServiceImpl<FinPeriodMapper, FinPeriod
 				reviewFailedExcel.setBillNo(item.getBillNo());
 				reviewFailedExcel.setBusinessDate(item.getBillDate());
 				reviewFailedExcel.setMblno(item.getMblno());
+				reviewFailedExcel.setHblno(item.getHblno());
 				reviewFailedExcelList.add(reviewFailedExcel);
 			}
 		}

+ 26 - 0
blade-service/blade-los/src/main/java/org/springblade/los/statisticAnalysis/controller/FinanceStatisticsController.java

@@ -73,6 +73,32 @@ public class FinanceStatisticsController {
 			if (ObjectUtils.isNotNull(item.getStatisticsDate())){
 				item.setStatisticsDate(formatter.format(formatter.parse(item.getStatisticsDate())));
 			}
+			if ("MM".equals(item.getBillType())){
+				item.setBillType("主单");
+			}else if ("DD".equals(item.getBillType())){
+				item.setBillType("直单");
+			}else if ("MH".equals(item.getBillType())){
+				item.setBillType("分单");
+			}
+			if ("SE".equals(item.getBusinessType())){
+				item.setBusinessType("海运出口");
+			}else if ("SI".equals(item.getBusinessType())){
+				item.setBusinessType("海运进口");
+			}else if ("XGFY".equals(item.getBusinessType())){
+				item.setBusinessType("箱管费用");
+			}else if ("BUY".equals(item.getBusinessType())){
+				item.setBusinessType("买箱");
+			}else if ("ZR".equals(item.getBusinessType())){
+				item.setBusinessType("租箱");
+			}else if ("DL".equals(item.getBusinessType())){
+				item.setBusinessType("代理箱");
+			}else if ("OW-N".equals(item.getBusinessType())){
+				item.setBusinessType("OW(拿)");
+			}else if ("SEA".equals(item.getBusinessType())){
+				item.setBusinessType("海运出口amend");
+			}else if ("SIA".equals(item.getBusinessType())){
+				item.setBusinessType("海运进口amend");
+			}
 		}
 		ExcelUtil.export(response, "业务利润", "业务利润", financeProfitList, FinanceProfitDtoList.class);
 	}

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

@@ -205,7 +205,8 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 				}
 			}
 		} else {
-			if (ObjectUtils.isNotNull(financeProfit.getBusinessType())) {
+			if (ObjectUtils.isNotNull(financeProfit.getBusinessType()) &&
+				(financeProfit.getBusinessType().contains("SE") || financeProfit.getBusinessType().contains("SI"))) {
 				financeProfit.setBusinessType(financeProfit.getBusinessType() + ",SEA,SIA,AEA,AIA");
 			}
 			financeProfitList = financeProfitMapper.financeProfitList(financeProfit, page);
@@ -755,7 +756,8 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 				}
 			}
 		} else {
-			if (ObjectUtils.isNotNull(financeProfit.getBusinessType())) {
+			if (ObjectUtils.isNotNull(financeProfit.getBusinessType()) &&
+				(financeProfit.getBusinessType().contains("SE") || financeProfit.getBusinessType().contains("SI"))) {
 				financeProfit.setBusinessType(financeProfit.getBusinessType() + ",SEA,SIA,AEA,AIA");
 			}
 			financeProfitList = financeProfitMapper.financeProfitListSum(financeProfit);
@@ -926,7 +928,10 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 				}
 			}
 		} else {
-			financeProfit.setBusinessType(financeProfit.getBusinessType() + ",SEA,SIA,AEA,AIA");
+			if (ObjectUtils.isNotNull(financeProfit.getBusinessType()) &&
+				(financeProfit.getBusinessType().contains("SE") || financeProfit.getBusinessType().contains("SI"))) {
+				financeProfit.setBusinessType(financeProfit.getBusinessType() + ",SEA,SIA,AEA,AIA");
+			}
 			financeProfitList = financeProfitMapper.financeProfitListSum(financeProfit);
 		}
 		List<FinanceProfit> financeProfitDataList = new ArrayList<>();
@@ -946,12 +951,27 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 					item.setLineCnName(profit.getLineCnName());
 				}
 			}
+			//利润
 			item.setAmountProfit(item.getAmountDr().subtract(item.getAmountCr()).setScale(2, RoundingMode.HALF_UP));
 			item.setAmountProfitUsd(item.getAmountDrUsd().subtract(item.getAmountCrUsd()).setScale(2, RoundingMode.HALF_UP));
+			item.setAmountProfitHkd(item.getAmountDrHkd().subtract(item.getAmountCrHkd()).setScale(2, RoundingMode.HALF_UP));
+			item.setAmountProfitVnd(item.getAmountDrVnd().subtract(item.getAmountCrVnd()).setScale(2, RoundingMode.HALF_UP));
+			item.setAmountProfitSgd(item.getAmountDrSgd().subtract(item.getAmountCrSgd()).setScale(2, RoundingMode.HALF_UP));
 			item.setRealAmountProfitLoc(item.getRealAmountDrLoc().subtract(item.getRealAmountCrLoc()).setScale(2, RoundingMode.HALF_UP));
+			//未收
 			item.setNotReceivedDr(item.getAmountDr().subtract(item.getRealAmountDr()).setScale(2, RoundingMode.HALF_UP));
 			item.setNotReceivedDrUsd(item.getAmountDrUsd().subtract(item.getRealAmountDrUsd()).setScale(2, RoundingMode.HALF_UP));
+			item.setNotReceivedDrHkd(item.getAmountDrHkd().subtract(item.getRealAmountDrHkd()).setScale(2, RoundingMode.HALF_UP));
+			item.setNotReceivedDrVnd(item.getAmountDrVnd().subtract(item.getRealAmountDrVnd()).setScale(2, RoundingMode.HALF_UP));
+			item.setNotReceivedDrSgd(item.getAmountDrSgd().subtract(item.getRealAmountDrSgd()).setScale(2, RoundingMode.HALF_UP));
 			item.setNotReceivedLoc(item.getAmountDrLoc().subtract(item.getRealAmountDrLoc()).setScale(2, RoundingMode.HALF_UP));
+			//未付
+			item.setNotReceivedCr(item.getAmountCr().subtract(item.getRealAmountCr()).setScale(2, RoundingMode.HALF_UP));
+			item.setNotReceivedCrUsd(item.getAmountCrUsd().subtract(item.getRealAmountCrUsd()).setScale(2, RoundingMode.HALF_UP));
+			item.setNotReceivedCrHkd(item.getAmountCrHkd().subtract(item.getRealAmountCrHkd()).setScale(2, RoundingMode.HALF_UP));
+			item.setNotReceivedCrVnd(item.getAmountCrVnd().subtract(item.getRealAmountCrVnd()).setScale(2, RoundingMode.HALF_UP));
+			item.setNotReceivedCrSgd(item.getAmountCrSgd().subtract(item.getRealAmountCrSgd()).setScale(2, RoundingMode.HALF_UP));
+			item.setNotReceivedCrLoc(item.getAmountCrLoc().subtract(item.getRealAmountCrLoc()).setScale(2, RoundingMode.HALF_UP));
 		}
 		return financeProfitList;
 	}

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

@@ -30,14 +30,30 @@
         <result column="src_id" property="srcId"/>
         <result column="STATUS" property="status"/>
         <result column="create_time" property="createTime"/>
-        <result column="amount_dr_usd" property="amountDrUsd"/>
-        <result column="realAmount_dr_usd" property="realAmountDrUsd"/>
         <result column="amount_dr" property="amountDr"/>
+        <result column="amount_dr_usd" property="amountDrUsd"/>
+        <result column="amount_dr_hkd" property="amountDrHkd"/>
+        <result column="amount_dr_vnd" property="amountDrVnd"/>
+        <result column="amount_dr_sgd" property="amountDrSgd"/>
+        <result column="amount_dr_loc" property="amountDrLoc"/>
         <result column="realamount_dr" property="realAmountDr"/>
-        <result column="amount_cr_usd" property="amountCrUsd"/>
-        <result column="realAmount_cr_usd" property="realAmountCrUsd"/>
+        <result column="realAmount_dr_usd" property="realAmountDrUsd"/>
+        <result column="realAmount_dr_hkd" property="realAmountDrHkd"/>
+        <result column="realAmount_dr_vnd" property="realAmountDrVnd"/>
+        <result column="realAmount_dr_sgd" property="realAmountDrSgd"/>
+        <result column="realAmount_dr_loc" property="realAmountDrLoc"/>
         <result column="amount_cr" property="amountCr"/>
+        <result column="amount_cr_usd" property="amountCrUsd"/>
+        <result column="amount_cr_hkd" property="amountCrHkd"/>
+        <result column="amount_cr_vnd" property="amountCrVnd"/>
+        <result column="amount_cr_sgd" property="amountCrSgd"/>
+        <result column="amount_cr_loc" property="amountCrLoc"/>
         <result column="realamount_cr" property="realAmountCr"/>
+        <result column="realAmount_cr_usd" property="realAmountCrUsd"/>
+        <result column="realAmount_cr_hkd" property="realAmountCrHkd"/>
+        <result column="realAmount_cr_vnd" property="realAmountCrVnd"/>
+        <result column="realAmount_cr_sgd" property="realAmountCrSgd"/>
+        <result column="realAmount_cr_loc" property="realAmountCrLoc"/>
         <result column="amount_profit_loc" property="amountProfitLoc"/>
     </resultMap>
 
@@ -68,19 +84,35 @@
         seb.line_cn_name AS lineCnName,
         seb.carrier_cn_name AS carrierCnName,
         seb.operator_name AS operatorName,
-        seb.amount_dr_usd AS amountDrUsd,
-        seb.real_amount_dr_usd AS realAmountDrUsd,
         seb.amount_dr AS amountDr,
-        seb.real_amount_dr AS realAmountDr,
-        seb.amount_cr_usd AS amountCrUsd,
-        seb.real_amount_cr_usd AS realAmountCrUsd,
-        seb.amount_cr AS amountCr,
-        seb.real_amount_cr AS realAmountCr,
-        seb.amount_profit_loc AS amountProfitLoc,
+        seb.amount_dr_usd AS amountDrUsd,
+        seb.amount_dr_hkd AS amountDrHkd,
+        seb.amount_dr_vnd AS amountDrVnd,
+        seb.amount_dr_sgd AS amountDrSgd,
         seb.amount_dr_loc AS amountDrLoc,
+
+        seb.real_amount_dr AS realAmountDr,
+        seb.real_amount_dr_usd AS realAmountDrUsd,
+        seb.real_amount_dr_hkd AS realAmountDrHkd,
+        seb.real_amount_dr_vnd AS realAmountDrVnd,
+        seb.real_amount_dr_sgd AS realAmountDrSgd,
         seb.real_amount_dr_loc AS realAmountDrLoc,
+
+        seb.amount_cr AS amountCr,
+        seb.amount_cr_usd AS amountCrUsd,
+        seb.amount_cr_hkd AS amountCrHkd,
+        seb.amount_cr_vnd AS amountCrVnd,
+        seb.amount_cr_sgd AS amountCrSgd,
         seb.amount_cr_loc AS amountCrLoc,
+
+        seb.real_amount_cr AS realAmountCr,
+        seb.real_amount_cr_usd AS realAmountCrUsd,
+        seb.real_amount_cr_hkd AS realAmountCrHkd,
+        seb.real_amount_cr_vnd AS realAmountCrVnd,
+        seb.real_amount_cr_sgd AS realAmountCrSgd,
         seb.real_amount_cr_loc AS realAmountCrLoc,
+
+        seb.amount_profit_loc AS amountProfitLoc,
         seb.branch_name as branchId,
         seb.corp_source AS corpSource,
         seb.ocean_freight_dr AS oceanFreightDr,
@@ -195,19 +227,36 @@
         seb.line_cn_name AS lineCnName,
         seb.carrier_cn_name AS carrierCnName,
         seb.operator_name AS operatorName,
-        seb.amount_dr_usd AS amountDrUsd,
-        seb.real_amount_dr_usd AS realAmountDrUsd,
+
         seb.amount_dr AS amountDr,
-        seb.real_amount_dr AS realAmountDr,
-        seb.amount_cr_usd AS amountCrUsd,
-        seb.real_amount_cr_usd AS realAmountCrUsd,
-        seb.amount_cr AS amountCr,
-        seb.real_amount_cr AS realAmountCr,
-        seb.amount_profit_loc AS amountProfitLoc,
+        seb.amount_dr_usd AS amountDrUsd,
+        seb.amount_dr_hkd AS amountDrHkd,
+        seb.amount_dr_vnd AS amountDrVnd,
+        seb.amount_dr_sgd AS amountDrSgd,
         seb.amount_dr_loc AS amountDrLoc,
+
+        seb.real_amount_dr AS realAmountDr,
+        seb.real_amount_dr_usd AS realAmountDrUsd,
+        seb.real_amount_dr_hkd AS realAmountDrHkd,
+        seb.real_amount_dr_vnd AS realAmountDrVnd,
+        seb.real_amount_dr_sgd AS realAmountDrSgd,
         seb.real_amount_dr_loc AS realAmountDrLoc,
+
+        seb.amount_cr AS amountCr,
+        seb.amount_cr_usd AS amountCrUsd,
+        seb.amount_cr_hkd AS amountCrHkd,
+        seb.amount_cr_vnd AS amountCrVnd,
+        seb.amount_cr_sgd AS amountCrSgd,
         seb.amount_cr_loc AS amountCrLoc,
+
+        seb.real_amount_cr AS realAmountCr,
+        seb.real_amount_cr_usd AS realAmountCrUsd,
+        seb.real_amount_cr_hkd AS realAmountCrHkd,
+        seb.real_amount_cr_vnd AS realAmountCrVnd,
+        seb.real_amount_cr_sgd AS realAmountCrSgd,
         seb.real_amount_cr_loc AS realAmountCrLoc,
+
+        seb.amount_profit_loc AS amountProfitLoc,
         seb.branch_name as branchId,
         seb.corp_source AS corpSource,
         seb.ocean_freight_dr AS oceanFreightDr,

+ 2 - 2
blade-service/blade-system/src/main/java/org/springblade/system/feign/SysClient.java

@@ -278,14 +278,14 @@ public class SysClient implements ISysClient {
 
 	@Override
 	@GetMapping(GET_TENANT_IDS)
-	public List<String>  getTenantIds(String paramKey) {
+	public List<String> getTenantIds(String paramKey) {
 		return paramServiceService.getTenants(paramKey);
 	}
 
 	@Override
 	@GetMapping(PARAM_SERVICE_VALUE)
 	public String paramServiceValue(String tenantId, String paramKey) {
-		return paramServiceService.getParamServiceShippingFee(tenantId,paramKey);
+		return paramServiceService.getParamServiceShippingFee(tenantId, paramKey);
 	}
 
 	@Override