- 新增 append 模块处理追加费用相关逻辑 - 在 accounting 结构体中添加 Append 字段支持追加操作 - 添加 ArgsAuditAppendCost 和 ArgsAppendAddCost 等参数结构体 - 实现 AppendCost 方法用于追加费用审核流程 - 新增 PurchaseCostItem 结构体并实现 Purchase 方法获取采购合同费用 - 在 constant.go 中添加 BusinessTypeAccountingAppendCostAudit 业务类型常量 - 移除 sale/benefit.go 中的 OtherCost 字段优化成本结构 - 添加 payable.Gen 方法用于生成应付单 - 添加 receivable.Gen 方法用于生成应收单
61 lines
1.5 KiB
Go
61 lines
1.5 KiB
Go
package accounting
|
|
|
|
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 // 操作人
|
|
AccountingId 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
|
|
}
|
|
|
|
type ArgsAuditAppendCost struct {
|
|
StaffId int64 // 操作人
|
|
AccountingId int64 // 做账合同id
|
|
AuditItems []bean.AuditItem // 审核
|
|
AppendCost ArgsAppendAddCost // 追加费用
|
|
}
|
|
|
|
type ArgsAppendAddCost struct {
|
|
Products []AppendAddCostProduct
|
|
FactoryId int64 // 工厂id
|
|
Name string // 费用名
|
|
Amount decimal.Decimal // 金额
|
|
Remarks string // 备注信息
|
|
}
|
|
|
|
type AppendAddCostProduct struct {
|
|
AccountingProductId int64 // 做账产品id
|
|
BeforeAmount decimal.Decimal // 改前金额
|
|
Amount decimal.Decimal // 调整金额
|
|
AfterAmount decimal.Decimal // 改后金额
|
|
}
|
|
|
|
// AppendCost @TITLE 追加费用
|
|
func (a *audit) AppendCost(ctx context.Context, args ArgsAuditAppendCost) (workflowId int64, err error) {
|
|
xClient, err := client.GetClient(a)
|
|
if err != nil {
|
|
return
|
|
}
|
|
err = xClient.Call(ctx, "AppendCost", args, &workflowId)
|
|
return
|
|
}
|