package work import ( "zhiyuan/models" "zhiyuan/pkg/app" "zhiyuan/pkg/utils" "zhiyuan/services/form" "zhiyuan/services/work/workprocess" "github.com/gin-gonic/gin" ) func WorkProcessList(c *gin.Context) { page := app.HandlePageNums(c) where := map[string]string{ "where": "`zy_work_process`.`id`>0 AND `zy_work_process`.`deleted_at`=0", "_order_by": "`zy_work_process`.`order_at` desc", } if page.PageSize != 0 { where["_page_size"] = utils.ToStr(page.PageSize) where["_page_num"] = utils.ToStr(page.PageNum) } param := make(map[string]interface{}) name := c.Query("name") if name != "" { where["where"] = where["where"] + " AND `zy_work_process`.`name` LIKE {{name}}" param["name"] = "%" + name + "%" } node_id := utils.ToInt(c.Query("node_id")) if node_id != 0 { where["where"] = where["where"] + " AND `zy_work_process`.`node_id`={{node_id}}" param["node_id"] = node_id } total, err := workprocess.CountRaw(where["where"], param) if err != nil { app.Error(c, err.Error()) return } workProcessList := make([]models.WorkProcess, 0) if _, err = workprocess.GetWorkProcesssRaw(where, param, &workProcessList); err != nil { app.Error(c, err.Error()) return } data := gin.H{ "list": workProcessList, "total": total, "limit": page.PageSize, } app.Success(c, data) } func WorkProcessAdd(c *gin.Context) { var addForm form.WorkProcessAdd if app.Bind(c, &addForm) != nil { return } id, err := workprocess.Add(addForm) if err != nil { app.Error(c, err.Error()) return } app.Success(c, gin.H{"id": id}) } func WorkProcessEdit(c *gin.Context) { id := utils.ToInt(c.Param("id")) if id <= 0 { app.ErrorMsg(c, "workprocess id must be a number", nil) return } var addForm form.WorkProcessAdd if app.Bind(c, &addForm) != nil { return } err := workprocess.EditByID(addForm, id) if err != nil { app.ErrorMsg(c, err.Error(), nil) return } app.Success(c, nil) } func WorkProcessDel(c *gin.Context) { id := utils.ToInt(c.Param("id")) if id <= 0 { app.ErrorMsg(c, "workprocess id must be a number", nil) return } err := workprocess.DeleteByID(id) if err != nil { app.Error(c, err.Error()) return } app.Success(c, nil) }