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.

387 lines
13 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 : WeekModelLstDAOImplement
  14. *-----------------------------------------------------------------------------
  15. *
  16. * @Description : WeekModelLst的数据访问对象实现
  17. *
  18. * @Author : 代码生成器创建
  19. *
  20. * @Date : 2021-04-19 12:11:47
  21. *
  22. ******************************************************************************/
  23. type WeekModelLstDAOImplement struct {
  24. session *xorm.Session
  25. meta *grmi.Entity
  26. plantNr int
  27. userid string
  28. }
  29. /******************************************************************************
  30. *
  31. * @Function Name : NewWeekModelLstDAOImplement
  32. *-----------------------------------------------------------------------------
  33. *
  34. * @Description : 创建一个WeekModelLstDAOImplement实例
  35. *
  36. * @Function Parameters : xorm会话
  37. *
  38. * @Function Parameters : 基本主键
  39. *
  40. * @Return Value : WeekModelLstDAOImplement实例
  41. *
  42. * @Author : 代码生成器创建
  43. *
  44. * @Date : 2021-04-19 12:11:47
  45. *
  46. ******************************************************************************/
  47. func NewWeekModelLstDAOImplement(session *xorm.Session, plantNr int, userid string) *WeekModelLstDAOImplement {
  48. return &WeekModelLstDAOImplement{session, &meta.WeekModelLst, plantNr, userid}
  49. }
  50. /******************************************************************************
  51. *
  52. * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/WeekModelLstDAO.InsertOne
  53. *
  54. ******************************************************************************/
  55. func (impl *WeekModelLstDAOImplement) InsertOne(entity *model.WeekModelLst) 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/WeekModelLstDAO.DeleteOne
  67. *
  68. ******************************************************************************/
  69. func (impl *WeekModelLstDAOImplement) DeleteOne(weekModelNr int, workDate grmi.Date) error {
  70. _, err := impl.session.Table(impl.meta.TableName).ID(core.PK{impl.plantNr, weekModelNr, workDate.ToString()}).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/WeekModelLstDAO.SelectOne
  79. *
  80. ******************************************************************************/
  81. func (impl *WeekModelLstDAOImplement) SelectOne(weekModelNr int, workDate grmi.Date) (*model.WeekModelLst, error) {
  82. var data model.WeekModelLst
  83. ok, err := impl.session.Table(impl.meta.TableName).ID(core.PK{impl.plantNr, weekModelNr, workDate.ToString()}).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/WeekModelLstDAO.UpdateOne
  95. *
  96. ******************************************************************************/
  97. func (impl *WeekModelLstDAOImplement) UpdateOne(entity *model.WeekModelLst) 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/WeekModelLstDAO.Insert
  109. *
  110. ******************************************************************************/
  111. func (impl *WeekModelLstDAOImplement) Insert(entities *[]model.WeekModelLst) 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/WeekModelLstDAO.Delete
  126. *
  127. ******************************************************************************/
  128. func (impl *WeekModelLstDAOImplement) Delete(entities *[]model.WeekModelLst) 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/WeekModelLstDAO.DeleteWhere
  141. *
  142. ******************************************************************************/
  143. func (impl *WeekModelLstDAOImplement) DeleteWhere(predicates []grmi.Predicate) error {
  144. parameters := []interface{}{impl.plantNr}
  145. where := fmt.Sprintf("%s = ?", meta.WeekModelLst_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/WeekModelLstDAO.Select
  165. *
  166. ******************************************************************************/
  167. func (impl *WeekModelLstDAOImplement) Select(predicates []grmi.Predicate, orderByFields []grmi.Field) ([]model.WeekModelLst, error) {
  168. parameters := []interface{}{impl.plantNr}
  169. where := fmt.Sprintf("%s = ?", meta.WeekModelLst_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.WeekModelLst_PlantNr.ColumnName)
  181. if orderByFields != nil {
  182. for _, field := range orderByFields {
  183. session = session.OrderBy(field.ColumnName)
  184. }
  185. }
  186. data := make([]model.WeekModelLst, 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/WeekModelLstDAO.SelectAndPaging
  196. *
  197. ******************************************************************************/
  198. func (impl *WeekModelLstDAOImplement) SelectAndPaging(paging *grmi.Paging, predicates []grmi.Predicate, orderByFields []grmi.Field) (grmi.PagingResult, error) {
  199. parameters := []interface{}{impl.plantNr}
  200. where := fmt.Sprintf("%s = ?", meta.WeekModelLst_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.WeekModelLst_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.WeekModelLst, 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/WeekModelLstDAO.Update
  235. *
  236. ******************************************************************************/
  237. func (impl *WeekModelLstDAOImplement) Update(entities *[]model.WeekModelLst) 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/WeekModelLstDAO.UpdateWhere
  252. *
  253. ******************************************************************************/
  254. func (impl *WeekModelLstDAOImplement) UpdateWhere(predicates []grmi.Predicate, entity *model.WeekModelLst, columns ...string) error {
  255. parameters := []interface{}{impl.plantNr}
  256. where := fmt.Sprintf("%s = ?", meta.WeekModelLst_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.WeekModelLst_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/WeekModelLstDAO.SelectJoinDayModel
  278. // *
  279. // ******************************************************************************/
  280. //func (impl *WeekModelLstDAOImplement) SelectJoinDayModel(predicates []grmi.Predicate, orderByFields []grmi.Field) ([]model.WeekModelLstAndDay, error) {
  281. //
  282. // parameters := []interface{}{impl.plantNr}
  283. // where := "PlantNr = ?"
  284. //
  285. // session := impl.session.Table(meta.WeekModelLst.TableName)
  286. // if predicates != nil {
  287. // for _, predicate := range predicates {
  288. // where += predicate.Build()
  289. // parameters = append(parameters, predicate.Values...)
  290. // }
  291. // session = session.Where(where, parameters...)
  292. // } else {
  293. // session = session.Where(where, parameters...)
  294. // }
  295. //
  296. // condition := fmt.Sprintf("%s.PlantNr = %s.PlantNr and %s.%s = %s.%s",
  297. // meta.WeekModelLst.TableName,
  298. // meta.DayModel.TableName,
  299. // meta.WeekModelLst.TableName,
  300. // meta.WeekModelLst_DayModelNr.ColumnName,
  301. // meta.DayModel.TableName,
  302. // meta.WeekModelLst_DayModelNr.ColumnName)
  303. // session.Join("LEFT", meta.DayModel.TableName, condition)
  304. // session = session.OrderBy("PlantNr")
  305. // if orderByFields != nil {
  306. // for _, field := range orderByFields {
  307. // session = session.OrderBy(field.ColumnName)
  308. // }
  309. // }
  310. // data := make([]model.WeekModelLstAndDay, 0, 10)
  311. // err := session.Find(&data)
  312. // if err != nil {
  313. // return nil, grmi.NewDataBaseError(err)
  314. // }
  315. // return data, nil
  316. //}
  317. /******************************************************************************
  318. *
  319. * @Reference LAPP_GAAS_GFrame_BACKEND/dao/base/WeekModelLstDAO.SelectJoinDayModel
  320. *
  321. ******************************************************************************/
  322. func (impl *WeekModelLstDAOImplement) SelectJoinDayModel(weekModelNr int) ([]model.WeekModelLstAndDay, error) {
  323. //parameters := []interface{}{impl.plantNr}
  324. //where := "PlantNr = ?"
  325. session := impl.session.Table(meta.WeekModelLst.TableName)
  326. //if predicates != nil {
  327. // for _, predicate := range predicates {
  328. // where += predicate.Build()
  329. // parameters = append(parameters, predicate.Values...)
  330. // }
  331. // session = session.Where(where, parameters...)
  332. //} else {
  333. // session = session.Where(where, parameters...)
  334. //}
  335. session.Where("WeekModelLst.PlantNr = ? and WeekModelLst.WeekModelNr = ?", impl.plantNr, weekModelNr)
  336. condition := fmt.Sprintf("%s.PlantNr = %s.PlantNr and %s = %s",
  337. meta.WeekModelLst.TableName,
  338. meta.DayModel.TableName,
  339. meta.WeekModelLst_DayModelNr.ColumnName,
  340. meta.DayModel_DayModelNr.ColumnName)
  341. session.Join("LEFT", meta.DayModel.TableName, condition)
  342. session = session.OrderBy("WeekModelLst.PlantNr")
  343. //if orderByFields != nil {
  344. // for _, field := range orderByFields {
  345. // session = session.OrderBy(field.ColumnName)
  346. // }
  347. //}
  348. data := make([]model.WeekModelLstAndDay, 0, 10)
  349. err := session.Find(&data)
  350. if err != nil {
  351. return nil, grmi.NewDataBaseError(err)
  352. }
  353. return data, nil
  354. }