✨ 新增导入结算单,并修复运单超管组织过滤与计量单位软删恢复

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-16 00:56:54 +08:00
parent 0518bf94bf
commit d7bf82b159
23 changed files with 2639 additions and 17 deletions
@@ -0,0 +1,107 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
/**
* 导入结算单请求(列表筛选 + 确认/草稿入参)
*
* @author Chill
*/
@Data
@Schema(description = "导入结算单请求")
public class SettlementImportBatchRequest implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "主键")
private Long id;
@Schema(description = "批次号")
private String batchNo;
@Schema(description = "项目ID")
private Long projectId;
@Schema(description = "项目名称")
private String projectName;
@Schema(description = "结算类型 receivable/payable")
private String settlementType;
@Schema(description = "结算单类型 formal/pre,应收仅 formal")
private String settlementBillType;
@Schema(description = "客户合同ID")
private Long customerContractId;
@Schema(description = "客户合同名称")
private String customerContractName;
@Schema(description = "客户名称")
private String customerName;
@Schema(description = "承运商合同ID")
private Long carrierContractId;
@Schema(description = "承运商合同名称")
private String carrierContractName;
@Schema(description = "承运商名称")
private String carrierName;
@Schema(description = "运单模式:new=新运单,history=历史运单")
private String waybillMode;
@Schema(description = "导入状态")
private String importStatus;
@Schema(description = "备注")
private String remark;
@Schema(description = "动态费用列名")
private List<String> feeItemNames;
@Schema(description = "导入明细行")
private List<Map<String, Object>> rows;
@Schema(description = "分批追加")
private Boolean append;
@Schema(description = "列表筛选:项目名称")
private String projectNameLike;
@Schema(description = "列表筛选:创建人")
private Long createUser;
}
@@ -0,0 +1,51 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 导入结算单作废请求
*
* @author Chill
*/
@Data
@Schema(description = "导入结算单作废请求")
public class SettlementImportVoidRequest implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "批次主键")
private Long id;
@Schema(description = "作废原因")
private String reason;
}
@@ -0,0 +1,115 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
/**
* 导入结算单批次
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_settlement_import_batch")
@Schema(description = "导入结算单批次")
public class SettlementImportBatch extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "批次号")
private String batchNo;
@Schema(description = "项目ID")
private Long projectId;
@Schema(description = "项目名称")
private String projectName;
@Schema(description = "结算类型 receivable/payable")
private String settlementType;
@Schema(description = "结算单类型 formal/pre")
private String settlementBillType;
@Schema(description = "客户合同ID")
private Long customerContractId;
@Schema(description = "客户合同名称")
private String customerContractName;
@Schema(description = "客户名称")
private String customerName;
@Schema(description = "承运商合同ID")
private Long carrierContractId;
@Schema(description = "承运商合同名称")
private String carrierContractName;
@Schema(description = "承运商名称")
private String carrierName;
@Schema(description = "运单模式 new")
private String waybillMode;
@Schema(description = "导入状态 draft/completed/voided")
private String importStatus;
@Schema(description = "运单数量")
private Integer waybillCount;
@Schema(description = "明细数量")
private Integer detailCount;
@Schema(description = "正式结算单ID")
private Long formalSettlementId;
@Schema(description = "正式结算单号")
private String formalSettlementNo;
@Schema(description = "预结算单ID")
private Long preSettlementId;
@Schema(description = "预结算单号")
private String preSettlementNo;
@Schema(description = "动态费用列名JSON")
private String feeItemNamesJson;
@Schema(description = "备注")
private String remark;
@Schema(description = "关联运单导入批次ID")
private Long waybillImportBatchId;
}
@@ -249,6 +249,9 @@ public class Waybill extends TenantEntity {
@Schema(description = "导入批次ID")
private Long importBatchId;
@Schema(description = "导入结算单批次ID")
private Long settlementImportBatchId;
@Schema(description = "关联单号")
private String relationNo;
@@ -0,0 +1,69 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.SettlementImportBatch;
import java.io.Serial;
import java.util.List;
/**
* 导入结算单批次视图
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "导入结算单批次视图")
public class SettlementImportBatchVO extends SettlementImportBatch {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "创建人姓名")
private String createUserName;
@Schema(description = "更新人姓名")
private String updateUserName;
@Schema(description = "导入状态显示名")
private String importStatusName;
@Schema(description = "结算类型显示名")
private String settlementTypeName;
@Schema(description = "结算单类型显示名")
private String settlementBillTypeName;
@Schema(description = "运单模式显示名")
private String waybillModeName;
@Schema(description = "动态费用列名")
private List<String> feeItemNames;
}