添加订舱修改单
This commit is contained in:
parent
60b6ab252b
commit
b0c346a83b
@ -2,21 +2,23 @@ package erp
|
||||
|
||||
type BusinessType = string // 业务类型
|
||||
const (
|
||||
BusinessTypeSaleAudit BusinessType = "saleAudit" // 销售合同审核
|
||||
BusinessTypeSaleAuditClose BusinessType = "saleAuditClose" // 销售合同关单审核
|
||||
BusinessTypeSaleAppendAudit BusinessType = "saleAuditAppend" // 销售合同追加商品
|
||||
BusinessTypePurchaseAudit BusinessType = "purchaseAudit" // 采购合同审核
|
||||
BusinessTypeShipmentAudit BusinessType = "shipmentAudit" // 订舱单审核
|
||||
BusinessTypeAccountingAudit BusinessType = "accountingAudit" // 做账合同审核
|
||||
BusinessTypeSaleAudit BusinessType = "saleAudit" // 销售合同审核
|
||||
BusinessTypeSaleAuditClose BusinessType = "saleAuditClose" // 销售合同关单审核
|
||||
BusinessTypeSaleAppendAudit BusinessType = "saleAuditAppend" // 销售合同追加商品
|
||||
BusinessTypePurchaseAudit BusinessType = "purchaseAudit" // 采购合同审核
|
||||
BusinessTypeShipmentAudit BusinessType = "shipmentAudit" // 订舱单审核
|
||||
BusinessTypeShipmentModifyAudit BusinessType = "shipmentModifyAudit" // 订舱单修改单审核
|
||||
BusinessTypeAccountingAudit BusinessType = "accountingAudit" // 做账合同审核
|
||||
)
|
||||
|
||||
var BusinessTypeName = map[BusinessType]string{
|
||||
BusinessTypeSaleAudit: "销售合同审核",
|
||||
BusinessTypeSaleAuditClose: "销售合同关单审核",
|
||||
BusinessTypeSaleAppendAudit: "销售合同追加商品审核",
|
||||
BusinessTypePurchaseAudit: "采购合同审核",
|
||||
BusinessTypeShipmentAudit: "订舱单审核",
|
||||
BusinessTypeAccountingAudit: "做账合同审核",
|
||||
BusinessTypeSaleAudit: "销售合同审核",
|
||||
BusinessTypeSaleAuditClose: "销售合同关单审核",
|
||||
BusinessTypeSaleAppendAudit: "销售合同追加商品审核",
|
||||
BusinessTypePurchaseAudit: "采购合同审核",
|
||||
BusinessTypeShipmentAudit: "订舱单审核",
|
||||
BusinessTypeShipmentModifyAudit: "订舱修改单审核",
|
||||
BusinessTypeAccountingAudit: "做账合同审核",
|
||||
}
|
||||
|
||||
type AuditStatus = int64 // 审核状态
|
||||
|
262
erp/shipment/modify.go
Normal file
262
erp/shipment/modify.go
Normal file
@ -0,0 +1,262 @@
|
||||
package shipment
|
||||
|
||||
import (
|
||||
"context"
|
||||
"git.kumo.work/shama/service/client"
|
||||
bean2 "git.kumo.work/shama/service/erp/bean"
|
||||
modify2 "git.kumo.work/shama/service/erp/shipment/modify"
|
||||
"git.kumo.work/shama/service/lib/bean"
|
||||
"github.com/shopspring/decimal"
|
||||
"time"
|
||||
)
|
||||
|
||||
type modify struct {
|
||||
Modify modify2.Modify
|
||||
}
|
||||
|
||||
type ArgsShipmentList struct {
|
||||
Page bean.Page
|
||||
Search ShipmentSearch
|
||||
}
|
||||
type ShipmentSearch struct {
|
||||
InvoiceSerial string // 出运发票号
|
||||
CustomIds []int64 // 客户筛选
|
||||
StaffIds []int64 // 业务员筛选
|
||||
CreatedStaffIds []int64 // 业务员筛选
|
||||
WorkflowStatus []int64 // 审核状态
|
||||
IsAudit int64 // 审核状态 是否审核 1=是 2=否
|
||||
ShipmentIds []int64 // 出舱id
|
||||
ModifyIds []int64 // 订舱修改单id
|
||||
InvoiceDateStart *time.Time // 发票日期
|
||||
InvoiceDateEnd *time.Time // 发票日期
|
||||
ContractDateStart *time.Time // 合同日期
|
||||
ContractDateEnd *time.Time // 合同日期
|
||||
BanFlag int64 // 是否有效
|
||||
ShipmentId int64 // 出运id
|
||||
}
|
||||
type ReplyShipmentList struct {
|
||||
List []ShipmentItem `json:"list"`
|
||||
Total int64 `json:"total"`
|
||||
}
|
||||
type ShipmentItem struct {
|
||||
Id int64 `json:"id"`
|
||||
ShipmentId int64 `json:"shipmentId"`
|
||||
PiSerials string `json:"piSerials"`
|
||||
InvoiceSerial string `json:"invoiceSerial"`
|
||||
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"`
|
||||
WorkflowStatus int64 `json:"workflowStatus"`
|
||||
CreatedStaffId int64 `json:"createdStaffId"`
|
||||
CreatedAt *time.Time `json:"createdAt"`
|
||||
UpdatedAt *time.Time `json:"updatedAt"`
|
||||
}
|
||||
|
||||
// List @TITLE 列表
|
||||
func (m *modify) List(ctx context.Context, args ArgsShipmentList) (reply ReplyShipmentList, err error) {
|
||||
xClient, err := client.GetClient(m)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = xClient.Call(ctx, "List", args, &reply)
|
||||
return
|
||||
}
|
||||
|
||||
type ArgsShipmentAdd struct {
|
||||
ShipmentId int64 // 订舱id
|
||||
}
|
||||
|
||||
// Add @TITLE 添加
|
||||
func (m *modify) Add(ctx context.Context, args ArgsShipmentAdd) (modifyId int64, err error) {
|
||||
xClient, err := client.GetClient(m)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = xClient.Call(ctx, "Add", args, &modifyId)
|
||||
return
|
||||
}
|
||||
|
||||
type ReplyModifyInfo struct {
|
||||
Id int64 `json:"id"`
|
||||
ShipmentId int64 `json:"shipmentId"`
|
||||
VouchingClerkId int64 `json:"vouchingClerkId"`
|
||||
CustomId int64 `json:"customId"`
|
||||
CustomName string `json:"customName"`
|
||||
CustomShortName string `json:"customShortName"`
|
||||
EstSailingDate *time.Time `json:"estSailingDate"`
|
||||
InvoiceSerial string `json:"invoiceSerial"`
|
||||
InvoiceDate *time.Time `json:"invoiceDate"`
|
||||
ContractDate *time.Time `json:"contractDate"`
|
||||
TradeType string `json:"tradeType"`
|
||||
OurCompany string `json:"ourCompany"`
|
||||
PaymentType string `json:"paymentType"`
|
||||
PaymentDepositRate *decimal.Decimal `json:"paymentDepositRate"`
|
||||
PaymentDepositAmount *decimal.Decimal `json:"paymentDepositAmount"`
|
||||
PaymentCycle *int64 `json:"paymentCycle"`
|
||||
PaymentTerms string `json:"paymentTerms"`
|
||||
CommissionRate *decimal.Decimal `json:"commissionRate"`
|
||||
TradeCountry string `json:"tradeCountry"`
|
||||
RecBank string `json:"recBank"`
|
||||
RecBankEng string `json:"recBankEng"`
|
||||
RecBankName string `json:"recBankName"`
|
||||
RecBankNameEng string `json:"recBankNameEng"`
|
||||
RecBankCardNo string `json:"recBankCardNo"`
|
||||
RecBankCardName string `json:"recBankCardName"`
|
||||
RecBankAddress string `json:"recBankAddress"`
|
||||
Shipper string `json:"shipper"`
|
||||
Consignee string `json:"consignee"`
|
||||
Notifier string `json:"notifier"`
|
||||
DueRecDate *time.Time `json:"dueRecDate"`
|
||||
ShipMode string `json:"shipMode"`
|
||||
ContainerType string `json:"containerType"`
|
||||
ReadyDate *time.Time `json:"readyDate"`
|
||||
ShipPort string `json:"shipPort"`
|
||||
DischargePort string `json:"dischargePort"`
|
||||
DischargePortEng string `json:"dischargePortEng"`
|
||||
DeliveryCountry string `json:"deliveryCountry"`
|
||||
DeliveryCountryEng string `json:"deliveryCountryEng"`
|
||||
Destination string `json:"destination"`
|
||||
FactoryHaulAdress string `json:"factoryHaulAdress"`
|
||||
LogisticsCompanyId int64 `json:"logisticsCompanyId"`
|
||||
LogisticsCompany string `json:"logisticsCompany"`
|
||||
LogisticsCompanyContactName string `json:"logisticsCompanyContactName"`
|
||||
LogisticsCompanyContactPhone string `json:"logisticsCompanyContactPhone"`
|
||||
LogisticsCompanyContactTel string `json:"logisticsCompanyContactTel"`
|
||||
LogisticsCompanyContactEmail string `json:"logisticsCompanyContactEmail"`
|
||||
SeparableFlag int64 `json:"separableFlag"`
|
||||
CopyCount *int64 `json:"copyCount"`
|
||||
InsuranceRatio *int64 `json:"insuranceRatio"`
|
||||
CreditSerial string `json:"creditSerial"`
|
||||
CreditDate *time.Time `json:"creditDate"`
|
||||
InlandShipWay string `json:"inlandShipWay"`
|
||||
PackagingType string `json:"packagingType"`
|
||||
ShipmentNo string `json:"shipmentNo"`
|
||||
CnoSno string `json:"cnoSno"`
|
||||
Declare1 string `json:"declare1"`
|
||||
Declare2 string `json:"declare2"`
|
||||
Info string `json:"info"`
|
||||
RegulatoryMethods string `json:"regulatoryMethods"`
|
||||
TaxExemptionNature string `json:"taxExemptionNature"`
|
||||
MarkText string `json:"markText"`
|
||||
MarkImg string `json:"markImg"`
|
||||
WorkflowId int64 `json:"workflowId"`
|
||||
WorkflowStatus int64 `json:"workflowStatus"`
|
||||
WorkflowReason string `json:"workflowReason"`
|
||||
CreatedStaffId int64 `json:"createdStaffId"`
|
||||
CreatedAt *time.Time `json:"createdAt"`
|
||||
SaleCurrency string `json:"saleCurrency"`
|
||||
SaleCurrencyName string `json:"saleCurrencyName"`
|
||||
SaleCurrencySymbol string `json:"saleCurrencySymbol"`
|
||||
SaleCurrencyRate decimal.Decimal `json:"saleCurrencyRate"`
|
||||
BanFlag int64 `json:"banFlag"`
|
||||
}
|
||||
|
||||
// Info @TITLE 详情
|
||||
func (m *modify) Info(ctx context.Context, modifyId int64) (reply ReplyModifyInfo, err error) {
|
||||
xClient, err := client.GetClient(m)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = xClient.Call(ctx, "Info", modifyId, &reply)
|
||||
return
|
||||
}
|
||||
|
||||
type ArgsShipmentEdit struct {
|
||||
ModifyId int64 // 订舱修改单ID
|
||||
ArgsShipmentData
|
||||
}
|
||||
type ArgsShipmentData struct {
|
||||
EstSailingDate *time.Time // 预计发运日期
|
||||
InvoiceSerial string // 发票编号
|
||||
InvoiceDate *time.Time // 发票日期
|
||||
ContractDate *time.Time // 合同日期
|
||||
TradeType string // 贸易类型
|
||||
OurCompany string // 我方公司
|
||||
RecBank string // 收款银行
|
||||
RecBankEng string // 收款银行英文
|
||||
RecBankName string // 收款银行名称
|
||||
RecBankNameEng string // 收款银行名称英文
|
||||
RecBankCardNo string // 收款银行卡号
|
||||
RecBankCardName string // 收款银行卡名
|
||||
RecBankAddress string // 收汇银行地址
|
||||
PaymentTerms string // 付款条件
|
||||
TradeCountry string // 贸易国
|
||||
PaymentType string // 付款方式
|
||||
PaymentDepositRate decimal.Decimal // 定金比例
|
||||
PaymentCycle int64 // 付款周期
|
||||
CommissionRate decimal.Decimal // 佣金比例
|
||||
DueRecDate *time.Time // 预计收汇日期日期
|
||||
Shipper string // 发货方
|
||||
Consignee string // 收货方
|
||||
Notifier string // 通知方
|
||||
ShipMode string // 运输方式
|
||||
ContainerType string // 柜型
|
||||
ReadyDate *time.Time // 预计发运日期
|
||||
ShipPort string // 港口
|
||||
DischargePort string // 卸货港口
|
||||
DischargePortEng string // 卸货港口英文
|
||||
DeliveryCountry string // 运抵国
|
||||
DeliveryCountryEng string // 运抵国英文
|
||||
Destination string // 目的地
|
||||
FactoryHaulAdress string // 工厂拖柜地址
|
||||
SeparableFlag int64 // 可分批标记(1=可分 2=不可分)
|
||||
LogisticsCompanyId int64 // 物流公司id
|
||||
LogisticsCompany string // 物流公司
|
||||
LogisticsCompanyContactName string // 物流公司联系人
|
||||
LogisticsCompanyContactPhone string // 物流公司联系人电话
|
||||
LogisticsCompanyContactTel string // 物流公司联系人固定电话
|
||||
LogisticsCompanyContactEmail string // 物流公司联系人邮箱
|
||||
CopyCount int64 // 提单份数
|
||||
InsuranceRatio int64 // 保险比率
|
||||
CreditSerial string // 信用证号
|
||||
CreditDate *time.Time // 开证日期
|
||||
InlandShipWay string // 内陆运输
|
||||
PackagingType string // 包装种类
|
||||
ShipmentNo string // shipmentNO
|
||||
CnoSno string // CONTAINER NO./SEAL NO.
|
||||
Declare1 string // 声明1
|
||||
Declare2 string // 声明2
|
||||
Info string // 备注
|
||||
RegulatoryMethods string // 监管方式
|
||||
TaxExemptionNature string // 征免性质
|
||||
MarkText string // 唛头文字
|
||||
MarkImg string // 唛头图片
|
||||
VouchingClerkId int64 // 单证id
|
||||
}
|
||||
|
||||
// Edit @TITLE 编辑
|
||||
func (m *modify) Edit(ctx context.Context, args ArgsShipmentEdit) (err error) {
|
||||
xClient, err := client.GetClient(m)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
reply := 0
|
||||
err = xClient.Call(ctx, "Edit", args, &reply)
|
||||
return
|
||||
}
|
||||
|
||||
// Customs @TITLE 报关信息
|
||||
func (m *modify) Customs(ctx context.Context, modifyId int64) (reply bean2.ReplyCustoms, err error) {
|
||||
xClient, err := client.GetClient(m)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = xClient.Call(ctx, "Customs", modifyId, &reply)
|
||||
return
|
||||
}
|
||||
|
||||
// Cancel @TITLE 作废
|
||||
func (m *modify) Cancel(ctx context.Context, modifyId int64) (err error) {
|
||||
xClient, err := client.GetClient(m)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
reply := 0
|
||||
err = xClient.Call(ctx, "Cancel", modifyId, &reply)
|
||||
return
|
||||
}
|
25
erp/shipment/modify/audit.go
Normal file
25
erp/shipment/modify/audit.go
Normal 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
|
||||
}
|
76
erp/shipment/modify/cost.go
Normal file
76
erp/shipment/modify/cost.go
Normal 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)
|
||||
}
|
77
erp/shipment/modify/customsCost.go
Normal file
77
erp/shipment/modify/customsCost.go
Normal 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
127
erp/shipment/modify/gift.go
Normal 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)
|
||||
}
|
10
erp/shipment/modify/modify.go
Normal file
10
erp/shipment/modify/modify.go
Normal file
@ -0,0 +1,10 @@
|
||||
package modify
|
||||
|
||||
type Modify struct {
|
||||
Sale sale
|
||||
Cost cost
|
||||
SaleProduct saleProduct
|
||||
CustomsCost customsCost
|
||||
Gift gift
|
||||
Audit audit
|
||||
}
|
56
erp/shipment/modify/sale.go
Normal file
56
erp/shipment/modify/sale.go
Normal 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)
|
||||
}
|
249
erp/shipment/modify/saleProduct.go
Normal file
249
erp/shipment/modify/saleProduct.go
Normal 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)
|
||||
}
|
@ -10,4 +10,5 @@ type Shipment struct {
|
||||
Serial serial
|
||||
Customs customs
|
||||
ExchangeSettlement exchangeSettlement
|
||||
Modify modify
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user