| | |
| | | Number string `json:"number" gorm:"type:varchar(255);not null;comment:编号"` |
| | | CreateTime string `json:"createTime" gorm:"type:varchar(255);comment:创建时间"` |
| | | MarketId uint `json:"marketId" gorm:"type:int(11);comment:庄口id"` |
| | | WorkshopId uint `json:"workshopId" gorm:"type:int(11);comment:车间id"` |
| | | MarketNumber string `gorm:"size:255;comment:庄口" json:"marketNumber"` //庄口编号 |
| | | WorkshopId uint `json:"workshopId" gorm:"type:int(11);comment:车间Id"` |
| | | WorkshopNumber string `json:"workshopNumber" gorm:"type:varchar(255);comment:车间编码"` |
| | | GroupNumber int `json:"groupNumber" gorm:"type:int(11);comment:组别"` |
| | | Spec string `json:"spec" gorm:"type:varchar(255);comment:规格"` |
| | | JieZhuang string `json:"jieZhuang" gorm:"type:varchar(255);comment:是否结庄"` |
| | |
| | | FallingSilkBucketOne decimal.Decimal `json:"fallingSilkBucketOne" gorm:"type:decimal(12,2);comment:落丝桶数1"` |
| | | FallingSilkBucketTwo decimal.Decimal `json:"fallingSilkBucketTwo" gorm:"type:decimal(12,2);comment:落丝桶数2"` |
| | | FallingSilkBucketThree decimal.Decimal `json:"fallingSilkBucketThree" gorm:"type:decimal(12,2);comment:落丝桶数3"` |
| | | SelectOne bool `json:"selectOne" gorm:"type:int(1);comment:落丝桶数1选中"` |
| | | SelectTwo bool `json:"selectTwo" gorm:"type:int(1);comment:落丝桶数2选中"` |
| | | SelectThree bool `json:"selectThree" gorm:"type:int(1);comment:落丝桶数3选中"` |
| | | TheorySilkAmount decimal.Decimal `json:"theorySilkAmount" gorm:"type:decimal(12,2);comment:理论丝量"` |
| | | HourYield decimal.Decimal `json:"hourYield" gorm:"type:decimal(12,2);comment:台时产量"` |
| | | OneBack string `json:"oneBack" gorm:"type:varchar(255);comment:第一回"` |
| | | TwoBack string `json:"twoBack" gorm:"type:varchar(255);comment:第二回"` |
| | | ThreeBack string `json:"threeBack" gorm:"type:varchar(255);comment:第三回"` |
| | | Total decimal.Decimal `json:"total" gorm:"type:decimal(12,2);comment:总产量"` |
| | | Items []*YieldRegisterItem `json:"items" gorm:"foreignKey:YieldRegisterId;references:Id"` |
| | | Circles []*YieldRegisterCircle `json:"circles" gorm:"foreignKey:YieldRegisterId;references:Id"` |
| | | Items []*YieldRegisterItem `json:"items" gorm:"foreignKey:YieldRegisterId"` |
| | | Circles []*YieldRegisterCircle `json:"circles" gorm:"foreignKey:YieldRegisterId"` |
| | | |
| | | MarketName string `json:"marketName" gorm:"-"` //庄口名 |
| | | WorkshopName string `json:"workshopName" gorm:"-"` //车间名 |
| | | |
| | | } |
| | | YieldRegisterSearch struct { |
| | | YieldRegister |
| | |
| | | ) |
| | | |
| | | func (slf YieldRegister) TableName() string { |
| | | return "yield_register" |
| | | return "silk_yield_register" |
| | | } |
| | | |
| | | func NewYieldRegisterSearch() *YieldRegisterSearch { |
| | |
| | | return slf |
| | | } |
| | | |
| | | func (slf *YieldRegisterSearch) SetNumber(number string) *YieldRegisterSearch { |
| | | slf.Number = number |
| | | return slf |
| | | } |
| | | |
| | | func (slf *YieldRegisterSearch) SetCreateTime(createTime string) *YieldRegisterSearch { |
| | | slf.CreateTime = createTime |
| | | return slf |
| | | } |
| | | |
| | | func (slf *YieldRegisterSearch) SetMarketId(marketId uint) *YieldRegisterSearch { |
| | | slf.MarketId = marketId |
| | | return slf |
| | | } |
| | | |
| | | func (slf *YieldRegisterSearch) SetWorkshopNumber(workshopNumber string) *YieldRegisterSearch { |
| | | slf.WorkshopNumber = workshopNumber |
| | | return slf |
| | | } |
| | | |
| | | func (slf *YieldRegisterSearch) SetGroupNumber(groupNumber int) *YieldRegisterSearch { |
| | | slf.GroupNumber = groupNumber |
| | | return slf |
| | | } |
| | | |
| | | func (slf *YieldRegisterSearch) SetSpec(spec string) *YieldRegisterSearch { |
| | | slf.Spec = spec |
| | | return slf |
| | | } |
| | | |
| | | func (slf *YieldRegisterSearch) build() *gorm.DB { |
| | | db := slf.Orm.Table(slf.TableName()) |
| | | |
| | |
| | | db = db.Model(YieldRegister{}).Preload("Items").Preload("Circles") |
| | | } |
| | | |
| | | if slf.Number != "" { |
| | | db = db.Where("number = ?", slf.Number) |
| | | } |
| | | |
| | | if slf.CreateTime != "" { |
| | | db = db.Where("create_time = ?", slf.CreateTime) |
| | | } |
| | | |
| | | if slf.WorkshopNumber != "" { |
| | | db = db.Where("workshop_number = ?", slf.WorkshopNumber) |
| | | } |
| | | |
| | | if slf.MarketId > 0 { |
| | | db = db.Where("market_id = ?", slf.MarketId) |
| | | } |
| | | |
| | | if slf.GroupNumber > 0 { |
| | | db = db.Where("group_number = ?", slf.GroupNumber) |
| | | } |
| | | |
| | | if slf.Spec != "" { |
| | | db = db.Where("spec = ?", slf.Spec) |
| | | } |
| | | return db |
| | | } |
| | | |
| | |
| | | return fmt.Errorf("create err: %v, record: %+v", err, record) |
| | | } |
| | | return nil |
| | | } |
| | | |
| | | func (slf *YieldRegisterSearch) First() (*YieldRegister, error) { |
| | | var ( |
| | | record = new(YieldRegister) |
| | | db = slf.build() |
| | | ) |
| | | |
| | | if err := db.First(record).Error; err != nil { |
| | | return record, err |
| | | } |
| | | |
| | | return record, nil |
| | | } |
| | | |
| | | func (slf *YieldRegisterSearch) Find() ([]*YieldRegister, int64, error) { |
| | |
| | | if slf.PageNum*slf.PageSize > 0 { |
| | | db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize) |
| | | } |
| | | if err := db.Find(&records).Error; err != nil { |
| | | if err := db.Order("updated_at desc").Find(&records).Error; err != nil { |
| | | return records, total, fmt.Errorf("find records err: %v", err) |
| | | } |
| | | |
| | |
| | | func (slf *YieldRegisterSearch) Save(record *YieldRegister) error { |
| | | var db = slf.build() |
| | | |
| | | if err := db.Save(record).Error; err != nil { |
| | | if err := db.Omit("CreatedAt").Save(record).Error; err != nil { |
| | | return fmt.Errorf("save err: %v, record: %+v", err, record) |
| | | } |
| | | |
| | |
| | | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *YieldRegisterSearch) Count() (int64, error) { |
| | | var ( |
| | | total int64 |
| | | db = slf.build() |
| | | ) |
| | | |
| | | if err := db.Count(&total).Error; err != nil { |
| | | return total, fmt.Errorf("find count err: %v", err) |
| | | } |
| | | return total, nil |
| | | } |
| | | |
| | | func (slf *YieldRegisterSearch) MaxAutoIncr() (int, error) { |
| | | type Result struct { |
| | | Max int |
| | | } |
| | | |
| | | var ( |
| | | result Result |
| | | db = slf.build() |
| | | ) |
| | | |
| | | err := db.Select("MAX(id) as max").Scan(&result).Error |
| | | if err != nil { |
| | | return result.Max, fmt.Errorf("max err: %v", err) |
| | | } |
| | | return result.Max, nil |
| | | } |