diff --git a/web/controllers/wf_approvalrequest_controller.go b/web/controllers/wf_approvalrequest_controller.go index 28fd2a5..09d8a87 100644 --- a/web/controllers/wf_approvalrequest_controller.go +++ b/web/controllers/wf_approvalrequest_controller.go @@ -2,12 +2,14 @@ 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" ) @@ -42,6 +44,12 @@ func GetWfApprovalrequestList(ctx iris.Context) { } 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 { @@ -116,6 +124,8 @@ func InsertWfApprovalrequest(ctx iris.Context) { 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) @@ -184,6 +194,8 @@ func UpdateWfApprovalrequest(ctx iris.Context) { 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) @@ -453,6 +465,8 @@ func InsertWfApprovalrequestDetail(ctx iris.Context) { 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) @@ -520,6 +534,8 @@ func UpdateWfApprovalrequestDetail(ctx iris.Context) { 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) diff --git a/web/models/wf_approvalrequest.go b/web/models/wf_approvalrequest.go index 960d3e0..a82310c 100644 --- a/web/models/wf_approvalrequest.go +++ b/web/models/wf_approvalrequest.go @@ -31,6 +31,9 @@ type WfApprovalrequest struct { Lastmodif string `json:"lastmodif" xorm:"default 'NULL' VARCHAR(14)"` Lastuser string `json:"lastuser" xorm:"default 'NULL' VARCHAR(20)"` Credatuz string `json:"credatuz" xorm:"default 'NULL' VARCHAR(14)"` + Reqtype int `json:"reqtype" xorm:"INT(2)"` + Purpose string `json:"purpose" xorm:"default 'NULL' VARCHAR(255)"` + ConflictPicpath string `json:"wf_approvalrequest_conflict-picpath" xorm:"-"` Valst []WfApprovalrequestSteplst `json:"valst" xorm:"-"` Detail []WfApprovalrequestDetail `json:"detail" xorm:"-"` } @@ -82,6 +85,8 @@ func (t *WfApprovalrequest) Add() error { Lastmodif: t.Lastmodif, Lastuser: t.Lastuser, Credatuz: t.Credatuz, + Reqtype: t.Reqtype, + Purpose: t.Purpose, } _, err = session.Table("wf_approvalrequest").Insert(u) fmt.Println("affect=", u.Approvalrequestid) @@ -190,6 +195,10 @@ func (t *WfApprovalrequest) GetPage(pageSize int, pageIndex int) ([]WfApprovalre e := db.MasterEngine() query := e.Table("wf_approvalrequest").Where("1=1") table := e.Table("wf_approvalrequest").Where("1=1") + if t.Reqtype == 1 { + query = query.And("reqtype = 1") + table = table.And("reqtype = 1") + } if !utils.ValueIsEmpty(t.Requestinfo) { descr := "%" + t.Requestinfo + "%" query = query.And("descr like ?", descr) @@ -206,6 +215,7 @@ func (t *WfApprovalrequest) GetPage(pageSize int, pageIndex int) ([]WfApprovalre Offset := (pageIndex - 1) * pageSize err := query.Limit(pageSize, Offset).Desc("credatuz").Find(&data) for k, v := range data { + data[k].ConflictPicpath = v.Picpath //查询对应的子项 sdata := make([]WfApprovalrequestDetail, 0) err = e.Table("wf_approvalrequest_detail").Where("approvalrequestid = ?", v.Approvalrequestid).Find(&sdata) diff --git a/web/models/wf_approvalrequest_detail.go b/web/models/wf_approvalrequest_detail.go index 22ba15b..a9f0457 100644 --- a/web/models/wf_approvalrequest_detail.go +++ b/web/models/wf_approvalrequest_detail.go @@ -25,6 +25,9 @@ type WfApprovalrequestDetail struct { Lastmodif string `json:"lastmodif" xorm:"default 'NULL' VARCHAR(14)"` Lastuser string `json:"lastuser" xorm:"default 'NULL' VARCHAR(20)"` Credatuz string `json:"credatuz" xorm:"default 'NULL' VARCHAR(14)"` + Reqtype int `json:"reqtype" xorm:"INT(2)"` + Purpose string `json:"purpose" xorm:"default 'NULL' VARCHAR(255)"` + Qty int `json:"qty" xorm:"default '0' INT(8)"` } func (t *WfApprovalrequestDetail) TableName() string { @@ -60,6 +63,9 @@ func (t *WfApprovalrequestDetail) Add() error { Lastmodif: utils.TimeFormat(time.Now(), "yyyy-MM-dd HH:mm:ss"), Lastuser: t.Lastuser, Credatuz: utils.TimeFormat(time.Now(), "yyyy-MM-dd HH:mm:ss"), + Reqtype: t.Reqtype, + Purpose: t.Purpose, + Qty: t.Qty, } _, err = session.Table("wf_approvalrequest_detail").Insert(u) if err != nil {