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.

153 lines
4.3 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_shiporder_itemlst struct {
  10. Finr int `xorm:"pk" json:"jit_shiporder_itemlst.finr"`
  11. Shiporderid string `xorm:"pk" json:"jit_shiporder_itemlst.shiporderid"`
  12. Packtypeid string `xorm:"pk" json:"jit_shiporder_itemlst.packtypeid"`
  13. Status int `json:"jit_shiporder_itemlst.status"`
  14. Pos int `json:"jit_shiporder_itemlst.pos"`
  15. Fillqty int `json:"jit_shiporder_itemlst.fillqty"`
  16. Planqty int `json:"jit_shiporder_itemlst.planqty"`
  17. Actqty int `json:"jit_shiporder_itemlst.actqty"`
  18. Shortship int `json:"jit_shiporder_itemlst.shortship"`
  19. Shortshipqty int `json:"jit_shiporder_itemlst.shortshipqty"`
  20. Shortby string `json:"jit_shiporder_itemlst.shortby"`
  21. Shorttime string `json:"jit_shiporder_itemlst.shorttime"`
  22. Lastmodif string `json:"jit_shiporder_itemlst.lastmodif"`
  23. Lastuser string `json:"jit_shiporder_itemlst.lastuser"`
  24. Credatuz string `json:"jit_shiporder_itemlst.credatuz"`
  25. Itemlst []Jit_shiporder_datalst `json:"itemlst" xorm:"-"`
  26. }
  27. func (t *Jit_shiporder_itemlst) Clipped() {
  28. common.TrimStruct(t, *t)
  29. }
  30. func (t *Jit_shiporder_itemlst) TableName() string {
  31. return "jit_shiporder_itemlst"
  32. }
  33. //增
  34. func (t *Jit_shiporder_itemlst) Add() error {
  35. e := G_DbEngine
  36. spoitemtab := new(Jit_shiporder_itemlst)
  37. affw, err := e.Table("jit_shiporder_itemlst").ID(core.PK{G_FINR, t.Shiporderid, t.Packtypeid}).Count(spoitemtab)
  38. if err != nil {
  39. return err
  40. }
  41. if affw > 0 {
  42. return errors.New("数据已经存在!")
  43. }
  44. _, err = e.Table("jit_shiporder_itemlst").Insert(t)
  45. if err != nil {
  46. return err
  47. }
  48. return nil
  49. }
  50. //增
  51. func (t *Jit_shiporder_itemlst) Insert(session *xorm.Session) error {
  52. spoitemtab := new(Jit_shiporder_itemlst)
  53. affw, err := session.Table("jit_shiporder_itemlst").ID(core.PK{G_FINR, t.Shiporderid, t.Packtypeid}).Count(spoitemtab)
  54. if err != nil {
  55. return err
  56. }
  57. if affw > 0 {
  58. return errors.New("数据已经存在!")
  59. }
  60. _, err = session.Table("jit_shiporder_itemlst").Insert(t)
  61. if err != nil {
  62. return err
  63. }
  64. return nil
  65. }
  66. //删
  67. func (t *Jit_shiporder_itemlst) Del() bool {
  68. e := G_DbEngine
  69. _, err := e.ID(core.PK{G_FINR, t.Shiporderid, t.Packtypeid}).Delete(&Jit_shiporder_itemlst{})
  70. if err != nil {
  71. return false
  72. }
  73. return true
  74. }
  75. //改
  76. func (t *Jit_shiporder_itemlst) Update() bool {
  77. e := G_DbEngine
  78. _, err := e.ID(core.PK{G_FINR, t.Shiporderid, t.Packtypeid}).Update(t)
  79. if err != nil {
  80. return false
  81. }
  82. return true
  83. }
  84. //改
  85. func (t *Jit_shiporder_itemlst) UpdateBySession(session *xorm.Session) bool {
  86. _, err := session.ID(core.PK{G_FINR, t.Shiporderid, t.Packtypeid}).Update(t)
  87. if err != nil {
  88. return false
  89. }
  90. return true
  91. }
  92. //更新指定字段
  93. func (t *Jit_shiporder_itemlst) UpdateFields(session *xorm.Session, fields string) (err error) {
  94. if _, err = session.Table("jit_shiporder_itemlst").ID(core.PK{G_FINR, t.Shiporderid, t.Packtypeid}).Cols(fields).Update(t); err != nil {
  95. return
  96. }
  97. return
  98. }
  99. //查
  100. func (t *Jit_shiporder_itemlst) SelectOne() (data Jit_shiporder_itemlst, err error) {
  101. var i int
  102. e := G_DbEngine
  103. _, err = e.ID(core.PK{G_FINR, t.Shiporderid, t.Packtypeid}).Get(&data)
  104. if err != nil {
  105. return data, err
  106. }
  107. // 获取值列表
  108. if err = e.Where("finr = ? and shiporderid = ? and packtypeid = ?",
  109. G_FINR, data.Shiporderid, data.Packtypeid).OrderBy("packorderid").Find(&data.Itemlst); err != nil {
  110. return
  111. }
  112. for i, _ = range data.Itemlst {
  113. data.Itemlst[i].Clipped()
  114. }
  115. return data, nil
  116. }
  117. //查
  118. func (t *Jit_shiporder_itemlst) SelectOneBySession(session *xorm.Session) (data Jit_shiporder_itemlst, err error) {
  119. var i int
  120. _, err = session.ID(core.PK{G_FINR, t.Shiporderid, t.Packtypeid}).Get(&data)
  121. if err != nil {
  122. return data, err
  123. }
  124. // 获取值列表
  125. if err = session.Where("finr = ? and shiporderid = ? and packtypeid = ?",
  126. G_FINR, data.Shiporderid, data.Packtypeid).OrderBy("packorderid").Find(&data.Itemlst); err != nil {
  127. return
  128. }
  129. for i, _ = range data.Itemlst {
  130. data.Itemlst[i].Clipped()
  131. }
  132. return data, nil
  133. }