1、新增百度OCR

2、新增应收应付
This commit is contained in:
2026-08-18 01:41:37 +08:00
parent 6c74983707
commit 176035ab95
35 changed files with 2255 additions and 74 deletions
@@ -0,0 +1,59 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
*/
package org.springblade.transport.pojo.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
/**
* 应收应付费用调整请求
*
* @author Chill
*/
@Data
@Schema(description = "应收应付费用调整请求")
public class ReceivablePayableAdjustFeeRequest implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "应收应付明细ID")
private Long detailId;
@Schema(description = "调整原因")
private String adjustReason;
@Schema(description = "费用调整行")
private List<AdjustRow> rows;
@Data
@Schema(description = "费用调整行")
public static class AdjustRow implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "费用行ID")
private Long id;
@Schema(description = "运输量")
private BigDecimal transportQuantity;
@Schema(description = "里程")
private BigDecimal mileage;
@Schema(description = "运输费")
private BigDecimal freightAmount;
@Schema(description = "动态费用项目")
private Map<String, BigDecimal> feeItems;
}
}
@@ -46,6 +46,9 @@ public class ReceivablePayableGenerateRequest implements Serializable {
@Schema(description = "合同ID")
private Long contractId;
@Schema(description = "结算类型:receivable/payable")
private String settlementType;
@Schema(description = "计费方案ID")
private String billingPlanId;
@@ -28,6 +28,7 @@ import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;
import java.math.BigDecimal;
/**
* 应收应付更新费用请求
@@ -47,12 +48,21 @@ public class ReceivablePayableUpdateFeeRequest implements Serializable {
@Schema(description = "合同ID")
private Long contractId;
@Schema(description = "结算类型:receivable/payable")
private String settlementType;
@Schema(description = "计费方案ID")
private String billingPlanId;
@Schema(description = "调整原因")
private String adjustReason;
@Schema(description = "手工调差金额,可正可负")
private BigDecimal adjustAmount;
@Schema(description = "手工调差费用项")
private String adjustFeeItem;
@Schema(description = "仅关闭")
private Boolean closeOnly;
@@ -134,6 +134,9 @@ public class ContractManage extends TenantEntity {
@Schema(description = "计费信息开关")
private Integer billingEnabled;
@Schema(description = "费用生成模式:system系统生成,manual手动生成")
private String feeGenerationMode;
@Schema(description = "合同主文件JSON")
private String contractFileJson;
@@ -146,6 +149,15 @@ public class ContractManage extends TenantEntity {
@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;
@@ -0,0 +1,60 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.entity;
import com.baomidou.mybatisplus.annotation.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;
/** 字段映射配置JSON。 */
@TableField("mapping_config")
@Schema(description = "字段映射配置JSON")
private String mappingConfig;
}
@@ -0,0 +1,59 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import 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<String, Object> result;
}
@@ -0,0 +1,59 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.transport.pojo.entity.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;
}