19 changed files with 1655 additions and 25 deletions
@ -0,0 +1,16 @@ |
|||||
|
package reply |
||||
|
|
||||
|
import ( |
||||
|
"github.com/flipped-aurora/gin-vue-admin/server/api/reply/qual" |
||||
|
"github.com/flipped-aurora/gin-vue-admin/server/api/reply/quan" |
||||
|
) |
||||
|
|
||||
|
//自建审批
|
||||
|
|
||||
|
//企业微信应用
|
||||
|
type ApiGroup struct { |
||||
|
QuanAipGroup quan.ApiGroup |
||||
|
QualApiGroup qual.ApiGroup |
||||
|
} |
||||
|
|
||||
|
var ApiGroupApp = new(ApiGroup) |
||||
@ -0,0 +1,674 @@ |
|||||
|
package qual |
||||
|
|
||||
|
import ( |
||||
|
"fmt" |
||||
|
"strconv" |
||||
|
"strings" |
||||
|
"time" |
||||
|
|
||||
|
"github.com/flipped-aurora/gin-vue-admin/server/api/wechatapp/sendmessage" |
||||
|
"github.com/flipped-aurora/gin-vue-admin/server/commonus" |
||||
|
"github.com/flipped-aurora/gin-vue-admin/server/global" |
||||
|
"github.com/flipped-aurora/gin-vue-admin/server/model/assessmentmodel" |
||||
|
"github.com/flipped-aurora/gin-vue-admin/server/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, scoreFlowInfo.EvaluationDepartment, scoreFlowInfo.EvaluationUser, 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, scoreFlowInfo.EvaluationDepartment, scoreFlowInfo.EvaluationUser, 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, scoreFlowInfo.EvaluationDepartment, scoreFlowInfo.EvaluationUser, 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, scoreFlowInfo.EvaluationDepartment, scoreFlowInfo.EvaluationUser, 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, scoreFlowInfo.EvaluationDepartment, scoreFlowInfo.EvaluationUser, 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.Rectification == 1 { |
||||
|
//需要整改
|
||||
|
commonus.StepAddData(orderIdInt, 16182159043990656, 5, 7, 1, 2, 4, userCont.Key) |
||||
|
commonus.WriteReplyLog(orderIdInt, scoreFlowInfo.DutyDepartment, scoreFlowInfo.EvaluationDepartment, scoreFlowInfo.EvaluationUser, 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, scoreFlowInfo.EvaluationDepartment, scoreFlowInfo.EvaluationUser, 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, scoreFlowInfo.EvaluationDepartment, scoreFlowInfo.EvaluationUser, 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/#/responsible?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) |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,536 @@ |
|||||
|
package qual |
||||
|
|
||||
|
import ( |
||||
|
"encoding/json" |
||||
|
"fmt" |
||||
|
"strconv" |
||||
|
"strings" |
||||
|
"time" |
||||
|
|
||||
|
"github.com/flipped-aurora/gin-vue-admin/server/api/wechatapp/sendmessage" |
||||
|
"github.com/flipped-aurora/gin-vue-admin/server/commonus" |
||||
|
"github.com/flipped-aurora/gin-vue-admin/server/global" |
||||
|
"github.com/flipped-aurora/gin-vue-admin/server/model/assessmentmodel" |
||||
|
"github.com/flipped-aurora/gin-vue-admin/server/model/common/response" |
||||
|
"github.com/gin-gonic/gin" |
||||
|
) |
||||
|
|
||||
|
func (a *ApiGroup) DivisionResponsibility(c *gin.Context) { |
||||
|
isTrue, userCont := commonus.ClientIdentity() |
||||
|
if isTrue != true { |
||||
|
response.Result(1001, isTrue, "您的身份令牌已经失效!请重新登录获取身份令牌!", c) |
||||
|
return |
||||
|
} |
||||
|
var requestData DivisionPeople |
||||
|
err := c.ShouldBindJSON(&requestData) |
||||
|
if err != nil { |
||||
|
response.Result(101, err, "参数错误!请重新提交!", c) |
||||
|
return |
||||
|
} |
||||
|
if requestData.OrderId == "" { |
||||
|
response.Result(102, err, "参数错误!请重新提交!", c) |
||||
|
return |
||||
|
} |
||||
|
if requestData.Number == "" { |
||||
|
response.Result(102, err, "参数错误!请重新提交!", c) |
||||
|
return |
||||
|
} |
||||
|
var registerCont assessmentmodel.Register |
||||
|
regErr := registerCont.GetCont(map[string]interface{}{"number": requestData.Number}, "`id`", "`state`") |
||||
|
if regErr != nil { |
||||
|
response.Result(102, regErr, "对不起!您没有权限进行此操作!", c) |
||||
|
return |
||||
|
} |
||||
|
if registerCont.State != 1 { |
||||
|
response.Result(102, regErr, "对不起!您已经执行了此操作!请不要重复执行!谢谢!", c) |
||||
|
return |
||||
|
} |
||||
|
|
||||
|
if len(requestData.UserList) < 1 { |
||||
|
response.Result(105, requestData, "请选择要考核的人员!", c) |
||||
|
return |
||||
|
} |
||||
|
for _, u_v := range requestData.UserList { |
||||
|
if len(u_v.UserKey) < 1 { |
||||
|
response.Result(105, requestData, "您有未输入的考核的人员选项!", c) |
||||
|
return |
||||
|
} |
||||
|
} |
||||
|
orderId, _ := strconv.ParseInt(requestData.OrderId, 10, 64) //将字符串转化成int64
|
||||
|
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 |
||||
|
} |
||||
|
// founderDepartId, _ := strconv.ParseInt(userCont.Deparment, 10, 64)
|
||||
|
// userKeyInt, _ := strconv.ParseInt(userCont.Key, 10, 64) //使用人KEY
|
||||
|
opinionCont := "责任划分" |
||||
|
|
||||
|
commonus.StepAddData(orderId, 16118387069540343, 4, 3, 1, 2, 3, userCont.Key) //更新审批流
|
||||
|
commonus.WriteReplyLog(orderId, scoreFlowInfo.DutyDepartment, scoreFlowInfo.EvaluationDepartment, scoreFlowInfo.EvaluationUser, 1, commonus.GetSetpName(3), opinionCont) //写入审批流
|
||||
|
|
||||
|
//确定相关责任人
|
||||
|
sendUserIsTrue, sendUserList := commonus.GetSendMsgUser(16182159043990656, scoreFlowInfo.DutyDepartment) //获取对应部门负责人
|
||||
|
if sendUserIsTrue != true { |
||||
|
response.Result(109, sendUserList, "未指定相关部门处理人!未能向相关人员发送考核项目!请手动发起!", c) |
||||
|
return |
||||
|
} |
||||
|
|
||||
|
var saveDataAry []assessmentmodel.DivisionResponsibilities |
||||
|
var userKeyAry []int64 |
||||
|
var userKeyMainAry []int64 |
||||
|
var MainResponsiblePerson MainResponsiblePersonType |
||||
|
var teamIsTrue int = 1 |
||||
|
var reason string //引用文本描述
|
||||
|
for _, v := range requestData.UserList { |
||||
|
var saveDataCont assessmentmodel.DivisionResponsibilities |
||||
|
saveDataCont.ScoreFlow = orderId //流程Key
|
||||
|
saveDataCont.Type = v.Type //责任类型(1、主要责任人;2、互保责任人;3、责任班组;4、责任班组长;5、主管;6、三大员;7、厂长、主任)
|
||||
|
departmentId, departmentIdErr := strconv.ParseInt(userCont.Deparment, 10, 64) |
||||
|
if departmentIdErr == nil { |
||||
|
saveDataCont.EvaluationDepartment = departmentId //测评人部门
|
||||
|
} |
||||
|
userKey, userKeyErr := strconv.ParseInt(userCont.Key, 10, 64) |
||||
|
if userKeyErr == nil { |
||||
|
saveDataCont.EvaluationUser = userKey //测评人
|
||||
|
} |
||||
|
userGroup, userGroupErr := strconv.ParseInt(userCont.Company, 10, 64) |
||||
|
if userGroupErr == nil { |
||||
|
saveDataCont.EvaluationGroup = userGroup //测评人集团
|
||||
|
} |
||||
|
if v.Type != 3 { |
||||
|
userKeyLen := len(v.UserKey) |
||||
|
if userKeyLen < 1 { |
||||
|
userKeyLen = 1 |
||||
|
} |
||||
|
//分配权限
|
||||
|
weightFloat := float64(v.Weight) / float64(userKeyLen) |
||||
|
weightInt := commonus.Round(weightFloat, 2) * 100 |
||||
|
weightInt64, _ := strconv.ParseInt(strconv.FormatFloat(weightInt, 'f', -1, 64), 10, 64) |
||||
|
//不是班组选项
|
||||
|
for _, ua_v := range v.UserKey { |
||||
|
userConting, userIsTrue := commonus.GetWorkUser(ua_v) |
||||
|
if userIsTrue == true { |
||||
|
} |
||||
|
saveDataCont.UserName = userConting.Name |
||||
|
saveDataCont.Weight = weightInt64 |
||||
|
saveDataCont.Time = time.Now().Unix() |
||||
|
saveDataCont.EiteTime = time.Now().Unix() |
||||
|
saveDataCont.DistributionUser = commonus.GetFileNumberEs() |
||||
|
|
||||
|
saveDataCont.UserKey = userConting.Key |
||||
|
saveDataCont.Group = userConting.Group |
||||
|
saveDataCont.Department = userConting.DepartmentId |
||||
|
saveDataCont.Tema = userConting.Tema |
||||
|
if v.Type != 3 { |
||||
|
userKeyAry = append(userKeyAry, userConting.Key) |
||||
|
} |
||||
|
var zeren string |
||||
|
switch v.Type { |
||||
|
case 1: |
||||
|
zeren = "主要责任人" |
||||
|
MainResponsiblePerson.UserKey = userConting.Key |
||||
|
MainResponsiblePerson.Group = userConting.Group |
||||
|
MainResponsiblePerson.Department = userConting.DepartmentId |
||||
|
MainResponsiblePerson.WorkshopId = userConting.WorkshopId |
||||
|
MainResponsiblePerson.Tema = userConting.Tema |
||||
|
userKeyMainAry = append(userKeyMainAry, userConting.Key) |
||||
|
case 2: |
||||
|
zeren = "互保责任人" |
||||
|
case 3: |
||||
|
zeren = "责任班组" |
||||
|
case 4: |
||||
|
zeren = "责任班组长" |
||||
|
case 5: |
||||
|
zeren = "主管" |
||||
|
case 6: |
||||
|
zeren = "三大员" |
||||
|
case 7: |
||||
|
zeren = "主任" |
||||
|
case 8: |
||||
|
zeren = "厂长" |
||||
|
default: |
||||
|
zeren = "主要责任人" |
||||
|
} |
||||
|
reason = fmt.Sprintf("%v%v:%v 责任占比:%v\n", reason, zeren, userConting.Name, weightInt64/100) |
||||
|
|
||||
|
saveDataAry = append(saveDataAry, saveDataCont) |
||||
|
} |
||||
|
} else { |
||||
|
teamIsTrue = 2 |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
//遍历班组情况
|
||||
|
if teamIsTrue == 2 { |
||||
|
for _, t_v := range requestData.UserList { |
||||
|
if t_v.Type == 3 { |
||||
|
|
||||
|
var saveDataContTeam assessmentmodel.DivisionResponsibilities |
||||
|
saveDataContTeam.ScoreFlow = orderId //流程Key
|
||||
|
saveDataContTeam.Type = t_v.Type //责任类型(1、主要责任人;2、互保责任人;3、责任班组;4、责任班组长;5、主管;6、三大员;7、厂长、主任)
|
||||
|
departmentId, departmentIdErr := strconv.ParseInt(userCont.Deparment, 10, 64) |
||||
|
if departmentIdErr == nil { |
||||
|
saveDataContTeam.EvaluationDepartment = departmentId //测评人部门
|
||||
|
} |
||||
|
userKey, userKeyErr := strconv.ParseInt(userCont.Key, 10, 64) |
||||
|
if userKeyErr == nil { |
||||
|
saveDataContTeam.EvaluationUser = userKey //测评人
|
||||
|
} |
||||
|
userGroup, userGroupErr := strconv.ParseInt(userCont.Company, 10, 64) |
||||
|
if userGroupErr == nil { |
||||
|
saveDataContTeam.EvaluationGroup = userGroup //测评人集团
|
||||
|
} |
||||
|
for _, tt_v := range t_v.UserKey { |
||||
|
teamIdInt64, _ := strconv.ParseInt(tt_v, 10, 64) |
||||
|
teamContErr, teamCont := commonus.GetTeaming(teamIdInt64) |
||||
|
if teamContErr == true { |
||||
|
reason = fmt.Sprintf("%v%v:%v 责任占比:%v\n", reason, "责任班组", teamCont.Name, t_v.Weight) |
||||
|
} |
||||
|
teamGroup := strconv.FormatInt(MainResponsiblePerson.Group, 10) |
||||
|
teamDepartment := strconv.FormatInt(MainResponsiblePerson.Department, 10) |
||||
|
teamWorkshopId := strconv.FormatInt(MainResponsiblePerson.WorkshopId, 10) |
||||
|
teamUserList, teamUserErr := commonus.GetTeamUserList(teamGroup, teamDepartment, teamWorkshopId, tt_v) |
||||
|
if teamUserErr == true { |
||||
|
var jiShuQi int64 = 0 |
||||
|
for _, tu_v := range teamUserList { |
||||
|
|
||||
|
if commonus.IsItTrue(tu_v.Key, userKeyAry) == false { |
||||
|
jiShuQi++ |
||||
|
} |
||||
|
} |
||||
|
if jiShuQi < 1 { |
||||
|
jiShuQi = 1 |
||||
|
} |
||||
|
//分配权限
|
||||
|
weightFloat := float64(t_v.Weight) / float64(jiShuQi) |
||||
|
weightInt := commonus.Round(weightFloat, 2) * 100 |
||||
|
weightInt64, _ := strconv.ParseInt(strconv.FormatFloat(weightInt, 'f', -1, 64), 10, 64) |
||||
|
|
||||
|
for _, tu_v := range teamUserList { |
||||
|
if commonus.IsItTrue(tu_v.Key, userKeyAry) == false { |
||||
|
saveDataContTeam.UserName = tu_v.Name |
||||
|
saveDataContTeam.Weight = weightInt64 |
||||
|
saveDataContTeam.Time = time.Now().Unix() |
||||
|
saveDataContTeam.EiteTime = time.Now().Unix() |
||||
|
saveDataContTeam.DistributionUser = commonus.GetFileNumberEs() |
||||
|
|
||||
|
saveDataContTeam.UserKey = tu_v.Key |
||||
|
saveDataContTeam.Group = tu_v.Group |
||||
|
saveDataContTeam.Department = tu_v.DepartmentId |
||||
|
saveDataContTeam.Tema = tu_v.Tema |
||||
|
|
||||
|
saveDataAry = append(saveDataAry, saveDataContTeam) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
if len(saveDataAry) < 1 { |
||||
|
response.Result(107, saveDataAry, "请检查您提交的要考核人员名单是否正确!", c) |
||||
|
return |
||||
|
} |
||||
|
//同一订单下,删除原有的责任人,再从新分配责任人。
|
||||
|
global.GVA_DB_Performanceappraisal.Where("df_sf_id = ?", orderId).Delete(&assessmentmodel.DivisionResponsibilities{}) |
||||
|
writeDataErr := global.GVA_DB_Performanceappraisal.Create(&saveDataAry).Error |
||||
|
if writeDataErr != nil { |
||||
|
response.Result(108, writeDataErr, "数据写入失败", c) |
||||
|
return |
||||
|
} |
||||
|
registerCont.EiteCont(map[string]interface{}{"id": registerCont.Id}, map[string]interface{}{"state": 2, "`time`": time.Now().Unix()}) |
||||
|
|
||||
|
//修改定性审批流状态
|
||||
|
eiteScoreFlow := commonus.MapOut() |
||||
|
eiteScoreFlow["sf_eite_time"] = time.Now().Unix() |
||||
|
eiteScoreFlow["sf_reply"] = 2 |
||||
|
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.ScoreFlow{}).Where("`sf_key` = ?", orderId).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` = ?", orderId).Updates(&evalProcSaveData) |
||||
|
|
||||
|
//获取执行结果
|
||||
|
var mainTitleDesc string = "" |
||||
|
|
||||
|
//分数
|
||||
|
sendScore := scoreFlowInfo.Score * int64(scoreFlowInfo.Count) |
||||
|
if scoreFlowInfo.PlusReduceScore == 1 { |
||||
|
mainTitleDesc = fmt.Sprintf("考核加分:%v\n", commonus.Decimal(float64(sendScore)/100)) |
||||
|
} else { |
||||
|
mainTitleDesc = fmt.Sprintf("考核减分:%v\n", commonus.Decimal(float64(sendScore)/100)) |
||||
|
} |
||||
|
|
||||
|
//确定标题
|
||||
|
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个字
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
//将步骤写入 判断该步骤是否已经操作
|
||||
|
registerNumber := commonus.GetFileNumberEs() |
||||
|
var registerContIng assessmentmodel.Register |
||||
|
registerContIng.Number = registerNumber |
||||
|
registerContIng.State = 1 |
||||
|
registerContIng.Time = time.Now().Unix() |
||||
|
registerContIng.AddCont() |
||||
|
//审批卡片跳转链接
|
||||
|
cardJumpUrl := fmt.Sprintf("http://new.hxgk.group/#/approvalList?id=%v&num=%v", orderId, strconv.FormatInt(registerNumber, 10)) |
||||
|
jumpUrl := fmt.Sprintf("http://new.hxgk.group/#/approvalList?id=%v&num=%v", orderId, strconv.FormatInt(registerNumber, 10)) |
||||
|
|
||||
|
twoLevelKeyName := "" |
||||
|
execDerpat, execDerpatErr := commonus.GetNewOrgCont(scoreFlowInfo.DutyDepartment) |
||||
|
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 |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
jumpUrlTitle := "查看详情" |
||||
|
sourceDesc := "审批" |
||||
|
twoLevelTitle := "责任划分人:" |
||||
|
var sendTextMsg sendmessage.TextNoticeTemplateMedium |
||||
|
callbakcMsg, isTrueCall, callBackCont := sendTextMsg.SendMsgTextShare(sendUserList, strconv.FormatInt(registerNumber, 10), title, desc, mainTitleDesc, reason, twoLevelTitle, twoLevelKeyName, twoLevelKeyValue, twoLevelUserId, cardJumpUrl, jumpUrl, jumpUrlTitle, sourceDesc) |
||||
|
outMap := commonus.MapOut() |
||||
|
outMap["callbakcMsg"] = string(callbakcMsg) |
||||
|
outMap["isTrueCall"] = isTrueCall |
||||
|
outMap["callBackCont"] = callBackCont |
||||
|
outMap["setval"] = 41 |
||||
|
response.Result(0, outMap, "数据写入成功", c) |
||||
|
} |
||||
|
|
||||
|
//填写整改措施
|
||||
|
func (a *ApiGroup) AmendMeasures(c *gin.Context) { |
||||
|
isTrue, userCont := commonus.ClientIdentity() |
||||
|
if isTrue != true { |
||||
|
response.Result(1001, isTrue, "您的身份令牌已经失效!请重新登录获取身份令牌!", c) |
||||
|
return |
||||
|
} |
||||
|
var requestData AmendType |
||||
|
err := c.ShouldBindJSON(&requestData) |
||||
|
if err != nil { |
||||
|
response.Result(101, err, "参数错误!请重新提交!", c) |
||||
|
return |
||||
|
} |
||||
|
if requestData.OrderId == "" { |
||||
|
response.Result(102, err, "参数错误!请重新提交!", c) |
||||
|
return |
||||
|
} |
||||
|
if requestData.Number == "" { |
||||
|
response.Result(102, err, "参数错误!请重新提交!", c) |
||||
|
return |
||||
|
} |
||||
|
if requestData.Content == "" { |
||||
|
response.Result(102, err, "请输入整改措施!", c) |
||||
|
return |
||||
|
} |
||||
|
var registerCont assessmentmodel.Register |
||||
|
regErr := registerCont.GetCont(map[string]interface{}{"number": requestData.Number}, "`id`", "`state`") |
||||
|
if regErr != nil { |
||||
|
response.Result(102, regErr, "对不起!您没有权限进行此操作!", c) |
||||
|
return |
||||
|
} |
||||
|
if registerCont.State != 1 { |
||||
|
response.Result(102, regErr, "对不起!您已经执行了此操作!请不要重复执行!谢谢!", 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, ",") |
||||
|
if commonus.IsItTrueString(userCont.Key, nextReplyUserMap) == false { |
||||
|
response.Result(106, nextReplyUserMap, "对不起!您没有权限对此流程进行操作!", c) |
||||
|
return |
||||
|
} |
||||
|
userKey, _ := strconv.ParseInt(userCont.Key, 10, 64) |
||||
|
departmentId, _ := strconv.ParseInt(userCont.Deparment, 10, 64) |
||||
|
userGroup, _ := strconv.ParseInt(userCont.Company, 10, 64) |
||||
|
orderidval, _ := strconv.ParseInt(requestData.OrderId, 10, 64) |
||||
|
|
||||
|
var addRecMeas assessmentmodel.RectificationMeasures |
||||
|
addRecMeas.UserKey = userKey |
||||
|
addRecMeas.Department = departmentId |
||||
|
addRecMeas.Group = userGroup |
||||
|
addRecMeas.OrderKey = orderidval |
||||
|
addRecMeas.State = 1 |
||||
|
addRecMeas.Time = time.Now().Unix() |
||||
|
addRecMeas.EiteTime = time.Now().Unix() |
||||
|
addRecMeas.Content = requestData.Content |
||||
|
if len(requestData.Enclosure) > 0 { |
||||
|
enclosure, enclosureErr := json.Marshal(requestData.Enclosure) |
||||
|
if enclosureErr == nil { |
||||
|
addRecMeas.Enclosure = string(enclosure) //附件
|
||||
|
} |
||||
|
} |
||||
|
addErr := global.GVA_DB_Performanceappraisal.Create(&addRecMeas).Error |
||||
|
if addErr != nil { |
||||
|
response.Result(109, addErr, "数据写入失败", 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 |
||||
|
} |
||||
|
opinionCont := fmt.Sprintf("整改措施:%v", requestData.Content) |
||||
|
//写入流程步骤
|
||||
|
commonus.StepAddDataEs(orderidval, 0, 6, 4, 1, 2, 5, userCont.Key, requestData.Enclosure) //更新审批流
|
||||
|
commonus.WriteReplyLog(orderidval, scoreFlowInfo.DutyDepartment, scoreFlowInfo.EvaluationDepartment, scoreFlowInfo.EvaluationUser, 1, commonus.GetSetpName(3), opinionCont) //写入审批流
|
||||
|
|
||||
|
sendUserIsTrue, sendUserList := commonus.GetSendMsgUser(16182159043990656, scoreFlowInfo.DutyDepartment) //获取对应部门负责人
|
||||
|
if sendUserIsTrue != true { |
||||
|
response.Result(109, sendUserList, "未指定相关部门处理人!未能向相关人员发送考核项目!请手动发起!", 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 mainTitleDesc string = "" |
||||
|
|
||||
|
//分数
|
||||
|
sendScore := scoreFlowInfo.Score * int64(scoreFlowInfo.Count) |
||||
|
if scoreFlowInfo.PlusReduceScore == 1 { |
||||
|
mainTitleDesc = fmt.Sprintf("考核加分:%v\n", commonus.Decimal(float64(sendScore)/100)) |
||||
|
} else { |
||||
|
mainTitleDesc = fmt.Sprintf("考核减分:%v\n", commonus.Decimal(float64(sendScore)/100)) |
||||
|
} |
||||
|
|
||||
|
var reason string |
||||
|
reason = fmt.Sprintf("整改措施:\n%v", requestData.Content) |
||||
|
//将步骤写入 判断该步骤是否已经操作
|
||||
|
registerNumber := commonus.GetFileNumberEs() |
||||
|
var registerContIng assessmentmodel.Register |
||||
|
registerContIng.Number = registerNumber |
||||
|
registerContIng.State = 1 |
||||
|
registerContIng.Time = time.Now().Unix() |
||||
|
registerContIng.AddCont() |
||||
|
//审批卡片跳转链接
|
||||
|
cardJumpUrl := fmt.Sprintf("http://new.hxgk.group/#/approvalList?id=%v&num=%v", requestData.OrderId, strconv.FormatInt(registerNumber, 10)) |
||||
|
jumpUrl := fmt.Sprintf("http://new.hxgk.group/#/approvalList?id=%v&num=%v", requestData.OrderId, strconv.FormatInt(registerNumber, 10)) |
||||
|
|
||||
|
jumpUrlTitle := "查看详情" |
||||
|
sourceDesc := "审批" |
||||
|
twoLevelTitle := "整改人:" |
||||
|
|
||||
|
twoLevelKeyName := "" |
||||
|
execDerpat, execDerpatErr := commonus.GetNewOrgCont(scoreFlowInfo.DutyDepartment) |
||||
|
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, mainTitleDesc, reason, twoLevelTitle, twoLevelKeyName, twoLevelKeyValue, twoLevelUserId, cardJumpUrl, jumpUrl, jumpUrlTitle, sourceDesc) |
||||
|
outMap := commonus.MapOut() |
||||
|
outMap["callbakcMsg"] = string(callbakcMsg) |
||||
|
outMap["isTrueCall"] = isTrueCall |
||||
|
outMap["callBackCont"] = callBackCont |
||||
|
outMap["setval"] = 41 |
||||
|
response.Result(0, outMap, "数据写入成功", c) |
||||
|
} |
||||
@ -0,0 +1,57 @@ |
|||||
|
package qual |
||||
|
|
||||
|
import ( |
||||
|
"github.com/flipped-aurora/gin-vue-admin/server/commonus" |
||||
|
"github.com/flipped-aurora/gin-vue-admin/server/model/common/response" |
||||
|
"github.com/gin-gonic/gin" |
||||
|
) |
||||
|
|
||||
|
//企业微信回调
|
||||
|
type ApiGroup struct { |
||||
|
} |
||||
|
|
||||
|
//入口
|
||||
|
func (a *ApiGroup) Index(c *gin.Context) { |
||||
|
outPut := commonus.MapOut() |
||||
|
response.Result(0, outPut, "定性审批端获取成功", c) |
||||
|
} |
||||
|
|
||||
|
//审批参数
|
||||
|
type ApprovalParameters struct { |
||||
|
OrderId string `json:"orderid"` //流程单KEY
|
||||
|
YesOrNo int `json:"yesorno"` //1:同意;2:驳回
|
||||
|
Content string `json:"content"` //审批意见
|
||||
|
} |
||||
|
|
||||
|
type orderIdOrNumber struct { |
||||
|
OrderId string `json:"id"` //流程单KEY
|
||||
|
Number string `json:"number"` //1:同意;2:驳回
|
||||
|
} |
||||
|
|
||||
|
type DivisionPeople struct { |
||||
|
orderIdOrNumber |
||||
|
UserList []DivisionResponsibilityUsers `json:"userlist"` //责任人
|
||||
|
} |
||||
|
|
||||
|
type DivisionResponsibilityUsers struct { |
||||
|
Type int `json:"type"` //责任类型(1、主要责任人;2、互保责任人;3、责任班组;4、责任班组长;5、主管;6、三大员;7、厂长;8、主任)
|
||||
|
UserKey []string `json:"userkey"` //责任人key
|
||||
|
// UserName string `json:"username"` //责任人姓名
|
||||
|
Weight int64 `json:"weight"` //权重
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
type MainResponsiblePersonType struct { |
||||
|
UserKey int64 `json:"userkey"` |
||||
|
Department int64 `json:"department"` |
||||
|
Group int64 `json:"group"` |
||||
|
WorkshopId int64 `json:"workshopid"` |
||||
|
Tema int64 `json:"tema"` |
||||
|
Weight int64 `json:"weight"` |
||||
|
} |
||||
|
|
||||
|
type AmendType struct { |
||||
|
orderIdOrNumber |
||||
|
Content string `json:"content"` //整改内容
|
||||
|
Enclosure []commonus.EnclosureFormat `json:"enclosure"` //附件
|
||||
|
} |
||||
@ -0,0 +1,17 @@ |
|||||
|
package quan |
||||
|
|
||||
|
import ( |
||||
|
"github.com/flipped-aurora/gin-vue-admin/server/commonus" |
||||
|
"github.com/flipped-aurora/gin-vue-admin/server/model/common/response" |
||||
|
"github.com/gin-gonic/gin" |
||||
|
) |
||||
|
|
||||
|
//企业微信回调
|
||||
|
type ApiGroup struct { |
||||
|
} |
||||
|
|
||||
|
//入口
|
||||
|
func (a *ApiGroup) Index(c *gin.Context) { |
||||
|
outPut := commonus.MapOut() |
||||
|
response.Result(0, outPut, "定量审批端获取成功", c) |
||||
|
} |
||||
@ -0,0 +1,34 @@ |
|||||
|
package replyrouter |
||||
|
|
||||
|
import ( |
||||
|
"github.com/flipped-aurora/gin-vue-admin/server/api/reply" |
||||
|
"github.com/gin-gonic/gin" |
||||
|
) |
||||
|
|
||||
|
type RouterGroup struct { |
||||
|
} |
||||
|
|
||||
|
func (r *RouterGroup) InitShiyanRouter(Router *gin.RouterGroup) { |
||||
|
quanRouter := Router.Group("quan") //定量
|
||||
|
var quanApi = reply.ApiGroupApp.QuanAipGroup |
||||
|
{ |
||||
|
quanRouter.POST("", quanApi.Index) //入口
|
||||
|
quanRouter.POST("/", quanApi.Index) //入口
|
||||
|
quanRouter.GET("", quanApi.Index) //入口
|
||||
|
quanRouter.GET("/", quanApi.Index) //入口
|
||||
|
|
||||
|
} |
||||
|
qualRouter := Router.Group("qual") //定性
|
||||
|
var qualApi = reply.ApiGroupApp.QualApiGroup |
||||
|
{ |
||||
|
qualRouter.POST("", qualApi.Index) //入口
|
||||
|
qualRouter.POST("/", qualApi.Index) //入口
|
||||
|
qualRouter.GET("", qualApi.Index) //入口
|
||||
|
qualRouter.GET("/", qualApi.Index) //入口
|
||||
|
|
||||
|
qualRouter.POST("operation", qualApi.Operation) //定性审批
|
||||
|
qualRouter.POST("divisionresponsibility", qualApi.DivisionResponsibility) //责任划分
|
||||
|
qualRouter.POST("amendmeasures", qualApi.AmendMeasures) //整改措施
|
||||
|
|
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue