@ -472,6 +472,7 @@ func (a *ApiMethod) CreateSchemeForDeparment(c *gin.Context) {
var qualEvalList [ ] modelskpi . QualitativeEvaluation
var qualEvalList [ ] modelskpi . QualitativeEvaluation
//解析方案结构体
//解析方案结构体
for _ , v := range receivedValue . Child {
for _ , v := range receivedValue . Child {
// dimensionIdInt, _ := strconv.ParseInt(v.Id, 10, 64)
//维度操作
//维度操作
AddWeight ( receivedValue . Group , v . Id , receivedValue . DepartmentId , "" , int64 ( v . ZhiFraction ) , 1 ) //添加维度权重
AddWeight ( receivedValue . Group , v . Id , receivedValue . DepartmentId , "" , int64 ( v . ZhiFraction ) , 1 ) //添加维度权重
for _ , cv := range v . Child {
for _ , cv := range v . Child {
@ -520,94 +521,171 @@ func (a *ApiMethod) CreateSchemeForDeparment(c *gin.Context) {
} else {
} else {
//定性指标
//定性指标
AddWeight ( receivedValue . Group , v . Id , receivedValue . DepartmentId , cv . Id , cv . ReferenceScore , 1 )
AddWeight ( receivedValue . Group , v . Id , receivedValue . DepartmentId , cv . Id , cv . ReferenceScore , 1 )
//获取定性指标得关联关系
var assessList [ ] modelskpi . Assesstarget
//获取关联的细则Id
err = overall . CONSTANT_DB_KPI . Model ( & modelskpi . Assesstarget { } ) . Where ( "`state` = 1 AND `group` = ? AND `dimension` = ? AND `targetid` = ? AND FIND_IN_SET(?,`departmentmap`)" , groupId , v . Id , cv . Id , departId ) . Find ( & assessList ) . Error
tarIdIntSet , _ := strconv . ParseInt ( cv . Id , 10 , 64 )
targetIdAry , err := GetTargetDetailsInfoList ( tarIdIntSet , 0 , 0 , departId , 0 , 3 , 1 )
var targetDetailsList [ ] modelskpi . DetailedTarget
err = overall . CONSTANT_DB_KPI . Model ( & modelskpi . DetailedTarget { } ) . Where ( "`dt_state` = 1 AND `dt_id` IN ? " , targetIdAry ) . Find ( & targetDetailsList ) . Error
var detailedList [ ] DutyAssEssTarget
//写入指标细则
if err == nil {
if err == nil {
var sunTarget [ ] int64
for _ , tv := range targetDetailsList { //指标细则
for _ , sv := range assessList { //遍历与此部门相关得子栏目
if publicmethod . IsInTrue [ int64 ] ( sv . Id , sunTarget ) == false { //次子栏目未操作过
//写入新的定性考核细则
//拆解指标详情
var saveData modelskpi . QualitativeEvaluation
var detailedList [ ] DutyAssEssTarget
saveData . Dimension = targetInfo . Dimension //纬度
json . Unmarshal ( [ ] byte ( sv . Content ) , & detailedList )
saveData . Target = targetInfo . Id //指标
saveData . Type = 1 //类型
sunTarget = append ( sunTarget , sv . Id )
saveData . TargetSun = tv . ParentIdSun //子栏目
//获取指标细则列表
saveData . DetailedTarget = tv . Id //指标细则
var targetDetailsList [ ] modelskpi . DetailedTarget
if tv . Company != "" {
err = overall . CONSTANT_DB_KPI . Model ( & modelskpi . DetailedTarget { } ) . Where ( "`dt_state` = 1 AND `dt_parentid` = ? AND `dt_parentid_sun` = ? AND (FIND_IN_SET(?,`dt_paretment`) OR `dt_paretment` = '')" , cv . Id , sv . SunTargetId , departId ) . Find ( & targetDetailsList ) . Error
saveData . Unit = tv . Company
fmt . Printf ( "获取指标细则列表-------->%v-------->%v-------->%v-------->%v\n" , cv . Id , sv . Id , departId , len ( targetDetailsList ) )
} else {
if err == nil {
saveData . Unit = targetInfo . Uniteing
for _ , tv := range targetDetailsList { //指标细则
}
saveData . ReferenceScore = 0 //分值
//写入新的定性考核细则
saveData . MinScore = tv . MinScore //最低分
var saveData modelskpi . QualitativeEvaluation
saveData . MaxScore = tv . MaxScore //最高分
saveData . Dimension = sv . Dimension //纬度
saveData . Target = targetInfo . Id //指标
saveData . CensorType = tv . CensorType //检查方式
saveData . Type = 1 //类型
saveData . CensorCont = tv . CensorCont //检查依据
saveData . TargetSun = sv . SunTargetId //子栏目
saveData . CensorRate = tv . CensorRate //检查频次
saveData . DetailedTarget = tv . Id //指标细则
saveData . State = judgeState //状态
if tv . Company != "" {
saveData . Addtime = time . Now ( ) . Unix ( )
saveData . Unit = tv . Company
saveData . Eitetime = time . Now ( ) . Unix ( )
} else {
saveData . Group = groupId //集团
saveData . Unit = targetInfo . Uniteing
}
if tv . Cycles > 0 {
saveData . ReferenceScore = 0 //分值
saveData . Cycles = tv . Cycles //1:班;2:天;3:周;4:月;5:季度;6:年
saveData . MinScore = tv . MinScore //最低分
saveData . CycleAttres = tv . CycleAttres //辅助计数
saveData . MaxScore = tv . MaxScore //最高分
} else {
saveData . Cycles = targetInfo . Cycles //1:班;2:天;3:周;4:月;5:季度;6:年
saveData . CensorType = tv . CensorType //检查方式
saveData . CycleAttres = targetInfo . CycleAttres //辅助计数
saveData . CensorCont = tv . CensorCont //检查依据
}
saveData . CensorRate = tv . CensorRate //检查频次
saveData . AcceptEvaluation = departId //接受考核部门
saveData . State = judgeState //状态
saveData . Content = tv . Content //描述
saveData . Addtime = time . Now ( ) . Unix ( )
reportStr := tv . Reportary
saveData . Eitetime = time . Now ( ) . Unix ( )
if tv . Reportary != "" {
saveData . Group = groupId //集团
saveData . Operator = tv . Reportary //执行考核人
} else {
if tv . Cycles > 0 {
if len ( detailedList ) > 0 {
saveData . Cycles = tv . Cycles //1:班;2:天;3:周;4:月;5:季度;6:年
for _ , dev := range detailedList {
saveData . CycleAttres = tv . CycleAttres //辅助计数
if dev . Id == tv . Id {
} else {
saveData . Operator = strings . Join ( dev . Operator , "," ) //执行考核人 //执行考核人
saveData . Cycles = targetInfo . Cycles //1:班;2:天;3:周;4:月;5:季度;6:年
reportStr = strings . Join ( dev . Operator , "," )
saveData . CycleAttres = targetInfo . CycleAttres //辅助计数
saveData . DepartmentId = strings . Join ( dev . Department , "," )
}
saveData . AcceptEvaluation = departId //接受考核部门
saveData . Content = tv . Content //描述
reportStr := tv . Reportary
if tv . Reportary != "" {
saveData . Operator = tv . Reportary //执行考核人
} else {
if len ( detailedList ) > 0 {
for _ , dev := range detailedList {
if dev . Id == tv . Id {
saveData . Operator = strings . Join ( dev . Operator , "," ) //执行考核人 //执行考核人
reportStr = strings . Join ( dev . Operator , "," )
saveData . DepartmentId = strings . Join ( dev . Department , "," )
}
}
}
}
var departAry [ ] string
userKeyAry := strings . Split ( reportStr , "," )
if len ( userKeyAry ) > 0 {
for _ , u_v := range userKeyAry {
var userCont modelshr . PersonArchives
err = userCont . GetCont ( map [ string ] interface { } { "`key`" : u_v } , "`maindeparment`" )
mainDepartStr := strconv . FormatInt ( userCont . MainDeparment , 10 )
if publicmethod . IsInTrue [ string ] ( mainDepartStr , departAry ) == false {
departAry = append ( departAry , mainDepartStr )
}
}
}
}
saveData . DepartmentId = strings . Join ( departAry , "," ) //处理关联部门
saveData . QualEvalId = keyStr
saveData . Observer = cv . Status
qualEvalList = append ( qualEvalList , saveData )
}
}
}
}
}
}
var departAry [ ] string
userKeyAry := strings . Split ( reportStr , "," )
if len ( userKeyAry ) > 0 {
for _ , u_v := range userKeyAry {
var userCont modelshr . PersonArchives
err = userCont . GetCont ( map [ string ] interface { } { "`key`" : u_v } , "`maindeparment`" )
mainDepartStr := strconv . FormatInt ( userCont . MainDeparment , 10 )
if publicmethod . IsInTrue [ string ] ( mainDepartStr , departAry ) == false {
departAry = append ( departAry , mainDepartStr )
}
}
}
saveData . DepartmentId = strings . Join ( departAry , "," ) //处理关联部门
saveData . QualEvalId = keyStr
saveData . Observer = cv . Status
qualEvalList = append ( qualEvalList , saveData )
}
}
}
}
//获取定性指标得关联关系
// var assessList []modelskpi.Assesstarget
// err = overall.CONSTANT_DB_KPI.Model(&modelskpi.Assesstarget{}).Where("`state` = 1 AND `group` = ? AND `dimension` = ? AND `targetid` = ? AND FIND_IN_SET(?,`departmentmap`)", groupId, v.Id, cv.Id, departId).Find(&assessList).Error
// if err == nil {
// var sunTarget []int64
// for _, sv := range assessList { //遍历与此部门相关得子栏目
// if publicmethod.IsInTrue[int64](sv.Id, sunTarget) == false { //次子栏目未操作过
// //拆解指标详情
// var detailedList []DutyAssEssTarget
// json.Unmarshal([]byte(sv.Content), &detailedList)
// sunTarget = append(sunTarget, sv.Id)
// //获取指标细则列表
// var targetDetailsList []modelskpi.DetailedTarget
// err = overall.CONSTANT_DB_KPI.Model(&modelskpi.DetailedTarget{}).Where("`dt_state` = 1 AND `dt_parentid` = ? AND `dt_parentid_sun` = ? AND (FIND_IN_SET(?,`dt_paretment`) OR `dt_paretment` = '')", cv.Id, sv.SunTargetId, departId).Find(&targetDetailsList).Error
// fmt.Printf("获取指标细则列表-------->%v-------->%v-------->%v-------->%v\n", cv.Id, sv.Id, departId, len(targetDetailsList))
// if err == nil {
// for _, tv := range targetDetailsList { //指标细则
// //写入新的定性考核细则
// var saveData modelskpi.QualitativeEvaluation
// saveData.Dimension = sv.Dimension //纬度
// saveData.Target = targetInfo.Id //指标
// saveData.Type = 1 //类型
// saveData.TargetSun = sv.SunTargetId //子栏目
// saveData.DetailedTarget = tv.Id //指标细则
// if tv.Company != "" {
// saveData.Unit = tv.Company
// } else {
// saveData.Unit = targetInfo.Uniteing
// }
// saveData.ReferenceScore = 0 //分值
// saveData.MinScore = tv.MinScore //最低分
// saveData.MaxScore = tv.MaxScore //最高分
// saveData.CensorType = tv.CensorType //检查方式
// saveData.CensorCont = tv.CensorCont //检查依据
// saveData.CensorRate = tv.CensorRate //检查频次
// saveData.State = judgeState //状态
// saveData.Addtime = time.Now().Unix()
// saveData.Eitetime = time.Now().Unix()
// saveData.Group = groupId //集团
// if tv.Cycles > 0 {
// saveData.Cycles = tv.Cycles //1:班;2:天;3:周;4:月;5:季度;6:年
// saveData.CycleAttres = tv.CycleAttres //辅助计数
// } else {
// saveData.Cycles = targetInfo.Cycles //1:班;2:天;3:周;4:月;5:季度;6:年
// saveData.CycleAttres = targetInfo.CycleAttres //辅助计数
// }
// saveData.AcceptEvaluation = departId //接受考核部门
// saveData.Content = tv.Content //描述
// reportStr := tv.Reportary
// if tv.Reportary != "" {
// saveData.Operator = tv.Reportary //执行考核人
// } else {
// if len(detailedList) > 0 {
// for _, dev := range detailedList {
// if dev.Id == tv.Id {
// saveData.Operator = strings.Join(dev.Operator, ",") //执行考核人 //执行考核人
// reportStr = strings.Join(dev.Operator, ",")
// saveData.DepartmentId = strings.Join(dev.Department, ",")
// }
// }
// }
// }
// var departAry []string
// userKeyAry := strings.Split(reportStr, ",")
// if len(userKeyAry) > 0 {
// for _, u_v := range userKeyAry {
// var userCont modelshr.PersonArchives
// err = userCont.GetCont(map[string]interface{}{"`key`": u_v}, "`maindeparment`")
// mainDepartStr := strconv.FormatInt(userCont.MainDeparment, 10)
// if publicmethod.IsInTrue[string](mainDepartStr, departAry) == false {
// departAry = append(departAry, mainDepartStr)
// }
// }
// }
// saveData.DepartmentId = strings.Join(departAry, ",") //处理关联部门
// saveData.QualEvalId = keyStr
// saveData.Observer = cv.Status
// qualEvalList = append(qualEvalList, saveData)
// }
// }
// }
// }
// }
}
}
}
}
}
}