Files
service/ik3cloud/payment.go
kanade eb4c3e3241 feat(ik3cloud): 新增收款单功能并完善作废接口
- 新增收款单常量定义及映射配置
- 新增收款单类型枚举定义
- 新增收款单服务模块,支持保存和作废操作
- 在应付、应收、付款模块中补充作废接口实现
- 定义收款单保存参数结构体及费用明细结构体
2025-12-19 16:31:29 +08:00

58 lines
1.7 KiB
Go

package ik3cloud
import (
"context"
"time"
"git.kumo.work/shama/service/client"
"git.kumo.work/shama/service/ik3cloud/constant"
"github.com/shopspring/decimal"
)
type payment struct {
}
type ArgsPaymentSave struct {
PaymentId int64 // 付款单id
Number string // 付款单编号
PaymentType constant.PaymentType // 付款类型
PayeeNameType string // 收款单位类型
PayeeName string // 收款单位
CurrencyNumber string // 币种
DepartmentNumber string // 采购部门
StaffNumber string // 采购员
Remarks string // 备注
Costs []PaymentCostItem // 费用
Rate decimal.Decimal // 汇率
Date time.Time // 业务日期 2006-01-02 15:04:05
}
type PaymentCostItem struct {
Amount decimal.Decimal // 金额
Date time.Time // 费用日期
InvoiceSerial string // 发票号
DepartmentNumber string // 核算部门
//SettlementMethod string // 结算方式
//PaymentPurpose string // 付款用途
ExpenseItem string // 费用项目
}
// Save @TITLE 保存付款单
func (p *payment) Save(ctx context.Context, args ArgsPaymentSave) (entity Entity, err error) {
xClient, err := client.GetClient(p)
if err != nil {
return
}
err = xClient.Call(ctx, "Save", args, &entity)
return
}
// Cancel @TITLE 作废
func (p *payment) Cancel(ctx context.Context, args Unique) (err error) {
xClient, err := client.GetClient(p)
if err != nil {
return
}
reply := 0
return xClient.Call(ctx, "Cancel", args, &reply)
}