safe_audit_dao.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /*
  2. * @description: 安全巡检数据库操作相关
  3. * @Author: LanJianRong
  4. * @Date: 2020-11-20
  5. * @FilePath: \construction_management\dao\safe_dao.go
  6. */
  7. package dao
  8. import (
  9. "fmt"
  10. "github.com/go-xorm/xorm"
  11. "go.mod/models"
  12. "go.mod/web/viewmodels"
  13. )
  14. //数据库操作引擎
  15. type SafeAuditDao struct {
  16. engine *xorm.Engine
  17. }
  18. //获得一个DAO对象
  19. func NewSafeAuditDao(engine *xorm.Engine) *SafeAuditDao {
  20. return &SafeAuditDao{
  21. engine: engine,
  22. }
  23. }
  24. // id获得数据
  25. func (d *SafeAuditDao) GetListBySid(id int) []models.CmSafeAudit {
  26. dataList := make([]models.CmSafeAudit, 0)
  27. err := d.engine.
  28. Asc("audit_order").
  29. Where("safe_id=?", id).
  30. Find(&dataList)
  31. if err != nil {
  32. return dataList
  33. }
  34. return dataList
  35. }
  36. // id获得某一条审批记录
  37. func (d *SafeAuditDao) GetRecordBySid(id int) viewmodels.SafeListAuditRecord {
  38. // data := &models.CmSafeAudit{}
  39. sql := "select p.name, s.create_time from `cm_safe_audit` as s , `cm_project_account` as p where s.`audit_id` = p.`id` and s.`safe_id` = ? and `times` = (select max(`times`) from `cm_safe_audit` where `safe_id` = ?) order by `audit_order` desc limit 2"
  40. results, err := d.engine.Query(sql, id, id)
  41. if err != nil {
  42. }
  43. record := viewmodels.SafeListAuditRecord{}
  44. // fmt.Println(results)
  45. for i, item := range results {
  46. fmt.Println(item)
  47. if i == 1 {
  48. record.CreateTime = string(item["create_time"])
  49. record.Name = string(item["name"])
  50. }
  51. }
  52. return record
  53. }
  54. // func (d *ProjectAccountDao) GetAudit(id int) {
  55. // auditor := models.CmProjectAccount
  56. // has, err := d.engine.Id(id).Get(auditor)
  57. // return auditor
  58. // }