checkInBook.go 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. /*
  2. * @Author: wfhou
  3. * @Date: 2022-09-03 16:18:47
  4. * @LastEditors: wfhou
  5. * @LastEditTime: 2022-09-03 19:56:22
  6. * @FilePath: \camera_guardd:\project\goProject\src\jujutong\scd\models\bo\checkInBook.go
  7. * @Description:对签入台账信息本身进行的CRUD操作
  8. *
  9. * Copyright (c) 2022 by wfhou/jujutong, All Rights Reserved.
  10. */
  11. package bo
  12. import (
  13. "scd_check_tools/logger"
  14. "scd_check_tools/models/enum"
  15. "scd_check_tools/tools"
  16. "fmt"
  17. "log"
  18. "strconv"
  19. "github.com/astaxie/beego/orm"
  20. )
  21. type checkInBook struct {
  22. Model t_base_checkin_book
  23. DeviceBaseModel
  24. CheckinTypeDefined map[string]string
  25. CheckinSubtypeDefined map[string]string
  26. }
  27. // 签入台账模型
  28. type t_base_checkin_book struct {
  29. Id int64 `orm:pk;auto` // 主键
  30. CREATEDY int `gorm:"CREATED_BY"` // 创建人
  31. CREATEDIME string `gorm:"CREATED_TIME"` // 创建时间
  32. UPDATEDY int `gorm:"UPDATED_BY"` // 更新人
  33. UPDATEDIME string `gorm:"UPDATED_TIME"` // 更新时间
  34. Remark string `gorm:"remark"` // 备注
  35. StationId string `gorm:"station_id"` // 所属变电站
  36. Manufactor string `gorm:"manufactor"` // 集成厂家
  37. Optor string `gorm:"optor"` // 集成人姓名
  38. Linkphone string `gorm:"linkphone"` // 集成人联系方式
  39. DesignUnit string `gorm:"design_unit"` // 设计单位
  40. ManageUnit string `gorm:"manage_unit"` // 项目管理单位
  41. FinishDate string `gorm:"finish_date"` // 项目完成时间
  42. CheckinType string `gorm:"checkin_type"` // 签入类型
  43. CheckinSubtype string `gorm:"checkin_subtype"` // 签入子类型
  44. JobId string `gorm:"job_id"` // 工作内容
  45. }
  46. var CheckinTypeDefined map[string]string
  47. var CheckinSubtypeDefined map[string]string
  48. func init() {
  49. orm.RegisterModel(new(t_base_checkin_book))
  50. }
  51. //初始化获取模型中需要的数据字典代码
  52. func (c *checkInBook) initSysCodeDict() {
  53. }
  54. //签入台账新增
  55. func (c *checkInBook) Insert(field t_base_checkin_book) (err error) {
  56. dblog := new(SystemLog)
  57. dblog.SetUserInfo(c.GetUserInfo())
  58. dblog.Audittype = enum.AuditType_check_inout
  59. dblog.Logtype = enum.LogType_Insert
  60. dblog.Eventtype = enum.OptEventType_Bus
  61. dblog.Eventlevel = enum.OptEventLevel_Hight
  62. o := orm.NewOrm()
  63. userId, err := strconv.Atoi(c.GetUserId())
  64. if err != nil {
  65. logger.Logger.Error(err, fmt.Sprintf("获取用户id失败!"))
  66. dblog.Description = "获取用户id失败!"
  67. dblog.Fail2()
  68. return err
  69. }
  70. c.Model = field
  71. c.Model.CREATEDY = userId
  72. c.Model.UPDATEDY = userId
  73. c.Model.CREATEDIME = tools.NowTime()
  74. c.Model.UPDATEDIME = tools.NowTime()
  75. _, err2 := o.Insert(&c.Model)
  76. if err2 != nil {
  77. logger.Logger.Error(err2, fmt.Sprintf("新增配置签入台账失败:%s", err.Error()))
  78. dblog.Description = fmt.Sprintf("新增配置签入台账失败:%s", err.Error())
  79. dblog.Fail2()
  80. } else {
  81. dblog.Description = fmt.Sprintf("新增配置签入台账成功!")
  82. dblog.Success2()
  83. }
  84. return err2
  85. }
  86. //签入台账修改更新
  87. func (c *checkInBook) update(field t_base_checkin_book) (err error) {
  88. o := orm.NewOrm()
  89. userId, err := strconv.Atoi(c.GetUserId())
  90. if err != nil {
  91. logger.Logger.Error(err)
  92. return err
  93. }
  94. dblog := new(SystemLog)
  95. dblog.SetUserInfo(c.GetUserInfo())
  96. dblog.Audittype = enum.AuditType_check_inout
  97. dblog.Logtype = enum.LogType_Update
  98. dblog.Eventtype = enum.OptEventType_Bus
  99. dblog.Eventlevel = enum.OptEventLevel_Hight
  100. c.Model = field
  101. c.Model.UPDATEDY = userId
  102. c.Model.UPDATEDIME = tools.NowTime()
  103. _, err2 := o.Update(&c.Model)
  104. if err2 != nil {
  105. logger.Logger.Error(err2)
  106. dblog.Description = fmt.Sprintf("修改配置签入台账失败:%s", err.Error())
  107. dblog.Fail2()
  108. } else {
  109. dblog.Description = fmt.Sprintf("修改配置签入台账成功!")
  110. dblog.Success2()
  111. }
  112. return err2
  113. }
  114. //返回所有签入台账记录和总记录数
  115. func (c *checkInBook) list() ([]t_base_checkin_book, int, error) {
  116. o := orm.NewOrm()
  117. qs := o.QueryTable("t_base_checkin_book")
  118. r := []t_base_checkin_book{}
  119. _, err := qs.All(&r)
  120. if err != nil {
  121. log.Println(err)
  122. }
  123. return r, len(r), err
  124. }
  125. //查询单行台账记录
  126. func (c *checkInBook) get(id int64) (t_base_checkin_book, error) {
  127. o := orm.NewOrm()
  128. obj := t_base_checkin_book{Id: id}
  129. err := o.Read(&obj)
  130. return obj, err
  131. }
  132. //删除台账记录
  133. func (c *checkInBook) del(id int64) (int64, error) {
  134. o := orm.NewOrm()
  135. num, err := o.Delete(&t_base_checkin_book{Id: id})
  136. if err != nil {
  137. return 0, err
  138. }
  139. return num, err
  140. }