dddd
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.

90 lines
3.1 KiB

package assessment
import (
"strconv"
"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/flipped-aurora/gin-vue-admin/server/model/testpage"
"github.com/gin-gonic/gin"
)
//部门考核
func (d *DutyHandle) DepartmentList(c *gin.Context) {
var requestData rationSelect
c.ShouldBindJSON(&requestData)
var groupId int64 = 3
if requestData.Group != "" {
groupId, _ = strconv.ParseInt(requestData.Group, 10, 64)
}
var departList []deparMentModel
gromDb := global.GVA_DB_Master.Model(&testpage.BranchFactory{}).Select("bf_id", "bf_name", "bf_wechat_id").Where("`bf_set` = 1 AND `bf_group` = ?", groupId)
if requestData.DepartmentId != "" {
gromDb = gromDb.Where("`bf_id` = ?", requestData.DepartmentId)
}
departMentErr := gromDb.Find(&departList).Error
if departMentErr != nil || len(departList) < 1 {
response.Result(101, departMentErr, "没有数据!", c)
return
}
var departAryList []departmentDuty
for _, v := range departList {
var departCont departmentDuty
departCont.Id = strconv.FormatInt(v.Id, 10)
departCont.Name = v.Name
departCont.Child = getDepartDimension(groupId, v.Id)
departAryList = append(departAryList, departCont)
}
response.Result(0, departAryList, "数据获取成功!", c)
}
//获取部门考核维度
func getDepartDimension(groupId, departId int64) (dimensionAry []departmentDimension) {
var fileAry []int64
dimErr := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.DepartmentDimension{}).Select("dd_dimension").Where("`dd_group` = ? AND `dd_department` = ?", groupId, departId).Group("dd_dimension").Find(&fileAry).Error
// fmt.Printf("1--------------->%v\n", dimErr)
if dimErr == nil {
for _, v := range fileAry {
dimInfo, dimInfoErr := commonus.GetDutyClassInfo(v)
// fmt.Printf("2--------------->%v\n", dimInfo)
if dimInfoErr == true {
var dimCont departmentDimension
dimCont.Id = strconv.FormatInt(v, 10)
dimCont.Name = dimInfo.Title
dimCont.Child = targetRationDepartList(groupId, departId, v)
dimensionAry = append(dimensionAry, dimCont)
}
}
}
return
}
//部门考核项目
func targetRationDepartList(groupID, departmentID, dimension int64) (contentList []taskDetails) {
var fileTargetAry []assessmentmodel.QualitativeEvaluation
listTargetErr := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeEvaluation{}).Where("`qe_group` = ? AND `qe_accept_evaluation` = ? AND `qe_dimension` = ?", groupID, departmentID, dimension).Find(&fileTargetAry).Error
if listTargetErr != nil {
return
}
for _, v := range fileTargetAry {
var content taskDetails
targetInfo, targetErr := commonus.GetTargetInfo(v.Target)
if targetErr == true {
content.Id = strconv.FormatInt(v.Target, 10)
content.Name = targetInfo.Title
content.Unit = v.Unit
content.ReferenceScore = v.ReferenceScore
content.Cycles = v.Cycles
content.CycleAttres = v.CycleAttres
content.State = v.State
contentList = append(contentList, content)
}
}
return
}