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.5 KiB

package qm
import (
"errors"
"github.com/go-xorm/xorm"
"leit.com/LAPP_GAAS_GFrame/grmi"
"xorm.io/core"
)
//QM_DefectReason的实体映射
type DefectReason struct {
session *xorm.Session `xorm:"-"`
PlantNr int `xorm:"pk int 'PlantNr'" json:"QM_DefectReason-PlantNr"`
DefectReasonId string `xorm:"pk nvarchar(20) 'DefectReasonId'" json:"QM_DefectReason-DefectReasonId"`
Descr string `xorm:"nvarchar(100) 'Descr' not null" json:"QM_DefectReason-Descr"`
LastModify grmi.DateTime `xorm:"datetime 'LastModify' not null updated" json:"QM_DefectReason-LastModify"`
LastUser string `xorm:"nvarchar(20) 'LastUser' not null" json:"QM_DefectReason-LastUser"`
CreateTime grmi.DateTime `xorm:"datetime 'CreateTime' not null created" json:"QM_DefectReason-CreateTime"`
}
var MetaOfDefectReason = map[string]grmi.Field{
"defectreasonid": {"DefectReasonId", "string"},
"descr": {"Descr", "string"},
"lastmodify": {"LastModify", "grmi.DateTime"},
"lastuser": {"LastUser", "string"},
"createtime": {"CreateTime", "grmi.DateTime"},
}
//将DefectReason附加到xorm会话上
func (self *DefectReason) Attach(session *xorm.Session) *DefectReason {
self.session = session
return self
}
//插入DefectReason
func (self *DefectReason) Insert() error {
_, err := self.session.Table("QM_DefectReason").Insert(self)
if err != nil {
return err
}
return nil
}
//修改DefectReason
func (self *DefectReason) Update() error {
_, err := self.session.Table("QM_DefectReason").Cols("Descr", "LastUser").Update(self)
if err != nil {
return err
}
return nil
}
//删除DefectReason
func (self *DefectReason) Delete() error {
_, err := self.session.Table("QM_DefectReason").Delete(self)
if err != nil {
return err
}
return nil
}
//DefectReason的表名
var Table_DefectReason = "QM_DefectReason"
//DefectReason.DefectReasonId的列名
var Column_DefectReason_DefectReasonId = "DefectReasonId"
//DefectReason.Descr的列名
var Column_DefectReason_Descr = "Descr"
//DefectReason的指示器
var IndicatorOfDefectReason = &DefectReason{}
//创建DefectReason的游标
func BuildDefectReasonCursor() *DefectReason {
return &DefectReason{}
}
//查找指定键的DefectReason
func (self *DAO) SelectOneDefectReason(defectReasonId string) (*DefectReason, error) {
var data DefectReason
ok, err := self.session.Table("QM_DefectReason").ID(core.PK{self.plantNr, defectReasonId}).Get(&data)
if err != nil {
return nil, err
}
if !ok {
return nil, err
}
return &data, nil
}
//删除指定键的DefectReason
func (self *DAO) DeleteOneDefectReason(defectReasonId string) error {
_, err := self.session.Table("QM_DefectReason").ID(core.PK{self.plantNr, defectReasonId}).Delete(IndicatorOfDefectReason)
if err != nil {
return err
}
return nil
}
//批量检查DefectReason
func (self *DAO) checkDefectReasonRecords(records *[]DefectReason) error {
for _, record := range *records {
if self.plantNr != record.PlantNr {
return errors.New("记录不在范围内!")
}
}
return nil
}
//插入多条DefectReason
func (self *DAO) InsertDefectReason(records *[]DefectReason) error {
err := self.checkDefectReasonRecords(records)
if err != nil {
return err
}
_, err = self.session.Table("QM_DefectReason").Insert(records)
if err != nil {
return err
}
return nil
}
//修改多条DefectReason
func (self *DAO) UpdateDefectReason(records *[]DefectReason) error {
err := self.checkDefectReasonRecords(records)
if err != nil {
return err
}
_, err = self.session.Table("QM_DefectReason").Cols("Descr", "LastUser").Update(records)
if err != nil {
return err
}
return nil
}
//删除多条DefectReason
func (self *DAO) DeleteDefectReason(records *[]DefectReason) error {
err := self.checkDefectReasonRecords(records)
if err != nil {
return err
}
_, err = self.session.Table("QM_DefectReason").Delete(records)
if err != nil {
return err
}
return nil
}
//按条件查询DefectReason
func (self *DAO) SelectDefectReason(predicates []grmi.Predicate) ([]DefectReason, 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([]DefectReason, 0)
err := self.session.Table("QM_DefectReason").Where("PlantNr = ?"+where, parameters...).OrderBy("PlantNr").OrderBy("DefectReasonId").Find(&data)
if err != nil {
return nil, err
}
return data, nil
}
//按条件查询DefectReason并分页
func (self *DAO) SelectDefectReasonAndPaging(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([]DefectReason, 0)
err := self.session.Table("QM_DefectReason").SQL("select * from QM_DefectReason where PlantNr = ?"+where+" order by PlantNr, DefectReasonId offset ? row fetch next ? row only", parameters...).Find(&data)
if err != nil {
return grmi.PagingResult{}, err
}
count, err := self.session.Table("QM_DefectReason").Where("PlantNr = ? ", self.plantNr).Count(IndicatorOfDefectReason)
if err != nil {
return grmi.PagingResult{}, err
}
return grmi.PagingResult{data, count, pageIndex, pageSize}, nil
}