package work import ( "zhiyuan/pkg/app" "zhiyuan/pkg/utils" "zhiyuan/services/form" "zhiyuan/services/work/worksitedesign" "github.com/gin-gonic/gin" ) func WorkSiteDesignList(c *gin.Context) { page := app.HandlePageNums(c) where := map[string]string{ "where": "`zy_work_site_design`.`id`>0 AND `zy_work_site_design`.`deleted_at`=0", "_order_by": "`zy_work_site_design`.`id` desc", } if page.PageSize != 0 { where["_page_size"] = utils.ToStr(page.PageSize) where["_page_num"] = utils.ToStr(page.PageNum) } param := make(map[string]interface{}) site_id := utils.ToInt(c.Query("site_id")) if site_id != 0 { where["where"] = where["where"] + " AND `zy_work_site_design`.`site_id`={{site_id}}" param["site_id"] = site_id } type_id := utils.ToInt(c.Query("type_id")) if type_id != 0 { where["where"] = where["where"] + " AND `zy_work_site_design`.`type_id`={{type_id}}" param["type_id"] = type_id } designer_id := utils.ToInt(c.Query("designer_id")) if designer_id != 0 { where["where"] = where["where"] + " AND `zy_work_site_design`.`designer_id`={{designer_id}}" param["designer_id"] = designer_id } total, err := worksitedesign.CountRaw(where["where"], param) if err != nil { app.Error(c, err.Error()) return } type WorkSiteDesignList struct { ID int `json:"id"` SiteId int `json:"site_id"` NodeId int `json:"node_id"` Name string `json:"name"` WorkerId int `json:"worker_id"` StartTime int `json:"starttime"` EndTime int `json:"endtime"` ProcessIds string `json:"process_ids"` Mark string `json:"mark"` State int `json:"state"` CreatedAt int `json:"created_at"` UpdatedAt int `json:"updated_at"` TypeName string `json:"type_name"` DesignerName string `json:"designer_name"` DesignerPhone string `json:"designer_phone"` } workSiteDesignList := make([]WorkSiteDesignList, 0) if err = worksitedesign.GetWorkSiteDesignsRaw(where, param, &workSiteDesignList); err != nil { app.Error(c, err.Error()) return } data := gin.H{ "list": workSiteDesignList, "total": total, "limit": page.PageSize, } app.Success(c, data) } func WorkSiteDesignInfo(c *gin.Context) { id := utils.StrTo(c.Param("id")).MustInt() if id <= 0 { app.ErrorMsg(c, "department id must be a number", nil) return } type WorkSiteDesignInfo struct { ID int `json:"id"` SiteId int `json:"site_id"` NodeId int `json:"node_id"` Name string `json:"name"` WorkerId int `json:"worker_id"` StartTime int `json:"starttime"` EndTime int `json:"endtime"` ProcessIds string `json:"process_ids"` Mark string `json:"mark"` State int `json:"state"` CreatedAt int `json:"created_at"` UpdatedAt int `json:"updated_at"` TypeName string `json:"type_name"` DesignerName string `json:"designer_name"` DesignerPhone string `json:"designer_phone"` } var workSiteDesignInfo WorkSiteDesignInfo err := worksitedesign.GetWorkSiteDesignByID(id, &workSiteDesignInfo) if err != nil { app.Error(c, err.Error()) return } app.Success(c, workSiteDesignInfo) } func WorkSiteDesignAdd(c *gin.Context) { var addForm form.WorkSiteDesignAdd if app.Bind(c, &addForm) != nil { return } id, err := worksitedesign.Add(addForm, c.GetInt("adminID")) if err != nil { app.Error(c, err.Error()) return } app.Success(c, gin.H{"id": id}) } func WorkSiteDesignEdit(c *gin.Context) { id := utils.ToInt(c.Param("id")) if id <= 0 { app.ErrorMsg(c, "id must be a number", nil) return } var editForm form.WorkSiteDesignEdit if app.Bind(c, &editForm) != nil { return } err := worksitedesign.EditByID(editForm, id, c.GetInt("adminID")) if err != nil { app.ErrorMsg(c, err.Error(), nil) return } app.Success(c, nil) } func WorkSiteDesignDel(c *gin.Context) { id := utils.ToInt(c.Param("id")) if id <= 0 { app.ErrorMsg(c, "id must be a number", nil) return } err := worksitedesign.DeleteByID(id, c.GetInt("adminID")) if err != nil { app.Error(c, err.Error()) return } app.Success(c, nil) }