package controllers import ( "encoding/json" "fmt" "github.com/kataras/iris" "lapp_-wy/utils" "lapp_-wy/web/middleware/glog" "lapp_-wy/web/middleware/jwts" "lapp_-wy/web/models" "lapp_-wy/web/supports" "regexp" "strings" "time" ) func GetWfApprovalrequestList(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return } //日志 log := new(models.LeitServerLog) log.File = "/controllers/WfApprovalrequest_controller.go" log.Level = "info" log.Function = "GetWfApprovalrequestList" log.Message = "申报查看" log.Operator = user.Userid log.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") log.InsertRecord() var data models.WfApprovalrequest var err error var pageSize = 10 var pageIndex = 1 if size := ctx.URLParam("pageSize"); size != "" { pageSize = utils.ValueToInt(size, 0) } if index := ctx.URLParam("pageIndex"); index != "" { pageIndex = utils.ValueToInt(index, 0) } data.Requestinfo = ctx.URLParam("requestinfo") data.Approvaltype = ctx.URLParam("approvaltype") reqtype, err := ctx.URLParamInt("reqtype") if err != nil { fmt.Println("error reqtype:", err) reqtype = 0 } data.Reqtype = reqtype data.Cid = user.Pid result, count, err := data.GetPage(pageSize, pageIndex) if err != nil { supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) return } res := make(map[string]interface{}) res["data"] = result res["count"] = count res["pageIndex"] = pageIndex res["pageSize"] = pageSize supports.Ok(ctx, supports.OptionSuccess, res) } func GetWfApprovalrequest(ctx iris.Context) { var me models.WfApprovalrequest approvalmodelid, _ := ctx.URLParamInt("approvalmodelid") approvalrequestid, _ := ctx.URLParamInt("approvalrequestid") me.Approvalmodelid = approvalmodelid me.Approvalrequestid = approvalrequestid result, err := me.SelectOne() if err != nil { supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) return } supports.Ok(ctx, supports.OptionSuccess, result) } func InsertWfApprovalrequest(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return } //日志 log := new(models.LeitServerLog) log.File = "/controllers/WfApprovalrequest_controller.go" log.Level = "info" log.Function = "InsertWfApprovalrequest" log.Message = "添加申报" log.Operator = user.Userid log.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") log.InsertRecord() //获取通过iris.WithPostMaxMemory获取的最大上传值大小。 maxSize := ctx.Application().ConfigurationReadOnly().GetPostMaxMemory() err := ctx.Request().ParseMultipartForm(maxSize) if err != nil { ctx.StatusCode(iris.StatusInternalServerError) ctx.WriteString(err.Error()) return } form := ctx.Request().MultipartForm files := form.File["upload[]"] filePaths := "" for _, file := range files { guid := utils.MakeOrderSn(user.Userid) filePath := "public/uploadfile/" + guid + ".jpg" savePath := "web/public/uploadfile/" + guid + ".jpg" savePath, _ = utils.GetCurrentPath(savePath) // 上传文件至指定目录 err := utils.SaveUploadedFile(file, savePath) if err != nil { glog.InfoExtln("图片上传", "err1 is :", err) return } filePaths += filePath + "," } filePaths = strings.Trim(filePaths, ",") data := new(models.WfApprovalrequest) tem := ctx.FormValue("data") reg := regexp.MustCompile(`("qty":)\s?"(\d+)"`) tem = reg.ReplaceAllString(tem, `${1}${2}`) err = json.Unmarshal([]byte(tem), data) if err != nil { supports.Error(ctx, iris.StatusBadRequest, "json解析错误", nil) return } data.Lastuser = user.Userid data.Credatuz = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") data.Lastmodif = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") data.Status = "1" if !utils.ValueIsEmpty(filePaths) { data.Picpath = filePaths } data.Cid = user.Pid err = data.Add() if err != nil { supports.Error(ctx, iris.StatusBadRequest, "添加失败!", nil) return } supports.Ok(ctx, supports.OptionSuccess, data) } func UpdateWfApprovalrequest(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return } //日志 log := new(models.LeitServerLog) log.File = "/controllers/WfApprovalrequest_controller.go" log.Level = "info" log.Function = "UpdateWfApprovalrequest" log.Message = "申报定义" log.Operator = user.Userid log.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") log.InsertRecord() //获取通过iris.WithPostMaxMemory获取的最大上传值大小。 maxSize := ctx.Application().ConfigurationReadOnly().GetPostMaxMemory() err := ctx.Request().ParseMultipartForm(maxSize) if err != nil { ctx.StatusCode(iris.StatusInternalServerError) ctx.WriteString(err.Error()) return } form := ctx.Request().MultipartForm files := form.File["upload[]"] filPaths := "" for _, file := range files { guid := utils.MakeOrderSn(user.Userid) filPath := "public/uploadfile/" + guid + ".jpg" savePath := "web/public/uploadfile/" + guid + ".jpg" savePath, _ = utils.GetCurrentPath(savePath) // 上传文件至指定目录 err := utils.SaveUploadedFile(file, savePath) if err != nil { glog.InfoExtln("图片上传", err) return } filPaths += filPath + "," } filPaths = strings.Trim(filPaths, ",") data := new(models.WfApprovalrequest) tem := ctx.FormValue("data") reg := regexp.MustCompile(`("qty":)\s?"(\d+)"`) tem = reg.ReplaceAllString(tem, `${1}${2}`) err = json.Unmarshal([]byte(tem), data) if err != nil { supports.Error(ctx, iris.StatusBadRequest, "json解析错误", nil) return } if !utils.ValueIsEmpty(filPaths) { data.Picpath = filPaths } data.Lastuser = user.Userid res := data.Update() if !res { supports.Error(ctx, iris.StatusBadRequest, "更新失败", nil) return } supports.Ok(ctx, "修改成功", "") } func DeleteWfApprovalrequest(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return } //日志 log := new(models.LeitServerLog) log.File = "/controllers/WfApprovalrequest_controller.go" log.Level = "info" log.Function = "DeleteWfApprovalrequest" log.Message = "删除申报" log.Operator = user.Userid log.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") log.InsertRecord() me := new(models.WfApprovalrequest) approvalmodelid, _ := ctx.URLParamInt("approvalmodelid") approvalrequestid, _ := ctx.URLParamInt("approvalrequestid") me.Approvalmodelid = approvalmodelid me.Approvalrequestid = approvalrequestid err := me.Del() if !utils.ValueIsEmpty(err) { supports.Error(ctx, iris.StatusBadRequest, "删除失败", nil) return } supports.Ok(ctx, "删除成功", "") } //审批记录 func GetWfApprovalrequestStepList(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return } //日志 log := new(models.LeitServerLog) log.File = "/controllers/WfApprovalrequest_controller.go" log.Level = "info" log.Function = "GetWfApprovalrequestStepList" log.Message = "审批列表查看" log.Operator = user.Userid log.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") log.InsertRecord() var data models.WfApprovalrequestSteplst var err error var pageSize = 10 var pageIndex = 1 if size := ctx.URLParam("pageSize"); size != "" { pageSize = utils.ValueToInt(size, 0) } if index := ctx.URLParam("pageIndex"); index != "" { pageIndex = utils.ValueToInt(index, 0) } data.Lastuser = user.Userid data.Approvestatus, _ = ctx.URLParamInt("approvestatus") approvaltype := ctx.URLParam("approvaltype") data.Status = ctx.URLParam("status") approvetime := ctx.URLParam("approvaltime") data.Cid = user.Pid role := user.Role result, count, err := data.GetPage(pageSize, pageIndex, approvetime, role,approvaltype) if err != nil { supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) return } res := make(map[string]interface{}) res["data"] = result res["count"] = count res["pageIndex"] = pageIndex res["pageSize"] = pageSize supports.Ok(ctx, supports.OptionSuccess, res) } //审批任务 func GetWfApprovalrequestStepData(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return } //日志 log := new(models.LeitServerLog) log.File = "/controllers/WfApprovalrequest_controller.go" log.Level = "info" log.Function = "GetWfApprovalrequestStepData" log.Message = "审批任务列表查看" log.Operator = user.Userid log.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") log.InsertRecord() var data models.WfApprovalrequestSteplst var err error var pageSize = 10 var pageIndex = 1 if size := ctx.URLParam("pageSize"); size != "" { pageSize = utils.ValueToInt(size, 0) } if index := ctx.URLParam("pageIndex"); index != "" { pageIndex = utils.ValueToInt(index, 0) } requesttime := ctx.URLParam("requesttime") data.Lastuser = user.Userid role := user.Role data.Cid = user.Pid reqType, err := ctx.URLParamInt("reqtype") if err != nil { reqType = 0 } result, count, err := data.ListPage(pageSize, pageIndex, requesttime, role, reqType) if err != nil { supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) return } res := make(map[string]interface{}) res["data"] = result res["count"] = count res["pageIndex"] = pageIndex res["pageSize"] = pageSize supports.Ok(ctx, supports.OptionSuccess, res) } func GetWfApprovalrequestStepAuditInfo(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return } //日志 log := new(models.LeitServerLog) log.File = "/controllers/WfApprovalrequest_controller.go" log.Level = "info" log.Function = "UpdateWfApprovalrequest" log.Message = "申报定义" log.Operator = user.Userid log.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") log.InsertRecord() me := new(models.WfApprovalrequestSteplst) approvalmodelid, _ := ctx.URLParamInt("approvalmodelid") approvalrequestid, _ := ctx.URLParamInt("approvalrequestid") approvallevel, _ := ctx.URLParamInt("approvallevel") approvestatus, _ := ctx.URLParamInt("approvalstatus") remark := ctx.URLParam("remark") me.Remark = remark me.Approvalmodelid = approvalmodelid me.Approvalrequestid = approvalrequestid me.Approvallevel = approvallevel me.Approvestatus = approvestatus me.Approver = user.Userid me.Lastuser = user.Userid me.Lastmodif = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") me.Credatuz = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") //查询是否有审核权限 role := new(models.WfApprover) role.Approvalmodelid = approvalmodelid role.Approvallevel = approvallevel role.Approver = user.Userid res := role.AuditInfoRole() if !res { supports.Error(ctx, iris.StatusBadRequest, "没有审核权限", nil) return } err := me.AuditInfo() if err != nil { glog.InfoExt("审核", "info err3 is:", err) supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) return } supports.Ok(ctx, supports.OptionSuccess, "") } func GetWfApprovalrequestStepTreeInfo(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return } //日志 log := new(models.LeitServerLog) log.File = "/controllers/WfApprovalrequest_controller.go" log.Level = "info" log.Function = "GetWfApprovalrequestStepAuditInfo" log.Message = "申报树状图" log.Operator = user.Userid log.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") log.InsertRecord() me := new(models.WfApprovalrequestSteplst) approvalmodelid, _ := ctx.URLParamInt("approvalmodelid") approvalrequestid, _ := ctx.URLParamInt("approvalrequestid") me.Approvalmodelid = approvalmodelid me.Approvalrequestid = approvalrequestid me.Lastuser = user.Userid data, err := me.TreeInfo() if err != nil { supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) return } supports.Ok(ctx, supports.OptionSuccess, data) } //添加子项 func InsertWfApprovalrequestDetail(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return } //日志 log := new(models.LeitServerLog) log.File = "/controllers/WfApprovalrequest_controller.go" log.Level = "info" log.Function = "InsertWfApprovalrequest" log.Message = "添加子项申报" log.Operator = user.Userid log.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") log.InsertRecord() //获取通过iris.WithPostMaxMemory获取的最大上传值大小。 maxSize := ctx.Application().ConfigurationReadOnly().GetPostMaxMemory() err := ctx.Request().ParseMultipartForm(maxSize) if err != nil { ctx.StatusCode(iris.StatusInternalServerError) ctx.WriteString(err.Error()) return } form := ctx.Request().MultipartForm files := form.File["upload[]"] filePaths := "" for _, file := range files { guid := utils.MakeOrderSn(user.Userid) filePath := "public/uploadfile/" + guid + ".jpg" savePath := "web/public/uploadfile/" + guid + ".jpg" savePath, _ = utils.GetCurrentPath(savePath) // 上传文件至指定目录 err := utils.SaveUploadedFile(file, savePath) if err != nil { glog.InfoExtln("图片上传", "err1 is :", err) return } filePaths += filePath + "," } filePaths = strings.Trim(filePaths, ",") data := new(models.WfApprovalrequestDetail) tem := ctx.FormValue("data") reg := regexp.MustCompile(`("qty":)\s?"(\d+)"`) tem = reg.ReplaceAllString(tem, `${1}${2}`) err = json.Unmarshal([]byte(tem), data) if err != nil { supports.Error(ctx, iris.StatusBadRequest, "json解析错误", nil) return } data.Lastuser = user.Userid data.Credatuz = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") data.Lastmodif = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") if !utils.ValueIsEmpty(filePaths) { data.Picpath = filePaths } data.Cid = user.Pid err = data.Add() if err != nil { supports.Error(ctx, iris.StatusBadRequest, "添加失败!", nil) return } supports.Ok(ctx, supports.OptionSuccess, data) } func UpdateWfApprovalrequestDetail(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return } //日志 log := new(models.LeitServerLog) log.File = "/controllers/WfApprovalrequest_controller.go" log.Level = "info" log.Function = "UpdateWfApprovalrequestDetail" log.Message = "申报定义" log.Operator = user.Userid log.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") log.InsertRecord() //获取通过iris.WithPostMaxMemory获取的最大上传值大小。 maxSize := ctx.Application().ConfigurationReadOnly().GetPostMaxMemory() err := ctx.Request().ParseMultipartForm(maxSize) if err != nil { ctx.StatusCode(iris.StatusInternalServerError) ctx.WriteString(err.Error()) return } form := ctx.Request().MultipartForm files := form.File["upload[]"] filPaths := "" for _, file := range files { guid := utils.MakeOrderSn(user.Userid) filPath := "public/uploadfile/" + guid + ".jpg" savePath := "web/public/uploadfile/" + guid + ".jpg" savePath, _ = utils.GetCurrentPath(savePath) // 上传文件至指定目录 err := utils.SaveUploadedFile(file, savePath) if err != nil { glog.InfoExtln("图片上传", err) return } filPaths += filPath + "," } filPaths = strings.Trim(filPaths, ",") data := new(models.WfApprovalrequestDetail) tem := ctx.FormValue("data") reg := regexp.MustCompile(`("qty":)\s?"(\d+)"`) tem = reg.ReplaceAllString(tem, `${1}${2}`) err = json.Unmarshal([]byte(tem), data) if err != nil { supports.Error(ctx, iris.StatusBadRequest, "json解析错误", nil) return } if !utils.ValueIsEmpty(filPaths) { data.Picpath = filPaths } data.Lastuser = user.Userid err = data.Update() if err != nil { supports.Error(ctx, iris.StatusBadRequest, "更新失败", nil) return } supports.Ok(ctx, "修改成功", "") } func DeleteWfApprovalrequestDetail(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return } //日志 log := new(models.LeitServerLog) log.File = "/controllers/WfApprovalrequest_controller.go" log.Level = "info" log.Function = "DeleteWfApprovalrequestDetail" log.Message = "删除申报" log.Operator = user.Userid log.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") log.InsertRecord() me := new(models.WfApprovalrequestDetail) detailid, _ := ctx.URLParamInt("detailid") me.Detailid = detailid err := me.Del() if err != nil { supports.Error(ctx, iris.StatusBadRequest, "删除失败", nil) return } supports.Ok(ctx, "删除成功", "") } func GetWfApprovalrequestDetail(ctx iris.Context) { var me models.WfApprovalrequestDetail detailid, _ := ctx.URLParamInt("detailid") me.Detailid = detailid result, err := me.SelectOne() if err != nil { supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) return } supports.Ok(ctx, supports.OptionSuccess, result) }