From aed26584d7b4d29d7368999732d560e9746067d3 Mon Sep 17 00:00:00 2001 From: kanade Date: Fri, 11 Sep 2026 11:53:38 +0800 Subject: [PATCH] =?UTF-8?q?feat(erp):=20=E6=B7=BB=E5=8A=A0=E9=A2=84?= =?UTF-8?q?=E4=BC=B0=E8=A3=85=E8=88=B9=E6=97=A5=E6=9C=9F=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E5=92=8C=E5=A4=8D=E5=88=B6=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在RequestSearch结构体中添加EstSailingDateStart和EstSailingDateEnd字段用于日期范围搜索 - 在RequestItem和ReplyRequestDetail结构体中添加EstSailingDate字段用于显示预估装船日期 - 新增ArgsRequestClone结构体用于定义复制操作参数 - 实现Clone方法支持申请单复制功能 - 更新相关数据传输对象以包含预估装船日期信息 --- erp/request.go | 75 +++++++++++++++++++++++++++++++------------------- 1 file changed, 47 insertions(+), 28 deletions(-) diff --git a/erp/request.go b/erp/request.go index 99f826f..0c909dc 100644 --- a/erp/request.go +++ b/erp/request.go @@ -19,34 +19,36 @@ type ArgsRequestList struct { Order []OrderItem } type RequestSearch struct { - RequestSerial string // 报销单号 - InvoiceSerial string // 发票号 - CreatedAtStart *time.Time // 创建开始时间 - CreatedAtEnd *time.Time // 创建结束时间 - PayAtStart *time.Time // 付款开始时间 - PayAtEnd *time.Time // 付款结束时间 - AuditAtStart *time.Time // 审核开始时间 - AuditAtEnd *time.Time // 审核结束时间 - RequestIds []int64 // 申请单id - BanFlag int64 // 禁用标记 1=禁用 2=启用 - BankAccount string // 银行账号 - BankName string // 账号名称 - AccountingSerial string // 做账合同号 - WorkflowStatus int64 // 审核状态 - WorkflowStatuses []int64 // 审核状态 - PaidAmountStart *decimal.Decimal // 实付金额开始 - PaidAmountEnd *decimal.Decimal // 实付金额结束 - CreatedStaffIds []int64 // 创建人 - Currency string // 币种 - Ik3cloudStatus int64 // ik3cloud状态 - BankNameEq *string // 结汇银行完全匹配 - BankAccountEq *string // 结汇银行账号完全匹配 - FactoryId int64 // 工厂筛选 - FactoryName string // 工厂名称 - PermissionStaffIds []int64 // 权限员工id - Ik3cloudStatuses []int64 // 金蝶推送状态 - Ik3cloudAtStart *time.Time // 金蝶推送开始时间 - Ik3cloudAtEnd *time.Time // 金蝶推送结束时间 + RequestSerial string // 报销单号 + InvoiceSerial string // 发票号 + CreatedAtStart *time.Time // 创建开始时间 + CreatedAtEnd *time.Time // 创建结束时间 + PayAtStart *time.Time // 付款开始时间 + PayAtEnd *time.Time // 付款结束时间 + AuditAtStart *time.Time // 审核开始时间 + AuditAtEnd *time.Time // 审核结束时间 + EstSailingDateStart *time.Time // 估船日期 + EstSailingDateEnd *time.Time // 估船日期 + RequestIds []int64 // 申请单id + BanFlag int64 // 禁用标记 1=禁用 2=启用 + BankAccount string // 银行账号 + BankName string // 账号名称 + AccountingSerial string // 做账合同号 + WorkflowStatus int64 // 审核状态 + WorkflowStatuses []int64 // 审核状态 + PaidAmountStart *decimal.Decimal // 实付金额开始 + PaidAmountEnd *decimal.Decimal // 实付金额结束 + CreatedStaffIds []int64 // 创建人 + Currency string // 币种 + Ik3cloudStatus int64 // ik3cloud状态 + BankNameEq *string // 结汇银行完全匹配 + BankAccountEq *string // 结汇银行账号完全匹配 + FactoryId int64 // 工厂筛选 + FactoryName string // 工厂名称 + PermissionStaffIds []int64 // 权限员工id + Ik3cloudStatuses []int64 // 金蝶推送状态 + Ik3cloudAtStart *time.Time // 金蝶推送开始时间 + Ik3cloudAtEnd *time.Time // 金蝶推送结束时间 } type ReplyRequestList struct { List []RequestItem `json:"list"` @@ -73,6 +75,7 @@ type RequestItem struct { BankName string `json:"bankName"` BankStaffId *int64 `json:"bankStaffId"` PayAt *time.Time `json:"payAt"` + EstSailingDate *time.Time `json:"estSailingDate"` PrepaidAmount decimal.Decimal `json:"prepaidAmount"` Amount decimal.Decimal `json:"amount"` PaidAmount decimal.Decimal `json:"paidAmount"` @@ -134,6 +137,21 @@ func (r *request) Add(ctx context.Context, args ArgsRequestAdd) (requestId int64 return } +type ArgsRequestClone struct { + StaffId int64 + RequestId int64 +} + +// Clone @TITLE 复制 +func (r *request) Clone(ctx context.Context, args ArgsRequestClone) (requestId int64, err error) { + xClient, err := client.GetClient(r) + if err != nil { + return + } + err = xClient.Call(ctx, "Clone", args, &requestId) + return +} + // Gen @TITLE 生成付款单 func (r *request) Gen(ctx context.Context, payableId int64) (err error) { xClient, err := client.GetClient(r) @@ -168,6 +186,7 @@ type ReplyRequestInfo struct { BankName string `json:"bankName"` BankStaffId *int64 `json:"bankStaffId"` PayAt *time.Time `json:"payAt"` + EstSailingDate *time.Time `json:"estSailingDate"` WorkflowId int64 `json:"workflowId"` WorkflowStatus int64 `json:"workflowStatus"` WorkflowReason string `json:"workflowReason"`