1、新增预结算单

2、新增正式结算单
3、调整IAM认证登录
This commit is contained in:
2026-08-18 21:31:59 +08:00
parent c8b8b59c50
commit 154cc4a7cb
53 changed files with 4517 additions and 13 deletions
@@ -0,0 +1,23 @@
/**
* 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>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.dto;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
/** 正式结算付款申请请求。 @author Chill */
@Data
public class FormalSettlementPaymentRequest implements Serializable {
@Serial private static final long serialVersionUID = 1L;
private Long id;
private BigDecimal appliedAmount;
private String remark;
}
@@ -0,0 +1,31 @@
/**
* 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>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.dto;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
/** 正式结算保存请求。 @author Chill */
@Data
public class FormalSettlementSaveRequest implements Serializable {
@Serial private static final long serialVersionUID = 1L;
private Long id;
private Long contractId;
private String settlementType;
private List<Long> sourcePreSettlementIds;
private List<Long> sourceDetailIds;
private LocalDate exchangeRateDate;
private BigDecimal exchangeRate;
private String attachmentsJson;
private String remark;
}
@@ -0,0 +1,21 @@
/**
* 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>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.dto;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/** 正式结算状态操作请求。 @author Chill */
@Data
public class FormalSettlementStatusRequest implements Serializable {
@Serial private static final long serialVersionUID = 1L;
private Long id;
private String reason;
}
@@ -0,0 +1,40 @@
/**
* 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>
* 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.math.BigDecimal;
/**
* 预结算预付申请请求
*
* @author Chill
*/
@Data
@Schema(description = "预结算预付申请请求")
public class PreSettlementAdvanceRequest implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "预结算单ID")
private Long preSettlementId;
@Schema(description = "申请预付金额")
private BigDecimal appliedAmount;
@Schema(description = "金蝶预付单号")
private String kingdeeAdvanceNo;
}
@@ -0,0 +1,77 @@
/**
* 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>
* 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.math.BigDecimal;
import java.util.List;
import java.util.Map;
/**
* 预结算明细调整请求
*
* @author Chill
*/
@Data
@Schema(description = "预结算明细调整请求")
public class PreSettlementDetailAdjustRequest implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "预结算明细ID")
private Long detailId;
@Schema(description = "调整原因")
private String changeReason;
@Schema(description = "明细费用行")
private List<FeeRow> rows;
@Data
@Schema(description = "明细费用行")
public static class FeeRow implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "费用快照ID")
private Long id;
@Schema(description = "运输总量")
private BigDecimal transportQuantity;
@Schema(description = "里程")
private BigDecimal mileage;
@Schema(description = "运输单价")
private BigDecimal unitPrice;
@Schema(description = "运费")
private BigDecimal freightAmount;
@Schema(description = "费用项目")
private Map<String, BigDecimal> feeItems;
@Schema(description = "结算金额(含税)")
private BigDecimal settlementAmountTax;
@Schema(description = "结算金额(不含税)")
private BigDecimal settlementAmountNoTax;
@Schema(description = "备注")
private String remark;
}
}
@@ -0,0 +1,99 @@
/**
* 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.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
/**
* 预结算单保存请求
*
* @author Chill
*/
@Data
@Schema(description = "预结算单保存请求")
public class PreSettlementSaveRequest implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "预结算单ID")
private Long id;
@Schema(description = "合同ID")
private Long contractId;
@Schema(description = "汇率日期")
private LocalDate exchangeRateDate;
@Schema(description = "结算汇率")
private BigDecimal exchangeRate;
@Schema(description = "附件JSON")
private String attachmentsJson;
@Schema(description = "备注")
private String remark;
@Schema(description = "应收应付明细ID")
private List<Long> sourceDetailIds;
@Schema(description = "结算合计费用")
private List<SummaryFee> summaryFees;
@Data
@Schema(description = "结算合计费用")
public static class SummaryFee implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "合计费用ID")
private Long id;
@Schema(description = "费用类型")
private String feeType;
@Schema(description = "费用项")
private String feeItem;
@Schema(description = "调整金额")
private BigDecimal adjustAmount;
@Schema(description = "备注")
private String remark;
@Schema(description = "是否手工添加")
private Integer manualFlag;
}
}
@@ -0,0 +1,42 @@
/**
* 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>
* 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 PreSettlementStatusRequest implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "预结算单ID")
private Long id;
@Schema(description = "操作原因")
private String reason;
@Schema(description = "当前节点")
private String currentNode;
@Schema(description = "当前处理人")
private String currentProcessor;
}
@@ -0,0 +1,65 @@
/**
* 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>
* 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;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* 正式结算单实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_formal_settlement")
@Schema(description = "正式结算单")
public class FormalSettlement extends TenantEntity {
@Serial private static final long serialVersionUID = 1L;
private String formalSettlementNo;
private String sourceType;
private String settlementType;
private Long projectId;
private String projectName;
private Long deptId;
private String deptName;
private Long contractId;
private String contractNo;
private String contractName;
private String payerName;
private String payeeName;
private String currency;
private BigDecimal settlementAmount;
private String localCurrency;
private BigDecimal localSettlementAmount;
private BigDecimal appliedPaymentAmount;
private BigDecimal paidAmount;
private LocalDate exchangeRateDate;
private BigDecimal exchangeRate;
private String invoiceStatus;
private String paymentStatus;
private String approvalStatus;
private String currentNode;
private String currentProcessor;
private String kingdeeBillNo;
private String kingdeeSyncStatus;
private String attachmentsJson;
private String remark;
private LocalDateTime approvedTime;
private LocalDateTime syncedTime;
private String voidReason;
}
@@ -0,0 +1,59 @@
/**
* 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>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 正式结算明细快照实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_formal_settlement_detail")
public class FormalSettlementDetail extends TenantEntity {
@Serial private static final long serialVersionUID = 1L;
private Long formalSettlementId;
private Long sourcePreSettlementId;
private Long sourcePreSettlementDetailId;
private Long sourceDetailId;
private Integer lineNo;
private String documentNo;
private Long waybillId;
private String waybillNo;
private String vehicleNo;
private String departureAddress;
private String arrivalAddress;
private LocalDateTime actualDepartureTime;
private LocalDateTime actualCompletionTime;
private String transportType;
private String cargoName;
private String cargoType;
private BigDecimal transportQuantity;
private String quantityUnit;
private BigDecimal mileage;
private String batchNo;
private BigDecimal unitPrice;
private BigDecimal freightAmount;
private String feeItemsJson;
private BigDecimal originalAmount;
private BigDecimal adjustAmount;
private BigDecimal settlementAmountTax;
private BigDecimal settlementAmountNoTax;
private String currency;
private String remark;
}
@@ -0,0 +1,45 @@
/**
* 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>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.math.BigDecimal;
/**
* 正式结算货物费用快照实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_formal_settlement_detail_fee")
public class FormalSettlementDetailFee extends TenantEntity {
@Serial private static final long serialVersionUID = 1L;
private Long formalSettlementDetailId;
private Long sourceFeeId;
private String lineNo;
private String cargoName;
private String cargoType;
private BigDecimal transportQuantity;
private String quantityUnit;
private BigDecimal mileage;
private BigDecimal unitPrice;
private BigDecimal freightAmount;
private String feeItemsJson;
private BigDecimal originalAmount;
private BigDecimal adjustAmount;
private BigDecimal settlementAmountTax;
private BigDecimal settlementAmountNoTax;
private String remark;
}
@@ -0,0 +1,37 @@
/**
* 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>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.math.BigDecimal;
/**
* 正式结算付款申请实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_formal_settlement_payment")
public class FormalSettlementPayment extends TenantEntity {
@Serial private static final long serialVersionUID = 1L;
private Long formalSettlementId;
private String paymentNo;
private String paymentType;
private BigDecimal appliedAmount;
private BigDecimal paidAmount;
private String billStatus;
private String kingdeeBillNo;
private String remark;
}
@@ -0,0 +1,35 @@
/**
* 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>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.math.BigDecimal;
/**
* 正式结算来源预结算实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_formal_settlement_source")
public class FormalSettlementSource extends TenantEntity {
@Serial private static final long serialVersionUID = 1L;
private Long formalSettlementId;
private Long preSettlementId;
private String preSettlementNo;
private BigDecimal settlementAmount;
private BigDecimal advanceAppliedAmount;
private BigDecimal advancePaidAmount;
}
@@ -0,0 +1,143 @@
/**
* 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;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* 预结算单实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_pre_settlement")
@Schema(description = "预结算单")
public class PreSettlement extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "预结算单号")
private String preSettlementNo;
@Schema(description = "来源")
private String sourceType;
@Schema(description = "结算类型:receivable/payable")
private String settlementType;
@Schema(description = "项目ID")
private Long projectId;
@Schema(description = "项目名称")
private String projectName;
@Schema(description = "所属组织ID")
private Long deptId;
@Schema(description = "所属组织")
private String deptName;
@Schema(description = "合同ID")
private Long contractId;
@Schema(description = "合同编号")
private String contractNo;
@Schema(description = "合同名称")
private String contractName;
@Schema(description = "付款方")
private String payerName;
@Schema(description = "收款方")
private String payeeName;
@Schema(description = "结算币种")
private String currency;
@Schema(description = "结算金额")
private BigDecimal settlementAmount;
@Schema(description = "本位币")
private String localCurrency;
@Schema(description = "本位币合计")
private BigDecimal localSettlementAmount;
@Schema(description = "汇率日期")
private LocalDate exchangeRateDate;
@Schema(description = "结算汇率")
private BigDecimal exchangeRate;
@Schema(description = "审核状态:draft/reviewing/approved/returned/voided")
private String approvalStatus;
@Schema(description = "当前节点")
private String currentNode;
@Schema(description = "当前处理人")
private String currentProcessor;
@Schema(description = "预付单号")
private String advanceNo;
@Schema(description = "申请预付金额")
private BigDecimal advanceAppliedAmount;
@Schema(description = "已付款金额")
private BigDecimal advancePaidAmount;
@Schema(description = "正式结算单号")
private String formalSettlementNo;
@Schema(description = "附件JSON")
private String attachmentsJson;
@Schema(description = "备注")
private String remark;
@Schema(description = "审核通过时间")
private LocalDateTime approvedTime;
@Schema(description = "正式结算时间")
private LocalDateTime formalSettledTime;
@Schema(description = "作废原因")
private String voidReason;
}
@@ -0,0 +1,58 @@
/**
* 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>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableField;
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;
import java.math.BigDecimal;
/**
* 预结算预付记录实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_pre_settlement_advance")
@Schema(description = "预结算预付记录")
public class PreSettlementAdvance extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "预结算单ID")
private Long preSettlementId;
@Schema(description = "预付单号")
private String advanceNo;
@Schema(description = "申请预付金额")
private BigDecimal appliedAmount;
@Schema(description = "已付款金额")
private BigDecimal paidAmount;
@Schema(description = "单据状态:reviewing/approved/paid/returned/voided")
private String billStatus;
@Schema(description = "金蝶预付单号")
private String kingdeeAdvanceNo;
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
}
@@ -0,0 +1,59 @@
/**
* 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>
* 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;
import java.time.LocalDateTime;
/**
* 预结算变更记录实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_pre_settlement_change_record")
@Schema(description = "预结算变更记录")
public class PreSettlementChangeRecord extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "预结算单ID")
private Long preSettlementId;
@Schema(description = "变更类型")
private String changeType;
@Schema(description = "行号")
private Integer lineNo;
@Schema(description = "操作类型")
private String operationType;
@Schema(description = "变更内容")
private String changeContent;
@Schema(description = "操作人")
private String operatorName;
@Schema(description = "变更原因")
private String changeReason;
@Schema(description = "变更时间")
private LocalDateTime changeTime;
}
@@ -0,0 +1,117 @@
/**
* 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>
* 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;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 预结算明细实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_pre_settlement_detail")
@Schema(description = "预结算明细")
public class PreSettlementDetail extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "预结算单ID")
private Long preSettlementId;
@Schema(description = "应收应付明细ID")
private Long sourceDetailId;
@Schema(description = "行号")
private Integer lineNo;
@Schema(description = "单据号")
private String documentNo;
@Schema(description = "运单ID")
private Long waybillId;
@Schema(description = "运单号")
private String waybillNo;
@Schema(description = "车号")
private String vehicleNo;
@Schema(description = "发货地址")
private String departureAddress;
@Schema(description = "到货地址")
private String arrivalAddress;
@Schema(description = "实际发货时间")
private LocalDateTime actualDepartureTime;
@Schema(description = "实际完成时间")
private LocalDateTime actualCompletionTime;
@Schema(description = "运输类型")
private String transportType;
@Schema(description = "货物名称")
private String cargoName;
@Schema(description = "货物类型")
private String cargoType;
@Schema(description = "运输总量")
private BigDecimal transportQuantity;
@Schema(description = "数量单位")
private String quantityUnit;
@Schema(description = "里程")
private BigDecimal mileage;
@Schema(description = "批次号")
private String batchNo;
@Schema(description = "运输单价")
private BigDecimal unitPrice;
@Schema(description = "运费")
private BigDecimal freightAmount;
@Schema(description = "费用项JSON")
private String feeItemsJson;
@Schema(description = "原金额")
private BigDecimal originalAmount;
@Schema(description = "调整金额")
private BigDecimal adjustAmount;
@Schema(description = "结算金额(含税)")
private BigDecimal settlementAmountTax;
@Schema(description = "结算金额(不含税)")
private BigDecimal settlementAmountNoTax;
@Schema(description = "币种")
private String currency;
@Schema(description = "备注")
private String remark;
}
@@ -0,0 +1,83 @@
/**
* 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>
* 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;
import java.math.BigDecimal;
/**
* 预结算明细费用快照实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_pre_settlement_detail_fee")
@Schema(description = "预结算明细费用快照")
public class PreSettlementDetailFee extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "预结算明细ID")
private Long preSettlementDetailId;
@Schema(description = "源费用行ID")
private Long sourceFeeId;
@Schema(description = "行号")
private String lineNo;
@Schema(description = "货物名称")
private String cargoName;
@Schema(description = "货物类型")
private String cargoType;
@Schema(description = "运输量")
private BigDecimal transportQuantity;
@Schema(description = "数量单位")
private String quantityUnit;
@Schema(description = "里程")
private BigDecimal mileage;
@Schema(description = "运输单价")
private BigDecimal unitPrice;
@Schema(description = "运费")
private BigDecimal freightAmount;
@Schema(description = "费用项JSON")
private String feeItemsJson;
@Schema(description = "原金额")
private BigDecimal originalAmount;
@Schema(description = "调整金额")
private BigDecimal adjustAmount;
@Schema(description = "结算金额(含税)")
private BigDecimal settlementAmountTax;
@Schema(description = "结算金额(不含税)")
private BigDecimal settlementAmountNoTax;
@Schema(description = "备注")
private String remark;
}
@@ -0,0 +1,62 @@
/**
* 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>
* 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;
import java.math.BigDecimal;
/**
* 预结算合计费用实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("blade_pre_settlement_summary_fee")
@Schema(description = "预结算合计费用")
public class PreSettlementSummaryFee extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "预结算单ID")
private Long preSettlementId;
@Schema(description = "行号")
private Integer lineNo;
@Schema(description = "费用类型")
private String feeType;
@Schema(description = "费用项")
private String feeItem;
@Schema(description = "原金额")
private BigDecimal originalAmount;
@Schema(description = "调整金额")
private BigDecimal adjustAmount;
@Schema(description = "结算金额")
private BigDecimal settlementAmount;
@Schema(description = "备注")
private String remark;
@Schema(description = "是否手工添加")
private Integer manualFlag;
}
@@ -0,0 +1,43 @@
/**
* 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>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.FormalSettlement;
import org.springblade.transport.pojo.entity.FormalSettlementDetail;
import org.springblade.transport.pojo.entity.FormalSettlementSource;
import org.springblade.transport.pojo.entity.FormalSettlementPayment;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.time.LocalDate;
import java.util.List;
/**
* 正式结算单视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class FormalSettlementVO extends FormalSettlement {
@Serial private static final long serialVersionUID = 1L;
@TableField(exist = false) @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate createStartDate;
@TableField(exist = false) @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate createEndDate;
@TableField(exist = false) private String createUserName;
@TableField(exist = false) private String approvalStatusName;
@TableField(exist = false) private String settlementTypeName;
@TableField(exist = false) private String preSettlementNos;
@TableField(exist = false) private String preSettlementNo;
@TableField(exist = false) private List<FormalSettlementSource> sources;
@TableField(exist = false) private List<FormalSettlementDetail> details;
@TableField(exist = false) private List<FormalSettlementPayment> payments;
}
@@ -0,0 +1,108 @@
/**
* 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 com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.PreSettlement;
import org.springblade.transport.pojo.entity.PreSettlementAdvance;
import org.springblade.transport.pojo.entity.PreSettlementChangeRecord;
import org.springblade.transport.pojo.entity.PreSettlementDetail;
import org.springblade.transport.pojo.entity.PreSettlementDetailFee;
import org.springblade.transport.pojo.entity.PreSettlementSummaryFee;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;
/**
* 预结算单视图实体类
*
* @author Chill
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "预结算单")
public class PreSettlementVO extends PreSettlement {
@Serial
private static final long serialVersionUID = 1L;
@TableField(exist = false)
@Schema(description = "生成开始日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate createStartDate;
@TableField(exist = false)
@Schema(description = "生成结束日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate createEndDate;
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
@TableField(exist = false)
@Schema(description = "审核状态名称")
private String approvalStatusName;
@TableField(exist = false)
@Schema(description = "结算类型名称")
private String settlementTypeName;
@TableField(exist = false)
@Schema(description = "结算明细")
private List<PreSettlementDetail> details;
@TableField(exist = false)
@Schema(description = "明细费用快照")
private Map<Long, List<PreSettlementDetailFee>> detailFees;
@TableField(exist = false)
@Schema(description = "结算合计")
private List<PreSettlementSummaryFee> summaryFees;
@TableField(exist = false)
@Schema(description = "预付信息")
private List<PreSettlementAdvance> advances;
@TableField(exist = false)
@Schema(description = "变更记录")
private List<PreSettlementChangeRecord> changeRecords;
@TableField(exist = false)
@Schema(description = "打印模板")
private List<Map<String, String>> printTemplates;
}