package final import ( "fmt" "github.com/gin-gonic/gin" "github.com/gogf/gf/v2/util/gconv" "time" "zhiyuan/models" "zhiyuan/pkg/db" "zhiyuan/pkg/utils" ) type MatPickWorkClient struct { ID int64 `json:"id" prop:"add:false"` SiteId int64 `json:"site_id" label:"工地id" type:"int"` //工地id SiteName int64 `json:"site_name" label:"工地名称" type:"int" prop:"select:site.village" search:"="` //工地名称 Username int64 `json:"username" label:"业主名称" type:"int" prop:"select:site.username" search:"="` //业主名称 Village int64 `json:"village" label:"地址" type:"int" prop:"select:site.village" search:"="` //小区名称 Address int64 `json:"address" label:"地址" type:"int" prop:"select:site.address" search:"="` //地址 RoomNo int64 `json:"room_no" label:"房号" type:"int" prop:"select:site.room_no" search:"="` //room_no PkgId int64 `json:"pkg_id" label:"套餐id" type:"int" prop:"add edit" search:"="` //套餐id PickId int64 `json:"pick_id" label:"套餐节点id" type:"int" prop:"add edit" search:"="` //套餐节点id WorkerId int64 `json:"worker_id" label:"工人名称" type:"int" prop:"" search:"="` //工人id WorkerName int64 `json:"worker_name" label:"工人名称" type:"int" prop:"select:worker.name" search:"="` //工人名称 ManagerId int64 `json:"manager_id" label:"项目经理id" type:"int" prop:"" search:"="` //项目经理id ManagerName int64 `json:"manager_name" label:"项目经理名称" type:"int" prop:"select:manager.username" search:"="` //项目经理名称 ManagerPhone int64 `json:"manager_phone" label:"项目经理电话" type:"int" prop:"select:manager.phone" search:"="` //项目经理电话 RoomType int64 `json:"room_type" label:"一级" type:"int" prop:"" search:"="` WorkerStartAt int64 `json:"worker_start_at" label:"工人开始时间" prop:""` OrderStatus int64 `json:"order_status" type:"int" label:"工人接单状态" prop:"edit" default:"1"` ItemStatus int64 `json:"item_status" type:"int" label:"节点状态" prop:""` //节点状态:0:未完成 1:已完成 Cycle int64 `json:"cycle" type:"int" label:"节点状态" prop:"worker.cycle"` //工期 OrderAcceptanceAt int64 `json:"order_acceptance_at"` //工人接单时间 ManageConfirmAt int64 `json:"manager_confirm_at"` //经理确认时间 WorkerConfirmAt int64 `json:"worker_confirm_at"` //工人确认时间 ManagerStatus int64 `json:"manager_status"` //经理确认状态 WorkerStatus int64 `json:"worker_status"` //工人确认状态 CreatedAt int64 `json:"created_at" prop:"add:false"` UpdatedAt int64 `json:"updated_at" prop:"add:false"` db.BaseModel } func (MatPickWorkClient) TableName() string { return "zy_mat_pick_work" } func (model MatPickWorkClient) ListPrivilege(c *gin.Context, data map[string]interface{}, s *db.Select) bool { s.Where = append(s.Where, fmt.Sprintf("`zy_mat_pick_work`.`worker_id` = %d", c.GetInt("workerID"))) if data["state"] != "" { s.Where = append(s.Where, fmt.Sprintf("`zy_mat_pick_work`.`order_status` = %s", utils.ToStr(data["state"]))) } s.GroupBy = "`zy_mat_pick_work`.`site_id`,`zy_mat_pick_work`.`room_type`" return true } func (MatPickWorkClient) ListAfter(c *gin.Context, data map[string]interface{}, list []map[string]interface{}) []map[string]interface{} { return list } func (MatPickWorkClient) OnePrivilege(c *gin.Context, id int64) bool { return true } func (MatPickWorkClient) AddPrivilege(c *gin.Context, data map[string]interface{}, post map[string]interface{}) error { return nil } func (MatPickWorkClient) EditPrivilege(c *gin.Context, id int64, data map[string]interface{}, post map[string]interface{}) error { err := db.UpdateModels(db.Type(MatPickWork{}), map[string]interface{}{ "site_id": id, "room_type": gconv.Int(post["room_type"]), }, map[string]interface{}{ "order_status": post["status"], "order_acceptance_at": time.Now().Unix(), }) if err != nil { return err } return nil } func (MatPickWorkClient) DelPrivilege(c *gin.Context, id int64) error { return nil } func (MatPickWorkClient) Page() bool { return false } func (MatPickWorkClient) Count() bool { return true } func (model MatPickWorkClient) LeftJoin(data map[string]interface{}, s *db.Select) []db.JoinModel { return []db.JoinModel{ { Model: FinalSite{}, As: "site", On: []string{"`site`.`id` = " + model.TableName() + ".`site_id`"}, }, { Model: models.Worker{}, As: "worker", On: []string{"`worker`.`id` = " + model.TableName() + ".`worker_id`"}, }, { Model: models.Manager{}, As: "manager", On: []string{"`manager`.`id` = " + model.TableName() + ".`manager_id`"}, }, } }