fix 修改我的工作列表展示逻辑

main
耿阳 2 years ago
parent 91e5f49528
commit f47281fdab

@ -2,7 +2,6 @@ package model
import (
"errors"
"fmt"
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
"github.com/fonchain_enterprise/fonchain-approval/pkg/common/page"
msg "github.com/fonchain_enterprise/fonchain-approval/pkg/m"
@ -101,7 +100,7 @@ func StoreApproval(in *approval.CreateRequest) (*Approval, error) {
setting, terr := GetApprovalSettingFromKeyWord(in.Domain, in.Type)
if terr != nil {
return terr
return errors.New("抄送人没有配置")
}
// 保存基本信息
@ -356,9 +355,19 @@ func MyWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) {
modelObj = modelObj.Where(&Approval{Type: in.Type})
}
/**
* ()
/ \
/ \
*/
if in.UserID != 0 {
modelObj = modelObj.Where(DB.Where("JSON_CONTAINS(approval_users,JSON_OBJECT('ID', ?))", in.UserID).
Or(DB.Where("JSON_CONTAINS(copy_users,JSON_OBJECT('ID', ?))", in.UserID)).Where("status != ?", StatusDoing))
modelObj = modelObj.Where(
DB.Where("JSON_CONTAINS(approval_users,JSON_OBJECT('ID', ?))", in.UserID).
Where("status != ?", StatusDoing). //完成,我参与审批
Or(DB.Where("now_user_id", in.UserID).Where("status = ?", StatusDoing)). //进行中,当前审批人是我,
Or(DB.Where("JSON_CONTAINS(copy_users,JSON_OBJECT('ID', ?))", in.UserID).Where("status = ?", StatusOk))) //抄送人(完成抄送)
}
if in.Status != 0 {
@ -442,7 +451,6 @@ func (m *Approval) operateStatus(status uint8, reply string, workFlowId uint64)
} else {
m.NowLevel = workFlow.Level + 1
nextFlow, err := GetWorkFlowByLevel(m.ID, m.NowLevel)
fmt.Println(nextFlow)
if err != nil {
return err
}

@ -33,13 +33,19 @@ var keyWordMap = map[string]string{
"画展审批": "show",
}
func DataExist(domain, keyWork string) bool {
func DataExist(domain, keyWork, title string) bool {
var count int64
DB.Model(&ApprovalType{}).Where(&ApprovalType{Domain: domain, KeyWord: keyWork}).Count(&count)
DB.Model(&ApprovalType{}).Where(&ApprovalType{Domain: domain, Title: title}).Count(&count)
if count != 0 {
return true
}
DB.Model(&ApprovalType{}).Where(&ApprovalType{Domain: domain, KeyWord: keyWork}).Count(&count)
if count != 0 {
return true
}
return false
}

@ -273,9 +273,10 @@ func (a *ApprovalProvider) DetailSetting(ctx context.Context, in *approval.Detai
func (a *ApprovalProvider) CreateType(ctx context.Context, in *approval.CreateTypeRequest) (*approval.TypeResponse, error) {
response := &approval.TypeResponse{}
keyWord := model.KeyWordFromTitle(in.Title)
if model.DataExist(in.Domain, keyWord) == true {
if model.DataExist(in.Domain, keyWord, in.Title) == true {
return response, errors.New(m.ErrorAlreadyExist)
}

Loading…
Cancel
Save