package shipment import ( "context" "git.kumo.work/shama/service/client" bean2 "git.kumo.work/shama/service/erp/bean" "git.kumo.work/shama/service/lib/bean" "time" ) type customs struct { } type ArgsCustomsList struct { Page bean.Page Search CustomsSearch } type CustomsSearch struct { CustomsNo string // 报关单号 InvoiceSerial string // 出运发票号 CustomIds []int64 // 客户筛选 StaffIds []int64 // 业务员筛选 IsCancel int64 // 是否有效 } type ReplyCustomsList struct { List []CustomsItem `json:"list"` Total int64 `json:"total"` } type CustomsItem struct { Id int64 `json:"id"` ShipmentId int64 `json:"shipmentId"` InvoiceSerial string `json:"invoiceSerial"` CustomsNo string `json:"customsNo"` ContractDate *time.Time `json:"contractDate"` InvoiceDate time.Time `json:"invoiceDate"` CustomName string `json:"customName"` CustomShortName string `json:"customShortName"` EstSailingDate *time.Time `json:"estSailingDate"` ShipPort string `json:"shipPort"` DischargePort string `json:"dischargePort"` IsCancel int64 `json:"isCancel"` CreatedStaffId int64 `json:"createdStaffId"` CreatedAt *time.Time `json:"createdAt"` UpdatedAt *time.Time `json:"updatedAt"` } // List @TITLE 列表 func (c *customs) List(ctx context.Context, args ArgsCustomsList) (reply ReplyCustomsList, err error) { xClient, err := client.GetClient(c) if err != nil { return } err = xClient.Call(ctx, "List", args, &reply) return } type ReplyCustomsInfo struct { ReplyShipmentInfo CustomsNo string `json:"customsNo"` ShipmentId int64 `json:"shipmentId"` IsCancel int64 `json:"isCancel"` } // Info @TITLE 详情 func (c *customs) Info(ctx context.Context, customsId int64) (reply ReplyCustomsInfo, err error) { xClient, err := client.GetClient(c) if err != nil { return } err = xClient.Call(ctx, "Info", customsId, &reply) return } // Products @TITLE 获取产品 func (c *customs) Products(ctx context.Context, customsId int64) (reply []SaleProductItem, err error) { xClient, err := client.GetClient(c) if err != nil { return } err = xClient.Call(ctx, "Products", customsId, &reply) return } // Gifts @TITLE 获取赠品 func (c *customs) Gifts(ctx context.Context, customsId int64) (reply []GiftItem, err error) { xClient, err := client.GetClient(c) if err != nil { return } err = xClient.Call(ctx, "Gifts", customsId, &reply) return } type ArgsCustomsGen struct { ShipmentId int64 // 订舱id CustomsNo string // 报关单号 ShipmentSaleProductIds []int64 // 订舱产品id ShipmentGiftIds []int64 // 订舱赠品id StaffId int64 // 操作员工 } // Gen @TITLE 生成 func (c *customs) Gen(ctx context.Context, args ArgsCustomsGen) (err error) { xClient, err := client.GetClient(c) if err != nil { return } reply := 0 err = xClient.Call(ctx, "Gen", args, &reply) return } // Cancel @TITLE 作废 func (c *customs) Cancel(ctx context.Context, customsId int64) (err error) { xClient, err := client.GetClient(c) if err != nil { return } reply := 0 err = xClient.Call(ctx, "Cancel", customsId, &reply) return } // Customs @TITLE 报关信息 func (c *customs) Customs(ctx context.Context, customsId int64) (reply bean2.ReplyCustoms, err error) { xClient, err := client.GetClient(c) if err != nil { return } err = xClient.Call(ctx, "Customs", customsId, &reply) return }