chance_approve.go 3.7 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
	ApproveData   ApproveData `json:"approveData"`  //审核数据
	SelfChecks    SelfChecks  `json:"selfChecks"`
	Reason        string      `json:"reason"`        //理由
	Type          int8        `json:"type"`          //机会类型 0:机会池 1:储备池
	ReserveTypeId int         `json:"reserveTypeId"` //储备池类型编号
}
type ChanceApproveResponse struct {
}

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

//审批数据
type Approve struct {
	//Provider    *BaseUserInfo `json:"provider"`
	ProcessId   int64 `json:"processId"`
	CreateTime  int64 `json:"createTime"`
	ApproveTime int64 `json:"approveTime"`
}

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

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

//进程项
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:"-"`
	Reason       string       `json:"reason"` //退回理由
	SelfChecks   SelfChecks   `json:"selfChecks"`
	ApproveData  *ApproveData `json:"approveData"`  //审核数据
	ApproveUsers []UserItem   `json:"approveUsers"` //审核人员 //1 会签 2 或签 //审核中 1.部门长 2.角色
}

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

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

//评分
type Score struct {
	BasicScore            float64 `json:"basicScore"`            //基础评分
	ExtraScore            float64 `json:"extraScore"`            //额外分
	ValueScore            float64 `json:"valueScore"`            //价值分
	DiscoveryScore        float64 `json:"discoveryScore"`        //发现分
	DiscoveryScorePercent int     `json:"discoveryScorePercent"` //发现分-百分比
}