GAAS GFrame项目web后台
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.

319 lines
11 KiB

3 years ago
  1. // Copyright (c) Shenyang Leading Edge Intelligent Technology Co., Ltd. All rights reserved.
  2. package implments
  3. import (
  4. "LAPP_GAAS_GFrame_BACKEND/grmi"
  5. meta "LAPP_GAAS_GFrame_BACKEND/meta/base"
  6. model "LAPP_GAAS_GFrame_BACKEND/models/base"
  7. "fmt"
  8. "github.com/go-xorm/xorm"
  9. "xorm.io/core"
  10. )
  11. /******************************************************************************
  12. *
  13. * @Struct Name : WorkLineWorkShiftLstDAOImplement
  14. *-----------------------------------------------------------------------------
  15. *
  16. * @Description : WorkLineWorkShiftLst的数据访问对象实现
  17. *
  18. * @Author : 代码生成器创建
  19. *
  20. * @Date : 2021-04-22 16:03:30
  21. *
  22. ******************************************************************************/
  23. type WorkLineWorkShiftLstDAOImplement struct {
  24. session *xorm.Session
  25. meta *grmi.Entity
  26. plantNr int
  27. userid string
  28. }
  29. /******************************************************************************
  30. *
  31. * @Function Name : NewWorkLineWorkShiftLstDAOImplement
  32. *-----------------------------------------------------------------------------
  33. *
  34. * @Description : 创建一个WorkLineWorkShiftLstDAOImplement实例
  35. *
  36. * @Function Parameters : xorm会话
  37. *
  38. * @Function Parameters : 基本主键
  39. *
  40. * @Return Value : WorkLineWorkShiftLstDAOImplement实例
  41. *
  42. * @Author : 代码生成器创建
  43. *
  44. * @Date : 2021-04-22 16:03:30
  45. *
  46. ******************************************************************************/
  47. func NewWorkLineWorkShiftLstDAOImplement(session *xorm.Session, plantNr int, userid string) *WorkLineWorkShiftLstDAOImplement {
  48. return &WorkLineWorkShiftLstDAOImplement{session, &meta.WorkLineWorkShiftLst, plantNr, userid}
  49. }
  50. /******************************************************************************
  51. *
  52. * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/WorkLineWorkShiftLstDAO.InsertOne
  53. *
  54. ******************************************************************************/
  55. func (impl *WorkLineWorkShiftLstDAOImplement) InsertOne(entity *model.WorkLineWorkShiftLst) error {
  56. entity.PlantNr = impl.plantNr
  57. entity.LastUser = impl.userid
  58. _, err := impl.session.Table(impl.meta.TableName).Insert(entity)
  59. if err != nil {
  60. return grmi.NewDataBaseError(err)
  61. }
  62. return nil
  63. }
  64. /******************************************************************************
  65. *
  66. * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/WorkLineWorkShiftLstDAO.DeleteOne
  67. *
  68. ******************************************************************************/
  69. func (impl *WorkLineWorkShiftLstDAOImplement) DeleteOne(workLineId string, workDay string, workShiftNr int) error {
  70. _, err := impl.session.Table(impl.meta.TableName).ID(core.PK{impl.plantNr, workLineId, workDay, workShiftNr}).Delete(impl.meta.Indicator)
  71. if err != nil {
  72. return grmi.NewDataBaseError(err)
  73. }
  74. return nil
  75. }
  76. /******************************************************************************
  77. *
  78. * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/WorkLineWorkShiftLstDAO.SelectOne
  79. *
  80. ******************************************************************************/
  81. func (impl *WorkLineWorkShiftLstDAOImplement) SelectOne(workLineId string, workDay string, workShiftNr int) (*model.WorkLineWorkShiftLst, error) {
  82. var data model.WorkLineWorkShiftLst
  83. ok, err := impl.session.Table(impl.meta.TableName).ID(core.PK{impl.plantNr, workLineId, workDay, workShiftNr}).Get(&data)
  84. if err != nil {
  85. return nil, grmi.NewDataBaseError(err)
  86. }
  87. if !ok {
  88. return nil, nil
  89. }
  90. return &data, nil
  91. }
  92. /******************************************************************************
  93. *
  94. * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/WorkLineWorkShiftLstDAO.UpdateOne
  95. *
  96. ******************************************************************************/
  97. func (impl *WorkLineWorkShiftLstDAOImplement) UpdateOne(entity *model.WorkLineWorkShiftLst) error {
  98. entity.PlantNr = impl.plantNr
  99. entity.LastUser = impl.userid
  100. _, err := impl.session.Table(impl.meta.TableName).Cols(impl.meta.UpdatingMembers...).ID(entity.GetKey()).Update(entity)
  101. if err != nil {
  102. return grmi.NewDataBaseError(err)
  103. }
  104. return nil
  105. }
  106. /******************************************************************************
  107. *
  108. * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/WorkLineWorkShiftLstDAO.Insert
  109. *
  110. ******************************************************************************/
  111. func (impl *WorkLineWorkShiftLstDAOImplement) Insert(entities *[]model.WorkLineWorkShiftLst) error {
  112. for i := 0; i < len(*entities); i++ {
  113. entity := &(*entities)[i]
  114. entity.PlantNr = impl.plantNr
  115. entity.LastUser = impl.userid
  116. }
  117. _, err := impl.session.Table(impl.meta.TableName).Insert(entities)
  118. if err != nil {
  119. return grmi.NewDataBaseError(err)
  120. }
  121. return nil
  122. }
  123. /******************************************************************************
  124. *
  125. * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/WorkLineWorkShiftLstDAO.Delete
  126. *
  127. ******************************************************************************/
  128. func (impl *WorkLineWorkShiftLstDAOImplement) Delete(entities *[]model.WorkLineWorkShiftLst) error {
  129. for _, entity := range *entities {
  130. entity.PlantNr = impl.plantNr
  131. _, err := impl.session.Table(impl.meta.TableName).ID(entity.GetKey()).Delete(impl.meta.Indicator)
  132. if err != nil {
  133. return grmi.NewDataBaseError(err)
  134. }
  135. }
  136. return nil
  137. }
  138. /******************************************************************************
  139. *
  140. * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/WorkLineWorkShiftLstDAO.DeleteWhere
  141. *
  142. ******************************************************************************/
  143. func (impl *WorkLineWorkShiftLstDAOImplement) DeleteWhere(predicates []grmi.Predicate) error {
  144. parameters := []interface{}{impl.plantNr}
  145. where := fmt.Sprintf("%s = ?", meta.WorkLineWorkShiftLst_PlantNr.ColumnName)
  146. session := impl.session.Table(impl.meta.TableName)
  147. if predicates != nil {
  148. for _, predicate := range predicates {
  149. where += predicate.Build()
  150. parameters = append(parameters, predicate.Values...)
  151. }
  152. session = session.Where(where, parameters...)
  153. } else {
  154. session = session.Where(where, parameters...)
  155. }
  156. _, err := session.Delete(impl.meta.Indicator)
  157. if err != nil {
  158. return grmi.NewDataBaseError(err)
  159. }
  160. return nil
  161. }
  162. /******************************************************************************
  163. *
  164. * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/WorkLineWorkShiftLstDAO.Select
  165. *
  166. ******************************************************************************/
  167. func (impl *WorkLineWorkShiftLstDAOImplement) Select(predicates []grmi.Predicate, orderByFields []grmi.Field) ([]model.WorkLineWorkShiftLst, error) {
  168. parameters := []interface{}{impl.plantNr}
  169. where := fmt.Sprintf("%s = ?", meta.WorkLineWorkShiftLst_PlantNr.ColumnName)
  170. session := impl.session.Table(impl.meta.TableName)
  171. if predicates != nil {
  172. for _, predicate := range predicates {
  173. where += predicate.Build()
  174. parameters = append(parameters, predicate.Values...)
  175. }
  176. session = session.Where(where, parameters...)
  177. } else {
  178. session = session.Where(where, parameters...)
  179. }
  180. session = session.OrderBy(meta.WorkLineWorkShiftLst_PlantNr.ColumnName)
  181. if orderByFields != nil {
  182. for _, field := range orderByFields {
  183. session = session.OrderBy(field.ColumnName)
  184. }
  185. }
  186. data := make([]model.WorkLineWorkShiftLst, 0, 10)
  187. err := session.Find(&data)
  188. if err != nil {
  189. return nil, grmi.NewDataBaseError(err)
  190. }
  191. return data, nil
  192. }
  193. /******************************************************************************
  194. *
  195. * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/WorkLineWorkShiftLstDAO.SelectAndPaging
  196. *
  197. ******************************************************************************/
  198. func (impl *WorkLineWorkShiftLstDAOImplement) SelectAndPaging(paging *grmi.Paging, predicates []grmi.Predicate, orderByFields []grmi.Field) (grmi.PagingResult, error) {
  199. parameters := []interface{}{impl.plantNr}
  200. where := fmt.Sprintf("%s = ?", meta.WorkLineWorkShiftLst_PlantNr.ColumnName)
  201. session := impl.session.Table(impl.meta.TableName)
  202. if predicates != nil {
  203. for _, predicate := range predicates {
  204. where += predicate.Build()
  205. parameters = append(parameters, predicate.Values...)
  206. }
  207. session = session.Where(where, parameters...)
  208. } else {
  209. session = session.Where(where, parameters...)
  210. }
  211. count, err := session.Count(impl.meta.Indicator)
  212. if err != nil {
  213. return grmi.EmptyPagingResult, err
  214. }
  215. orderBy := " order by " + meta.WorkLineWorkShiftLst_PlantNr.ColumnName
  216. if orderByFields != nil {
  217. for _, field := range orderByFields {
  218. orderBy += ", " + field.ColumnName
  219. }
  220. }
  221. parameters = append(parameters, paging.Offset(), paging.Size)
  222. data := make([]model.WorkLineWorkShiftLst, 0, 10)
  223. if where != "" {
  224. where = " where " + where
  225. }
  226. err = impl.session.Table(impl.meta.TableName).SQL("select * from "+impl.meta.TableName+where+orderBy+" offset ? row fetch next ? row only", parameters...).Find(&data)
  227. if err != nil {
  228. return grmi.EmptyPagingResult, err
  229. }
  230. return grmi.PagingResult{Records: data, Count: count, PageNumber: paging.Number, PageSize: paging.Size}, nil
  231. }
  232. /******************************************************************************
  233. *
  234. * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/WorkLineWorkShiftLstDAO.Update
  235. *
  236. ******************************************************************************/
  237. func (impl *WorkLineWorkShiftLstDAOImplement) Update(entities *[]model.WorkLineWorkShiftLst) error {
  238. for i := 0; i < len(*entities); i++ {
  239. entity := &(*entities)[i]
  240. entity.PlantNr = impl.plantNr
  241. entity.LastUser = impl.userid
  242. _, err := impl.session.Table(impl.meta.TableName).Cols(impl.meta.UpdatingMembers...).ID(entity.GetKey()).Update(entity)
  243. if err != nil {
  244. return grmi.NewDataBaseError(err)
  245. }
  246. }
  247. return nil
  248. }
  249. /******************************************************************************
  250. *
  251. * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/WorkLineWorkShiftLstDAO.UpdateWhere
  252. *
  253. ******************************************************************************/
  254. func (impl *WorkLineWorkShiftLstDAOImplement) UpdateWhere(predicates []grmi.Predicate, entity *model.WorkLineWorkShiftLst, columns ...string) error {
  255. parameters := []interface{}{impl.plantNr}
  256. where := fmt.Sprintf("%s = ?", meta.WorkLineWorkShiftLst_PlantNr.ColumnName)
  257. session := impl.session.Table(impl.meta.TableName)
  258. if predicates != nil {
  259. for _, predicate := range predicates {
  260. where += predicate.Build()
  261. parameters = append(parameters, predicate.Values...)
  262. }
  263. session = session.Where(where, parameters...)
  264. } else {
  265. session = session.Where(where, parameters...)
  266. }
  267. columns = append(columns, meta.WorkLineWorkShiftLst_LastUser.ColumnName)
  268. entity.LastUser = impl.userid
  269. _, err := impl.session.Table(impl.meta.TableName).Cols(columns...).Update(entity)
  270. if err != nil {
  271. return grmi.NewDataBaseError(err)
  272. }
  273. return nil
  274. }
  275. /******************************************************************************
  276. *
  277. * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/WorkLineWorkShiftLstDAO.UpdateWhere
  278. *
  279. ******************************************************************************/
  280. func (impl *WorkLineWorkShiftLstDAOImplement) GetWorkLineWorkShiftData(lineid, st, et string) ([]model.WorkLineWorkShiftLst, error) {
  281. datalst := make([]model.WorkLineWorkShiftLst,0)
  282. session := impl.session.Table(impl.meta.TableName)
  283. if err := session.Where("PlantNr = ? and WorkLineId = ? and WorkDay >= ? and WorkDay <= ?",impl.plantNr,
  284. lineid, st, et).Asc("WorkDay", "WorkShiftNr").Find(&datalst);err != nil {
  285. return nil, grmi.NewDataBaseError(err)
  286. }
  287. return datalst,nil
  288. }