250 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			250 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package modify
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	"git.kumo.work/shama/service/client"
 | |
| 	"github.com/shopspring/decimal"
 | |
| 	"time"
 | |
| )
 | |
| 
 | |
| type saleProduct struct {
 | |
| }
 | |
| 
 | |
| type SaleProductItem struct {
 | |
| 	Id                       int64              `json:"id"`
 | |
| 	Mold                     int64              `json:"mold"`
 | |
| 	ParentSaleProductId      int64              `json:"parentSaleProductId"`
 | |
| 	SaleProductId            int64              `json:"saleProductId"`
 | |
| 	PiSerial                 string             `json:"piSerial"`
 | |
| 	Sort                     int64              `json:"sort"`
 | |
| 	Po                       string             `json:"po"`
 | |
| 	Serial                   string             `json:"serial"`
 | |
| 	ImgFilePaths             []string           `json:"imgFilePaths"`
 | |
| 	CustomSerial             string             `json:"customSerial"`
 | |
| 	PackageDescription       string             `json:"packageDescription"`
 | |
| 	PackageEngDescription    string             `json:"packageEngDescription"`
 | |
| 	EngName                  string             `json:"engName"`
 | |
| 	Name                     string             `json:"name"`
 | |
| 	CustomsName              string             `json:"customsName"`
 | |
| 	CustomsSerial            string             `json:"customsSerial"`
 | |
| 	CustomsMeasureUnit       string             `json:"customsMeasureUnit"`
 | |
| 	CustomsInvoiceUnit       string             `json:"customsInvoiceUnit"`
 | |
| 	CustomsDetail            string             `json:"customsDetail"`
 | |
| 	BlEngName                string             `json:"blEngName"`
 | |
| 	BoxCount                 int64              `json:"boxCount"`
 | |
| 	InnerNum                 int64              `json:"innerNum"`
 | |
| 	InnerBoxCount            *int64             `json:"innerBoxCount"`
 | |
| 	BoxNumUnit               string             `json:"boxNumUnit"`
 | |
| 	OuterNum                 int64              `json:"outerNum"`
 | |
| 	ShipmentCount            int64              `json:"shipmentCount"`
 | |
| 	ShipmentCountUnit        string             `json:"shipmentCountUnit"`
 | |
| 	Length                   decimal.Decimal    `json:"length"`
 | |
| 	Width                    decimal.Decimal    `json:"width"`
 | |
| 	Height                   decimal.Decimal    `json:"height"`
 | |
| 	Volume                   decimal.Decimal    `json:"volume"`
 | |
| 	TotalVolume              decimal.Decimal    `json:"totalVolume"`
 | |
| 	NetGrossVolume           int64              `json:"netGrossVolume"`
 | |
| 	GrossWeight              decimal.Decimal    `json:"grossWeight"`
 | |
| 	TotalGrossWeight         decimal.Decimal    `json:"totalGrossWeight"`
 | |
| 	NetWeight                decimal.Decimal    `json:"netWeight"`
 | |
| 	TotalNetWeight           decimal.Decimal    `json:"totalNetWeight"`
 | |
| 	CustomsVolume            decimal.Decimal    `json:"customsVolume"`
 | |
| 	TotalCustomsVolume       decimal.Decimal    `json:"totalCustomsVolume"`
 | |
| 	CustomsNetWeight         decimal.Decimal    `json:"customsNetWeight"`
 | |
| 	TotalCustomsNetWeight    decimal.Decimal    `json:"totalCustomsNetWeight"`
 | |
| 	CustomsGrossWeight       decimal.Decimal    `json:"customsGrossWeight"`
 | |
| 	TotalCustomsGrossWeight  decimal.Decimal    `json:"totalCustomsGrossWeight"`
 | |
| 	SalePrice                decimal.Decimal    `json:"salePrice"`
 | |
| 	SaleAmount               decimal.Decimal    `json:"saleAmount"`
 | |
| 	FactoryName              string             `json:"factoryName"`
 | |
| 	CurrencyRate             decimal.Decimal    `json:"currencyRate"`
 | |
| 	Brand                    string             `json:"brand"`
 | |
| 	DomesticSupply           string             `json:"domesticSupply"`
 | |
| 	EpmNo                    string             `json:"epmNo"`
 | |
| 	HsSerial                 int64              `json:"hsSerial"`
 | |
| 	TaxExemption             string             `json:"taxExemption"`
 | |
| 	ItemNumber               string             `json:"itemNumber"`
 | |
| 	Texture                  string             `json:"texture"`
 | |
| 	EngTexture               string             `json:"engTexture"`
 | |
| 	Remark1                  string             `json:"remark1"`
 | |
| 	Remark2                  string             `json:"remark2"`
 | |
| 	Remark3                  string             `json:"remark3"`
 | |
| 	Remark4                  string             `json:"remark4"`
 | |
| 	Remark5                  string             `json:"remark5"`
 | |
| 	Remark6                  string             `json:"remark6"`
 | |
| 	ExchangeSettlementRemark string             `json:"exchangeSettlementRemark"`
 | |
| 	RemarkImg                string             `json:"remarkImg"`
 | |
| 	ContainerNumber          string             `json:"containerNumber"`
 | |
| 	SealNumber               string             `json:"sealNumber"`
 | |
| 	PurchasePrice            decimal.Decimal    `json:"purchasePrice"`
 | |
| 	PurchaseAmount           decimal.Decimal    `json:"purchaseAmount"`
 | |
| 	IsSerial                 int64              `json:"isSerial"`
 | |
| 	IsCustoms                int64              `json:"isCustoms"`
 | |
| 	CreatedAt                *time.Time         `json:"createdAt"`
 | |
| 	UpdatedAt                *time.Time         `json:"updatedAt"`
 | |
| 	Children                 []*SaleProductItem `json:"children"`
 | |
| }
 | |
