Merge remote-tracking branch 'origin/master' into dev
This commit is contained in:
+18
@@ -73,7 +73,9 @@ public interface ISysClient {
|
||||
String REGION = API_PREFIX + "/region";
|
||||
String FEE_ITEMS = API_PREFIX + "/fee-items";
|
||||
String CARGO_TYPES = API_PREFIX + "/cargo-types";
|
||||
String MEASUREMENT_UNITS = API_PREFIX + "/measurement-units";
|
||||
String PERMISSIONS = API_PREFIX + "/permissions";
|
||||
String INVOICE_ITEMS = API_PREFIX + "/invoice-items";
|
||||
|
||||
/**
|
||||
* 获取菜单
|
||||
@@ -317,6 +319,14 @@ public interface ISysClient {
|
||||
@GetMapping(CARGO_TYPES)
|
||||
R<List<CargoType>> getCargoTypes();
|
||||
|
||||
/**
|
||||
* 获取计量单位档案(金蝶推送按计费单位名称匹配取计量单位编码)
|
||||
*
|
||||
* @return 计量单位集合
|
||||
*/
|
||||
@GetMapping(MEASUREMENT_UNITS)
|
||||
R<List<MeasurementUnit>> getMeasurementUnits();
|
||||
|
||||
/**
|
||||
* 获取角色权限标识集合(按钮编号)
|
||||
*
|
||||
@@ -326,4 +336,12 @@ public interface ISysClient {
|
||||
@GetMapping(PERMISSIONS)
|
||||
R<List<String>> getPermissions(@RequestParam("roleId") String roleId);
|
||||
|
||||
/**
|
||||
* 获取启用的开票项目(含税收分类编码,开票申请推送金蝶按分类+简称匹配取数)
|
||||
*
|
||||
* @return 开票项目集合
|
||||
*/
|
||||
@GetMapping(INVOICE_ITEMS)
|
||||
R<List<InvoiceItem>> getInvoiceItems();
|
||||
|
||||
}
|
||||
|
||||
+10
@@ -174,9 +174,19 @@ public class ISysClientFallback implements ISysClient {
|
||||
return R.fail("获取数据失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<List<MeasurementUnit>> getMeasurementUnits() {
|
||||
return R.fail("获取数据失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<List<String>> getPermissions(String roleId) {
|
||||
return R.fail("获取数据失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<List<InvoiceItem>> getInvoiceItems() {
|
||||
return R.fail("获取数据失败");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+23
-18
@@ -4,29 +4,34 @@ import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 部门类型枚举
|
||||
* 组织类型枚举,与业务字典 organization_type 对齐
|
||||
*
|
||||
* @author bfhuange
|
||||
* @date 2024/8/26
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public enum DeptCategory {
|
||||
/**
|
||||
* 公司
|
||||
*/
|
||||
COMPANY(1, "公司"),
|
||||
/**
|
||||
* 部门
|
||||
*/
|
||||
DEPT(2, "部门"),
|
||||
;
|
||||
/**
|
||||
* 集团
|
||||
*/
|
||||
GROUP(1, "集团"),
|
||||
/**
|
||||
* 公司
|
||||
*/
|
||||
COMPANY(2, "公司"),
|
||||
/**
|
||||
* 部门
|
||||
*/
|
||||
DEPT(3, "部门"),
|
||||
;
|
||||
|
||||
/**
|
||||
* 部门类型编码
|
||||
*/
|
||||
private final Integer code;
|
||||
/**
|
||||
* 部门类型名称
|
||||
*/
|
||||
private final String name;
|
||||
/**
|
||||
* 组织类型编码
|
||||
*/
|
||||
private final Integer code;
|
||||
/**
|
||||
* 组织类型名称
|
||||
*/
|
||||
private final String name;
|
||||
}
|
||||
|
||||
+3
@@ -69,4 +69,7 @@ public class OaOrgSyncPageVO implements Serializable {
|
||||
|
||||
@Schema(description = "增量同步使用的 OA modified 起始时间,后续分页需原样回传")
|
||||
private String modifiedSince;
|
||||
|
||||
@Schema(description = "全量同步结束后原始数据层级 JSON 文件路径")
|
||||
private String dumpFilePath;
|
||||
}
|
||||
|
||||
+3
@@ -66,4 +66,7 @@ public class OaPersonSyncPageVO implements Serializable {
|
||||
|
||||
@Schema(description = "增量同步使用的 OA modified 起始时间,后续分页需原样回传")
|
||||
private String modifiedSince;
|
||||
|
||||
@Schema(description = "全量同步结束后原始数据层级 JSON 文件路径")
|
||||
private String dumpFilePath;
|
||||
}
|
||||
|
||||
+2
@@ -32,6 +32,8 @@ public class FormalSettlementSaveRequest implements Serializable {
|
||||
private String remark;
|
||||
private List<SummaryFee> summaryFees;
|
||||
private List<Invoice> invoices;
|
||||
/** 项目预付核销 */
|
||||
private List<SettlementProjectAdvanceWriteOffRequest> projectAdvanceWriteOffs;
|
||||
|
||||
@Data
|
||||
public static class DetailAdjustment implements Serializable {
|
||||
|
||||
+1
@@ -71,6 +71,7 @@ public class InvoiceApplicationSaveRequest implements Serializable {
|
||||
@Serial private static final long serialVersionUID = 1L;
|
||||
private String goodsCategory;
|
||||
private String goodsName;
|
||||
private String taxClassificationCode;
|
||||
private String unit;
|
||||
private BigDecimal quantity;
|
||||
private BigDecimal unitPriceNoTax;
|
||||
|
||||
-3
@@ -42,7 +42,6 @@ import java.util.List;
|
||||
public class InvoiceReceiptSaveRequest implements Serializable {
|
||||
@Serial private static final long serialVersionUID = 1L;
|
||||
private Long id;
|
||||
private Long kingdeeInvoicePoolId;
|
||||
private String invoiceNo;
|
||||
private LocalDate invoiceDate;
|
||||
private String invoiceType;
|
||||
@@ -54,8 +53,6 @@ public class InvoiceReceiptSaveRequest implements Serializable {
|
||||
private String bankName;
|
||||
private String bankAccount;
|
||||
private String issuingBank;
|
||||
private String kingdeeBillNo;
|
||||
private String kingdeeStatus;
|
||||
private String phone;
|
||||
private String customerEmails;
|
||||
private String departmentEmails;
|
||||
|
||||
+116
@@ -0,0 +1,116 @@
|
||||
/**
|
||||
* 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>
|
||||
* 2. Redistribution of this software's source code to any third party
|
||||
* without a commercial license is strictly prohibited.
|
||||
* <p>
|
||||
* 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 the License, and the software
|
||||
* must not be used for illegal purposes.
|
||||
* <p>
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
package org.springblade.transport.pojo.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 金蝶票据池镜像统一查询条件(收票登记选票与正式结算单认领共用,查本地镜像)
|
||||
*
|
||||
* @author Chill
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "金蝶票据池镜像统一查询条件")
|
||||
public class KingdeeInvoicePoolQueryDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 当前页
|
||||
*/
|
||||
@Schema(description = "当前页")
|
||||
private Long current = 1L;
|
||||
|
||||
/**
|
||||
* 每页条数
|
||||
*/
|
||||
@Schema(description = "每页条数")
|
||||
private Long size = 10L;
|
||||
|
||||
/**
|
||||
* 发票号码,模糊
|
||||
*/
|
||||
@Schema(description = "发票号码(模糊)")
|
||||
private String invoiceNo;
|
||||
|
||||
/**
|
||||
* 开票日期起 yyyy-MM-dd
|
||||
*/
|
||||
@Schema(description = "开票日期起 yyyy-MM-dd")
|
||||
private String invoiceDateStart;
|
||||
|
||||
/**
|
||||
* 开票日期止 yyyy-MM-dd
|
||||
*/
|
||||
@Schema(description = "开票日期止 yyyy-MM-dd")
|
||||
private String invoiceDateEnd;
|
||||
|
||||
/**
|
||||
* 开票单位(销方名称),模糊
|
||||
*/
|
||||
@Schema(description = "开票单位(销方名称,模糊)")
|
||||
private String salerName;
|
||||
|
||||
/**
|
||||
* 受票单位(购方名称),模糊
|
||||
*/
|
||||
@Schema(description = "受票单位(购方名称,模糊)")
|
||||
private String buyerName;
|
||||
|
||||
/**
|
||||
* 发票类型编码(票易通字典,如 26/27,镜像按 invoice_type_code 精确匹配)
|
||||
*/
|
||||
@Schema(description = "发票类型编码(票易通字典,如 26/27)")
|
||||
private String invoiceType;
|
||||
|
||||
/**
|
||||
* 销方税号,精确
|
||||
*/
|
||||
@Schema(description = "销方税号")
|
||||
private String salerTaxNo;
|
||||
|
||||
/**
|
||||
* 购方税号,精确
|
||||
*/
|
||||
@Schema(description = "购方税号")
|
||||
private String buyerTaxNo;
|
||||
|
||||
/**
|
||||
* 认领过滤:true 仅已认领,false 仅未认领,null 不过滤(已认领=存在非作废正式结算单发票行)
|
||||
*/
|
||||
@Schema(description = "认领过滤:true已认领/false未认领/null不限")
|
||||
private Boolean claimed;
|
||||
|
||||
/**
|
||||
* 登记过滤:true 仅已登记,false 仅未登记,null 不过滤(已登记=存在非作废收票登记)
|
||||
*/
|
||||
@Schema(description = "登记过滤:true已登记/false未登记/null不限")
|
||||
private Boolean registered;
|
||||
}
|
||||
+3
@@ -76,6 +76,9 @@ public class PreSettlementSaveRequest implements Serializable {
|
||||
@Schema(description = "结算合计费用")
|
||||
private List<SummaryFee> summaryFees;
|
||||
|
||||
@Schema(description = "项目预付核销")
|
||||
private List<SettlementProjectAdvanceWriteOffRequest> projectAdvanceWriteOffs;
|
||||
|
||||
@Data
|
||||
@Schema(description = "结算合计费用")
|
||||
public static class SummaryFee implements Serializable {
|
||||
|
||||
+70
@@ -0,0 +1,70 @@
|
||||
/**
|
||||
* 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
|
||||
* is strictly prohibited.
|
||||
* <p>
|
||||
* 3. Licensees may copyright their own code but cannot use segments
|
||||
* from this software for their own commercial purposes.
|
||||
* <p>
|
||||
* Using this software signifies agreement to this license agreement and terms of use,
|
||||
* and you expressly agree to be bound by the terms of use of this software.
|
||||
* <p>
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
* <p>
|
||||
* Author: Chill Zhuang (bladejava@qq.com)
|
||||
*/
|
||||
package org.springblade.transport.pojo.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 收款认领推送金蝶结果(A301-3)
|
||||
* <p>
|
||||
* 推送失败不抛异常跨事务边界(保证失败状态落库不被回滚),以本结果对象向调用方报告成败与原因。
|
||||
*
|
||||
* @author Chill
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "收款认领推送金蝶结果")
|
||||
public class ReceiptClaimPushResult implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "是否推送成功")
|
||||
private boolean success;
|
||||
|
||||
@Schema(description = "金蝶收款单号(成功时返回,可能为空:金蝶响应未返回单号)")
|
||||
private String kingdeeBillNo;
|
||||
|
||||
@Schema(description = "失败原因(成功时为空)")
|
||||
private String message;
|
||||
|
||||
public static ReceiptClaimPushResult success(String kingdeeBillNo) {
|
||||
ReceiptClaimPushResult result = new ReceiptClaimPushResult();
|
||||
result.setSuccess(true);
|
||||
result.setKingdeeBillNo(kingdeeBillNo);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static ReceiptClaimPushResult fail(String message) {
|
||||
ReceiptClaimPushResult result = new ReceiptClaimPushResult();
|
||||
result.setSuccess(false);
|
||||
result.setMessage(message);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
+107
@@ -0,0 +1,107 @@
|
||||
/**
|
||||
* BladeX Commercial License Agreement
|
||||
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
|
||||
* <p>
|
||||
* Use of this software is governed by the Commercial License Agreement
|
||||
* obtained after purchasing a license from BladeX.
|
||||
* <p>
|
||||
* 1. This software is for development use only under a valid license
|
||||
* from BladeX.
|
||||
* <p>
|
||||
* 2. Redistribution of this software's source code to any third party
|
||||
* without a commercial license is strictly prohibited.
|
||||
* <p>
|
||||
* 3. Licensees may copyright their own code but cannot use segments
|
||||
* from this software for such purposes. Copyright of this software
|
||||
* remains with BladeX.
|
||||
* <p>
|
||||
* Using this software signifies agreement to this License, and the software
|
||||
* must not be used for illegal purposes.
|
||||
* <p>
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
|
||||
* not liable for any claims arising from secondary or illegal development.
|
||||
* <p>
|
||||
* Author: Chill Zhuang (bladejava@qq.com)
|
||||
*/
|
||||
package org.springblade.transport.pojo.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 导入结算单请求(列表筛选 + 确认/草稿入参)
|
||||
*
|
||||
* @author Chill
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "导入结算单请求")
|
||||
public class SettlementImportBatchRequest implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "主键")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "批次号")
|
||||
private String batchNo;
|
||||
|
||||
@Schema(description = "项目ID")
|
||||
private Long projectId;
|
||||
|
||||
@Schema(description = "项目名称")
|
||||
private String projectName;
|
||||
|
||||
@Schema(description = "结算类型 receivable/payable")
|
||||
private String settlementType;
|
||||
|
||||
@Schema(description = "结算单类型 formal/pre,应收仅 formal")
|
||||
private String settlementBillType;
|
||||
|
||||
@Schema(description = "客户合同ID")
|
||||
private Long customerContractId;
|
||||
|
||||
@Schema(description = "客户合同名称")
|
||||
private String customerContractName;
|
||||
|
||||
@Schema(description = "客户名称")
|
||||
private String customerName;
|
||||
|
||||
@Schema(description = "承运商合同ID")
|
||||
private Long carrierContractId;
|
||||
|
||||
@Schema(description = "承运商合同名称")
|
||||
private String carrierContractName;
|
||||
|
||||
@Schema(description = "承运商名称")
|
||||
private String carrierName;
|
||||
|
||||
@Schema(description = "运单模式:new=新运单,history=历史运单")
|
||||
private String waybillMode;
|
||||
|
||||
@Schema(description = "导入状态")
|
||||
private String importStatus;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
@Schema(description = "动态费用列名")
|
||||
private List<String> feeItemNames;
|
||||
|
||||
@Schema(description = "导入明细行")
|
||||
private List<Map<String, Object>> rows;
|
||||
|
||||
@Schema(description = "分批追加")
|
||||
private Boolean append;
|
||||
|
||||
@Schema(description = "列表筛选:项目名称")
|
||||
private String projectNameLike;
|
||||
|
||||
@Schema(description = "列表筛选:创建人")
|
||||
private Long createUser;
|
||||
}
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
/**
|
||||
* BladeX Commercial License Agreement
|
||||
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
|
||||
* <p>
|
||||
* Use of this software is governed by the Commercial License Agreement
|
||||
* obtained after purchasing a license from BladeX.
|
||||
* <p>
|
||||
* 1. This software is for development use only under a valid license
|
||||
* from BladeX.
|
||||
* <p>
|
||||
* 2. Redistribution of this software's source code to any third party
|
||||
* without a commercial license is strictly prohibited.
|
||||
* <p>
|
||||
* 3. Licensees may copyright their own code but cannot use segments
|
||||
* from this software for such purposes. Copyright of this software
|
||||
* remains with BladeX.
|
||||
* <p>
|
||||
* Using this software signifies agreement to this License, and the software
|
||||
* must not be used for illegal purposes.
|
||||
* <p>
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
|
||||
* not liable for any claims arising from secondary or illegal development.
|
||||
* <p>
|
||||
* Author: Chill Zhuang (bladejava@qq.com)
|
||||
*/
|
||||
package org.springblade.transport.pojo.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 导入结算单作废请求
|
||||
*
|
||||
* @author Chill
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "导入结算单作废请求")
|
||||
public class SettlementImportVoidRequest implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "批次主键")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "作废原因")
|
||||
private String reason;
|
||||
}
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
/**
|
||||
* BladeX Commercial License Agreement
|
||||
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
|
||||
* <p>
|
||||
* Use of this software is governed by the Commercial License Agreement
|
||||
* obtained after purchasing a license from BladeX.
|
||||
* <p>
|
||||
* 1. This software is for development use only under a valid license
|
||||
* from BladeX.
|
||||
* <p>
|
||||
* 2. Redistribution of this software's source code to any third party
|
||||
* without a commercial license is strictly prohibited.
|
||||
* <p>
|
||||
* 3. Licensees may copyright their own code but cannot use segments
|
||||
* from this software for such purposes. Copyright of this software
|
||||
* remains with BladeX.
|
||||
* <p>
|
||||
* Using this software signifies agreement to this License, and the software
|
||||
* must not be used for illegal purposes.
|
||||
* <p>
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
|
||||
* not liable for any claims arising from secondary or illegal development.
|
||||
* <p>
|
||||
* Author: Chill Zhuang (bladejava@qq.com)
|
||||
*/
|
||||
package org.springblade.transport.pojo.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 结算单项目预付核销保存行
|
||||
*
|
||||
* @author Chill
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "结算单项目预付核销保存行")
|
||||
public class SettlementProjectAdvanceWriteOffRequest implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "项目预付付款申请ID")
|
||||
private Long paymentApplicationId;
|
||||
|
||||
@Schema(description = "本次核销金额")
|
||||
private BigDecimal writeOffAmount;
|
||||
|
||||
}
|
||||
+9
@@ -161,4 +161,13 @@ public class CustomerArchive extends TenantEntity {
|
||||
@Schema(description = "审核通过时间")
|
||||
private LocalDateTime approvedTime;
|
||||
|
||||
@Schema(description = "金蝶协同状态:none未推送/exist金蝶已有/synced已推送/failed推送失败")
|
||||
private String kingdeeStatus;
|
||||
|
||||
@Schema(description = "金蝶推送失败原因")
|
||||
private String kingdeeFailReason;
|
||||
|
||||
@Schema(description = "金蝶推送时间")
|
||||
private LocalDateTime kingdeeSyncTime;
|
||||
|
||||
}
|
||||
|
||||
+108
@@ -21,6 +21,8 @@ import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 正式结算单实体类
|
||||
* <p>
|
||||
* 结算单主表,明细快照见 {@link FormalSettlementDetail},合计费用见 {@link FormalSettlementSummaryFee}
|
||||
*
|
||||
* @author Chill
|
||||
*/
|
||||
@@ -30,38 +32,144 @@ import java.time.LocalDateTime;
|
||||
@Schema(description = "正式结算单")
|
||||
public class FormalSettlement extends TenantEntity {
|
||||
@Serial private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 正式结算单号(同租户唯一)
|
||||
*/
|
||||
private String formalSettlementNo;
|
||||
/**
|
||||
* 来源类型:预结算合并/应收应付/混合来源
|
||||
*/
|
||||
private String sourceType;
|
||||
/**
|
||||
* 结算类型:receivable-应收 payable-应付
|
||||
*/
|
||||
private String settlementType;
|
||||
/**
|
||||
* 所属项目ID
|
||||
*/
|
||||
private Long projectId;
|
||||
/**
|
||||
* 所属项目名称
|
||||
*/
|
||||
private String projectName;
|
||||
/**
|
||||
* 所属组织ID
|
||||
*/
|
||||
private Long deptId;
|
||||
/**
|
||||
* 所属组织名称
|
||||
*/
|
||||
private String deptName;
|
||||
/**
|
||||
* 结算合同ID
|
||||
*/
|
||||
private Long contractId;
|
||||
/**
|
||||
* 结算合同编号
|
||||
*/
|
||||
private String contractNo;
|
||||
/**
|
||||
* 结算合同名称
|
||||
*/
|
||||
private String contractName;
|
||||
/**
|
||||
* 付款方名称
|
||||
*/
|
||||
private String payerName;
|
||||
/**
|
||||
* 收款方名称
|
||||
*/
|
||||
private String payeeName;
|
||||
/**
|
||||
* 结算币种,默认 RMB
|
||||
*/
|
||||
private String currency;
|
||||
/**
|
||||
* 结算金额(结算币种,含全部合计费用)
|
||||
*/
|
||||
private BigDecimal settlementAmount;
|
||||
/**
|
||||
* 本位币,默认 RMB
|
||||
*/
|
||||
private String localCurrency;
|
||||
/**
|
||||
* 本位币结算金额 = 结算金额 × 结算汇率
|
||||
*/
|
||||
private BigDecimal localSettlementAmount;
|
||||
/**
|
||||
* 已申请付款金额,含来源预结算的预付
|
||||
*/
|
||||
private BigDecimal appliedPaymentAmount;
|
||||
/**
|
||||
* 已收/已付金额合计,含来源预结算的预付
|
||||
*/
|
||||
private BigDecimal paidAmount;
|
||||
/**
|
||||
* 剩余可付金额 = 结算金额 - 已收已付合计,最小为 0
|
||||
*/
|
||||
private BigDecimal remainingPayableAmount;
|
||||
/**
|
||||
* 已开票/已收票金额,取开票申请与收票登记的分摊合计
|
||||
*/
|
||||
private BigDecimal invoiceAmount;
|
||||
/**
|
||||
* 汇率日期
|
||||
*/
|
||||
private LocalDate exchangeRateDate;
|
||||
/**
|
||||
* 结算汇率
|
||||
*/
|
||||
private BigDecimal exchangeRate;
|
||||
/**
|
||||
* 开票状态(应收为开票、应付为收票):unreceived-未开票 partial-部分开票 completed-已开票
|
||||
*/
|
||||
private String invoiceStatus;
|
||||
/**
|
||||
* 收付款状态:unpaid-未收付款 partial-部分收付款 paid-已收付款
|
||||
*/
|
||||
private String paymentStatus;
|
||||
/**
|
||||
* 审核状态:draft-草稿 reviewing-审批中 approved-审批通过 returned-已驳回 voided-已作废
|
||||
*/
|
||||
private String approvalStatus;
|
||||
/**
|
||||
* 当前审批节点,如「草稿」「财务审核」「审批通过」
|
||||
*/
|
||||
private String currentNode;
|
||||
/**
|
||||
* 当前处理人姓名
|
||||
*/
|
||||
private String currentProcessor;
|
||||
/**
|
||||
* 金蝶单据编号
|
||||
*/
|
||||
private String kingdeeBillNo;
|
||||
/**
|
||||
* 金蝶单据id(星瀚内部主键,A902 附件上传定位用)
|
||||
*/
|
||||
private String kingdeeBillId;
|
||||
/**
|
||||
* 金蝶同步状态:unsynced-未同步 synced-已同步 failed-同步失败
|
||||
*/
|
||||
private String kingdeeSyncStatus;
|
||||
/**
|
||||
* 附件JSON
|
||||
*/
|
||||
private String attachmentsJson;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 审核通过时间
|
||||
*/
|
||||
private LocalDateTime approvedTime;
|
||||
/**
|
||||
* 同步金蝶时间
|
||||
*/
|
||||
private LocalDateTime syncedTime;
|
||||
/**
|
||||
* 作废原因,驳回时记录驳回原因
|
||||
*/
|
||||
private String voidReason;
|
||||
}
|
||||
|
||||
+99
@@ -27,37 +27,136 @@ import java.time.LocalDateTime;
|
||||
@TableName("blade_formal_settlement_detail")
|
||||
public class FormalSettlementDetail extends TenantEntity {
|
||||
@Serial private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 正式结算单ID
|
||||
*/
|
||||
private Long formalSettlementId;
|
||||
/**
|
||||
* 来源预结算单ID
|
||||
*/
|
||||
private Long sourcePreSettlementId;
|
||||
/**
|
||||
* 来源预结算明细ID
|
||||
*/
|
||||
private Long sourcePreSettlementDetailId;
|
||||
/**
|
||||
* 来源应收应付明细ID
|
||||
*/
|
||||
private Long sourceDetailId;
|
||||
/**
|
||||
* 行号
|
||||
*/
|
||||
private Integer lineNo;
|
||||
/**
|
||||
* 单据编号
|
||||
*/
|
||||
private String documentNo;
|
||||
/**
|
||||
* 运单ID
|
||||
*/
|
||||
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;
|
||||
/**
|
||||
* 费用项JSON
|
||||
*/
|
||||
private String feeItemsJson;
|
||||
/**
|
||||
* 原金额
|
||||
*/
|
||||
private BigDecimal originalAmount;
|
||||
/**
|
||||
* 调整金额
|
||||
*/
|
||||
private BigDecimal adjustAmount;
|
||||
/**
|
||||
* 结算金额(含税)
|
||||
*/
|
||||
private BigDecimal settlementAmountTax;
|
||||
/**
|
||||
* 结算金额(不含税)
|
||||
*/
|
||||
private BigDecimal settlementAmountNoTax;
|
||||
/**
|
||||
* 币种
|
||||
*/
|
||||
private String currency;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
}
|
||||
|
||||
+48
@@ -26,20 +26,68 @@ import java.math.BigDecimal;
|
||||
@TableName("blade_formal_settlement_detail_fee")
|
||||
public class FormalSettlementDetailFee extends TenantEntity {
|
||||
@Serial private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 正式结算明细ID
|
||||
*/
|
||||
private Long formalSettlementDetailId;
|
||||
/**
|
||||
* 源费用行ID
|
||||
*/
|
||||
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;
|
||||
/**
|
||||
* 费用项JSON
|
||||
*/
|
||||
private String feeItemsJson;
|
||||
/**
|
||||
* 原金额
|
||||
*/
|
||||
private BigDecimal originalAmount;
|
||||
/**
|
||||
* 调整金额
|
||||
*/
|
||||
private BigDecimal adjustAmount;
|
||||
/**
|
||||
* 结算金额(含税)
|
||||
*/
|
||||
private BigDecimal settlementAmountTax;
|
||||
/**
|
||||
* 结算金额(不含税)
|
||||
*/
|
||||
private BigDecimal settlementAmountNoTax;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
}
|
||||
|
||||
+8
@@ -26,12 +26,20 @@ import java.math.BigDecimal;
|
||||
@TableName("blade_formal_settlement_payment")
|
||||
public class FormalSettlementPayment extends TenantEntity {
|
||||
@Serial private static final long serialVersionUID = 1L;
|
||||
/** 正式结算单id */
|
||||
private Long formalSettlementId;
|
||||
/** 付款单号(租户内唯一) */
|
||||
private String paymentNo;
|
||||
/** 付款类型(final:结算尾款) */
|
||||
private String paymentType;
|
||||
/** 申请付款金额 */
|
||||
private BigDecimal appliedAmount;
|
||||
/** 已付金额 */
|
||||
private BigDecimal paidAmount;
|
||||
/** 单据状态(reviewing:审核中,approved:审核通过,returned:已退回,voided:已作废,paid:已付款) */
|
||||
private String billStatus;
|
||||
/** 金蝶(星瀚)单据编号 */
|
||||
private String kingdeeBillNo;
|
||||
/** 备注 */
|
||||
private String remark;
|
||||
}
|
||||
|
||||
+27
@@ -28,13 +28,40 @@ import java.math.BigDecimal;
|
||||
@Schema(description = "正式结算合计费用")
|
||||
public class FormalSettlementSummaryFee extends TenantEntity {
|
||||
@Serial private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 正式结算单ID
|
||||
*/
|
||||
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;
|
||||
}
|
||||
|
||||
+103
@@ -47,37 +47,140 @@ import java.time.LocalDateTime;
|
||||
@Schema(description = "开票申请")
|
||||
public class InvoiceApplication extends TenantEntity {
|
||||
@Serial private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 开票申请单号(同租户唯一,A303-1 billno 幂等候选键)
|
||||
*/
|
||||
private String applicationNo;
|
||||
/**
|
||||
* 所属项目ID(结算单快照带出)
|
||||
*/
|
||||
private Long projectId;
|
||||
/**
|
||||
* 所属项目名称(结算单快照带出)
|
||||
*/
|
||||
private String projectName;
|
||||
/**
|
||||
* 申请部门(所属组织)ID
|
||||
*/
|
||||
private Long deptId;
|
||||
/**
|
||||
* 申请部门(所属组织)名称
|
||||
*/
|
||||
private String deptName;
|
||||
/**
|
||||
* 开票单位名称(销方=结算单收款方快照,金蝶 salername 取数来源)
|
||||
*/
|
||||
private String issuerName;
|
||||
/**
|
||||
* 受票方客商档案ID
|
||||
*/
|
||||
private Long receiverCustomerId;
|
||||
/**
|
||||
* 受票方单位名称(客商开票信息企业全称快照,金蝶 buyername)
|
||||
*/
|
||||
private String receiverName;
|
||||
/**
|
||||
* 发票类型:electronic_normal-数电普票 / electronic_special-数电专票
|
||||
*/
|
||||
private String invoiceType;
|
||||
/**
|
||||
* 可开票金额(关联结算单剩余可开票额度合计)
|
||||
*/
|
||||
private BigDecimal availableInvoiceAmount;
|
||||
/**
|
||||
* 本次开票金额(商品行价税合计,金蝶 totalamount)
|
||||
*/
|
||||
private BigDecimal invoiceAmount;
|
||||
/**
|
||||
* 申请日期(提交审批时置当日)
|
||||
*/
|
||||
private LocalDate applicationDate;
|
||||
/**
|
||||
* 申请人姓名
|
||||
*/
|
||||
private String applicantName;
|
||||
/**
|
||||
* 承办部门ID(结算单所属组织快照)
|
||||
*/
|
||||
private Long undertakingDeptId;
|
||||
/**
|
||||
* 承办部门名称(结算单所属组织快照)
|
||||
*/
|
||||
private String undertakingDeptName;
|
||||
/**
|
||||
* 部门邮箱(发票推送邮箱,多个以分号分隔,最多3个,金蝶 buyeremail)
|
||||
*/
|
||||
private String departmentEmails;
|
||||
/**
|
||||
* 受票方客商开票信息ID(blade_customer_invoice_info)
|
||||
*/
|
||||
private Long receiverInvoiceInfoId;
|
||||
/**
|
||||
* 受票方纳税人识别号(开票信息快照,金蝶 buyertaxno)
|
||||
*/
|
||||
private String taxpayerNo;
|
||||
/**
|
||||
* 受票方开户行(开票信息快照)
|
||||
*/
|
||||
private String bankName;
|
||||
/**
|
||||
* 受票方开户账号(开票信息快照)
|
||||
*/
|
||||
private String bankAccount;
|
||||
/**
|
||||
* 受票方注册地址(开票信息快照)
|
||||
*/
|
||||
private String registeredAddress;
|
||||
/**
|
||||
* 受票方联系人
|
||||
*/
|
||||
private String contactName;
|
||||
/**
|
||||
* 受票方联系电话
|
||||
*/
|
||||
private String contactPhone;
|
||||
/**
|
||||
* 受票方邮箱
|
||||
*/
|
||||
private String email;
|
||||
/**
|
||||
* 审批状态:draft-草稿 reviewing-审批中 approved-审批通过 returned-已驳回 voided-已作废
|
||||
*/
|
||||
private String approvalStatus;
|
||||
/**
|
||||
* 当前审批节点,如「草稿」「开票审核」「审批通过」
|
||||
*/
|
||||
private String currentNode;
|
||||
/**
|
||||
* 当前处理人姓名
|
||||
*/
|
||||
private String currentProcessor;
|
||||
/**
|
||||
* 金蝶开票申请单编号(A303-1 返回,A303-5 查询 serialNo)
|
||||
*/
|
||||
private String kingdeeBillNo;
|
||||
/**
|
||||
* 金蝶开票申请单id(星瀚内部主键,A902 附件上传定位用)
|
||||
*/
|
||||
private String kingdeeBillId;
|
||||
/**
|
||||
* 金蝶同步状态:unsynced-未同步 synced-已同步 failed-同步失败 invoiced-开票完成(终态)
|
||||
*/
|
||||
private String kingdeeStatus;
|
||||
/**
|
||||
* 同步金蝶时间
|
||||
*/
|
||||
private LocalDateTime syncedTime;
|
||||
/**
|
||||
* 附件JSON
|
||||
*/
|
||||
private String attachmentsJson;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 作废原因,驳回时记录驳回原因
|
||||
*/
|
||||
private String voidReason;
|
||||
}
|
||||
|
||||
+63
@@ -44,25 +44,88 @@ import java.time.LocalDateTime;
|
||||
@TableName("blade_invoice_application_detail")
|
||||
public class InvoiceApplicationDetail extends TenantEntity {
|
||||
@Serial private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 开票申请ID
|
||||
*/
|
||||
private Long invoiceApplicationId;
|
||||
/**
|
||||
* 正式结算单ID
|
||||
*/
|
||||
private Long formalSettlementId;
|
||||
/**
|
||||
* 来源正式结算明细ID
|
||||
*/
|
||||
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;
|
||||
/**
|
||||
* 运输方式(快照,字典 transport_type)
|
||||
*/
|
||||
private String transportType;
|
||||
/**
|
||||
* 货物名称(快照)
|
||||
*/
|
||||
private String cargoName;
|
||||
/**
|
||||
* 货物类型(快照)
|
||||
*/
|
||||
private String cargoType;
|
||||
/**
|
||||
* 运输数量(快照)
|
||||
*/
|
||||
private BigDecimal transportQuantity;
|
||||
/**
|
||||
* 数量单位(快照)
|
||||
*/
|
||||
private String quantityUnit;
|
||||
/**
|
||||
* 里程(快照)
|
||||
*/
|
||||
private BigDecimal mileage;
|
||||
/**
|
||||
* 批次号(快照)
|
||||
*/
|
||||
private String batchNo;
|
||||
/**
|
||||
* 运费金额(快照)
|
||||
*/
|
||||
private BigDecimal freightAmount;
|
||||
/**
|
||||
* 费用项明细JSON(快照)
|
||||
*/
|
||||
private String feeItemsJson;
|
||||
/**
|
||||
* 结算金额(含税,快照)
|
||||
*/
|
||||
private BigDecimal settlementAmountTax;
|
||||
}
|
||||
|
||||
+80
@@ -0,0 +1,80 @@
|
||||
/**
|
||||
* BladeX Commercial License Agreement
|
||||
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
|
||||
* <p>
|
||||
* Use of this software is governed by the Commercial License Agreement obtained after purchasing a license from BladeX.
|
||||
* <p>
|
||||
* 1. This software is for development use only under a valid license from BladeX.
|
||||
* <p>
|
||||
* 2. Redistribution of this software's source code to any third party without a commercial license is strictly prohibited.
|
||||
* <p>
|
||||
* 3. Licensees may copyright their own code but cannot use segments from this software for such purposes.
|
||||
* Copyright of this software remains with BladeX.
|
||||
* <p>
|
||||
* Using this software signifies agreement to this License, and the software must not be used for illegal purposes.
|
||||
* <p>
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is not liable for any claims arising from secondary or illegal development.
|
||||
* <p>
|
||||
* Author: Chill Zhuang (bladejava@qq.com)
|
||||
*/
|
||||
package org.springblade.transport.pojo.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springblade.core.tenant.mp.TenantEntity;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 开票申请金蝶发票结果实体类
|
||||
* <p>
|
||||
* 定时任务经 A303-5 开票申请发票查询回写的发票明细(发票号唯一键幂等落库),
|
||||
* 发票文件地址(板式文件/数电PDF/XML/预览图)独立落库供详情页查看下载,
|
||||
* 原文 JSON 整体留档便于联调与追溯
|
||||
*
|
||||
* @author Chill
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("blade_invoice_application_invoice")
|
||||
@Schema(description = "开票申请金蝶发票结果")
|
||||
public class InvoiceApplicationInvoice extends TenantEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "开票申请ID")
|
||||
private Long invoiceApplicationId;
|
||||
|
||||
@Schema(description = "金蝶开票申请单编号(A303-5 serialNo)")
|
||||
private String serialNo;
|
||||
|
||||
@Schema(description = "发票号码")
|
||||
private String invoiceNo;
|
||||
|
||||
@Schema(description = "开票日期")
|
||||
private LocalDateTime invoiceDate;
|
||||
|
||||
@Schema(description = "价税合计")
|
||||
private BigDecimal invoiceAmount;
|
||||
|
||||
@Schema(description = "板式文件下载地址(数电票为OFD,航信百望税盘普通电票为PDF,电子专票/UKey电票为OFD)")
|
||||
private String invoiceFileUrl;
|
||||
|
||||
@Schema(description = "PDF图片预览地址")
|
||||
private String invoiceImageUrl;
|
||||
|
||||
@Schema(description = "数电PDF下载地址(发票云5.0.025版本返回)")
|
||||
private String invoicePdfFileUrl;
|
||||
|
||||
@Schema(description = "数电XML下载地址(发票云5.0.025版本返回)")
|
||||
private String invoiceXmlFileUrl;
|
||||
|
||||
@Schema(description = "A303-5 返回原文JSON留档")
|
||||
private String rawJson;
|
||||
|
||||
}
|
||||
+46
@@ -43,18 +43,64 @@ import java.math.BigDecimal;
|
||||
@TableName("blade_invoice_application_line")
|
||||
public class InvoiceApplicationLine extends TenantEntity {
|
||||
@Serial private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 开票申请ID
|
||||
*/
|
||||
private Long invoiceApplicationId;
|
||||
/**
|
||||
* 所属发票张次ID
|
||||
*/
|
||||
private Long invoiceSheetId;
|
||||
/**
|
||||
* 行号(张内序号)
|
||||
*/
|
||||
private Integer lineNo;
|
||||
/**
|
||||
* 商品和服务分类名称(开票项目主数据选择,金蝶 goodssimplename)
|
||||
*/
|
||||
private String goodsCategory;
|
||||
/**
|
||||
* 货物或服务简称(开票项目主数据选择,金蝶 goodsname)
|
||||
*/
|
||||
private String goodsName;
|
||||
/**
|
||||
* 税收分类编码(选择开票内容时快照,推送金蝶 A303-1 分录直接取该值)
|
||||
*/
|
||||
private String taxClassificationCode;
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
private String unit;
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
private BigDecimal quantity;
|
||||
/**
|
||||
* 不含税单价
|
||||
*/
|
||||
private BigDecimal unitPriceNoTax;
|
||||
/**
|
||||
* 不含税金额
|
||||
*/
|
||||
private BigDecimal amountNoTax;
|
||||
/**
|
||||
* 含税金额(历史兼容字段,与含税合计同值)
|
||||
*/
|
||||
private BigDecimal amountWithTax;
|
||||
/**
|
||||
* 税率(0-100 百分比值,推送金蝶时转小数文本)
|
||||
*/
|
||||
private BigDecimal taxRate;
|
||||
/**
|
||||
* 税额
|
||||
*/
|
||||
private BigDecimal taxAmount;
|
||||
/**
|
||||
* 价税合计(含税合计,金蝶 taxamount)
|
||||
*/
|
||||
private BigDecimal totalAmount;
|
||||
/**
|
||||
* 行备注
|
||||
*/
|
||||
private String remark;
|
||||
}
|
||||
|
||||
+24
@@ -42,12 +42,36 @@ import java.io.Serial;
|
||||
@TableName("blade_invoice_application_record")
|
||||
public class InvoiceApplicationRecord extends TenantEntity {
|
||||
@Serial private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 开票申请ID
|
||||
*/
|
||||
private Long invoiceApplicationId;
|
||||
/**
|
||||
* 操作类型:create/save/submit/approve/return/void/sync 等
|
||||
*/
|
||||
private String actionType;
|
||||
/**
|
||||
* 操作名称(展示用,如「提交审批」「同步金蝶」)
|
||||
*/
|
||||
private String actionName;
|
||||
/**
|
||||
* 操作前审批状态
|
||||
*/
|
||||
private String fromStatus;
|
||||
/**
|
||||
* 操作后审批状态
|
||||
*/
|
||||
private String toStatus;
|
||||
/**
|
||||
* 操作人姓名
|
||||
*/
|
||||
private String operatorName;
|
||||
/**
|
||||
* 原因说明(驳回/作废原因等)
|
||||
*/
|
||||
private String reason;
|
||||
/**
|
||||
* 金蝶单据编号(同步类操作记录)
|
||||
*/
|
||||
private String kingdeeBillNo;
|
||||
}
|
||||
|
||||
+18
@@ -43,10 +43,28 @@ import java.math.BigDecimal;
|
||||
@TableName("blade_invoice_application_settlement")
|
||||
public class InvoiceApplicationSettlement extends TenantEntity {
|
||||
@Serial private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 开票申请ID
|
||||
*/
|
||||
private Long invoiceApplicationId;
|
||||
/**
|
||||
* 正式结算单ID
|
||||
*/
|
||||
private Long formalSettlementId;
|
||||
/**
|
||||
* 正式结算单号(关联时快照)
|
||||
*/
|
||||
private String formalSettlementNo;
|
||||
/**
|
||||
* 结算金额(关联时快照)
|
||||
*/
|
||||
private BigDecimal settlementAmount;
|
||||
/**
|
||||
* 可开票金额(关联时快照)
|
||||
*/
|
||||
private BigDecimal availableInvoiceAmount;
|
||||
/**
|
||||
* 本申请分摊开票金额(结算单开票状态按此汇总)
|
||||
*/
|
||||
private BigDecimal allocatedInvoiceAmount;
|
||||
}
|
||||
|
||||
+13
@@ -43,7 +43,20 @@ import java.math.BigDecimal;
|
||||
@TableName("blade_invoice_application_sheet")
|
||||
public class InvoiceApplicationSheet extends TenantEntity {
|
||||
@Serial private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 开票申请ID
|
||||
*/
|
||||
private Long invoiceApplicationId;
|
||||
/**
|
||||
* 发票张序号(从 1 开始)
|
||||
*/
|
||||
private Integer sheetNo;
|
||||
/**
|
||||
* 本张开票金额(张内商品行价税合计)
|
||||
*/
|
||||
private BigDecimal invoiceAmount;
|
||||
/**
|
||||
* 金蝶开票申请单编号(本张发票对应,A303-1 返回,A303-5 查询 serialNo)
|
||||
*/
|
||||
private String kingdeeBillNo;
|
||||
}
|
||||
|
||||
+102
-2
@@ -36,6 +36,7 @@ import org.springblade.core.tenant.mp.TenantEntity;
|
||||
import java.io.Serial;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 收票登记实体类
|
||||
@@ -48,36 +49,135 @@ import java.time.LocalDate;
|
||||
@Schema(description = "收票登记")
|
||||
public class InvoiceReceipt extends TenantEntity {
|
||||
@Serial private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 关联金蝶票据池镜像主键(blade_kingdee_invoice_pool.id)
|
||||
*/
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long kingdeeInvoicePoolId;
|
||||
/**
|
||||
* 发票号码(同租户唯一,一张发票仅可登记一次)
|
||||
*/
|
||||
private String invoiceNo;
|
||||
/**
|
||||
* 开票日期
|
||||
*/
|
||||
private LocalDate invoiceDate;
|
||||
/**
|
||||
* 发票类型(如「数电发票(增值税专用发票)」)
|
||||
*/
|
||||
private String invoiceType;
|
||||
/**
|
||||
* 税率(百分数,13 表示 13%)
|
||||
*/
|
||||
private BigDecimal taxRate;
|
||||
/**
|
||||
* 开票金额
|
||||
*/
|
||||
private BigDecimal invoiceAmount;
|
||||
/**
|
||||
* 税额
|
||||
*/
|
||||
private BigDecimal taxAmount;
|
||||
/**
|
||||
* 受票单位(购方)
|
||||
*/
|
||||
private String receiverName;
|
||||
/**
|
||||
* 开票单位(销方)
|
||||
*/
|
||||
private String issuerName;
|
||||
/**
|
||||
* 所属项目id
|
||||
*/
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long projectId;
|
||||
/**
|
||||
* 所属项目名称
|
||||
*/
|
||||
private String projectName;
|
||||
/**
|
||||
* 所属组织id
|
||||
*/
|
||||
@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;
|
||||
/**
|
||||
* 客户邮箱(分号分隔,最多 3 个)
|
||||
*/
|
||||
private String customerEmails;
|
||||
/**
|
||||
* 部门邮箱(分号分隔,最多 3 个)
|
||||
*/
|
||||
private String departmentEmails;
|
||||
/**
|
||||
* 审批状态(draft 草稿 / reviewing 审批中 / approved 审批通过 / returned 已驳回 / voided 已作废)
|
||||
*/
|
||||
private String approvalStatus;
|
||||
/**
|
||||
* 当前审批节点
|
||||
*/
|
||||
private String currentNode;
|
||||
/**
|
||||
* 当前处理人
|
||||
*/
|
||||
private String currentProcessor;
|
||||
private String kingdeeBillNo;
|
||||
private String kingdeeStatus;
|
||||
/**
|
||||
* 金蝶收票单单据编号(A303-2 批量保存生成/幂等预检命中回填)
|
||||
*/
|
||||
private String kingdeeReceivedInvoiceNo;
|
||||
/**
|
||||
* 金蝶收票单id(星瀚内部主键,A902 附件上传定位用)
|
||||
*/
|
||||
private String kingdeeReceivedInvoiceId;
|
||||
/**
|
||||
* 收票单推送状态(unsynced 未推送 / pushed 已保存收票单 / assigned 已指定应付 / failed 推送失败)
|
||||
*/
|
||||
private String kingdeePushStatus;
|
||||
/**
|
||||
* 收票单推送失败原因(金蝶侧删除/红冲/查验不通过等异常提示人工)
|
||||
*/
|
||||
private String kingdeePushMsg;
|
||||
/**
|
||||
* 最近一次收票单推送/回写时间
|
||||
*/
|
||||
private LocalDateTime kingdeePushTime;
|
||||
/**
|
||||
* 附件信息JSON
|
||||
*/
|
||||
private String attachmentsJson;
|
||||
/**
|
||||
* 备注(最多 200 字)
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 作废原因
|
||||
*/
|
||||
private String voidReason;
|
||||
}
|
||||
|
||||
+84
@@ -0,0 +1,84 @@
|
||||
/**
|
||||
* BladeX Commercial License Agreement
|
||||
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
|
||||
* <p>
|
||||
* Use of this software is governed by the Commercial License Agreement
|
||||
* obtained after purchasing a license from BladeX.
|
||||
* <p>
|
||||
* 1. This software is for development use only under a valid license
|
||||
* from BladeX.
|
||||
* <p>
|
||||
* 2. Redistribution of this software's source code to any third party
|
||||
* without a commercial license is strictly prohibited.
|
||||
* <p>
|
||||
* 3. Licensees may copyright their own code but cannot use segments
|
||||
* from this software for such purposes. Copyright of this software
|
||||
* remains with BladeX.
|
||||
* <p>
|
||||
* Using this software signifies agreement to this License, and the software
|
||||
* must not be used for illegal purposes.
|
||||
* <p>
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
|
||||
* not liable for any claims arising from secondary or illegal development.
|
||||
* <p>
|
||||
* Author: Chill Zhuang (bladejava@qq.com)
|
||||
*/
|
||||
package org.springblade.transport.pojo.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import 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.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 金蝶附件同步实体类(A902 附件上传到指定单据,单附件行级状态)
|
||||
*
|
||||
* @author Chill
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("blade_kingdee_attachment_sync")
|
||||
@Schema(description = "金蝶附件同步")
|
||||
public class KingdeeAttachmentSync extends TenantEntity {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 业务单据类型(pay_application/formal_settlement_ap/formal_settlement_ar/invoice_receipt/invoice_application)
|
||||
*/
|
||||
private String bizType;
|
||||
/**
|
||||
* 业务单据id
|
||||
*/
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long bizId;
|
||||
/**
|
||||
* 附件幂等键(用户附件=附件url;发票文件=A801-2 的 path)
|
||||
*/
|
||||
private String attachmentKey;
|
||||
/**
|
||||
* 附件名称(展示/排查用)
|
||||
*/
|
||||
private String attachmentName;
|
||||
/**
|
||||
* 金蝶侧文件路径(A902 返回 data.path)
|
||||
*/
|
||||
private String kingdeePath;
|
||||
/**
|
||||
* 同步状态:1 成功 / 0 失败
|
||||
*/
|
||||
private Integer syncStatus;
|
||||
/**
|
||||
* 失败原因(超限/下载失败/金蝶报错)
|
||||
*/
|
||||
private String failReason;
|
||||
/**
|
||||
* 最近上传时间
|
||||
*/
|
||||
private LocalDateTime syncTime;
|
||||
}
|
||||
+87
@@ -0,0 +1,87 @@
|
||||
/**
|
||||
* BladeX Commercial License Agreement
|
||||
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
|
||||
* <p>
|
||||
* Use of this software is governed by the Commercial License Agreement obtained after purchasing a license from BladeX.
|
||||
* <p>
|
||||
* Author: Chill Zhuang (bladejava@qq.com)
|
||||
*/
|
||||
package org.springblade.transport.pojo.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springblade.core.tenant.mp.TenantEntity;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 金蝶单据锁定记录实体类
|
||||
* <p>
|
||||
* 一行 = 一张金蝶目标单:推送成功后 lockBusiData 锁定(FAILED→LOCKED),金蝶经 unLockNotifyBusiData
|
||||
* 回调解锁(→UNLOCKED,DELETE 时废除源单并还原关联数据);同时承担当前锁状态(编辑守卫/回调定位)
|
||||
* 与锁定补偿扫表(FAILED+try_count)、锁定/解锁留痕
|
||||
*
|
||||
* @author Chill
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("blade_kingdee_bill_lock")
|
||||
@Schema(description = "金蝶单据锁定记录")
|
||||
public class KingdeeBillLock extends TenantEntity {
|
||||
@Serial private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* WLTMS 单据类型(SETTLEMENT/INVOICE_APPLY,预留 PAY_APPLY/RECEIVED_INVOICE)
|
||||
*/
|
||||
private String sourceBillType;
|
||||
/**
|
||||
* WLTMS 业务主键
|
||||
*/
|
||||
private Long sourceBillId;
|
||||
/**
|
||||
* WLTMS 单号(正式结算单号/开票申请单号)
|
||||
*/
|
||||
private String sourceBillNo;
|
||||
/**
|
||||
* 金蝶单据类型(ApFin_other_BT_S/arfin_other_BT_S/cdm_paybill_bank_elect_BT_S 等固定值)
|
||||
*/
|
||||
private String targetBillType;
|
||||
/**
|
||||
* 金蝶单据编号(即业务单 kingdeeBillNo,开票申请按发票张次逐张一行)
|
||||
*/
|
||||
private String targetBillNo;
|
||||
/**
|
||||
* 锁状态:failed-锁定失败(补偿重试对象)/locked-金蝶锁定中/unlocked-已解锁(终态)
|
||||
*/
|
||||
private String lockStatus;
|
||||
/**
|
||||
* 最近动作来源操作类型:SAVE-单据新增,DELETE-单据删除(DELETE 回调触发废除还原)
|
||||
*/
|
||||
private String operationType;
|
||||
/**
|
||||
* 锁定重试次数(补偿任务用,超上限停试)
|
||||
*/
|
||||
private Integer tryCount;
|
||||
/**
|
||||
* 锁定时间
|
||||
*/
|
||||
private LocalDateTime lockTime;
|
||||
/**
|
||||
* 解锁时间
|
||||
*/
|
||||
private LocalDateTime unlockTime;
|
||||
/**
|
||||
* 推单发起人(锁定操作人)
|
||||
*/
|
||||
private String lockOperator;
|
||||
/**
|
||||
* 回调操作人(金蝶侧操作人)
|
||||
*/
|
||||
private String notifyOperator;
|
||||
/**
|
||||
* 锁定失败原因
|
||||
*/
|
||||
private String failReason;
|
||||
}
|
||||
+86
@@ -47,22 +47,108 @@ import java.time.LocalDateTime;
|
||||
@Schema(description = "金蝶进项发票票据池镜像")
|
||||
public class KingdeeInvoicePool extends TenantEntity {
|
||||
@Serial private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 发票号码(同租户唯一,A801-1 invoiceNo,镜像 upsert 匹配键)
|
||||
*/
|
||||
private String invoiceNo;
|
||||
/**
|
||||
* 金蝶发票流水号(票池唯一标识,A801-1 serialNo)
|
||||
*/
|
||||
private String serialNo;
|
||||
/**
|
||||
* 开票日期
|
||||
*/
|
||||
private LocalDate invoiceDate;
|
||||
/**
|
||||
* 发票类型(票易通编码转名称后落库,如「数电发票(增值税专用发票)」)
|
||||
*/
|
||||
private String invoiceType;
|
||||
/**
|
||||
* 票易通原始发票类型编码(A801-1 invoiceType,如 26/27,A303-2 invoicetypef7_number 取数)
|
||||
*/
|
||||
private String invoiceTypeCode;
|
||||
/**
|
||||
* 税率(百分数,13 表示 13%)
|
||||
*/
|
||||
private BigDecimal taxRate;
|
||||
/**
|
||||
* 开票金额(A801-1 价税合计 totalAmount)
|
||||
*/
|
||||
private BigDecimal invoiceAmount;
|
||||
/**
|
||||
* 税额
|
||||
*/
|
||||
private BigDecimal taxAmount;
|
||||
/**
|
||||
* 受票单位(购方名称,A801-1 buyerName)
|
||||
*/
|
||||
private String receiverName;
|
||||
/**
|
||||
* 购方税号(A801-1 buyerTaxNo)
|
||||
*/
|
||||
private String buyerTaxNo;
|
||||
/**
|
||||
* 开票单位(销方名称,A801-1 salerName)
|
||||
*/
|
||||
private String issuerName;
|
||||
/**
|
||||
* 销方税号(A801-1 salerTaxNo)
|
||||
*/
|
||||
private String salerTaxNo;
|
||||
/**
|
||||
* 开票单位开户银行
|
||||
*/
|
||||
private String bankName;
|
||||
/**
|
||||
* 开票单位银行账号
|
||||
*/
|
||||
private String bankAccount;
|
||||
/**
|
||||
* 开票单位开户网点
|
||||
*/
|
||||
private String issuingBank;
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
private String phone;
|
||||
/**
|
||||
* 客户邮箱(分号分隔,最多 3 个)
|
||||
*/
|
||||
private String customerEmails;
|
||||
/**
|
||||
* 部门邮箱(分号分隔,最多 3 个)
|
||||
*/
|
||||
private String departmentEmails;
|
||||
/**
|
||||
* 金蝶单据号(票池发票取发票流水号 serialNo)
|
||||
*/
|
||||
private String kingdeeBillNo;
|
||||
/**
|
||||
* 金蝶同步状态(unsynced 未同步 / synced 已同步 / failed 同步失败)
|
||||
*/
|
||||
private String kingdeeStatus;
|
||||
/**
|
||||
* 查验状态(A801-1 checkStatus,0 未查验 / 1 通过 / 2 不通过)
|
||||
*/
|
||||
private String checkStatus;
|
||||
/**
|
||||
* 附件信息JSON(结构 {"source":"piaozone","path":"A801-2下载path","name":"文件名"})
|
||||
*/
|
||||
private String attachmentsJson;
|
||||
/**
|
||||
* A801-1 发票明细行JSON(BfiInvoicePoolItemVO 列表,票池存档;收票单分录已改与应付单同源结算费用行)
|
||||
*/
|
||||
private String itemsJson;
|
||||
/**
|
||||
* 票池数据更新时间(A801-1 billCreateTime,镜像排序字段)
|
||||
*/
|
||||
private LocalDateTime sourceUpdatedTime;
|
||||
/**
|
||||
* 剩余可用金额(A801-1 availableAmount,金蝶可用税额口径,选票本地过滤用:>0 才可选)
|
||||
*/
|
||||
private BigDecimal availableAmount;
|
||||
/**
|
||||
* 金额使用状态(A801-1 amountUseStatus,0 未使用可选 / 2 全部使用;选票本地过滤用)
|
||||
*/
|
||||
private String amountUseStatus;
|
||||
}
|
||||
|
||||
+91
@@ -26,6 +26,8 @@
|
||||
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;
|
||||
@@ -49,16 +51,105 @@ public class KingdeeReceiptFlow extends TenantEntity {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 金蝶认领公告id(A301-2 返回 id,认领推送 A301-3 必填)
|
||||
*/
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long billId;
|
||||
/**
|
||||
* 金蝶付款人id(A301-2 公告对应往来单位 id,认领推送 A301-3 用)
|
||||
*/
|
||||
private String payerId;
|
||||
/**
|
||||
* 公告认领状态(A301-2 claimstatus:0未认领/1已认领)
|
||||
*/
|
||||
private String kingdeeClaimStatus;
|
||||
/**
|
||||
* 我已认领(A301-2 claimme)
|
||||
*/
|
||||
private Boolean claimMe;
|
||||
/**
|
||||
* 未认领金额(A301-2 unclaimamount)
|
||||
*/
|
||||
private BigDecimal unclaimedAmount;
|
||||
/**
|
||||
* 手续费(A301-2 fee)
|
||||
*/
|
||||
private BigDecimal fee;
|
||||
/**
|
||||
* 收款人(A301-2 recpayee)
|
||||
*/
|
||||
private String payeeName;
|
||||
/**
|
||||
* 收款通知单号(A301-2 billno)
|
||||
*/
|
||||
private String receiptNoticeNo;
|
||||
/**
|
||||
* 付款人名称(A301-2 recviewpayer)
|
||||
*/
|
||||
private String payerName;
|
||||
/**
|
||||
* 收款金额(A301-2 reamount)
|
||||
*/
|
||||
private BigDecimal receiptAmount;
|
||||
/**
|
||||
* 对方单位名称(A301-2 oppunit)
|
||||
*/
|
||||
private String counterpartyName;
|
||||
/**
|
||||
* 对方银行账号(A301-2 oppbanknumber)
|
||||
*/
|
||||
private String counterpartyAccount;
|
||||
/**
|
||||
* 对方开户行(A301-2 oppbank)
|
||||
*/
|
||||
private String counterpartyBank;
|
||||
/**
|
||||
* 摘要(A301-2 description)
|
||||
*/
|
||||
private String summary;
|
||||
/**
|
||||
* 交易日期(A301-2 tradetime)
|
||||
*/
|
||||
private LocalDateTime transactionTime;
|
||||
/**
|
||||
* 明细流水号(A301-2 detailid,回退 tradedetailno / bankdetailno,幂等键)
|
||||
*/
|
||||
private String detailSerialNo;
|
||||
/**
|
||||
* 已认领金额(本地认领驱动,初始为0)
|
||||
*/
|
||||
private BigDecimal claimedAmount;
|
||||
/**
|
||||
* 认领状态(unclaimed未认领/partial部分认领/claimed认领完成,累计认领与公告未认领金额对表)
|
||||
*/
|
||||
private String claimStatus;
|
||||
/**
|
||||
* 推送状态(none未推送/pushed已推送/failed推送失败;已推送为终态闸门,不允许二次推送)
|
||||
*/
|
||||
private String pushStatus;
|
||||
/**
|
||||
* 最近一次推送失败原因(成功后清空)
|
||||
*/
|
||||
private String pushFailReason;
|
||||
/**
|
||||
* 首次推送金蝶成功时间
|
||||
*/
|
||||
private LocalDateTime pushedTime;
|
||||
/**
|
||||
* 金蝶推送来源单据编码(分摊结算单号下划线拼接,推送时生成落库;分摊不变则重试编码不变,A301-1 回写匹配键)
|
||||
*/
|
||||
private String awrpSrcCode;
|
||||
/**
|
||||
* 金蝶收款单号(推送响应回填 / A301-1 回写推进)
|
||||
*/
|
||||
private String kingdeeBillNo;
|
||||
/**
|
||||
* 金蝶回写状态(none未推送/pushed已推送/approved审核通过/received已收款/failed失败)
|
||||
*/
|
||||
private String kingdeeBillStatus;
|
||||
/**
|
||||
* 来源更新时间(取交易日期,同步时刷新)
|
||||
*/
|
||||
private LocalDateTime sourceUpdatedTime;
|
||||
}
|
||||
|
||||
+54
-7
@@ -2,18 +2,24 @@
|
||||
* 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.
|
||||
* 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.
|
||||
* 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.
|
||||
* 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.
|
||||
* 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.
|
||||
* 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.
|
||||
* 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)
|
||||
*/
|
||||
@@ -34,43 +40,84 @@ import java.time.LocalDate;
|
||||
@TableName("blade_payment_application")
|
||||
public class PaymentApplication extends TenantEntity {
|
||||
@Serial private static final long serialVersionUID = 1L;
|
||||
/** 付款申请单号 */
|
||||
private String paymentNo;
|
||||
/** 付款类型:project_advance 项目预付 / progress_advance 进度预付 / settlement_payment 结算付款 */
|
||||
private String paymentType;
|
||||
/** 正式结算单id */
|
||||
private Long settlementId;
|
||||
/** 正式结算单号 */
|
||||
private String settlementNo;
|
||||
/** 预结算单id */
|
||||
private Long preSettlementId;
|
||||
/** 预结算单号 */
|
||||
private String preSettlementNo;
|
||||
/** 项目id */
|
||||
private Long projectId;
|
||||
/** 项目名称 */
|
||||
private String projectName;
|
||||
/** 所属组织id */
|
||||
private Long deptId;
|
||||
/** 所属组织名称 */
|
||||
private String deptName;
|
||||
/** 合同id */
|
||||
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;
|
||||
/** 付款方式,业务字典 pay_method */
|
||||
private String paymentMethod;
|
||||
/** 汇票台账id(票据付款时关联) */
|
||||
private Long billLedgerId;
|
||||
/** 票据号码 */
|
||||
private String billNo;
|
||||
/** 收款账户id */
|
||||
private Long receiptAccountId;
|
||||
/** 收款账户名称 */
|
||||
private String receiptAccountName;
|
||||
/** 收款银行名称 */
|
||||
private String bankName;
|
||||
/** 收款账号 */
|
||||
private String bankAccount;
|
||||
/** 申请人 */
|
||||
private String applicantName;
|
||||
/** 申请日期 */
|
||||
private LocalDate applyDate;
|
||||
/** 发票匹配状态:unmatched 未匹配 / matched 已匹配 */
|
||||
private String invoiceStatus;
|
||||
/** 匹配发票金额 */
|
||||
private BigDecimal matchedInvoiceAmount;
|
||||
/** 已付款金额 */
|
||||
private BigDecimal paidAmount;
|
||||
/** 审批状态:draft 草稿 / reviewing 审批中 / approved 审批通过 / returned 已驳回 / voided 已作废 */
|
||||
private String approvalStatus;
|
||||
/** 当前审批节点 */
|
||||
private String currentNode;
|
||||
/** 当前处理人 */
|
||||
private String currentProcessor;
|
||||
/** 金蝶单据号(A103-2 查询回填的星瀚单据编号 billno,如 FKSQ-xxxx) */
|
||||
private String kingdeeBillNo;
|
||||
/** 金蝶单据id(A103-1/A103-3 推送返回的星瀚内部主键,附件上传等使用) */
|
||||
private String kingdeeBillId;
|
||||
/** 金蝶同步状态:unsynced 未生成 / synced 已生成 / paying 付款中 / paid 已付款 / closed 已关闭 / failed 生成失败 */
|
||||
private String kingdeeStatus;
|
||||
/** 附件信息JSON */
|
||||
private String attachmentsJson;
|
||||
/** 备注 */
|
||||
private String remark;
|
||||
}
|
||||
|
||||
+3
-3
@@ -70,10 +70,10 @@ public class ProjectApply extends TenantEntity {
|
||||
@Schema(description = "业务部门")
|
||||
private String businessDeptName;
|
||||
|
||||
@Schema(description = "承办部门ID")
|
||||
private Long undertakeDeptId;
|
||||
@Schema(description = "平台公司ID,多个逗号分隔")
|
||||
private String undertakeDeptId;
|
||||
|
||||
@Schema(description = "承办部门")
|
||||
@Schema(description = "平台公司,多个顿号分隔")
|
||||
private String undertakeDeptName;
|
||||
|
||||
@Schema(description = "项目由来")
|
||||
|
||||
+6
@@ -65,7 +65,13 @@ public class ReceiptClaim extends TenantEntity {
|
||||
private String attachmentsJson;
|
||||
private String remark;
|
||||
private String claimStatus;
|
||||
/**
|
||||
* 金蝶收款单号(冗余展示:推送成功/A301-1 回写时由流水级联刷新)
|
||||
*/
|
||||
private String kingdeeBillNo;
|
||||
/**
|
||||
* 金蝶回写状态(冗余展示:与流水 kingdee_bill_status 同步刷新)
|
||||
*/
|
||||
private String kingdeeBillStatus;
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long voidedBy;
|
||||
|
||||
+115
@@ -0,0 +1,115 @@
|
||||
/**
|
||||
* BladeX Commercial License Agreement
|
||||
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
|
||||
* <p>
|
||||
* Use of this software is governed by the Commercial License Agreement
|
||||
* obtained after purchasing a license from BladeX.
|
||||
* <p>
|
||||
* 1. This software is for development use only under a valid license
|
||||
* from BladeX.
|
||||
* <p>
|
||||
* 2. Redistribution of this software's source code to any third party
|
||||
* without a commercial license is strictly prohibited.
|
||||
* <p>
|
||||
* 3. Licensees may copyright their own code but cannot use segments
|
||||
* from this software for such purposes. Copyright of this software
|
||||
* remains with BladeX.
|
||||
* <p>
|
||||
* Using this software signifies agreement to this License, and the software
|
||||
* must not be used for illegal purposes.
|
||||
* <p>
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
|
||||
* not liable for any claims arising from secondary or illegal development.
|
||||
* <p>
|
||||
* Author: Chill Zhuang (bladejava@qq.com)
|
||||
*/
|
||||
package org.springblade.transport.pojo.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springblade.core.tenant.mp.TenantEntity;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 导入结算单批次
|
||||
*
|
||||
* @author Chill
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("blade_settlement_import_batch")
|
||||
@Schema(description = "导入结算单批次")
|
||||
public class SettlementImportBatch extends TenantEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "批次号")
|
||||
private String batchNo;
|
||||
|
||||
@Schema(description = "项目ID")
|
||||
private Long projectId;
|
||||
|
||||
@Schema(description = "项目名称")
|
||||
private String projectName;
|
||||
|
||||
@Schema(description = "结算类型 receivable/payable")
|
||||
private String settlementType;
|
||||
|
||||
@Schema(description = "结算单类型 formal/pre")
|
||||
private String settlementBillType;
|
||||
|
||||
@Schema(description = "客户合同ID")
|
||||
private Long customerContractId;
|
||||
|
||||
@Schema(description = "客户合同名称")
|
||||
private String customerContractName;
|
||||
|
||||
@Schema(description = "客户名称")
|
||||
private String customerName;
|
||||
|
||||
@Schema(description = "承运商合同ID")
|
||||
private Long carrierContractId;
|
||||
|
||||
@Schema(description = "承运商合同名称")
|
||||
private String carrierContractName;
|
||||
|
||||
@Schema(description = "承运商名称")
|
||||
private String carrierName;
|
||||
|
||||
@Schema(description = "运单模式 new")
|
||||
private String waybillMode;
|
||||
|
||||
@Schema(description = "导入状态 draft/completed/voided")
|
||||
private String importStatus;
|
||||
|
||||
@Schema(description = "运单数量")
|
||||
private Integer waybillCount;
|
||||
|
||||
@Schema(description = "明细数量")
|
||||
private Integer detailCount;
|
||||
|
||||
@Schema(description = "正式结算单ID")
|
||||
private Long formalSettlementId;
|
||||
|
||||
@Schema(description = "正式结算单号")
|
||||
private String formalSettlementNo;
|
||||
|
||||
@Schema(description = "预结算单ID")
|
||||
private Long preSettlementId;
|
||||
|
||||
@Schema(description = "预结算单号")
|
||||
private String preSettlementNo;
|
||||
|
||||
@Schema(description = "动态费用列名JSON")
|
||||
private String feeItemNamesJson;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
@Schema(description = "关联运单导入批次ID")
|
||||
private Long waybillImportBatchId;
|
||||
}
|
||||
+90
@@ -0,0 +1,90 @@
|
||||
/**
|
||||
* 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 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.util.Date;
|
||||
|
||||
/**
|
||||
* 结算单项目预付核销实体类
|
||||
*
|
||||
* @author Chill
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("blade_settlement_project_advance_write_off")
|
||||
@Schema(description = "结算单项目预付核销")
|
||||
public class SettlementProjectAdvanceWriteOff extends TenantEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "结算单类型:pre/formal")
|
||||
private String settlementType;
|
||||
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
@Schema(description = "预结算/正式结算单ID")
|
||||
private Long settlementId;
|
||||
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
@Schema(description = "项目预付付款申请ID")
|
||||
private Long paymentApplicationId;
|
||||
|
||||
@Schema(description = "预付单号")
|
||||
private String paymentNo;
|
||||
|
||||
@Schema(description = "项目预付金额")
|
||||
private BigDecimal projectAdvanceAmount;
|
||||
|
||||
@Schema(description = "本次核销金额")
|
||||
private BigDecimal writeOffAmount;
|
||||
|
||||
@Schema(description = "金蝶预付单号")
|
||||
private String kingdeeBillNo;
|
||||
|
||||
@TableField(exist = false)
|
||||
@Schema(description = "可核销金额(动态计算)")
|
||||
private BigDecimal availableWriteOffAmount;
|
||||
|
||||
@TableField(exist = false)
|
||||
@Schema(description = "预付单创建人姓名")
|
||||
private String createUserName;
|
||||
|
||||
@TableField(exist = false)
|
||||
@Schema(description = "预付单创建时间(展示用)")
|
||||
private Date paymentCreateTime;
|
||||
|
||||
}
|
||||
+3
@@ -249,6 +249,9 @@ public class Waybill extends TenantEntity {
|
||||
@Schema(description = "导入批次ID")
|
||||
private Long importBatchId;
|
||||
|
||||
@Schema(description = "导入结算单批次ID")
|
||||
private Long settlementImportBatchId;
|
||||
|
||||
@Schema(description = "关联单号")
|
||||
private String relationNo;
|
||||
|
||||
|
||||
+24
-1
@@ -9,6 +9,7 @@
|
||||
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.FormalSettlement;
|
||||
@@ -18,10 +19,13 @@ 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.springblade.transport.pojo.entity.InvoiceApplicationInvoice;
|
||||
import org.springblade.transport.pojo.entity.SettlementProjectAdvanceWriteOff;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -31,7 +35,7 @@ import java.util.List;
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class FormalSettlementVO extends FormalSettlement {
|
||||
public class FormalSettlementVO extends FormalSettlement implements KingdeeUnlockMark {
|
||||
@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;
|
||||
@@ -39,6 +43,21 @@ public class FormalSettlementVO extends FormalSettlement {
|
||||
@TableField(exist = false) private String ids;
|
||||
@TableField(exist = false) private String approvalStatusName;
|
||||
@TableField(exist = false) private String settlementTypeName;
|
||||
@TableField(exist = false) private Integer attachmentCount;
|
||||
@TableField(exist = false) private String attachmentSyncStatus;
|
||||
@TableField(exist = false) private String attachmentSyncStatusName;
|
||||
@TableField(exist = false) @Schema(description = "金蝶锁状态:locked-锁定中/failed-锁定失败;unlocked为终态不返回,null=无锁或已解锁")
|
||||
private String kingdeeLockStatus;
|
||||
@TableField(exist = false) @Schema(description = "金蝶锁失败原因(仅锁定失败时有值)")
|
||||
private String kingdeeLockFailReason;
|
||||
@TableField(exist = false) @Schema(description = "金蝶锁重试次数(达上限5后不再自动补偿,需重推同步金蝶)")
|
||||
private Integer kingdeeTryCount;
|
||||
@TableField(exist = false) @Schema(description = "金蝶解锁时间(非空代表该单曾被金蝶解锁/删单)")
|
||||
private LocalDateTime kingdeeUnlockTime;
|
||||
@TableField(exist = false) @Schema(description = "金蝶侧解锁操作人(回调报文 operator)")
|
||||
private String kingdeeUnlockOperator;
|
||||
@TableField(exist = false) @Schema(description = "解锁动作名称:金蝶删单/金蝶锁单")
|
||||
private String kingdeeUnlockOperationName;
|
||||
@TableField(exist = false) private String preSettlementNos;
|
||||
@TableField(exist = false) private String preSettlementNo;
|
||||
@TableField(exist = false) private List<FormalSettlementSource> sources;
|
||||
@@ -46,6 +65,10 @@ public class FormalSettlementVO extends FormalSettlement {
|
||||
@TableField(exist = false) private List<FormalSettlementSummaryFee> summaryFees;
|
||||
@TableField(exist = false) private List<FormalSettlementPayment> payments;
|
||||
@TableField(exist = false) private List<FormalSettlementInvoice> invoices;
|
||||
@TableField(exist = false) @Schema(description = "项目预付核销")
|
||||
private List<SettlementProjectAdvanceWriteOff> projectAdvanceWriteOffs;
|
||||
@TableField(exist = false) @Schema(description = "开票申请经金蝶回写的发票结果(含文件地址,只读展示)")
|
||||
private List<InvoiceApplicationInvoice> issuedInvoices;
|
||||
@TableField(exist = false) private List<PaymentApplicationVO> paymentApplications;
|
||||
@TableField(exist = false) private List<SettlementAdjustmentVO> adjustments;
|
||||
@TableField(exist = false) private List<FormalSettlementChangeRecord> changeRecords;
|
||||
|
||||
+16
-1
@@ -30,10 +30,12 @@ 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.InvoiceApplicationInvoice;
|
||||
import org.springblade.transport.pojo.entity.InvoiceApplicationRecord;
|
||||
import org.springblade.transport.pojo.entity.InvoiceApplicationSettlement;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -43,14 +45,27 @@ import java.util.List;
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class InvoiceApplicationVO extends InvoiceApplication {
|
||||
public class InvoiceApplicationVO extends InvoiceApplication implements KingdeeUnlockMark {
|
||||
@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 Integer attachmentCount;
|
||||
@TableField(exist = false) private String attachmentSyncStatus;
|
||||
@TableField(exist = false) private String attachmentSyncStatusName;
|
||||
@TableField(exist = false) private String kingdeeLockStatus;
|
||||
@TableField(exist = false) private String kingdeeLockFailReason;
|
||||
@TableField(exist = false) private Integer kingdeeTryCount;
|
||||
/** 金蝶解锁终态标识(unlocked 锁记录回填):解锁时间非空即代表该单曾被金蝶解锁/删单 */
|
||||
@TableField(exist = false) private LocalDateTime kingdeeUnlockTime;
|
||||
/** 金蝶侧解锁操作人(回调报文 operator) */
|
||||
@TableField(exist = false) private String kingdeeUnlockOperator;
|
||||
/** 解锁动作名称:金蝶删单/金蝶锁单 */
|
||||
@TableField(exist = false) private String kingdeeUnlockOperationName;
|
||||
@TableField(exist = false) private String createUserName;
|
||||
@TableField(exist = false) private List<InvoiceApplicationSettlement> settlements;
|
||||
@TableField(exist = false) private List<InvoiceApplicationSheetVO> sheets;
|
||||
@TableField(exist = false) private List<InvoiceApplicationDetail> details;
|
||||
@TableField(exist = false) private List<InvoiceApplicationRecord> records;
|
||||
@TableField(exist = false) private List<InvoiceApplicationInvoice> invoices;
|
||||
}
|
||||
|
||||
+4
-1
@@ -48,7 +48,10 @@ 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 kingdeePushStatusName;
|
||||
@TableField(exist = false) private Integer attachmentCount;
|
||||
@TableField(exist = false) private String attachmentSyncStatus;
|
||||
@TableField(exist = false) private String attachmentSyncStatusName;
|
||||
@TableField(exist = false) private String createUserName;
|
||||
@TableField(exist = false) private String updateUserName;
|
||||
@TableField(exist = false) private List<InvoiceReceiptSettlement> settlements;
|
||||
|
||||
+157
@@ -0,0 +1,157 @@
|
||||
/**
|
||||
* 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.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;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 金蝶票据池镜像统一视图(含本地认领/登记标记;认领口径:可匹配与默认认领金额=价税合计)
|
||||
*
|
||||
* @author Chill
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "金蝶票据池镜像统一视图")
|
||||
public class KingdeeInvoicePoolVO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 镜像主键,仅已入镜像(已登记)的票非空 */
|
||||
@Schema(description = "镜像主键")
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long id;
|
||||
|
||||
/** 发票号码 */
|
||||
@Schema(description = "发票号码")
|
||||
private String invoiceNo;
|
||||
|
||||
/** 金蝶发票流水号(票池唯一标识) */
|
||||
@Schema(description = "金蝶发票流水号")
|
||||
private String serialNo;
|
||||
|
||||
/** 开票日期 yyyy-MM-dd */
|
||||
@Schema(description = "开票日期")
|
||||
private String invoiceDate;
|
||||
|
||||
/** 发票类型名称(镜像落库时已由编码转名称) */
|
||||
@Schema(description = "发票类型名称")
|
||||
private String invoiceType;
|
||||
|
||||
/** 税率百分数,如 13 */
|
||||
@Schema(description = "税率百分数")
|
||||
private BigDecimal taxRate;
|
||||
|
||||
/** 价税合计 */
|
||||
@Schema(description = "发票金额(价税合计)")
|
||||
private BigDecimal invoiceAmount;
|
||||
|
||||
/** 税额 */
|
||||
@Schema(description = "税额")
|
||||
private BigDecimal taxAmount;
|
||||
|
||||
/** 受票单位(购方名称) */
|
||||
@Schema(description = "受票单位")
|
||||
private String receiverName;
|
||||
|
||||
/** 购方税号 */
|
||||
@Schema(description = "购方税号")
|
||||
private String buyerTaxNo;
|
||||
|
||||
/** 开票单位(销方名称) */
|
||||
@Schema(description = "开票单位")
|
||||
private String issuerName;
|
||||
|
||||
/** 销方税号 */
|
||||
@Schema(description = "销方税号")
|
||||
private String salerTaxNo;
|
||||
|
||||
/** 销方开户行名称 */
|
||||
@Schema(description = "销方开户行名称")
|
||||
private String bankName;
|
||||
|
||||
/** 销方银行账号 */
|
||||
@Schema(description = "销方银行账号")
|
||||
private String bankAccount;
|
||||
|
||||
/** 销方开户行及账号 */
|
||||
@Schema(description = "开户行及账号")
|
||||
private String issuingBank;
|
||||
|
||||
/** 销方电话 */
|
||||
@Schema(description = "电话")
|
||||
private String phone;
|
||||
|
||||
/** 客户邮箱 JSON 串 */
|
||||
@Schema(description = "客户邮箱JSON")
|
||||
private String customerEmails;
|
||||
|
||||
/** 部门邮箱 JSON 串 */
|
||||
@Schema(description = "部门邮箱JSON")
|
||||
private String departmentEmails;
|
||||
|
||||
/** 金蝶流水号(登记侧展示为金蝶单据号) */
|
||||
@Schema(description = "金蝶单据号")
|
||||
private String kingdeeBillNo;
|
||||
|
||||
/** 同步状态 unsynced/synced/failed */
|
||||
@Schema(description = "金蝶同步状态")
|
||||
private String kingdeeStatus;
|
||||
|
||||
/** 查验状态 */
|
||||
@Schema(description = "查验状态")
|
||||
private String checkStatus;
|
||||
|
||||
/** 附件 JSON(票易通下载 path) */
|
||||
@Schema(description = "附件信息JSON")
|
||||
private String attachmentsJson;
|
||||
|
||||
/** 可认领金额,口径同发票金额 */
|
||||
@Schema(description = "可认领金额")
|
||||
private BigDecimal availableInvoiceAmount;
|
||||
|
||||
/** 剩余可用金额(金蝶可用税额口径,与可认领金额的价税合计口径不同) */
|
||||
@Schema(description = "剩余可用金额")
|
||||
private BigDecimal availableTaxAmount;
|
||||
|
||||
/** 默认认领金额,口径同发票金额 */
|
||||
@Schema(description = "默认认领金额")
|
||||
private BigDecimal matchedAmount;
|
||||
|
||||
/** 是否已被正式结算单认领(实时查询返回行的本地装饰标记,仅展示不作过滤) */
|
||||
@Schema(description = "是否已认领")
|
||||
private Boolean claimed;
|
||||
|
||||
/** 是否已存在非作废收票登记(实时查询返回行的本地装饰标记,仅展示不作过滤) */
|
||||
@Schema(description = "是否已登记")
|
||||
private Boolean registered;
|
||||
}
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
/**
|
||||
* BladeX Commercial License Agreement
|
||||
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
|
||||
* <p>
|
||||
* Use of this software is governed by the Commercial License Agreement
|
||||
* obtained after purchasing a license from BladeX.
|
||||
* <p>
|
||||
* Author: Chill Zhuang (bladejava@qq.com)
|
||||
*/
|
||||
package org.springblade.transport.pojo.vo;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 金蝶解锁终态标识展示契约:需在页面展示「金蝶删单/解锁」标识的 VO 实现之,
|
||||
* 由 {@code KingdeeBillLockService#fillUnlockMarks} 统一回填(列表/详情共用)
|
||||
*
|
||||
* @author Chill
|
||||
*/
|
||||
public interface KingdeeUnlockMark {
|
||||
|
||||
/**
|
||||
* 金蝶解锁时间(unlocked 锁记录回填),非空即代表该单曾被金蝶解锁/删单
|
||||
*/
|
||||
void setKingdeeUnlockTime(LocalDateTime kingdeeUnlockTime);
|
||||
|
||||
/**
|
||||
* 金蝶侧解锁操作人(回调报文 operator)
|
||||
*/
|
||||
void setKingdeeUnlockOperator(String kingdeeUnlockOperator);
|
||||
|
||||
/**
|
||||
* 解锁动作名称:金蝶删单/金蝶锁单
|
||||
*/
|
||||
void setKingdeeUnlockOperationName(String kingdeeUnlockOperationName);
|
||||
}
|
||||
+14
-1
@@ -29,12 +29,13 @@ import org.springblade.transport.pojo.entity.PaymentApplicationSettlement;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/** 付款申请视图。 @author Chill */
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PaymentApplicationVO extends PaymentApplication {
|
||||
public class PaymentApplicationVO extends PaymentApplication implements KingdeeUnlockMark {
|
||||
@Serial private static final long serialVersionUID = 1L;
|
||||
@TableField(exist = false) private LocalDate applyStartDate;
|
||||
@TableField(exist = false) private LocalDate applyEndDate;
|
||||
@@ -43,6 +44,18 @@ public class PaymentApplicationVO extends PaymentApplication {
|
||||
@TableField(exist = false) private String paymentTypeName;
|
||||
@TableField(exist = false) private String approvalStatusName;
|
||||
@TableField(exist = false) private String kingdeeStatusName;
|
||||
@TableField(exist = false) private Integer attachmentCount;
|
||||
@TableField(exist = false) private String attachmentSyncStatus;
|
||||
@TableField(exist = false) private String attachmentSyncStatusName;
|
||||
@TableField(exist = false) private String kingdeeLockStatus;
|
||||
@TableField(exist = false) private String kingdeeLockFailReason;
|
||||
@TableField(exist = false) private Integer kingdeeTryCount;
|
||||
/** 金蝶解锁终态标识(unlocked 锁记录回填):解锁时间非空即代表该单曾被金蝶解锁/删单,供页面展示明显标识 */
|
||||
@TableField(exist = false) private LocalDateTime kingdeeUnlockTime;
|
||||
/** 金蝶侧解锁操作人(回调报文 operator) */
|
||||
@TableField(exist = false) private String kingdeeUnlockOperator;
|
||||
/** 解锁动作名称:金蝶删单/金蝶锁单 */
|
||||
@TableField(exist = false) private String kingdeeUnlockOperationName;
|
||||
@TableField(exist = false) private List<PaymentApplicationInvoice> invoices;
|
||||
@TableField(exist = false) private List<PaymentApplicationRecord> paymentRecords;
|
||||
@TableField(exist = false) private List<PaymentApplicationSettlement> settlements;
|
||||
|
||||
+5
@@ -35,6 +35,7 @@ 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.springblade.transport.pojo.entity.SettlementProjectAdvanceWriteOff;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
@@ -100,6 +101,10 @@ public class PreSettlementVO extends PreSettlement {
|
||||
@Schema(description = "预付信息")
|
||||
private List<PreSettlementAdvance> advances;
|
||||
|
||||
@TableField(exist = false)
|
||||
@Schema(description = "项目预付核销")
|
||||
private List<SettlementProjectAdvanceWriteOff> projectAdvanceWriteOffs;
|
||||
|
||||
@TableField(exist = false)
|
||||
@Schema(description = "变更记录")
|
||||
private List<PreSettlementChangeRecord> changeRecords;
|
||||
|
||||
+72
@@ -0,0 +1,72 @@
|
||||
/**
|
||||
* 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.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;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 可选项目预付核销选项
|
||||
*
|
||||
* @author Chill
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "可选项目预付核销选项")
|
||||
public class ProjectAdvanceWriteOffOptionVO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
@Schema(description = "付款申请ID")
|
||||
private Long paymentApplicationId;
|
||||
|
||||
@Schema(description = "预付单号")
|
||||
private String paymentNo;
|
||||
|
||||
@Schema(description = "项目预付金额")
|
||||
private BigDecimal projectAdvanceAmount;
|
||||
|
||||
@Schema(description = "可核销金额")
|
||||
private BigDecimal availableWriteOffAmount;
|
||||
|
||||
@Schema(description = "金蝶预付单号")
|
||||
private String kingdeeBillNo;
|
||||
|
||||
@Schema(description = "创建人姓名")
|
||||
private String createUserName;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
}
|
||||
+5
@@ -76,6 +76,11 @@ public class ReceiptClaimRecordVO extends ReceiptClaim {
|
||||
private String claimStatusName;
|
||||
@TableField(exist = false)
|
||||
private String kingdeeBillStatusName;
|
||||
/**
|
||||
* 关联流水推送状态(none未推送/pushed已推送/failed推送失败,查询条件)
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String pushStatus;
|
||||
@TableField(exist = false)
|
||||
private List<ReceiptClaimSettlement> settlements;
|
||||
@TableField(exist = false)
|
||||
|
||||
+16
@@ -56,6 +56,12 @@ public class ReceiptFlowVO extends KingdeeReceiptFlow {
|
||||
@TableField(exist = false)
|
||||
private String claimStatusName;
|
||||
@TableField(exist = false)
|
||||
private String kingdeeClaimStatusName;
|
||||
@TableField(exist = false)
|
||||
private String pushStatusName;
|
||||
@TableField(exist = false)
|
||||
private String kingdeeBillStatusName;
|
||||
@TableField(exist = false)
|
||||
private BigDecimal remainingAmount;
|
||||
@TableField(exist = false)
|
||||
private String createUserName;
|
||||
@@ -73,6 +79,16 @@ public class ReceiptFlowVO extends KingdeeReceiptFlow {
|
||||
@TableField(exist = false)
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime transactionEndTime;
|
||||
/**
|
||||
* 收款金额区间-最小值(查询条件)
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private BigDecimal receiptAmountStart;
|
||||
/**
|
||||
* 收款金额区间-最大值(查询条件)
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private BigDecimal receiptAmountEnd;
|
||||
@TableField(exist = false)
|
||||
private List<ReceiptFlowRecord> claimRecords = new ArrayList<>();
|
||||
}
|
||||
|
||||
+69
@@ -0,0 +1,69 @@
|
||||
/**
|
||||
* BladeX Commercial License Agreement
|
||||
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
|
||||
* <p>
|
||||
* Use of this software is governed by the Commercial License Agreement
|
||||
* obtained after purchasing a license from BladeX.
|
||||
* <p>
|
||||
* 1. This software is for development use only under a valid license
|
||||
* from BladeX.
|
||||
* <p>
|
||||
* 2. Redistribution of this software's source code to any third party
|
||||
* without a commercial license is strictly prohibited.
|
||||
* <p>
|
||||
* 3. Licensees may copyright their own code but cannot use segments
|
||||
* from this software for such purposes. Copyright of this software
|
||||
* remains with BladeX.
|
||||
* <p>
|
||||
* Using this software signifies agreement to this License, and the software
|
||||
* must not be used for illegal purposes.
|
||||
* <p>
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
|
||||
* not liable for any claims arising from secondary or illegal development.
|
||||
* <p>
|
||||
* Author: Chill Zhuang (bladejava@qq.com)
|
||||
*/
|
||||
package org.springblade.transport.pojo.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springblade.transport.pojo.entity.SettlementImportBatch;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 导入结算单批次视图
|
||||
*
|
||||
* @author Chill
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Schema(description = "导入结算单批次视图")
|
||||
public class SettlementImportBatchVO extends SettlementImportBatch {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Schema(description = "创建人姓名")
|
||||
private String createUserName;
|
||||
|
||||
@Schema(description = "更新人姓名")
|
||||
private String updateUserName;
|
||||
|
||||
@Schema(description = "导入状态显示名")
|
||||
private String importStatusName;
|
||||
|
||||
@Schema(description = "结算类型显示名")
|
||||
private String settlementTypeName;
|
||||
|
||||
@Schema(description = "结算单类型显示名")
|
||||
private String settlementBillTypeName;
|
||||
|
||||
@Schema(description = "运单模式显示名")
|
||||
private String waybillModeName;
|
||||
|
||||
@Schema(description = "动态费用列名")
|
||||
private List<String> feeItemNames;
|
||||
}
|
||||
Reference in New Issue
Block a user