第二代基于事件的高级计划排程引擎
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.

208 lines
8.2 KiB

3 years ago
  1. // Copyright (c) Shenyang Leading Edge Intelligent Technology Co., Ltd. All rights reserved.
  2. package models
  3. import (
  4. "errors"
  5. "leit.com/aps_engine/db"
  6. "time"
  7. "xorm.io/core"
  8. )
  9. type MeProject struct {
  10. Plantnr int `json:"PlantNr" xorm:"not null pk INT(4)"`
  11. Projectid string `json:"ProjectId" xorm:"not null pk NVARCHAR(80)"`
  12. Descr string `json:"Descr" xorm:"not null NVARCHAR(200)"`
  13. Enabletoggle int `json:"EnableToggle" xorm:"not null BIT(1)"`
  14. Plantsitecode int `json:"PlantSiteCode" xorm:"not null INT(4)"`
  15. Custname1 string `json:"CustName1" xorm:"not null NVARCHAR(200)"`
  16. Custname2 string `json:"CustName2" xorm:"not null NVARCHAR(200)"`
  17. Fileserverhost string `json:"FileServerHost" xorm:"not null NVARCHAR(120)"`
  18. Filefolder1 string `json:"FileFolder1" xorm:"not null NVARCHAR(200)"`
  19. Filefolder2 string `json:"FileFolder2" xorm:"not null NVARCHAR(200)"`
  20. Filefolder3 string `json:"FileFolder3" xorm:"not null NVARCHAR(200)"`
  21. Filefolder4 string `json:"FileFolder4" xorm:"not null NVARCHAR(200)"`
  22. Filefolder5 string `json:"FileFolder5" xorm:"not null NVARCHAR(200)"`
  23. Filefolder6 string `json:"FileFolder6" xorm:"not null NVARCHAR(200)"`
  24. File1nameregexp string `json:"File1NameRegexp" xorm:"not null NVARCHAR(200)"`
  25. File2nameregexp string `json:"File2NameRegexp" xorm:"not null NVARCHAR(200)"`
  26. File3nameregexp string `json:"File3NameRegexp" xorm:"not null NVARCHAR(200)"`
  27. File4nameregexp string `json:"File4NameRegexp" xorm:"not null NVARCHAR(200)"`
  28. File5nameregexp string `json:"File5NameRegexp" xorm:"not null NVARCHAR(200)"`
  29. File6nameregexp string `json:"File6NameRegexp" xorm:"not null NVARCHAR(200)"`
  30. Orderverifyruletoggle1 int `json:"OrderVerifyRuleToggle1" xorm:"not null BIT(1)"`
  31. Orderverifyruletoggle2 int `json:"OrderVerifyRuleToggle2" xorm:"not null BIT(1)"`
  32. Orderverifyruletoggle3 int `json:"OrderVerifyRuleToggle3" xorm:"not null BIT(1)"`
  33. Orderverifyruletoggle4 int `json:"OrderVerifyRuleToggle4" xorm:"not null BIT(1)"`
  34. Orderverifyruletoggle5 int `json:"OrderVerifyRuleToggle5" xorm:"not null BIT(1)"`
  35. Orderverifyruletoggle6 int `json:"OrderVerifyRuleToggle6" xorm:"not null BIT(1)"`
  36. Orderverifyrule1 string `json:"OrderVerifyRule1" xorm:"not null NVARCHAR(200)"`
  37. Orderverifyrule2 string `json:"OrderVerifyRule2" xorm:"not null NVARCHAR(200)"`
  38. Orderverifyrule3 string `json:"OrderVerifyRule3" xorm:"not null NVARCHAR(200)"`
  39. Orderverifyrule4 string `json:"OrderVerifyRule4" xorm:"not null NVARCHAR(200)"`
  40. Orderverifyrule5 string `json:"OrderVerifyRule5" xorm:"not null NVARCHAR(200)"`
  41. Orderverifyrule6 string `json:"OrderVerifyRule6" xorm:"not null NVARCHAR(200)"`
  42. Emailserverhost string `json:"EmailServerHost" xorm:"not null NVARCHAR(120)"`
  43. Emailserverport int `json:"EmailServerPort" xorm:"not null INT(4)"`
  44. Fromemail string `json:"FromEmail" xorm:"not null NVARCHAR(200)"`
  45. Frompwd string `json:"FromPwd" xorm:"not null NVARCHAR(200)"`
  46. Errorrecievers string `json:"ErrorRecievers" xorm:"not null NVARCHAR(200)"`
  47. Errorccrecievers string `json:"ErrorCcRecievers" xorm:"not null NVARCHAR(200)"`
  48. Logurl string `json:"LogUrl" xorm:"not null NVARCHAR(120)"`
  49. Logtable string `json:"LogTable" xorm:"not null NVARCHAR(80)"`
  50. Custordersnr string `json:"CustOrderSnr" xorm:"not null NVARCHAR(80)"`
  51. Workordersnr string `json:"WorkOrderSnr" xorm:"not null NVARCHAR(80)"`
  52. Serialordersnr string `json:"SerialOrderSnr" xorm:"not null NVARCHAR(80)"`
  53. Manualordersnr string `json:"ManualOrderSnr" xorm:"not null NVARCHAR(80)"`
  54. Ordermsgsnr string `json:"OrderMsgSnr" xorm:"not null NVARCHAR(80)"`
  55. Reworkordersnr string `json:"ReworkOrderSnr" xorm:"not null NVARCHAR(80)"`
  56. Packordersnr string `json:"PackOrderSnr" xorm:"not null NVARCHAR(80)"`
  57. Packordersyncsnr string `json:"PackOrderSyncSnr" xorm:"not null NVARCHAR(80)"`
  58. Shipordersnr string `json:"ShipOrderSnr" xorm:"not null NVARCHAR(80)"`
  59. Shipfilesnr string `json:"ShipFileSnr" xorm:"not null NVARCHAR(80)"`
  60. Asnfilesnr string `json:"AsnFileSnr" xorm:"not null NVARCHAR(80)"`
  61. Lastmodify time.Time `json:"LastModify" xorm:"DATETIME(8)"`
  62. Lastuser string `json:"LastUser" xorm:"not null NVARCHAR(40)"`
  63. Createtime time.Time `json:"CreateTime" xorm:"DATETIME(8)"`
  64. }
  65. /******数据表名******/
  66. func (t *MeProject) TableName() string {
  67. return "MeProject"
  68. }
  69. /******************************************************************************
  70. *
  71. * @Function Name :
  72. *-----------------------------------------------------------------------------
  73. *
  74. * @Description : 数据添加
  75. *
  76. * @Function Parameters:
  77. *
  78. * @Return Value :
  79. *
  80. * @Author : Lou Wenzhi
  81. *
  82. * @Date : 2021/3/6 8:47
  83. *
  84. ******************************************************************************/
  85. func (t *MeProject) Add() error {
  86. e := db.Eloquent.Master()
  87. projtab := new(MeProject)
  88. /**主键:****/
  89. affw, err := e.Table(t.TableName()).ID(core.PK{t.Plantnr, t.Projectid}).Count(projtab)
  90. if err != nil {
  91. return err
  92. }
  93. if affw > 0 {
  94. return errors.New("数据已经存在!")
  95. }
  96. _, err = e.Table(t.TableName()).Insert(t)
  97. if err != nil {
  98. return err
  99. }
  100. return nil
  101. }
  102. /******************************************************************************
  103. *
  104. * @Function Name :
  105. *-----------------------------------------------------------------------------
  106. *
  107. * @Description : 数据删除
  108. *
  109. * @Function Parameters:
  110. *
  111. * @Return Value :
  112. *
  113. * @Author : Lou Wenzhi
  114. *
  115. * @Date : 2021/3/6 8:47
  116. *
  117. ******************************************************************************/
  118. func (t *MeProject) Del() error {
  119. e := db.Eloquent.Master()
  120. /******/
  121. _, err := e.ID(core.PK{t.Plantnr, t.Projectid}).Delete(&MeProject{})
  122. if err != nil {
  123. return err
  124. }
  125. return nil
  126. }
  127. /******************************************************************************
  128. *
  129. * @Function Name :
  130. *-----------------------------------------------------------------------------
  131. *
  132. * @Description : 数据修改
  133. *
  134. * @Function Parameters:
  135. *
  136. * @Return Value :
  137. *
  138. * @Author : Lou Wenzhi
  139. *
  140. * @Date : 2021/3/6 8:47
  141. *
  142. ******************************************************************************/
  143. func (t *MeProject) Update() error {
  144. e := db.Eloquent.Master()
  145. /******/
  146. _, err := e.ID(core.PK{t.Plantnr, t.Projectid}).Update(t)
  147. if err != nil {
  148. return err
  149. }
  150. return nil
  151. }
  152. /******************************************************************************
  153. *
  154. * @Function Name :
  155. *-----------------------------------------------------------------------------
  156. *
  157. * @Description : 数据查找
  158. *
  159. * @Function Parameters:
  160. *
  161. * @Return Value :
  162. *
  163. * @Author : Lou Wenzhi
  164. *
  165. * @Date : 2021/3/6 8:47
  166. *
  167. ******************************************************************************/
  168. func (t *MeProject) SelectOne() (MeProject, error) {
  169. var data MeProject
  170. e := db.Eloquent.Master()
  171. _, err := e.ID(core.PK{t.Plantnr, t.Projectid}).Get(&data)
  172. if err != nil {
  173. return data, err
  174. }
  175. return data, nil
  176. }
  177. /******************************************************************************
  178. *
  179. * @Function Name :
  180. *-----------------------------------------------------------------------------
  181. *
  182. * @Description : 数据查找
  183. *
  184. * @Function Parameters:
  185. *
  186. * @Return Value :
  187. *
  188. * @Author : Lou Wenzhi
  189. *
  190. * @Date : 2021/3/6 8:47
  191. *
  192. ******************************************************************************/
  193. func (t *MeProject) SelectActiveProjects() (datalst []MeProject, err error) {
  194. e := db.Eloquent.Master()
  195. if err = e.Where("PlantNr = ? and EnableToggle = ?",t.Plantnr, 1).OrderBy("ProjectId").Find(&datalst); err != nil{
  196. return
  197. }
  198. return
  199. }