service/erp/shipment/exchangeSettlement.go
2024-10-18 16:37:14 +08:00

165 lines
5.6 KiB
Go

package shipment
import (
"context"
"git.kumo.work/shama/service/client"
"git.kumo.work/shama/service/lib/bean"
"time"
)
type exchangeSettlement struct {
}
type ArgsExchangeSettlementList struct {
Page bean.Page
Search ExchangeSettlementSearch
}
type ExchangeSettlementSearch struct {
ExchangeSettlementNo string // 结汇单号
InvoiceSerial string // 出运发票号
CustomIds []int64 // 客户筛选
StaffIds []int64 // 业务员筛选
IsCancel int64 // 是否有效
ExchangeSettlementIds []int64 // 结汇id
}
type ReplyExchangeSettlementList struct {
List []ExchangeSettlementItem `json:"list"`
Total int64 `json:"total"`
}
type ExchangeSettlementItem struct {
Id int64 `json:"id"`
ShipmentId int64 `json:"shipmentId"`
InvoiceSerial string `json:"invoiceSerial"`
ExchangeSettlementNo string `json:"exchangeSettlementNo"`
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 (e *exchangeSettlement) List(ctx context.Context, args ArgsExchangeSettlementList) (reply ReplyExchangeSettlementList, err error) {
xClient, err := client.GetClient(e)
if err != nil {
return
}
err = xClient.Call(ctx, "List", args, &reply)
return
}
type ReplyExchangeSettlementInfo struct {
ReplyShipmentInfo
ExchangeSettlementNo string `json:"exchangeSettlementNo"`
ShipmentId int64 `json:"shipmentId"`
EstSailingDate *time.Time `json:"estSailingDate"`
InvoiceDate time.Time `json:"invoiceDate"`
ReadyDate *time.Time `json:"readyDate"`
ShipPort string `json:"shipPort"`
DischargePort string `json:"dischargePort"`
DischargePortEng string `json:"dischargePortEng"`
Destination string `json:"destination"`
CreditSerial string `json:"creditSerial"`
RecBank string `json:"recBank"`
RecBankEng string `json:"recBankEng"`
RecBankName string `json:"recBankName"`
RecBankNameEng string `json:"recBankNameEng"`
RecBankCardNo string `json:"recBankCardNo"`
RecBankCardName string `json:"recBankCardName"`
ShipmentNo string `json:"shipmentNo"`
CnoSno string `json:"cnoSno"`
Declare1 string `json:"declare1"`
Declare2 string `json:"declare2"`
Info string `json:"info"`
CustomsInvoiceDate *time.Time `json:"customsInvoiceDate"`
VesselNameVoyage string `json:"vesselNameVoyage"`
IsCancel int64 `json:"isCancel"`
RecBankAddress string `json:"recBankAddress"`
}
// Info @TITLE 详情
func (e *exchangeSettlement) Info(ctx context.Context, exchangeSettlementId int64) (reply ReplyExchangeSettlementInfo, err error) {
xClient, err := client.GetClient(e)
if err != nil {
return
}
err = xClient.Call(ctx, "Info", exchangeSettlementId, &reply)
return
}
type ArgsExchangeSettlementGen struct {
ShipmentId int64 // 订舱id
ExchangeSettlementNo string // 结汇单号
StaffId int64 // 操作员工
}
// Gen @TITLE 生成
func (e *exchangeSettlement) Gen(ctx context.Context, args ArgsExchangeSettlementGen) (err error) {
xClient, err := client.GetClient(e)
if err != nil {
return
}
reply := 0
err = xClient.Call(ctx, "Gen", args, &reply)
return
}
// Cancel @TITLE 作废
func (e *exchangeSettlement) Cancel(ctx context.Context, exchangeSettlementId int64) (err error) {
xClient, err := client.GetClient(e)
if err != nil {
return
}
reply := 0
err = xClient.Call(ctx, "Cancel", exchangeSettlementId, &reply)
return
}
type ArgsExchangeSettlementEdit struct {
ExchangeSettlementId int64 // 结汇单id
ArgsExchangeSettlementData
}
type ArgsExchangeSettlementData struct {
EstSailingDate *time.Time // 预计发运日期
InvoiceDate *time.Time // 发票日期
ReadyDate *time.Time // 预计发运日期
ShipPort string // 港口
DischargePort string // 卸货港口
DischargePortEng string // 卸货港口英文
Destination string // 目的地
CreditSerial string // 信用证号
RecBank string // 收款银行
RecBankEng string // 收款银行英文
RecBankName string // 收款银行名称
RecBankNameEng string // 收款银行名称英文
RecBankCardNo string // 收款银行卡号
RecBankCardName string // 收款银行卡名
RecBankAddress string // 收汇银行地址
ShipmentNo string // shipmentNO
CnoSno string // CONTAINER NO./SEAL NO.
Declare1 string // 声明1
Declare2 string // 声明2
Info string // 备注
CustomsInvoiceDate *time.Time // 清关发票日期
VesselNameVoyage string // 船名航次
}
// Edit @TITLE 编辑
func (e *exchangeSettlement) Edit(ctx context.Context, args ArgsExchangeSettlementEdit) (err error) {
xClient, err := client.GetClient(e)
if err != nil {
return
}
reply := 0
err = xClient.Call(ctx, "Edit", args, &reply)
return
}