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