Browse Source

判断得分是否为零

master
超级管理员 3 years ago
parent
commit
48a3f2a2b5
  1. 6
      api/index/statistics/newstatistics.go
  2. 2
      api/index/statistics/tablestatistics.go
  3. 35
      api/statistics/quantification/summary_details.go
  4. 175
      commonus/publichaneld.go
  5. 2
      router/examtestpage/healthreporthandle.go

6
api/index/statistics/newstatistics.go

@ -58,7 +58,7 @@ func (t *tablePlanVersionStic) conditionStatisticsNew(group, department, dimensi
fmt.Printf("targetid------------->%v------------>%v---->%v\n", targetId, timeClass, string(jsCon))
var mtScore float64 = 0
// var mtScore float64 = 0
var atScore float64 = 0
var lastEvalId int64
// var scoreSum float64 = 0
@ -81,7 +81,7 @@ func (t *tablePlanVersionStic) conditionStatisticsNew(group, department, dimensi
}
// scoreSum = scoreSum + atScore
// scoreSum = scoreSum + float64(v.Score)
mtScore = mtScore + v.ScoringScore
// mtScore = mtScore + v.ScoringScore
if v.DutyDepartment != 0 {
whereDepart := commonus.MapOut()
whereDepart["id"] = v.DutyDepartment
@ -98,7 +98,7 @@ func (t *tablePlanVersionStic) conditionStatisticsNew(group, department, dimensi
dimensionIdInt, _ := strconv.ParseInt(dimensionId, 10, 64)
zeroPrize, allPrize, cappingPrize := GetAllZreoCapp(lastEvalId, groupId, departmentId, dimensionIdInt, targetIdInt, yserInt, int64(i), 0)
// fmt.Printf("scoreSum--->%v------->mtScore--->%v---->zeroPrize--->%v---->allPrize--->%v---->cappingPrize--->%v---->typeClass---->%v\n", scoreSum, mtScore, zeroPrize, allPrize, cappingPrize, typeClass)
// fmt.Printf("atScore--->%v------->mtScore--->%v---->zeroPrize--->%v---->allPrize--->%v---->cappingPrize--->%v---->typeClass---->%v\n", atScore, mtScore, zeroPrize, allPrize, cappingPrize, typeClass)
tableScoreCont.ActualScore, tableScoreCont.AllPrize, tableScoreCont.ZeroPrize, tableScoreCont.CappingVal, tableScoreCont.Achievement = commonus.CalculateScore(referenceScore, atScore, allPrize, zeroPrize, cappingPrize, typeClass)
// tableScoreCont.ActualScore, tableScoreCont.AllPrize, tableScoreCont.ZeroPrize, tableScoreCont.CappingVal, tableScoreCont.Achievement = commonus.CalculateScore(referenceScore, zhidongDongLiang, allPrize, zeroPrize, cappingPrize, typeClass)

2
api/index/statistics/tablestatistics.go

@ -15,7 +15,7 @@ import (
"github.com/gin-gonic/gin"
)
//获取有效版本考核
// 获取有效版本考核
func (a *ApiGroup) GetPlanVersionValid(c *gin.Context) {
isTrue, userCont := commonus.ClientIdentity()
if isTrue != true {

35
api/statistics/quantification/summary_details.go

@ -58,7 +58,7 @@ func (a *ApiGroup) SummaryDetails(c *gin.Context) {
var lookStatistics []detailedResultsList
for _, v := range planVersionCont { //维度
for _, cv := range v.Child { //指标
// if cv.Id == "50" {
if cv.Id == "52" {
var statisCont detailedResultsList
statisCont.GroupId = strconv.FormatInt(planVersion.Group, 10) //集团Id
var groupCont hrsystem.AdministrativeOrganization
@ -104,7 +104,7 @@ func (a *ApiGroup) SummaryDetails(c *gin.Context) {
// }
lookStatistics = append(lookStatistics, statisCont)
// }
}
}
}
@ -192,7 +192,7 @@ func DingLiangMonthSum(groupId, departmentId, weight, year, month int64, targetI
var flowDataLog []assessmentmodel.FlowDataLogType
err := global.GVA_DB_Performanceappraisal.Where("`group` = ? AND `department` = ? AND `year` = ? AND `month` = ? AND `targetid` = ?", groupId, departmentId, year, month, targetId).Find(&flowDataLog).Error
fmt.Printf("err ------flowDataLog------>%v------>%v\n", err, flowDataLog)
fmt.Printf("err ------flowDataLog------>err:%v------>status:%v------>flowDataLog:%v\n", err, status, flowDataLog)
if err != nil || len(flowDataLog) < 1 {
score = float64(weight)
@ -224,10 +224,12 @@ func DingLiangMonthSum(groupId, departmentId, weight, year, month int64, targetI
default:
}
sumScoreEs = sumScoreEs + sumScoreGet
fmt.Printf("sumScoreEs--1--->%v\n", v.Score)
} else {
sumScoreEs = sumScoreEs + (float64(v.ScoringScore) / 100)
// sumScoreGet, _, _, _, _ := analysisReward(targetId, v.Baseline, float64(weight), float64(v.ScoringScore))
// sumScoreEs = sumScoreEs + sumScoreGet
fmt.Printf("sumScoreEs--2--->%v\n", sumScoreEs)
}
} else {
sumScoreEs = sumScoreEs + targetScore
@ -242,7 +244,7 @@ func DingLiangMonthSum(groupId, departmentId, weight, year, month int64, targetI
}
}
}
// fmt.Printf("EvalDepartment--3--->%v\n", EvalDepartment)
fmt.Printf("sumScoreEs--3--->%v\n", sumScoreEs)
score = sumScoreEs
// if cycs != 4 {
// score = float64(weight)
@ -277,12 +279,12 @@ func analysisReward(targetId, rewardCont string, targetScore, settlementScore fl
scoreVal = targetScore
return
}
settlementScore = settlementScore / 100
for _, v := range rewardAry {
if v.TargetId == targetId {
allPrize = v.Allprize
zeroPrize = v.Zeroprize
CappingVal = v.Capping
allPrize = v.Allprize / 100
zeroPrize = v.Zeroprize / 100
CappingVal = v.Capping / 100
// fmt.Printf("%v----全奖--1-->%v--零奖------->%v----封顶值---->%v----指标---->%v----计算---->%v-----结果------->%v-----达成率------->%v\n", targetId, allPrize, zeroPrize, CappingVal, targetScore, settlementScore, scoreVal, achievement)
@ -307,11 +309,19 @@ func analysisReward(targetId, rewardCont string, targetScore, settlementScore fl
// fmt.Printf("%v----全奖--4-->%v--零奖------->%v----封顶值---->%v----指标---->%v----计算---->%v-----结果------->%v-----达成率------->%v\n", targetId, allPrize, zeroPrize, CappingVal, targetScore, settlementScore, scoreVal, achievement)
} else {
if achievement*100 >= CappingVal/100 {
scoreVal = (CappingVal / 100) * targetScore / 100
if CappingVal > 0 {
scoreVal = (CappingVal / 100) * targetScore
// fmt.Printf("%v----全奖--6-1->%v--零奖------->%v----封顶值---->%v----指标---->%v----计算---->%v-----结果------->%v-----达成率------->%v\n", targetId, allPrize, zeroPrize, CappingVal, targetScore, settlementScore, scoreVal, achievement)
} else {
scoreVal = targetScore
// fmt.Printf("%v----全奖--6-2->%v--零奖------->%v----封顶值---->%v----指标---->%v----计算---->%v-----结果------->%v-----达成率------->%v\n", targetId, allPrize, zeroPrize, CappingVal, targetScore, settlementScore, scoreVal, achievement)
}
} else {
scoreVal = (chuShu / beiChuShu) * targetScore
// fmt.Printf("%v----全奖--6-3->%v--零奖------->%v----封顶值---->%v----指标---->%v----计算---->%v-----结果------->%v-----达成率------->%v\n", targetId, allPrize, zeroPrize, CappingVal, targetScore, settlementScore, scoreVal, achievement)
}
// fmt.Printf("%v----全奖--6-->%v--零奖------->%v----封顶值---->%v----指标---->%v----计算---->%v-----结果------->%v-----达成率------->%v\n", targetId, allPrize, zeroPrize, CappingVal, targetScore, settlementScore, scoreVal, achievement)
}
achievement = commonus.DecimalEs(achievement*100, 4)
// fmt.Printf("%v----全奖--6-->%v--零奖------->%v----封顶值---->%v----指标---->%v----计算---->%v-----结果------->%v-----达成率------->%v\n", targetId, allPrize, zeroPrize, CappingVal, targetScore, settlementScore, scoreVal, achievement)
@ -360,7 +370,12 @@ func analysisReward(targetId, rewardCont string, targetScore, settlementScore fl
}
}
if settlementScore == 0 {
scoreVal = 0
} else {
scoreVal = commonus.Decimal(scoreVal)
}
allPrize = commonus.Decimal(allPrize)
zeroPrize = commonus.Decimal(zeroPrize)
CappingVal = commonus.Decimal(CappingVal)

175
commonus/publichaneld.go

@ -26,13 +26,13 @@ import (
"gorm.io/gorm"
)
//遍历所有父类
// 遍历所有父类
type ErgodicStruct struct {
ParentId int64
Date []int64
}
//遍历组织架构
// 遍历组织架构
func (e *ErgodicStruct) ErgodicParentClassGroup(id int64, groupStruct []wechat.GroupForm) {
for _, v := range groupStruct {
if e.ParentId == 1 {
@ -52,7 +52,7 @@ func (e *ErgodicStruct) ErgodicParentClassGroup(id int64, groupStruct []wechat.G
}
}
//冒泡排序法
// 冒泡排序法
func BubbleSort(slice []int64) []int64 {
for n := 0; n <= len(slice); n++ {
for i := 1; i < len(slice)-n; i++ {
@ -75,7 +75,7 @@ func BubbleSortInt(slice []int) []int {
return slice
}
//编号,纯数字
// 编号,纯数字
func TableNumber(class ...string) (number int64) {
result, _ := rand.Int(rand.Reader, big.NewInt(8999))
numberTeam := result.Int64() + 1000
@ -89,7 +89,7 @@ func TableNumber(class ...string) (number int64) {
return
}
//获取公司,分厂,工段
// 获取公司,分厂,工段
func GetGroupInfo(id int64) (isTrue bool, groupStruct wechat.GroupForm) {
isTrue = false
redisClient := redishandel.RunRedis()
@ -120,7 +120,7 @@ func GetGroupInfo(id int64) (isTrue bool, groupStruct wechat.GroupForm) {
return
}
//获主数据库员工信息(微信版本)
// 获主数据库员工信息(微信版本)
func GetMainDataBaseUserInfo(weChatId string) (isTrue bool, myInfo testpage.WorkMan) {
isTrue = false
err := global.GVA_DB_Master.Where("qywx_key = ? or wx_key = ?", weChatId, weChatId).First(&myInfo).Error //获取集团信息
@ -196,7 +196,7 @@ func GetMainDataBaseUserInfo(weChatId string) (isTrue bool, myInfo testpage.Work
return
}
//获取成员信息
// 获取成员信息
func GetWechatUserInfo(weChatId string) (us UserListStruct) {
if weChatId == "" {
return
@ -225,7 +225,7 @@ func GetWechatUserInfo(weChatId string) (us UserListStruct) {
return
}
//添加企业微信组织
// 添加企业微信组织
func AddWechatGroup(id int64, groupStruct wechat.GroupForm) (groupInfo wechat.GroupForm, isTrue bool) {
isTrue = false
groupFrameWork, isTrueErr := GetWechatFramework(id)
@ -294,7 +294,7 @@ func AddWechatGroup(id int64, groupStruct wechat.GroupForm) (groupInfo wechat.Gr
return
}
//获取成员信息列表(企业威信数据库)
// 获取成员信息列表(企业威信数据库)
func GetMemberList() (userStruct []wechat.WechatUsers, isTrue bool) {
isTrue = false
var userAry []wechat.WechatUsers
@ -451,14 +451,14 @@ func GetMemberList() (userStruct []wechat.WechatUsers, isTrue bool) {
return
}
//获取全国风险地区列表(企鹅接口 https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5)
// 获取全国风险地区列表(企鹅接口 https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5)
func NationalRiskArea() []byte {
nationalUrl := "https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5"
userInfo := CurlGet(nationalUrl)
return userInfo
}
//获取全国风险地区列表数据处理
// 获取全国风险地区列表数据处理
func GetNationalRiskArea() (riskAreaCityList []RegionalRiskLevel, isTrue bool) {
isTrue = false
redisClient := redishandel.RunRedis()
@ -541,7 +541,7 @@ func GetNationalRiskArea() (riskAreaCityList []RegionalRiskLevel, isTrue bool) {
return
}
//写入异常人员列表
// 写入异常人员列表
func WriteInMan(wechat, calCulTime string, groupId int64) {
if wechat == "" {
return
@ -570,14 +570,14 @@ func WriteInMan(wechat, calCulTime string, groupId int64) {
}
}
//通用查询结果到map结构
// 通用查询结果到map结构
type GormTopMap struct {
Db *gorm.DB
TableName string
WhereMap map[string]interface{}
}
//输出Map查询数据库结果(多行)
// 输出Map查询数据库结果(多行)
func (g *GormTopMap) PublicOrmToMap() (returnData []map[string]interface{}) {
if len(g.WhereMap) > 0 {
g.Db.Table(g.TableName).Where(g.WhereMap).Find(&returnData)
@ -587,7 +587,7 @@ func (g *GormTopMap) PublicOrmToMap() (returnData []map[string]interface{}) {
return
}
//输出Map查询数据库结果(单行)
// 输出Map查询数据库结果(单行)
func (g *GormTopMap) PublicOrmToMapOne() (returnData map[string]interface{}) {
var selectData []map[string]interface{}
if len(g.WhereMap) > 0 {
@ -601,7 +601,7 @@ func (g *GormTopMap) PublicOrmToMapOne() (returnData map[string]interface{}) {
return
}
//判断地址中是否还有http或https
// 判断地址中是否还有http或https
func JudgeHttpOrHttps(urlStr string) (isTrue bool) {
isTrue = false
re := regexp.MustCompile(`(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?`)
@ -617,7 +617,7 @@ func JudgeHttpOrHttps(urlStr string) (isTrue bool) {
return
}
//获取工段信息
// 获取工段信息
func GetWorkShopSection(id int64) (isTrue bool, workShopesStruct testpage.WorkShopsection) { //工段表结构
isTrue = false
err := global.GVA_DB_Master.Where("ws_id = ?", id).First(&workShopesStruct).Error //获取工段信息
@ -628,7 +628,7 @@ func GetWorkShopSection(id int64) (isTrue bool, workShopesStruct testpage.WorkSh
return
}
//用户端身份解析
// 用户端身份解析
func ClientIdentity() (isTrue bool, redisUserInfo testpage.RedisUserInfo) {
// keyStr := strconv.FormatInt(global.GVA_INDEX_USERKEY, 10)
// redisClient := redishandel.RunRedis()
@ -661,7 +661,7 @@ func ClientIdentity() (isTrue bool, redisUserInfo testpage.RedisUserInfo) {
return
}
//获取用户信息
// 获取用户信息
func getPeopleInfo() (redisUserInfo testpage.RedisUserInfo, isTrue bool) {
isTrue = false
var ueInfo hrsystem.PersonArchives
@ -731,7 +731,7 @@ func getPeopleInfo() (redisUserInfo testpage.RedisUserInfo, isTrue bool) {
return
}
//获取权限点位
// 获取权限点位
func getRoleInt(roleId string) (menuStr, buttonStr string) {
var roleInfo systemuser.SystemRole
err := global.GVA_DB_Master.Where("`r_id` = ?", roleId).First(&roleInfo).Error
@ -743,7 +743,7 @@ func getRoleInt(roleId string) (menuStr, buttonStr string) {
return
}
//获取员工公司组织
// 获取员工公司组织
func getOrgCont(id string) (oldId, orgName string) {
var orgInfo hrsystem.AdministrativeOrganization
err := global.GVA_DB_HrDataBase.Where("`id` = ?", id).First(&orgInfo).Error
@ -755,7 +755,7 @@ func getOrgCont(id string) (oldId, orgName string) {
return
}
//获取新行政组织内容
// 获取新行政组织内容
func GetNewOrgCont(where interface{}, field ...string) (orgCont hrsystem.AdministrativeOrganization, err error) {
gormDb := global.GVA_DB_HrDataBase.Model(&hrsystem.AdministrativeOrganization{})
if len(field) > 0 {
@ -767,7 +767,7 @@ func GetNewOrgCont(where interface{}, field ...string) (orgCont hrsystem.Adminis
return
}
//获取员工公司职务
// 获取员工公司职务
func getPositionCont(id int64) (oldId, orgName string) {
var orgInfo hrsystem.Position
err := global.GVA_DB_HrDataBase.Where("`id` = ?", id).First(&orgInfo).Error
@ -779,7 +779,7 @@ func getPositionCont(id int64) (oldId, orgName string) {
return
}
//自定义管理端身份解析
// 自定义管理端身份解析
func AdminClientIdentity() (isTrue bool, redisAdminInfo systemuser.RedisAdminInfo) {
// keyStr := strconv.FormatInt(global.GVA_ADMIN_USERKEY, 10)
// redisClient := redishandel.RunRedis()
@ -796,7 +796,7 @@ func AdminClientIdentity() (isTrue bool, redisAdminInfo systemuser.RedisAdminInf
return
}
//更具微信ID获取员工信息
// 更具微信ID获取员工信息
func GetUesrContForWechatID(wechatId string) (isTrue bool, myCont PublicUserCont) {
redisClient := redishandel.RunRedis()
isTrue = false
@ -1055,7 +1055,7 @@ func GetUesrContForWechatID(wechatId string) (isTrue bool, myCont PublicUserCont
return
}
//计算年龄
// 计算年龄
func CalculateAge(birthday int64) (shengRi int) {
dangQianShijian := time.Now().Unix()
ageFloat := float64(dangQianShijian) - float64(birthday)
@ -1322,7 +1322,7 @@ func GetUesrContForWechatIDOld(wechatId string) (isTrue bool, myCont PublicUserC
return
}
//获得分厂名称
// 获得分厂名称
func GetBranchFactory(id int64) (isTrue bool, ContInfo hrsystem.AdministrativeOrganization) {
isTrue = false
err := global.GVA_DB_HrDataBase.Where("`Id` = ?", id).First(&ContInfo).Error
@ -1340,7 +1340,7 @@ func GetBranchFactoryOld(id int64) (isTrue bool, ContInfo testpage.BranchFactory
return
}
//获取职务信息
// 获取职务信息
func GetPosition(id int64) (isTrue bool, content hrsystem.Position) {
isTrue = false
err := global.GVA_DB_HrDataBase.Where("`id` = ?", id).First(&content).Error
@ -1359,7 +1359,7 @@ func GetPositionOld(id int64) (isTrue bool, content testpage.Position) {
return
}
//获取班组信息
// 获取班组信息
func GetTeaming(id int64) (isTrue bool, content hrsystem.TeamGroup) {
isTrue = false
err := global.GVA_DB_HrDataBase.Where("`id` = ?", id).First(&content).Error
@ -1369,7 +1369,7 @@ func GetTeaming(id int64) (isTrue bool, content hrsystem.TeamGroup) {
return
}
//获取职务最大权重ID
// 获取职务最大权重ID
func GetPositionMaxWeight(departmentID int64) (isTrue bool, content testpage.Position) {
isTrue = false
selectData := MapOut()
@ -1384,7 +1384,7 @@ func GetPositionMaxWeight(departmentID int64) (isTrue bool, content testpage.Pos
return
}
//获取职责内容
// 获取职责内容
func GetDutyContDepart(id int64) (isTrue bool, dutyAssClass DutyAssClass) {
isTrue = false
var dutyCont assessmentmodel.DepartDuty
@ -1420,7 +1420,7 @@ func GetDutyContDepart(id int64) (isTrue bool, dutyAssClass DutyAssClass) {
return
}
//获取集团信息
// 获取集团信息
func GetGroupCont(id int64) (isTrue bool, ContInfo wechat.GroupForm) {
isTrue = false
err := global.GVA_DB_WatchDate.Where("g_id = ?", id).First(&ContInfo).Error
@ -1430,7 +1430,7 @@ func GetGroupCont(id int64) (isTrue bool, ContInfo wechat.GroupForm) {
return
}
//获取考核细则相关内容
// 获取考核细则相关内容
func GetDutyCont(field, whereData interface{}) (isTrue bool, outData map[string]interface{}) {
isTrue = false
errAss := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.DutyContent{}).Select(field).Where(whereData).First(&outData).Error
@ -1441,7 +1441,7 @@ func GetDutyCont(field, whereData interface{}) (isTrue bool, outData map[string]
return
}
//获取人员信息
// 获取人员信息
func GetUserInfoPublic(field interface{}, whereMap map[string]interface{}) (userCont hrsystem.ManCont, isTrue bool) {
isTrue = false
// var userInfo testpage.WorkMan
@ -1462,7 +1462,7 @@ func GetUserInfoPublicOld(field interface{}, whereMap map[string]interface{}) (u
return
}
//获取考核指标信息
// 获取考核指标信息
func GetTargetInfo(id int64) (content assessmentmodel.EvaluationTarget, isTrue bool) {
isTrue = false
err := global.GVA_DB_Performanceappraisal.Where("et_id = ?", id).First(&content).Error
@ -1472,7 +1472,7 @@ func GetTargetInfo(id int64) (content assessmentmodel.EvaluationTarget, isTrue b
return
}
//获取考核指标信息
// 获取考核指标信息
func GetQualitativeTargetInfo(id int64) (content assessmentmodel.QualitativeTarget, isTrue bool) {
isTrue = false
err := global.GVA_DB_Performanceappraisal.Where("q_id = ?", id).First(&content).Error
@ -1482,7 +1482,7 @@ func GetQualitativeTargetInfo(id int64) (content assessmentmodel.QualitativeTarg
return
}
//获取考核指标细则
// 获取考核指标细则
func GetDetailedTargetInfo(id int64) (content assessmentmodel.DetailedTarget, isTrue bool) {
isTrue = false
if id == 0 {
@ -1496,7 +1496,7 @@ func GetDetailedTargetInfo(id int64) (content assessmentmodel.DetailedTarget, is
return
}
//获取考核指标细则
// 获取考核指标细则
func GetDetailedTargetInfoWher(wher interface{}, filed ...string) (content assessmentmodel.DetailedTarget, isTrue bool) {
isTrue = false
goromDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.DetailedTarget{})
@ -1512,7 +1512,7 @@ func GetDetailedTargetInfoWher(wher interface{}, filed ...string) (content asses
return
}
//获取考核指标细则
// 获取考核指标细则
func GetDetailedTargetInfoTitle(id int64, title string) (content assessmentmodel.DetailedTarget, isTrue bool) {
isTrue = false
gormDb := global.GVA_DB_Performanceappraisal
@ -1526,7 +1526,7 @@ func GetDetailedTargetInfoTitle(id int64, title string) (content assessmentmodel
return
}
//获取考核类别
// 获取考核类别
func GetDutyClassInfo(id int64) (content assessmentmodel.DutyClass, isTrue bool) {
isTrue = false
err := global.GVA_DB_Performanceappraisal.Where("id = ?", id).First(&content).Error
@ -1536,7 +1536,7 @@ func GetDutyClassInfo(id int64) (content assessmentmodel.DutyClass, isTrue bool)
return
}
//添加维度指标或维度权重
// 添加维度指标或维度权重
func AddDimenTargetWeight(setType, group, departmentID, dimensionId, targetId int64) {
var weightSum int64 = 0
// fmt.Printf("1-----@---2------->%v\n", targetId)
@ -1635,7 +1635,7 @@ func AddDimensionWeight(setType, group, departmentID, dimensionId int64) {
}
}
//获取维度或指标权重
// 获取维度或指标权重
func GetDimesionTargetWeight(setType, group, departmentID, dimensionId, targetId int64) (weight int64) {
var ddwCont assessmentmodel.DepartmentDimensionWeight
gormDb := global.GVA_DB_Performanceappraisal
@ -1654,7 +1654,7 @@ func GetDimesionTargetWeight(setType, group, departmentID, dimensionId, targetId
return
}
//根据部门获取内勤数据
// 根据部门获取内勤数据
func GetOfficeWork(id, departmentId int64) (isTrue bool, roleUser []roleGroupBodyAry, roleGroup systemuser.RoleGroup) {
isTrue = false
departID := strconv.FormatInt(departmentId, 10)
@ -1686,7 +1686,7 @@ func GetOfficeWork(id, departmentId int64) (isTrue bool, roleUser []roleGroupBod
return
}
//获取企业微信信息接收人
// 获取企业微信信息接收人
func GetSendMsgUser(id, departmentId int64) (isTrue bool, userStr string) {
isTrue = false
// err, departmentCont := GetBranchFactory(departmentId)
@ -1714,7 +1714,7 @@ func GetSendMsgUser(id, departmentId int64) (isTrue bool, userStr string) {
return
}
//获取企业微信信息接收人数组形态
// 获取企业微信信息接收人数组形态
func GetSendMsgUserAry(id, departmentId int64) (isTrue bool, userStr []string) {
isTrue = false
// err, departmentCont := GetBranchFactory(departmentId)
@ -1746,7 +1746,7 @@ func GetSendMsgUserAry(id, departmentId int64) (isTrue bool, userStr []string) {
return
}
//获取加减分订单
// 获取加减分订单
func GetScoreFlow(orderId string) (content assessmentmodel.ScoreFlow, isTrue bool) {
isTrue = false
judgeErr := global.GVA_DB_Performanceappraisal.Where("`sf_key` = ?", orderId).First(&content).Error
@ -1756,7 +1756,7 @@ func GetScoreFlow(orderId string) (content assessmentmodel.ScoreFlow, isTrue boo
return
}
//审批流程
// 审批流程
func GetEvaluationProcess(orderId string) (content assessmentmodel.EvaluationProcess, isTrue bool) {
isTrue = false
judgeErr := global.GVA_DB_Performanceappraisal.Where("`ep_order_key` = ?", orderId).First(&content).Error
@ -1766,7 +1766,7 @@ func GetEvaluationProcess(orderId string) (content assessmentmodel.EvaluationPro
return
}
//考核方案
// 考核方案
func GetQualitativeEvaluation(orderId string) (content assessmentmodel.QualitativeEvaluation, isTrue bool) {
isTrue = false
judgeErr := global.GVA_DB_Performanceappraisal.Where("`qe_id` = ?", orderId).First(&content).Error
@ -1809,7 +1809,7 @@ func GetDutyAssociatedItems(orderId string) (targettitle, detailedRulesTitle, de
return
}
//获取加减分订单
// 获取加减分订单
func GetFlowLog(orderId string) (content assessmentmodel.FlowLog, isTrue bool) {
isTrue = false
judgeErr := global.GVA_DB_Performanceappraisal.Where("`fl_key` = ?", orderId).First(&content).Error
@ -1851,7 +1851,7 @@ func GetDutyRationtedItems(orderId string) (targettitle, detailedRulesTitle, det
return
}
//获取角色组
// 获取角色组
func GetRoleGroup(id int64) (roleGroup systemuser.RoleGroup, isTrue bool) {
isTrue = false
err := global.GVA_DB_Master.Where("`srg_id` = ?", id).First(&roleGroup).Error //16118387069540343
@ -1862,7 +1862,7 @@ func GetRoleGroup(id int64) (roleGroup systemuser.RoleGroup, isTrue bool) {
return
}
//根据userkey 用户获取信息
// 根据userkey 用户获取信息
func GetWorkUser(key string) (userCont hrsystem.PersonArchives, isTrue bool) {
isTrue = false
userErr := global.GVA_DB_HrDataBase.Model(&userCont).Where("`key` = ?", key).First(&userCont).Error
@ -1930,7 +1930,7 @@ type sendMsg struct {
DetailedTarget int64 `json:"detailedtarget"` //指标细则"`
}
//查看定量考核数据
// 查看定量考核数据
func LookRationInfo(id int64) (cont sendMsg, isTrue bool) {
isTrue = false
qeInfo, isTrue := GetQualitativeEvaluation(strconv.FormatInt(id, 10))
@ -1959,7 +1959,7 @@ func LookRationInfo(id int64) (cont sendMsg, isTrue bool) {
return
}
//获取企业微信对照表
// 获取企业微信对照表
func GetWorkWechatDuiZhao(openid string) (userInfoStruct wechat.WechatUsers, isTrue bool) {
isTrue = false
myErr := global.GVA_DB_WatchDate.Where("userid = ?", openid).First(&userInfoStruct).Error
@ -2459,7 +2459,7 @@ func InsetFlowLogEs(state, stepInt int, userKey, flowMapStr string, encFile []En
return
}
//写入责任分配节点人员信息
// 写入责任分配节点人员信息
func WriteFlowMainSet(orderId int64, userKey []int64) {
fmt.Printf("Zeren--1-->%v\n", userKey)
if len(userKey) < 1 {
@ -3156,7 +3156,7 @@ func GetFlowNodeManEs(flowID int64, class, style, writeLog int, encFile []Enclos
return
}
//编辑流程步进器
// 编辑流程步进器
func EiteDutiesInfoes(saveId int64, saveData map[string]interface{}) (isTrue bool, infoErr error) {
isTrue = false
infoErr = global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.EvaluationProcess{}).Where("`ep_id` = ?", saveId).Updates(saveData).Error
@ -3167,7 +3167,7 @@ func EiteDutiesInfoes(saveId int64, saveData map[string]interface{}) (isTrue boo
return
}
//步骤名称
// 步骤名称
func GetSetpName(setId int) (setpName string) {
switch setId {
case 1:
@ -3201,7 +3201,7 @@ func Round(val float64, precision int) float64 {
return math.Floor(val*p+0.5) / p
}
//获取班组成员
// 获取班组成员
func GetTeamUserList(group, department, postId, teamId string) (userCont []hrsystem.ManCont, isTrue bool) {
wheAry := MapOut()
wheAry["company"] = group
@ -3234,7 +3234,7 @@ func GetTeamUserListOld(group, department, postId, teamId string) (userCont []te
return
}
//编辑分数流水
// 编辑分数流水
func EiteScoreFlow(saveId int64, saveData map[string]interface{}) (isTrue bool, infoErr error) {
isTrue = false
infoErr = global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.ScoreFlow{}).Where("`sf_key` = ?", saveId).Updates(saveData).Error
@ -3245,7 +3245,7 @@ func EiteScoreFlow(saveId int64, saveData map[string]interface{}) (isTrue bool,
return
}
//获取通用责任划分
// 获取通用责任划分
func GetDivisionOfResponsibility(orderId string, class int) (contList []map[string]interface{}, err error) {
var dataContList []assessmentmodel.DivisionResponsibilities
err = global.GVA_DB_Performanceappraisal.Where("`df_sf_id` = ?", orderId).Order("df_type ASC").Find(&dataContList).Error
@ -3481,7 +3481,7 @@ func GetDivisionOfResponsibility(orderId string, class int) (contList []map[stri
return
}
//判断是否存在
// 判断是否存在
func IsItTrue(id int64, idAry []int64) (isTrue bool) {
isTrue = false
for _, v := range idAry {
@ -3511,7 +3511,7 @@ func IsItTrueString(id string, idAry []string) (isTrue bool) {
return
}
//判断是否存在泛型
// 判断是否存在泛型
type faxingType interface {
int | int8 | int16 | int32 | int64 | string
}
@ -3526,7 +3526,7 @@ func IsInTrue[T faxingType](key T, keyAry []T) (isTrue bool) {
return
}
//获取多部门归属集团
// 获取多部门归属集团
func GetDuboDepart(departAry []string) (group []string) {
fmt.Printf("DeparAry--------->%v\n", departAry)
for _, v := range departAry {
@ -3551,7 +3551,7 @@ func GetDuboDepart(departAry []string) (group []string) {
return
}
//获取新HR系统的集团
// 获取新HR系统的集团
func GetNewHrOrg(departID int64) (groupId int64, isTrue bool) {
isTrue = false
var govMap OutGovCont
@ -3577,7 +3577,7 @@ func GetNewHrOrg(departID int64) (groupId int64, isTrue bool) {
return
}
//递归查找集团
// 递归查找集团
func diGuiOrg(superior int64) (groupId int64) {
// fmt.Printf("DiGui----->%v\n", superior)
// return
@ -3601,7 +3601,7 @@ func diGuiOrg(superior int64) (groupId int64) {
return
}
//批量获取相关人员部门id
// 批量获取相关人员部门id
func GetDepartmentByUserBast(userKey []string) (userDepartmentId []string) {
if len(userKey) < 1 {
return
@ -3774,7 +3774,7 @@ func GetBranchDepartAry(departIdAry []string) (departId []int64, departAry []Dep
return
}
//获取新组织架构的行政信息
// 获取新组织架构的行政信息
func GetNewOrgList(departIdAry []string) (departId []int64, departAry []DepartmentAryType) {
for _, v := range departIdAry {
where := MapOut()
@ -4047,14 +4047,14 @@ func AddWeight(group, dimension, derpatment, target string, score, class int64)
return
}
//获取定量考核目标设定
// 获取定量考核目标设定
func GetQuantitativeConfig(whereData interface{}) (cont assessmentmodel.QuantitativeConfig) {
global.GVA_DB_Performanceappraisal.Where(whereData).First(&cont)
fmt.Printf("TargrtCont------1------>%v\n", cont)
return
}
//获取定量考核时间内审批通过的考核数据
// 获取定量考核时间内审批通过的考核数据
func GetTimeIntervalDuty(whereData interface{}, schemeID int64) (actual float64) {
jsonStr, _ := json.Marshal(whereData)
fmt.Printf("jsonStr------1------>%v\n", string(jsonStr))
@ -4071,14 +4071,14 @@ func GetTimeIntervalDuty(whereData interface{}, schemeID int64) (actual float64)
return
}
//获取指定审批流方案数据
// 获取指定审批流方案数据
func GetSchemeFlowData(flowKwy, schemeID int64) (weightSum float64) {
weightSum = 0
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.FlowLogData{}).Where("`fld_evaluation_id` = ? AND `fld_flow_log` = ?", schemeID, flowKwy).Pluck("COALESCE(SUM(fld_score), 0) as qe_reference_score", &weightSum)
return
}
//获取float字符串转化成Int64
// 获取float字符串转化成Int64
func GetDuyCycle(scoreStr string, multiple int64) (scoreInt64 int64) {
coreFloat64, _ := strconv.ParseFloat(scoreStr, 64) //将字符串转换成float64
scoreFloat64ToStr := strconv.FormatFloat(coreFloat64*float64(multiple), 'f', -1, 64) //将乘以系数后的数值转换成字符串
@ -4086,7 +4086,7 @@ func GetDuyCycle(scoreStr string, multiple int64) (scoreInt64 int64) {
return
}
//获取判断定量考核时间内审批中和通过的考核数据
// 获取判断定量考核时间内审批中和通过的考核数据
func GetTimeIntervalDutyJudge(whereData interface{}, schemeID int64) (actual float64) {
jsonStr, _ := json.Marshal(whereData)
fmt.Printf("jsonStr------1------>%v\n", string(jsonStr))
@ -4103,7 +4103,7 @@ func GetTimeIntervalDutyJudge(whereData interface{}, schemeID int64) (actual flo
return
}
//判断子栏目是否归属此部门
// 判断子栏目是否归属此部门
func JudegSunTarToDepart(sunId, departId int64) (isTrue bool) {
isTrue = false
var title string
@ -4114,7 +4114,7 @@ func JudegSunTarToDepart(sunId, departId int64) (isTrue bool) {
return
}
//中文首字母大写
// 中文首字母大写
func ChinaToPinYinFirstWord(wordStr string) (firstWord string) {
pinYinSub := pinyin.NewArgs()
rows := pinyin.Pinyin(wordStr, pinYinSub)
@ -4128,7 +4128,7 @@ func ChinaToPinYinFirstWord(wordStr string) (firstWord string) {
return
}
//判断文件上传的TYPE
// 判断文件上传的TYPE
func JudgeUpFileType(extTage string) int {
images := []string{".jpg", ".jpeg", ".png", ".gif", ".bmp", ".avif", ".webp", ".tif", ".pcx", ".tga", ".exif", ".fpx", ".svg", ".psd", ".cdr", ".pcd", ".dxf", ".ufo", ".hdri", ".eps", ".flic", ".ai", ".ico", ".emf", ".raw", ".WMF", ".avif", ".apng", ".Webp", ".BMP", ".PCX", ".TIF", ".GIF", ".JPEG", ".JPG", ".TGA", ".EXIF", ".FPX", ".SVG", ".PSD", ".CDR", ".PCD", ".DXF", ".UFO", ".EPS", ".AI", ".PNG", ".HDRI", ".RAW", ".WMF", ".FLIC", ".EMF", ".APNG", ".ICO"}
videoExt := []string{".mp4", ".avi", ".3gp", ".flv", ".rm", ".rmvb", ".wmv", ".mpeg", ".mpeg1", ".mpeg2", ".divx", ".xvid", ".dv", ".mkv", ".asf", ".asx", ".mov", ".m4v", ".dat", ".mkv", ".vob", ".ogg", ".mod", ".MP4", ".3GP", ".AVI", ".RM", ".RMVB", ".WMV", ".MPEG", ".MPEG1", ".MPEG2", ".DivX", ".XVID", ".DV", ".MKV", ".MOV", ".OGG", ".MOD", ".M4V", ".DAT", ".VOB"}
@ -4167,7 +4167,7 @@ func FormatFileSize(fileSize int64) (size string) {
}
}
//获取最大最小值
// 获取最大最小值
func NewUserModel(ary []int64) (max, min int64) {
if len(ary) < 0 {
@ -4185,7 +4185,7 @@ func NewUserModel(ary []int64) (max, min int64) {
return
}
//去重和排序
// 去重和排序
func UniqueSort(slice []int64) []int64 {
var quChong []int64
if len(slice) < 1 {
@ -4201,7 +4201,7 @@ func UniqueSort(slice []int64) []int64 {
return SortForMerge(quChong, 0, len(quChong)-1)
}
//插入排序
// 插入排序
func SortForMerge(arr []int64, left, right int) []int64 {
for i := left; i <= right; i++ {
temp := arr[i]
@ -4214,7 +4214,7 @@ func SortForMerge(arr []int64, left, right int) []int64 {
return arr
}
//获取用户信息
// 获取用户信息
// func GetNewHrPeopleInfo(where interface{}, filed ...string) (ueInfo hrsystem.Personnel, isTrue bool) {
func GetNewHrPeopleInfo(where interface{}, filed ...string) (ueInfo hrsystem.ManCont, isTrue bool) {
isTrue = false
@ -4255,7 +4255,7 @@ func DecimalEs(value float64, weishu int) float64 {
return value
}
//判断是否为闰年
// 判断是否为闰年
func IsLeapYear(year int64) bool { //y == 2000,2004
//判断是否为闰年
if year%4 == 0 && year%100 != 0 || year%400 == 0 {
@ -4265,7 +4265,8 @@ func IsLeapYear(year int64) bool { //y == 2000,2004
return false
}
/*WriteReplyLog(orderId, acceptDepartment, launchDepartment, launchUser, state, title, content)
/*
WriteReplyLog(orderId, acceptDepartment, launchDepartment, launchUser, state, title, content)
@orderId 审批单key
@title 节点名称
@acceptDepartment 接受考核部门
@ -4312,7 +4313,7 @@ func CalculateScore(targetScore int64, resultval, allPrizes, zeroPrizes, Capping
CappingVal = CappingVals / 100
resultval = resultval / 100
fmt.Printf("达成率--1-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, allPrize, zeroPrize, CappingVal)
fmt.Printf("达成率--1-->targetScore:%v-->resultval:%v-->allPrize:%v-->zeroPrize:%v-->CappingVal:%v\n", targetScore, resultval, allPrize, zeroPrize, CappingVal)
//不修正精度的达成率
var achievementAll float64 = 0
@ -4348,12 +4349,18 @@ func CalculateScore(targetScore int64, resultval, allPrizes, zeroPrizes, Capping
} else {
if achievement*100 >= CappingVal {
//如果达成率大于等于封顶值
scoreVal = CappingVal * float64(targetScore) / 100
if CappingVal > 0 {
scoreVal = CappingVal * float64(targetScore)
} else {
scoreVal = float64(targetScore)
}
} else {
// scoreVal = achievement * (float64(targetScore))
scoreVal = achievementAll * (float64(targetScore))
}
fmt.Printf("达成率--9-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement)
fmt.Printf("达成率--9-->targetScore:%v-->resultval:%v-->scoreVal:%v-->allPrize:%v-->zeroPrize:%v-->CappingVal:%v-->achievement:%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement)
}
achievement = DecimalEs(achievement*100, 4)
} else {
@ -4419,7 +4426,7 @@ func CalculateScore(targetScore int64, resultval, allPrizes, zeroPrizes, Capping
return
}
//递归查找指定部门所有子类
// 递归查找指定部门所有子类
func DiGuiOrgSun(superior int64, idary []int64) (groupId []int64) {
// fmt.Printf("DiGui----->%v\n", superior)
// return

2
router/examtestpage/healthreporthandle.go

@ -5,7 +5,7 @@ import (
"github.com/gin-gonic/gin"
)
//集团框架相关处理数据
// 集团框架相关处理数据
type HealthReportHandleRouter struct{}
func (g *GroupHandleRouter) InitHealthReporRouter(Router *gin.RouterGroup) (R gin.IRoutes) {

Loading…
Cancel
Save