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.

188 lines
4.6 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 Jit_shiptemplate struct {
  10. Finr int `xorm:"pk"`
  11. Shiptemplateid string `xorm:"pk"`
  12. Active int
  13. Defaultcreate int
  14. Descr string
  15. Projnr string
  16. Shiptype string
  17. Planqty int
  18. Printerid string
  19. Templatefile string
  20. Printqty int
  21. Orientation int
  22. Lastmodif string
  23. Lastuser string
  24. Credatuz string
  25. Itemlst []Jit_shiptemplate_itemlst `json:"itemlst" xorm:"-"`
  26. Printlst []Jit_shiptemplate_printlst `json:"printlst" xorm:"-"`
  27. }
  28. func (t *Jit_shiptemplate) Clipped() {
  29. common.TrimStruct(t, *t)
  30. }
  31. func (t *Jit_shiptemplate) TableName() string {
  32. return "jit_shiptemplate"
  33. }
  34. //增
  35. func (t *Jit_shiptemplate) Add() error {
  36. e := G_DbEngine
  37. sptmptab := new(Jit_shiptemplate)
  38. affw, err := e.Table("jit_shiptemplate").ID(core.PK{G_FINR, t.Shiptemplateid}).Count(sptmptab)
  39. if err != nil {
  40. return err
  41. }
  42. if affw > 0 {
  43. return errors.New("数据已经存在!")
  44. }
  45. _, err = e.Table("jit_shiptemplate").Insert(t)
  46. if err != nil {
  47. return err
  48. }
  49. return nil
  50. }
  51. //增
  52. func (t *Jit_shiptemplate) Insert(session *xorm.Session) error {
  53. sptmptab := new(Jit_shiptemplate)
  54. affw, err := session.Table("jit_shiptemplate").ID(core.PK{G_FINR, t.Shiptemplateid}).Count(sptmptab)
  55. if err != nil {
  56. return err
  57. }
  58. if affw > 0 {
  59. return errors.New("数据已经存在!")
  60. }
  61. _, err = session.Table("jit_shiptemplate").Insert(t)
  62. if err != nil {
  63. return err
  64. }
  65. return nil
  66. }
  67. //删
  68. func (t *Jit_shiptemplate) Del() bool {
  69. e := G_DbEngine
  70. _, err := e.ID(core.PK{G_FINR, t.Shiptemplateid}).Delete(&Jit_shiptemplate{})
  71. if err != nil {
  72. return false
  73. }
  74. return true
  75. }
  76. //改
  77. func (t *Jit_shiptemplate) Update() bool {
  78. e := G_DbEngine
  79. _, err := e.ID(core.PK{G_FINR, t.Shiptemplateid}).Update(t)
  80. if err != nil {
  81. return false
  82. }
  83. return true
  84. }
  85. //更新指定字段
  86. func (t *Jit_shiptemplate) UpdateFields(session *xorm.Session, fields string) (err error) {
  87. if _, err = session.Table("jit_shiptemplate").ID(core.PK{G_FINR, t.Shiptemplateid}).Cols(fields).Update(t); err != nil {
  88. return
  89. }
  90. return
  91. }
  92. //查
  93. func (t *Jit_shiptemplate) SelectOne() (data Jit_shiptemplate, err error) {
  94. var i int
  95. e := G_DbEngine
  96. _, err = e.ID(core.PK{G_FINR, t.Shiptemplateid}).Get(&data)
  97. if err != nil {
  98. return data, err
  99. }
  100. // 获取值列表
  101. if err = e.Where("finr = ? and shiptemplateid = ? ",
  102. G_FINR, data.Shiptemplateid).OrderBy("pos").Find(&data.Itemlst); err != nil {
  103. return
  104. }
  105. for i, _ = range data.Itemlst {
  106. data.Itemlst[i].Clipped()
  107. }
  108. return data, nil
  109. }
  110. // 获取指定项目的发运车模板列表
  111. func (t *Jit_shiptemplate) GetProjectAll(projnr string) (datalst []Jit_shiptemplate, err error) {
  112. var i, j, k int
  113. e := G_DbEngine
  114. if err = e.Where("finr = ? and projnr = ?", G_FINR, projnr).OrderBy("shiptemplateid").Find(&datalst); err != nil {
  115. return
  116. }
  117. // 遍历模板获取模板子项数据
  118. for i, _ = range datalst {
  119. datalst[i].Clipped()
  120. datalst[i].Itemlst = []Jit_shiptemplate_itemlst{}
  121. // 获取属模板子项数据
  122. if err = e.Where("finr = ? and shiptemplateid = ?", G_FINR, datalst[i].Shiptemplateid).OrderBy("pos").Find(&datalst[i].Itemlst); err != nil {
  123. return
  124. }
  125. for j, _ = range datalst[i].Itemlst {
  126. datalst[i].Itemlst[j].Clipped()
  127. }
  128. // 获取模板打印设置数据
  129. if err = e.Where("finr = ? and shiptemplateid = ?", G_FINR, datalst[i].Shiptemplateid).OrderBy("pos").Find(&datalst[i].Printlst); err != nil {
  130. return
  131. }
  132. for k, _ = range datalst[i].Printlst {
  133. datalst[i].Printlst[k].Clipped()
  134. }
  135. }
  136. return
  137. }
  138. // 获取指定项目的发运车模板列表
  139. func (t *Jit_shiptemplate) GetAll() (datalst []Jit_shiptemplate, err error) {
  140. var i, j, k int
  141. e := G_DbEngine
  142. if err = e.Where("finr = ?", G_FINR).OrderBy("shiptemplateid").Find(&datalst); err != nil {
  143. return
  144. }
  145. // 遍历模板获取模板子项数据
  146. for i, _ = range datalst {
  147. datalst[i].Clipped()
  148. datalst[i].Itemlst = []Jit_shiptemplate_itemlst{}
  149. // 获取属模板子项数据
  150. if err = e.Where("finr = ? and shiptemplateid = ?", G_FINR, datalst[i].Shiptemplateid).OrderBy("pos").Find(&datalst[i].Itemlst); err != nil {
  151. return
  152. }
  153. for j, _ = range datalst[i].Itemlst {
  154. datalst[i].Itemlst[j].Clipped()
  155. }
  156. // 获取模板打印设置数据
  157. if err = e.Where("finr = ? and shiptemplateid = ?", G_FINR, datalst[i].Shiptemplateid).OrderBy("pos").Find(&datalst[i].Printlst); err != nil {
  158. return
  159. }
  160. for k, _ = range datalst[i].Printlst {
  161. datalst[i].Printlst[k].Clipped()
  162. }
  163. }
  164. return
  165. }