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.

306 lines
10 KiB

  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 : LabelHeadDAOImplement
  14. *-----------------------------------------------------------------------------
  15. *
  16. * @Description : LabelHead的数据访问对象实现
  17. *
  18. * @Author : 代码生成器创建
  19. *
  20. * @Date : 2021-10-25 11:26:18
  21. *
  22. ******************************************************************************/
  23. type LabelHeadDAOImplement struct {
  24. session *xorm.Session
  25. meta *grmi.Entity
  26. plantNr int
  27. userid string
  28. }
  29. /******************************************************************************
  30. *
  31. * @Function Name : NewLabelHeadDAOImplement
  32. *-----------------------------------------------------------------------------
  33. *
  34. * @Description : 创建一个LabelHeadDAOImplement实例
  35. *
  36. * @Function Parameters : xorm会话
  37. *
  38. * @Function Parameters : 基本主键
  39. *
  40. * @Return Value : LabelHeadDAOImplement实例
  41. *
  42. * @Author : 代码生成器创建
  43. *
  44. * @Date : 2021-10-25 11:26:18
  45. *
  46. ******************************************************************************/
  47. func NewLabelHeadDAOImplement(session *xorm.Session, plantNr int, userid string) *LabelHeadDAOImplement {
  48. return &LabelHeadDAOImplement{session, &meta.LabelHead, plantNr, userid}
  49. }
  50. /******************************************************************************
  51. *
  52. * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/LabelHeadDAO.InsertOne
  53. *
  54. ******************************************************************************/
  55. func (impl *LabelHeadDAOImplement) InsertOne(entity *model.LabelHead) 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/LabelHeadDAO.DeleteOne
  67. *
  68. ******************************************************************************/
  69. func (impl *LabelHeadDAOImplement) DeleteOne(labelId string) error {
  70. _, err := impl.session.Table(impl.meta.TableName).ID(core.PK{impl.plantNr, labelId}).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/LabelHeadDAO.SelectOne
  79. *
  80. ******************************************************************************/
  81. func (impl *LabelHeadDAOImplement) SelectOne(labelId string) (*model.LabelHead, error) {
  82. var data model.LabelHead
  83. ok, err := impl.session.Table(impl.meta.TableName).ID(core.PK{impl.plantNr, labelId}).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/LabelHeadDAO.UpdateOne
  95. *
  96. ******************************************************************************/
  97. func (impl *LabelHeadDAOImplement) UpdateOne(entity *model.LabelHead) 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/LabelHeadDAO.Insert
  109. *
  110. ******************************************************************************/
  111. func (impl *LabelHeadDAOImplement) Insert(entities *[]model.LabelHead) 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/LabelHeadDAO.Delete
  126. *
  127. ******************************************************************************/
  128. func (impl *LabelHeadDAOImplement) Delete(entities *[]model.LabelHead) 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/LabelHeadDAO.DeleteWhere
  141. *
  142. ******************************************************************************/
  143. func (impl *LabelHeadDAOImplement) DeleteWhere(predicates []grmi.Predicate) error {
  144. parameters := []interface{}{impl.plantNr}
  145. where := fmt.Sprintf("%s = ?", meta.LabelHead_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/LabelHeadDAO.Select
  165. *
  166. ******************************************************************************/
  167. func (impl *LabelHeadDAOImplement) Select(predicates []grmi.Predicate, orderByFields []grmi.Field) ([]model.LabelHead, error) {
  168. parameters := []interface{}{impl.plantNr}
  169. where := fmt.Sprintf("%s = ?", meta.LabelHead_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.LabelHead_PlantNr.ColumnName)
  181. if orderByFields != nil {
  182. for _, field := range orderByFields {
  183. session = session.OrderBy(field.ColumnName)
  184. }
  185. }
  186. data := make([]model.LabelHead, 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/LabelHeadDAO.SelectAndPaging
  196. *
  197. ******************************************************************************/
  198. func (impl *LabelHeadDAOImplement) SelectAndPaging(paging *grmi.Paging, predicates []grmi.Predicate, orderByFields []grmi.Field) (grmi.PagingResult, error) {
  199. parameters := []interface{}{impl.plantNr}
  200. where := fmt.Sprintf("%s = ?", meta.LabelHead_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.LabelHead_PlantNr.ColumnName
  216. if orderByFields != nil {
  217. for _, field := range orderByFields {
  218. if orderBy == " order by " {
  219. orderBy += field.ColumnName
  220. } else {
  221. orderBy += ", " + field.ColumnName
  222. }
  223. }
  224. }
  225. parameters = append(parameters, paging.Offset(), paging.Size)
  226. data := make([]model.LabelHead, 0, 10)
  227. where = " where " + where
  228. err = impl.session.Table(impl.meta.TableName).SQL("select * from "+impl.meta.TableName+where+orderBy+" offset ? row fetch next ? row only", parameters...).Find(&data)
  229. if err != nil {
  230. return grmi.EmptyPagingResult, err
  231. }
  232. return grmi.PagingResult{Records: data, Count: count, PageNumber: paging.Number, PageSize: paging.Size}, nil
  233. }
  234. /******************************************************************************
  235. *
  236. * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/LabelHeadDAO.Update
  237. *
  238. ******************************************************************************/
  239. func (impl *LabelHeadDAOImplement) Update(entities *[]model.LabelHead) error {
  240. for i := 0; i < len(*entities); i++ {
  241. entity := &(*entities)[i]
  242. entity.PlantNr = impl.plantNr
  243. entity.LastUser = impl.userid
  244. _, err := impl.session.Table(impl.meta.TableName).Cols(impl.meta.UpdatingMembers...).ID(entity.GetKey()).Update(entity)
  245. if err != nil {
  246. return grmi.NewDataBaseError(err)
  247. }
  248. }
  249. return nil
  250. }
  251. /******************************************************************************
  252. *
  253. * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/LabelHeadDAO.UpdateWhere
  254. *
  255. ******************************************************************************/
  256. func (impl *LabelHeadDAOImplement) UpdateWhere(predicates []grmi.Predicate, entity *model.LabelHead, columns ...string) error {
  257. parameters := []interface{}{impl.plantNr}
  258. where := fmt.Sprintf("%s = ?", meta.LabelHead_PlantNr.ColumnName)
  259. session := impl.session.Table(impl.meta.TableName)
  260. if predicates != nil {
  261. for _, predicate := range predicates {
  262. where += predicate.Build()
  263. parameters = append(parameters, predicate.Values...)
  264. }
  265. session = session.Where(where, parameters...)
  266. } else {
  267. session = session.Where(where, parameters...)
  268. }
  269. columns = append(columns, meta.LabelHead_LastUser.Name)
  270. entity.LastUser = impl.userid
  271. _, err := impl.session.Table(impl.meta.TableName).Cols(columns...).Update(entity)
  272. if err != nil {
  273. return grmi.NewDataBaseError(err)
  274. }
  275. return nil
  276. }