final_mat_pick_work_client.go 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. package final
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "github.com/gogf/gf/v2/util/gconv"
  6. "time"
  7. "zhiyuan/models"
  8. "zhiyuan/pkg/db"
  9. "zhiyuan/pkg/utils"
  10. )
  11. type MatPickWorkClient struct {
  12. ID int64 `json:"id" prop:"add:false"`
  13. SiteId int64 `json:"site_id" label:"工地id" type:"int"` //工地id
  14. SiteName int64 `json:"site_name" label:"工地名称" type:"int" prop:"select:site.village" search:"="` //工地名称
  15. Username int64 `json:"username" label:"业主名称" type:"int" prop:"select:site.username" search:"="` //业主名称
  16. Village int64 `json:"village" label:"地址" type:"int" prop:"select:site.village" search:"="` //小区名称
  17. Address int64 `json:"address" label:"地址" type:"int" prop:"select:site.address" search:"="` //地址
  18. RoomNo int64 `json:"room_no" label:"房号" type:"int" prop:"select:site.room_no" search:"="` //room_no
  19. PkgId int64 `json:"pkg_id" label:"套餐id" type:"int" prop:"add edit" search:"="` //套餐id
  20. PickId int64 `json:"pick_id" label:"套餐节点id" type:"int" prop:"add edit" search:"="` //套餐节点id
  21. WorkerId int64 `json:"worker_id" label:"工人名称" type:"int" prop:"" search:"="` //工人id
  22. WorkerName int64 `json:"worker_name" label:"工人名称" type:"int" prop:"select:worker.name" search:"="` //工人名称
  23. ManagerId int64 `json:"manager_id" label:"项目经理id" type:"int" prop:"" search:"="` //项目经理id
  24. ManagerName int64 `json:"manager_name" label:"项目经理名称" type:"int" prop:"select:manager.username" search:"="` //项目经理名称
  25. ManagerPhone int64 `json:"manager_phone" label:"项目经理电话" type:"int" prop:"select:manager.phone" search:"="` //项目经理电话
  26. RoomType int64 `json:"room_type" label:"一级" type:"int" prop:"" search:"="`
  27. WorkerStartAt int64 `json:"worker_start_at" label:"工人开始时间" prop:""`
  28. OrderStatus int64 `json:"order_status" type:"int" label:"工人接单状态" prop:"edit" default:"1"`
  29. ItemStatus int64 `json:"item_status" type:"int" label:"节点状态" prop:""` //节点状态:0:未完成 1:已完成
  30. Cycle int64 `json:"cycle" type:"int" label:"节点状态" prop:"worker.cycle"` //工期
  31. OrderAcceptanceAt int64 `json:"order_acceptance_at"` //工人接单时间
  32. ManageConfirmAt int64 `json:"manager_confirm_at"` //经理确认时间
  33. WorkerConfirmAt int64 `json:"worker_confirm_at"` //工人确认时间
  34. ManagerStatus int64 `json:"manager_status"` //经理确认状态
  35. WorkerStatus int64 `json:"worker_status"` //工人确认状态
  36. CreatedAt int64 `json:"created_at" prop:"add:false"`
  37. UpdatedAt int64 `json:"updated_at" prop:"add:false"`
  38. db.BaseModel
  39. }
  40. func (MatPickWorkClient) TableName() string {
  41. return "zy_mat_pick_work"
  42. }
  43. func (model MatPickWorkClient) ListPrivilege(c *gin.Context, data map[string]interface{}, s *db.Select) bool {
  44. s.Where = append(s.Where, fmt.Sprintf("`zy_mat_pick_work`.`worker_id` = %d", c.GetInt("workerID")))
  45. if data["state"] != "" {
  46. s.Where = append(s.Where, fmt.Sprintf("`zy_mat_pick_work`.`order_status` = %s", utils.ToStr(data["state"])))
  47. }
  48. s.GroupBy = "`zy_mat_pick_work`.`site_id`,`zy_mat_pick_work`.`room_type`"
  49. return true
  50. }
  51. func (MatPickWorkClient) ListAfter(c *gin.Context, data map[string]interface{}, list []map[string]interface{}) []map[string]interface{} {
  52. return list
  53. }
  54. func (MatPickWorkClient) OnePrivilege(c *gin.Context, id int64) bool {
  55. return true
  56. }
  57. func (MatPickWorkClient) AddPrivilege(c *gin.Context, data map[string]interface{}, post map[string]interface{}) error {
  58. return nil
  59. }
  60. func (MatPickWorkClient) EditPrivilege(c *gin.Context, id int64, data map[string]interface{}, post map[string]interface{}) error {
  61. err := db.UpdateModels(db.Type(MatPickWork{}), map[string]interface{}{
  62. "site_id": id,
  63. "room_type": gconv.Int(post["room_type"]),
  64. }, map[string]interface{}{
  65. "order_status": post["status"],
  66. "order_acceptance_at": time.Now().Unix(),
  67. })
  68. if err != nil {
  69. return err
  70. }
  71. return nil
  72. }
  73. func (MatPickWorkClient) DelPrivilege(c *gin.Context, id int64) error {
  74. return nil
  75. }
  76. func (MatPickWorkClient) Page() bool {
  77. return false
  78. }
  79. func (MatPickWorkClient) Count() bool {
  80. return true
  81. }
  82. func (model MatPickWorkClient) LeftJoin(data map[string]interface{}, s *db.Select) []db.JoinModel {
  83. return []db.JoinModel{
  84. {
  85. Model: FinalSite{},
  86. As: "site",
  87. On: []string{"`site`.`id` = " + model.TableName() + ".`site_id`"},
  88. },
  89. {
  90. Model: models.Worker{},
  91. As: "worker",
  92. On: []string{"`worker`.`id` = " + model.TableName() + ".`worker_id`"},
  93. },
  94. {
  95. Model: models.Manager{},
  96. As: "manager",
  97. On: []string{"`manager`.`id` = " + model.TableName() + ".`manager_id`"},
  98. },
  99. }
  100. }