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.

130 lines
2.6 KiB

  1. package db
  2. import (
  3. "errors"
  4. "leit.com/leit_seat_aps/common"
  5. "xorm.io/core"
  6. )
  7. //产线
  8. type Workline struct {
  9. Finr int `xorm:"pk"`
  10. Worklineid string `xorm:"pk"`
  11. Descr string
  12. Linetype string
  13. Lineplanmode string
  14. Weekmodelid int
  15. Workcalendarid int
  16. Location string
  17. Costcenterid string
  18. Costrate float64
  19. Prodeff float64
  20. Reqworkers int
  21. Pos int
  22. Taskqueuesortway string
  23. Multiqueuemixsort int
  24. Taskqueuemixsortway string
  25. Mixsortlogic string
  26. Taskreleaseway string
  27. Releaseparameter int
  28. Releasetparameter string
  29. Releasecparameter string
  30. Lastmodif string
  31. Lastuser string
  32. Credatuz string
  33. }
  34. func (t *Workline) Clipped() {
  35. common.TrimStruct(t, *t)
  36. }
  37. func (t *Workline) TableName() string {
  38. return "workline"
  39. }
  40. //增
  41. func (t *Workline) Add() error {
  42. e := G_DbEngine
  43. wltab := new(Workline)
  44. affw, err := e.Table("workline").ID(core.PK{G_FINR, t.Worklineid}).Count(wltab)
  45. if err != nil {
  46. return err
  47. }
  48. if affw > 0 {
  49. return errors.New("数据已经存在!")
  50. }
  51. _, err = e.Table("workline").Insert(t)
  52. if err != nil {
  53. return err
  54. }
  55. return nil
  56. }
  57. //删
  58. func (t *Workline) Del() bool {
  59. e := G_DbEngine
  60. _, err := e.ID(core.PK{G_FINR, t.Worklineid}).Delete(&Workline{})
  61. if err != nil {
  62. return false
  63. }
  64. return true
  65. }
  66. //改
  67. func (t *Workline) Update() bool {
  68. e := G_DbEngine
  69. _, err := e.ID(core.PK{G_FINR, t.Worklineid}).Update(t)
  70. if err != nil {
  71. return false
  72. }
  73. return true
  74. }
  75. //查
  76. func (t *Workline) SelectOne() (data Workline, err error) {
  77. e := G_DbEngine
  78. _, err = e.ID(core.PK{G_FINR, t.Worklineid}).Get(&data)
  79. if err != nil {
  80. return data, err
  81. }
  82. data.Clipped()
  83. return data, nil
  84. }
  85. //查
  86. func (t *Workline) GetByModeAndType(planmode string, linetypes []string) (datalst []Workline, err error) {
  87. var i int
  88. e := G_DbEngine
  89. if len(linetypes) > 0 {
  90. if err = e.Where("finr = ? and lineplanmode = ?", G_FINR, planmode).In("linetype", linetypes).Find(&datalst); err != nil {
  91. return
  92. }
  93. } else {
  94. if err = e.Where("finr = ? and lineplanmode = ?", G_FINR, planmode).Find(&datalst); err != nil {
  95. return
  96. }
  97. }
  98. for i = 0; i < len(datalst); i++ {
  99. datalst[i].Clipped()
  100. }
  101. return
  102. }
  103. //查
  104. func (t *Workline) GetByPlanMode(planmode string) (datalst []Workline, err error) {
  105. var i int
  106. e := G_DbEngine
  107. if err = e.Where("finr = ? and lineplanmode = ?", G_FINR, planmode).Find(&datalst); err != nil {
  108. return
  109. }
  110. for i = 0; i < len(datalst); i++ {
  111. datalst[i].Clipped()
  112. }
  113. return
  114. }