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.

175 lines
5.6 KiB

4 years ago
4 years ago
4 years ago
4 years ago
  1. // Copyright (c) Shenyang Leading Edge Intelligent Technology Co., Ltd. All rights reserved.
  2. package models
  3. import (
  4. "leit.com/LAPP_GAAS_GFrame/db"
  5. "time"
  6. "errors"
  7. "xorm.io/core"
  8. )
  9. type Workline struct {
  10. Plantnr int `json:"PlantNr" xorm:"not null pk INT(4)"`
  11. Worklineid string `json:"WorkLineId" xorm:"not null pk NVARCHAR(80)"`
  12. Descr string `json:"Descr" xorm:"not null NVARCHAR(200)"`
  13. Linetype string `json:"LineType" xorm:"not null NVARCHAR(2)"`
  14. Lineplanmode string `json:"LinePlanMode" xorm:"not null NVARCHAR(6)"`
  15. Weekmodelnr int `json:"WeekModelNr" xorm:"not null INT(4)"`
  16. Workcalendarnr int `json:"WorkCalendarNr" xorm:"not null INT(4)"`
  17. Location string `json:"Location" xorm:"not null NVARCHAR(80)"`
  18. Costcenterid string `json:"CostCenterId" xorm:"not null NVARCHAR(80)"`
  19. Costrate float32 `json:"CostRate" xorm:"not null FLOAT(8)"`
  20. Prodeff float32 `json:"ProdEff" xorm:"not null FLOAT(8)"`
  21. Reqworkers int `json:"ReqWorkers" xorm:"not null INT(4)"`
  22. Pos int `json:"Pos" xorm:"not null INT(4)"`
  23. Taskqueuesortway string `json:"TaskQueueSortWay" xorm:"not null NVARCHAR(20)"`
  24. Multiqueuemixsorttoggle int `json:"MultiQueueMixSortToggle" xorm:"not null BIT(1)"`
  25. Taskqueuemixsortway string `json:"TaskQueueMixSortWay" xorm:"not null NVARCHAR(20)"`
  26. Mixsortlogic string `json:"MixSortLogic" xorm:"not null NVARCHAR(200)"`
  27. Taskreleaseway string `json:"TaskReleaseWay" xorm:"not null NVARCHAR(20)"`
  28. Releaseqtyparameter int `json:"ReleaseQtyParameter" xorm:"not null INT(4)"`
  29. Releasetimeparameter time.Time `json:"ReleaseTimeParameter" xorm:"DATETIME(8)"`
  30. Releasectrlparameter string `json:"ReleaseCtrlParameter" xorm:"not null NVARCHAR(200)"`
  31. Lastmodify time.Time `json:"LastModify" xorm:"DATETIME(8)"`
  32. Lastuser string `json:"LastUser" xorm:"not null NVARCHAR(40)"`
  33. Createtime time.Time `json:"CreateTime" xorm:"DATETIME(8)"`
  34. }
  35. /******数据表名******/
  36. func (t *Workline) TableName() string {
  37. return "Workline"
  38. }
  39. /******************************************************************************
  40. *
  41. * @Function Name :
  42. *-----------------------------------------------------------------------------
  43. *
  44. * @Description : 数据添加
  45. *
  46. * @Function Parameters:
  47. *
  48. * @Return Value :
  49. *
  50. * @Author : Lou Wenzhi
  51. *
  52. * @Date : 2021/3/6 8:47
  53. *
  54. ******************************************************************************/
  55. func (t *Workline) Add() error {
  56. e := db.Eloquent.Master()
  57. count := new(Workline)
  58. affw, err := e.Table(t.TableName()).ID(core.PK{t.Plantnr, t.Worklineid}).Count(count)
  59. if err != nil {
  60. return err
  61. }
  62. if affw > 0 {
  63. return errors.New("数据已经存在!")
  64. }
  65. _, err = e.Table(t.TableName()).Insert(t)
  66. if err != nil {
  67. return err
  68. }
  69. return nil
  70. }
  71. /******************************************************************************
  72. *
  73. * @Function Name :
  74. *-----------------------------------------------------------------------------
  75. *
  76. * @Description : 数据删除
  77. *
  78. * @Function Parameters:
  79. *
  80. * @Return Value :
  81. *
  82. * @Author : Lou Wenzhi
  83. *
  84. * @Date : 2021/3/6 8:47
  85. *
  86. ******************************************************************************/
  87. func (t *Workline) Del() bool {
  88. e := db.Eloquent.Master()
  89. _, err := e.ID(core.PK{t.Plantnr, t.Worklineid}).Delete(&Workline{})
  90. if err != nil {
  91. return false
  92. }
  93. return true
  94. }
  95. /******************************************************************************
  96. *
  97. * @Function Name :
  98. *-----------------------------------------------------------------------------
  99. *
  100. * @Description : 数据修改
  101. *
  102. * @Function Parameters:
  103. *
  104. * @Return Value :
  105. *
  106. * @Author : Lou Wenzhi
  107. *
  108. * @Date : 2021/3/6 8:47
  109. *
  110. ******************************************************************************/
  111. func (t *Workline) Update() error {
  112. e := db.Eloquent.Master()
  113. _, err := e.ID(core.PK{t.Plantnr, t.Worklineid}).Update(t)
  114. if err != nil {
  115. return err
  116. }
  117. return nil
  118. }
  119. /******************************************************************************
  120. *
  121. * @Function Name :
  122. *-----------------------------------------------------------------------------
  123. *
  124. * @Description : 数据查找
  125. *
  126. * @Function Parameters:
  127. *
  128. * @Return Value :
  129. *
  130. * @Author : Lou Wenzhi
  131. *
  132. * @Date : 2021/3/6 8:47
  133. *
  134. ******************************************************************************/
  135. func (t *Workline) SelectOne() (Workline, error) {
  136. e := db.Eloquent.Master()
  137. var data Workline
  138. _, err := e.ID(core.PK{t.Plantnr, t.Worklineid}).Get(&data)
  139. if err != nil {
  140. return data, err
  141. }
  142. return data, nil
  143. }
  144. /******************************************************************************
  145. *
  146. * @Function Name :
  147. *-----------------------------------------------------------------------------
  148. *
  149. * @Description : 查找所有指定类型的馋相
  150. *
  151. * @Function Parameters:
  152. *
  153. * @Return Value :
  154. *
  155. * @Author : Lou Wenzhi
  156. *
  157. * @Date : 2021/3/6 8:47
  158. *
  159. ******************************************************************************/
  160. func (t *Workline) SelectByType(wltype string) (datalst []Workline, err error) {
  161. e := db.Eloquent.Master()
  162. if err := e.Where("Plantnr = ? and Linetype = ?", t.Plantnr, wltype).OrderBy("WorkLineId").Find(&datalst); err != nil {
  163. return
  164. }
  165. return
  166. }