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
|
|
}
|