绩效考核
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

679 lines
28 KiB

package qual
import (
"fmt"
"strconv"
"strings"
"time"
"gin_server_admin/api/wechatapp/sendmessage"
"gin_server_admin/commonus"
"gin_server_admin/global"
"gin_server_admin/model/assessmentmodel"
"gin_server_admin/model/common/response"
"github.com/gin-gonic/gin"
)
// 定性审批解析
func (a *ApiGroup) Operation(c *gin.Context) {
isTrue, userCont := commonus.ClientIdentity()
if isTrue != true {
response.Result(1001, isTrue, "您的身份令牌已经失效!请重新登录获取身份令牌!", c)
return
}
founderDepartId, _ := strconv.ParseInt(userCont.Deparment, 10, 64)
var requestData ApprovalParameters
err := c.ShouldBindJSON(&requestData)
if err != nil {
response.Result(101, err, "参数错误!请重新提交!", c)
return
}
if requestData.OrderId == "" {
response.Result(102, err, "参数错误!请重新提交!", c)
return
}
var evalProcessInfo assessmentmodel.EvaluationProcess
evalErr := global.GVA_DB_Performanceappraisal.Where("ep_order_key = ?", requestData.OrderId).First(&evalProcessInfo).Error
if evalErr != nil {
response.Result(103, err, "审批流不存在!请检查您的数据!", c)
return
}
if evalProcessInfo.State == 3 || evalProcessInfo.NextStep <= 0 {
response.Result(104, err, "该流程已结束!不可进行操作!", c)
return
}
if evalProcessInfo.NextContent == "" {
response.Result(105, err, "对不起!您没有权限对此流程进行操作!", c)
return
}
nextReplyUserMap := strings.Split(evalProcessInfo.NextExecutor, ",")
// fmt.Printf("userCont.Key:%v\n", userCont.Key)
if commonus.IsItTrueString(userCont.Key, nextReplyUserMap) == false {
response.Result(106, nextReplyUserMap, "对不起!您没有权限对此流程进行操作!", c)
return
}
//2、获取审批单信息
var scoreFlowInfo assessmentmodel.ScoreFlow
judegFlowErr := global.GVA_DB_Performanceappraisal.Where("`sf_key` = ?", requestData.OrderId).First(&scoreFlowInfo).Error
if judegFlowErr != nil {
response.Result(107, err, "对不起!此审批流程已经关闭!请联系发起人!", c)
return
}
//获取考核项目内容
var programme assessmentmodel.QualitativeEvaluation
judgeProgramme := global.GVA_DB_Performanceappraisal.Where("`qe_id` = ?", scoreFlowInfo.EvaluationPlan).First(&programme).Error
if judgeProgramme != nil {
response.Result(105, programme, "未知考核项目!请检查你的提交是否正确!", c)
return
}
//确定标题
var title string = ""
//一级标题副本内容
var desc string = ""
detailedTargetCont, detailedTargetErr := commonus.GetDetailedTargetInfo(programme.DetailedTarget) //获取指标细则
if detailedTargetErr == true {
tarInf, tarErr := commonus.GetTargetInfo(detailedTargetCont.ParentId) //获取指标信息
if tarErr == true {
title = tarInf.Title //一级标题,建议不超过36个字
desc = detailedTargetCont.Title //一级标题辅助信息,建议不超过44个字
} else {
title = detailedTargetCont.Title //一级标题,建议不超过36个字
}
} else {
tarInf, tarErr := commonus.GetTargetInfo(programme.Target) //获取指标信息
if tarErr == true {
title = tarInf.Title //一级标题,建议不超过36个字
} else {
title = strconv.FormatInt(programme.DetailedTarget, 10) //一级标题,建议不超过36个字
}
}
var quoteAreaTitle string //引用文献标题
orderIdInt, _ := strconv.ParseInt(requestData.OrderId, 10, 64) //流程Key
userKeyInt, _ := strconv.ParseInt(userCont.Key, 10, 64) //使用人KEY
sendScVal := float64(scoreFlowInfo.Score) / 100
scoreFloat64ToStringsss := strconv.FormatFloat(sendScVal, 'f', -1, 64)
outMap := commonus.MapOut()
if requestData.YesOrNo != 1 {
//驳回
opinionCont := "不同意"
if requestData.Content != "" {
opinionCont = requestData.Content
}
// //执行原因
var reason string
switch evalProcessInfo.NextStep {
case 0:
response.Result(104, err, "该流程已结束!不可进行操作!", c)
return
case 1:
//申请
case 2:
//申请人部门负责人
commonus.StepAddData(orderIdInt, 16182159043990656, 1, 2, 1, 3, 2, userCont.Key) //审批步骤处理
commonus.WriteReplyLog(orderIdInt, scoreFlowInfo.DutyDepartment, founderDepartId, userKeyInt, 3, commonus.GetSetpName(2), opinionCont) //写入审批流
//修改定性审批流状态
eiteScoreFlow := commonus.MapOut()
eiteScoreFlow["sf_eite_time"] = time.Now().Unix()
eiteScoreFlow["sf_reply"] = 3
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.ScoreFlow{}).Where("`sf_key` = ?", requestData.OrderId).Updates(&eiteScoreFlow)
evalProcSaveData := commonus.MapOut()
evalProcSaveData["ep_state"] = 3
evalProcSaveData["ep_time"] = time.Now().Unix()
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.EvaluationProcess{}).Where("`ep_order_key` = ?", orderIdInt).Updates(&evalProcSaveData)
reason = fmt.Sprintf("审批意见:%v\n", opinionCont)
//获取发起人信息
var sendUser string = ""
var sendUserAry []string
faQiRen, _ := commonus.GetNewHrPeopleInfo(map[string]interface{}{"`key`": scoreFlowInfo.EvaluationUser}, "`wechat`", "`work_wechat`")
if faQiRen.Wechat != "" {
sendUser = faQiRen.Wechat
}
if faQiRen.WorkWechat != "" {
sendUser = faQiRen.WorkWechat
}
if sendUser != "" {
sendUserAry = append(sendUserAry, sendUser)
}
sendUserList := strings.Join(sendUserAry, "|")
registerNumber := commonus.GetFileNumberEs()
if scoreFlowInfo.PlusReduceScore != 1 {
quoteAreaTitle = fmt.Sprintf("考核减分:%v\n", scoreFloat64ToStringsss)
} else {
quoteAreaTitle = fmt.Sprintf("考核加分:%v\n", scoreFloat64ToStringsss)
}
twoLevelTitle := "审批信息:"
twoLevelKeyName := ""
execDerpat, execDerpatErr := commonus.GetNewOrgCont(founderDepartId)
if execDerpatErr == nil {
twoLevelKeyName = execDerpat.Name
}
var twoLevelKeyValue string = ""
var twoLevelUserId string = ""
//获取操作人
if userCont.Wechat != "" {
userWechatErr, userWechat := commonus.GetUesrContForWechatID(userCont.Wechat)
if userWechatErr == true {
twoLevelKeyValue = userWechat.Name
twoLevelUserId = userCont.Wechat
}
}
cardJumpUrl := fmt.Sprintf("http://new.hxgk.group/#/approvalList?id=%v&num=%v", orderIdInt, strconv.FormatInt(registerNumber, 10))
jumpUrl := fmt.Sprintf("http://new.hxgk.group/#/approvalList?id=%v&num=%v", orderIdInt, strconv.FormatInt(registerNumber, 10))
jumpUrlTitle := "查看详情"
sourceDesc := "驳回"
var sendTextMsg sendmessage.TextNoticeTemplateMedium
callbakcMsg, isTrueCall, callBackCont := sendTextMsg.SendMsgTextShare(sendUserList, strconv.FormatInt(registerNumber, 10), title, desc, quoteAreaTitle, reason, twoLevelTitle, twoLevelKeyName, twoLevelKeyValue, twoLevelUserId, cardJumpUrl, jumpUrl, jumpUrlTitle, sourceDesc)
outMap["callbakcMsg"] = string(callbakcMsg)
outMap["isTrueCall"] = isTrueCall
outMap["callBackCont"] = callBackCont
outMap["setval"] = 2
case 3:
//接受考核部门内勤(责任划分)
case 4:
//接受考核部门负责人(责任划分确认)
//申请人部门负责人
commonus.StepAddData(orderIdInt, 16182159043990656, 3, 3, 1, 3, 4, userCont.Key)
commonus.WriteReplyLog(orderIdInt, scoreFlowInfo.DutyDepartment, founderDepartId, userKeyInt, 3, commonus.GetSetpName(3), opinionCont) //写入审批流
//修改定性审批流状态
eiteScoreFlow := commonus.MapOut()
eiteScoreFlow["sf_eite_time"] = time.Now().Unix()
eiteScoreFlow["sf_reply"] = 3
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.ScoreFlow{}).Where("`sf_key` = ?", requestData.OrderId).Updates(&eiteScoreFlow)
evalProcSaveData := commonus.MapOut()
evalProcSaveData["ep_state"] = 3
evalProcSaveData["ep_time"] = time.Now().Unix()
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.EvaluationProcess{}).Where("`ep_order_key` = ?", orderIdInt).Updates(&evalProcSaveData)
//判断是加分还是减分
if scoreFlowInfo.PlusReduceScore != 1 {
quoteAreaTitle = fmt.Sprintf("考核减分:%v\n", scoreFloat64ToStringsss)
} else {
quoteAreaTitle = fmt.Sprintf("考核加分:%v\n", scoreFloat64ToStringsss)
}
//获取责任划分
teamBility, teamErr := commonus.GetDivisionOfResponsibility(requestData.OrderId, 2)
if teamErr == nil {
for _, team_v := range teamBility {
if team_v["type"] != 3 {
reason = fmt.Sprintf("%v%v:%v 占比:%v%\n", reason, team_v["typename"], team_v["username"], team_v["weight"])
} else {
reason = fmt.Sprintf("%v%v:%v 占比:%v%\n", reason, team_v["typename"], team_v["temaname"], team_v["weight"])
}
}
}
reason = fmt.Sprintf("驳回原因:%v\n", opinionCont)
sendUserIsTrue, sendUserList := commonus.GetSendMsgUser(16118387069540343, scoreFlowInfo.DutyDepartment) //获取对应部门内勤
if sendUserIsTrue != true {
response.Result(0, sendUserList, "未指定相关部门处理人!未能向相关人员发送考核项目!", c)
return
}
//生成唯一编号
registerNumber := commonus.GetFileNumberEs()
var registerCont assessmentmodel.Register
registerCont.Number = registerNumber
registerCont.State = 1
registerCont.Time = time.Now().Unix()
registerCont.AddCont()
cardJumpUrl := fmt.Sprintf("http://new.hxgk.group/#/approvalList?id=%v", orderIdInt)
jumpUrl := fmt.Sprintf("http://new.hxgk.group/#/responsible?id=%v&num=%v", orderIdInt, strconv.FormatInt(registerNumber, 10))
jumpUrlTitle := "请前往处理"
sourceDesc := "驳回"
twoLevelTitle := "审批信息:"
twoLevelKeyName := ""
execDerpat, execDerpatErr := commonus.GetNewOrgCont(founderDepartId)
if execDerpatErr == nil {
twoLevelKeyName = execDerpat.Name
}
var twoLevelKeyValue string = ""
var twoLevelUserId string = ""
//获取操作人
if userCont.Wechat != "" {
userWechatErr, userWechat := commonus.GetUesrContForWechatID(userCont.Wechat)
if userWechatErr == true {
twoLevelKeyValue = userWechat.Name
twoLevelUserId = userCont.Wechat
}
}
var sendTextMsg sendmessage.TextNoticeTemplateMedium
callbakcMsg, isTrueCall, callBackCont := sendTextMsg.SendMsgTextShare(sendUserList, strconv.FormatInt(registerNumber, 10), title, desc, quoteAreaTitle, reason, twoLevelTitle, twoLevelKeyName, twoLevelKeyValue, twoLevelUserId, cardJumpUrl, jumpUrl, jumpUrlTitle, sourceDesc)
outMap["callbakcMsg"] = string(callbakcMsg)
outMap["isTrueCall"] = isTrueCall
outMap["callBackCont"] = callBackCont
outMap["setval"] = 2
case 5:
//主要责任人整改(提交)
case 6:
//接受考核部门负责人(整改确认)
commonus.StepAddData(orderIdInt, 16182159043990656, 5, 5, 1, 3, 6, userCont.Key)
commonus.WriteReplyLog(orderIdInt, scoreFlowInfo.DutyDepartment, founderDepartId, userKeyInt, 3, commonus.GetSetpName(5), opinionCont) //写入审批流
//修改定性审批流状态
eiteScoreFlow := commonus.MapOut()
eiteScoreFlow["sf_eite_time"] = time.Now().Unix()
eiteScoreFlow["sf_reply"] = 3
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.ScoreFlow{}).Where("`sf_key` = ?", requestData.OrderId).Updates(&eiteScoreFlow)
evalProcSaveData := commonus.MapOut()
evalProcSaveData["ep_state"] = 3
evalProcSaveData["ep_time"] = time.Now().Unix()
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.EvaluationProcess{}).Where("`ep_order_key` = ?", orderIdInt).Updates(&evalProcSaveData)
//获取主要责任人
var personLiable []string
teamBility, teamErr := commonus.GetDivisionOfResponsibility(requestData.OrderId, 1)
if teamErr == nil {
for _, tm_v := range teamBility {
if tm_v["type"] == 1 {
personLiable = append(personLiable, tm_v["wechatid"].(string))
}
}
}
if len(personLiable) < 1 {
response.Result(0, personLiable, "未指定相关部门处理人!未能向相关人员发送考核项目!", c)
return
}
sendUserList := strings.Join(personLiable, "|")
//判断是加分还是减分
if scoreFlowInfo.PlusReduceScore != 1 {
quoteAreaTitle = fmt.Sprintf("考核减分:%v\n", scoreFloat64ToStringsss)
} else {
quoteAreaTitle = fmt.Sprintf("考核加分:%v\n", scoreFloat64ToStringsss)
}
reason = fmt.Sprintf("驳回原因:%v\n", opinionCont)
//生成唯一编号
registerNumber := commonus.GetFileNumberEs()
var registerCont assessmentmodel.Register
registerCont.Number = registerNumber
registerCont.State = 1
registerCont.Time = time.Now().Unix()
registerCont.AddCont()
cardJumpUrl := fmt.Sprintf("http://new.hxgk.group/#/approvalList?id=%v", orderIdInt)
jumpUrl := fmt.Sprintf("http://new.hxgk.group/#/rectification?id=%v&num=%v", orderIdInt, strconv.FormatInt(registerNumber, 10))
jumpUrlTitle := "请前往处理"
sourceDesc := "驳回"
twoLevelTitle := "审批信息:"
twoLevelKeyName := ""
execDerpat, execDerpatErr := commonus.GetNewOrgCont(founderDepartId)
if execDerpatErr == nil {
twoLevelKeyName = execDerpat.Name
}
var twoLevelKeyValue string = ""
var twoLevelUserId string = ""
//获取操作人
if userCont.Wechat != "" {
userWechatErr, userWechat := commonus.GetUesrContForWechatID(userCont.Wechat)
if userWechatErr == true {
twoLevelKeyValue = userWechat.Name
twoLevelUserId = userCont.Wechat
}
}
var sendTextMsg sendmessage.TextNoticeTemplateMedium
callbakcMsg, isTrueCall, callBackCont := sendTextMsg.SendMsgTextShare(sendUserList, strconv.FormatInt(registerNumber, 10), title, desc, quoteAreaTitle, reason, twoLevelTitle, twoLevelKeyName, twoLevelKeyValue, twoLevelUserId, cardJumpUrl, jumpUrl, jumpUrlTitle, sourceDesc)
outMap["callbakcMsg"] = string(callbakcMsg)
outMap["isTrueCall"] = isTrueCall
outMap["callBackCont"] = callBackCont
outMap["setval"] = 2
case 7:
//发起人验收
default:
response.Result(404, err, "未知操作!", c)
return
}
} else {
opinionCont := "同意"
if requestData.Content != "" {
opinionCont = requestData.Content
}
//执行原因
reason := fmt.Sprintf("审批意见:%v\n", opinionCont)
//同意
switch evalProcessInfo.NextStep {
case 0:
response.Result(104, err, "该流程已结束!不可进行操作!", c)
return
case 1:
//申请
case 2:
//申请人部门负责人
//判断是加分还是减分
if scoreFlowInfo.PlusReduceScore == 1 {
//加分
commonus.StepAddData(orderIdInt, 16182159043990656, 0, 2, 1, 2, 2, userCont.Key) //审批步骤处理
commonus.WriteReplyLog(orderIdInt, scoreFlowInfo.DutyDepartment, founderDepartId, userKeyInt, 2, commonus.GetSetpName(2), opinionCont) //写入审批流
//修改定性审批流状态
eiteScoreFlow := commonus.MapOut()
eiteScoreFlow["sf_eite_time"] = time.Now().Unix()
eiteScoreFlow["sf_reply"] = 3
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.ScoreFlow{}).Where("`sf_key` = ?", requestData.OrderId).Updates(&eiteScoreFlow)
} else {
//减分
quoteAreaTitle = fmt.Sprintf("考核减分:%v\n", scoreFloat64ToStringsss)
commonus.StepAddData(orderIdInt, 16182159043990656, 3, 2, 1, 2, 2, userCont.Key) //审批步骤处理
commonus.WriteReplyLog(orderIdInt, scoreFlowInfo.DutyDepartment, founderDepartId, userKeyInt, 1, commonus.GetSetpName(2), opinionCont) //写入审批流
//修改定性审批流状态
eiteScoreFlow := commonus.MapOut()
eiteScoreFlow["sf_eite_time"] = time.Now().Unix()
eiteScoreFlow["sf_reply"] = 2
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.ScoreFlow{}).Where("`sf_key` = ?", requestData.OrderId).Updates(&eiteScoreFlow)
sendUserIsTrue, sendUserList := commonus.GetSendMsgUser(16118387069540343, scoreFlowInfo.DutyDepartment) //获取对应部门内勤
if sendUserIsTrue != true {
response.Result(0, sendUserList, "未指定相关部门处理人!未能向相关人员发送考核项目!", c)
return
}
//将步骤写入 判断该步骤是否已经操作
registerNumber := commonus.GetFileNumberEs()
var registerCont assessmentmodel.Register
registerCont.Number = registerNumber
registerCont.State = 1
registerCont.Time = time.Now().Unix()
registerCont.AddCont()
//审批卡片跳转链接
cardJumpUrl := fmt.Sprintf("http://new.hxgk.group/#/approvalList?id=%v&num=%v", orderIdInt, strconv.FormatInt(registerNumber, 10))
jumpUrl := fmt.Sprintf("http://new.hxgk.group/#/responsible?id=%v&num=%v", orderIdInt, strconv.FormatInt(registerNumber, 10))
jumpUrlTitle := "请前往划分责任人"
sourceDesc := "责任划分"
twoLevelTitle := "审批信息:"
twoLevelKeyName := ""
execDerpat, execDerpatErr := commonus.GetNewOrgCont(founderDepartId)
if execDerpatErr == nil {
twoLevelKeyName = execDerpat.Name
}
var twoLevelKeyValue string = ""
var twoLevelUserId string = ""
//获取操作人
if userCont.Wechat != "" {
userWechatErr, userWechat := commonus.GetUesrContForWechatID(userCont.Wechat)
if userWechatErr == true {
twoLevelKeyValue = userWechat.Name
twoLevelUserId = userCont.Wechat
}
}
var sendTextMsg sendmessage.TextNoticeTemplateMedium
callbakcMsg, isTrueCall, callBackCont := sendTextMsg.SendMsgTextShare(sendUserList, strconv.FormatInt(registerNumber, 10), title, desc, quoteAreaTitle, reason, twoLevelTitle, twoLevelKeyName, twoLevelKeyValue, twoLevelUserId, cardJumpUrl, jumpUrl, jumpUrlTitle, sourceDesc)
outMap["callbakcMsg"] = string(callbakcMsg)
outMap["isTrueCall"] = isTrueCall
outMap["callBackCont"] = callBackCont
outMap["setval"] = 2
// fmt.Printf("sendClick----->%v\n", outMap)
}
case 3:
//接受考核部门内勤(责任划分)
case 4:
//接受考核部门负责人(责任划分确认)
if scoreFlowInfo.PlusReduceScore == 1 {
quoteAreaTitle = fmt.Sprintf("考核加分:%v\n", scoreFloat64ToStringsss)
} else {
quoteAreaTitle = fmt.Sprintf("考核减分:%v\n", scoreFloat64ToStringsss)
}
//是否需要整改
if scoreFlowInfo.Rectification == 1 {
//需要整改
commonus.StepAddData(orderIdInt, 16182159043990656, 5, 7, 1, 2, 4, userCont.Key)
commonus.WriteReplyLog(orderIdInt, scoreFlowInfo.DutyDepartment, founderDepartId, userKeyInt, 2, commonus.GetSetpName(7), opinionCont) //写入审批流
//修改定性审批流状态
eiteScoreFlow := commonus.MapOut()
eiteScoreFlow["sf_eite_time"] = time.Now().Unix()
eiteScoreFlow["sf_reply"] = 2
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.ScoreFlow{}).Where("`sf_key` = ?", orderIdInt).Updates(&eiteScoreFlow)
evalProcSaveData := commonus.MapOut()
evalProcSaveData["ep_state"] = 2
evalProcSaveData["ep_time"] = time.Now().Unix()
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.EvaluationProcess{}).Where("`ep_order_key` = ?", orderIdInt).Updates(&evalProcSaveData)
//步骤内容写入
//获取主要责任人
var personLiable []string
teamBility, teamErr := commonus.GetDivisionOfResponsibility(requestData.OrderId, 1)
if teamErr == nil {
for _, tm_v := range teamBility {
if tm_v["type"] == 1 {
personLiable = append(personLiable, tm_v["wechatid"].(string))
}
}
}
if len(personLiable) < 1 {
fmt.Printf("发送整改通知!没有主要负责人%v\n", teamBility)
}
sendUserList := strings.Join(personLiable, "|")
twoLevelKeyName := ""
execDerpat, execDerpatErr := commonus.GetNewOrgCont(founderDepartId)
if execDerpatErr == nil {
twoLevelKeyName = execDerpat.Name
}
var twoLevelKeyValue string = ""
var twoLevelUserId string = ""
//获取操作人
if userCont.Wechat != "" {
userWechatErr, userWechat := commonus.GetUesrContForWechatID(userCont.Wechat)
if userWechatErr == true {
twoLevelKeyValue = userWechat.Name
twoLevelUserId = userCont.Wechat
}
}
//将步骤写入 判断该步骤是否已经操作
registerNumber := commonus.GetFileNumberEs()
var registerCont assessmentmodel.Register
registerCont.Number = registerNumber
registerCont.State = 1
registerCont.Time = time.Now().Unix()
registerCont.AddCont()
//审批卡片跳转链接
cardJumpUrl := fmt.Sprintf("http://new.hxgk.group/#/approvalList?id=%v&num=%v", orderIdInt, strconv.FormatInt(registerNumber, 10))
jumpUrl := fmt.Sprintf("http://new.hxgk.group/#/rectification?id=%v&num=%v", orderIdInt, strconv.FormatInt(registerNumber, 10))
jumpUrlTitle := "查看详情"
sourceDesc := "整改通知"
twoLevelTitle := "审批信息:"
var sendTextMsg sendmessage.TextNoticeTemplateMedium
callbakcMsg, isTrueCall, callBackCont := sendTextMsg.SendMsgTextShare(sendUserList, strconv.FormatInt(registerNumber, 10), title, desc, quoteAreaTitle, reason, twoLevelTitle, twoLevelKeyName, twoLevelKeyValue, twoLevelUserId, cardJumpUrl, jumpUrl, jumpUrlTitle, sourceDesc)
outMap["callbakcMsg"] = string(callbakcMsg)
outMap["isTrueCall"] = isTrueCall
outMap["callBackCont"] = callBackCont
outMap["setval"] = 41
} else {
//不要整改
commonus.StepAddData(orderIdInt, 16182159043990656, 0, 2, 1, 2, 4, userCont.Key)
commonus.WriteReplyLog(orderIdInt, scoreFlowInfo.DutyDepartment, founderDepartId, userKeyInt, 2, commonus.GetSetpName(2), opinionCont) //写入审批流
//修改定性审批流状态
eiteScoreFlow := commonus.MapOut()
eiteScoreFlow["sf_eite_time"] = time.Now().Unix()
eiteScoreFlow["sf_reply"] = 3
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.ScoreFlow{}).Where("`sf_key` = ?", orderIdInt).Updates(&eiteScoreFlow)
evalProcSaveData := commonus.MapOut()
evalProcSaveData["ep_state"] = 3
evalProcSaveData["ep_time"] = time.Now().Unix()
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.EvaluationProcess{}).Where("`ep_order_key` = ?", orderIdInt).Updates(&evalProcSaveData)
//获取发起人信息
var sendUser string = ""
// faQiRen, _ := commonus.GetWorkUser(strconv.FormatInt(scoreFlowInfo.EvaluationUser, 10))
faQiRen, _ := commonus.GetNewHrPeopleInfo(map[string]interface{}{"`key`": scoreFlowInfo.EvaluationUser}, "`wechat`", "`work_wechat`")
if faQiRen.Wechat != "" {
sendUser = faQiRen.Wechat
}
if faQiRen.WorkWechat != "" {
sendUser = faQiRen.WorkWechat
}
//将步骤写入 判断该步骤是否已经操作
registerNumber := commonus.GetFileNumberEs()
var registerCont assessmentmodel.Register
registerCont.Number = registerNumber
registerCont.State = 1
registerCont.Time = time.Now().Unix()
registerCont.AddCont()
//审批卡片跳转链接
cardJumpUrl := fmt.Sprintf("http://new.hxgk.group/#/approvalList?id=%v&num=%v", orderIdInt, strconv.FormatInt(registerNumber, 10))
jumpUrl := fmt.Sprintf("http://new.hxgk.group/#/responsible?id=%v&num=%v", orderIdInt, strconv.FormatInt(registerNumber, 10))
twoLevelKeyName := ""
execDerpat, execDerpatErr := commonus.GetNewOrgCont(founderDepartId)
if execDerpatErr == nil {
twoLevelKeyName = execDerpat.Name
}
var twoLevelKeyValue string = ""
var twoLevelUserId string = ""
//获取操作人
if userCont.Wechat != "" {
userWechatErr, userWechat := commonus.GetUesrContForWechatID(userCont.Wechat)
if userWechatErr == true {
twoLevelKeyValue = userWechat.Name
twoLevelUserId = userCont.Wechat
}
}
//抄送发起人
if sendUser != "" {
jumpUrlTitle := "查看详情"
sourceDesc := "抄送"
twoLevelTitle := "审批信息:"
var sendTextMsg sendmessage.TextNoticeTemplateMedium
callbakcMsg, isTrueCall, callBackCont := sendTextMsg.SendMsgTextShare(sendUser, strconv.FormatInt(registerNumber, 10), title, desc, quoteAreaTitle, reason, twoLevelTitle, twoLevelKeyName, twoLevelKeyValue, twoLevelUserId, cardJumpUrl, jumpUrl, jumpUrlTitle, sourceDesc)
outMap["callbakcMsg"] = string(callbakcMsg)
outMap["isTrueCall"] = isTrueCall
outMap["callBackCont"] = callBackCont
outMap["setval"] = 41
}
}
case 5:
//主要责任人整改(提交)
case 6:
//接受考核部门负责人(整改确认)
commonus.StepAddData(orderIdInt, 16182159043990656, 0, 7, 1, 2, 6, userCont.Key)
commonus.WriteReplyLog(orderIdInt, scoreFlowInfo.DutyDepartment, founderDepartId, userKeyInt, 2, commonus.GetSetpName(7), opinionCont) //写入审批流
//修改定性审批流状态
eiteScoreFlow := commonus.MapOut()
eiteScoreFlow["sf_eite_time"] = time.Now().Unix()
eiteScoreFlow["sf_reply"] = 3
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.ScoreFlow{}).Where("`sf_key` = ?", orderIdInt).Updates(&eiteScoreFlow)
evalProcSaveData := commonus.MapOut()
evalProcSaveData["ep_state"] = 3
evalProcSaveData["ep_time"] = time.Now().Unix()
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.EvaluationProcess{}).Where("`ep_order_key` = ?", orderIdInt).Updates(&evalProcSaveData)
//2、获取要抄送人员名单
var sendUserAry []string
//2.1 获取发起人部门负责人
launchUserIsTrue, launchUserList := commonus.GetSendMsgUserAry(16182159043990656, scoreFlowInfo.EvaluationDepartment) //获取发起人部门负责人
if launchUserIsTrue == true {
for _, lau_v := range launchUserList {
sendUserAry = append(sendUserAry, lau_v)
}
}
//2.2、获取职责部门负责人
dutyUserIsTrue, dutyUserList := commonus.GetSendMsgUserAry(16182159043990656, scoreFlowInfo.DutyDepartment) //获取职责部门负责人
if dutyUserIsTrue == true {
for _, duty_v := range dutyUserList {
sendUserAry = append(sendUserAry, duty_v)
}
}
//2.3、获取发起人信息
var sendUser string = ""
// faQiRen, _ := commonus.GetWorkUser(strconv.FormatInt(scoreFlowInfo.EvaluationUser, 10))
faQiRen, _ := commonus.GetNewHrPeopleInfo(map[string]interface{}{"`key`": scoreFlowInfo.EvaluationUser}, "`wechat`", "`work_wechat`")
if faQiRen.Wechat != "" {
sendUser = faQiRen.Wechat
}
if faQiRen.WorkWechat != "" {
sendUser = faQiRen.WorkWechat
}
if sendUser != "" {
sendUserAry = append(sendUserAry, sendUser)
}
sendMsgToUserList := strings.Join(sendUserAry, "|")
twoLevelKeyName := ""
execDerpat, execDerpatErr := commonus.GetNewOrgCont(founderDepartId)
if execDerpatErr == nil {
twoLevelKeyName = execDerpat.Name
}
var twoLevelKeyValue string = ""
var twoLevelUserId string = ""
//获取操作人
if userCont.Wechat != "" {
userWechatErr, userWechat := commonus.GetUesrContForWechatID(userCont.Wechat)
if userWechatErr == true {
twoLevelKeyValue = userWechat.Name
twoLevelUserId = userCont.Wechat
}
}
//将步骤写入 判断该步骤是否已经操作
registerNumber := commonus.GetFileNumberEs()
var registerCont assessmentmodel.Register
registerCont.Number = registerNumber
registerCont.State = 1
registerCont.Time = time.Now().Unix()
registerCont.AddCont()
//审批卡片跳转链接
cardJumpUrl := fmt.Sprintf("http://new.hxgk.group/#/approvalList?id=%v&num=%v", orderIdInt, strconv.FormatInt(registerNumber, 10))
jumpUrl := fmt.Sprintf("http://new.hxgk.group/#/approvalList?id=%v&num=%v", orderIdInt, strconv.FormatInt(registerNumber, 10))
jumpUrlTitle := "查看详情"
sourceDesc := "抄送"
twoLevelTitle := "审批信息:"
var sendTextMsg sendmessage.TextNoticeTemplateMedium
callbakcMsg, isTrueCall, callBackCont := sendTextMsg.SendMsgTextShare(sendMsgToUserList, strconv.FormatInt(registerNumber, 10), title, desc, quoteAreaTitle, reason, twoLevelTitle, twoLevelKeyName, twoLevelKeyValue, twoLevelUserId, cardJumpUrl, jumpUrl, jumpUrlTitle, sourceDesc)
outMap["callbakcMsg"] = string(callbakcMsg)
outMap["isTrueCall"] = isTrueCall
outMap["callBackCont"] = callBackCont
outMap["setval"] = 41
case 7:
//发起人验收
default:
response.Result(404, err, "未知操作!", c)
return
}
}
response.Result(0, outMap, "审批流不存在!请检查您的数据!", c)
}