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.

125 lines
2.5 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 Xml_msg struct {
  10. Finr int `xorm:"pk"`
  11. Msgid string `xorm:"pk"`
  12. Msgtype string
  13. Status int
  14. Msg string
  15. Lastmodif string
  16. Lastuser string
  17. Credatuz string
  18. }
  19. func (t *Xml_msg) Clipped() {
  20. common.TrimStruct(t, *t)
  21. }
  22. func (t *Xml_msg) TableName() string {
  23. return "xml_msg"
  24. }
  25. //增
  26. func (t *Xml_msg) Add() error {
  27. e := G_DbEngine
  28. xmlmsgtab := new(Xml_msg)
  29. affw, err := e.Table("xml_msg").ID(core.PK{G_FINR, t.Msgid}).Count(xmlmsgtab)
  30. if err != nil {
  31. return err
  32. }
  33. if affw > 0 {
  34. return errors.New("数据已经存在!")
  35. }
  36. _, err = e.Table("xml_msg").Insert(t)
  37. if err != nil {
  38. return err
  39. }
  40. return nil
  41. }
  42. //增
  43. func (t *Xml_msg) Insert(session *xorm.Session) error {
  44. xmlmsgtab := new(Xml_msg)
  45. affw, err := session.Table("xml_msg").ID(core.PK{G_FINR, t.Msgid}).Count(xmlmsgtab)
  46. if err != nil {
  47. return err
  48. }
  49. if affw > 0 {
  50. return errors.New("数据已经存在!")
  51. }
  52. _, err = session.Table("xml_msg").Insert(t)
  53. if err != nil {
  54. return err
  55. }
  56. return nil
  57. }
  58. //删
  59. func (t *Xml_msg) Del() bool {
  60. e := G_DbEngine
  61. _, err := e.ID(core.PK{G_FINR, t.Msgid}).Delete(&Xml_msg{})
  62. if err != nil {
  63. return false
  64. }
  65. return true
  66. }
  67. //改
  68. func (t *Xml_msg) Update() bool {
  69. e := G_DbEngine
  70. _, err := e.ID(core.PK{G_FINR, t.Msgid}).Update(t)
  71. if err != nil {
  72. return false
  73. }
  74. return true
  75. }
  76. //更新指定字段
  77. func (t *Xml_msg) UpdateFields(session *xorm.Session, fields string) (err error) {
  78. if _, err = session.Table("xml_msg").ID(core.PK{G_FINR, t.Msgid}).Cols(fields).Update(t); err != nil {
  79. return
  80. }
  81. return
  82. }
  83. //更新指定字段
  84. func (t *Xml_msg) UpdateFieldsWithoutSession(fields string) (err error) {
  85. e := G_DbEngine
  86. if _, err = e.Table("xml_msg").ID(core.PK{G_FINR, t.Msgid}).Cols(fields).Update(t); err != nil {
  87. return
  88. }
  89. return
  90. }
  91. //查
  92. func (t *Xml_msg) SelectOne() (data Xml_msg, err error) {
  93. e := G_DbEngine
  94. _, err = e.ID(core.PK{G_FINR, t.Msgid}).Get(&data)
  95. if err != nil {
  96. return data, err
  97. }
  98. return data, nil
  99. }
  100. //获取没有生成xml的消息
  101. func (t *Xml_msg) GetUnXmlMessages() (datalst []Xml_msg, err error) {
  102. var i int
  103. e := G_DbEngine
  104. if err = e.Where("finr = ? and msgtype = ? and status <= ?", G_FINR, common.MSG_TYPE_SHIP, common.MSG_STATUS_PLAN).OrderBy("credatuz").Find(&datalst); err != nil {
  105. return
  106. }
  107. for i = 0; i < len(datalst); i++ {
  108. datalst[i].Clipped()
  109. }
  110. return
  111. }