zhangqian
2024-03-19 7d80867c1d2d8340da8e106b4af2ceaba3fc9fc1
model/request/salesDetails.go
@@ -3,7 +3,7 @@
import (
   "aps_crm/constvar"
   "aps_crm/model"
   "aps_crm/proto/code"
   "github.com/shopspring/decimal"
)
type AddSalesDetails struct {
@@ -11,30 +11,41 @@
}
type SalesDetails struct {
   ClientId            int               `json:"clientId" gorm:"column:client_id;type:int;comment:客户id"`
   Number              string            `json:"number" gorm:"column:number;type:varchar(255);comment:销售子单号"`
   SaleChanceId        int               `json:"saleChanceId" gorm:"column:sale_chance_id;type:int;comment:销售机会id"`
   SaleType            int               `json:"saleType" gorm:"column:sale_type;type:int;comment:销售类型"`
   SignTime            string            `json:"signTime" gorm:"column:sign_time;type:datetime;comment:签单时间"`
   MemberId            int               `json:"memberId" gorm:"column:member_id;type:int;comment:负责人id"`
   DeliveryDate        string            `json:"deliveryDate" gorm:"column:delivery_date;type:datetime;comment:交货日期"`
   WechatOrderStatusId int               `json:"wechatOrderStatusId" gorm:"column:wechat_order_status_id;type:int;comment:微信订单状态id"`
   Address             string            `json:"address" gorm:"column:address;type:varchar(255);comment:地址"`
   Phone               string            `json:"phone" gorm:"column:phone;type:varchar(255);comment:电话"`
   Addressee           string            `json:"addressee" gorm:"column:addressee;type:varchar(255);comment:收件人"`
   Conditions          string            `json:"conditions" gorm:"column:conditions;type:text;comment:条件"`
   Remark              string            `json:"remark" gorm:"column:remark;type:text;comment:备注"`
   Products            []*model.Product  `json:"products" gorm:"many2many:sales_details_product;"`
   LogisticCompany     string            `json:"logisticCompany" gorm:"column:logistic_company;type:varchar(255);comment:物流公司"`
   LogisticNumber      string            `json:"logisticNumber" gorm:"column:logistic_number;type:varchar(255);comment:物流单号"`
   LogisticCost        float64           `json:"logisticCost" gorm:"column:logistic_cost;type:decimal(10,2);comment:物流费用"`
   CodeStandID         string            `json:"codeStandID"` //编码id
   CodeRule            code.CodeStandard `json:"codeRule"`
   ClientId            int                         `json:"clientId" gorm:"column:client_id;type:int;comment:客户id"`
   Client              model.Client                `json:"client" gorm:"foreignKey:ClientId"`
   Number              string                      `json:"number" gorm:"column:number;type:varchar(255);comment:销售明细单号"`
   SaleChanceId        int                         `json:"saleChanceId" gorm:"column:sale_chance_id;type:int;comment:销售机会id"`
   SaleType            int                         `json:"saleType" gorm:"column:sale_type;type:int;comment:销售类型"`
   SignTime            string                      `json:"signTime" gorm:"column:sign_time;type:datetime;comment:签单时间"`
   MemberId            int                         `json:"memberId" gorm:"column:member_id;type:int;comment:负责人id"`
   Member              model.User                  `json:"Member"  gorm:"foreignKey:MemberId"`
   DeliveryDate        string                      `json:"deliveryDate" gorm:"column:delivery_date;type:datetime;comment:交货日期"`
   WechatOrderStatusId int                         `json:"wechatOrderStatusId" gorm:"column:wechat_order_status_id;type:int;comment:微信订单状态id"`
   Address             string                      `json:"address" gorm:"column:address;type:varchar(255);comment:地址"`
   Phone               string                      `json:"phone" gorm:"column:phone;type:varchar(255);comment:电话"`
   Addressee           string                      `json:"addressee" gorm:"column:addressee;type:varchar(255);comment:收件人"`
   Conditions          string                      `json:"conditions" gorm:"column:conditions;type:text;comment:条件"`
   Remark              string                      `json:"remark" gorm:"column:remark;type:text;comment:备注"`
   Products            []*model.Product            `json:"products" gorm:"many2many:sales_details_product;"`
   LogisticCompany     string                      `json:"logisticCompany" gorm:"column:logistic_company;type:varchar(255);comment:物流公司"`
   LogisticNumber      string                      `json:"logisticNumber" gorm:"column:logistic_number;type:varchar(255);comment:物流单号"`
   LogisticCost        float64                     `json:"logisticCost" gorm:"column:logistic_cost;type:decimal(10,2);comment:物流费用"`
   CodeStandID         string                      `json:"codeStandID"` //编码id
   DeliverType         int                         `json:"deliverType"` //交付类型:1.一次发货,2.多次发货
   QuotationId         int                         `json:"quotationId" gorm:"column:quotation_id;type:int;comment:报价单id"`
   Status              constvar.SalesDetailsStatus `json:"status" gorm:"column:status;type:int;comment:状态"`
   Source              string                      `json:"source" gorm:"column:source;type:varchar(255);comment:订单来源"`
   ProjectId           string                      `json:"projectId" gorm:"column:project_id;type:varchar(255);comment:aps项目id"`
}
type UpdateSalesDetails struct {
   Id           int          `json:"id"`
   SalesDetails SalesDetails `json:"salesDetails"`
}
type UpdateSalesDetailsStatus struct {
   Id     int                         `json:"id"`
   Status constvar.SalesDetailsStatus `json:"status" gorm:"column:status;type:int;comment:状态"`
}
type GetSalesDetailsList struct {
@@ -43,4 +54,21 @@
   Keyword      string                           `json:"keyword"`
   SaleChanceId int                              `json:"saleChanceId"` //销售机会id
   ClientId     int                              `json:"clientId"`     //客户id
   Number       string                           `json:"number"`       //销售明细单号
}
// ConfirmOutput 发货
type ConfirmOutput struct {
   SaleDetailNumber string                  `json:"saleDetailNumber"`
   Products         []ConfirmOutputProducts `json:"products"`
}
// ConfirmOutputOver 确认发货完成
type ConfirmOutputOver struct {
   SaleDetailNumber string `json:"saleDetailNumber"`
}
type ConfirmOutputProducts struct {
   Number       string          `json:"number"`       //产品编号
   OutputAmount decimal.Decimal `json:"outputAmount"` //本次发货数量
}