- 在报关单搜索条件中添加预计船期起止时间字段- 在结汇单搜索条件中添加预计船期起止时间字段- 在商检单搜索条件中添加预计船期起止时间字段- 调整时间包导入位置以符合代码规范
		
			
				
	
	
		
			159 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			159 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package shipment
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	"time"
 | |
| 
 | |
| 	"git.kumo.work/shama/service/client"
 | |
| 	bean2 "git.kumo.work/shama/service/erp/bean"
 | |
| 	"git.kumo.work/shama/service/lib/bean"
 | |
| )
 | |
| 
 | |
| type customs struct {
 | |
| }
 | |
| 
 | |
| type ArgsCustomsList struct {
 | |
| 	Page   bean.Page
 | |
| 	Search CustomsSearch
 | |
| }
 | |
| type CustomsSearch struct {
 | |
| 	CustomsNo           string     // 报关单号
 | |
| 	InvoiceSerial       string     // 出运发票号
 | |
| 	CustomIds           []int64    // 客户筛选
 | |
| 	StaffIds            []int64    // 业务员筛选
 | |
| 	BanFlag             int64      // 是否有效
 | |
| 	CustomsIds          []int64    // 报关id
 | |
| 	EstSailingDateStart *time.Time // 预计船期
 | |
| 	EstSailingDateEnd   *time.Time // 预计船期
 | |
| }
 | |
| 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"`
 | |
| 	DischargePortEng string     `json:"dischargePortEng"`
 | |
| 	BanFlag          int64      `json:"banFlag"`
 | |
| 	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"`
 | |
| 	BanFlag    int64  `json:"banFlag"`
 | |
| }
 | |
| 
 | |
| // 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
 | |
| }
 | |
| 
 | |
| type ArgsCustomsEdit struct {
 | |
| 	CustomsId int64 // 报关单id
 | |
| 	ArgsCustomsData
 | |
| }
 | |
| type ArgsCustomsData struct {
 | |
| 	InvoiceDate  *time.Time // 发票日期
 | |
| 	ContractDate *time.Time // 合同日期
 | |
| }
 | |
| 
 | |
| // Edit @TITLE 编辑
 | |
| func (c *customs) Edit(ctx context.Context, args ArgsCustomsEdit) (err error) {
 | |
| 	xClient, err := client.GetClient(c)
 | |
| 	if err != nil {
 | |
| 		return
 | |
| 	}
 | |
| 	reply := 0
 | |
| 	err = xClient.Call(ctx, "Edit", args, &reply)
 | |
| 	return
 | |
| }
 |