work_site_quality_accept_item.go 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. package models
  2. import (
  3. "errors"
  4. "fmt"
  5. "zhiyuan/pkg/db"
  6. "github.com/gin-gonic/gin"
  7. )
  8. type WorkSiteQualityAcceptItem struct {
  9. ID int64 `json:"id" prop:"add:false"`
  10. SiteNodeId int64 `json:"site_node_id" type:"int" prop:"add" search:"="`
  11. RequireId int64 `json:"require_id" type:"int" prop:"add" search:"="`
  12. ItemId int64 `json:"item_id" type:"int" prop:"add:false" search:"="`
  13. Pictures string `json:"pictures" label:"图片列表" type:"string"`
  14. Mark string `json:"mark" label:"备注" type:"string"`
  15. State int64 `json:"state" label:"状态" type:"int" prop:"add" default:"0" search:"="`
  16. AdminId int64 `json:"admin_id" label:"质检人" type:"int" prop:"add:false"`
  17. DeletedAt int64 `json:"deleted_at" prop:"add:false select:false"`
  18. CreatedAt int64 `json:"created_at" prop:"add:false"`
  19. UpdatedAt int64 `json:"updated_at" prop:"add:false"`
  20. Content string `json:"content" label:"内容" prop:"add:false select:item.content"`
  21. Photograph string `json:"photograph" label:"拍照标准" prop:"add:false select:item.photograph"`
  22. Days int64 `json:"days" label:"整改时间" prop:"add:false select:item.quality_days"`
  23. AdminName string `json:"admin_name" prop:"select:admin.username"`
  24. AdminPhone string `json:"admin_phone" prop:"select:admin.phone"`
  25. AdminHeadImgUrl string `json:"admin_headimgurl" prop:"select:admin.headimgurl"`
  26. db.BaseModel
  27. }
  28. func (WorkSiteQualityAcceptItem) TableName() string {
  29. return "zy_work_site_quality_accept_item"
  30. }
  31. func (WorkSiteQualityAcceptItem) ListPrivilege(c *gin.Context, data map[string]interface{}, s *db.Select) bool {
  32. return true
  33. }
  34. func (WorkSiteQualityAcceptItem) OnePrivilege(c *gin.Context, id int64) bool {
  35. return true
  36. }
  37. func (WorkSiteQualityAcceptItem) AddPrivilege(c *gin.Context, data map[string]interface{}, post map[string]interface{}) error {
  38. var item WorkSiteQualityAcceptItem
  39. db.GetModel(map[string]interface{}{
  40. "site_node_id": data["site_node_id"].(int64),
  41. "require_id": data["require_id"].(int64),
  42. }, &item)
  43. if item.ID != 0 {
  44. return errors.New("没有权限")
  45. }
  46. data["admin_id"] = c.GetInt("adminID")
  47. return nil
  48. }
  49. func (model WorkSiteQualityAcceptItem) LeftJoin(data map[string]interface{}, s *db.Select) []db.JoinModel {
  50. return []db.JoinModel{
  51. {
  52. Model: WorkProcessRequire{},
  53. As: "item",
  54. On: []string{
  55. "`item`.`id` = " + model.TableName() + ".`require_id`",
  56. },
  57. },
  58. {
  59. Model: Admin{},
  60. As: "admin",
  61. On: []string{
  62. "`admin`.`id` = " + model.TableName() + ".`admin_id`",
  63. },
  64. },
  65. }
  66. }
  67. func (WorkSiteQualityAcceptItem) Page() bool {
  68. return false
  69. }
  70. func (WorkSiteQualityAcceptItem) Count() bool {
  71. return true
  72. }
  73. type WorkSiteQualityAcceptItemModel struct {
  74. WorkQualityAcceptItem
  75. SiteItemID int64 `json:"site_item_id" prop:"select:siteitem.id"`
  76. Pictures string `json:"pictures" prop:"select:siteitem.pictures"`
  77. Mark string `json:"mark" prop:"select:siteitem.mark"`
  78. ItemState int64 `json:"item_state" prop:"select:siteitem.state"`
  79. AdminId int64 `json:"admin_id" prop:"select:siteitem.admin_id"`
  80. Updated int64 `json:"updated" prop:"select:siteitem.updated_at"`
  81. }
  82. func (model WorkSiteQualityAcceptItemModel) LeftJoin(data map[string]interface{}, s *db.Select) []db.JoinModel {
  83. return []db.JoinModel{
  84. {
  85. Model: WorkSiteQualityAcceptItem{},
  86. As: "siteitem",
  87. On: []string{
  88. "`siteitem`.`item_id` = " + model.TableName() + ".`id`",
  89. fmt.Sprintf("`siteitem`.`site_node_id` = %s", s.Param(data["site_node_id"])),
  90. },
  91. },
  92. }
  93. }
  94. type MyWorkSiteQualityAcceptItem struct {
  95. LimitTime int64 `json:"limit_time" prop:"select:zy_work_site_quality_accept_item.created_at+item.quality_days*86400"`
  96. SiteNodeId int `json:"site_node_id" prop:"select:worksitenode.id"`
  97. SiteId int `json:"site_id" prop:"select:worksite.id"`
  98. NodeName string `json:"node_name" prop:"select:worksitenode.name"`
  99. NodeStartTime int `json:"node_starttime" prop:"select:worksitenode.starttime"`
  100. NodeEndTime int `json:"node_endtime" prop:"select:worksitenode.endtime"`
  101. NodeState int `json:"node_state" prop:"select:worksitenode.state"`
  102. NodeColor string `json:"node_color" prop:"select:worknode.color"`
  103. NodeLogo string `json:"node_logo" prop:"select:worknode.logo"`
  104. Username string `json:"username" prop:"select:worksite.username"`
  105. Phone string `json:"phone" prop:"select:worksite.phone"`
  106. Village string `json:"village" prop:"select:worksite.village"`
  107. Address string `json:"address" prop:"select:worksite.address"`
  108. RoomNo string `json:"room_no" prop:"select:worksite.room_no"`
  109. SiteStarttime string `json:"site_starttime" prop:"select:worksite.starttime"`
  110. SiteEndtime string `json:"site_endtime" prop:"select:worksite.endtime"`
  111. SiteState string `json:"site_state" prop:"select:worksite.state"`
  112. WorkSiteQualityAcceptItem
  113. }
  114. func (MyWorkSiteQualityAcceptItem) Page() bool {
  115. return true
  116. }
  117. func (model MyWorkSiteQualityAcceptItem) LeftJoin(data map[string]interface{}, s *db.Select) []db.JoinModel {
  118. return append(model.WorkSiteQualityAcceptItem.LeftJoin(data, s), db.JoinModel{
  119. Model: WorkSiteNode{},
  120. As: "worksitenode",
  121. On: []string{"`worksitenode`.`id` = " + model.TableName() + ".`site_node_id`"},
  122. }, db.JoinModel{
  123. Model: WorkSite{},
  124. As: "worksite",
  125. On: []string{"`worksite`.`id` = `worksitenode`.`site_id`"},
  126. }, db.JoinModel{
  127. Model: WorkNode{},
  128. As: "worknode",
  129. On: []string{"`worknode`.`id` = `worksitenode`.`node_id`"},
  130. })
  131. }