zhangqian
2024-03-19 7d80867c1d2d8340da8e106b4af2ceaba3fc9fc1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package model
 
import (
    "aps_crm/pkg/mysqlx"
    "github.com/shopspring/decimal"
    "gorm.io/gorm"
)
 
type (
    DeliveryOrder struct {
        Id              int             `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
        MemberId        int             `json:"memberId" gorm:"column:member_id;type:int;comment:服务人员id"`
        SalesDetailsId  int             `json:"salesDetailsId" gorm:"column:sales_details_id;type:int;comment:销售明细id"`
        ProductID       uint            `json:"productID" gorm:"column:product_id"`
        Name            string          `json:"name" gorm:"column:name;type:varchar(255);comment:产品名称"`
        Number          string          `json:"number" gorm:"column:number;type:varchar(255);comment:产品编号"`  //产品编号
        Amount          decimal.Decimal `json:"amount" gorm:"column:amount;type:decimal(12,2);comment:产品数量"` //订单数量
        FinishAmount    decimal.Decimal `json:"finishAmount" gorm:"-"`                                       //订单完成数量
        AvailableAmount decimal.Decimal `json:"availableAmount" gorm:"-"`                                    //可用库存
        DeliveryAmount  decimal.Decimal `json:"deliveryAmount" gorm:"-"`                                     //本次发货数量
        LeftAmount      decimal.Decimal `json:"leftAmount" gorm:"column:left_amount;type:decimal(12,2);comment:剩余发货数量"`
        gorm.Model      `json:"-"`
    }
 
    DeliveryOrderSearch struct {
        DeliveryOrder
        Orm *gorm.DB
    }
)
 
func (DeliveryOrder) TableName() string {
    return "delivery_order"
}
 
func NewDeliveryOrderSearch() *DeliveryOrderSearch {
    return &DeliveryOrderSearch{
        Orm: mysqlx.GetDB(),
    }
}
 
func (css *DeliveryOrderSearch) build() *gorm.DB {
    var db = css.Orm.Model(&DeliveryOrder{})
    if css.Id != 0 {
        db = db.Where("id = ?", css.Id)
    }
    if css.SalesDetailsId != 0 {
        db = db.Where("sales_details_id = ?", css.SalesDetailsId)
    }
 
    return db
}
 
func (css *DeliveryOrderSearch) Create(record *DeliveryOrder) error {
    var db = css.build()
    return db.Create(record).Error
}
 
func (css *DeliveryOrderSearch) Update(record *DeliveryOrder) error {
    var db = css.build()
    return db.Updates(record).Error
}
 
func (css *DeliveryOrderSearch) Delete() error {
    var db = css.build()
    return db.Delete(&DeliveryOrder{}).Error
}
 
func (css *DeliveryOrderSearch) Find() (*DeliveryOrder, error) {
    var db = css.build()
    var record = &DeliveryOrder{}
    err := db.First(record).Error
    return record, err
}
 
func (css *DeliveryOrderSearch) FindAll() ([]*DeliveryOrder, error) {
    var db = css.build()
    var records = make([]*DeliveryOrder, 0)
    err := db.Find(&records).Error
    return records, err
}
 
func (css *DeliveryOrderSearch) SetId(id int) *DeliveryOrderSearch {
    css.Id = id
    return css
}
 
func (css *DeliveryOrderSearch) SetSalesDetailsID(id int) *DeliveryOrderSearch {
    css.SalesDetailsId = id
    return css
}