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.

128 lines
3.2 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. //Grammer 的ASN订单信息表
  9. type Jit_asnitem_landing struct {
  10. Finr int `xorm:"pk" json:"jit_asnitem_landing.finr"`
  11. Asnnr string `xorm:"pk" json:"jit_asnitem_landing.asnnr"`
  12. Partid string `xorm:"pk" json:"jit_asnitem_landing.partid"`
  13. Partdescr string `json:"jit_asnitem_landing.partdescr"`
  14. Purchaseordernr string `json:"jit_asnitem_landing.purchaseordernr"`
  15. Shipqty int `json:"jit_asnitem_landing.shipqty"`
  16. Qtyuom string `json:"jit_asnitem_landing.qtyuom"`
  17. Lastmodif string `json:"jit_asnitem_landing.lastmodif"`
  18. Lastuser string `json:"jit_asnitem_landing.lastuser"`
  19. Credatuz string `json:"jit_asnitem_landing.credatuz"`
  20. Orderlst []Jit_asnorder_landing `json:"orderlst" xorm:"-"`
  21. }
  22. func (t *Jit_asnitem_landing) Clipped() {
  23. common.TrimStruct(t, *t)
  24. }
  25. func (t *Jit_asnitem_landing) TableName() string {
  26. return "jit_asnitem_landing"
  27. }
  28. //增
  29. func (t *Jit_asnitem_landing) Add() (err error) {
  30. var (
  31. affw int64
  32. asnitemtab Jit_asnitem_landing
  33. )
  34. e := G_DbEngine
  35. asnitemtab = Jit_asnitem_landing{}
  36. affw, err = e.Table("jit_asnitem_landing").ID(core.PK{G_FINR, t.Asnnr, t.Partid}).Count(asnitemtab)
  37. if err != nil {
  38. return err
  39. }
  40. if affw > 0 {
  41. return errors.New("数据已经存在!")
  42. }
  43. _, err = e.Table("jit_asnitem_landing").Insert(t)
  44. if err != nil {
  45. return err
  46. }
  47. return nil
  48. }
  49. //增
  50. func (t *Jit_asnitem_landing) Insert(session *xorm.Session) (err error) {
  51. var (
  52. affw int64
  53. asnitemtab Jit_asnitem_landing
  54. )
  55. asnitemtab = Jit_asnitem_landing{}
  56. affw, err = session.Table("jit_asnitem_landing").ID(core.PK{G_FINR, t.Asnnr, t.Partid}).Count(asnitemtab)
  57. if err != nil {
  58. return err
  59. }
  60. if affw > 0 {
  61. return errors.New("数据已经存在!")
  62. }
  63. _, err = session.Table("jit_asnitem_landing").Insert(t)
  64. if err != nil {
  65. return err
  66. }
  67. return nil
  68. }
  69. //删
  70. func (t *Jit_asnitem_landing) Del() bool {
  71. e := G_DbEngine
  72. _, err := e.ID(core.PK{G_FINR, t.Asnnr, t.Partid}).Delete(&Jit_asnitem_landing{})
  73. if err != nil {
  74. return false
  75. }
  76. return true
  77. }
  78. //改
  79. func (t *Jit_asnitem_landing) Update() bool {
  80. e := G_DbEngine
  81. _, err := e.ID(core.PK{G_FINR, t.Asnnr, t.Partid}).Update(t)
  82. if err != nil {
  83. return false
  84. }
  85. return true
  86. }
  87. //更新指定字段
  88. func (t *Jit_asnitem_landing) UpdateFields(session *xorm.Session, fields string) (err error) {
  89. if _, err = session.Table("jit_asnitem_landing").ID(core.PK{G_FINR, t.Asnnr, t.Partid}).Cols(fields).Update(t); err != nil {
  90. return
  91. }
  92. return
  93. }
  94. //查
  95. func (t *Jit_asnitem_landing) SelectOne() (data Jit_asnitem_landing, err error) {
  96. var i int
  97. e := G_DbEngine
  98. _, err = e.ID(core.PK{G_FINR, t.Asnnr, t.Partid}).Get(&data)
  99. if err != nil {
  100. return data, err
  101. }
  102. // 获取订单列表
  103. if err = e.Where("finr = ? and asnnr = ? and partid = ?",
  104. G_FINR, data.Asnnr, data.Partid).OrderBy("ordernr").Find(&data.Orderlst); err != nil {
  105. return
  106. }
  107. for i, _ = range data.Orderlst {
  108. data.Orderlst[i].Clipped()
  109. }
  110. return data, nil
  111. }