chance_approve.go 3.2 KB
package protocol

const (
	ApproveTypePass   = 2 //审核通过
	ApproveTypeReject = 3 //审核驳回
	//ApproveReturn =4 //审核撤回
)

type ApproveProcess struct {
	//RelativeId int64 `json:"relativeId"`
	Uid         int64  `json:"uid"`
	Name        string `json:"name"`
	ApproveWay  int    `json:"approveWay"` //审核方式
	Status      int    `json:"status"`     //状态
	Active      int    `json:"active"`
	ApproveTime int64  `json:"approveTime"` //审核时间
}

/*ChanceApprove 机会审核*/
type ChanceApproveRequest struct {
	Uid          int64 `json:"uid"`          //TODO:测试使用 注入审核人
	ChanceId     int64 `json:"chanceId"`     //机会编号
	ProcessId    int64 `json:"processId"`    //审批流程编号
	ReviewStatus int   `json:"reviewStatus"` //protocol.ReviewStatus
	//Suggestion string `json:"suggestion"` //原因/建议
	ApproveData ApproveData `json:"approveData"` //审核数据
}
type ChanceApproveResponse struct {
}

/*ChanceApproveProcess 机会审核流程信息*/
type ChanceApproveProcessRequest struct {
	ChanceId int64 `json:"chanceId"`
}
type ChanceApproveProcessResponse struct {
	ApproveProcess []*ProcessItem `json:"approveProcess"`
	ApproveAccess  *ApproveAccess `json:"approveOperate"`
}

//进程项
type ProcessItem struct {
	Id           int64 `json:"id"`
	ReviewStatus int   `json:"reviewStatus"` //当前步骤审批状态 0-待处理 1- 待审核 2- 退回 3-通过  4-提交 6-撤销
	ApproveWay   int   `json:"approveWay"`   //审批方式 1 会签 2 或签
	ApproveType  int   `json:"approveType"`  //审批类型 1 业务区域负责人 2 指定成员 3 角色
	ApproveTime  int64 `json:"approveTime"`  //审核时间
	//Role   Role  `json:"role"` //角色
	Uid         int64       `json:"uid"`
	Name        string      `json:"name"`
	RoleName    string      `json:"roleName"`
	Role        int         `json:"-"`
	ApproveData ApproveData `json:"ApproveData"` //审核数据
	//ApproveUser UserItem   `json:"approveUser"` //审核人  //状态不是审核中
	ApproveUsers []UserItem `json:"approveUsers"` //审核人员 //1 会签 2 或签 //审核中 1.部门长 2.角色
}

//用户项
type UserItem struct {
	Uid  int64  `json:"uid"`
	Name string `json:"name"`
}

//角色项
type Role struct {
	Id   int    `json:"id"`
	Name string `json:"name"`
}

//审核数据 审核通过
type ApproveData struct {
	PublicData PublicData `json:"publicData"` // 公开数据
	Score      Score      `json:"score"`
}

//公开数据
type PublicData struct {
	PublishStatus  int              `json:"publishStatus"` //公开状态 0未公开、1部门公开、2公司公开
	VisibleObjects []*VisibleObject `json:"visibleObject"`
}

//可见对象
type VisibleObject struct {
	Id   string `json:"id"`
	Name string `json:"name,omitempty"`
	Type int    `json:"type"` //1:部门 2:指定人员
}

//评分
type Score struct {
	BasicScore     float32 `json:"basicScore"`     //基础评分
	ExtraScore     float32 `json:"extraScore"`     //额外分
	ValueScore     float32 `json:"valueScore"`     //价值分
	DiscoveryScore float32 `json:"discoveryScore"` //发现分
}

//审核操作权限
type ApproveAccess struct {
	ProcessId    int64 `json:"processId"`
	AllowApprove int   `json:"allowApprove"`
	AllowReject  int   `json:"allowReject"`
}