| type ArgsSaleProductSearch struct {
 | |
| 	ModifyId               int64   // 订舱单修改id
 | |
| 	SaleIds                []int64 // 销售合同
 | |
| 	PiSerial               string  // pi号
 | |
| 	ShipmentSaleProductIds []int64 // 出舱单商品id
 | |
| }
 | |
| 
 | |
| // All @TITLE 获取商品
 | |
| func (s *saleProduct) All(ctx context.Context, search ArgsSaleProductSearch) (reply []SaleProductItem, err error) {
 | |
| 	xClient, err := client.GetClient(s)
 | |
| 	if err != nil {
 | |
| 		return
 | |
| 	}
 | |
| 	err = xClient.Call(ctx, "All", search, &reply)
 | |
| 	return
 | |
| }
 | |
| 
 | |
| type ArgsSaleProductAdd struct {
 | |
| 	ModifyId int64            // 订舱修改单id
 | |
| 	Products []SaleProductAdd // 产品信息
 | |
| }
 | |
| type SaleProductAdd struct {
 | |
| 	SaleProductId           int64            // 销售商品id
 | |
| 	CustomSerial            string           // 客户货号
 | |
| 	PackageDescription      string           // 包装描述
 | |
| 	PackageEngDescription   string           // 包装英文描述
 | |
| 	Name                    string           // 中文品名
 | |
| 	EngName                 string           // 英文品名
 | |
| 	CustomsSerial           string           // 海关编码
 | |
| 	CustomsName             string           // 中文报关名称
 | |
| 	CustomsMeasureUnit      string           // 报关单位
 | |
| 	CustomsInvoiceUnit      string           // 开票单位
 | |
| 	CustomsDetail           string           // 申报要素
 | |
| 	BlEngName               string           // 提单英文名
 | |
| 	InnerNum                *int64           // 内盒入数
 | |
| 	BoxNumUnit              string           // 箱数单位
 | |
| 	OuterNum                *int64           // 装箱单数
 | |
| 	ShipmentCount           int64            // 出运数量
 | |
| 	ShipmentCountUnit       string           // 数量单位
 | |
| 	Length                  *decimal.Decimal // 长
 | |
| 	Width                   *decimal.Decimal // 宽
 | |
| 	Height                  *decimal.Decimal // 高
 | |
| 	NetWeight               *decimal.Decimal // 净重
 | |
| 	GrossWeight             *decimal.Decimal // 毛重
 | |
| 	NetGrossVolume          int64            // 净毛体计算类型 1=内盒 2=外箱
 | |
| 	CustomsVolume           decimal.Decimal  // 报关体积
 | |
| 	TotalCustomsVolume      decimal.Decimal  // 报关总体积
 | |
| 	CustomsNetWeight        decimal.Decimal  // 报关净重
 | |
| 	TotalCustomsNetWeight   decimal.Decimal  // 报关总净重
 | |
| 	CustomsGrossWeight      decimal.Decimal  // 报关毛重
 | |
| 	TotalCustomsGrossWeight decimal.Decimal  // 报关总毛重
 | |
| 	CustomsBrand            string           // 品牌
 | |
| 	DomesticSupply          string           // 货源地
 | |
| 	FactoryName             string           // 工厂名称
 | |
| 	HsSerial                int64            // 是否商检 1=商检 2=未商检
 | |
| 	Texture                 string           // 材质
 | |
| 	EngTexture              string           // 英文材质
 | |
| 	EpmNo                   string           // EPM NO
 | |
| 	TaxExemption            string           // 免征税
 | |
| 	ItemNumber              string           // 项号
 | |
| 	Remark1                 string           // 备注1
 | |
| 	Remark2                 string           // 备注2
 | |
| 	Remark3                 string           // 备注3
 | |
| 	Remark4                 string           // 备注4
 | |
| 	Remark5                 string           // 备注5
 | |
| 	Remark6                 string           // 备注6
 | |
| 	RemarkImg               string           // 图片备注
 | |
| 	ContainerNumber         string           // 箱号
 | |
| 	SealNumber              string           // 封号
 | |
| }
 | |
| 
 | |
| // Add @TITLE 添加
 | |
