package personnelapi
import (
"encoding/json"
"fmt"
"hr_server/models"
personalitycolor "hr_server/models/personalityColor"
"hr_server/overall"
"hr_server/overall/overallhandle"
"reflect"
"strconv"
"strings"
"time"
"github.com/gin-gonic/gin"
)
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 01 - 20 16 : 20 : 0 9
@ 功能 : 根据工号获取个人档案
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( s * StaffApi ) PersonnelFiles ( c * gin . Context ) {
var requestData overallhandle . NmuberOverall
err := c . ShouldBindJSON ( & requestData )
if err != nil {
overallhandle . Result ( 101 , requestData , c )
return
}
if requestData . Number == "" {
overallhandle . Result ( 1 , requestData , c , "未知人员!不可查询信息" )
return
}
var myInfo models . ManCont
err = myInfo . GetCont ( map [ string ] interface { } { "`number`" : requestData . Number } )
if err != nil {
overallhandle . Result ( 105 , err , c )
return
}
saveInfo := overallhandle . MapOut ( )
structValue := reflect . ValueOf ( myInfo )
structType := structValue . Type ( )
for i := 0 ; i < structValue . NumField ( ) ; i ++ {
fieldValue := structValue . Field ( i )
fieldType := structType . Field ( i )
saveInfo [ fieldType . Name ] = fieldValue . Interface ( )
}
if myInfo . Birthday != 0 {
saveInfo [ "birthdayTime" ] = overallhandle . UnixTimeToDay ( myInfo . Birthday , 14 ) //生日
}
if myInfo . Entrydate != 0 {
saveInfo [ "EntrydateTime" ] = overallhandle . UnixTimeToDay ( myInfo . Entrydate , 14 ) //入职日期
}
//部门
if myInfo . MainDeparment != 0 {
var demperMainInfos models . AdministrativeOrganization
demperMainInfos . GetCont ( map [ string ] interface { } { "`id`" : myInfo . MainDeparment } , "`name`" )
saveInfo [ "MainDeparmentName" ] = demperMainInfos . Name
}
//岗位
if myInfo . AdminOrg != 0 {
var adminOrg models . AdministrativeOrganization
adminOrg . GetCont ( map [ string ] interface { } { "`id`" : myInfo . AdminOrg } , "`name`" )
saveInfo [ "AdminOrgName" ] = adminOrg . Name
}
//职务
if myInfo . Position != 0 {
var postisInfo models . Position
postisInfo . GetCont ( map [ string ] interface { } { "`id`" : myInfo . Position } , "`name`" , "`person_in_charge`" )
saveInfo [ "PositionName" ] = postisInfo . Name
saveInfo [ "PersonInCharge" ] = postisInfo . PersonInCharge
}
if myInfo . Isdoubleworker == 1 {
var doubleWorkerInfo models . DoubleWorker
doubleWorkerInfo . GetCont ( map [ string ] interface { } { "`number`" : myInfo . Number , "`state`" : 1 } , "`name`" , "`company`" , "`department`" , "`position`" )
saveInfo [ "WorkCompany" ] = fmt . Sprintf ( "%v%v%v%v" , doubleWorkerInfo . Name , doubleWorkerInfo . Company , doubleWorkerInfo . Department , doubleWorkerInfo . Position )
} else {
saveInfo [ "WorkCompany" ] = ""
}
saveInfo [ "GenderName" ] = overallhandle . GenderStatus ( int64 ( myInfo . Gender ) )
saveInfo [ "ConstellationName" ] = overallhandle . StarSign ( int64 ( myInfo . Constellation ) )
saveInfo [ "PolitOutlook" ] = overallhandle . PoliticalIdentity ( int64 ( myInfo . PoliticalOutlook ) )
saveInfo [ "Maristatus" ] = overallhandle . MaritalStatus ( int64 ( myInfo . Maritalstatus ) )
//教育经历
synPro . Add ( 1 )
go func ( ) {
saveInfo [ "EducationalExperience" ] = UserEducationalExperience ( myInfo . Key )
} ( )
//工作履历
synPro . Add ( 1 )
go func ( ) {
saveInfo [ "ExternalWork" ] = getWorkHistoryList ( myInfo . Key ) //工作履历
} ( )
//集团内工作履历
synPro . Add ( 1 )
go func ( ) {
saveInfo [ "InternalWork" ] = getGroupWorkHistoryList ( myInfo . Key ) //工作履历
} ( )
//职称证书
synPro . Add ( 1 )
go func ( ) {
AcademicTitle := GainCertificateHonors ( myInfo . Key , 4 )
saveInfo [ "AcademicTitle" ] = strings . Join ( AcademicTitle , "," ) //工作履历
} ( )
//资格证书
synPro . Add ( 1 )
go func ( ) {
Diploma := GainCertificateHonorsBook ( myInfo . Key , 4 )
saveInfo [ "Diploma" ] = strings . Join ( Diploma , "," ) //工作履历
} ( )
currentTime := time . Now ( )
years := currentTime . Year ( ) - 2
//绩效成绩 Performance score
synPro . Add ( 1 )
go func ( ) {
saveInfo [ "Meritslog" ] = GainTimeLangMeritslog ( myInfo . Key , years , 2 ) //工作履历
} ( )
//获奖情况
synPro . Add ( 1 )
go func ( ) {
saveInfo [ "Rewards" ] = GainRewardsPenalties ( myInfo . Key , years , 2 , 1 ) //工作履历
} ( )
//惩罚情况
synPro . Add ( 1 )
go func ( ) {
saveInfo [ "Penalties" ] = GainRewardsPenalties ( myInfo . Key , years , 2 , 2 ) //工作履历
} ( )
//性格社彩
var myColor personalitycolor . Charcolortest
errColor := myColor . GetCont ( map [ string ] interface { } { "`c_states`" : 1 , "`c_number`" : requestData . Number } , "`c_id`" )
if errColor != nil {
saveInfo [ "isColorTrue" ] = 2
} else {
saveInfo [ "isColorTrue" ] = 1
}
// synPro.Add(1)
// go func() {
// xgsc := GainCharacterColor(myInfo.Number)
// // fmt.Printf("xgsc:%v\n", xgsc)
// saveInfo["CharacterColour"] = strings.Join(xgsc.TestNumber, "、") //工作履历
// saveInfo["ColourNameList"] = xgsc.TestNumber //工作履历
// saveInfo["RadarColour"] = xgsc.ColorMap
// }()
synPro . Wait ( )
overallhandle . Result ( 0 , saveInfo , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 01 - 24 0 8 : 0 8 : 43
@ 功能 : 获取性格色彩
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func GainCharacterColor ( num string ) ( tpr TestPageColorResult ) {
synPro . Done ( )
var myColor personalitycolor . Charcolortest
err := myColor . GetCont ( map [ string ] interface { } { "`c_states`" : 1 , "`c_number`" : num } )
if err != nil {
return
}
GetColorVal := make ( map [ string ] int )
if myColor . TestJson != "" {
var testPage [ ] TestPageColor
errJson := json . Unmarshal ( [ ] byte ( myColor . TestJson ) , & testPage )
if errJson != nil {
var testPageStr [ ] TestPageColorStr
json . Unmarshal ( [ ] byte ( myColor . TestJson ) , & testPageStr )
GetColorVal = JiSuanColorStr ( testPageStr )
} else {
GetColorVal = JiSuanColor ( testPage )
}
}
// fmt.Printf("TestJson-->%v\n", myColor.TestJson)
// fmt.Printf("testPage-->%v\n", testPage)
// GetColorVal = JiSuanColor(testPage)
var ColorStrAry [ ] TestPageColorVal
var redColor TestPageColorVal
redColor . Strval = GetColorVal [ "RedColor" ]
redColor . Name = "红色"
redColor . Setval = 1
ColorStrAry = append ( ColorStrAry , redColor )
var blueColor TestPageColorVal
blueColor . Strval = GetColorVal [ "BlueColor" ]
blueColor . Name = "蓝色"
blueColor . Setval = 1
ColorStrAry = append ( ColorStrAry , blueColor )
var yellowColor TestPageColorVal
yellowColor . Strval = GetColorVal [ "YellowColor" ]
yellowColor . Name = "黄色"
yellowColor . Setval = 1
ColorStrAry = append ( ColorStrAry , yellowColor )
var greenColor TestPageColorVal
greenColor . Strval = GetColorVal [ "GreenColor" ]
greenColor . Name = "绿色"
greenColor . Setval = 1
ColorStrAry = append ( ColorStrAry , greenColor )
var colorAry [ ] int
colorAry = append ( colorAry , GetColorVal [ "RedColor" ] )
colorAry = append ( colorAry , GetColorVal [ "BlueColor" ] )
colorAry = append ( colorAry , GetColorVal [ "YellowColor" ] )
colorAry = append ( colorAry , GetColorVal [ "GreenColor" ] )
colorVal , _ := json . Marshal ( ColorStrAry )
fmt . Printf ( "colorVal-->%v\n" , string ( colorVal ) )
tpr . ColorMap = colorAry
MaxColor := overallhandle . GetMaxNum [ int ] ( colorAry )
for _ , v := range ColorStrAry {
if v . Strval == MaxColor {
if ! overallhandle . IsInTrue [ int ] ( v . Setval , tpr . CheckedVal ) {
tpr . CheckedVal = append ( tpr . CheckedVal , v . Setval )
}
if ! overallhandle . IsInTrue [ string ] ( v . Name , tpr . TestNumber ) {
tpr . TestNumber = append ( tpr . TestNumber , v . Name )
}
}
}
return
}
// 计算颜色
func JiSuanColor ( testPage [ ] TestPageColor ) map [ string ] int {
if len ( testPage ) < 1 {
sendDataw := make ( map [ string ] int )
sendDataw [ "RedColor" ] = 0
sendDataw [ "BlueColor" ] = 0
sendDataw [ "YellowColor" ] = 0
sendDataw [ "GreenColor" ] = 0
return sendDataw
}
A_front_count := 0
B_front_count := 0
C_front_count := 0
D_front_count := 0
A_after_count := 0
B_after_count := 0
C_after_count := 0
D_after_count := 0
// fmt.Printf("testPage:%v\n", testPage)
for _ , v := range testPage {
// testNumInt, _ := strconv.Atoi(v.TestNumber)
// checkedValInt, _ := strconv.Atoi(v.CheckedVal)
testNumInt := v . TestNumber
checkedValInt := v . CheckedVal
if testNumInt <= 15 {
switch checkedValInt {
case 2 :
B_front_count ++
case 3 :
C_front_count ++
case 4 :
D_front_count ++
default :
A_front_count ++
}
} else {
switch checkedValInt {
case 2 :
B_after_count ++
case 3 :
C_after_count ++
case 4 :
D_after_count ++
default :
A_after_count ++
}
}
}
fmt . Printf ( "A_front_count: %v, B_front_count: %v, C_front_count: %v, D_front_count: %v\n" , A_front_count , B_front_count , C_front_count , D_front_count )
fmt . Printf ( "A_after_count: %v, B_after_count: %v, C_after_count: %v, D_after_count: %v\n" , A_after_count , B_after_count , C_after_count , D_after_count )
RedColor := A_front_count + D_after_count
BlueColor := B_front_count + C_after_count
YellowColor := C_front_count + B_after_count
GreenColor := D_front_count + A_after_count
// fmt.Printf("A_front_count: %v, D_after_count: %v, B_front_count: %v, BlueColor: %v\n", A_front_count, D_after_count, B_front_count, C_after_count)
// fmt.Printf("RedColor: %v, GreenColor: %v, YellowColor: %v, BlueColor: %v\n", RedColor, GreenColor, YellowColor, BlueColor)
sendData := make ( map [ string ] int )
sendData [ "RedColor" ] = RedColor
sendData [ "BlueColor" ] = BlueColor
sendData [ "YellowColor" ] = YellowColor
sendData [ "GreenColor" ] = GreenColor
sendData [ "A_front_count" ] = A_front_count
sendData [ "B_front_count" ] = B_front_count
sendData [ "C_front_count" ] = C_front_count
sendData [ "D_front_count" ] = D_front_count
sendData [ "A_after_count" ] = A_after_count
sendData [ "B_after_count" ] = B_after_count
sendData [ "C_after_count" ] = C_after_count
sendData [ "D_after_count" ] = D_after_count
return sendData
}
// 计算颜色
func JiSuanColorStr ( testPage [ ] TestPageColorStr ) map [ string ] int {
if len ( testPage ) < 1 {
sendDataw := make ( map [ string ] int )
sendDataw [ "RedColor" ] = 0
sendDataw [ "BlueColor" ] = 0
sendDataw [ "YellowColor" ] = 0
sendDataw [ "GreenColor" ] = 0
return sendDataw
}
A_front_count := 0
B_front_count := 0
C_front_count := 0
D_front_count := 0
A_after_count := 0
B_after_count := 0
C_after_count := 0
D_after_count := 0
// fmt.Printf("testPage:%v\n", testPage)
for _ , v := range testPage {
testNumInt , _ := strconv . Atoi ( v . TestNumber )
checkedValInt , _ := strconv . Atoi ( v . CheckedVal )
// testNumInt := v.TestNumber
// checkedValInt := v.CheckedVal
if testNumInt <= 15 {
switch checkedValInt {
case 2 :
B_front_count ++
case 3 :
C_front_count ++
case 4 :
D_front_count ++
default :
A_front_count ++
}
} else {
switch checkedValInt {
case 2 :
B_after_count ++
case 3 :
C_after_count ++
case 4 :
D_after_count ++
default :
A_after_count ++
}
}
}
fmt . Printf ( "A_front_count: %v, B_front_count: %v, C_front_count: %v, D_front_count: %v\n" , A_front_count , B_front_count , C_front_count , D_front_count )
fmt . Printf ( "A_after_count: %v, B_after_count: %v, C_after_count: %v, D_after_count: %v\n" , A_after_count , B_after_count , C_after_count , D_after_count )
RedColor := A_front_count + D_after_count
BlueColor := B_front_count + C_after_count
YellowColor := C_front_count + B_after_count
GreenColor := D_front_count + A_after_count
// fmt.Printf("A_front_count: %v, D_after_count: %v, B_front_count: %v, BlueColor: %v\n", A_front_count, D_after_count, B_front_count, C_after_count)
// fmt.Printf("RedColor: %v, GreenColor: %v, YellowColor: %v, BlueColor: %v\n", RedColor, GreenColor, YellowColor, BlueColor)
sendData := make ( map [ string ] int )
sendData [ "RedColor" ] = RedColor
sendData [ "BlueColor" ] = BlueColor
sendData [ "YellowColor" ] = YellowColor
sendData [ "GreenColor" ] = GreenColor
sendData [ "A_front_count" ] = A_front_count
sendData [ "B_front_count" ] = B_front_count
sendData [ "C_front_count" ] = C_front_count
sendData [ "D_front_count" ] = D_front_count
sendData [ "A_after_count" ] = A_after_count
sendData [ "B_after_count" ] = B_after_count
sendData [ "C_after_count" ] = C_after_count
sendData [ "D_after_count" ] = D_after_count
return sendData
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 01 - 23 15 : 42 : 56
@ 功能 : 奖惩记录
@ 参数
# userKey 人员KEY
# years 当前年
# duration 倒查几年
# class 奖励还是惩罚
@ 返回值
#
@ 方法原型
#
* /
func GainRewardsPenalties ( userKey int64 , years , duration , class int ) map [ string ] interface { } {
synPro . Done ( )
sendData := overallhandle . MapOut ( )
if duration > 0 {
// fmt.Printf("奖惩记录111111: %v\n", duration)
for i := duration ; i >= 0 ; i -- {
// fmt.Printf("奖惩记录33333: %v\n", i)
timeVal := years - i
var allScore [ ] map [ string ] interface { }
overall . CONSTANT_DB_HR . Model ( & models . RewardsPenalties { } ) . Where ( "`state` = 1 AND `userkey` = ? AND `years` = ? AND `types` = ?" , userKey , timeVal , class ) . Find ( & allScore )
// fmt.Printf("奖惩记录11111: %v\n", err)
timeValStr := strconv . Itoa ( timeVal )
sendData [ timeValStr ] = allScore
// fmt.Printf("奖惩记录: %s\n", timeValStr)
}
} else {
var allScore map [ string ] interface { }
overall . CONSTANT_DB_HR . Model ( & models . RewardsPenalties { } ) . Where ( "`state` = 1 AND `userkey` = ? AND `years` = ? AND `types` = ?" , userKey , years , class ) . Find ( & allScore )
timeValStr := strconv . Itoa ( years )
sendData [ timeValStr ] = allScore
}
return sendData
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 01 - 23 15 : 20 : 52
@ 功能 : 获取多长时间的绩效
@ 参数
# userKey 人员KEY
# years 当前年
# duration 倒查几年
@ 返回值
#
@ 方法原型
#
* /
func GainTimeLangMeritslog ( userKey int64 , years , duration int ) map [ string ] interface { } {
synPro . Done ( )
sendData := overallhandle . MapOut ( )
if duration > 0 {
for i := duration ; i >= 0 ; i -- {
timeVal := years - i
// var allScore int64
// overall.CONSTANT_DB_HR.Model(&models.Meritslog{}).Select("SUM(`score`) as `scoresum`").Where("`status` = 1 AND `userkey` = ? AND `years` = ?", userKey, timeVal).Find(&allScore)
timeValStr := strconv . Itoa ( timeVal )
// if allScore > 0 {
// sendData[timeValStr] = float64(allScore) / 10000
// } else {
// sendData[timeValStr] = 0
// }
var allScore string
overall . CONSTANT_DB_HR . Model ( & models . Meritslog { } ) . Select ( "`level`" ) . Where ( "`status` = 1 AND `userkey` = ? AND `years` = ?" , userKey , timeVal ) . Find ( & allScore )
sendData [ timeValStr ] = allScore
}
} else {
// var allScore int64
// overall.CONSTANT_DB_HR.Model(&models.Meritslog{}).Select("SUM(`score`) as `scoresum`").Where("`status` = 1 AND `userkey` = ? AND `years` = ?", userKey, years).Find(&allScore)
timeValStr := strconv . Itoa ( years )
// if allScore > 0 {
// sendData[timeValStr] = float64(allScore) / 10000
// } else {
// sendData[timeValStr] = 0
// }
var allScore string
overall . CONSTANT_DB_HR . Model ( & models . Meritslog { } ) . Select ( "SUM(`score`) as `scoresum`" ) . Where ( "`status` = 1 AND `userkey` = ? AND `years` = ?" , userKey , years ) . Find ( & allScore )
sendData [ timeValStr ] = allScore
}
return sendData
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 01 - 23 15 : 0 8 : 44
@ 功能 : 获取证书
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func GainCertificateHonors ( userKey int64 , class int ) ( titleList [ ] string ) {
synPro . Done ( )
// overall.CONSTANT_DB_HR.Model(&models.CertificateHonors{}).Select("`title`").Where("`state` = 1 AND `types` = ? AND `userkey` = ?", class, userKey).Find(&titleList)
overall . CONSTANT_DB_HR . Model ( & models . AcademicTitle { } ) . Select ( "`types`" ) . Where ( "`userkey` = ?" , userKey ) . Find ( & titleList )
return
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 02 - 04 13 : 50 : 10
@ 功能 : 证书
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func GainCertificateHonorsBook ( userKey int64 , class int ) ( titleList [ ] string ) {
synPro . Done ( )
overall . CONSTANT_DB_HR . Model ( & models . CertificateHonors { } ) . Select ( "`title`" ) . Where ( "`state` = 1 AND `types` = ? AND `userkey` = ?" , class , userKey ) . Find ( & titleList )
// overall.CONSTANT_DB_HR.Model(&models.AcademicTitle{}).Select("`types`").Where("`userkey` = ?", userKey).Find(&titleList)
return
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 01 - 23 0 9 : 46 : 31
@ 功能 : 获取教育径路
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func UserEducationalExperience ( num int64 ) ( eduExper [ ] educatExp ) {
defer synPro . Done ( )
var dowWorkMan [ ] models . PersonnelEducation
err := overall . CONSTANT_DB_HR . Model ( & models . PersonnelEducation { } ) . Where ( "`state` = 1 AND `key` = ?" , num ) . Order ( "`level` desc" ) . Find ( & dowWorkMan ) . Error
if err != nil {
return
}
for _ , v := range dowWorkMan {
var dwManCont educatExp //
dwManCont . GraduationSchool = v . GraduationSchool //毕业学校
dwManCont . Subject = v . Subject //专业
dwManCont . Education = v . Education //学历
dwManCont . EducationName = overallhandle . EducationLevel ( int64 ( v . Education ) )
if v . AdmissionTime != 0 {
dwManCont . AdmissionTime = overallhandle . UnixTimeToDay ( v . AdmissionTime , 14 ) //入学时间
}
if v . GraduationTime != 0 {
dwManCont . GraduationTime = overallhandle . UnixTimeToDay ( v . GraduationTime , 14 ) //毕业时间
}
dwManCont . AcademicDegree = overallhandle . AcademicDegree ( int64 ( v . AcademicDegree ) ) //学位
dwManCont . AcademicDegreeId = v . AcademicDegree
dwManCont . Level = overallhandle . GetXueWeiClass ( int64 ( v . Level ) )
dwManCont . LevelId = v . Level //学历类型
dwManCont . Id = strconv . FormatInt ( v . Id , 10 )
dwManCont . EducationTypeName = overallhandle . EducationType ( int64 ( v . EducationType ) )
eduExper = append ( eduExper , dwManCont )
}
return
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 02 - 04 15 : 27 : 53
@ 功能 : 数据库对账
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
// func (s *StaffApi) OneToBer(c *gin.Context) {
// var benDi []models.PersonArchives
// overall.CONSTANT_Hr_Server.Model(&models.PersonArchives{}).Select("`id`,`work_wechat`").Find(&benDi)
// // jsonCont, _ := json.Marshal(benDi)
// // fmt.Printf("jsonCont: %#v\n", string(jsonCont))
// if len(benDi) > 0 {
// for _, v := range benDi {
// fmt.Printf("jsonCont: %#v\n", v.WorkWechat)
// if v.WorkWechat != "" {
// var newHr models.PersonArchives
// newHr.EiteCont(map[string]interface{}{"`id`": v.Id}, map[string]interface{}{"`work_wechat`": v.WorkWechat, "`eite_time`": time.Now().Unix()})
// }
// }
// }
// }
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 02 - 06 0 9 : 01 : 51
@ 功能 : 获取性格色彩
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func ( s * StaffApi ) GetPeopleColor ( c * gin . Context ) {
var requestData overallhandle . NmuberOverall
err := c . ShouldBindJSON ( & requestData )
if err != nil {
overallhandle . Result ( 101 , requestData , c )
return
}
if requestData . Number == "" {
overallhandle . Result ( 1 , requestData , c , "未知人员!不可查询信息" )
return
}
xgsc := GainCharacterColorNoDone ( requestData . Number )
fmt . Printf ( "xgsc:%v\n" , xgsc )
saveInfo := overallhandle . MapOut ( )
saveInfo [ "CharacterColour" ] = strings . Join ( xgsc . TestNumber , "、" ) //工作履历
saveInfo [ "ColourNameList" ] = xgsc . TestNumber //工作履历
saveInfo [ "RadarColour" ] = xgsc . ColorMap
overallhandle . Result ( 0 , saveInfo , c )
}
/ *
*
@ 作者 : 秦东
@ 时间 : 2024 - 01 - 24 0 8 : 0 8 : 43
@ 功能 : 获取性格色彩
@ 参数
#
@ 返回值
#
@ 方法原型
#
* /
func GainCharacterColorNoDone ( num string ) ( tpr TestPageColorResult ) {
var myColor personalitycolor . Charcolortest
err := myColor . GetCont ( map [ string ] interface { } { "`c_states`" : 1 , "`c_number`" : num } )
if err != nil {
return
}
GetColorVal := make ( map [ string ] int )
if myColor . TestJson != "" {
var testPage [ ] TestPageColor
errJson := json . Unmarshal ( [ ] byte ( myColor . TestJson ) , & testPage )
if errJson != nil {
var testPageStr [ ] TestPageColorStr
json . Unmarshal ( [ ] byte ( myColor . TestJson ) , & testPageStr )
GetColorVal = JiSuanColorStr ( testPageStr )
} else {
GetColorVal = JiSuanColor ( testPage )
}
}
// fmt.Printf("TestJson-->%v\n", myColor.TestJson)
// fmt.Printf("testPage-->%v\n", testPage)
// GetColorVal = JiSuanColor(testPage)
var ColorStrAry [ ] TestPageColorVal
var redColor TestPageColorVal
redColor . Strval = GetColorVal [ "RedColor" ]
redColor . Name = "红色"
redColor . Setval = 1
ColorStrAry = append ( ColorStrAry , redColor )
var blueColor TestPageColorVal
blueColor . Strval = GetColorVal [ "BlueColor" ]
blueColor . Name = "蓝色"
blueColor . Setval = 1
ColorStrAry = append ( ColorStrAry , blueColor )
var yellowColor TestPageColorVal
yellowColor . Strval = GetColorVal [ "YellowColor" ]
yellowColor . Name = "黄色"
yellowColor . Setval = 1
ColorStrAry = append ( ColorStrAry , yellowColor )
var greenColor TestPageColorVal
greenColor . Strval = GetColorVal [ "GreenColor" ]
greenColor . Name = "绿色"
greenColor . Setval = 1
ColorStrAry = append ( ColorStrAry , greenColor )
var colorAry [ ] int
colorAry = append ( colorAry , GetColorVal [ "RedColor" ] )
colorAry = append ( colorAry , GetColorVal [ "BlueColor" ] )
colorAry = append ( colorAry , GetColorVal [ "YellowColor" ] )
colorAry = append ( colorAry , GetColorVal [ "GreenColor" ] )
colorVal , _ := json . Marshal ( ColorStrAry )
fmt . Printf ( "colorVal-->%v\n" , string ( colorVal ) )
tpr . ColorMap = colorAry
MaxColor := overallhandle . GetMaxNum [ int ] ( colorAry )
for _ , v := range ColorStrAry {
if v . Strval == MaxColor {
if ! overallhandle . IsInTrue [ int ] ( v . Setval , tpr . CheckedVal ) {
tpr . CheckedVal = append ( tpr . CheckedVal , v . Setval )
}
if ! overallhandle . IsInTrue [ string ] ( v . Name , tpr . TestNumber ) {
tpr . TestNumber = append ( tpr . TestNumber , v . Name )
}
}
}
return
}