Files
service/erp/sale/audit.go
kanade 7f7adc5cd7 refactor(sale): 修改销售产品结构体字段类型
- 将 ChangeProductItem 中的 SaleCount 和 SalePrice 字段改为指针类型
- 将 ChangeProduct 中的 SaleCount 和 SalePrice 字段改为指针类型
- 保持其他字段类型不变以维持兼容性
- 通过指针类型支持空值处理场景
2026-09-09 15:17:09 +08:00

89 lines
2.1 KiB
Go

package sale
import (
"context"
"git.kumo.work/shama/service/client"
"git.kumo.work/shama/service/erp/bean"
"github.com/shopspring/decimal"
)
type audit struct {
}
type ArgsAuditSubmit struct {
StaffId int64 // 操作人
SaleId int64 // 销售合同id
AuditItems []bean.AuditItem // 审核
}
// Submit @TITLE 提交审核
func (a *audit) Submit(ctx context.Context, args ArgsAuditSubmit) (err error) {
xClient, err := client.GetClient(a)
if err != nil {
return
}
reply := 0
err = xClient.Call(ctx, "Submit", args, &reply)
return
}
// Cancel @TITLE 提交审核
func (a *audit) Cancel(ctx context.Context, args ArgsAuditSubmit) (err error) {
xClient, err := client.GetClient(a)
if err != nil {
return
}
reply := 0
err = xClient.Call(ctx, "Cancel", args, &reply)
return
}
// Append @TITLE 追加商品审核
func (a *audit) Append(ctx context.Context, args ArgsAuditSubmit) (workflowId int64, err error) {
xClient, err := client.GetClient(a)
if err != nil {
return
}
err = xClient.Call(ctx, "Append", args, &workflowId)
return
}
type ArgsAuditChange struct {
StaffId int64 // 操作人
SaleId int64 // 销售合同id
AuditItems []bean.AuditItem // 审核
Products []ChangeProductItem // 产品信息
}
type ChangeProductItem struct {
Id int64 // 产品id
SaleCount *int64 // 销售数量
SalePrice *decimal.Decimal // 销售单价
}
// Change @TITLE 编辑商品审核
func (a *audit) Change(ctx context.Context, args ArgsAuditChange) (workflowId int64, err error) {
xClient, err := client.GetClient(a)
if err != nil {
return
}
err = xClient.Call(ctx, "Change", args, &workflowId)
return
}
type ArgsAuditBenefit struct {
StaffId int64 // 操作人
SaleId int64 // 销售合同id
AuditItems []bean.AuditItem // 审核
ArgsBenefitEdit
}
// Benefit @TITLE 效益测算审核
func (a *audit) Benefit(ctx context.Context, args ArgsAuditBenefit) (workflowId int64, err error) {
xClient, err := client.GetClient(a)
if err != nil {
return
}
err = xClient.Call(ctx, "Benefit", args, &workflowId)
return
}