| func (s *saleProduct) Add(ctx context.Context, args ArgsSaleProductAdd) (err error) {
 | |
| 	xClient, err := client.GetClient(s)
 | |
| 	if err != nil {
 | |
| 		return
 | |
| 	}
 | |
| 	reply := 0
 | |
| 	return xClient.Call(ctx, "Add", args, &reply)
 | |
| }
 | |
| 
 | |
| type ArgsSaleProductEdit struct {
 | |
| 	ModifyId int64 // 订舱修改单id
 | |
| 	Products []SaleProductEdit
 | |
| }
 | |
| type SaleProductEdit struct {
 | |
| 	ShipmentSaleProductId    int64            // 出舱单商品id
 | |
| 	Sort                     int64            // 排序
 | |
| 	Po                       string           // Po
 | |
| 	CustomSerial             string           // 客户货号
 | |
| 	PackageDescription       string           // 包装
 | |
| 	PackageEngDescription    string           // 包装英文描述
 | |
| 	Name                     string           // 中文品名
 | |
| 	EngName                  string           // 英文品名
 | |
| 	CustomsSerial            string           // 海关编码
 | |
| 	CustomsName              string           // 中文报关名称
 | |
| 	CustomsMeasureUnit       string           // 报关单位
 | |
| 	CustomsInvoiceUnit       string           // 开票单位
 | |
| 	CustomsDetail            string           // 申报要素
 | |
| 	BlEngName                string           // 提单英文名
 | |
| 	InnerNum                 *int64           // 内盒入数
 | |
| 	BoxNumUnit               string           // 箱数单位
 | |
| 	OuterNum                 *int64           // 装箱单数
 | |
| 	ShipmentCount            int64            // 出运数量
 | |
| 	ShipmentCountUnit        string           // 数量单位
 | |
| 	Length                   *decimal.Decimal // 长
 | |
| 	Width                    *decimal.Decimal // 宽
 | |
| 	Height                   *decimal.Decimal // 高
 | |
| 	NetWeight                *decimal.Decimal // 净重
 | |
| 	GrossWeight              *decimal.Decimal // 毛重
 | |
| 	NetGrossVolume           int64            // 净毛体计算类型 1=内盒 2=外箱
 | |
| 	CustomsVolume            decimal.Decimal  // 报关体积
 | |
| 	TotalCustomsVolume       decimal.Decimal  // 报关总体积
 | |
| 	CustomsNetWeight         decimal.Decimal  // 报关净重
 | |
| 	TotalCustomsNetWeight    decimal.Decimal  // 报关总净重
 | |
| 	CustomsGrossWeight       decimal.Decimal  // 报关毛重
 | |
| 	TotalCustomsGrossWeight  decimal.Decimal  // 报关总毛重
 | |
| 	SalePrice                decimal.Decimal  // 销售单价
 | |
| 	CustomsBrand             string           // 品牌
 | |
| 	DomesticSupply           string           // 货源地
 | |
| 	FactoryName              string           // 工厂名称
 | |
| 	HsSerial                 int64            // 是否商检 1=商检 2=未商检
 | |
| 	Texture                  string           // 材质
 | |
| 	EngTexture               string           // 英文材质
 | |
| 	EpmNo                    string           // EPM NO
 | |
| 	TaxExemption             string           // 免征税
 | |
| 	ItemNumber               string           // 项号
 | |
| 	Remark1                  string           // 备注1
 | |
| 	Remark2                  string           // 备注2
 | |
| 	Remark3                  string           // 备注3
 | |
| 	Remark4                  string           // 备注4
 | |
| 	Remark5                  string           // 备注5
 | |
| 	Remark6                  string           // 备注6
 | |
| 	ExchangeSettlementRemark string           // 结汇备注
 | |
| 	RemarkImg                string           // 图片备注
 | |
| 	ContainerNumber          string           // 箱号
 | |
| 	SealNumber               string           // 封号
 | |
| }
 | |
| 
 | |
| // Edit @TITLE 编辑
 | |
| func (s *saleProduct) Edit(ctx context.Context, args ArgsSaleProductEdit) (err error) {
 | |
| 	xClient, err := client.GetClient(s)
 | |
| 	if err != nil {
 | |
| 		return
 | |
| 	}
 | |
| 	reply := 0
 | |
| 	return xClient.Call(ctx, "Edit", args, &reply)
 | |
| }
 | |
| 
 | |
| type ArgsSaleProductDelete struct {
 | |
| 	ModifyId               int64   // 订舱修改单id
 | |
| 	ShipmentSaleProductIds []int64 // 出运参评id
 | |
| }
 | |
| 
 | |
| // Delete @TITLE 删除出运产品
 | |
| func (s *saleProduct) Delete(ctx context.Context, args ArgsSaleProductDelete) (err error) {
 | |
| 	xClient, err := client.GetClient(s)
 | |
| 	if err != nil {
 | |
| 		return
 | |
| 	}
 | |
| 	reply := 0
 | |
| 	return xClient.Call(ctx, "Delete", args, &reply)
 | |
| }
 |