> rows;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/dto/WaybillMileageRequest.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/dto/WaybillMileageRequest.java
new file mode 100644
index 0000000..fc78b14
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/dto/WaybillMileageRequest.java
@@ -0,0 +1,56 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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 WaybillMileageRequest implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "运单ID")
+ private Long id;
+
+ @Schema(description = "里程(公里)")
+ private BigDecimal mileage;
+
+ @Schema(description = "里程维护备注")
+ private String mileageRemark;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/BillLedger.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/BillLedger.java
new file mode 100644
index 0000000..bb95358
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/BillLedger.java
@@ -0,0 +1,42 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ */
+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.LocalDate;
+
+/** 汇票台账实体。 @author Chill */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("blade_bill_ledger")
+public class BillLedger extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private String billNo;
+ private Long issuerId;
+ private String issuerName;
+ private Long receiverId;
+ private String receiverName;
+ private String billType;
+ private BigDecimal faceAmount;
+ private BigDecimal availableBalance;
+ private LocalDate issueDate;
+ private LocalDate maturityDate;
+ private String availableDeptIdsJson;
+ private String availableDeptNames;
+ private Long feeBearerId;
+ private String feeBearerName;
+ private BigDecimal confirmedDiscountRate;
+ private String issuingBank;
+ private BigDecimal bankDiscountReferenceRate;
+ private BigDecimal estimatedDiscountFee;
+ private String attachmentsJson;
+ private String remark;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/BillLedgerUsage.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/BillLedgerUsage.java
new file mode 100644
index 0000000..b52c0a8
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/BillLedgerUsage.java
@@ -0,0 +1,29 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ */
+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_bill_ledger_usage")
+public class BillLedgerUsage extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private Long billLedgerId;
+ private Long paymentApplicationId;
+ private Long billPaymentId;
+ private String applicationNo;
+ private BigDecimal usedAmount;
+ private Long useDeptId;
+ private String useDeptName;
+ private String usageStatus;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/BillPayment.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/BillPayment.java
new file mode 100644
index 0000000..cf15e7f
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/BillPayment.java
@@ -0,0 +1,57 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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.LocalDate;
+
+/** 汇票付款实体。 @author Chill */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("blade_bill_payment")
+public class BillPayment extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private String paymentNo;
+ private Long billLedgerId;
+ private String billNo;
+ private BigDecimal faceAmount;
+ private BigDecimal availableBalance;
+ private BigDecimal usedAmount;
+ private Long deptId;
+ private String deptName;
+ private LocalDate paymentDate;
+ private String approvalStatus;
+ private String currentNode;
+ private String currentProcessor;
+ private String attachmentsJson;
+ private String remark;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CommonCargo.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CommonCargo.java
index 1a7a3ce..63ff868 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CommonCargo.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CommonCargo.java
@@ -22,6 +22,8 @@
*/
package org.springblade.transport.pojo.entity;
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -76,6 +78,7 @@ public class CommonCargo extends TenantEntity {
private String packageType;
@Schema(description = "货值")
+ @TableField(updateStrategy = FieldStrategy.ALWAYS)
private BigDecimal cargoValue;
@Schema(description = "规格")
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CommonRoute.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CommonRoute.java
index 54f4992..4671cb9 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CommonRoute.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CommonRoute.java
@@ -57,6 +57,15 @@ public class CommonRoute extends TenantEntity {
@Schema(description = "发货地")
private String departureName;
+ @Schema(description = "发货省ID")
+ private String departureProvinceId;
+
+ @Schema(description = "发货市ID")
+ private String departureCityId;
+
+ @Schema(description = "发货区ID")
+ private String departureDistrictId;
+
@Schema(description = "发货地址")
private String departureAddress;
@@ -78,6 +87,15 @@ public class CommonRoute extends TenantEntity {
@Schema(description = "收货地")
private String arrivalName;
+ @Schema(description = "收货省ID")
+ private String arrivalProvinceId;
+
+ @Schema(description = "收货市ID")
+ private String arrivalCityId;
+
+ @Schema(description = "收货区ID")
+ private String arrivalDistrictId;
+
@Schema(description = "收货地址")
private String arrivalAddress;
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ContractManage.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ContractManage.java
index 5ee249e..d56fec7 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ContractManage.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ContractManage.java
@@ -31,6 +31,7 @@ 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;
@@ -112,16 +113,42 @@ public class ContractManage extends TenantEntity {
@TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
private Integer copyCount;
+ @Schema(description = "结算币种")
+ private String settlementCurrency;
+
+ @Schema(description = "开票周期(天)")
+ @TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
+ private Integer invoiceCycle;
+
@Schema(description = "回款账期(天)")
@TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
private Integer paymentDays;
+ @Schema(description = "合同金额")
+ @TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
+ private BigDecimal contractAmount;
+
+ @Schema(description = "是否范本")
+ @TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
+ private Integer templateFlag;
+
+ @Schema(description = "原件合同编号")
+ @TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
+ private String originalContractNo;
+
+ @Schema(description = "是否电子章")
+ @TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
+ private Integer electronicSealFlag;
+
@Schema(description = "合同阶段")
private String contractStage;
@Schema(description = "审核状态")
private String approvalStatus;
+ @Schema(description = "归档状态:未归档/已归档")
+ private String archiveStatus;
+
@Schema(description = "当前节点")
private String currentNode;
@@ -134,18 +161,30 @@ public class ContractManage extends TenantEntity {
@Schema(description = "计费信息开关")
private Integer billingEnabled;
+ @Schema(description = "费用生成模式:system系统生成,manual账单导入生成")
+ private String feeGenerationMode;
+
@Schema(description = "合同主文件JSON")
private String contractFileJson;
@Schema(description = "其它附件JSON")
private String attachmentsJson;
- @Schema(description = "计费方案JSON")
+ @Schema(description = "计费方案JSON(含规则税率)")
private String billingPlanJson;
@Schema(description = "结算生成规则JSON")
private String settlementRuleJson;
+ @Schema(description = "预结算配置JSON")
+ private String preSettlementConfigJson;
+
+ @Schema(description = "正式结算配置JSON")
+ private String formalSettlementConfigJson;
+
+ @Schema(description = "付款比例设置JSON")
+ private String paymentRatioJson;
+
@Schema(description = "对账配置JSON")
private String reconciliationJson;
@@ -153,11 +192,17 @@ public class ContractManage extends TenantEntity {
private String changeRecordJson;
@Schema(description = "变更内容")
+ @TableField(updateStrategy = FieldStrategy.ALWAYS)
private String changeContent;
@Schema(description = "变更原因")
+ @TableField(updateStrategy = FieldStrategy.ALWAYS)
private String changeReason;
+ @Schema(description = "待审批变更附件JSON")
+ @TableField(updateStrategy = FieldStrategy.ALWAYS)
+ private String changeAttachmentsJson;
+
@Schema(description = "终止原因")
private String terminateReason;
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CreditScoreItem.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CreditScoreItem.java
index 98b27ba..576c731 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CreditScoreItem.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CreditScoreItem.java
@@ -72,6 +72,16 @@ public class CreditScoreItem extends TenantEntity {
*/
@Schema(description = "评分项目")
private String itemName;
+ /**
+ * 选项类型:option-选项,score-分值
+ */
+ @Schema(description = "选项类型:option-选项,score-分值")
+ private String optionType;
+ /**
+ * 分值模式基准数值
+ */
+ @Schema(description = "分值模式基准数值")
+ private BigDecimal baseValue;
/**
* 分值
*/
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CreditScoreItemOption.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CreditScoreItemOption.java
index 5ebce38..de5481b 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CreditScoreItemOption.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CreditScoreItemOption.java
@@ -67,6 +67,26 @@ public class CreditScoreItemOption extends TenantEntity {
*/
@Schema(description = "选项描述")
private String optionName;
+ /**
+ * 变化类型:increase-每增加,decrease-每减少
+ */
+ @Schema(description = "变化类型:increase-每增加,decrease-每减少")
+ private String changeType;
+ /**
+ * 变化数值
+ */
+ @Schema(description = "变化数值")
+ private BigDecimal changeValue;
+ /**
+ * 变化单位:%、件、次、项、天
+ */
+ @Schema(description = "变化单位:%、件、次、项、天")
+ private String changeUnit;
+ /**
+ * 分值类型:add-加,subtract-减
+ */
+ @Schema(description = "分值类型:add-加,subtract-减")
+ private String scoreType;
/**
* 分值
*/
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CustomerArchive.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CustomerArchive.java
index af2b719..0fc9777 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CustomerArchive.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CustomerArchive.java
@@ -61,6 +61,10 @@ public class CustomerArchive extends TenantEntity {
@Schema(description = "客商性质")
private String customerNature;
+ @Schema(description = "是否广西百强:0否,1是")
+ @TableField(updateStrategy = FieldStrategy.ALWAYS)
+ private Integer guangxiTop100;
+
@Schema(description = "统一社会信用代码")
private String unifiedCreditCode;
@@ -101,6 +105,10 @@ public class CustomerArchive extends TenantEntity {
@Schema(description = "经营范围")
private String businessScope;
+ @Schema(description = "网络货运平台:0否,1是")
+ @TableField(updateStrategy = FieldStrategy.ALWAYS)
+ private Integer networkFreightPlatform;
+
@Schema(description = "营业期限类型")
private String businessTermType;
@@ -122,9 +130,11 @@ public class CustomerArchive extends TenantEntity {
private String customerLevel;
@Schema(description = "最大资金使用额度(万元)")
+ @TableField(updateStrategy = FieldStrategy.ALWAYS)
private BigDecimal maxCreditLimit;
@Schema(description = "申请总资金使用额度(万元)")
+ @TableField(updateStrategy = FieldStrategy.ALWAYS)
private BigDecimal applyCreditLimit;
@Schema(description = "备注")
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CustomerCreditScoreDetail.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CustomerCreditScoreDetail.java
index 1e6fc4a..eae9a63 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CustomerCreditScoreDetail.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CustomerCreditScoreDetail.java
@@ -68,6 +68,15 @@ public class CustomerCreditScoreDetail extends TenantEntity {
@Schema(description = "评分项目")
private String itemName;
+ @Schema(description = "选项类型:option-选项,score-分值")
+ private String optionType;
+
+ @Schema(description = "分值模式基准数值")
+ private BigDecimal baseValue;
+
+ @Schema(description = "分值模式用户输入数值")
+ private BigDecimal scoreInput;
+
@Schema(description = "评分标准")
private String optionDescription;
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CustomerInvoiceContact.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CustomerInvoiceContact.java
new file mode 100644
index 0000000..c27d5e5
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CustomerInvoiceContact.java
@@ -0,0 +1,71 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+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_customer_invoice_contact")
+@Schema(description = "客商发票联系信息")
+public class CustomerInvoiceContact extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @JsonSerialize(using = ToStringSerializer.class)
+ @Schema(description = "发票信息ID")
+ private Long invoiceId;
+
+ @Schema(description = "联系人")
+ private String contactName;
+
+ @Schema(description = "联系电话")
+ private String contactPhone;
+
+ @Schema(description = "邮箱地址")
+ private String email;
+
+ @Schema(description = "所属部门ID集合")
+ private String deptIds;
+
+ @Schema(description = "所属部门")
+ private String deptNames;
+
+ @Schema(description = "备注")
+ private String remark;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CustomerInvoiceInfo.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CustomerInvoiceInfo.java
index 896a10c..e24a93a 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CustomerInvoiceInfo.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/CustomerInvoiceInfo.java
@@ -50,21 +50,15 @@ public class CustomerInvoiceInfo extends TenantEntity {
@Schema(description = "客商ID")
private Long customerId;
- @Schema(description = "受票方名称")
+ @Schema(description = "企业全称")
private String invoiceTitle;
- @Schema(description = "发票类型")
- private String invoiceType;
-
@Schema(description = "纳税人识别号")
private String taxNo;
@Schema(description = "开户行名称")
private String bankName;
- @Schema(description = "注册电话")
- private String registeredPhone;
-
@Schema(description = "银行账号")
private String bankAccount;
@@ -77,24 +71,6 @@ public class CustomerInvoiceInfo extends TenantEntity {
@Schema(description = "注册地址详细地址")
private String registeredDetailAddress;
- @Schema(description = "邮箱")
- private String email;
-
- @Schema(description = "收件人姓名")
- private String receiverName;
-
- @Schema(description = "收件人电话")
- private String receiverPhone;
-
- @Schema(description = "收件人地址")
- private String receiverAddress;
-
- @Schema(description = "收件人地址行政区划")
- private String receiverRegionName;
-
- @Schema(description = "收件人详细地址")
- private String receiverDetailAddress;
-
@Schema(description = "是否默认")
private Integer isDefault;
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/Driver.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/Driver.java
index a214768..1d13e2e 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/Driver.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/Driver.java
@@ -25,6 +25,8 @@
*/
package org.springblade.transport.pojo.entity;
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -88,6 +90,12 @@ public class Driver extends TenantEntity {
*/
@Schema(description = "详细地址")
private String address;
+ /**
+ * 驾驶车辆车牌号
+ */
+ @Schema(description = "驾驶车辆车牌号")
+ @TableField(updateStrategy = FieldStrategy.ALWAYS)
+ private String drivingVehicle;
/**
* 岗位,多个使用逗号分隔
*/
@@ -183,6 +191,11 @@ public class Driver extends TenantEntity {
*/
@Schema(description = "手机号")
private String mobile;
+ /**
+ * 关联系统用户ID
+ */
+ @Schema(description = "关联系统用户ID")
+ private Long userId;
/**
* 与联系人关系
*/
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlement.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlement.java
new file mode 100644
index 0000000..107b7a8
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlement.java
@@ -0,0 +1,67 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement obtained after purchasing a license from BladeX.
+ *
+ * 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 BigDecimal remainingPayableAmount;
+ private BigDecimal invoiceAmount;
+ 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;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementChangeRecord.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementChangeRecord.java
new file mode 100644
index 0000000..b3834bc
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementChangeRecord.java
@@ -0,0 +1,31 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * 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.time.LocalDateTime;
+
+/** 正式结算变更记录。 @author Chill */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("blade_formal_settlement_change_record")
+public class FormalSettlementChangeRecord extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private Long formalSettlementId;
+ private String changeType;
+ private Integer lineNo;
+ private String operationType;
+ private String changeContent;
+ private String changeReason;
+ private String operatorName;
+ private LocalDateTime changeTime;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementDetail.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementDetail.java
new file mode 100644
index 0000000..bf3cda8
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementDetail.java
@@ -0,0 +1,63 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement obtained after purchasing a license from BladeX.
+ *
+ * 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 String departureContact;
+ private String departurePhone;
+ private String arrivalContact;
+ private String arrivalPhone;
+ 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;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementDetailFee.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementDetailFee.java
new file mode 100644
index 0000000..b7e5892
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementDetailFee.java
@@ -0,0 +1,45 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement obtained after purchasing a license from BladeX.
+ *
+ * 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;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementInvoice.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementInvoice.java
new file mode 100644
index 0000000..ad5c626
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementInvoice.java
@@ -0,0 +1,42 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement obtained after purchasing a license from BladeX.
+ *
+ * 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;
+
+/**
+ * 正式结算发票明细实体类
+ *
+ * @author Chill
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("blade_formal_settlement_invoice")
+@Schema(description = "正式结算发票明细")
+public class FormalSettlementInvoice extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private Long formalSettlementId;
+ private Integer lineNo;
+ private String invoiceNo;
+ private LocalDate invoiceDate;
+ private String invoiceType;
+ private BigDecimal taxRate;
+ private BigDecimal invoiceAmount;
+ private BigDecimal availableInvoiceAmount;
+ private BigDecimal matchedAmount;
+ private String attachmentJson;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementPayment.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementPayment.java
new file mode 100644
index 0000000..962f7ad
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementPayment.java
@@ -0,0 +1,37 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement obtained after purchasing a license from BladeX.
+ *
+ * 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;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementSource.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementSource.java
new file mode 100644
index 0000000..1f0569b
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementSource.java
@@ -0,0 +1,35 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement obtained after purchasing a license from BladeX.
+ *
+ * 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;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementSummaryFee.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementSummaryFee.java
new file mode 100644
index 0000000..9292f68
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementSummaryFee.java
@@ -0,0 +1,40 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement obtained after purchasing a license from BladeX.
+ *
+ * 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_formal_settlement_summary_fee")
+@Schema(description = "正式结算合计费用")
+public class FormalSettlementSummaryFee extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private Long formalSettlementId;
+ private Integer lineNo;
+ private String feeType;
+ private String feeItem;
+ private BigDecimal originalAmount;
+ private BigDecimal adjustAmount;
+ private BigDecimal settlementAmount;
+ private String remark;
+ private Integer manualFlag;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InsuranceOcrTemplate.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InsuranceOcrTemplate.java
new file mode 100644
index 0000000..a67969d
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InsuranceOcrTemplate.java
@@ -0,0 +1,65 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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;
+
+/**
+ * 保险OCR识别模板实体类。
+ *
+ * @author Chill
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("blade_insurance_ocr_template")
+@Schema(description = "保险OCR识别模板")
+public class InsuranceOcrTemplate extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /** 模板名称。 */
+ @Schema(description = "模板名称")
+ private String name;
+
+ /** 车船类型:车辆/船舶。 */
+ @TableField("vehicle_type")
+ @Schema(description = "车船类型:车辆/船舶")
+ private String vehicleType;
+
+ /** 字段映射配置JSON。 */
+ @TableField("mapping_config")
+ @Schema(description = "字段映射配置JSON")
+ private String mappingConfig;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceApplication.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceApplication.java
new file mode 100644
index 0000000..bf03a3c
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceApplication.java
@@ -0,0 +1,83 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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_invoice_application")
+@Schema(description = "开票申请")
+public class InvoiceApplication extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private String applicationNo;
+ private Long projectId;
+ private String projectName;
+ private Long deptId;
+ private String deptName;
+ private String issuerName;
+ private Long receiverCustomerId;
+ private String receiverName;
+ private String invoiceType;
+ private BigDecimal availableInvoiceAmount;
+ private BigDecimal invoiceAmount;
+ private LocalDate applicationDate;
+ private String applicantName;
+ private Long undertakingDeptId;
+ private String undertakingDeptName;
+ private String departmentEmails;
+ private Long receiverInvoiceInfoId;
+ private String taxpayerNo;
+ private String bankName;
+ private String bankAccount;
+ private String registeredAddress;
+ private String contactName;
+ private String contactPhone;
+ private String email;
+ private String approvalStatus;
+ private String currentNode;
+ private String currentProcessor;
+ private String kingdeeBillNo;
+ private String kingdeeStatus;
+ private LocalDateTime syncedTime;
+ private String attachmentsJson;
+ private String remark;
+ private String voidReason;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceApplicationDetail.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceApplicationDetail.java
new file mode 100644
index 0000000..4410493
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceApplicationDetail.java
@@ -0,0 +1,68 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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_invoice_application_detail")
+public class InvoiceApplicationDetail extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private Long invoiceApplicationId;
+ private Long formalSettlementId;
+ private Long formalSettlementDetailId;
+ private Integer lineNo;
+ private String documentNo;
+ 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 freightAmount;
+ private String feeItemsJson;
+ private BigDecimal settlementAmountTax;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceApplicationLine.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceApplicationLine.java
new file mode 100644
index 0000000..30ded9f
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceApplicationLine.java
@@ -0,0 +1,60 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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_invoice_application_line")
+public class InvoiceApplicationLine extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private Long invoiceApplicationId;
+ private Long invoiceSheetId;
+ private Integer lineNo;
+ private String goodsCategory;
+ private String goodsName;
+ private String unit;
+ private BigDecimal quantity;
+ private BigDecimal unitPriceNoTax;
+ private BigDecimal amountNoTax;
+ private BigDecimal amountWithTax;
+ private BigDecimal taxRate;
+ private BigDecimal taxAmount;
+ private BigDecimal totalAmount;
+ private String remark;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceApplicationRecord.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceApplicationRecord.java
new file mode 100644
index 0000000..8a411bd
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceApplicationRecord.java
@@ -0,0 +1,53 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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;
+
+/**
+ * 开票申请操作记录实体类
+ *
+ * @author Chill
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("blade_invoice_application_record")
+public class InvoiceApplicationRecord extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private Long invoiceApplicationId;
+ private String actionType;
+ private String actionName;
+ private String fromStatus;
+ private String toStatus;
+ private String operatorName;
+ private String reason;
+ private String kingdeeBillNo;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceApplicationSettlement.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceApplicationSettlement.java
new file mode 100644
index 0000000..57a0339
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceApplicationSettlement.java
@@ -0,0 +1,52 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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_invoice_application_settlement")
+public class InvoiceApplicationSettlement extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private Long invoiceApplicationId;
+ private Long formalSettlementId;
+ private String formalSettlementNo;
+ private BigDecimal settlementAmount;
+ private BigDecimal availableInvoiceAmount;
+ private BigDecimal allocatedInvoiceAmount;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceApplicationSheet.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceApplicationSheet.java
new file mode 100644
index 0000000..8550946
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceApplicationSheet.java
@@ -0,0 +1,49 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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_invoice_application_sheet")
+public class InvoiceApplicationSheet extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private Long invoiceApplicationId;
+ private Integer sheetNo;
+ private BigDecimal invoiceAmount;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceReceipt.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceReceipt.java
new file mode 100644
index 0000000..67859e1
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceReceipt.java
@@ -0,0 +1,83 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+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;
+
+/**
+ * 收票登记实体类
+ *
+ * @author Chill
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("blade_invoice_receipt")
+@Schema(description = "收票登记")
+public class InvoiceReceipt extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long kingdeeInvoicePoolId;
+ private String invoiceNo;
+ private LocalDate invoiceDate;
+ private String invoiceType;
+ private BigDecimal taxRate;
+ private BigDecimal invoiceAmount;
+ private BigDecimal taxAmount;
+ private String receiverName;
+ private String issuerName;
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long projectId;
+ private String projectName;
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long deptId;
+ private String deptName;
+ private String payerName;
+ private String payeeName;
+ private String bankName;
+ private String bankAccount;
+ private String issuingBank;
+ private String phone;
+ private String customerEmails;
+ private String departmentEmails;
+ private String approvalStatus;
+ private String currentNode;
+ private String currentProcessor;
+ private String kingdeeBillNo;
+ private String kingdeeStatus;
+ private String attachmentsJson;
+ private String remark;
+ private String voidReason;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceReceiptRecord.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceReceiptRecord.java
new file mode 100644
index 0000000..6e50246
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceReceiptRecord.java
@@ -0,0 +1,58 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+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_invoice_receipt_record")
+@Schema(description = "收票登记操作记录")
+public class InvoiceReceiptRecord extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long invoiceReceiptId;
+ private String actionType;
+ private String actionName;
+ private String fromStatus;
+ private String toStatus;
+ private String operatorName;
+ private String reason;
+ private String kingdeeBillNo;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceReceiptSettlement.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceReceiptSettlement.java
new file mode 100644
index 0000000..4f19d2d
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/InvoiceReceiptSettlement.java
@@ -0,0 +1,58 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+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_invoice_receipt_settlement")
+@Schema(description = "收票登记结算单分摊")
+public class InvoiceReceiptSettlement extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long invoiceReceiptId;
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long formalSettlementId;
+ private String formalSettlementNo;
+ private BigDecimal settlementAmount;
+ private BigDecimal receivedInvoiceAmount;
+ private BigDecimal allocatedInvoiceAmount;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/KingdeeInvoicePool.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/KingdeeInvoicePool.java
new file mode 100644
index 0000000..261110c
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/KingdeeInvoicePool.java
@@ -0,0 +1,68 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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_kingdee_invoice_pool")
+@Schema(description = "金蝶进项发票票据池镜像")
+public class KingdeeInvoicePool extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private String invoiceNo;
+ private LocalDate invoiceDate;
+ private String invoiceType;
+ private BigDecimal taxRate;
+ private BigDecimal invoiceAmount;
+ private BigDecimal taxAmount;
+ private String receiverName;
+ private String issuerName;
+ private String bankName;
+ private String bankAccount;
+ private String issuingBank;
+ private String phone;
+ private String customerEmails;
+ private String departmentEmails;
+ private String kingdeeBillNo;
+ private String kingdeeStatus;
+ private String attachmentsJson;
+ private LocalDateTime sourceUpdatedTime;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/KingdeeReceiptFlow.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/KingdeeReceiptFlow.java
new file mode 100644
index 0000000..79b75c1
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/KingdeeReceiptFlow.java
@@ -0,0 +1,64 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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_kingdee_receipt_flow")
+@Schema(description = "金蝶收款流水镜像")
+public class KingdeeReceiptFlow extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ private String receiptNoticeNo;
+ private String payerName;
+ private BigDecimal receiptAmount;
+ private String counterpartyName;
+ private String counterpartyAccount;
+ private String counterpartyBank;
+ private String summary;
+ private LocalDateTime transactionTime;
+ private String detailSerialNo;
+ private BigDecimal claimedAmount;
+ private String claimStatus;
+ private LocalDateTime sourceUpdatedTime;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/LoadingManage.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/LoadingManage.java
index 2488c5f..6393fc0 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/LoadingManage.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/LoadingManage.java
@@ -80,6 +80,9 @@ public class LoadingManage extends TenantEntity {
@Schema(description = "承运商")
private String carrierName;
+ @Schema(description = "承运商合同ID")
+ private Long carrierContractId;
+
@Schema(description = "发货地址")
private String departureAddress;
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/MaintenanceRecord.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/MaintenanceRecord.java
index e67742d..34d88f1 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/MaintenanceRecord.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/MaintenanceRecord.java
@@ -25,6 +25,8 @@
*/
package org.springblade.transport.pojo.entity;
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -108,6 +110,7 @@ public class MaintenanceRecord extends TenantEntity {
* 里程/航程数
*/
@Schema(description = "里程/航程数")
+ @TableField(updateStrategy = FieldStrategy.ALWAYS)
private BigDecimal mileage;
/**
* 里程单位
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/MileageRecord.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/MileageRecord.java
index 2fbbdfe..1962d53 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/MileageRecord.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/MileageRecord.java
@@ -48,10 +48,10 @@ public class MileageRecord extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
- @Schema(description = "车船类型")
+ @Schema(description = "车辆类型")
private String vehicleType;
- @Schema(description = "车牌号/船号")
+ @Schema(description = "车牌号")
private String vehicleNo;
@Schema(description = "上月统计里程")
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PaymentApplication.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PaymentApplication.java
new file mode 100644
index 0000000..1d6d033
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PaymentApplication.java
@@ -0,0 +1,76 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments from this software for such purposes.
+ * Copyright of this software remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is not liable for any claims arising from secondary or illegal development.
+ *
+ * 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.LocalDate;
+
+/** 付款申请实体。 @author Chill */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("blade_payment_application")
+public class PaymentApplication extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private String paymentNo;
+ private String paymentType;
+ private Long settlementId;
+ private String settlementNo;
+ private Long preSettlementId;
+ private String preSettlementNo;
+ 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 BigDecimal settlementAmount;
+ private BigDecimal payableAmount;
+ private String billType;
+ private BigDecimal paymentRatio;
+ private BigDecimal appliedAmount;
+ private String paymentMethod;
+ private Long billLedgerId;
+ private String billNo;
+ private Long receiptAccountId;
+ private String receiptAccountName;
+ private String bankName;
+ private String bankAccount;
+ private String applicantName;
+ private LocalDate applyDate;
+ private String invoiceStatus;
+ private BigDecimal matchedInvoiceAmount;
+ private BigDecimal paidAmount;
+ private String approvalStatus;
+ private String currentNode;
+ private String currentProcessor;
+ private String kingdeeBillNo;
+ private String kingdeeStatus;
+ private String attachmentsJson;
+ private String remark;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PaymentApplicationInvoice.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PaymentApplicationInvoice.java
new file mode 100644
index 0000000..9a6ffdb
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PaymentApplicationInvoice.java
@@ -0,0 +1,47 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments from this software for such purposes.
+ * Copyright of this software remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is not liable for any claims arising from secondary or illegal development.
+ *
+ * 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.LocalDate;
+
+/** 付款申请发票明细。 @author Chill */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("blade_payment_application_invoice")
+public class PaymentApplicationInvoice extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private Long paymentApplicationId;
+ private Integer lineNo;
+ private String settlementNo;
+ private String invoiceNo;
+ private LocalDate invoiceDate;
+ private String invoiceType;
+ private BigDecimal taxRate;
+ private BigDecimal invoiceAmount;
+ private BigDecimal matchedAmount;
+ private String attachmentJson;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PaymentApplicationRecord.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PaymentApplicationRecord.java
new file mode 100644
index 0000000..1c5c1af
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PaymentApplicationRecord.java
@@ -0,0 +1,43 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments from this software for such purposes.
+ * Copyright of this software remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is not liable for any claims arising from secondary or illegal development.
+ *
+ * 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.LocalDate;
+
+/** 付款申请付款记录。 @author Chill */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("blade_payment_application_record")
+public class PaymentApplicationRecord extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private Long paymentApplicationId;
+ private BigDecimal paidAmount;
+ private LocalDate paidDate;
+ private String paymentNo;
+ private String voucherJson;
+ private String kingdeeBillNo;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PaymentApplicationSettlement.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PaymentApplicationSettlement.java
new file mode 100644
index 0000000..0f4dd8a
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PaymentApplicationSettlement.java
@@ -0,0 +1,23 @@
+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;
+
+/** 付款申请关联正式结算单。 */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("blade_payment_application_settlement")
+public class PaymentApplicationSettlement extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private Long paymentApplicationId;
+ private Long formalSettlementId;
+ private String formalSettlementNo;
+ private BigDecimal settlementAmount;
+ private BigDecimal appliedAmount;
+ private BigDecimal paidAmount;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PreSettlement.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PreSettlement.java
new file mode 100644
index 0000000..7181170
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PreSettlement.java
@@ -0,0 +1,143 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PreSettlementAdvance.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PreSettlementAdvance.java
new file mode 100644
index 0000000..45e2e17
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PreSettlementAdvance.java
@@ -0,0 +1,58 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 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;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PreSettlementChangeRecord.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PreSettlementChangeRecord.java
new file mode 100644
index 0000000..1322073
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PreSettlementChangeRecord.java
@@ -0,0 +1,65 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 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 = "变更前数据JSON")
+ private String beforeData;
+
+ @Schema(description = "变更后数据JSON")
+ private String afterData;
+
+ @Schema(description = "操作人")
+ private String operatorName;
+
+ @Schema(description = "变更原因")
+ private String changeReason;
+
+ @Schema(description = "变更时间")
+ private LocalDateTime changeTime;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PreSettlementDetail.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PreSettlementDetail.java
new file mode 100644
index 0000000..2539ca0
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PreSettlementDetail.java
@@ -0,0 +1,129 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 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 String departureContact;
+
+ @Schema(description = "发货联系方式")
+ private String departurePhone;
+
+ @Schema(description = "收货联系人")
+ private String arrivalContact;
+
+ @Schema(description = "收货联系方式")
+ private String arrivalPhone;
+
+ @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;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PreSettlementDetailFee.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PreSettlementDetailFee.java
new file mode 100644
index 0000000..ea2e0da
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PreSettlementDetailFee.java
@@ -0,0 +1,88 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 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_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 = "命中计费规则JSON")
+ @TableField(exist = false)
+ private String billingRulesJson;
+
+ @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;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PreSettlementSummaryFee.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PreSettlementSummaryFee.java
new file mode 100644
index 0000000..aa64ad3
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/PreSettlementSummaryFee.java
@@ -0,0 +1,62 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 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;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ProjectApply.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ProjectApply.java
index f2c7dd5..5526da8 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ProjectApply.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ProjectApply.java
@@ -22,6 +22,8 @@
*/
package org.springblade.transport.pojo.entity;
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -87,15 +89,18 @@ public class ProjectApply extends TenantEntity {
private BigDecimal receivableLimit;
@Schema(description = "应收账款回款期限(天)")
+ @TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
private Integer receivableDays;
@Schema(description = "回款账期(天)")
+ @TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
private Integer paymentDays;
@Schema(description = "货物类型")
private String cargoType;
@Schema(description = "预估货物数量")
+ @TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
private String cargoQuantity;
@Schema(description = "业务周期开始日期")
@@ -113,13 +118,23 @@ public class ProjectApply extends TenantEntity {
@Schema(description = "业务类型")
private String businessType;
+ @Schema(description = "业务模式")
+ private String businessMode;
+
@Schema(description = "项目规模(万元)")
+ @TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
private BigDecimal projectScale;
@Schema(description = "预计利润(万元)")
+ @TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
private BigDecimal estimatedProfit;
+ @Schema(description = "利润率(%)")
+ @TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
+ private BigDecimal profitRate;
+
@Schema(description = "资金需求(万元)")
+ @TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
private BigDecimal fundDemand;
@Schema(description = "结算方式")
@@ -155,6 +170,10 @@ public class ProjectApply extends TenantEntity {
@Schema(description = "项目附件JSON")
private String attachmentsJson;
+ @Schema(description = "变更记录JSON")
+ @TableField(value = "change_record_json", insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
+ private String changeRecordJson;
+
@Schema(description = "审批状态")
private String approvalStatus;
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ReceiptClaim.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ReceiptClaim.java
new file mode 100644
index 0000000..fc7f786
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ReceiptClaim.java
@@ -0,0 +1,74 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+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_receipt_claim")
+@Schema(description = "收款流水认领")
+public class ReceiptClaim extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long receiptFlowId;
+ private BigDecimal claimAmount;
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long claimerId;
+ private String claimerName;
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long claimerDeptId;
+ private String claimerDeptName;
+ private LocalDate claimDate;
+ private String attachmentsJson;
+ private String remark;
+ private String claimStatus;
+ private String kingdeeBillNo;
+ private String kingdeeBillStatus;
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long voidedBy;
+ private String voidedByName;
+ private LocalDateTime voidedTime;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ReceiptClaimSettlement.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ReceiptClaimSettlement.java
new file mode 100644
index 0000000..44df9c6
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ReceiptClaimSettlement.java
@@ -0,0 +1,63 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+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_receipt_claim_settlement")
+@Schema(description = "收款认领结算单分摊")
+public class ReceiptClaimSettlement extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long receiptClaimId;
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long receiptFlowId;
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long formalSettlementId;
+ private String formalSettlementNo;
+ private BigDecimal settlementAmount;
+ private BigDecimal claimedReceiptAmount;
+ private BigDecimal allocatedReceiptAmount;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ReceiptFlowRecord.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ReceiptFlowRecord.java
new file mode 100644
index 0000000..2fbe069
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ReceiptFlowRecord.java
@@ -0,0 +1,64 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+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_receipt_flow_record")
+@Schema(description = "收款流水操作留痕")
+public class ReceiptFlowRecord extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long receiptFlowId;
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long receiptClaimId;
+ private String actionType;
+ private String actionName;
+ private String fromStatus;
+ private String toStatus;
+ private BigDecimal operationAmount;
+ private String operatorName;
+ private String content;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ReceivablePayableCargoFee.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ReceivablePayableCargoFee.java
index 151fd87..8c6acb2 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ReceivablePayableCargoFee.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ReceivablePayableCargoFee.java
@@ -54,6 +54,9 @@ public class ReceivablePayableCargoFee extends TenantEntity {
@Schema(description = "行号")
private String lineNo;
+ @Schema(description = "来源:自动生成/手动录入")
+ private String dataSource;
+
@Schema(description = "货物名称")
private String cargoName;
@@ -66,12 +69,15 @@ public class ReceivablePayableCargoFee extends TenantEntity {
@Schema(description = "型号")
private String model;
- @Schema(description = "运费计费要素")
+ @Schema(description = "计费要素")
private String billingFactor;
- @Schema(description = "运费计费类型")
+ @Schema(description = "计费类型")
private String billingType;
+ @Schema(description = "命中计费规则JSON")
+ private String billingRulesJson;
+
@Schema(description = "运输量")
private BigDecimal transportQuantity;
@@ -105,4 +111,7 @@ public class ReceivablePayableCargoFee extends TenantEntity {
@Schema(description = "备注")
private String remark;
+ @Schema(description = "变更原因")
+ private String changeReason;
+
}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ReceivablePayableDetail.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ReceivablePayableDetail.java
index d793650..9742bbe 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ReceivablePayableDetail.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ReceivablePayableDetail.java
@@ -82,6 +82,24 @@ public class ReceivablePayableDetail extends TenantEntity {
@Schema(description = "来源")
private String sourceType;
+ @Schema(description = "发货地址")
+ private String departureAddress;
+
+ @Schema(description = "收货地址")
+ private String arrivalAddress;
+
+ @Schema(description = "发货联系人")
+ private String departureContact;
+
+ @Schema(description = "发货联系方式")
+ private String departurePhone;
+
+ @Schema(description = "收货联系人")
+ private String arrivalContact;
+
+ @Schema(description = "收货联系方式")
+ private String arrivalPhone;
+
@Schema(description = "预结算单号")
private String preSettlementNo;
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/SettlementAdjustment.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/SettlementAdjustment.java
new file mode 100644
index 0000000..2b7834a
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/SettlementAdjustment.java
@@ -0,0 +1,36 @@
+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;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("blade_settlement_adjustment")
+public class SettlementAdjustment extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private String adjustmentNo;
+ private Long formalSettlementId;
+ private String formalSettlementNo;
+ private String settlementType;
+ private String projectName;
+ private String deptName;
+ private String customerName;
+ private String contractNo;
+ private String contractName;
+ private BigDecimal adjustmentAmount;
+ private BigDecimal originalSettlementAmount;
+ private BigDecimal adjustedSettlementAmount;
+ private String approvalStatus;
+ private String currentNode;
+ private String currentProcessor;
+ private String kingdeeSyncStatus;
+ private String attachmentsJson;
+ private String remark;
+ private LocalDateTime approvedTime;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/SettlementAdjustmentDetail.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/SettlementAdjustmentDetail.java
new file mode 100644
index 0000000..bda96fa
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/SettlementAdjustmentDetail.java
@@ -0,0 +1,25 @@
+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;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("blade_settlement_adjustment_detail")
+public class SettlementAdjustmentDetail extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private Long adjustmentId;
+ private Long formalSettlementDetailId;
+ private Long formalSettlementDetailFeeId;
+ private String feeType;
+ private String feeItem;
+ private BigDecimal originalAmountTax;
+ private BigDecimal adjustmentAmountTax;
+ private BigDecimal adjustmentAmountNoTax;
+ private String remark;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportPlan.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportPlan.java
index 13c173e..a25519c 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportPlan.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportPlan.java
@@ -145,4 +145,10 @@ public class TransportPlan extends TenantEntity {
@Schema(description = "备注")
private String remark;
+ @Schema(description = "里程(km)")
+ private java.math.BigDecimal mileage;
+
+ @Schema(description = "同一计划标识号")
+ private String planGroupId;
+
}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportReconciliation.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportReconciliation.java
new file mode 100644
index 0000000..4aa5738
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportReconciliation.java
@@ -0,0 +1,69 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
Use of this software is governed by the Commercial License Agreement obtained after purchasing a license from BladeX.
+ * 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_transport_reconciliation")
+@Schema(description = "运输对账单")
+public class TransportReconciliation extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private String reconciliationNo;
+ private Long formalSettlementId;
+ private String formalSettlementNo;
+ private String preSettlementNos;
+ private String settlementType;
+ private String reconciliationMode;
+ private Long projectId;
+ private String projectName;
+ private Long deptId;
+ private String deptName;
+ private Long contractId;
+ private String contractNo;
+ private String contractName;
+ private String customerName;
+ private String payerName;
+ private String payeeName;
+ private String currency;
+ private BigDecimal settlementAmount;
+ private BigDecimal paidAmount;
+ private Long reconcilerId;
+ private String reconcilerName;
+ private LocalDate reconciliationDate;
+ private String reconciliationStatus;
+ private String matchStatus;
+ private Integer internalBillCount;
+ private Integer externalBillCount;
+ private Integer differenceCount;
+ private BigDecimal internalQuantity;
+ private BigDecimal externalQuantity;
+ private BigDecimal differenceQuantity;
+ private BigDecimal internalAmount;
+ private BigDecimal externalAmount;
+ private BigDecimal differenceAmount;
+ private Integer matchedCount;
+ private Integer unmatchedCount;
+ private Boolean billUpdated;
+ private LocalDateTime completedTime;
+ private String remark;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportReconciliationChangeRecord.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportReconciliationChangeRecord.java
new file mode 100644
index 0000000..dd2618b
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportReconciliationChangeRecord.java
@@ -0,0 +1,39 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ * Use of this software is governed by the Commercial License Agreement obtained after purchasing a license from BladeX.
+ * 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_transport_reconciliation_change_record")
+public class TransportReconciliationChangeRecord extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private Long reconciliationId;
+ private Long internalDetailId;
+ private Long formalSettlementId;
+ private Long formalSettlementDetailId;
+ private Long sourceDetailId;
+ private String documentNo;
+ private String cargoName;
+ private BigDecimal beforeAmount;
+ private BigDecimal afterAmount;
+ private String beforeDataJson;
+ private String afterDataJson;
+ private Long operatorId;
+ private String operatorName;
+ private LocalDateTime changeTime;
+ private String changeReason;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportReconciliationExternal.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportReconciliationExternal.java
new file mode 100644
index 0000000..353febe
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportReconciliationExternal.java
@@ -0,0 +1,49 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ * Use of this software is governed by the Commercial License Agreement obtained after purchasing a license from BladeX.
+ * 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_transport_reconciliation_external")
+public class TransportReconciliationExternal extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private Long reconciliationId;
+ private Integer externalLineNo;
+ 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 String specification;
+ private String model;
+ private BigDecimal transportQuantity;
+ private String quantityUnit;
+ private BigDecimal mileage;
+ private String batchNo;
+ private BigDecimal unitPrice;
+ private BigDecimal freightAmount;
+ private String feeItemsJson;
+ private BigDecimal settlementAmount;
+ private Boolean suspectedDuplicate;
+ private String matchStatus;
+ private Long matchedInternalId;
+ private String errorMessage;
+ private String rawDataJson;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportReconciliationInternal.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportReconciliationInternal.java
new file mode 100644
index 0000000..4ea0058
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportReconciliationInternal.java
@@ -0,0 +1,55 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ * Use of this software is governed by the Commercial License Agreement obtained after purchasing a license from BladeX.
+ * 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_transport_reconciliation_internal")
+public class TransportReconciliationInternal extends TenantEntity {
+ @Serial private static final long serialVersionUID = 1L;
+ private Long reconciliationId;
+ private Long formalSettlementDetailId;
+ private Long formalSettlementDetailFeeId;
+ private Long sourceDetailId;
+ private Long sourceCargoFeeId;
+ private Integer lineNo;
+ private String documentNo;
+ 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 String specification;
+ private String model;
+ private BigDecimal transportQuantity;
+ private String quantityUnit;
+ private BigDecimal mileage;
+ private String batchNo;
+ private BigDecimal unitPrice;
+ private BigDecimal freightAmount;
+ private String feeItemsJson;
+ private BigDecimal settlementAmount;
+ private Long matchedExternalId;
+ private Integer matchedExternalLineNo;
+ private String matchResult;
+ private String updateResult;
+ private String updateMessage;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportVehicle.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportVehicle.java
index e79e0ef..4829cc3 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportVehicle.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/TransportVehicle.java
@@ -53,6 +53,11 @@ public class TransportVehicle extends TenantEntity {
*/
@Schema(description = "所属组织")
private String organizationName;
+ /**
+ * 使用部门
+ */
+ @Schema(description = "使用部门")
+ private String useDepartment;
/**
* 车牌号
*/
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/VehicleDispatch.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/VehicleDispatch.java
new file mode 100644
index 0000000..ffba700
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/VehicleDispatch.java
@@ -0,0 +1,68 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author
+ * is not liable for any claims arising from secondary or illegal development.
+ *
+ * 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_transport_vehicle_dispatch")
+@Schema(description = "车辆调度申请")
+public class VehicleDispatch extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "申请单号")
+ private String applicationNo;
+ @Schema(description = "车牌号")
+ private String plateNo;
+ @Schema(description = "所属组织")
+ private String organizationName;
+ @Schema(description = "使用部门")
+ private String useDepartment;
+ @Schema(description = "审批状态:draft/reviewing/rejected/approved")
+ private String approvalStatus;
+ @Schema(description = "当前节点")
+ private String currentNode;
+ @Schema(description = "当前处理人")
+ private String currentProcessor;
+ @Schema(description = "备注")
+ private String remark;
+ @Schema(description = "附件JSON")
+ private String attachments;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/VoucherFile.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/VoucherFile.java
new file mode 100644
index 0000000..919dc09
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/VoucherFile.java
@@ -0,0 +1,40 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ */
+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;
+
+/**
+ * 凭证压缩包解压文件明细。
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("blade_voucher_file")
+@Schema(description = "凭证文件明细")
+public class VoucherFile extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ private Long voucherId;
+ private String voucherBatchNo;
+ private Long waybillId;
+ private String waybillNo;
+ private String plateNo;
+ private String folderName;
+ private String entryName;
+ private String fileName;
+ private String objectKey;
+ private Long fileSize;
+ private String contentType;
+ private String fileType;
+ private Integer matched;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/VoucherImage.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/VoucherImage.java
new file mode 100644
index 0000000..101fe2f
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/VoucherImage.java
@@ -0,0 +1,35 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ */
+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;
+
+/**
+ * 凭证图片明细。
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("blade_voucher_image")
+@Schema(description = "凭证图片明细")
+public class VoucherImage extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ private Long voucherId;
+ private String voucherBatchNo;
+ private Long waybillId;
+ private String waybillNo;
+ private String plateNo;
+ private String imageName;
+ private String objectKey;
+ private Integer matched;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/VoucherManage.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/VoucherManage.java
index 43305b9..eed2006 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/VoucherManage.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/VoucherManage.java
@@ -26,9 +26,12 @@ public class VoucherManage extends TenantEntity {
private Long fileTaskId;
private String uploadSource;
private String carrierName;
+ private Long carrierId;
private String processStatus;
private Integer voucherCount;
private Integer relatedWaybillCount;
private Integer unRelatedWaybillCount;
private String auditStatus;
+ @Schema(description = "审核驳回原因")
+ private String rejectReason;
}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/Waybill.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/Waybill.java
index 656e041..81c481d 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/Waybill.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/Waybill.java
@@ -22,6 +22,8 @@
*/
package org.springblade.transport.pojo.entity;
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -31,6 +33,7 @@ import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDate;
+import java.util.Date;
/**
* 运单管理实体类
@@ -127,6 +130,9 @@ public class Waybill extends TenantEntity {
@Schema(description = "承运商名称")
private String carrierName;
+ @Schema(description = "承运商合同ID")
+ private Long carrierContractId;
+
@Schema(description = "司机ID")
private Long driverId;
@@ -136,6 +142,26 @@ public class Waybill extends TenantEntity {
@Schema(description = "司机手机号")
private String driverPhone;
+ @Schema(description = "司机接单状态:pending待接单/accepted已接单/rejected已拒绝")
+ @TableField(updateStrategy = FieldStrategy.ALWAYS)
+ private String driverAcceptStatus;
+
+ @Schema(description = "司机接单时间")
+ @TableField(updateStrategy = FieldStrategy.ALWAYS)
+ private Date driverAcceptTime;
+
+ @Schema(description = "接单司机ID")
+ @TableField(updateStrategy = FieldStrategy.ALWAYS)
+ private Long driverAcceptDriverId;
+
+ @Schema(description = "司机拒绝接单时间")
+ @TableField(updateStrategy = FieldStrategy.ALWAYS)
+ private Date driverRejectTime;
+
+ @Schema(description = "司机拒绝接单原因")
+ @TableField(updateStrategy = FieldStrategy.ALWAYS)
+ private String driverRejectReason;
+
@Schema(description = "车/船/航班/班列号")
private String vehicleNo;
@@ -160,6 +186,9 @@ public class Waybill extends TenantEntity {
@Schema(description = "里程")
private BigDecimal mileage;
+ @Schema(description = "里程维护备注")
+ private String mileageRemark;
+
@Schema(description = "预计发货日期")
private LocalDate estimatedStartTime;
@@ -229,6 +258,9 @@ public class Waybill extends TenantEntity {
@Schema(description = "过程节点")
private String processJson;
+ @Schema(description = "路线信息")
+ private String routeJson;
+
@Schema(description = "费用信息")
private String freightJson;
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/WaybillEnroutePunch.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/WaybillEnroutePunch.java
new file mode 100644
index 0000000..5c01db0
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/WaybillEnroutePunch.java
@@ -0,0 +1,53 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ */
+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.util.Date;
+
+/**
+ * 运单在途打卡记录
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("blade_waybill_enroute_punch")
+@Schema(description = "运单在途打卡记录")
+public class WaybillEnroutePunch extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "运单ID")
+ private Long waybillId;
+
+ @Schema(description = "运单号")
+ private String waybillNo;
+
+ @Schema(description = "打卡司机ID")
+ private Long driverId;
+
+ @Schema(description = "打卡时间")
+ private Date punchTime;
+
+ @Schema(description = "经度")
+ private BigDecimal longitude;
+
+ @Schema(description = "纬度")
+ private BigDecimal latitude;
+
+ @Schema(description = "打卡地址")
+ private String address;
+
+ @Schema(description = "货物照片URL")
+ private String photo;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/WaybillImportBatch.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/WaybillImportBatch.java
new file mode 100644
index 0000000..073d24d
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/WaybillImportBatch.java
@@ -0,0 +1,39 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ */
+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;
+
+/** 运单批量导入批次。 */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("blade_waybill_import_batch")
+@Schema(description = "运单批量导入批次")
+public class WaybillImportBatch extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+ private String batchNo;
+ private Long projectId;
+ private String projectName;
+ private String customerName;
+ private Long contractId;
+ private String contractName;
+ private String carrierType;
+ private String carrierIds;
+ private String carrierName;
+ private String importType;
+ private String importStatus;
+ private Long planId;
+ private String planName;
+ private Integer waybillCount;
+ private String remark;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/WaybillNodePunch.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/WaybillNodePunch.java
new file mode 100644
index 0000000..6c2cc15
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/WaybillNodePunch.java
@@ -0,0 +1,74 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ */
+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.util.Date;
+
+/**
+ * 运单过程节点打卡记录
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("blade_waybill_node_punch")
+@Schema(description = "运单过程节点打卡记录")
+public class WaybillNodePunch extends TenantEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "运单ID")
+ private Long waybillId;
+
+ @Schema(description = "运单号")
+ private String waybillNo;
+
+ @Schema(description = "打卡司机ID")
+ private Long driverId;
+
+ @Schema(description = "过程节点 key")
+ private String nodeCode;
+
+ @Schema(description = "过程节点名称")
+ private String nodeName;
+
+ @Schema(description = "打卡时间")
+ private Date punchTime;
+
+ @Schema(description = "经度")
+ private BigDecimal longitude;
+
+ @Schema(description = "纬度")
+ private BigDecimal latitude;
+
+ @Schema(description = "打卡地址")
+ private String address;
+
+ @Schema(description = "凭证照片URL,多张逗号分隔")
+ private String photos;
+
+ @Schema(description = "重量(吨)")
+ private String weight;
+
+ @Schema(description = "体积(方)")
+ private String volume;
+
+ @Schema(description = "数量(件)")
+ private String quantity;
+
+ @Schema(description = "备注")
+ private String remark;
+
+ @Schema(description = "是否异常:0否 1是")
+ private Integer exceptionFlag;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminDriverOptionVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminDriverOptionVO.java
new file mode 100644
index 0000000..21839e5
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminDriverOptionVO.java
@@ -0,0 +1,30 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ */
+package org.springblade.transport.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+@Data
+@Schema(description = "调度端司机搜索项")
+public class AdminDriverOptionVO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "司机ID")
+ private Long id;
+
+ @Schema(description = "姓名")
+ private String name;
+
+ @Schema(description = "手机号")
+ private String phone;
+
+ @Schema(description = "绑定车牌")
+ private String vehicleNo;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminHomeBadgesVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminHomeBadgesVO.java
new file mode 100644
index 0000000..d37bd5b
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminHomeBadgesVO.java
@@ -0,0 +1,47 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 调度端首页快捷入口角标
+ */
+@Data
+@Schema(description = "调度端首页角标")
+public class AdminHomeBadgesVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "异常处置待办数(disposalStatus≠completed)")
+ private long exception;
+
+ @Schema(description = "风险记录待办数(disposalStatus=pending)")
+ private long risk;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminHomeStatsVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminHomeStatsVO.java
new file mode 100644
index 0000000..b3b9770
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminHomeStatsVO.java
@@ -0,0 +1,53 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 调度端首页顶部统计(对齐小程序 admin/home)
+ */
+@Data
+@Schema(description = "调度端首页运单状态统计")
+public class AdminHomeStatsVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "运输中(businessStatus=running)")
+ private long transporting;
+
+ @Schema(description = "待接单(businessStatus=pending)")
+ private long pendingAccept;
+
+ @Schema(description = "在途异常(异常处置状态≠已完成)")
+ private long exception;
+
+ @Schema(description = "已完成(businessStatus=completed)")
+ private long completed;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminHomeVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminHomeVO.java
new file mode 100644
index 0000000..2302825
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminHomeVO.java
@@ -0,0 +1,55 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 调度端首页聚合数据(统计 + 角标 + 待处理 feed + 用户名)
+ */
+@Data
+@Schema(description = "调度端首页聚合")
+public class AdminHomeVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "当前登录用户姓名")
+ private String userName;
+
+ @Schema(description = "顶部运单状态统计")
+ private AdminHomeStatsVO stats = new AdminHomeStatsVO();
+
+ @Schema(description = "快捷入口角标")
+ private AdminHomeBadgesVO badges = new AdminHomeBadgesVO();
+
+ @Schema(description = "待处理事项(异常处置状态≠已完成)")
+ private List feed = new ArrayList<>();
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminTodoItemVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminTodoItemVO.java
new file mode 100644
index 0000000..8d8430f
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminTodoItemVO.java
@@ -0,0 +1,65 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 调度端首页「待处理事项」条目
+ */
+@Data
+@Schema(description = "调度端首页待处理事项")
+public class AdminTodoItemVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "条目ID(异常处置ID)")
+ private Long id;
+
+ @Schema(description = "类型:exception=异常待处置 / reassign=重新派单待处理")
+ private String type;
+
+ @Schema(description = "标题")
+ private String title;
+
+ @Schema(description = "相对时间文案,如「2分钟」")
+ private String timeAgo;
+
+ @Schema(description = "摘要描述")
+ private String desc;
+
+ @Schema(description = "运单号")
+ private String waybillNo;
+
+ @Schema(description = "操作按钮文案")
+ private String actionLabel;
+
+ @Schema(description = "跳转路径(小程序内路径)")
+ private String targetUrl;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminVehicleOptionVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminVehicleOptionVO.java
new file mode 100644
index 0000000..53bcaa4
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminVehicleOptionVO.java
@@ -0,0 +1,24 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ */
+package org.springblade.transport.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+@Data
+@Schema(description = "调度端车牌搜索项")
+public class AdminVehicleOptionVO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "车牌号")
+ private String vehicleNo;
+
+ @Schema(description = "关联司机名(可选)")
+ private String driverName;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminWaybillCardVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminWaybillCardVO.java
new file mode 100644
index 0000000..9e63df3
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminWaybillCardVO.java
@@ -0,0 +1,95 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 调度端运单列表卡片(对齐小程序 admin/waybill-list)
+ */
+@Data
+@Schema(description = "调度端运单列表卡片")
+public class AdminWaybillCardVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "运单ID")
+ private Long id;
+
+ @Schema(description = "运单号")
+ private String waybillNo;
+
+ @Schema(description = "起点")
+ private String fromName;
+
+ @Schema(description = "终点")
+ private String toName;
+
+ @Schema(description = "货物名称")
+ private String cargo;
+
+ @Schema(description = "重量(带单位)")
+ private String weight;
+
+ @Schema(description = "计划开始时间")
+ private String planTime;
+
+ @Schema(description = "计划结束时间")
+ private String planTimeEnd;
+
+ @Schema(description = "状态:0待接单/1运输中/2已完成/3已取消")
+ private Integer status;
+
+ @Schema(description = "承运方")
+ private String carrierName;
+
+ @Schema(description = "司机姓名")
+ private String driverName;
+
+ @Schema(description = "车牌号")
+ private String vehicleNo;
+
+ @Schema(description = "是否有未完成异常")
+ private Boolean hasException;
+
+ @Schema(description = "运输组织类型:common普通 / load配载")
+ private String transportType;
+
+ @Schema(description = "运输方式:road / 公路运输 / 铁路运输 等")
+ private String transportMode;
+
+ @Schema(description = "创建时间")
+ private String createTime;
+
+ @Schema(description = "需重新派单(司机已拒单)")
+ private Boolean needReassign;
+
+ @Schema(description = "采购方是否已付款(预留)")
+ private Boolean buyerPaid;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminWaybillDetailVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminWaybillDetailVO.java
new file mode 100644
index 0000000..ebbd9cc
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AdminWaybillDetailVO.java
@@ -0,0 +1,154 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 调度端运单详情(对齐小程序 pages/waybill/detail)
+ */
+@Data
+@Schema(description = "调度端运单详情")
+public class AdminWaybillDetailVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "运单ID")
+ private Long id;
+
+ @Schema(description = "运单号")
+ private String waybillNo;
+
+ @Schema(description = "状态:0待接单/1运输中/2已完成/3已取消")
+ private Integer status;
+
+ @Schema(description = "起点名称")
+ private String fromName;
+
+ @Schema(description = "终点名称")
+ private String toName;
+
+ @Schema(description = "起点地址")
+ private String fromAddress;
+
+ @Schema(description = "终点地址")
+ private String toAddress;
+
+ @Schema(description = "装货地址")
+ private String pickupAddress;
+
+ @Schema(description = "卸货地址")
+ private String unloadAddress;
+
+ @Schema(description = "货物名称")
+ private String cargoName;
+
+ @Schema(description = "货物数量(带单位)")
+ private String cargoQuantity;
+
+ @Schema(description = "重量(带单位)")
+ private String weight;
+
+ @Schema(description = "合计货重")
+ private String totalWeight;
+
+ @Schema(description = "运输方式文案:公路运输 / 铁路运输 等")
+ private String transportType;
+
+ @Schema(description = "运输方式字典值:road 等")
+ private String transportMode;
+
+ @Schema(description = "运输组织:common普通 / load配载")
+ private String transportOrgType;
+
+ @Schema(description = "计划发货时间")
+ private String planShipTime;
+
+ @Schema(description = "计划完成时间")
+ private String planFinishTime;
+
+ @Schema(description = "承运方")
+ private String carrierName;
+
+ @Schema(description = "司机姓名")
+ private String driverName;
+
+ @Schema(description = "司机联系方式")
+ private String driverPhone;
+
+ @Schema(description = "车牌号")
+ private String vehicleNo;
+
+ @Schema(description = "备注")
+ private String remark;
+
+ @Schema(description = "是否有未完成异常")
+ private Boolean hasException;
+
+ @Schema(description = "最近一条未完成异常处置ID(有异常时返回)")
+ private Long exceptionId;
+
+ @Schema(description = "需重新派单")
+ private Boolean needReassign;
+
+ @Schema(description = "司机接单状态:pending/accepted/rejected")
+ private String acceptStatus;
+
+ @Schema(description = "司机拒绝接单原因")
+ private String rejectReason;
+
+ @Schema(description = "原指派司机ID")
+ private Long driverId;
+
+ @Schema(description = "装卸点列表")
+ private List routePoints;
+
+ @Schema(description = "过程打卡节点(与司机端 punchNodes 同结构)")
+ private List punchNodes;
+
+ @Schema(description = "途打卡记录")
+ private List enrouteRecords;
+
+ @Data
+ @Schema(description = "装卸点")
+ public static class AdminRoutePointVO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "点位名称")
+ private String name;
+
+ @Schema(description = "详细地址")
+ private String address;
+
+ @Schema(description = "状态:pending/done/active")
+ private String status;
+ }
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AnnualInspectionRecordExpiryStatVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AnnualInspectionRecordExpiryStatVO.java
new file mode 100644
index 0000000..645035e
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AnnualInspectionRecordExpiryStatVO.java
@@ -0,0 +1,55 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.vo;
+
+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 AnnualInspectionRecordExpiryStatVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "全部")
+ private Long total;
+
+ @Schema(description = "30天内")
+ private Long within30;
+
+ @Schema(description = "已过期")
+ private Long expired;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AnnualInspectionRecordVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AnnualInspectionRecordVO.java
index d1d3c96..b76896a 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AnnualInspectionRecordVO.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/AnnualInspectionRecordVO.java
@@ -72,4 +72,18 @@ public class AnnualInspectionRecordVO extends AnnualInspectionRecord {
@Schema(description = "更新人姓名")
private String updateUserName;
+ @TableField(exist = false)
+ @Schema(description = "有效期状态:within30-30天内,expired-已过期")
+ private String expireStatus;
+
+ @TableField(exist = false)
+ @Schema(description = "当天日期")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate today;
+
+ @TableField(exist = false)
+ @Schema(description = "预警截止日期")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate warningDate;
+
}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/BaiduOcrResultVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/BaiduOcrResultVO.java
new file mode 100644
index 0000000..d22af13
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/BaiduOcrResultVO.java
@@ -0,0 +1,59 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Map;
+
+/**
+ * 百度 OCR 识别结果。
+ *
+ * @author Chill
+ */
+@Data
+@Schema(description = "百度OCR识别结果")
+public class BaiduOcrResultVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /** 业务证件类型。 */
+ @Schema(description = "证件类型")
+ private String type;
+
+ /** 正副面,非卡证类型为空。 */
+ @Schema(description = "证件面,front为正面或主页,back为反面或副页")
+ private String side;
+
+ /** 百度 OCR 原始返回结果,包含 words_result 等字段。 */
+ @Schema(description = "百度OCR原始返回结果")
+ private Map result;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/BillLedgerVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/BillLedgerVO.java
new file mode 100644
index 0000000..96cf8a4
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/BillLedgerVO.java
@@ -0,0 +1,31 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ */
+package org.springblade.transport.pojo.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.transport.pojo.entity.BillLedger;
+import org.springblade.transport.pojo.entity.BillLedgerUsage;
+
+import java.io.Serial;
+import java.time.LocalDate;
+import java.util.List;
+
+/** 汇票台账视图。 @author Chill */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class BillLedgerVO extends BillLedger {
+ @Serial private static final long serialVersionUID = 1L;
+ @TableField(exist = false) private LocalDate issueStartDate;
+ @TableField(exist = false) private LocalDate issueEndDate;
+ @TableField(exist = false) private String maturityStatus;
+ @TableField(exist = false) private String expiryShortcut;
+ @TableField(exist = false) private String billTypeName;
+ @TableField(exist = false) private String maturityStatusName;
+ @TableField(exist = false) private String createUserName;
+ @TableField(exist = false) private String updateUserName;
+ @TableField(exist = false) private List usageRecords;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/BillPaymentVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/BillPaymentVO.java
new file mode 100644
index 0000000..9db1628
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/BillPaymentVO.java
@@ -0,0 +1,46 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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.BillPayment;
+
+import java.io.Serial;
+import java.time.LocalDate;
+
+/** 汇票付款视图。 @author Chill */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class BillPaymentVO extends BillPayment {
+ @Serial private static final long serialVersionUID = 1L;
+ @TableField(exist = false) private LocalDate paymentStartDate;
+ @TableField(exist = false) private LocalDate paymentEndDate;
+ @TableField(exist = false) private String approvalStatusName;
+ @TableField(exist = false) private String createUserName;
+ @TableField(exist = false) private String updateUserName;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/BusinessRemoveResultVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/BusinessRemoveResultVO.java
index 9e1816d..ac8f537 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/BusinessRemoveResultVO.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/BusinessRemoveResultVO.java
@@ -52,4 +52,7 @@ public class BusinessRemoveResultVO implements Serializable {
@Schema(description = "跳过编号")
private List skippedCodes = new ArrayList<>();
+ @Schema(description = "跳过原因")
+ private List skippedReasons = new ArrayList<>();
+
}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/CommonCargoVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/CommonCargoVO.java
index b6bd631..8b30d95 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/CommonCargoVO.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/CommonCargoVO.java
@@ -47,6 +47,10 @@ public class CommonCargoVO extends CommonCargo {
@Schema(description = "是否查看全部组织")
private Integer allDept;
+ @TableField(exist = false)
+ @Schema(description = "规格型号(匹配规格或型号)")
+ private String specificationModel;
+
@TableField(exist = false)
@Schema(description = "是否只读")
private Boolean readonly;
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/CustomerArchiveVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/CustomerArchiveVO.java
index a413eeb..bd1befa 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/CustomerArchiveVO.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/CustomerArchiveVO.java
@@ -30,6 +30,7 @@ import org.springblade.transport.pojo.entity.CustomerArchive;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
+import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@@ -77,4 +78,28 @@ public class CustomerArchiveVO extends CustomerArchive {
@Schema(description = "变更记录")
private List changeRecords = new ArrayList<>();
+ @TableField(exist = false)
+ @Schema(description = "是否保存变更记录(仅提交时为 true,保存时不记录)")
+ private Boolean recordChange;
+
+ @TableField(exist = false)
+ @Schema(description = "客商类型:external外部客商,internal内部组织")
+ private String customerKind;
+
+ @TableField(exist = false)
+ @Schema(description = "资金使用风险等级:high、medium、none")
+ private String fundUseRisk;
+
+ @TableField(exist = false)
+ @Schema(description = "资金使用风险名称")
+ private String fundUseRiskName;
+
+ @TableField(exist = false)
+ @Schema(description = "资金使用率(百分比)")
+ private BigDecimal fundUseRate;
+
+ @TableField(exist = false)
+ @Schema(description = "已付金额合计(元)")
+ private BigDecimal usedFundLimit;
+
}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/CustomerInvoiceContactVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/CustomerInvoiceContactVO.java
new file mode 100644
index 0000000..73a4c77
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/CustomerInvoiceContactVO.java
@@ -0,0 +1,45 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * 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.CustomerInvoiceContact;
+
+import java.io.Serial;
+
+/**
+ * 客商发票联系信息视图实体类
+ *
+ * @author Chill
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Schema(description = "客商发票联系信息")
+public class CustomerInvoiceContactVO extends CustomerInvoiceContact {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/CustomerInvoiceInfoVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/CustomerInvoiceInfoVO.java
index 0d88697..a8d539d 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/CustomerInvoiceInfoVO.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/CustomerInvoiceInfoVO.java
@@ -22,12 +22,15 @@
*/
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.CustomerInvoiceInfo;
import java.io.Serial;
+import java.util.ArrayList;
+import java.util.List;
/**
* 客商发票信息视图实体类
@@ -42,4 +45,8 @@ public class CustomerInvoiceInfoVO extends CustomerInvoiceInfo {
@Serial
private static final long serialVersionUID = 1L;
+ @TableField(exist = false)
+ @Schema(description = "联系信息")
+ private List contacts = new ArrayList<>();
+
}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverEnrouteRecordVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverEnrouteRecordVO.java
new file mode 100644
index 0000000..73351e6
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverEnrouteRecordVO.java
@@ -0,0 +1,32 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ */
+package org.springblade.transport.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 司机端在途打卡记录
+ */
+@Data
+@Schema(description = "司机端在途打卡记录")
+public class DriverEnrouteRecordVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "打卡时间 HH:mm 或 yyyy-MM-dd HH:mm:ss")
+ private String time;
+
+ @Schema(description = "打卡地址")
+ private String address;
+
+ @Schema(description = "货物照片")
+ private String photo;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverNodePunchVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverNodePunchVO.java
new file mode 100644
index 0000000..4bca631
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverNodePunchVO.java
@@ -0,0 +1,52 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ */
+package org.springblade.transport.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 司机端过程节点打卡结果
+ */
+@Data
+@Schema(description = "司机端过程节点打卡结果")
+public class DriverNodePunchVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "运单ID")
+ private Long waybillId;
+
+ @Schema(description = "节点 key")
+ private String nodeCode;
+
+ @Schema(description = "节点名称")
+ private String nodeName;
+
+ @Schema(description = "打卡时间(ISO 或 yyyy-MM-dd HH:mm:ss)")
+ private String checkinTime;
+
+ @Schema(description = "打卡地址")
+ private String address;
+
+ @Schema(description = "凭证照片")
+ private List photos = new ArrayList<>();
+
+ @Schema(description = "重量")
+ private String weight;
+
+ @Schema(description = "体积")
+ private String volume;
+
+ @Schema(description = "数量")
+ private String quantity;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverPunchNodeVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverPunchNodeVO.java
new file mode 100644
index 0000000..f7e8882
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverPunchNodeVO.java
@@ -0,0 +1,79 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ */
+package org.springblade.transport.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 司机端过程打卡节点(过程配置 punch=是)
+ */
+@Data
+@Schema(description = "司机端过程打卡节点")
+public class DriverPunchNodeVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "节点 key,如 arrive_scene / load / transit")
+ private String key;
+
+ @Schema(description = "节点名称")
+ private String name;
+
+ @Schema(description = "是否在途节点")
+ private Boolean transit;
+
+ @Schema(description = "是否已打卡(在途=今日已打)")
+ private Boolean done;
+
+ @Schema(description = "当前是否可打卡(顺序门禁 + 在途频次时段)")
+ private Boolean actionable;
+
+ @Schema(description = "是否展示该卡(在途可能因频次/时段隐藏)")
+ private Boolean visible;
+
+ @Schema(description = "是否默认展开(仅第一个可打卡节点)")
+ private Boolean defaultExpanded;
+
+ @Schema(description = "打卡时间展示")
+ private String checkinTime;
+
+ @Schema(description = "打卡地点")
+ private String checkinPlace;
+
+ @Schema(description = "重量(吨)")
+ private String weight;
+
+ @Schema(description = "体积(方)")
+ private String volume;
+
+ @Schema(description = "数量(件)")
+ private String quantity;
+
+ @Schema(description = "已上传凭证图(已打卡回显)")
+ private List photos = new ArrayList<>();
+
+ @Schema(description = "是否需要定位")
+ private Boolean needLocation;
+
+ @Schema(description = "是否需要上传货量")
+ private Boolean needCargo;
+
+ @Schema(description = "货量类型:重量/体积/数量")
+ private List cargoTypes = new ArrayList<>();
+
+ @Schema(description = "是否需要上传凭证")
+ private Boolean needVoucher;
+
+ @Schema(description = "凭证类型")
+ private List voucherTypes = new ArrayList<>();
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverPunchPhotoVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverPunchPhotoVO.java
new file mode 100644
index 0000000..bbd9173
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverPunchPhotoVO.java
@@ -0,0 +1,32 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ */
+package org.springblade.transport.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 司机端打卡凭证图
+ */
+@Data
+@Schema(description = "司机端打卡凭证图")
+public class DriverPunchPhotoVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "凭证类型,如 委托单")
+ private String type;
+
+ @Schema(description = "展示标签,如 装货-委托单")
+ private String label;
+
+ @Schema(description = "图片 URL")
+ private String url;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverVehicleCardVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverVehicleCardVO.java
new file mode 100644
index 0000000..46bbfc7
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverVehicleCardVO.java
@@ -0,0 +1,74 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 司机端车辆卡片(对齐小程序 VehicleAuthInfo)
+ */
+@Data
+@Schema(description = "司机端车辆卡片")
+public class DriverVehicleCardVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "车辆ID")
+ private Long id;
+
+ @Schema(description = "车牌号")
+ private String plateNo;
+
+ @Schema(description = "车辆类型")
+ private String vehicleType;
+
+ @Schema(description = "行驶证主页照片")
+ private String licenseFrontUrl;
+
+ @Schema(description = "行驶证副页照片")
+ private String licenseBackUrl;
+
+ @Schema(description = "道路运输证号")
+ private String roadTransportNo;
+
+ @Schema(description = "道路运输证照片")
+ private String roadTransportUrl;
+
+ @Schema(description = "车架号")
+ private String vin;
+
+ @Schema(description = "发动机号")
+ private String engineNo;
+
+ @Schema(description = "行驶证有效期止")
+ private String licenseValidEnd;
+
+ @Schema(description = "认证状态:0认证中 1认证通过 2认证驳回")
+ private Integer certificationStatus;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverWaybillCardVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverWaybillCardVO.java
new file mode 100644
index 0000000..57e394d
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverWaybillCardVO.java
@@ -0,0 +1,187 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.vo;
+
+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;
+
+/**
+ * 司机端运单卡片(首页当前任务 / 待接预览 / 列表项)
+ *
+ * 字段对齐小程序 MockWaybillItem,status 为数字枚举:
+ * 0 待接单 / 1 运输中 / 2 已完成 / 3 已取消
+ */
+@Data
+@Schema(description = "司机端运单卡片")
+public class DriverWaybillCardVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "运单ID")
+ private Long id;
+
+ @Schema(description = "运单号")
+ private String waybillNo;
+
+ @Schema(description = "起点名称")
+ private String fromName;
+
+ @Schema(description = "终点名称")
+ private String toName;
+
+ @Schema(description = "起点地址")
+ private String fromAddress;
+
+ @Schema(description = "终点地址")
+ private String toAddress;
+
+ @Schema(description = "货物名称列表")
+ private List cargoNames;
+
+ @Schema(description = "货物类别")
+ private String cargoCategory;
+
+ @Schema(description = "重量(带单位)")
+ private String weight;
+
+ @Schema(description = "状态:0待接单/1运输中/2已完成/3已取消")
+ private Integer status;
+
+ @Schema(description = "创建时间")
+ private String createTime;
+
+ @Schema(description = "发布时间(兼容小程序 publishTime)")
+ private String publishTime;
+
+ @Schema(description = "当前过程节点")
+ private String currentNode;
+
+ @Schema(description = "计划/完成时间段展示")
+ private String timeRange;
+
+ @Schema(description = "运费参考金额")
+ private BigDecimal freight;
+
+ @Schema(description = "司机姓名")
+ private String driverName;
+
+ @Schema(description = "司机手机号")
+ private String driverPhone;
+
+ @Schema(description = "车牌号")
+ private String vehicleNo;
+
+ @Schema(description = "是否需要司机确认接单")
+ private Boolean requireAccept;
+
+ @Schema(description = "司机接单状态:pending待接单/accepted已接单/rejected已拒绝")
+ private String acceptStatus;
+
+ @Schema(description = "司机拒绝接单原因")
+ private String rejectReason;
+
+ @Schema(description = "过程配置是否启用在途打卡(在途节点 punch=是)")
+ private Boolean transitPunchEnabled;
+
+ @Schema(description = "是否展示「今日在途打卡」面板(过程配置 punch=是即展示;频次/时段只影响 requireTransitCheckinToday)")
+ private Boolean transitCheckinVisible;
+
+ @Schema(description = "今日是否需要在途打卡(到期且未打且在时段内)")
+ private Boolean requireTransitCheckinToday;
+
+ @Schema(description = "今日是否已完成在途打卡")
+ private Boolean transitCheckinDoneToday;
+
+ @Schema(description = "在途打卡频次(每 N 天 1 次)")
+ private Integer transitFrequencyDays;
+
+ @Schema(description = "在途打卡时段开始 HH:mm")
+ private String transitTimeStart;
+
+ @Schema(description = "在途打卡时段结束 HH:mm")
+ private String transitTimeEnd;
+
+ @Schema(description = "在途打卡记录(详情返回)")
+ private List enrouteRecords;
+
+ @Schema(description = "过程配置中 punch=是 的打卡节点列表(详情返回)")
+ private List punchNodes;
+
+ /* ===== pages/waybill/detail 接单查看字段 ===== */
+
+ @Schema(description = "货物名称")
+ private String cargoName;
+
+ @Schema(description = "装货地址")
+ private String pickupAddress;
+
+ @Schema(description = "卸货地址")
+ private String unloadAddress;
+
+ @Schema(description = "货物数量(带单位)")
+ private String cargoQuantity;
+
+ @Schema(description = "运输方式文案:公路运输等")
+ private String transportType;
+
+ @Schema(description = "计划发货时间")
+ private String planShipTime;
+
+ @Schema(description = "计划完成时间")
+ private String planFinishTime;
+
+ @Schema(description = "合计货重")
+ private String totalWeight;
+
+ @Schema(description = "备注")
+ private String remark;
+
+ @Schema(description = "装卸点(详情返回)")
+ private List routePoints;
+
+ @Schema(description = "过程配置 JSON(详情返回,供前端兜底推导打卡节点)")
+ private String processJson;
+
+ @Data
+ @Schema(description = "司机端装卸点")
+ public static class DriverRoutePointVO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "点位名称")
+ private String name;
+
+ @Schema(description = "详细地址")
+ private String address;
+
+ @Schema(description = "状态:pending/done/active")
+ private String status;
+ }
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverWaybillPreviewVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverWaybillPreviewVO.java
new file mode 100644
index 0000000..a4e6158
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverWaybillPreviewVO.java
@@ -0,0 +1,49 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 司机端待接运单预览
+ */
+@Data
+@Schema(description = "司机端待接运单预览")
+public class DriverWaybillPreviewVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "预览列表")
+ private List records = new ArrayList<>();
+
+ @Schema(description = "待接运单总数(角标)")
+ private Long total = 0L;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverWaybillTabCountsVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverWaybillTabCountsVO.java
new file mode 100644
index 0000000..3aa95f5
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/DriverWaybillTabCountsVO.java
@@ -0,0 +1,55 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 司机端运单列表 Tab 统计
+ *
+ * 对齐小程序 { all, pending, doing, done }
+ */
+@Data
+@Schema(description = "司机端运单 Tab 统计")
+public class DriverWaybillTabCountsVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "全部(待接单+运输中+已完成)")
+ private long all;
+
+ @Schema(description = "待接单")
+ private long pending;
+
+ @Schema(description = "进行中(运输中)")
+ private long doing;
+
+ @Schema(description = "已完成")
+ private long done;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ExceptionDisposalVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ExceptionDisposalVO.java
index 2cb7fb8..7783903 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ExceptionDisposalVO.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ExceptionDisposalVO.java
@@ -85,4 +85,12 @@ public class ExceptionDisposalVO extends ExceptionDisposal {
@Schema(description = "扩展信息")
private Map extra;
+ @TableField(exist = false)
+ @Schema(description = "运单路线:{start, end}")
+ private Map route;
+
+ @TableField(exist = false)
+ @Schema(description = "货物信息:{name, weight}")
+ private Map cargo;
+
}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/FormalSettlementVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/FormalSettlementVO.java
new file mode 100644
index 0000000..1e50737
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/FormalSettlementVO.java
@@ -0,0 +1,52 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement obtained after purchasing a license from BladeX.
+ *
+ * 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.FormalSettlementChangeRecord;
+import org.springblade.transport.pojo.entity.FormalSettlementDetail;
+import org.springblade.transport.pojo.entity.FormalSettlementInvoice;
+import org.springblade.transport.pojo.entity.FormalSettlementSource;
+import org.springblade.transport.pojo.entity.FormalSettlementPayment;
+import org.springblade.transport.pojo.entity.FormalSettlementSummaryFee;
+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 ids;
+ @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 sources;
+ @TableField(exist = false) private List details;
+ @TableField(exist = false) private List summaryFees;
+ @TableField(exist = false) private List payments;
+ @TableField(exist = false) private List invoices;
+ @TableField(exist = false) private List paymentApplications;
+ @TableField(exist = false) private List adjustments;
+ @TableField(exist = false) private List changeRecords;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/InsuranceOcrTemplateVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/InsuranceOcrTemplateVO.java
new file mode 100644
index 0000000..4c0c3c6
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/InsuranceOcrTemplateVO.java
@@ -0,0 +1,59 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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.InsuranceOcrTemplate;
+
+import java.io.Serial;
+
+/**
+ * 保险OCR识别模板视图实体类。
+ *
+ * @author Chill
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Schema(description = "保险OCR识别模板")
+public class InsuranceOcrTemplateVO extends InsuranceOcrTemplate {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /** 创建人姓名。 */
+ @TableField(exist = false)
+ @Schema(description = "创建人姓名")
+ private String createUserName;
+
+ /** 更新人姓名。 */
+ @TableField(exist = false)
+ @Schema(description = "更新人姓名")
+ private String updateUserName;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/InvoiceApplicationSheetVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/InvoiceApplicationSheetVO.java
new file mode 100644
index 0000000..0b0dd2f
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/InvoiceApplicationSheetVO.java
@@ -0,0 +1,47 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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.InvoiceApplicationLine;
+import org.springblade.transport.pojo.entity.InvoiceApplicationSheet;
+
+import java.io.Serial;
+import java.util.List;
+
+/**
+ * 开票申请发票张次视图实体类
+ *
+ * @author Chill
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class InvoiceApplicationSheetVO extends InvoiceApplicationSheet {
+ @Serial private static final long serialVersionUID = 1L;
+ @TableField(exist = false) private List lines;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/InvoiceApplicationVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/InvoiceApplicationVO.java
new file mode 100644
index 0000000..664d02b
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/InvoiceApplicationVO.java
@@ -0,0 +1,56 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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.InvoiceApplication;
+import org.springblade.transport.pojo.entity.InvoiceApplicationDetail;
+import org.springblade.transport.pojo.entity.InvoiceApplicationRecord;
+import org.springblade.transport.pojo.entity.InvoiceApplicationSettlement;
+
+import java.io.Serial;
+import java.util.List;
+
+/**
+ * 开票申请视图实体类
+ *
+ * @author Chill
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class InvoiceApplicationVO extends InvoiceApplication {
+ @Serial private static final long serialVersionUID = 1L;
+ @TableField(exist = false) private String settlementNos;
+ @TableField(exist = false) private String approvalStatusName;
+ @TableField(exist = false) private String kingdeeStatusName;
+ @TableField(exist = false) private String createUserName;
+ @TableField(exist = false) private List settlements;
+ @TableField(exist = false) private List sheets;
+ @TableField(exist = false) private List details;
+ @TableField(exist = false) private List records;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/InvoiceReceiptVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/InvoiceReceiptVO.java
new file mode 100644
index 0000000..8be4dcf
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/InvoiceReceiptVO.java
@@ -0,0 +1,56 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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.InvoiceReceipt;
+import org.springblade.transport.pojo.entity.InvoiceReceiptRecord;
+import org.springblade.transport.pojo.entity.InvoiceReceiptSettlement;
+
+import java.io.Serial;
+import java.util.List;
+
+/**
+ * 收票登记视图实体类
+ *
+ * @author Chill
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Schema(description = "收票登记视图实体类")
+public class InvoiceReceiptVO extends InvoiceReceipt {
+ @Serial private static final long serialVersionUID = 1L;
+ @TableField(exist = false) private String settlementNos;
+ @TableField(exist = false) private String approvalStatusName;
+ @TableField(exist = false) private String kingdeeStatusName;
+ @TableField(exist = false) private String createUserName;
+ @TableField(exist = false) private String updateUserName;
+ @TableField(exist = false) private List settlements;
+ @TableField(exist = false) private List records;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/LoadingCarrierContractVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/LoadingCarrierContractVO.java
new file mode 100644
index 0000000..22a40b8
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/LoadingCarrierContractVO.java
@@ -0,0 +1,58 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.vo;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+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 LoadingCarrierContractVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @JsonSerialize(using = ToStringSerializer.class)
+ @Schema(description = "承运商合同ID")
+ private Long id;
+
+ @Schema(description = "承运商合同名称")
+ private String contractName;
+
+ @Schema(description = "承运商名称")
+ private String carrierName;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/LoadingManageVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/LoadingManageVO.java
index c2ce78f..f576efd 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/LoadingManageVO.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/LoadingManageVO.java
@@ -46,6 +46,10 @@ public class LoadingManageVO extends LoadingManage {
@Schema(description = "业务状态名称")
private String businessStatusName;
+ @TableField(exist = false)
+ @Schema(description = "是否存在司机拒绝接单(可重新派单)")
+ private Boolean driverRejected;
+
@TableField(exist = false)
@Schema(description = "运单号")
private String waybillNo;
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/MasterOrderCarrierVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/MasterOrderCarrierVO.java
new file mode 100644
index 0000000..1ce202d
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/MasterOrderCarrierVO.java
@@ -0,0 +1,37 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ */
+package org.springblade.transport.pojo.vo;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+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 MasterOrderCarrierVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @JsonSerialize(using = ToStringSerializer.class)
+ @Schema(description = "承运商合同ID")
+ private Long contractId;
+
+ @Schema(description = "承运商合同名称")
+ private String contractName;
+
+ @Schema(description = "承运商名称")
+ private String carrierName;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/MasterOrderVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/MasterOrderVO.java
index 76bda0c..490607a 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/MasterOrderVO.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/MasterOrderVO.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.MasterOrder;
+import org.springblade.transport.pojo.entity.Waybill;
import java.io.Serial;
import java.math.BigDecimal;
@@ -37,6 +38,8 @@ public class MasterOrderVO extends MasterOrder {
@TableField(exist = false)
private List> routeProgress;
@TableField(exist = false)
+ private List boundWaybills;
+ @TableField(exist = false)
private BigDecimal totalQuantity;
@TableField(exist = false)
private String createUserName;
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/PaymentApplicationReferenceAmountVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/PaymentApplicationReferenceAmountVO.java
new file mode 100644
index 0000000..367ae47
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/PaymentApplicationReferenceAmountVO.java
@@ -0,0 +1,30 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement obtained after purchasing a license from BladeX.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.vo;
+
+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 PaymentApplicationReferenceAmountVO implements Serializable {
+ @Serial private static final long serialVersionUID = 1L;
+ @Schema(description = "结算金额") private BigDecimal settlementAmount;
+ @Schema(description = "累计申请付款金额") private BigDecimal cumulativeAppliedAmount;
+ @Schema(description = "可付款金额") private BigDecimal payableAmount;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/PaymentApplicationVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/PaymentApplicationVO.java
new file mode 100644
index 0000000..6e6c183
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/PaymentApplicationVO.java
@@ -0,0 +1,49 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments from this software for such purposes.
+ * Copyright of this software remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is not liable for any claims arising from secondary or illegal development.
+ *
+ * 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.PaymentApplication;
+import org.springblade.transport.pojo.entity.PaymentApplicationInvoice;
+import org.springblade.transport.pojo.entity.PaymentApplicationRecord;
+import org.springblade.transport.pojo.entity.PaymentApplicationSettlement;
+
+import java.io.Serial;
+import java.time.LocalDate;
+import java.util.List;
+
+/** 付款申请视图。 @author Chill */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class PaymentApplicationVO extends PaymentApplication {
+ @Serial private static final long serialVersionUID = 1L;
+ @TableField(exist = false) private LocalDate applyStartDate;
+ @TableField(exist = false) private LocalDate applyEndDate;
+ @TableField(exist = false) private String createUserName;
+ @TableField(exist = false) private String updateUserName;
+ @TableField(exist = false) private String paymentTypeName;
+ @TableField(exist = false) private String approvalStatusName;
+ @TableField(exist = false) private String kingdeeStatusName;
+ @TableField(exist = false) private List invoices;
+ @TableField(exist = false) private List paymentRecords;
+ @TableField(exist = false) private List settlements;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/PreSettlementVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/PreSettlementVO.java
new file mode 100644
index 0000000..f4573a6
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/PreSettlementVO.java
@@ -0,0 +1,111 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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)
+ private String ids;
+
+ @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 details;
+
+ @TableField(exist = false)
+ @Schema(description = "明细费用快照")
+ private Map> detailFees;
+
+ @TableField(exist = false)
+ @Schema(description = "结算合计")
+ private List summaryFees;
+
+ @TableField(exist = false)
+ @Schema(description = "预付信息")
+ private List advances;
+
+ @TableField(exist = false)
+ @Schema(description = "变更记录")
+ private List changeRecords;
+
+ @TableField(exist = false)
+ @Schema(description = "打印模板")
+ private List> printTemplates;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ProcessConfigVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ProcessConfigVO.java
index 4b267a0..1a3facb 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ProcessConfigVO.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ProcessConfigVO.java
@@ -62,5 +62,12 @@ public class ProcessConfigVO extends ProcessConfig {
@Schema(description = "状态名称")
private String statusName;
+ @TableField(exist = false)
+ @Schema(description = "当前运单是否有关联凭证")
+ private Boolean hasRelatedVoucher;
+
+ @TableField(exist = false)
+ @Schema(description = "关联项目是否已有运单")
+ private Boolean hasRelatedWaybill;
}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ProjectApplyVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ProjectApplyVO.java
index 8431d07..0b6fa77 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ProjectApplyVO.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ProjectApplyVO.java
@@ -29,6 +29,7 @@ import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.ProjectApply;
import java.io.Serial;
+import java.math.BigDecimal;
/**
* 项目立项视图实体类
@@ -79,4 +80,28 @@ public class ProjectApplyVO extends ProjectApply {
@Schema(description = "是否仅查询可用于临时额度申请的项目")
private Boolean temporaryCreditLimitSelectable;
+ @TableField(exist = false)
+ @Schema(description = "是否仅查询可用于合同选择的项目(含临时项目与正式审批通过项目)")
+ private Boolean contractSelectable;
+
+ @TableField(exist = false)
+ @Schema(description = "资金使用风险等级:high、medium、none")
+ private String fundUseRisk;
+
+ @TableField(exist = false)
+ @Schema(description = "资金使用风险名称")
+ private String fundUseRiskName;
+
+ @TableField(exist = false)
+ @Schema(description = "资金使用率(百分比)")
+ private BigDecimal fundUseRate;
+
+ @TableField(exist = false)
+ @Schema(description = "已使用资金金额")
+ private BigDecimal usedFundLimit;
+
+ @TableField(exist = false)
+ @Schema(description = "风险计算额度基数")
+ private BigDecimal maxFundLimit;
+
}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ReceiptClaimRecordVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ReceiptClaimRecordVO.java
new file mode 100644
index 0000000..9802b66
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ReceiptClaimRecordVO.java
@@ -0,0 +1,93 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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.ReceiptClaim;
+import org.springblade.transport.pojo.entity.ReceiptClaimSettlement;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serial;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 认领记录视图实体类
+ *
+ * @author Chill
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Schema(description = "认领记录视图实体类")
+public class ReceiptClaimRecordVO extends ReceiptClaim {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @TableField(exist = false)
+ private String receiptNoticeNo;
+ @TableField(exist = false)
+ private String payerName;
+ @TableField(exist = false)
+ private BigDecimal receiptAmount;
+ @TableField(exist = false)
+ private String counterpartyName;
+ @TableField(exist = false)
+ private String counterpartyAccount;
+ @TableField(exist = false)
+ private String counterpartyBank;
+ @TableField(exist = false)
+ private String summary;
+ @TableField(exist = false)
+ private LocalDateTime transactionTime;
+ @TableField(exist = false)
+ private String detailSerialNo;
+ @TableField(exist = false)
+ private String associatedSettlementNos;
+ @TableField(exist = false)
+ private String claimStatusName;
+ @TableField(exist = false)
+ private String kingdeeBillStatusName;
+ @TableField(exist = false)
+ private List settlements;
+ @TableField(exist = false)
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate transactionStartDate;
+ @TableField(exist = false)
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate transactionEndDate;
+ @TableField(exist = false)
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate claimStartDate;
+ @TableField(exist = false)
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate claimEndDate;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ReceiptFlowVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ReceiptFlowVO.java
new file mode 100644
index 0000000..b282c74
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ReceiptFlowVO.java
@@ -0,0 +1,78 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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.KingdeeReceiptFlow;
+import org.springblade.transport.pojo.entity.ReceiptFlowRecord;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serial;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 收款流水视图实体类
+ *
+ * @author Chill
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Schema(description = "收款流水视图实体类")
+public class ReceiptFlowVO extends KingdeeReceiptFlow {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @TableField(exist = false)
+ private String claimStatusName;
+ @TableField(exist = false)
+ private BigDecimal remainingAmount;
+ @TableField(exist = false)
+ private String createUserName;
+ @TableField(exist = false)
+ private String updateUserName;
+ @TableField(exist = false)
+ private String claimerName;
+ @TableField(exist = false)
+ private String claimerDeptName;
+ @TableField(exist = false)
+ private LocalDate claimDate;
+ @TableField(exist = false)
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime transactionStartTime;
+ @TableField(exist = false)
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime transactionEndTime;
+ @TableField(exist = false)
+ private List claimRecords = new ArrayList<>();
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ReceivablePayableDetailVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ReceivablePayableDetailVO.java
index c49f3b7..4485762 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ReceivablePayableDetailVO.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/ReceivablePayableDetailVO.java
@@ -47,6 +47,10 @@ public class ReceivablePayableDetailVO extends ReceivablePayableDetail {
@Serial
private static final long serialVersionUID = 1L;
+ @TableField(exist = false)
+ @Schema(description = "指定明细ID,多个使用逗号分隔")
+ private String ids;
+
@TableField(exist = false)
@Schema(description = "生成开始日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/SettlementAdjustmentVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/SettlementAdjustmentVO.java
new file mode 100644
index 0000000..ccbb245
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/SettlementAdjustmentVO.java
@@ -0,0 +1,23 @@
+package org.springblade.transport.pojo.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.transport.pojo.entity.SettlementAdjustment;
+import org.springblade.transport.pojo.entity.SettlementAdjustmentDetail;
+import org.springblade.transport.pojo.entity.FormalSettlementDetail;
+
+import java.time.LocalDate;
+import java.util.List;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SettlementAdjustmentVO extends SettlementAdjustment {
+ private LocalDate createStartDate;
+ private LocalDate createEndDate;
+ private String approvalStatusName;
+ private String settlementTypeName;
+ private String createUserName;
+ private String kingdeeBillNo;
+ private List details;
+ private List formalDetails;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/TransportPlanVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/TransportPlanVO.java
index f053294..49e6e89 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/TransportPlanVO.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/TransportPlanVO.java
@@ -27,9 +27,11 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.TransportPlan;
-import org.springblade.transport.pojo.entity.Waybill;
+import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
import java.util.List;
/**
@@ -60,13 +62,37 @@ public class TransportPlanVO extends TransportPlan {
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
+
+ @TableField(exist = false)
+ @Schema(description = "合同编号")
+ private String contractNo;
+
@TableField(exist = false)
@Schema(description = "业务状态名称")
private String businessStatusName;
@TableField(exist = false)
@Schema(description = "计划调度生成的运单")
- private List dispatchRows;
+ private List dispatchRows;
+ @TableField(exist = false)
+ @Schema(description = "计划开始日期起")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate planStartDateStart;
+
+ @TableField(exist = false)
+ @Schema(description = "计划开始日期止")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate planStartDateEnd;
+
+ @TableField(exist = false)
+ @Schema(description = "创建开始时间")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTimeStart;
+
+ @TableField(exist = false)
+ @Schema(description = "创建结束时间")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTimeEnd;
}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/TransportReconciliationVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/TransportReconciliationVO.java
new file mode 100644
index 0000000..5945ff5
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/TransportReconciliationVO.java
@@ -0,0 +1,31 @@
+/** BladeX Commercial License Agreement. Copyright (c) 2018-2099, https://bladex.cn. Author: Chill Zhuang. */
+package org.springblade.transport.pojo.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.transport.pojo.entity.TransportReconciliation;
+import org.springblade.transport.pojo.entity.TransportReconciliationChangeRecord;
+import org.springblade.transport.pojo.entity.TransportReconciliationExternal;
+import org.springblade.transport.pojo.entity.TransportReconciliationInternal;
+import org.springblade.transport.pojo.entity.FormalSettlementSummaryFee;
+
+import java.io.Serial;
+import java.util.List;
+
+/** 运输对账单视图实体类。 @author Chill */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class TransportReconciliationVO extends TransportReconciliation {
+ @Serial private static final long serialVersionUID = 1L;
+ @TableField(exist = false) private String createUserName;
+ @TableField(exist = false) private String ids;
+ @TableField(exist = false) private String updateUserName;
+ @TableField(exist = false) private String reconciliationModeName;
+ @TableField(exist = false) private String reconciliationStatusName;
+ @TableField(exist = false) private String matchStatusName;
+ @TableField(exist = false) private List internalDetails;
+ @TableField(exist = false) private List externalDetails;
+ @TableField(exist = false) private List feeSummary;
+ @TableField(exist = false) private List changeRecords;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/TransportVehicleVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/TransportVehicleVO.java
index 46acec1..7536d19 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/TransportVehicleVO.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/TransportVehicleVO.java
@@ -69,4 +69,11 @@ public class TransportVehicleVO extends TransportVehicle {
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate warningDate;
+ /**
+ * 绑定司机(按车牌反查司机驾驶车辆,多个用顿号拼接)
+ */
+ @TableField(exist = false)
+ @Schema(description = "绑定司机")
+ private String boundDriver;
+
}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/VehicleDispatchVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/VehicleDispatchVO.java
new file mode 100644
index 0000000..91544a8
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/VehicleDispatchVO.java
@@ -0,0 +1,61 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author
+ * is not liable for any claims arising from secondary or illegal development.
+ *
+ * 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.VehicleDispatch;
+
+import java.io.Serial;
+
+/**
+ * 车辆调度申请视图对象。
+ *
+ * @author Chill
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Schema(description = "车辆调度申请")
+public class VehicleDispatchVO extends VehicleDispatch {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @TableField(exist = false)
+ @Schema(description = "审批状态名称")
+ private String approvalStatusName;
+ @TableField(exist = false)
+ @Schema(description = "车辆类型")
+ private String vehicleType;
+ @TableField(exist = false)
+ @Schema(description = "创建人姓名")
+ private String createUserName;
+ @TableField(exist = false)
+ @Schema(description = "更新人姓名")
+ private String updateUserName;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/VoucherFileVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/VoucherFileVO.java
new file mode 100644
index 0000000..04cc4d5
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/VoucherFileVO.java
@@ -0,0 +1,35 @@
+package org.springblade.transport.pojo.vo;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 凭证解压文件详情。
+ */
+@Data
+public class VoucherFileVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ private Long id;
+ private Long voucherId;
+ private String voucherBatchNo;
+ private Long waybillId;
+ private String waybillNo;
+ private String plateNo;
+ private String folderName;
+ private String entryName;
+ private String fileName;
+ private String objectKey;
+ private Long fileSize;
+ private String contentType;
+ private String fileType;
+ private Integer matched;
+ private String url;
+ private Date createTime;
+ private Date updateTime;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/VoucherFolderVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/VoucherFolderVO.java
new file mode 100644
index 0000000..1f70c94
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/VoucherFolderVO.java
@@ -0,0 +1,34 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ */
+package org.springblade.transport.pojo.vo;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/** 执行凭证车牌文件夹详情。 */
+@Data
+public class VoucherFolderVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ private Long voucherId;
+ private String voucherBatchNo;
+ private String voucherNo;
+ private String plateNo;
+ private String folderName;
+ private Long waybillId;
+ private String waybillNo;
+ private Integer matched;
+ private String processStatus;
+ private String fileName;
+ private Date createTime;
+ private Date updateTime;
+ private List files;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/VoucherManageVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/VoucherManageVO.java
index bea50c6..aedf165 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/VoucherManageVO.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/VoucherManageVO.java
@@ -7,6 +7,7 @@ import org.springblade.transport.pojo.entity.VoucherManage;
import java.io.Serial;
import java.time.LocalDateTime;
+import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
@@ -16,4 +17,5 @@ public class VoucherManageVO extends VoucherManage {
@TableField(exist = false) private String updateUserName;
@TableField(exist = false) private LocalDateTime createTimeStart;
@TableField(exist = false) private LocalDateTime createTimeEnd;
+ @TableField(exist = false) private List voucherFiles;
}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillImportBatchVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillImportBatchVO.java
new file mode 100644
index 0000000..841236a
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillImportBatchVO.java
@@ -0,0 +1,25 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ */
+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.WaybillImportBatch;
+
+import java.io.Serial;
+
+/** 运单批次视图。 */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Schema(description = "运单批次视图")
+public class WaybillImportBatchVO extends WaybillImportBatch {
+ @Serial
+ private static final long serialVersionUID = 1L;
+ private String importTypeName;
+ private String statusName;
+ private String createUserName;
+ private String updateUserName;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillLocateVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillLocateVO.java
new file mode 100644
index 0000000..c3ce796
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillLocateVO.java
@@ -0,0 +1,74 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.vo;
+
+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.Map;
+
+/**
+ * 运单车辆实时定位结果
+ *
+ * @author Chill
+ */
+@Data
+@Schema(description = "运单车辆实时定位结果")
+public class WaybillLocateVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "运单ID")
+ private Long waybillId;
+
+ @Schema(description = "车牌号")
+ private String vehicleNo;
+
+ @Schema(description = "经度")
+ private BigDecimal longitude;
+
+ @Schema(description = "纬度")
+ private BigDecimal latitude;
+
+ @Schema(description = "地址")
+ private String address;
+
+ @Schema(description = "定位时间")
+ private String locateTime;
+
+ @Schema(description = "速度")
+ private String speed;
+
+ @Schema(description = "方向")
+ private String direction;
+
+ @Schema(description = "LBS原始数据")
+ private Map rawData;
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillPunchPhotoVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillPunchPhotoVO.java
new file mode 100644
index 0000000..e752b28
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillPunchPhotoVO.java
@@ -0,0 +1,38 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ */
+package org.springblade.transport.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 司机打卡上传图片(节点-凭证类型)
+ */
+@Data
+@Schema(description = "司机打卡上传图片")
+public class WaybillPunchPhotoVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "展示标签,如 装货-委托单")
+ private String label;
+
+ @Schema(description = "图片 URL")
+ private String url;
+
+ @Schema(description = "节点名称")
+ private String nodeName;
+
+ @Schema(description = "凭证类型")
+ private String voucherType;
+
+ @Schema(description = "打卡时间")
+ private String punchTime;
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillPunchRecordItemVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillPunchRecordItemVO.java
new file mode 100644
index 0000000..140d6bc
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillPunchRecordItemVO.java
@@ -0,0 +1,73 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ */
+package org.springblade.transport.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 管理端单条打卡记录
+ */
+@Data
+@Schema(description = "管理端单条打卡记录")
+public class WaybillPunchRecordItemVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "记录ID")
+ private Long id;
+
+ @Schema(description = "类型:node / enroute")
+ private String type;
+
+ @Schema(description = "节点 key")
+ private String nodeCode;
+
+ @Schema(description = "节点名称")
+ private String nodeName;
+
+ @Schema(description = "打卡时间")
+ private String punchTime;
+
+ @Schema(description = "打卡地址")
+ private String address;
+
+ @Schema(description = "经度")
+ private String longitude;
+
+ @Schema(description = "纬度")
+ private String latitude;
+
+ @Schema(description = "重量")
+ private String weight;
+
+ @Schema(description = "体积")
+ private String volume;
+
+ @Schema(description = "数量")
+ private String quantity;
+
+ @Schema(description = "备注")
+ private String remark;
+
+ @Schema(description = "是否异常")
+ private Boolean exceptionFlag;
+
+ @Schema(description = "是否已打卡")
+ private Boolean punched;
+
+ @Schema(description = "状态文案:已打卡/未打卡")
+ private String statusName;
+
+ @Schema(description = "本条打卡凭证图")
+ private List photos = new ArrayList<>();
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillPunchRecordsVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillPunchRecordsVO.java
new file mode 100644
index 0000000..85a5394
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillPunchRecordsVO.java
@@ -0,0 +1,31 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ */
+package org.springblade.transport.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 管理端运单打卡记录汇总
+ */
+@Data
+@Schema(description = "管理端运单打卡记录汇总")
+public class WaybillPunchRecordsVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "打卡流水(按时间升序,含节点/在途)")
+ private List records = new ArrayList<>();
+
+ @Schema(description = "司机上传凭证图(扁平列表,label=节点-凭证类型)")
+ private List driverUploads = new ArrayList<>();
+
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillTrackVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillTrackVO.java
new file mode 100644
index 0000000..44a9e1b
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillTrackVO.java
@@ -0,0 +1,95 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.transport.pojo.vo;
+
+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.ArrayList;
+import java.util.List;
+
+/**
+ * 运单历史轨迹结果
+ *
+ * @author Chill
+ */
+@Data
+@Schema(description = "运单历史轨迹结果")
+public class WaybillTrackVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "运单ID")
+ private Long waybillId;
+
+ @Schema(description = "车牌号")
+ private String vehicleNo;
+
+ @Schema(description = "开始日期")
+ private String startDate;
+
+ @Schema(description = "结束日期")
+ private String endDate;
+
+ @Schema(description = "轨迹点数量")
+ private Integer total;
+
+ @Schema(description = "轨迹点列表")
+ private List points = new ArrayList<>();
+
+ @Data
+ @Schema(description = "轨迹点")
+ public static class WaybillTrackPointVO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "车牌号")
+ private String vehicleNo;
+
+ @Schema(description = "经度")
+ private BigDecimal longitude;
+
+ @Schema(description = "纬度")
+ private BigDecimal latitude;
+
+ @Schema(description = "定位时间")
+ private String locateTime;
+
+ @Schema(description = "速度")
+ private String speed;
+
+ @Schema(description = "方向")
+ private String direction;
+
+ @Schema(description = "地址")
+ private String address;
+ }
+}
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillVO.java
index 590c804..cea37c3 100644
--- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillVO.java
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillVO.java
@@ -51,6 +51,10 @@ public class WaybillVO extends Waybill {
@Schema(description = "是否只读")
private Boolean readonly;
+ @TableField(exist = false)
+ @Schema(description = "是否允许维护里程")
+ private Boolean mileageMaintainable;
+
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
@@ -62,6 +66,10 @@ public class WaybillVO extends Waybill {
@Schema(description = "业务状态名称")
private String businessStatusName;
+ @TableField(exist = false)
+ @Schema(description = "是否需要司机确认接单(过程配置接单节点)")
+ private Boolean requireAccept;
+
@TableField(exist = false)
@Schema(description = "是否仅查询未配载运单")
private Integer onlyUnassignedLoading;
diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/service/ISettlementAdjustmentService.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/service/ISettlementAdjustmentService.java
new file mode 100644
index 0000000..aa4daff
--- /dev/null
+++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/service/ISettlementAdjustmentService.java
@@ -0,0 +1,23 @@
+package org.springblade.transport.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.transport.pojo.dto.SettlementAdjustmentSaveRequest;
+import org.springblade.transport.pojo.dto.SettlementAdjustmentStatusRequest;
+import org.springblade.transport.pojo.entity.SettlementAdjustment;
+import org.springblade.transport.pojo.vo.SettlementAdjustmentVO;
+
+import java.util.List;
+import java.util.Map;
+
+public interface ISettlementAdjustmentService {
+ IPage selectPage(IPage page, SettlementAdjustmentVO query);
+ SettlementAdjustmentVO detail(Long id);
+ List> candidateFormalSettlements(String keyword);
+ List> formalDetails(Long formalSettlementId);
+ Long saveDraft(SettlementAdjustmentSaveRequest request);
+ void removeDraft(Long id);
+ void submit(SettlementAdjustmentStatusRequest request);
+ void approve(SettlementAdjustmentStatusRequest request);
+ void returnBill(SettlementAdjustmentStatusRequest request);
+ String repush(Long adjustmentId);
+}
diff --git a/blade-service-api/blade-user-api/src/main/java/org/springblade/system/feign/IUserClient.java b/blade-service-api/blade-user-api/src/main/java/org/springblade/system/feign/IUserClient.java
index 3db4bef..50be69e 100644
--- a/blade-service-api/blade-user-api/src/main/java/org/springblade/system/feign/IUserClient.java
+++ b/blade-service-api/blade-user-api/src/main/java/org/springblade/system/feign/IUserClient.java
@@ -57,8 +57,11 @@ public interface IUserClient {
String USER_BY_ACCOUNT = API_PREFIX + "/user-by-account";
String USER_AUTH_INFO = API_PREFIX + "/user-auth-info";
String SAVE_USER = API_PREFIX + "/save-user";
+ String UPDATE_USER = API_PREFIX + "/update-user";
+ String SAVE_IAM_USER = API_PREFIX + "/save-iam-user";
String REGISTER_USER = API_PREFIX + "/register-user";
String REMOVE_USER = API_PREFIX + "/remove-user";
+ String BIND_WX_MINI_OPENID = API_PREFIX + "/bind-wx-mini-openid";
/**
* 获取用户信息
@@ -149,6 +152,24 @@ public interface IUserClient {
@PostMapping(SAVE_USER)
R saveUser(@RequestBody User user);
+ /**
+ * 更新用户
+ *
+ * @param user 用户实体
+ * @return
+ */
+ @PostMapping(UPDATE_USER)
+ R updateUser(@RequestBody User user);
+
+ /**
+ * 新建IAM用户
+ *
+ * @param user 用户实体
+ * @return 是否成功
+ */
+ @PostMapping(SAVE_IAM_USER)
+ R saveIamUser(@RequestBody User user);
+
/**
* 注册用户
*
@@ -167,4 +188,18 @@ public interface IUserClient {
@PostMapping(REMOVE_USER)
R removeUser(@RequestParam("tenantIds") String tenantIds);
+ /**
+ * 绑定微信小程序 openid(写入 blade_user_oauth,source=WECHAT_MINI)
+ *
+ * @param tenantId 租户ID
+ * @param userId 用户ID
+ * @param openid 微信 openid
+ * @param phone 手机号(可选,写入 username)
+ */
+ @PostMapping(BIND_WX_MINI_OPENID)
+ R bindWxMiniOpenId(@RequestParam("tenantId") String tenantId,
+ @RequestParam("userId") Long userId,
+ @RequestParam("openid") String openid,
+ @RequestParam(value = "phone", required = false) String phone);
+
}
diff --git a/blade-service-api/blade-user-api/src/main/java/org/springblade/system/pojo/dto/PhoneChangeDTO.java b/blade-service-api/blade-user-api/src/main/java/org/springblade/system/pojo/dto/PhoneChangeDTO.java
new file mode 100644
index 0000000..1743376
--- /dev/null
+++ b/blade-service-api/blade-user-api/src/main/java/org/springblade/system/pojo/dto/PhoneChangeDTO.java
@@ -0,0 +1,54 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.system.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 PhoneChangeDTO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "新手机号", requiredMode = Schema.RequiredMode.REQUIRED)
+ private String newPhone;
+
+ @Schema(description = "短信校验 ID(发送验证码接口返回)", requiredMode = Schema.RequiredMode.REQUIRED)
+ private String id;
+
+ @Schema(description = "新手机号短信验证码", requiredMode = Schema.RequiredMode.REQUIRED)
+ private String code;
+}
diff --git a/blade-service-api/blade-user-api/src/main/java/org/springblade/system/pojo/dto/PhoneVerifyDTO.java b/blade-service-api/blade-user-api/src/main/java/org/springblade/system/pojo/dto/PhoneVerifyDTO.java
new file mode 100644
index 0000000..79520b8
--- /dev/null
+++ b/blade-service-api/blade-user-api/src/main/java/org/springblade/system/pojo/dto/PhoneVerifyDTO.java
@@ -0,0 +1,51 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * Author: Chill Zhuang (bladejava@qq.com)
+ */
+package org.springblade.system.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 PhoneVerifyDTO implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "短信校验 ID(发送验证码接口返回)", requiredMode = Schema.RequiredMode.REQUIRED)
+ private String id;
+
+ @Schema(description = "短信验证码", requiredMode = Schema.RequiredMode.REQUIRED)
+ private String code;
+}
diff --git a/blade-service-api/pom.xml b/blade-service-api/pom.xml
index f62c479..5459124 100644
--- a/blade-service-api/pom.xml
+++ b/blade-service-api/pom.xml
@@ -21,6 +21,7 @@
blade-ratelimit-api
blade-scope-api
blade-system-api
+ blade-process-api
blade-user-api
blade-record-api
blade-file-api
diff --git a/blade-service/blade-file/src/main/java/org/springblade/file/FileApplication.java b/blade-service/blade-file/src/main/java/org/springblade/file/FileApplication.java
index 9499397..7870f66 100644
--- a/blade-service/blade-file/src/main/java/org/springblade/file/FileApplication.java
+++ b/blade-service/blade-file/src/main/java/org/springblade/file/FileApplication.java
@@ -27,6 +27,7 @@ package org.springblade.file;
import org.springblade.core.cloud.client.BladeCloudApplication;
import org.springblade.core.launch.BladeApplication;
+import org.springblade.core.launch.constant.AppConstant;
import org.springframework.context.annotation.ComponentScan;
/**
@@ -39,7 +40,9 @@ import org.springframework.context.annotation.ComponentScan;
public class FileApplication {
public static void main(String[] args) {
- BladeApplication.run("blade-file", FileApplication.class, args);
+ BladeApplication.disableNacosLaunchConfig();
+ BladeApplication.run(AppConstant.APPLICATION_FILE_NAME, FileApplication.class, args);
}
}
+
diff --git a/blade-service/blade-file/src/main/java/org/springblade/file/controller/FileController.java b/blade-service/blade-file/src/main/java/org/springblade/file/controller/FileController.java
index 37cab5d..5ac37ae 100644
--- a/blade-service/blade-file/src/main/java/org/springblade/file/controller/FileController.java
+++ b/blade-service/blade-file/src/main/java/org/springblade/file/controller/FileController.java
@@ -11,6 +11,7 @@ import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.log.annotation.ApiLog;
import org.springblade.core.tenant.annotation.NonDS;
+import org.springblade.core.tool.api.FR;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.file.listener.FileEvent;
@@ -57,29 +58,29 @@ public class FileController extends BladeController {
@ApiLog("附件管理-批量上传")
@Operation(summary = "OBS批量上传", description = "OBS批量上传,参数名:files")
@PostMapping("/ossUpload")
- public R ossUpload(MultipartFile[] files, @RequestParam(value = "fileName", required = false) String fileName) {
+ public FR ossUpload(MultipartFile[] files, @RequestParam(value = "fileName", required = false) String fileName) {
return attachmentService.batchOssUpload(files, fileName);
}
@Operation(summary = "上传", description = "上传,参数名:file")
@PostMapping("/upload")
- public R upload(MultipartFile file) {
+ public FR upload(MultipartFile file) {
MultipartFile[] files = {file};
R> result = attachmentService.batchOssUpload(files, null);
List data = result.getData();
- if(data != null && !data.isEmpty())return R.data(data.get(0));
- return R.fail("上传失败");
+ if(data != null && !data.isEmpty())return FR.data(data.get(0));
+ return FR.fail("上传失败");
}
@Operation(summary = "获取附件,多个附件id用逗号分割", description = "获取附件,多个附件id用逗号分割")
@GetMapping("/getAttachment")
- public R getAttachment(@RequestParam(value = "id") String id) {
- return R.data(attachmentService.getAttachment(id));
+ public FR getAttachment(@RequestParam(value = "id") String id) {
+ return FR.data(attachmentService.getAttachment(id));
}
@Operation(summary = "获取文件url", description = "获取文件url,参数:objectKey")
@GetMapping("/getFileUrl")
- public R getFileUrl(@RequestParam(value = "objectKey") String objectKey, @RequestParam(value = "attachmentName", required = false) String attachmentName) {
+ public FR getFileUrl(@RequestParam(value = "objectKey") String objectKey, @RequestParam(value = "attachmentName", required = false) String attachmentName) {
if (StringUtil.isBlank(attachmentName)) {
// 附件名为空,查询附件名
Attachment attachment = attachmentService.getOne(Wrappers.lambdaQuery()
@@ -94,7 +95,7 @@ public class FileController extends BladeController {
attachmentName = attachmentName.replaceAll(",", "_");
}
}
- return R.data(fileService.getFileUrl(objectKey, attachmentName, null));
+ return FR.data(fileService.getFileUrl(objectKey, attachmentName, null));
}
/**
@@ -104,9 +105,9 @@ public class FileController extends BladeController {
*/
@Operation(summary = "获取wps文件预览url", description = "获取wps文件预览url")
@GetMapping("/getWpsFilePreviewUrl")
- public R getWpsFilePreviewUrl(@NotNull(message = "附件id不能为空") @RequestParam(value = "attachmentId", required = false) String attachmentId,
+ public FR getWpsFilePreviewUrl(@NotNull(message = "附件id不能为空") @RequestParam(value = "attachmentId", required = false) String attachmentId,
@NotBlank(message = "附件名称不能为空") @RequestParam(value = "attachmentName", required = false) String attachmentName) {
- return R.data(wpsService.getFilePreviewUrl(attachmentId, attachmentName));
+ return FR.data(wpsService.getFilePreviewUrl(attachmentId, attachmentName));
}
/**
@@ -117,41 +118,41 @@ public class FileController extends BladeController {
*/
@Operation(summary = "获取wps文件编辑url", description = "获取wps文件编辑url")
@GetMapping("/getWpsFileEditUrl")
- public R getWpsFileEditUrl(@NotNull(message = "附件id不能为空") @RequestParam(value = "attachmentId", required = false) String attachmentId,
+ public FR getWpsFileEditUrl(@NotNull(message = "附件id不能为空") @RequestParam(value = "attachmentId", required = false) String attachmentId,
@NotBlank(message = "附件名称不能为空") @RequestParam(value = "attachmentName", required = false) String attachmentName) {
- return R.data(wpsService.getWpsFileEditUrl(attachmentId, attachmentName));
+ return FR.data(wpsService.getWpsFileEditUrl(attachmentId, attachmentName));
}
@Operation(summary = "批量获取文件url", description = "批量获取文件url,参数:objectKey数组")
@PostMapping("/getFileUrls")
- public R getFileUrls(@RequestBody List objectKeys) {
- return R.data(fileService.getFileUrls(objectKeys, null));
+ public FR getFileUrls(@RequestBody List objectKeys) {
+ return FR.data(fileService.getFileUrls(objectKeys, null));
}
@ApiLog("OCR识别-识别身份证")
@Operation(summary = "识别身份证信息支持正反面", description = "参数:url")
@GetMapping("/recognitionIDCard")
- public R recognitionIDCard(@RequestParam(value = "url", required = false) String url,
- @RequestParam(value = "objectKey", required = false) String objectKey) {
+ public FR recognitionIDCard(@RequestParam(value = "url", required = false) String url,
+ @RequestParam(value = "objectKey", required = false) String objectKey) {
String imageUrl = StringUtil.isNotBlank(url) ? url : objectKey;
if (StringUtil.isBlank(imageUrl)) {
- return R.fail("图片地址不能为空");
+ return FR.fail("图片地址不能为空");
}
if (!imageUrl.startsWith("http://") && !imageUrl.startsWith("https://")) {
imageUrl = fileService.getFileUrl(imageUrl, null);
}
- return R.data(ocrService.recognitionIDCard(List.of(imageUrl)));
+ return FR.data(ocrService.recognitionIDCard(List.of(imageUrl)));
}
@SentinelResource("ocr:batchCards")
@ApiLog("OCR识别-识别车辆运输凭证(不知道类型)")
@Operation(summary = "识别车辆运输凭证,不知道类型", description = "参数:objectKeylist")
@PostMapping("/recognitionTransportCertificates")
- public R recognitionTransportCertificates(
+ public FR recognitionTransportCertificates(
@RequestBody List attachments,
@RequestParam(value = "projectAbbreviation", required = false) String projectAbbreviation,
@RequestParam(value = "code", required = false) String code) {
- return R.data(ocrConvertService.recognitionTransportCertificate(
+ return FR.data(ocrConvertService.recognitionTransportCertificate(
buildCertificateBatchRecognitionDTO(attachments, projectAbbreviation, code)
));
}
diff --git a/blade-service/blade-file/src/main/java/org/springblade/file/service/IAttachmentService.java b/blade-service/blade-file/src/main/java/org/springblade/file/service/IAttachmentService.java
index 0a54e01..d423a13 100644
--- a/blade-service/blade-file/src/main/java/org/springblade/file/service/IAttachmentService.java
+++ b/blade-service/blade-file/src/main/java/org/springblade/file/service/IAttachmentService.java
@@ -26,6 +26,7 @@
package org.springblade.file.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.core.tool.api.FR;
import org.springblade.core.tool.api.R;
import org.springblade.file.pojo.entity.Attachment;
import org.springblade.file.pojo.vo.AttachmentDetailVO;
@@ -49,7 +50,7 @@ public interface IAttachmentService extends IService {
* @param fileName 文件名,如果 files只有1个,且fileName不为空,设置文件名为 fileName
* @return
*/
- R> batchOssUpload(MultipartFile[] files, String fileName);
+ FR> batchOssUpload(MultipartFile[] files, String fileName);
/**
* 获取附件,多个附件id用逗号分割
diff --git a/blade-service/blade-file/src/main/java/org/springblade/file/service/impl/AttachmentServiceImpl.java b/blade-service/blade-file/src/main/java/org/springblade/file/service/impl/AttachmentServiceImpl.java
index 67bd5fb..4a5195e 100644
--- a/blade-service/blade-file/src/main/java/org/springblade/file/service/impl/AttachmentServiceImpl.java
+++ b/blade-service/blade-file/src/main/java/org/springblade/file/service/impl/AttachmentServiceImpl.java
@@ -32,6 +32,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;
import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.tool.api.FR;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.SpringUtil;
@@ -78,7 +79,7 @@ public class AttachmentServiceImpl extends ServiceImpl> batchOssUpload(MultipartFile[] files, String overWriteFileName){
+ public FR> batchOssUpload(MultipartFile[] files, String overWriteFileName){
try {
List attachmentList = new ArrayList<>();
// 文件数量为1个,且重写的文件名不为空,使用重写的文件名,给uniapp上传使用,uniapp上传的文件名不是原始文件名
@@ -98,11 +99,11 @@ public class AttachmentServiceImpl extends ServiceImpl i
addParam.setUploadId(uploadId);
// 正在上传
addParam.setStatus(FileTaskStatus.UPLOADING.getCode());
+ // 文件任务创建即代表上传开始,显式记录时间,避免依赖自动填充导致上传时间为空。
+ addParam.setCreateTime(new Date());
// 兼容历史表未配置 is_deleted 默认值的场景。
addParam.setIsDeleted(0);
this.save(addParam);
@@ -344,7 +347,8 @@ public class FileTaskServiceImpl extends ServiceImpl i
.eq(StringUtil.isNotBlank(businessId), FileTask::getBusinessId, businessId)
.like(StringUtil.isNotBlank(attachmentName), FileTask::getAttachmentName, attachmentName)
.eq(StringUtil.isNotBlank(status), FileTask::getStatus, status)
- .orderByDesc(FileTask::getCreateTime));
+ .orderByDesc(FileTask::getCreateTime)
+ .orderByDesc(FileTask::getId));
return page.convert(this::getFileTaskUpdateVO);
}
diff --git a/blade-service/blade-file/src/main/resources/application.yml b/blade-service/blade-file/src/main/resources/application.yml
new file mode 100644
index 0000000..c182e2a
--- /dev/null
+++ b/blade-service/blade-file/src/main/resources/application.yml
@@ -0,0 +1,25 @@
+server:
+ port: 8107
+
+spring:
+ application:
+ name: blade-file
+ config:
+ import:
+ - nacos:blade.yaml?group=DEFAULT_GROUP&refreshEnabled=true
+ - nacos:blade-${spring.profiles.active}.yaml?group=DEFAULT_GROUP&refreshEnabled=true
+ - optional:nacos:${spring.application.name}-${spring.profiles.active}.yaml?group=DEFAULT_GROUP&refreshEnabled=true
+ cloud:
+ nacos:
+ username: ${NACOS_USERNAME:${NACOS_PROD_USERNAME:nacos}}
+ password: ${NACOS_PASSWORD:${NACOS_PROD_PASSWORD:nacos}}
+ server-addr: ${NACOS_HOST:${NACOS_PROD_HOST:127.0.0.1:8848}}
+ discovery:
+ namespace: "${NACOS_NAMESPACE:}"
+ config:
+ file-extension: yaml
+ namespace: "${NACOS_NAMESPACE:}"
+ datasource:
+ url: ${blade.datasource.${spring.profiles.active}.url}
+ username: ${blade.datasource.${spring.profiles.active}.username}
+ password: ${blade.datasource.${spring.profiles.active}.password}
diff --git a/blade-service/blade-file/src/main/resources/bootstrap-dev.yml b/blade-service/blade-file/src/main/resources/bootstrap-dev.yml
deleted file mode 100644
index 303fc85..0000000
--- a/blade-service/blade-file/src/main/resources/bootstrap-dev.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-#spring:
-# cloud:
-# nacos:
-# username: nacos
-# password: ${NACOS_PASSWORD:gr30wIs5%Hi7keQj}
-# server-addr: ${NACOS_ADDR:10.38.16.127:8848}
diff --git a/blade-service/blade-file/src/main/resources/bootstrap-prod.yml b/blade-service/blade-file/src/main/resources/bootstrap-prod.yml
deleted file mode 100644
index 673f396..0000000
--- a/blade-service/blade-file/src/main/resources/bootstrap-prod.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-#spring:
-# cloud:
-# nacos:
-# username: nacos
-# password: rWrMrVTWyf%ekjuw
-# server-addr: ${NACOS_ADDR:192.168.0.242:8848}
diff --git a/blade-service/blade-file/src/main/resources/bootstrap-test.yml b/blade-service/blade-file/src/main/resources/bootstrap-test.yml
deleted file mode 100644
index 7586f5a..0000000
--- a/blade-service/blade-file/src/main/resources/bootstrap-test.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-#server:
-# port: 38107
-#spring:
-# cloud:
-# nacos:
-# username: nacos
-# password: gr30wIs5%Hi7keQj
-# server-addr: ${NACOS_ADDR:10.38.16.127:8848}
diff --git a/blade-service/blade-openapi/pom.xml b/blade-service/blade-openapi/pom.xml
index 08e98ac..50180e1 100644
--- a/blade-service/blade-openapi/pom.xml
+++ b/blade-service/blade-openapi/pom.xml
@@ -26,6 +26,10 @@
org.springblade
blade-starter-swagger