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.

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