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.
657 lines
26 KiB
657 lines
26 KiB
package evaluation
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"strconv"
|
|
"strings"
|
|
|
|
"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 (e *EvaluationInterface) LookQuantitativeConfig(c *gin.Context) {
|
|
var requestData SelectQuantitativeConfig
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
response.Result(101, err, "数据获取失败!", c)
|
|
return
|
|
}
|
|
var qualConfigList []assessmentmodel.QuantitativeConfig
|
|
gormDb := global.GVA_DB_Performanceappraisal
|
|
if requestData.GroupId != "" {
|
|
gormDb = gormDb.Where("`group` = ?", requestData.GroupId)
|
|
}
|
|
if requestData.DepartmentID != "" {
|
|
gormDb = gormDb.Where("`departmentid` = ?", requestData.DepartmentID)
|
|
}
|
|
if requestData.Dimension != "" {
|
|
gormDb = gormDb.Where("`dimension` = ?", requestData.Dimension)
|
|
}
|
|
if requestData.Target != "" {
|
|
gormDb = gormDb.Where("`target` = ?", requestData.Target)
|
|
}
|
|
if requestData.DetailedTarget != "" {
|
|
gormDb = gormDb.Where("`targetconfig` = ?", requestData.DetailedTarget)
|
|
}
|
|
switch requestData.Type {
|
|
case 1:
|
|
gormDb = gormDb.Where("`type` = ?", requestData.Type)
|
|
case 2:
|
|
gormDb = gormDb.Where("`type` = ?", requestData.Type)
|
|
if requestData.Class != 0 {
|
|
gormDb = gormDb.Where("`timecopy` = ?", requestData.Class)
|
|
}
|
|
case 3:
|
|
gormDb = gormDb.Where("`type` = ?", requestData.Type)
|
|
if requestData.Class != 0 {
|
|
gormDb = gormDb.Where("`timecopy` = ?", requestData.Class)
|
|
}
|
|
default:
|
|
}
|
|
if requestData.Year != 0 {
|
|
gormDb = gormDb.Where("`year` = ?", requestData.Year)
|
|
}
|
|
if requestData.State != 0 {
|
|
gormDb = gormDb.Where("`state` = ?", requestData.State)
|
|
}
|
|
// gormDb = gormDb.Order("group ASC,departmentid ASC,dimension ASC,target ASC,targetconfig ASC").Order("year DESC").Order("timecopy ASC,id ASC")
|
|
gormDb = gormDb.Order("`group` ASC").Order("`departmentid` ASC").Order("`dimension` ASC").Order("`target` ASC").Order("`targetconfig` ASC").Order("`year` DESC").Order("`timecopy` ASC").Order("`id` ASC")
|
|
contErr := gormDb.Find(&qualConfigList).Error
|
|
if contErr != nil {
|
|
response.Result(102, err, "没有数据!", c)
|
|
return
|
|
}
|
|
var outList []OutQuantitativeConfig
|
|
for _, v := range qualConfigList {
|
|
var outCont OutQuantitativeConfig
|
|
outCont.Id = v.Id
|
|
outCont.DepartmentId = v.DepartmentId
|
|
outCont.Group = v.Group
|
|
outCont.Dimension = v.Dimension
|
|
outCont.Target = v.Target
|
|
outCont.TargetConfig = v.TargetConfig
|
|
outCont.Type = v.Type
|
|
outCont.Year = v.Year
|
|
outCont.Timecopy = v.Timecopy
|
|
outCont.Zeroprize = v.Zeroprize / 100
|
|
outCont.Allprize = v.Allprize / 100
|
|
outCont.Time = v.Time
|
|
outCont.State = v.State
|
|
|
|
where := commonus.MapOut()
|
|
where["id"] = v.Group
|
|
orgCont, _ := commonus.GetNewOrgCont(where, "id", "name")
|
|
outCont.GroupTitle = orgCont.Name
|
|
|
|
whereDepart := commonus.MapOut()
|
|
whereDepart["id"] = v.DepartmentId
|
|
orgContDepart, _ := commonus.GetNewOrgCont(whereDepart, "id", "name")
|
|
outCont.DimensionTitle = orgContDepart.Name
|
|
|
|
// gErr, groupInfo := commonus.GetGroupCont(v.Group)
|
|
// if gErr == true {
|
|
// outCont.GroupTitle = groupInfo.Name
|
|
// }
|
|
// dErr, departmentInfo := commonus.GetBranchFactory(v.DepartmentId)
|
|
// if dErr == true {
|
|
// outCont.DimensionTitle = departmentInfo.Name
|
|
// }
|
|
targetInfo, tErr := commonus.GetTargetInfo(v.Target)
|
|
if tErr == true {
|
|
outCont.TargetTitle = targetInfo.Title
|
|
}
|
|
dtargetInfo, dtErr := commonus.GetDetailedTargetInfo(v.TargetConfig)
|
|
if dtErr == true {
|
|
outCont.DetailedTargetTitle = dtargetInfo.Title
|
|
}
|
|
outList = append(outList, outCont)
|
|
}
|
|
response.Result(0, outList, "获取成功!", c)
|
|
}
|
|
|
|
// 查看审批流程
|
|
func (e *EvaluationInterface) SeeFlowLogOld(c *gin.Context) {
|
|
isTrue, userCont := commonus.ClientIdentity()
|
|
if isTrue != true {
|
|
response.Result(1001, userCont, "您的身份令牌已经失效!请重新登录获取身份令牌!", c)
|
|
return
|
|
}
|
|
var requestData FlowLogType
|
|
c.ShouldBindJSON(&requestData)
|
|
|
|
if requestData.PageSize == 0 {
|
|
requestData.PageSize = 20
|
|
}
|
|
if requestData.Page <= 0 {
|
|
requestData.Page = 1
|
|
}
|
|
if requestData.IsSet == 0 {
|
|
requestData.IsSet = 1
|
|
}
|
|
offSetPage := commonus.CalculatePages(requestData.Page, requestData.PageSize)
|
|
|
|
// var evalProContList []assessmentmodel.EvaluationProcess
|
|
var evalProContList []accPerFlowLog
|
|
gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.EvaluationProcess{})
|
|
gormDb = gormDb.Select("evaluation_process.*,sf.sf_duty_department,sf.sf_evaluation_plan,fl.fl_evaluation_id,fl.fl_evaluation_department,qe.qe_dimension,qe.qe_target,qe.qe_detailed_target,dc.title,et.et_title,dt.dt_title,qe.qe_accept_evaluation")
|
|
gormDb = gormDb.Joins(("left join score_flow as sf on sf.sf_key = evaluation_process.ep_order_key"))
|
|
gormDb = gormDb.Joins(("left join flow_log as fl on fl.fl_key = evaluation_process.ep_order_key"))
|
|
|
|
gormDb = gormDb.Joins(("left join qualitative_evaluation as qe on qe.qe_id = sf.sf_evaluation_plan OR qe.qe_id = fl.fl_evaluation_id"))
|
|
gormDb = gormDb.Joins(("left join dutyclass as dc on dc.id = qe.qe_dimension"))
|
|
gormDb = gormDb.Joins(("left join evaluationtarget as et on et.et_id = qe.qe_target"))
|
|
gormDb = gormDb.Joins(("left join detailed_target as dt on dt.dt_id = qe.qe_detailed_target"))
|
|
|
|
if requestData.Title != "" || requestData.Department != "" {
|
|
|
|
if requestData.Title != "" {
|
|
gormDb = gormDb.Where("dc.title LIKE ? OR et.et_title LIKE ? OR dt.dt_title LIKE ?", "%"+requestData.Title+"%", "%"+requestData.Title+"%", "%"+requestData.Title+"%")
|
|
}
|
|
if requestData.Department != "" {
|
|
gormDb = gormDb.Where("sf.sf_duty_department = ? OR fl.fl_evaluation_department = ?", requestData.Department, requestData.Department)
|
|
}
|
|
}
|
|
// gormDb = gormDb.Where("FIND_IN_SET(?,`ep_participants`)", userCont.Key)
|
|
|
|
if requestData.IsSet == 1 {
|
|
gormDb = gormDb.Where("FIND_IN_SET(?,`ep_participants`) OR NOT FIND_IN_SET(?,`ep_next_executor`)", userCont.Key, userCont.Key)
|
|
} else {
|
|
gormDb = gormDb.Where("FIND_IN_SET(?,`ep_next_executor`)", userCont.Key)
|
|
}
|
|
|
|
if requestData.State != 0 {
|
|
gormDb = gormDb.Where("evaluation_process.ep_state = ?", requestData.State)
|
|
} else {
|
|
gormDb = gormDb.Where("evaluation_process.ep_state IN ?", []int{1, 2, 3})
|
|
}
|
|
if requestData.Time != "" {
|
|
startTime, endTime := commonus.GetAppointMonthStarAndEndTime(requestData.Time)
|
|
gormDb = gormDb.Where("evaluation_process.ep_start_time BETWEEN ? AND ?", startTime, endTime)
|
|
}
|
|
|
|
if requestData.Class != 0 {
|
|
gormDb = gormDb.Where("evaluation_process.ep_type = ?", requestData.Class)
|
|
}
|
|
/*
|
|
获取总共有多少记录
|
|
*/
|
|
var total int64
|
|
totalErr := gormDb.Count(&total).Error
|
|
if totalErr != nil {
|
|
total = 0
|
|
}
|
|
//获取记录数据
|
|
evaErr := gormDb.Order("ep_state ASC,ep_id DESC").Limit(requestData.PageSize).Offset(offSetPage).Find(&evalProContList).Error
|
|
// evaErr := gormDb.Order("ep_id DESC").Limit(requestData.PageSize).Offset(offSetPage).Find(&evalProContList).Error
|
|
if evaErr != nil {
|
|
response.Result(104, evaErr, "数据获取失败!", c)
|
|
return
|
|
}
|
|
// response.Result(104, evalProContList, "数据获取失败!", c)
|
|
// return
|
|
var flowLogListOut []FlowLogListOut
|
|
for _, v := range evalProContList {
|
|
var flowLogListCont FlowLogListOut
|
|
orderId := strconv.FormatInt(v.OrderKey, 10)
|
|
flowLogListCont.OutId = orderId
|
|
flowLogListCont.Class = v.TypeClass
|
|
flowLogListCont.MonthDays = commonus.TimeStampToDate(v.StartTime, 15)
|
|
|
|
flowLogListCont.IsSet = 1
|
|
isSetUser := strings.Split(v.NextExecutor, ",")
|
|
fmt.Printf("\n\nIsSet----1--%v--->%v\n\n", orderId, flowLogListCont.IsSet)
|
|
if len(isSetUser) > 0 {
|
|
fmt.Printf("\n\nIsSet----2--%v--->%v\n\n", orderId, flowLogListCont.IsSet)
|
|
if commonus.IsItTrueString(userCont.Key, isSetUser) == true {
|
|
flowLogListCont.IsSet = 2
|
|
fmt.Printf("\n\nIsSet---%v--3---->%v\n\n", orderId, flowLogListCont.IsSet)
|
|
}
|
|
}
|
|
|
|
fmt.Printf("\n\nIsSet---4------%v----->%v\n\n", orderId, flowLogListCont.IsSet)
|
|
|
|
fmt.Printf("TypeClass ---------%v\n", v.TypeClass)
|
|
if v.TypeClass == 1 {
|
|
//获取考核项目关联项目
|
|
targettitle, detailedRulesTitle, _, _, scoreFlowCont, qualEvalInfo, dutyTarDetErr := commonus.GetDutyAssociatedItems(orderId)
|
|
if dutyTarDetErr == true {
|
|
|
|
addUser, addUserErr := commonus.GetWorkUser(strconv.FormatInt(scoreFlowCont.EvaluationUser, 10))
|
|
if addUserErr == true {
|
|
flowLogListCont.FounDer = addUser.Name
|
|
}
|
|
var departTitleName string
|
|
flowLogListCont.Cycles = qualEvalInfo.Cycles
|
|
flowLogListCont.CycleAttres = qualEvalInfo.CycleAttres
|
|
if qualEvalInfo.AcceptEvaluation != 0 {
|
|
whereDepart := commonus.MapOut()
|
|
whereDepart["id"] = v.AcceptEvaluation
|
|
orgContDer, orgContDerErr := commonus.GetNewOrgCont(whereDepart, "name")
|
|
if orgContDerErr == nil {
|
|
if departTitleName == "" {
|
|
departTitleName = orgContDer.Name
|
|
} else {
|
|
departTitleName = fmt.Sprintf("%v、%v", departTitleName, orgContDer.Name)
|
|
}
|
|
flowLogListCont.ExecutiveDepartment = append(flowLogListCont.ExecutiveDepartment, orgContDer.Name)
|
|
}
|
|
} else {
|
|
whereDepart := commonus.MapOut()
|
|
whereDepart["id"] = v.AcceptEvaluation
|
|
orgContDer, orgContDerErr := commonus.GetNewOrgCont(whereDepart, "name")
|
|
fmt.Printf("whereDepart ---------->%v------->%v-------->%v-------->%v\n", v.TypeClass, whereDepart, orgContDerErr, orgContDer)
|
|
if orgContDerErr == nil {
|
|
if departTitleName == "" {
|
|
departTitleName = orgContDer.Name
|
|
} else {
|
|
departTitleName = fmt.Sprintf("%v、%v", departTitleName, orgContDer.Name)
|
|
}
|
|
flowLogListCont.ExecutiveDepartment = append(flowLogListCont.ExecutiveDepartment, orgContDer.Name)
|
|
}
|
|
}
|
|
if detailedRulesTitle != "" {
|
|
flowLogListCont.Title = fmt.Sprintf("%v %v", departTitleName, detailedRulesTitle)
|
|
} else {
|
|
flowLogListCont.Title = fmt.Sprintf("%v %v", departTitleName, targettitle)
|
|
}
|
|
flowLogListCont.Year = scoreFlowCont.Year //`json:"year"` //年分"`
|
|
flowLogListCont.Quarter = scoreFlowCont.Quarter //`json:"quarter"` //季度"`
|
|
flowLogListCont.Month = scoreFlowCont.Month //`json:"month"` //月"`
|
|
flowLogListCont.Week = scoreFlowCont.Week //`json:"week"` //周"`
|
|
flowLogListCont.Days = commonus.ComputingTime(scoreFlowCont.HappenTime, 5) //`json:"days"` //天
|
|
|
|
} else {
|
|
var departTitleName string
|
|
whereDepart := commonus.MapOut()
|
|
whereDepart["id"] = v.AcceptEvaluation
|
|
orgContDer, orgContDerErr := commonus.GetNewOrgCont(whereDepart, "name")
|
|
fmt.Printf("whereDepart ---------->%v------->%v-------->%v-------->%v\n", v.TypeClass, whereDepart, orgContDerErr, orgContDer)
|
|
if orgContDerErr == nil {
|
|
if departTitleName == "" {
|
|
departTitleName = orgContDer.Name
|
|
} else {
|
|
departTitleName = fmt.Sprintf("%v、%v", departTitleName, orgContDer.Name)
|
|
}
|
|
flowLogListCont.ExecutiveDepartment = append(flowLogListCont.ExecutiveDepartment, orgContDer.Name)
|
|
}
|
|
}
|
|
} else {
|
|
flowLogInfo, flowLogErr := commonus.GetFlowLog(orderId)
|
|
if flowLogErr == true {
|
|
|
|
flowLogListCont.Year = flowLogInfo.Year //`json:"year"` //年分"`
|
|
flowLogListCont.Quarter = flowLogInfo.Quarter //`json:"quarter"` //季度"`
|
|
flowLogListCont.Month = flowLogInfo.Month //`json:"month"` //月"`
|
|
flowLogListCont.Week = flowLogInfo.Week //`json:"week"` //周"`
|
|
flowLogListCont.Days = flowLogInfo.ToDay //`json:"days"` //天
|
|
// fmt.Printf("Title---1-->%v\n", flowLogErr)
|
|
var qualEvalInfo assessmentmodel.QualitativeEvaluation
|
|
qualEvaTargetErr := qualEvalInfo.GetCont(map[string]interface{}{"qe_id": flowLogInfo.EvaluationPlan}, "qe_target", "qe_cycle", "qe_cycleattr", "qe_accept_evaluation")
|
|
// fmt.Printf("Title---2-->%v\n", qualEvaTargetErr)
|
|
if qualEvaTargetErr == nil {
|
|
flowLogListCont.Cycles = qualEvalInfo.Cycles
|
|
flowLogListCont.CycleAttres = qualEvalInfo.CycleAttres
|
|
var departTitleName string
|
|
if qualEvalInfo.AcceptEvaluation != 0 {
|
|
whereDepart := commonus.MapOut()
|
|
whereDepart["id"] = qualEvalInfo.AcceptEvaluation
|
|
orgContDer, orgContDerErr := commonus.GetNewOrgCont(whereDepart, "name")
|
|
if orgContDerErr == nil {
|
|
if departTitleName == "" {
|
|
departTitleName = orgContDer.Name
|
|
} else {
|
|
departTitleName = fmt.Sprintf("%v、%v", departTitleName, orgContDer.Name)
|
|
}
|
|
flowLogListCont.ExecutiveDepartment = append(flowLogListCont.ExecutiveDepartment, orgContDer.Name)
|
|
}
|
|
}
|
|
|
|
var targetInfo assessmentmodel.EvaluationTarget
|
|
targetInfoErr := targetInfo.GetCont(map[string]interface{}{"et_id": qualEvalInfo.Target}, "et_title")
|
|
// fmt.Printf("Title---3-->%v\n", targetInfoErr)
|
|
if targetInfoErr == nil {
|
|
flowLogListCont.Title = fmt.Sprintf("%v %v", departTitleName, targetInfo.Title)
|
|
// flowLogListCont.Title = fmt.Sprintf("%v %v-%v-%v数据上报", targetInfo.Title, flowLogInfo.Year, flowLogInfo.Month, flowLogInfo.ToDay)
|
|
} else {
|
|
// flowLogListCont.Title = fmt.Sprintf("%v-%v-%v数据上报", flowLogInfo.Year, flowLogInfo.Month, flowLogInfo.ToDay)
|
|
flowLogListCont.Title = fmt.Sprintf("%v", departTitleName)
|
|
}
|
|
|
|
} else {
|
|
flowLogListCont.Title = fmt.Sprintf("%v-%v-%v数据上报", flowLogInfo.Year, flowLogInfo.Month, flowLogInfo.ToDay)
|
|
}
|
|
|
|
addUser, addUserErr := commonus.GetWorkUser(strconv.FormatInt(flowLogInfo.EvaluationUser, 10))
|
|
if addUserErr == true {
|
|
flowLogListCont.FounDer = addUser.Name
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
//解析审批流
|
|
var flowLog []FlowStep
|
|
jsonFlowErr := json.Unmarshal([]byte(v.Content), &flowLog)
|
|
setpLen := len(flowLog)
|
|
if jsonFlowErr == nil {
|
|
//得到当前步进值
|
|
currentSetp := setpLen - 1
|
|
if currentSetp < 0 {
|
|
currentSetp = 0
|
|
}
|
|
flowLogListCont.Node = flowLog[currentSetp].StepName
|
|
addUser, addUserErr := commonus.GetWorkUser(flowLog[currentSetp].ClickName)
|
|
if addUserErr == true {
|
|
flowLogListCont.CurrentPeo = addUser.Name
|
|
}
|
|
}
|
|
switch v.State {
|
|
case 1:
|
|
flowLogListCont.Result = "起草"
|
|
flowLogListCont.Condition = "起草"
|
|
case 2:
|
|
flowLogListCont.Result = "审批中"
|
|
flowLogListCont.Condition = "审批中"
|
|
case 3:
|
|
flowLogListCont.Result = "审批通过"
|
|
flowLogListCont.Condition = "已结束"
|
|
case 4:
|
|
flowLogListCont.Result = "驳回"
|
|
flowLogListCont.Condition = "审批中"
|
|
default:
|
|
flowLogListCont.Result = "审批中"
|
|
flowLogListCont.Condition = "审批中"
|
|
}
|
|
flowLogListOut = append(flowLogListOut, flowLogListCont)
|
|
}
|
|
countSum := len(flowLogListOut)
|
|
printData := commonus.OutPutList(total, int64(countSum), requestData.Page, requestData.PageSize, flowLogListOut)
|
|
response.Result(0, printData, "查询成功!", c)
|
|
}
|
|
|
|
func (e *EvaluationInterface) SeeFlowLog(c *gin.Context) {
|
|
isTrue, userCont := commonus.ClientIdentity()
|
|
if isTrue != true {
|
|
response.Result(1001, userCont, "您的身份令牌已经失效!请重新登录获取身份令牌!", c)
|
|
return
|
|
}
|
|
var requestData FlowLogType
|
|
c.ShouldBindJSON(&requestData)
|
|
|
|
if requestData.PageSize == 0 {
|
|
requestData.PageSize = 20
|
|
}
|
|
if requestData.Page <= 0 {
|
|
requestData.Page = 1
|
|
}
|
|
if requestData.IsSet == 0 {
|
|
requestData.IsSet = 1
|
|
}
|
|
offSetPage := commonus.CalculatePages(requestData.Page, requestData.PageSize)
|
|
|
|
// var evalProContList []assessmentmodel.EvaluationProcess
|
|
var evalProContList []assessmentmodel.EvalProcess
|
|
gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.EvalProcess{})
|
|
// gormDb = gormDb.Select("evaluation_process.*,sf.sf_duty_department,sf.sf_evaluation_plan,fl.fl_evaluation_id,fl.fl_evaluation_department,qe.qe_dimension,qe.qe_target,qe.qe_detailed_target,dc.title,et.et_title,dt.dt_title,qe.qe_accept_evaluation")
|
|
// gormDb = gormDb.Joins(("left join score_flow as sf on sf.sf_key = evaluation_process.ep_order_key"))
|
|
// gormDb = gormDb.Joins(("left join flow_log as fl on fl.fl_key = evaluation_process.ep_order_key"))
|
|
|
|
// gormDb = gormDb.Joins(("left join qualitative_evaluation as qe on qe.qe_id = sf.sf_evaluation_plan OR qe.qe_id = fl.fl_evaluation_id"))
|
|
// gormDb = gormDb.Joins(("left join dutyclass as dc on dc.id = qe.qe_dimension"))
|
|
// gormDb = gormDb.Joins(("left join evaluationtarget as et on et.et_id = qe.qe_target"))
|
|
// gormDb = gormDb.Joins(("left join detailed_target as dt on dt.dt_id = qe.qe_detailed_target"))
|
|
|
|
if requestData.Title != "" || requestData.Department != "" {
|
|
|
|
if requestData.Title != "" {
|
|
gormDb = gormDb.Where("class_title LIKE ? OR et_title LIKE ? OR dt_title LIKE ?", "%"+requestData.Title+"%", "%"+requestData.Title+"%", "%"+requestData.Title+"%")
|
|
}
|
|
if requestData.Department != "" {
|
|
// gormDb = gormDb.Where("sf_depart = ? OR fl_depart = ?", requestData.Department, requestData.Department)
|
|
gormDb = gormDb.Where("ep_setup_department = ? OR ep_accept_department = ?", requestData.Department, requestData.Department)
|
|
}
|
|
}
|
|
//是否为管理员(1:不是;2:分公司;3:集团管理员;4:超级管
|
|
fmt.Printf("userCont.IsAdmin =============>%v\n", userCont.IsAdmin)
|
|
switch userCont.IsAdmin {
|
|
case "2":
|
|
fmt.Printf("userCont.IsAdmin =====2========>%v\n", userCont.IsAdmin)
|
|
case "3":
|
|
fmt.Printf("userCont.IsAdmin ======3=======>%v\n", userCont.IsAdmin)
|
|
case "4":
|
|
fmt.Printf("userCont.IsAdmin =======4======>%v\n", userCont.IsAdmin)
|
|
default:
|
|
fmt.Printf("userCont.IsAdmin =======5======>%v\n", userCont.IsAdmin)
|
|
gormDb = gormDb.Where("FIND_IN_SET(?,`ep_participants`)", userCont.Key)
|
|
}
|
|
// gormDb = gormDb.Where("FIND_IN_SET(?,`ep_participants`)", userCont.Key)
|
|
|
|
if requestData.IsSet == 1 {
|
|
gormDb = gormDb.Where("FIND_IN_SET(?,`ep_participants`) OR NOT FIND_IN_SET(?,`ep_next_executor`)", userCont.Key, userCont.Key)
|
|
} else {
|
|
gormDb = gormDb.Where("FIND_IN_SET(?,`ep_next_executor`)", userCont.Key)
|
|
}
|
|
|
|
if requestData.State != 0 {
|
|
gormDb = gormDb.Where("ep_state = ?", requestData.State)
|
|
} else {
|
|
gormDb = gormDb.Where("ep_state IN ?", []int{1, 2, 3})
|
|
}
|
|
if requestData.Time != "" {
|
|
startTime, endTime := commonus.GetAppointMonthStarAndEndTime(requestData.Time)
|
|
gormDb = gormDb.Where("ep_start_time BETWEEN ? AND ?", startTime, endTime)
|
|
}
|
|
|
|
if requestData.Class != 0 {
|
|
gormDb = gormDb.Where("ep_type = ?", requestData.Class)
|
|
}
|
|
/*
|
|
获取总共有多少记录
|
|
*/
|
|
var total int64
|
|
totalErr := gormDb.Count(&total).Error
|
|
if totalErr != nil {
|
|
total = 0
|
|
}
|
|
//获取记录数据
|
|
evaErr := gormDb.Order("ep_state ASC,ep_id DESC").Limit(requestData.PageSize).Offset(offSetPage).Find(&evalProContList).Error
|
|
// evaErr := gormDb.Order("ep_id DESC").Limit(requestData.PageSize).Offset(offSetPage).Find(&evalProContList).Error
|
|
if evaErr != nil {
|
|
response.Result(104, evaErr, "数据获取失败!", c)
|
|
return
|
|
}
|
|
// response.Result(104, evalProContList, "数据获取失败!", c)
|
|
// return
|
|
var flowLogListOut []FlowLogListOut
|
|
for _, v := range evalProContList {
|
|
var flowLogListCont FlowLogListOut
|
|
orderId := strconv.FormatInt(v.OrderKey, 10)
|
|
flowLogListCont.OutId = orderId
|
|
flowLogListCont.Class = v.TypeClass
|
|
flowLogListCont.MonthDays = commonus.TimeStampToDate(v.StartTime, 15)
|
|
|
|
flowLogListCont.IsSet = 1
|
|
isSetUser := strings.Split(v.NextExecutor, ",")
|
|
if len(isSetUser) > 0 {
|
|
if commonus.IsItTrueString(userCont.Key, isSetUser) == true {
|
|
flowLogListCont.IsSet = 2
|
|
}
|
|
}
|
|
|
|
// fmt.Printf("TypeClass ---------%v\n", v.TypeClass)
|
|
if v.TypeClass == 1 {
|
|
//获取考核项目关联项目
|
|
targettitle, detailedRulesTitle, _, _, scoreFlowCont, qualEvalInfo, dutyTarDetErr := commonus.GetDutyAssociatedItems(orderId)
|
|
if dutyTarDetErr == true {
|
|
|
|
addUser, addUserErr := commonus.GetWorkUser(strconv.FormatInt(scoreFlowCont.EvaluationUser, 10))
|
|
if addUserErr == true {
|
|
flowLogListCont.FounDer = addUser.Name
|
|
}
|
|
var departTitleName string
|
|
flowLogListCont.Cycles = qualEvalInfo.Cycles
|
|
flowLogListCont.CycleAttres = qualEvalInfo.CycleAttres
|
|
if qualEvalInfo.AcceptEvaluation != 0 {
|
|
whereDepart := commonus.MapOut()
|
|
whereDepart["id"] = qualEvalInfo.AcceptEvaluation
|
|
orgContDer, orgContDerErr := commonus.GetNewOrgCont(whereDepart, "name")
|
|
if orgContDerErr == nil {
|
|
if departTitleName == "" {
|
|
departTitleName = orgContDer.Name
|
|
} else {
|
|
departTitleName = fmt.Sprintf("%v、%v", departTitleName, orgContDer.Name)
|
|
}
|
|
flowLogListCont.ExecutiveDepartment = append(flowLogListCont.ExecutiveDepartment, orgContDer.Name)
|
|
}
|
|
} else {
|
|
whereDepart := commonus.MapOut()
|
|
whereDepart["id"] = v.AcceptDepartment
|
|
orgContDer, orgContDerErr := commonus.GetNewOrgCont(whereDepart, "name")
|
|
// fmt.Printf("whereDepart ---------->%v------->%v-------->%v-------->%v\n", v.TypeClass, whereDepart, orgContDerErr, orgContDer)
|
|
if orgContDerErr == nil {
|
|
if departTitleName == "" {
|
|
departTitleName = orgContDer.Name
|
|
} else {
|
|
departTitleName = fmt.Sprintf("%v、%v", departTitleName, orgContDer.Name)
|
|
}
|
|
flowLogListCont.ExecutiveDepartment = append(flowLogListCont.ExecutiveDepartment, orgContDer.Name)
|
|
}
|
|
}
|
|
// jsnnn, _ := json.Marshal(qualEvalInfo)
|
|
// fmt.Printf("qualEvalInfo-------------->%v\n", string(jsnnn))
|
|
// BranchInfo, dErr := commonus.GetNewOrgCont(v.AcceptDepartment, "name")
|
|
if detailedRulesTitle != "" {
|
|
flowLogListCont.Title = fmt.Sprintf("%v %v", departTitleName, detailedRulesTitle)
|
|
} else {
|
|
flowLogListCont.Title = fmt.Sprintf("%v %v", departTitleName, targettitle)
|
|
}
|
|
flowLogListCont.Year = scoreFlowCont.Year //`json:"year"` //年分"`
|
|
flowLogListCont.Quarter = scoreFlowCont.Quarter //`json:"quarter"` //季度"`
|
|
flowLogListCont.Month = scoreFlowCont.Month //`json:"month"` //月"`
|
|
flowLogListCont.Week = scoreFlowCont.Week //`json:"week"` //周"`
|
|
flowLogListCont.Days = commonus.ComputingTime(scoreFlowCont.HappenTime, 5) //`json:"days"` //天
|
|
|
|
} else {
|
|
var departTitleName string
|
|
whereDepart := commonus.MapOut()
|
|
whereDepart["id"] = v.AcceptDepartment
|
|
orgContDer, orgContDerErr := commonus.GetNewOrgCont(whereDepart, "name")
|
|
// fmt.Printf("whereDepart ---------->%v------->%v-------->%v-------->%v\n", v.TypeClass, whereDepart, orgContDerErr, orgContDer)
|
|
if orgContDerErr == nil {
|
|
if departTitleName == "" {
|
|
departTitleName = orgContDer.Name
|
|
} else {
|
|
departTitleName = fmt.Sprintf("%v、%v", departTitleName, orgContDer.Name)
|
|
}
|
|
flowLogListCont.ExecutiveDepartment = append(flowLogListCont.ExecutiveDepartment, orgContDer.Name)
|
|
}
|
|
}
|
|
} else {
|
|
flowLogInfo, flowLogErr := commonus.GetFlowLog(orderId)
|
|
if flowLogErr == true {
|
|
|
|
flowLogListCont.Year = flowLogInfo.Year //`json:"year"` //年分"`
|
|
flowLogListCont.Quarter = flowLogInfo.Quarter //`json:"quarter"` //季度"`
|
|
flowLogListCont.Month = flowLogInfo.Month //`json:"month"` //月"`
|
|
flowLogListCont.Week = flowLogInfo.Week //`json:"week"` //周"`
|
|
flowLogListCont.Days = flowLogInfo.ToDay //`json:"days"` //天
|
|
// fmt.Printf("Title---1-->%v\n", flowLogErr)
|
|
var qualEvalInfo assessmentmodel.QualitativeEvaluation
|
|
qualEvaTargetErr := qualEvalInfo.GetCont(map[string]interface{}{"qe_id": flowLogInfo.EvaluationPlan}, "qe_target", "qe_cycle", "qe_cycleattr", "qe_accept_evaluation")
|
|
// fmt.Printf("Title---2-->%v\n", qualEvaTargetErr)
|
|
if qualEvaTargetErr == nil {
|
|
flowLogListCont.Cycles = qualEvalInfo.Cycles
|
|
flowLogListCont.CycleAttres = qualEvalInfo.CycleAttres
|
|
var departTitleName string
|
|
if qualEvalInfo.AcceptEvaluation != 0 {
|
|
whereDepart := commonus.MapOut()
|
|
whereDepart["id"] = qualEvalInfo.AcceptEvaluation
|
|
orgContDer, orgContDerErr := commonus.GetNewOrgCont(whereDepart, "name")
|
|
if orgContDerErr == nil {
|
|
if departTitleName == "" {
|
|
departTitleName = orgContDer.Name
|
|
} else {
|
|
departTitleName = fmt.Sprintf("%v、%v", departTitleName, orgContDer.Name)
|
|
}
|
|
flowLogListCont.ExecutiveDepartment = append(flowLogListCont.ExecutiveDepartment, orgContDer.Name)
|
|
}
|
|
}
|
|
|
|
var targetInfo assessmentmodel.EvaluationTarget
|
|
targetInfoErr := targetInfo.GetCont(map[string]interface{}{"et_id": qualEvalInfo.Target}, "et_title")
|
|
// fmt.Printf("Title---3-->%v\n", targetInfoErr)
|
|
if targetInfoErr == nil {
|
|
flowLogListCont.Title = fmt.Sprintf("%v %v", departTitleName, targetInfo.Title)
|
|
// flowLogListCont.Title = fmt.Sprintf("%v %v-%v-%v数据上报", targetInfo.Title, flowLogInfo.Year, flowLogInfo.Month, flowLogInfo.ToDay)
|
|
} else {
|
|
// flowLogListCont.Title = fmt.Sprintf("%v-%v-%v数据上报", flowLogInfo.Year, flowLogInfo.Month, flowLogInfo.ToDay)
|
|
flowLogListCont.Title = fmt.Sprintf("%v", departTitleName)
|
|
}
|
|
|
|
} else {
|
|
flowLogListCont.Title = fmt.Sprintf("%v-%v-%v数据上报", flowLogInfo.Year, flowLogInfo.Month, flowLogInfo.ToDay)
|
|
}
|
|
|
|
addUser, addUserErr := commonus.GetWorkUser(strconv.FormatInt(flowLogInfo.EvaluationUser, 10))
|
|
if addUserErr == true {
|
|
flowLogListCont.FounDer = addUser.Name
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
//解析审批流
|
|
var flowLog []FlowStep
|
|
jsonFlowErr := json.Unmarshal([]byte(v.Content), &flowLog)
|
|
setpLen := len(flowLog)
|
|
if jsonFlowErr == nil {
|
|
//得到当前步进值
|
|
currentSetp := setpLen - 1
|
|
if currentSetp < 0 {
|
|
currentSetp = 0
|
|
}
|
|
flowLogListCont.Node = flowLog[currentSetp].StepName
|
|
addUser, addUserErr := commonus.GetWorkUser(flowLog[currentSetp].ClickName)
|
|
if addUserErr == true {
|
|
flowLogListCont.CurrentPeo = addUser.Name
|
|
}
|
|
}
|
|
switch v.State {
|
|
case 1:
|
|
flowLogListCont.Result = "起草"
|
|
flowLogListCont.Condition = "起草"
|
|
flowLogListCont.StateType = 1
|
|
case 2:
|
|
flowLogListCont.Result = "审批中"
|
|
flowLogListCont.Condition = "审批中"
|
|
flowLogListCont.StateType = 2
|
|
case 3:
|
|
flowLogListCont.Result = "审批通过"
|
|
flowLogListCont.Condition = "已结束"
|
|
flowLogListCont.StateType = 3
|
|
case 4:
|
|
flowLogListCont.Result = "驳回"
|
|
flowLogListCont.Condition = "审批中"
|
|
flowLogListCont.StateType = 4
|
|
default:
|
|
flowLogListCont.Result = "审批中"
|
|
flowLogListCont.Condition = "审批中"
|
|
flowLogListCont.StateType = 0
|
|
}
|
|
flowLogListOut = append(flowLogListOut, flowLogListCont)
|
|
}
|
|
countSum := len(flowLogListOut)
|
|
printData := commonus.OutPutList(total, int64(countSum), requestData.Page, requestData.PageSize, flowLogListOut)
|
|
if countSum > 0 {
|
|
response.Result(0, printData, "查询成功!", c)
|
|
} else {
|
|
response.Result(3000, printData, "没有数据", c)
|
|
}
|
|
|
|
}
|
|
|