添加订舱修改单

This commit is contained in:
2025-03-05 14:14:32 +08:00
parent 60b6ab252b
commit b0c346a83b
10 changed files with 897 additions and 12 deletions

View File

@@ -0,0 +1,25 @@
package modify
import (
"context"
"git.kumo.work/shama/service/client"
)
type audit struct {
}
type ArgsAuditSubmit struct {
StaffId int64 // 操作人
ModifyId int64 // 订舱修改单id
AuditStaffIds []int64 // 审核人
}
// 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
}

View File

@@ -0,0 +1,76 @@
package modify
import (
"context"
"git.kumo.work/shama/service/client"
"github.com/shopspring/decimal"
"time"
)
type cost struct {
}
type CostItem struct {
Id int64 `json:"id"`
Name string `json:"name"`
Amount decimal.Decimal `json:"amount"`
Remarks string `json:"remarks"`
CreatedAt *time.Time `json:"createdAt"`
UpdatedAt *time.Time `json:"updatedAt"`
}
// All @TITLE 获取费用
func (c *cost) All(ctx context.Context, modifyId int64) (reply []CostItem, err error) {
xClient, err := client.GetClient(c)
if err != nil {
return
}
err = xClient.Call(ctx, "All", modifyId, &reply)
return
}
type ArgsCostAdd struct {
ModifyId int64 // 订舱修改单ID
CostAdd
}
type CostAdd struct {
Name string // 费用名
Amount decimal.Decimal // 金额
Remarks string // 备注信息
}
// Add @TITLE 添加费用
func (c *cost) Add(ctx context.Context, args ArgsCostAdd) (err error) {
xClient, err := client.GetClient(c)
if err != nil {
return
}
reply := 0
return xClient.Call(ctx, "Add", args, &reply)
}
type ArgsCostEdit struct {
CostId int64 // 费用ID
CostAdd
}
// Edit @TITLE 编辑费用
func (c *cost) Edit(ctx context.Context, args ArgsCostEdit) (err error) {
xClient, err := client.GetClient(c)
if err != nil {
return
}
reply := 0
return xClient.Call(ctx, "Edit", args, &reply)
}
// Delete @TITLE 删除费用
func (c *cost) Delete(ctx context.Context, costIds []int64) (err error) {
xClient, err := client.GetClient(c)
if err != nil {
return
}
reply := 0
return xClient.Call(ctx, "Delete", costIds, &reply)
}

View File

@@ -0,0 +1,77 @@
package modify
import (
"context"
"git.kumo.work/shama/service/client"
"github.com/shopspring/decimal"
"time"
)
type customsCost struct {
}
type CustomsCostItem struct {
Id int64 `json:"id"`
Name string `json:"name"`
Type int64 `json:"type"`
Amount decimal.Decimal `json:"amount"`
Remarks string `json:"remarks"`
CreatedAt *time.Time `json:"createdAt"`
UpdatedAt *time.Time `json:"updatedAt"`
}
// All @TITLE 获取费用
func (c *customsCost) All(ctx context.Context, modifyId int64) (reply []CustomsCostItem, err error) {
xClient, err := client.GetClient(c)
if err != nil {
return
}
err = xClient.Call(ctx, "All", modifyId, &reply)
return
}
type ArgsCustomsCostAdd struct {
ModifyId int64 // 订舱修改单ID
CustomsCostAdd
}
type CustomsCostAdd struct {
Name string // 费用名
Amount decimal.Decimal // 金额
Remarks string // 备注信息
}
// Add @TITLE 添加费用
func (c *customsCost) Add(ctx context.Context, args ArgsCustomsCostAdd) (err error) {
xClient, err := client.GetClient(c)
if err != nil {
return
}
reply := 0
return xClient.Call(ctx, "Add", args, &reply)
}
type ArgsCustomsCostEdit struct {
CustomsCostId int64 // 费用ID
CustomsCostAdd
}
// Edit @TITLE 编辑费用
func (c *customsCost) Edit(ctx context.Context, args ArgsCustomsCostEdit) (err error) {
xClient, err := client.GetClient(c)
if err != nil {
return
}
reply := 0
return xClient.Call(ctx, "Edit", args, &reply)
}
// Delete @TITLE 删除费用
func (c *customsCost) Delete(ctx context.Context, customsCostIds []int64) (err error) {
xClient, err := client.GetClient(c)
if err != nil {
return
}
reply := 0
return xClient.Call(ctx, "Delete", customsCostIds, &reply)
}

127
erp/shipment/modify/gift.go Normal file
View File

