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

185 lines
5.5 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 WmsArtstock struct {
  10. Plantnr int `json:"PlantNr" xorm:"not null pk INT(4)"`
  11. Artid string `json:"ArtId" xorm:"not null pk NVARCHAR(80)"`
  12. Warehousenr int `json:"WarehouseNr" xorm:"not null INT(4)"`
  13. Status int `json:"Status" xorm:"not null INT(4)"`
  14. Actstock float32 `json:"ActStock" xorm:"FLOAT(8)"`
  15. Planstock float32 `json:"PlanStock" xorm:"FLOAT(8)"`
  16. Reservedstock float32 `json:"ReservedStock" xorm:"FLOAT(8)"`
  17. Availablestock float32 `json:"AvailableStock" xorm:"FLOAT(8)"`
  18. Calculatedreorderpoint float32 `json:"CalculatedReorderPoint" xorm:"FLOAT(8)"`
  19. Manualorderpoint float32 `json:"ManualOrderPoint" xorm:"FLOAT(8)"`
  20. Calculatedoptimumbatchsize float32 `json:"CalculatedOptimumBatchSize" xorm:"FLOAT(8)"`
  21. Manualoptimumlotsize float32 `json:"ManualOptimumLotSize" xorm:"FLOAT(8)"`
  22. Manualorderdate time.Time `json:"ManualOrderDate" xorm:"DATETIME(8)"`
  23. Maincontroller string `json:"MainController" xorm:"not null NVARCHAR(40)"`
  24. Prodartid string `json:"ProdArtId" xorm:"not null NVARCHAR(80)"`
  25. Abcclass string `json:"ABCClass" xorm:"not null NVARCHAR(2)"`
  26. Qtyuomid string `json:"QtyUomId" xorm:"not null NVARCHAR(80)"`
  27. Procurementkeynr int `json:"ProcurementKeyNr" xorm:"not null INT(4)"`
  28. Purchasegroupid string `json:"PurchaseGroupId" xorm:"not null NVARCHAR(80)"`
  29. Lastmodify time.Time `json:"LastModify" xorm:"DATETIME(8)"`
  30. Lastuser string `json:"LastUser" xorm:"not null NVARCHAR(40)"`
  31. Createtime time.Time `json:"CreateTime" xorm:"DATETIME(8)"`
  32. }
  33. /******数据表名******/
  34. func (t *WmsArtstock) TableName() string {
  35. return "WmsArtstock"
  36. }
  37. /******************************************************************************
  38. *
  39. * @Function Name :
  40. *-----------------------------------------------------------------------------
  41. *
  42. * @Description : 数据添加
  43. *
  44. * @Function Parameters:
  45. *
  46. * @Return Value :
  47. *
  48. * @Author : Lou Wenzhi
  49. *
  50. * @Date : 2021/3/6 8:47
  51. *
  52. ******************************************************************************/
  53. func (t *WmsArtstock) Add() error {
  54. e := db.Eloquent.Master()
  55. count := new(WmsArtstock)
  56. /**主键:****/
  57. /******/
  58. affw, err := e.Table(t.TableName()).ID(core.PK{t.Plantnr, t.Artid}).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 *WmsArtstock) Del() (err error) {
  88. e := db.Eloquent.Master()
  89. /**主键:****/
  90. /******/
  91. _, err = e.ID(core.PK{t.Plantnr, t.Artid}).Delete(&WmsArtstock{})
  92. if err != nil {
  93. return
  94. }
  95. return nil
  96. }
  97. /******************************************************************************
  98. *
  99. * @Function Name :
  100. *-----------------------------------------------------------------------------
  101. *
  102. * @Description : 数据修改
  103. *
  104. * @Function Parameters:
  105. *
  106. * @Return Value :
  107. *
  108. * @Author : Lou Wenzhi
  109. *
  110. * @Date : 2021/3/6 8:47
  111. *
  112. ******************************************************************************/
  113. func (t *WmsArtstock) Update() error {
  114. e := db.Eloquent.Master()
  115. /**主键:****/
  116. /******/
  117. _, err := e.ID(core.PK{t.Plantnr, t.Artid}).Update(t)
  118. if err != nil {
  119. return err
  120. }
  121. return nil
  122. }
  123. /******************************************************************************
  124. *
  125. * @Function Name :
  126. *-----------------------------------------------------------------------------
  127. *
  128. * @Description : 数据查找
  129. *
  130. * @Function Parameters:
  131. *
  132. * @Return Value :
  133. *
  134. * @Author : Lou Wenzhi
  135. *
  136. * @Date : 2021/3/6 8:47
  137. *
  138. ******************************************************************************/
  139. func (t *WmsArtstock) SelectOne() (WmsArtstock, error) {
  140. e := db.Eloquent.Master()
  141. var data WmsArtstock
  142. /**主键:****/
  143. /******/
  144. _, err := e.ID(core.PK{t.Plantnr, t.Artid}).Get(&data)
  145. if err != nil {
  146. return data, err
  147. }
  148. return data, nil
  149. }
  150. /******************************************************************************
  151. *
  152. * @Function Name :
  153. *-----------------------------------------------------------------------------
  154. *
  155. * @Description : 查找所有的物料库存
  156. *
  157. * @Function Parameters:
  158. *
  159. * @Return Value :
  160. *
  161. * @Author : LEO XUE
  162. *
  163. * @Date : 2021/5/10 8:47
  164. *
  165. ******************************************************************************/
  166. func (t *WmsArtstock) SelectAll() (datalst []WmsArtstock, err error) {
  167. e := db.Eloquent.Master()
  168. if err = e.Table(t.TableName()).Where("PlantNr = ?",t.Plantnr).OrderBy("ArtId").Find(&datalst); err != nil{
  169. return
  170. }
  171. return
  172. }