SJA APS后端代码
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.

107 lines
2.4 KiB

  1. package db
  2. import (
  3. "errors"
  4. "github.com/go-xorm/xorm"
  5. "leit.com/leit_seat_aps/common"
  6. "xorm.io/core"
  7. )
  8. // 项目对象
  9. type Prod_project struct {
  10. Finr int `xorm:"pk"`
  11. Projectid string `xorm:"pk"`
  12. Descr string
  13. Enabled int
  14. Plantsitecode int
  15. Emailserver_host string
  16. Emailserver_port int
  17. From_email string
  18. From_pwd string
  19. Mesmsg_snr string
  20. Prodpack_snr string
  21. Prodpacksync_snr string
  22. Startoemseq int
  23. Endoemseq int
  24. Lastmodif string
  25. Lastuser string
  26. Credatuz string
  27. }
  28. func (t *Prod_project) Clipped() {
  29. common.TrimStruct(t, *t)
  30. }
  31. func (t *Prod_project) TableName() string {
  32. return "prod_project"
  33. }
  34. //增
  35. func (t *Prod_project) Add() error {
  36. e := G_DbEngine
  37. projtab := new(Me_project)
  38. affw, err := e.Table("prod_project").ID(core.PK{G_FINR, t.Projectid}).Count(projtab)
  39. if err != nil {
  40. return err
  41. }
  42. if affw > 0 {
  43. return errors.New("数据已经存在!")
  44. }
  45. _, err = e.Table("prod_project").Insert(t)
  46. if err != nil {
  47. return err
  48. }
  49. return nil
  50. }
  51. //删
  52. func (t *Prod_project) Del() bool {
  53. e := G_DbEngine
  54. _, err := e.ID(core.PK{G_FINR, t.Projectid}).Delete(&Prod_project{})
  55. if err != nil {
  56. return false
  57. }
  58. return true
  59. }
  60. //改
  61. func (t *Prod_project) Update() bool {
  62. e := G_DbEngine
  63. _, err := e.ID(core.PK{G_FINR, t.Projectid}).Update(t)
  64. if err != nil {
  65. return false
  66. }
  67. return true
  68. }
  69. //查
  70. func (t *Prod_project) SelectOne() (data Prod_project, err error) {
  71. e := G_DbEngine
  72. _, err = e.ID(core.PK{G_FINR, t.Projectid}).Get(&data)
  73. if err != nil {
  74. return data, err
  75. }
  76. return data, nil
  77. }
  78. //查
  79. func (t *Prod_project) SelectOneBySession(session *xorm.Session, ) (data Prod_project, err error) {
  80. _, err = session.ID(core.PK{G_FINR, t.Projectid}).Get(&data)
  81. if err != nil {
  82. return data, err
  83. }
  84. return data, nil
  85. }
  86. //获取所有激活的项目数据
  87. func (t *Prod_project) GetAllActive() (datalst []Prod_project, err error) {
  88. e := G_DbEngine
  89. if err = e.Where("finr = ? and enabled = ?", G_FINR, 1).OrderBy("projectid").Find(&datalst); err != nil {
  90. return
  91. }
  92. for i, _ := range datalst {
  93. datalst[i].Clipped()
  94. }
  95. return
  96. }