@@ -0,0 +1,127 @@
package modify
import (
"context"
"git.kumo.work/shama/service/client"
"github.com/shopspring/decimal"
"time"
)
type gift struct {
}
type ArgsGiftSearch struct {
ModifyId int64 // 订舱修改单id
GiftIds []int64 // 赠品id
}
type GiftItem struct {
Id int64 `json:"id"`
Name string `json:"name"`
EngName string `json:"engName"`
CustomsName string `json:"customsName"`
CustomsSerial string `json:"customsSerial"`
CustomsMeasureUnit string `json:"customsMeasureUnit"`
CustomsInvoiceUnit string `json:"customsInvoiceUnit"`
CustomsDetail string `json:"customsDetail"`
ShipmentCount int64 `json:"shipmentCount"`
ShipmentCountUnit string `json:"shipmentCountUnit"`
OuterBoxCount int64 `json:"outerBoxCount"`
TotalVolume decimal.Decimal `json:"totalVolume"`
TotalGrossWeight decimal.Decimal `json:"totalGrossWeight"`
TotalNetWeight decimal.Decimal `json:"totalNetWeight"`
CustomsPrice decimal.Decimal `json:"customsPrice"`
CustomsAmount decimal.Decimal `json:"customsAmount"`
DomesticSupply string `json:"domesticSupply"`
TaxExemption string `json:"taxExemption"`
ContainerNumber string `json:"containerNumber"`
SealNumber string `json:"sealNumber"`
Remark string `json:"remark"`
Sort int64 `json:"sort"`
IsSerial int64 `json:"isSerial"`
IsCustoms int64 `json:"isCustoms"`
CreatedAt *time.Time `json:"createdAt"`
}
// All @TITLE 全部赠品
func (g *gift) All(ctx context.Context, args ArgsGiftSearch) (reply []GiftItem, err error) {
xClient, err := client.GetClient(g)
if err != nil {
return
}
err = xClient.Call(ctx, "All", args, &reply)
return
}
type ArgsGiftAdd struct {
ModifyId int64 // 订舱修改单ID
Gifts []GiftAdd
}
type GiftAdd struct {
Name string // 中文品名
EngName string // 英文品名
CustomsName string // 中文报关名称
CustomsSerial string // 海关编码
CustomsMeasureUnit string // 报关单位
CustomsInvoiceUnit string // 开票单位
CustomsDetail string // 申报要素
ShipmentCount int64 // 出运数量
ShipmentCountUnit string // 数量单位
OuterBoxCount int64 // 箱数
TotalVolume decimal.Decimal // 体积
TotalGrossWeight decimal.Decimal // 毛重
TotalNetWeight decimal.Decimal // 净重
CustomsPrice decimal.Decimal // 报关单价
CustomsAmount decimal.Decimal // 报关总价
DomesticSupply string // 境内货源地
TaxExemption string // 征免
ContainerNumber string // 箱号
SealNumber string // 封号
Remark string // 备注
Sort int64 // 排序
}
// Add @TITLE 添加赠品
func (g *gift) Add(ctx context.Context, args ArgsGiftAdd) (err error) {
xClient, err := client.GetClient(g)
if err != nil {
return
}
reply := 0
return xClient.Call(ctx, "Add", args, &reply)
}
type ArgsGiftEdit struct {
ModifyId int64 // 订舱修改单ID
Gifts []GiftEdit
}
type GiftEdit struct {
GiftId int64 // 费用ID
GiftAdd
}
// Edit @TITLE 编辑赠品
func (g *gift) Edit(ctx context.Context, args ArgsGiftEdit) (err error) {
xClient, err := client.GetClient(g)
if err != nil {
return
}
reply := 0
return xClient.Call(ctx, "Edit", args, &reply)
}
type ArgsGiftDelete struct {
ModifyId int64 // 订舱修改单ID
GiftIds []int64 // 赠品id
}
// Delete @TITLE 删除赠品
func (g *gift) Delete(ctx context.Context, args ArgsGiftDelete) (err error) {
xClient, err := client.GetClient(g)
if err != nil {
return
}
reply := 0
return xClient.Call(ctx, "Delete", args, &reply)
}

View File

@@ -0,0 +1,10 @@
package modify
type Modify struct {
Sale sale
Cost cost
SaleProduct saleProduct
CustomsCost customsCost
Gift gift
Audit audit
}

View File

@@ -0,0 +1,56 @@
package modify
import (
"context"
"git.kumo.work/shama/service/client"
)
type sale struct {
}
type SaleItem struct {
Id int64 `json:"id"`
SaleId int64 `json:"saleId"`
PiSerial string `json:"piSerial"`
PoSerial string `json:"poSerial"`
}
// All @TITLE 获取销售合同
func (s *sale) All(ctx context.Context, modifyId int64) (reply []SaleItem, err error) {
xClient, err := client.GetClient(s)
if err != nil {
return
}
err = xClient.Call(ctx, "All", modifyId, &reply)
return
}
type ArgsSaleAdd struct {
ModifyId int64 // 订舱修改单id
SaleIds []int64 // 销售合同
}
// Add @TITLE 添加销售合同
func (s *sale) Add(ctx context.Context, args ArgsSaleAdd) (err error) {
xClient, err := client.GetClient(s)
if err != nil {
return
}
reply := 0
return xClient.Call(ctx, "Add", args, &reply)
}
type ArgsSaleDelete struct {
ModifyId int64 // 订舱修改单id
SaleIds []int64 // 销售合同
}
// Delete @TITLE 删除销售合同
func (s *sale) Delete(ctx context.Context, args ArgsSaleDelete) (err error) {
xClient, err := client.GetClient(s)
if err != nil {
return
}
reply := 0
return xClient.Call(ctx, "Delete", args, &reply)
}

View File

@@ -0,0 +1,249 @@
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)
}