GAAS GFrame项目web后台
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.

129 lines
5.1 KiB

  1. package models
  2. import (
  3. "LAPP_GAAS_GFrame_BACKEND/conf"
  4. "LAPP_GAAS_GFrame_BACKEND/db"
  5. "LAPP_GAAS_GFrame_BACKEND/utils"
  6. "errors"
  7. "log"
  8. "xorm.io/core"
  9. )
  10. type Printheadtab struct {
  11. Finr int `xorm:"not null pk comment('车间编号') INT(0)" json:"printheadtab-finr"`
  12. Printheadid string `xorm:"not null pk comment('打印信息头id') VARCHAR(40)" json:"printheadtab-printheadid"`
  13. Printerid string `xorm:"not null comment('打印机id') VARCHAR(18)" json:"printheadtab-printerid"`
  14. Printfiletype string `xorm:"not null comment('打印机文件类型') VARCHAR(10)" json:"printheadtab-printfiletype"`
  15. Printeventtype string `xorm:"not null comment('打印事件类型') VARCHAR(10)" json:"printheadtab-printeventtype"`
  16. Printobjid string `xorm:"not null comment('printheadtab.printobjid') VARCHAR(40)" json:"printheadtab-printobjid"`
  17. Printobjtype string `xorm:"not null comment('printheadtab.printobjtype') VARCHAR(12)" json:"printheadtab-printobjtype"`
  18. Status string `xorm:"not null comment('状态') VARCHAR(1)" json:"printheadtab-status"`
  19. Templatefile string `xorm:"not null comment('模板文件') VARCHAR(40)" json:"printheadtab-templatefile"`
  20. Termnr string `xorm:"not null comment('终端编号') VARCHAR(30)" json:"printheadtab-termnr"`
  21. Webaddress string `xorm:"not null comment('web地址') VARCHAR(40)" json:"printheadtab-webaddress"`
  22. Printcopies int `xorm:"not null comment('计划打印份数') INT(0)" json:"printheadtab-printcopies"`
  23. Printedtime string `xorm:"not null comment('实际打印时间') VARCHAR(14)" json:"printheadtab-printedtime"`
  24. Printedcopies int `xorm:"not null comment('已打印份数') INT(0)" json:"printheadtab-printedcopies"`
  25. Ival1 int `xorm:"not null comment('printhedtab.ival1') INT(0)" json:"printheadtab-ival1"`
  26. Ival2 int `xorm:"not null comment('printhedtab.ival2') INT(0)" json:"printheadtab-ival2"`
  27. Cval1 string `xorm:"not null comment('printhedtab.cval1') VARCHAR(60)" json:"printheadtab-cval1"`
  28. Cval2 string `xorm:"not null comment('printhedtab.cval2') VARCHAR(60)" json:"printheadtab-cval2"`
  29. Lastmodif string `xorm:"not null comment('上一次更改日期') VARCHAR(14)" json:"printheadtab-lastmodif"`
  30. Lastuser string `xorm:"not null comment('最近编辑人员') VARCHAR(20)" json:"printheadtab-lastuser"`
  31. Createdby string `xorm:"not null comment('创建者') VARCHAR(20)" json:"printheadtab-createdby"`
  32. Credatuz string `xorm:"not null comment('创建时间') VARCHAR(14)" json:"printheadtab-credatuz"`
  33. }
  34. func (t *Printheadtab) TableName() string {
  35. return "printheadtab"
  36. }
  37. // 清除string字段的右侧空格
  38. func (t *Printheadtab) Clipped() {
  39. utils.TrimStruct(t, *t)
  40. }
  41. //增
  42. func (t *Printheadtab) Add() error {
  43. e := db.Eloquent.Master()
  44. countrole := new(Printheadtab)
  45. affw, err := e.Table("printheadtab").ID(core.PK{t.Finr, t.Printheadid}).Count(countrole)
  46. if err != nil {
  47. return err
  48. }
  49. if affw > 0 {
  50. return errors.New("数据已经存在!")
  51. }
  52. _, err = e.Table("printheadtab").Insert(t)
  53. if err != nil {
  54. return err
  55. }
  56. return nil
  57. }
  58. //删
  59. func (t *Printheadtab) Del() bool {
  60. e := db.Eloquent.Master()
  61. _, err := e.ID(core.PK{t.Finr, t.Printheadid}).Delete(&Printheadtab{})
  62. if err != nil {
  63. return false
  64. }
  65. return true
  66. }
  67. //改
  68. func (t *Printheadtab) Update() bool {
  69. e := db.Eloquent.Master()
  70. _, err := e.ID(core.PK{t.Finr, t.Printheadid}).Update(t)
  71. if err != nil {
  72. return false
  73. }
  74. return true
  75. }
  76. //查
  77. func (t *Printheadtab) SelectOne() (Printheadtab, error) {
  78. e := db.Eloquent.Master()
  79. var data Printheadtab
  80. _, err := e.ID(core.PK{t.Finr, t.Printheadid}).Get(&data)
  81. if err != nil {
  82. return data, err
  83. }
  84. return data, nil
  85. }
  86. //分页
  87. func (t *Printheadtab) GetPage(pageSize int, pageIndex int) ([]Printheadtab, int, error) {
  88. data := make([]Printheadtab, 0)
  89. e := db.Eloquent.Master()
  90. table := e.Table("printheadtab").Where("finr = ? ", t.Finr)
  91. where := "where finr = " + "'" + utils.ValueToString(t.Finr, "") + "'"
  92. if !utils.ValueIsEmpty(t.Printheadid) {
  93. table = table.And("printheadid = ?", t.Printheadid)
  94. where += " and printheadid = " + "'" + t.Printheadid + "'"
  95. }
  96. Offset := (pageIndex - 1) * pageSize
  97. err := e.SQL("SELECT TOP " + utils.ValueToString(pageSize, "") + " printheadtab.* FROM printheadtab " + where + " AND (convert(varchar(10),finr)+convert(varchar(40),printheadid) NOT IN (SELECT TOP " + utils.ValueToString(Offset, "") + " convert(varchar(10),finr)+convert(varchar(40),printheadid) FROM printheadtab " + where + " ORDER BY credatuz DESC)) ORDER BY credatuz DESC").Find(&data)
  98. pcount := new(Printheadtab)
  99. count, err := table.Count(pcount)
  100. if err != nil {
  101. return data, 0, err
  102. }
  103. for k, _ := range data {
  104. data[k].Clipped()
  105. }
  106. return data, int(count), nil
  107. }
  108. func (t *Printheadtab) GetPrintheadList(conf *conf.EnvConfig) ( []Printheadtab, error ) {
  109. var printheadlist []Printheadtab
  110. e := db.Eloquent.Master()
  111. // 获取所有开口的打印任务头
  112. err := e.Where("finr = ? and status = ?",conf.Finr, "N").Find(&printheadlist)
  113. if err != nil{
  114. log.Printf("failed to query printheadtab due to: %v", err)
  115. return nil, err
  116. }
  117. return printheadlist, nil
  118. }