You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

191 lines
5.3 KiB

package qm
import (
"errors"
"github.com/go-xorm/xorm"
"leit.com/LAPP_GAAS_GFrame/grmi"
"xorm.io/core"
)
//QM_DefectGrp的实体映射
type DefectGrp struct {
session *xorm.Session `xorm:"-"`
PlantNr int `xorm:"pk int 'PlantNr'" json:"QM_DefectGrp-PlantNr"`
DefectGrpId string `xorm:"pk nvarchar(20) 'DefectGrpId'" json:"QM_DefectGrp-DefectGrpId"`
Descr string `xorm:"nvarchar(100) 'Descr' not null" json:"QM_DefectGrp-Descr"`
LastModify grmi.DateTime `xorm:"datetime 'LastModify' not null updated" json:"QM_DefectGrp-LastModify"`
LastUser string `xorm:"nvarchar(20) 'LastUser' not null" json:"QM_DefectGrp-LastUser"`
CreateTime grmi.DateTime `xorm:"datetime 'CreateTime' not null created" json:"QM_DefectGrp-CreateTime"`
}
var MetaOfDefectGrp = map[string]grmi.Field{
"defectgrpid": {"DefectGrpId", "string"},
"descr": {"Descr", "string"},
"lastmodify": {"LastModify", "grmi.DateTime"},
"lastuser": {"LastUser", "string"},
"createtime": {"CreateTime", "grmi.DateTime"},
}
//将DefectGrp附加到xorm会话上
func (self *DefectGrp) Attach(session *xorm.Session) *DefectGrp {
self.session = session
return self
}
//插入DefectGrp
func (self *DefectGrp) Insert() error {
_, err := self.session.Table("QM_DefectGrp").Insert(self)
if err != nil {
return err
}
return nil
}
//修改DefectGrp
func (self *DefectGrp) Update() error {
_, err := self.session.Table("QM_DefectGrp").Cols("Descr", "LastUser").Update(self)
if err != nil {
return err
}
return nil
}
//删除DefectGrp
func (self *DefectGrp) Delete() error {
_, err := self.session.Table("QM_DefectGrp").Delete(self)
if err != nil {
return err
}
return nil
}
//DefectGrp的表名
var Table_DefectGrp = "QM_DefectGrp"
//DefectGrp.DefectGrpId的列名
var Column_DefectGrp_DefectGrpId = "DefectGrpId"
//DefectGrp.Descr的列名
var Column_DefectGrp_Descr = "Descr"
//DefectGrp的指示器
var IndicatorOfDefectGrp = &DefectGrp{}
//创建DefectGrp的游标
func BuildDefectGrpCursor() *DefectGrp {
return &DefectGrp{}
}
//查找指定键的DefectGrp
func (self *DAO) SelectOneDefectGrp(defectGrpId string) (*DefectGrp, error) {
var data DefectGrp
ok, err := self.session.Table("QM_DefectGrp").ID(core.PK{self.plantNr, defectGrpId}).Get(&data)
if err != nil {
return nil, err
}
if !ok {
return nil, err
}
return &data, nil
}
//删除指定键的DefectGrp
func (self *DAO) DeleteOneDefectGrp(defectGrpId string) error {
_, err := self.session.Table("QM_DefectGrp").ID(core.PK{self.plantNr, defectGrpId}).Delete(IndicatorOfDefectGrp)
if err != nil {
return err
}
return nil
}
//批量检查DefectGrp
func (self *DAO) checkDefectGrpRecords(records *[]DefectGrp) error {
for _, record := range *records {
if self.plantNr != record.PlantNr {
return errors.New("记录不在范围内!")
}
}
return nil
}
//插入多条DefectGrp
func (self *DAO) InsertDefectGrp(records *[]DefectGrp) error {
err := self.checkDefectGrpRecords(records)
if err != nil {
return err
}
_, err = self.session.Table("QM_DefectGrp").Insert(records)
if err != nil {
return err
}
return nil
}
//修改多条DefectGrp
func (self *DAO) UpdateDefectGrp(records *[]DefectGrp) error {
err := self.checkDefectGrpRecords(records)
if err != nil {
return err
}
_, err = self.session.Table("QM_DefectGrp").Cols("Descr", "LastUser").Update(records)
if err != nil {
return err
}
return nil
}
//删除多条DefectGrp
func (self *DAO) DeleteDefectGrp(records *[]DefectGrp) error {
err := self.checkDefectGrpRecords(records)
if err != nil {
return err
}
_, err = self.session.Table("QM_DefectGrp").Delete(records)
if err != nil {
return err
}
return nil
}
//按条件查询DefectGrp
func (self *DAO) SelectDefectGrp(predicates []grmi.Predicate) ([]DefectGrp, error) {
parameters := make([]interface{}, 0, 10)
parameters = append(parameters, self.plantNr)
where := ""
if predicates != nil {
for _, predicate := range predicates {
where += " and " + predicate.ColumnName + " = ?"
parameters = append(parameters, predicate.Value)
}
}
data := make([]DefectGrp, 0)
err := self.session.Table("QM_DefectGrp").Where("PlantNr = ?"+where, parameters...).OrderBy("PlantNr").OrderBy("DefectGrpId").Find(&data)
if err != nil {
return nil, err
}
return data, nil
}
//按条件查询DefectGrp并分页
func (self *DAO) SelectDefectGrpAndPaging(pageSize int, pageIndex int, predicates []grmi.Predicate) (grmi.PagingResult, error) {
parameters := make([]interface{}, 0, 10)
parameters = append(parameters, self.plantNr)
where := ""
if predicates != nil {
for _, predicate := range predicates {
where += " and " + predicate.ColumnName + " = ?"
parameters = append(parameters, predicate.Value)
}
}
parameters = append(parameters, (pageIndex-1)*pageSize, pageSize)
data := make([]DefectGrp, 0)
err := self.session.Table("QM_DefectGrp").SQL("select * from QM_DefectGrp where PlantNr = ?"+where+" order by PlantNr, DefectGrpId offset ? row fetch next ? row only", parameters...).Find(&data)
if err != nil {
return grmi.PagingResult{}, err
}
count, err := self.session.Table("QM_DefectGrp").Where("PlantNr = ? ", self.plantNr).Count(IndicatorOfDefectGrp)
if err != nil {
return grmi.PagingResult{}, err
}
return grmi.PagingResult{data, count, pageIndex, pageSize}, nil
}