|
|
- 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)
- }
|