From b54d1faf0bedda4b33612768da7feecf9f150123 Mon Sep 17 00:00:00 2001 From: herenshan112 Date: Wed, 27 Jul 2022 15:34:12 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E9=97=A8=E6=9C=88=E5=BA=A6=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/admin/dutyassess/assess.go | 9 +- .../api/index/statistics/enter.go | 1 + .../api/index/statistics/newstatistics.go | 95 ++++++---- .../api/index/statistics/tablestatistics.go | 20 +- .../api/statistics/quantification/enter.go | 45 +++++ .../api/v1/custom/customhandle.go | 69 ++++++- .../api/v1/examtestpage/grouphandle.go | 2 +- gin_server_admin/api/v1/shiyan/shiyan.go | 174 +++++++++++------- gin_server_admin/commonus/publichaneld.go | 31 ++-- gin_server_admin/middleware/myjwt.go | 70 ++++++- .../model/system/request/sys_user.go | 1 + .../router/statisticsrouter/statistics.go | 1 + 12 files changed, 390 insertions(+), 128 deletions(-) diff --git a/gin_server_admin/api/admin/dutyassess/assess.go b/gin_server_admin/api/admin/dutyassess/assess.go index 70838d8..8233607 100644 --- a/gin_server_admin/api/admin/dutyassess/assess.go +++ b/gin_server_admin/api/admin/dutyassess/assess.go @@ -494,10 +494,13 @@ func (e *DutyAssessApi) LookQuantitativeConfig(c *gin.Context) { // outCont.TargetTitle = targetInfo.Title // } outCont.TargetTitle = v.Title - dtargetInfo, dtErr := commonus.GetDetailedTargetInfo(v.TargetConfig) - if dtErr == true { - outCont.DetailedTargetTitle = dtargetInfo.Title + if v.TargetConfig != 0 { + dtargetInfo, dtErr := commonus.GetDetailedTargetInfo(v.TargetConfig) + if dtErr == true { + outCont.DetailedTargetTitle = dtargetInfo.Title + } } + outCont.Capping = v.Capping outCont.CappingVal = v.CappingVal / 100 outList = append(outList, outCont) diff --git a/gin_server_admin/api/index/statistics/enter.go b/gin_server_admin/api/index/statistics/enter.go index f7ac79c..d7d61a1 100644 --- a/gin_server_admin/api/index/statistics/enter.go +++ b/gin_server_admin/api/index/statistics/enter.go @@ -70,6 +70,7 @@ type PlanVersioMingXi struct { Year string `json:"year"` //年度 Title string `json:"title"` //编号 Class int `json:"class"` //状态 + Month int `json:"month"` //月 } //考核方案版本列表查询输出 diff --git a/gin_server_admin/api/index/statistics/newstatistics.go b/gin_server_admin/api/index/statistics/newstatistics.go index 1e6bb70..bfe9df9 100644 --- a/gin_server_admin/api/index/statistics/newstatistics.go +++ b/gin_server_admin/api/index/statistics/newstatistics.go @@ -61,10 +61,11 @@ func (t *tablePlanVersionStic) conditionStatisticsNew(group, department, dimensi var mtScore float64 = 0 var atScore float64 = 0 var lastEvalId int64 - var scoreSum float64 = 0 + // var scoreSum float64 = 0 var shouDongFenzhi float64 = 0 var zhidongDongLiang float64 = 0 + // var realScore float64 = 0 if len(fldList) > 0 { for _, v := range fldList { // fmt.Printf("Key----------------->%v\n", v.Key) @@ -78,16 +79,19 @@ func (t *tablePlanVersionStic) conditionStatisticsNew(group, department, dimensi atScore = atScore + float64(v.ScoringScore) shouDongFenzhi = shouDongFenzhi + float64(v.ScoringScore) } - scoreSum = scoreSum + float64(v.Score) + // scoreSum = scoreSum + atScore + // scoreSum = scoreSum + float64(v.Score) mtScore = mtScore + v.ScoringScore + if v.DutyDepartment != 0 { + whereDepart := commonus.MapOut() + whereDepart["id"] = v.DutyDepartment + orgContDer, _ := commonus.GetNewOrgCont(whereDepart, "name") + tableScoreCont.ExecutiveDepartment = append(tableScoreCont.ExecutiveDepartment, orgContDer.Name) + } - whereDepart := commonus.MapOut() - whereDepart["id"] = v.DutyDepartment - orgContDer, _ := commonus.GetNewOrgCont(whereDepart, "name") - tableScoreCont.ExecutiveDepartment = append(tableScoreCont.ExecutiveDepartment, orgContDer.Name) } } - tableScoreCont.ScoreVal = commonus.Decimal(scoreSum / 100) + tableScoreCont.ScoreVal = commonus.Decimal(atScore / 100) targetIdInt, _ := strconv.ParseInt(targetId, 10, 64) groupId, _ := strconv.ParseInt(group, 10, 64) departmentId, _ := strconv.ParseInt(department, 10, 64) @@ -96,8 +100,8 @@ func (t *tablePlanVersionStic) conditionStatisticsNew(group, department, dimensi // fmt.Printf("scoreSum--->%v------->mtScore--->%v---->zeroPrize--->%v---->allPrize--->%v---->cappingPrize--->%v---->typeClass---->%v\n", scoreSum, mtScore, zeroPrize, allPrize, cappingPrize, typeClass) - // tableScoreCont.ActualScore, tableScoreCont.AllPrize, tableScoreCont.ZeroPrize, tableScoreCont.CappingVal, tableScoreCont.Achievement = commonus.CalculateScore(referenceScore, scoreSum, allPrize, zeroPrize, cappingPrize, typeClass) - tableScoreCont.ActualScore, tableScoreCont.AllPrize, tableScoreCont.ZeroPrize, tableScoreCont.CappingVal, tableScoreCont.Achievement = commonus.CalculateScore(referenceScore, zhidongDongLiang, allPrize, zeroPrize, 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) // fmt.Printf("达成率--13-->%v-->%v-->%v-->%v-->%v\n", tableScoreCont.ActualScore, tableScoreCont.AllPrize, tableScoreCont.ZeroPrize, tableScoreCont.CappingVal, tableScoreCont.Achievement) if status == 3 { tableScoreCont.ActualScore = float64(referenceScore) @@ -120,7 +124,9 @@ func (t *tablePlanVersionStic) conditionStatisticsNew(group, department, dimensi @timecopy 辅助计数 */ func GetAllZreoCapp(flKey, group, depart, dimen, targetId, year, timecopy, deaTarget int64) (zeroPrize, allPrize, cappingPrize float64) { - + if flKey == 0 { + return + } var baseLineStr string err := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.FlowLog{}).Select("fl_baseline").Where("fl_key = ?", flKey).First(&baseLineStr).Error if err != nil { @@ -183,7 +189,7 @@ func (a *ApiGroup) DepartmentTranscript(c *gin.Context) { response.Result(101, isTrue, "您的身份令牌已经失效!请重新登录获取身份令牌!", c) return } - fmt.Printf("userCont------------------->%v\n", userCont) + // fmt.Printf("userCont------------------->%v\n", userCont) var requestData TranscriptTable c.ShouldBindJSON(&requestData) var orgList []hrsystem.AdministrativeOrganization @@ -209,21 +215,21 @@ func (a *ApiGroup) DepartmentTranscript(c *gin.Context) { } var orgAry []hrsystem.AdministrativeOrganization for _, ov := range orgList { - if ov.Id == 281 || ov.Id == 280 { - var ovlist []hrsystem.AdministrativeOrganization - ovErr := global.GVA_DB_HrDataBase.Where("state = 1").Where("superior = ?", ov.Id).Find(&ovlist).Error - if ovErr == nil { - for _, ovl := range ovlist { - // orgList = append(orgList, ovl) - orgAry = append(orgAry, ovl) - } + orgAry = append(orgAry, ov) + // if ov.Id == 281 || ov.Id == 280 { + var ovlist []hrsystem.AdministrativeOrganization + ovErr := global.GVA_DB_HrDataBase.Where("state = 1").Where("ispower = 1 AND superior = ?", ov.Id).Find(&ovlist).Error + if ovErr == nil { + for _, ovl := range ovlist { + // orgList = append(orgList, ovl) + orgAry = append(orgAry, ovl) } - } else { - orgAry = append(orgAry, ov) } + // } else { + // orgAry = append(orgAry, ov) + // } } - currentYear := commonus.ComputingTime(time.Now().Unix(), 1) if requestData.Year != "" { yearInt64, _ := strconv.ParseInt(requestData.Year, 10, 64) @@ -628,19 +634,20 @@ func StatisVersionTable(group string, planVersionCont []AddDutyNewCont, orgId, y for _, v := range planVersionCont { sumScore = sumScore + float64(v.ZhiFraction) for _, vc := range v.Child { + // if vc.Id == "6" { var listggCont defenfenxi + listggCont.Title = vc.Name sumScoreKS = sumScoreKS + float64(vc.ReferenceScore) if vc.Status == 3 { deScore = deScore + float64(vc.ReferenceScore) listggCont.Stroce = float64(vc.ReferenceScore) - // fmt.Printf("Score---观察---ID--%v--->%v---->deScore---->%v\n", vc.Name, float64(vc.ReferenceScore), deScore) + fmt.Printf("Score---观察------指标--%v----指标分----->%v---->结算分---->%v\n", vc.Name, float64(vc.ReferenceScore), deScore) } if vc.Status == 1 && vc.Status != 3 { var targetInfo assessmentmodel.EvaluationTarget targetInfo.GetCont(map[string]interface{}{"et_id": vc.Id}, "et_type,et_cycle,et_title") - listggCont.Title = targetInfo.Title // if targetInfo.Type == 1 { // //定性考核 // gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.ScoreFlow{}).Where("`sf_target_id` = ? AND `sf_duty_department` = ? AND `sf_year` = ? AND `sf_month` = ?", vc.Id, orgId, year, month) @@ -689,7 +696,8 @@ func StatisVersionTable(group string, planVersionCont []AddDutyNewCont, orgId, y if targetInfo.Type == 1 { //定性考核 gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.ScoreFlow{}).Where("`sf_target_id` = ? AND `sf_duty_department` = ? AND `sf_year` = ? AND `sf_quarter` = ?", vc.Id, orgId, year, jidu) - fffff := calculationDingXingScore(gormDb, float64(vc.ReferenceScore)) + gormDbs := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.ScoreFlow{}).Where("`sf_target_id` = ? AND `sf_duty_department` = ? AND `sf_year` = ? AND `sf_quarter` = ?", vc.Id, orgId, year, jidu) + fffff := calculationDingXingScore(gormDb, gormDbs, float64(vc.ReferenceScore)) deScore = deScore + fffff listggCont.Stroce = fffff listggCont.TimeClass = "1" @@ -715,7 +723,8 @@ func StatisVersionTable(group string, planVersionCont []AddDutyNewCont, orgId, y if targetInfo.Type == 1 { //定性考核 gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.ScoreFlow{}).Where("`sf_target_id` = ? AND `sf_duty_department` = ? AND `sf_year` = ?", vc.Id, orgId, year) - fffff := calculationDingXingScore(gormDb, float64(vc.ReferenceScore)) + gormDbs := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.ScoreFlow{}).Where("`sf_target_id` = ? AND `sf_duty_department` = ? AND `sf_year` = ?", vc.Id, orgId, year) + fffff := calculationDingXingScore(gormDb, gormDbs, float64(vc.ReferenceScore)) deScore = deScore + fffff listggCont.Stroce = fffff listggCont.TimeClass = "1" @@ -761,7 +770,8 @@ func StatisVersionTable(group string, planVersionCont []AddDutyNewCont, orgId, y if targetInfo.Type == 1 { //定性考核 gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.ScoreFlow{}).Where("`sf_target_id` = ? AND `sf_duty_department` = ? AND `sf_year` = ? AND `sf_month` IN ?", vc.Id, orgId, year, monthAry) - fffff := calculationDingXingScore(gormDb, float64(vc.ReferenceScore)) + gormDbs := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.ScoreFlow{}).Where("`sf_target_id` = ? AND `sf_duty_department` = ? AND `sf_year` = ? AND `sf_month` IN ?", vc.Id, orgId, year, monthAry) + fffff := calculationDingXingScore(gormDb, gormDbs, float64(vc.ReferenceScore)) deScore = deScore + fffff listggCont.Stroce = fffff @@ -785,7 +795,8 @@ func StatisVersionTable(group string, planVersionCont []AddDutyNewCont, orgId, y if targetInfo.Type == 1 { //定性考核 gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.ScoreFlow{}).Where("`sf_target_id` = ? AND `sf_duty_department` = ? AND `sf_year` = ? AND `sf_month` = ?", vc.Id, orgId, year, month) - fffff := calculationDingXingScore(gormDb, float64(vc.ReferenceScore)) + gormDbs := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.ScoreFlow{}).Where("`sf_target_id` = ? AND `sf_duty_department` = ? AND `sf_year` = ? AND `sf_month` = ?", vc.Id, orgId, year, month) + fffff := calculationDingXingScore(gormDb, gormDbs, float64(vc.ReferenceScore)) deScore = deScore + fffff listggCont.Stroce = fffff listggCont.TimeClass = "1" @@ -803,10 +814,11 @@ func StatisVersionTable(group string, planVersionCont []AddDutyNewCont, orgId, y } // fmt.Printf("deScore--name:%v--->%v\n", vc.Name, deScore) listgg = append(listgg, listggCont) + // } } } - // jskd, _ := json.Marshal(listgg) - // fmt.Printf("listgg----->%v\n", string(jskd)) + jskd, _ := json.Marshal(listgg) + fmt.Printf("listgg----->%v\n", string(jskd)) // fmt.Printf("sumScore----->%v-----sumScoreKS---->%v---->deScore---->%v\n", sumScore, sumScoreKS, deScore) return commonus.Decimal(deScore) @@ -818,10 +830,11 @@ mm8888 @gormDb 要查询得语句 @referenceScore 指标权重 */ -func calculationDingXingScore(gormDb *gorm.DB, referenceScore float64) float64 { +func calculationDingXingScore(gormDbJia *gorm.DB, gormDbJian *gorm.DB, referenceScore float64) float64 { // return 0 + var jiaFenAry []TongjiFenShu - gormDb.Select("sf_score,sf_count").Where("sf_plus_reduce_score = 1").Where("sf_reply IN (2,3)").Find(&jiaFenAry) + gormDbJia.Select("sf_score,sf_count").Where("sf_plus_reduce_score = 1").Where("sf_reply IN (2,3)").Find(&jiaFenAry) //加分 var addSumScore float64 = 0 for _, jiav := range jiaFenAry { @@ -830,12 +843,16 @@ func calculationDingXingScore(gormDb *gorm.DB, referenceScore float64) float64 { //减分 var scoreReduction float64 = 0 var jianFenAry []TongjiFenShu - gormDb.Select("sf_score,sf_count").Where("sf_plus_reduce_score = 2").Where("sf_reply IN (2,3)").Find(&jianFenAry) + + gormDbJian.Select("sf_score,sf_count").Where("sf_plus_reduce_score = 2").Where("sf_reply IN (2,3)").Find(&jianFenAry) for _, jianv := range jianFenAry { scoreReduction = scoreReduction + (jianv.Score * jianv.Count) + // fmt.Printf("scoreReduction----->%v------->jianv.Score----->%v------->jianv.Count-------->%v\n", scoreReduction, jianv.Score, jianv.Count) } sumScore := scoreReduction - addSumScore - return referenceScore - commonus.Decimal(sumScore/100) + shijiFEn := referenceScore - commonus.Decimal(sumScore/100) + // fmt.Printf("定性分值---addSumScore----->%v---->scoreReduction----->%v---->sumScore----->%v---->shijiFEn----->%v---->referenceScore-->%v\n", addSumScore, scoreReduction, sumScore, shijiFEn, referenceScore) + return shijiFEn } //计算定量得分 @@ -880,9 +897,13 @@ func calculationDingLiangScore(group, department, dimensionId, targetId string, } else { zeroprize, allprize, capping = GetPassRate(groupId, departmentId, dimensionIdInt, targetIdInt, year, monthType, 0) } - actualScoreVal, _, _, _, _ := commonus.CalculateScore(referenceScore, float64(v.Score), allprize, zeroprize, capping, 2) - actualScore = actualScore + actualScoreVal - + if v.ScoringMethod == 1 { + actualScoreVal, _, _, _, _ := commonus.CalculateScore(referenceScore, float64(v.Score), allprize, zeroprize, capping, 2) + actualScore = actualScore + actualScoreVal + } else { + actualScore = actualScore + (float64(v.ScoringScore) / 100) + } + // fmt.Printf("actualScoreVal--actualScoreVal--->%v---referenceScore-->%v---Score-->%v---allprize-->%v---zeroprize-->%v----capping->%v\n", actualScoreVal, referenceScore, float64(v.Score), allprize, zeroprize, capping) } } diff --git a/gin_server_admin/api/index/statistics/tablestatistics.go b/gin_server_admin/api/index/statistics/tablestatistics.go index 6e43b73..d4b6c4c 100644 --- a/gin_server_admin/api/index/statistics/tablestatistics.go +++ b/gin_server_admin/api/index/statistics/tablestatistics.go @@ -1319,16 +1319,30 @@ func (d *dataLockStatistics) planVersiconProcessV1(pvInfo assessmentmodel.PlanVe } default: //月 + monthValue := commonus.TimeStampToDate(time.Now().Unix(), 12) if commonus.TimeStampToDate(time.Now().Unix(), 11) != giveData.Year { monthValue = "12" } monthValueInt, _ := strconv.Atoi(monthValue) var tpsProcess tablePlanVersionStic - for i := 1; i <= monthValueInt; i++ { + if giveData.Month != 0 { + monthIsDay := giveData.Month + if monthIsDay > 12 { + monthIsDay = 12 + } + if monthIsDay < 1 { + monthIsDay = 1 + } syncProcessDepartTarget.Add(1) - go tpsProcess.conditionStatisticsNew(strconv.FormatInt(pvInfo.Group, 10), strconv.FormatInt(pvInfo.Department, 10), pv.Id, pcv.Id, i, pcv.Status, scoringMethod, 2, yserInt, pcv.ReferenceScore, 4, 2) + go tpsProcess.conditionStatisticsNew(strconv.FormatInt(pvInfo.Group, 10), strconv.FormatInt(pvInfo.Department, 10), pv.Id, pcv.Id, monthIsDay, pcv.Status, scoringMethod, 2, yserInt, pcv.ReferenceScore, 4, 2) + } else { + for i := 1; i <= monthValueInt; i++ { + syncProcessDepartTarget.Add(1) + go tpsProcess.conditionStatisticsNew(strconv.FormatInt(pvInfo.Group, 10), strconv.FormatInt(pvInfo.Department, 10), pv.Id, pcv.Id, i, pcv.Status, scoringMethod, 2, yserInt, pcv.ReferenceScore, 4, 2) + } } + syncProcessDepartTarget.Wait() readStatisticsData := tpsProcess.readMyDayData() //按照最大值排序 @@ -1367,7 +1381,7 @@ func (d *dataLockStatistics) planVersiconProcessV1(pvInfo assessmentmodel.PlanVe } } outCont.ScoreAllList = append(outCont.ScoreAllList, stccStatistics) - outCont.StatisticsName = []string{"全奖值", "零奖值", "实际值", "达成率", "得分"} + outCont.StatisticsName = []string{"全奖值", "零奖值", "封顶值", "实际值", "达成率", "得分"} if isAdd == 1 { d.outData = append(d.outData, outCont) } diff --git a/gin_server_admin/api/statistics/quantification/enter.go b/gin_server_admin/api/statistics/quantification/enter.go index 24fc16b..158b182 100644 --- a/gin_server_admin/api/statistics/quantification/enter.go +++ b/gin_server_admin/api/statistics/quantification/enter.go @@ -139,3 +139,48 @@ type EvaluPross struct { QualEvalId string `json:"qeid"` Status int `json:"status"` } + +//查询成绩表月份明细 +type detailedResults struct { + Department string `json:"department"` //部门 + Year int64 `json:"year"` //年 + Months int `json:"month"` //月份 +} + +//输出程序月份详情表 +type detailedResultsList struct { + GroupId string `json:"group"` //集团Id + GroupName string `json:"groupname"` //集团名称 + DepartmentId string `json:"departmentid"` //部门ID + DepartmentName string `json:"departmentname"` //部门名称 + DimensionId string `json:"dimensionid"` //维度Id + DimensionName string `json:"dimensionname"` //维度名称 + DimensionWeight int64 `json:"dimensionweight"` //维度权重 + TargetId string `json:"targetid"` //指标ID + TargetName string `json:"targetname"` //指标名称 + TargetCont string `json:"targetCont"` //指标说明 + Targetweight int64 `json:"targetweight"` //指标权重 + Type int `json:"type"` //1:定性;2:定量 + Unit string `json:"unit"` //单位 + Cycle int `json:"cycle"` //周期 + Cycleattr int `json:"cycleattr"` //辅助参数 + ExecutiveDepartment []string `json:"executivedepartment"` //执行部门 + Score float64 `json:"score"` //得分 +} + +//定量流水全奖值、零奖值、封顶值 +type FlowLogAllZreo struct { + Id string `json:"id"` + TargetId string `json:"targetid"` //指标ID` + Zeroprize float64 `json:"zeroprize"` //零奖值"` + Allprize float64 `json:"allprize"` //全奖值"` + Capping float64 `json:"capping"` //封顶值"` +} + +//查询成绩表月份明细历史 +type detailedResultsLog struct { + TargetId string `json:"targetid"` //指标ID + Department string `json:"department"` //部门 + Year int64 `json:"year"` //年 + Months int `json:"month"` //月份 +} diff --git a/gin_server_admin/api/v1/custom/customhandle.go b/gin_server_admin/api/v1/custom/customhandle.go index 851c6cc..3d66a4f 100644 --- a/gin_server_admin/api/v1/custom/customhandle.go +++ b/gin_server_admin/api/v1/custom/customhandle.go @@ -10,6 +10,7 @@ import ( "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/common/response" + "github.com/flipped-aurora/gin-vue-admin/server/model/hrsystem" systemReq "github.com/flipped-aurora/gin-vue-admin/server/model/system/request" roleModel "github.com/flipped-aurora/gin-vue-admin/server/model/systemuser" "github.com/flipped-aurora/gin-vue-admin/server/utils" @@ -354,7 +355,7 @@ func (cu *CustomHandle) ScanCodeLogin(c *gin.Context) { userAgent = "250" userAdminErr, userAdmin := systemuser.GetSysAdminLoginInfo(l.Username, l.Password) - fmt.Printf("jieguo----------------->%v\n", userAdminErr) + // fmt.Printf("jieguo----------------->%v\n", userAdminErr) // userAdminErr, _ := systemuser.HrUserInfor(l.Username, l.Password) if userAdminErr == true { if userAdmin.State == 2 { @@ -440,6 +441,10 @@ func (cu *CustomHandle) ScanCodeLogin(c *gin.Context) { response.Result(109, userErr, "登录失败!", c) return } + if l.OpenId != "" { + var sysUserCont hrsystem.PersonArchives + sysUserCont.EiteCont(map[string]interface{}{"id": user.Id}, map[string]interface{}{"work_wechat": l.OpenId}) + } if user.State == 2 { response.Result(102, userErr, "登陆失败! 该账号已经被禁用!", c) return @@ -511,7 +516,67 @@ func (cu *CustomHandle) ScanCodeLogin(c *gin.Context) { redisClient.SetRedisDb(5) redisClient.SetRedisTime(10800) redisClient.HashMsetAdd(redisFileKey, writeRedisData) - fmt.Printf("Login------->%v---------->%v\n", userKeyCode, md5Token) + // fmt.Printf("Login------->%v---------->%v\n", userKeyCode, md5Token) + var userCont hrsystem.ManCont + userErrd := userCont.GetCont(map[string]interface{}{"`id`": user.Id}) + if userErrd != nil { + response.Result(102, userErr, "登陆失败! 该账号不存在!", c) + return + } + //缓存写入个人信息 + redisMyContKey := fmt.Sprintf("ScanCode:Authentication:UserCont_%v_%v", global.GVA_CONFIG.RedisPrefix.Alias, userCont.Number) + myCont := commonus.MapOut() + myCont["id"] = userCont.Id + myCont["number"] = userCont.Number //员工工号 + myCont["name"] = userCont.Name //姓名 + myCont["icon"] = userCont.Icon //头像 + myCont["hire_class"] = userCont.HireClass //雇佣类型(1:雇佣入职;2:再入职;) + myCont["emp_type"] = userCont.EmpType //用工关系(1:临时工 , 2:编外人员 ;3:实习&实习生;4:试用员工;5:待分配;6:待岗;7:临时调入;8:正式员工;9:长期病假;10:停薪留职;11:退休;12:辞职;13:辞退;14:离职) + myCont["company"] = userCont.Company //入职公司 + myCont["maindeparment"] = userCont.MainDeparment //主部门 + myCont["sun_main_department"] = userCont.SunMainDeparment //二级主部门 + myCont["deparment"] = userCont.Deparment //部门 + myCont["admin_org"] = userCont.AdminOrg //所属行政组织 + myCont["teamid"] = userCont.TeamId //班组 + myCont["position"] = userCont.Position //职位 + myCont["job_class"] = userCont.JobClass //职务分类 + myCont["job_id"] = userCont.JobId //职务 + myCont["job_leve"] = userCont.JobLeve //职务等级 + myCont["wechat"] = userCont.Wechat //微信UserId + myCont["work_wechat"] = userCont.WorkWechat //企业微信UserId + myCont["state"] = userCont.State //状态(1:启用;2:禁用;3:删除) + myCont["key"] = userCont.Key //key + myCont["is_admin"] = userCont.IsAdmin //是否为管理员(1:不是;2:分公司;3:集团管理员;4:超级管 + myCont["password"] = userCont.Password //密码 + myCont["role"] = userCont.Role //角色 + myCont["idcardno"] = userCont.Idcardno //身份证号 + myCont["passportno"] = userCont.Passportno //护照号码 + myCont["globalroaming"] = userCont.Globalroaming //国际区号 + myCont["mobilephone"] = userCont.Mobilephone //手机号码 + myCont["email"] = userCont.Email //电子邮件 + myCont["gender"] = userCont.Gender //性别(1:男性;2:女性;3:中性) + myCont["birthday"] = userCont.Birthday //birthday + myCont["myfolk"] = userCont.Myfolk //民族 + myCont["nativeplace"] = userCont.Nativeplace //籍贯 + myCont["idcardstartdate"] = userCont.Idcardstartdate //身份证有效期开始 + myCont["idcardenddate"] = userCont.Idcardenddate //身份证有效期结束 + myCont["idcardaddress"] = userCont.Idcardaddress //身份证地址 + myCont["idcardIssued"] = userCont.IdcardIssued //身份证签发机关 + myCont["health"] = userCont.Health //健康状况(1:良好;2:一般;3:较弱,4:有生理缺陷;5:残废) + myCont["maritalstatus"] = userCont.Maritalstatus //婚姻状况(1:未婚;2:已婚;3:丧偶;4:离异) + myCont["internaltelephone"] = userCont.Internaltelephone //内线电话 + myCont["currentresidence"] = userCont.Currentresidence //现居住地址 + myCont["constellationing"] = userCont.Constellation //星座(1:白羊座;2:金牛座;3:双子座;4:巨蟹座;5:狮子座;6:处女座;7:天枰座;8:天蝎座;9:射手座;10:摩羯座;11:水瓶座;12:双鱼座) + myCont["isdoubleworker"] = userCont.Isdoubleworker //是否双职工(1:是;2:否) + myCont["isveterans"] = userCont.Isveterans //是否为退役军人(1:是;2:否) + myCont["veteransnumber"] = userCont.Veteransnumber //退役证编号 + myCont["jobstartdate"] = userCont.Jobstartdate //参加工作日期 + myCont["entrydate"] = userCont.Entrydate //入职日期 + myCont["probationperiod"] = userCont.Probationperiod //试用期 + myCont["planformaldate"] = userCont.Planformaldate //预计转正日期 + myCont["political_outlook"] = userCont.PoliticalOutlook //政治面貌(1:群众;2:无党派;3:台盟会员;4:九三社员;5:致公党员;6:农工党员;7:民进会员;8:民建会员;9:民盟盟员;10:民革会员,11:共青团员;12:预备党员;13:中共党员) + redisClient.HashMsetAdd(redisMyContKey, myCont) + response.Result(0, saveData, "登录成功!", c) } diff --git a/gin_server_admin/api/v1/examtestpage/grouphandle.go b/gin_server_admin/api/v1/examtestpage/grouphandle.go index 225f4f5..45f51ed 100644 --- a/gin_server_admin/api/v1/examtestpage/grouphandle.go +++ b/gin_server_admin/api/v1/examtestpage/grouphandle.go @@ -1251,7 +1251,7 @@ func GovUserThreeList(parentId int64, govAry []govUserCont) []govUserContThree { //获取Hr人员信息 func getUserList(departmentId int64, level int) (userList []peopleList) { var userAry []hrsystem.PersonArchives - gormDb := global.GVA_DB_HrDataBase.Model(&hrsystem.PersonArchives{}).Select("`id`,`number`,`name`,`wechat`,`work_wechat`,`key`").Where("state = 1 AND emp_type BETWEEN 1 AND 5 ") + gormDb := global.GVA_DB_HrDataBase.Model(&hrsystem.PersonArchives{}).Select("`id`,`number`,`name`,`wechat`,`work_wechat`,`key`").Where("state = 1 AND emp_type BETWEEN 1 AND 10 ") if level <= 4 { gormDb = gormDb.Where(" FIND_IN_SET(?,`maindeparment`)", departmentId) } else { diff --git a/gin_server_admin/api/v1/shiyan/shiyan.go b/gin_server_admin/api/v1/shiyan/shiyan.go index 7a13d93..0ac2ac6 100644 --- a/gin_server_admin/api/v1/shiyan/shiyan.go +++ b/gin_server_admin/api/v1/shiyan/shiyan.go @@ -2251,59 +2251,59 @@ func GovThreeList(parentId int64, govAry []OutGovCont) []govThree { //绩效考核系统对照行政组织关系 func (s *ShiyanApi) CorrectingOrg(c *gin.Context) { //assessment_loging - synPro.Add(1) - go corAssMentLog() //考核记录自建审批流 - - synPro.Add(1) - go corAssAssesstarget() //考核指标 - //部门维度 - synPro.Add(1) - go corDeparDime() - - //部门考核指标权重 - synPro.Add(1) - go corDepartDimWeight() - //指标细则 - synPro.Add(1) - go corDetailedTarget() - //划分责任 - synPro.Add(1) - go corDivResp() + // synPro.Add(1) + // go corAssMentLog() //考核记录自建审批流 + + // synPro.Add(1) + // go corAssAssesstarget() //考核指标 + // //部门维度 + // synPro.Add(1) + // go corDeparDime() + + // //部门考核指标权重 + // synPro.Add(1) + // go corDepartDimWeight() + // //指标细则 + // synPro.Add(1) + // go corDetailedTarget() + // //划分责任 + // synPro.Add(1) + // go corDivResp() //审批流程 synPro.Add(1) go corEvalProcess() - //测评指标 - synPro.Add(1) - go corEvaluaTionTarget() + // //测评指标 + // synPro.Add(1) + // go corEvaluaTionTarget() - //定量考核数据表 - synPro.Add(1) - go flowLogDivResp() + // //定量考核数据表 + // synPro.Add(1) + // go flowLogDivResp() - //考核方案版本内容 - synPro.Add(1) - go corPlanversio() + // //考核方案版本内容 + // synPro.Add(1) + // go corPlanversio() - //定性考核 - synPro.Add(1) - go corQualitativeEvaluation() + // //定性考核 + // synPro.Add(1) + // go corQualitativeEvaluation() - //定性指标子栏目 - synPro.Add(1) - go corQualitativeTarget() + // //定性指标子栏目 + // synPro.Add(1) + // go corQualitativeTarget() - //定量考核目标设定 - synPro.Add(1) - go corQualitativeConfig() + // //定量考核目标设定 + // synPro.Add(1) + // go corQualitativeConfig() - //整改措施 - synPro.Add(1) - go corRectificationMeasures() + // //整改措施 + // synPro.Add(1) + // go corRectificationMeasures() - //分数流水 - synPro.Add(1) - go corScoreFlow() + // //分数流水 + // synPro.Add(1) + // go corScoreFlow() synPro.Wait() @@ -2614,23 +2614,60 @@ func corEvalProcess() { userCont.Icon = fvu.Icon //操作人头像 userCont.Wechat = fvu.Wechat //微信Openid userCont.Group = 309 //集团公司 + + var manCont hrsystem.PersonArchives + manCont.GetCont(map[string]interface{}{"`key`": fvu.Id}, "company", "maindeparment", "admin_org", "position", "job_id", "teamid") // var groupCont hrsystem.AdministrativeOrganization // groupCont.GetCont(map[string]interface{}{"`id`": 309}, "`name`") // userCont.GroupName = groupCont.Name //集团公司名称 userCont.GroupName = "山东恒信高科能源有限公司" - departInfo := oldSchooldBf(fvu.DepartmentId, "`id`", "`name`") - fmt.Printf("departInfo---------->%v--------->%v--------->%v\n", fvu.DepartmentId, departInfo.Id, departInfo.Name) - userCont.DepartmentId = departInfo.Id //分厂Id - userCont.DepartmentName = departInfo.Name //分厂名称 - worksInfo := oldSchooldBf(fvu.WorkshopId, "`id`", "`name`") - userCont.WorkshopId = worksInfo.Id //工段Id - userCont.WorkshopName = worksInfo.Name //工段名称 - positInfo := positToKingdeePositScho(fvu.PostId, "`id`", "`name`") - userCont.PostId = positInfo.Id //职务Id - userCont.PostName = positInfo.Name //职务名称 - userCont.Tema = fvu.Tema //班组Id - userCont.TemaName = fvu.TemaName //班组名称 - userCont.LogList = fvu.LogList //操作记录 + + var orgComy hrsystem.AdministrativeOrganization + orgComy.GetCont(map[string]interface{}{"`id`": manCont.MainDeparment}, "name") + userCont.DepartmentId = manCont.MainDeparment //分厂Id + userCont.DepartmentName = orgComy.Name //分厂名称 + var orgComyPost hrsystem.AdministrativeOrganization + orgComyPost.GetCont(map[string]interface{}{"`id`": manCont.AdminOrg}, "name") + userCont.WorkshopId = manCont.AdminOrg //工段Id + userCont.WorkshopName = orgComyPost.Name //工段名称 + var postContuse hrsystem.PostDutiesJob + postContuse.GetCont(map[string]interface{}{"`id`": manCont.Position}, "name") + userCont.PostId = manCont.Position //职务Id + userCont.PostName = postContuse.Name //职务名称 + + // if fvu.DepartmentName == "" { + // departInfo := oldSchooldBf(fvu.DepartmentId, "`id`", "`name`") + // fmt.Printf("departInfo---------->%v--------->%v--------->%v\n", fvu.DepartmentId, departInfo.Id, departInfo.Name) + // userCont.DepartmentId = departInfo.Id //分厂Id + // userCont.DepartmentName = departInfo.Name //分厂名称 + // } else { + // userCont.DepartmentId = fvu.DepartmentId //分厂Id + // } + // if fvu.WorkshopName == "" { + // worksInfo := oldSchooldBf(fvu.WorkshopId, "`id`", "`name`") + // userCont.WorkshopId = worksInfo.Id //工段Id + // userCont.WorkshopName = worksInfo.Name //工段名称 + // } else { + // userCont.WorkshopId = fvu.WorkshopId //工段Id + // } + // if fvu.PostName == "" { + // positInfo := positToKingdeePositScho(fvu.PostId, "`id`", "`name`") + // userCont.PostId = positInfo.Id //职务Id + // userCont.PostName = positInfo.Name //职务名称 + // } else { + // userCont.PostId = fvu.PostId //职务Id + // } + var teamCont hrsystem.TeamGroup + teamErr := teamCont.GetCont(map[string]interface{}{"`id`": manCont.TeamId}, "name") + if teamErr == nil { + userCont.Tema = manCont.TeamId //班组Id + userCont.TemaName = teamCont.Name //班组名称 + } else { + userCont.Tema = fvu.Tema //班组Id + userCont.TemaName = fvu.TemaName //班组名称 + } + + userCont.LogList = fvu.LogList //操作记录 userList = append(userList, userCont) } @@ -2648,19 +2685,19 @@ func corEvalProcess() { } } - if v.SetupDepartment != 0 { - excedepart := orgTransCoding(v.SetupDepartment) - if excedepart != 0 { - saveData["ep_setup_department"] = excedepart - } - } + // if v.SetupDepartment != 0 { + // excedepart := orgTransCoding(v.SetupDepartment) + // if excedepart != 0 { + // saveData["ep_setup_department"] = excedepart + // } + // } - if v.AcceptDepartment != 0 { - excedepartEval := orgTransCoding(v.AcceptDepartment) - if excedepartEval != 0 { - saveData["ep_accept_department"] = excedepartEval - } - } + // if v.AcceptDepartment != 0 { + // excedepartEval := orgTransCoding(v.AcceptDepartment) + // if excedepartEval != 0 { + // saveData["ep_accept_department"] = excedepartEval + // } + // } if len(saveData) > 0 { saveData["ep_time"] = time.Now().Unix() @@ -2679,6 +2716,9 @@ func oldSchooldBf(ordId int64, field ...string) (newOrgCont hrsystem.Administrat } var oldOrgCont hrsystem.AdministrativeOrganization oldErr := global.GVA_DB_HrDataBase.Model(&oldOrgCont).Select("`number`").Where("`schoole` = ?", ordId).First(&oldOrgCont).Error + if oldErr != nil { + oldErr = global.GVA_DB_HrDataBase.Model(&oldOrgCont).Select("`number`").Where("`wechat_organization_id` = ?", ordId).First(&oldOrgCont).Error + } if oldErr != nil { return } diff --git a/gin_server_admin/commonus/publichaneld.go b/gin_server_admin/commonus/publichaneld.go index efec95b..e92c012 100644 --- a/gin_server_admin/commonus/publichaneld.go +++ b/gin_server_admin/commonus/publichaneld.go @@ -1485,6 +1485,9 @@ func GetQualitativeTargetInfo(id int64) (content assessmentmodel.QualitativeTarg //获取考核指标细则 func GetDetailedTargetInfo(id int64) (content assessmentmodel.DetailedTarget, isTrue bool) { isTrue = false + if id == 0 { + return + } err := global.GVA_DB_Performanceappraisal.Where("dt_id = ?", id).First(&content).Error if err == nil { @@ -4309,7 +4312,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-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, allPrize, zeroPrize, CappingVal) //不修正精度的达成率 var achievementAll float64 = 0 @@ -4321,7 +4324,7 @@ func CalculateScore(targetScore int64, resultval, allPrizes, zeroPrizes, Capping scoreVal = 0 } achievementAll = 100 - // fmt.Printf("达成率--11-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) + fmt.Printf("达成率--11-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) } else { if allPrize > zeroPrize { //如果全奖值大于零奖值 执行一下操作 if resultval <= zeroPrize { //实际结算值小于零奖值 那么达成率和实际得分都是0 @@ -4329,7 +4332,7 @@ func CalculateScore(targetScore int64, resultval, allPrizes, zeroPrizes, Capping scoreVal = 0 achievementAll = 0 // } else if resultval > allPrize { //实际结算值大于全奖值 执行一下操作 - // fmt.Printf("达成率--7-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) + fmt.Printf("达成率--7-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) } else { //实际结算值在全奖值 与 零奖值之间 chuShu := resultval - float64(zeroPrize) beiChuShu := float64(allPrize) - float64(zeroPrize) @@ -4341,7 +4344,7 @@ func CalculateScore(targetScore int64, resultval, allPrizes, zeroPrizes, Capping achievement = 0 scoreVal = 0 achievementAll = 0 - // fmt.Printf("达成率--8-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) + fmt.Printf("达成率--8-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) } else { if achievement*100 >= CappingVal { //如果达成率大于等于封顶值 @@ -4350,7 +4353,7 @@ func CalculateScore(targetScore int64, resultval, allPrizes, zeroPrizes, Capping // 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-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) } achievement = DecimalEs(achievement*100, 4) } else { @@ -4358,7 +4361,7 @@ func CalculateScore(targetScore int64, resultval, allPrizes, zeroPrizes, Capping achievement = 0 scoreVal = 0 achievementAll = 0 - // fmt.Printf("达成率--10-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) + fmt.Printf("达成率--10-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) } } @@ -4367,7 +4370,7 @@ func CalculateScore(targetScore int64, resultval, allPrizes, zeroPrizes, Capping achievement = 0 scoreVal = 0 achievementAll = 0 - // fmt.Printf("达成率--1-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) + fmt.Printf("达成率--1-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) } else { chuShu := resultval - float64(zeroPrize) beiChuShu := float64(allPrize) - float64(zeroPrize) @@ -4379,40 +4382,40 @@ func CalculateScore(targetScore int64, resultval, allPrizes, zeroPrizes, Capping achievement = 0 scoreVal = 0 achievementAll = 0 - // fmt.Printf("达成率--2-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) + fmt.Printf("达成率--2-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) } else { if achievement*100 >= CappingVal { //如果达成率大于等于封顶值 scoreVal = CappingVal * float64(targetScore) / 100 - // fmt.Printf("达成率--3-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) + fmt.Printf("达成率--3-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) } else { // scoreVal = achievement * (float64(targetScore)) scoreVal = achievementAll * (float64(targetScore)) - // fmt.Printf("达成率--4-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) + fmt.Printf("达成率--4-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) } } achievement = DecimalEs(achievement*100, 4) - // fmt.Printf("达成率--6-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) + fmt.Printf("达成率--6-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) } else { //被除数为0时 那么达成率和实际得分都是0 achievement = 0 scoreVal = 0 achievementAll = 0 - // fmt.Printf("达成率--5-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) + fmt.Printf("达成率--5-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) } } } } if typeClass == 3 { scoreVal = float64(targetScore) - // fmt.Printf("达成率--11-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) + fmt.Printf("达成率--11-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) } scoreVal = Decimal(scoreVal) allPrize = Decimal(allPrize) zeroPrize = Decimal(zeroPrize) CappingVal = Decimal(CappingVal) achievement = DecimalEs(achievement, 4) - // fmt.Printf("达成率--12-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) + fmt.Printf("达成率--12-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) return } diff --git a/gin_server_admin/middleware/myjwt.go b/gin_server_admin/middleware/myjwt.go index 6feddbd..9f1097b 100644 --- a/gin_server_admin/middleware/myjwt.go +++ b/gin_server_admin/middleware/myjwt.go @@ -2,11 +2,13 @@ package middleware import ( "encoding/json" + "fmt" "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/common/response" + "github.com/flipped-aurora/gin-vue-admin/server/model/hrsystem" "github.com/flipped-aurora/gin-vue-admin/server/service" "github.com/flipped-aurora/gin-vue-admin/server/utils/redishandel" "github.com/gin-gonic/gin" @@ -201,9 +203,14 @@ func SystemAuthentication() gin.HandlerFunc { } // 拦截器 -func SystemCasbinHandler() gin.HandlerFunc { +func SystemInterceptor() gin.HandlerFunc { return func(c *gin.Context) { + obj := c.Request.URL.RequestURI() + // 获取请求方法 + act := c.Request.Method + fmt.Printf("obj-------------->%v <===========> act--------------------->%v\n", obj, act) + c.Next() } } @@ -308,6 +315,67 @@ func ScanCodeLogin() gin.HandlerFunc { redisClient.SetRedisTime(10800) redisClient.HashMsetAdd(redisFileKey, writeRedisData) + var userCont hrsystem.ManCont + userErrd := userCont.GetCont(map[string]interface{}{"`number`": myCustomIdentify.UserNumber, "`password`": myCustomIdentify.UserPwd}) + if userErrd != nil { + response.Result(1000002, userErrd, "登陆失败! 该账号不存在!", c) + c.Abort() + return + } + //缓存写入个人信息 + redisMyContKey := fmt.Sprintf("ScanCode:Authentication:UserCont_%v_%v", global.GVA_CONFIG.RedisPrefix.Alias, userCont.Number) + myCont := commonus.MapOut() + myCont["id"] = userCont.Id + myCont["number"] = userCont.Number //员工工号 + myCont["name"] = userCont.Name //姓名 + myCont["icon"] = userCont.Icon //头像 + myCont["hire_class"] = userCont.HireClass //雇佣类型(1:雇佣入职;2:再入职;) + myCont["emp_type"] = userCont.EmpType //用工关系(1:临时工 , 2:编外人员 ;3:实习&实习生;4:试用员工;5:待分配;6:待岗;7:临时调入;8:正式员工;9:长期病假;10:停薪留职;11:退休;12:辞职;13:辞退;14:离职) + myCont["company"] = userCont.Company //入职公司 + myCont["maindeparment"] = userCont.MainDeparment //主部门 + myCont["sun_main_department"] = userCont.SunMainDeparment //二级主部门 + myCont["deparment"] = userCont.Deparment //部门 + myCont["admin_org"] = userCont.AdminOrg //所属行政组织 + myCont["teamid"] = userCont.TeamId //班组 + myCont["position"] = userCont.Position //职位 + myCont["job_class"] = userCont.JobClass //职务分类 + myCont["job_id"] = userCont.JobId //职务 + myCont["job_leve"] = userCont.JobLeve //职务等级 + myCont["wechat"] = userCont.Wechat //微信UserId + myCont["work_wechat"] = userCont.WorkWechat //企业微信UserId + myCont["state"] = userCont.State //状态(1:启用;2:禁用;3:删除) + myCont["key"] = userCont.Key //key + myCont["is_admin"] = userCont.IsAdmin //是否为管理员(1:不是;2:分公司;3:集团管理员;4:超级管 + myCont["password"] = userCont.Password //密码 + myCont["role"] = userCont.Role //角色 + myCont["idcardno"] = userCont.Idcardno //身份证号 + myCont["passportno"] = userCont.Passportno //护照号码 + myCont["globalroaming"] = userCont.Globalroaming //国际区号 + myCont["mobilephone"] = userCont.Mobilephone //手机号码 + myCont["email"] = userCont.Email //电子邮件 + myCont["gender"] = userCont.Gender //性别(1:男性;2:女性;3:中性) + myCont["birthday"] = userCont.Birthday //birthday + myCont["myfolk"] = userCont.Myfolk //民族 + myCont["nativeplace"] = userCont.Nativeplace //籍贯 + myCont["idcardstartdate"] = userCont.Idcardstartdate //身份证有效期开始 + myCont["idcardenddate"] = userCont.Idcardenddate //身份证有效期结束 + myCont["idcardaddress"] = userCont.Idcardaddress //身份证地址 + myCont["idcardIssued"] = userCont.IdcardIssued //身份证签发机关 + myCont["health"] = userCont.Health //健康状况(1:良好;2:一般;3:较弱,4:有生理缺陷;5:残废) + myCont["maritalstatus"] = userCont.Maritalstatus //婚姻状况(1:未婚;2:已婚;3:丧偶;4:离异) + myCont["internaltelephone"] = userCont.Internaltelephone //内线电话 + myCont["currentresidence"] = userCont.Currentresidence //现居住地址 + myCont["constellationing"] = userCont.Constellation //星座(1:白羊座;2:金牛座;3:双子座;4:巨蟹座;5:狮子座;6:处女座;7:天枰座;8:天蝎座;9:射手座;10:摩羯座;11:水瓶座;12:双鱼座) + myCont["isdoubleworker"] = userCont.Isdoubleworker //是否双职工(1:是;2:否) + myCont["isveterans"] = userCont.Isveterans //是否为退役军人(1:是;2:否) + myCont["veteransnumber"] = userCont.Veteransnumber //退役证编号 + myCont["jobstartdate"] = userCont.Jobstartdate //参加工作日期 + myCont["entrydate"] = userCont.Entrydate //入职日期 + myCont["probationperiod"] = userCont.Probationperiod //试用期 + myCont["planformaldate"] = userCont.Planformaldate //预计转正日期 + myCont["political_outlook"] = userCont.PoliticalOutlook //政治面貌(1:群众;2:无党派;3:台盟会员;4:九三社员;5:致公党员;6:农工党员;7:民进会员;8:民建会员;9:民盟盟员;10:民革会员,11:共青团员;12:预备党员;13:中共党员) + redisClient.HashMsetAdd(redisMyContKey, myCont) + c.Next() } } diff --git a/gin_server_admin/model/system/request/sys_user.go b/gin_server_admin/model/system/request/sys_user.go index c03807e..c14917a 100644 --- a/gin_server_admin/model/system/request/sys_user.go +++ b/gin_server_admin/model/system/request/sys_user.go @@ -16,6 +16,7 @@ type Login struct { Password string `json:"password"` // 密码 Captcha string `json:"captcha"` // 验证码 CaptchaId string `json:"captchaId"` // 验证码ID + OpenId string `json:"openid"` //企业微信ID } // Modify password structure diff --git a/gin_server_admin/router/statisticsrouter/statistics.go b/gin_server_admin/router/statisticsrouter/statistics.go index 457cd02..d0dbc3a 100644 --- a/gin_server_admin/router/statisticsrouter/statistics.go +++ b/gin_server_admin/router/statisticsrouter/statistics.go @@ -21,5 +21,6 @@ func (s *StatisticsRouter) InitRouter(Router *gin.RouterGroup) { QuantRouter.POST("", initQuantApiRouter.Index) // 首页 QuantRouter.POST("getquantechartorgandyear", initQuantApiRouter.GetQuantEChartOrgAndYear) // 计算定量考核组织范围,及起止年份 QuantRouter.POST("quantechart", initQuantApiRouter.QuantEChart) // 计算定量考核数据 + QuantRouter.POST("summarydetails", initQuantApiRouter.SummaryDetails) // 汇总详情 } }