Browse Source

部门月度统计详情

qin_1
超级管理员 3 years ago
parent
commit
b54d1faf0b
  1. 9
      gin_server_admin/api/admin/dutyassess/assess.go
  2. 1
      gin_server_admin/api/index/statistics/enter.go
  3. 95
      gin_server_admin/api/index/statistics/newstatistics.go
  4. 20
      gin_server_admin/api/index/statistics/tablestatistics.go
  5. 45
      gin_server_admin/api/statistics/quantification/enter.go
  6. 69
      gin_server_admin/api/v1/custom/customhandle.go
  7. 2
      gin_server_admin/api/v1/examtestpage/grouphandle.go
  8. 174
      gin_server_admin/api/v1/shiyan/shiyan.go
  9. 31
      gin_server_admin/commonus/publichaneld.go
  10. 70
      gin_server_admin/middleware/myjwt.go
  11. 1
      gin_server_admin/model/system/request/sys_user.go
  12. 1
      gin_server_admin/router/statisticsrouter/statistics.go

9
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)

1
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"` //月
}
//考核方案版本列表查询输出

95
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)
}
}

20
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)
}

45
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"` //月份
}

69
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)
}

2
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 {

174
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
}

31
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
}

70
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()
}
}

1
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

1
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) // 汇总详情
}
}

Loading…
Cancel
Save