ALTER TABLE `evaluation_process` ADD `ep_setup_department` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '发起部门';
ALTER TABLE `evaluation_process` ADD `ep_dimension` mediumtext COMMENT '维度';
ALTER TABLE `evaluation_process` ADD `ep_target` mediumtext COMMENT '指标';
ALTER TABLE `evaluation_process` ADD `ep_detailedtarget` mediumtext COMMENT '指标细则';
ALTER TABLE `evaluation_process` ADD `ep_accept_department` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '接受考核部门';
```
```
2、添加视图 evalprocess
select `dt`.`title` AS `class_title`,`et`.`et_title` AS `et_title`,`dgt`.`dt_title` AS `dt_title`,`ep`.`ep_id` AS `ep_id`,`ep`.`ep_order_key` AS `ep_order_key`,`ep`.`ep_step` AS `ep_step`,`ep`.`ep_cont` AS `ep_cont`,`ep`.`ep_next_cont` AS `ep_next_cont`,`ep`.`ep_time` AS `ep_time`,`ep`.`ep_state` AS `ep_state`,`ep`.`ep_role_group` AS `ep_role_group`,`ep`.`ep_type` AS `ep_type`,`ep`.`ep_participants` AS `ep_participants`,`ep`.`ep_start_time` AS `ep_start_time`,`ep`.`ep_next_step` AS `ep_next_step`,`ep`.`ep_next_executor` AS `ep_next_executor`,`ep`.`ep_setup_department` AS `ep_setup_department`,`ep`.`ep_dimension` AS `ep_dimension`,`ep`.`ep_target` AS `ep_target`,`ep`.`ep_detailedtarget` AS `ep_detailedtarget`,`ep`.`ep_accept_department` AS `ep_accept_department` from (((`evaluation_process` `ep` left join `dutyclass``dt` on(find_in_set(`dt`.`id`,`ep`.`ep_dimension`))) left join `evaluationtarget``et` on(find_in_set(`et`.`et_id`,`ep`.`ep_target`))) left join `detailed_target``dgt` on(find_in_set(`dgt`.`dt_id`,`ep`.`ep_detailedtarget`)))
```
```
3、修改 flow_log_data 结构
ALTER TABLE `flow_log_data` ADD `fld_target_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '指标ID';
```
```
4、修改 score_flow 结构
ALTER TABLE `score_flow` ADD `sf_target_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '指标ID';
ALTER TABLE `score_flow` ADD `sf_detailed_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '指标细则ID';
```
```
4、添加视图 flow_data_log
select `fl`.`fl_baseline` AS `baseline`,`fl`.`fl_duty_department` AS `department`,`fl`.`fl_duty_group` AS `group`,`fd`.`fld_flow_log` AS `key`,`fd`.`fld_score` AS `score`,`fd`.`fld_scoring_method` AS `method`,`fd`.`fld_scoring_score` AS `scoring_score`,`fl`.`fl_year` AS `year`,`fl`.`fl_quarter` AS `quarte`,`fl`.`fl_month` AS `month`,`fl`.`fl_week` AS `week`,`fl`.`fl_day` AS `day`,`fd`.`fld_id` AS `id`,`fd`.`fld_target_id` AS `targetid` from (`flow_log_data` `fd` left join `flow_log``fl` on((`fd`.`fld_flow_log` = `fl`.`fl_key`)))
qualEvalErr:=global.GVA_DB_Performanceappraisal.Where("`qe_qual_eval_id` = ? AND qe_dimension = ? AND qe_target = ? AND qe_accept_evaluation = ?",requestData.Key,pv.Id,pvChild.Id,assessTargetContent.Department).First(&qualEvalContInfo).Error
judgeVersioNum:=global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.PlanVersio{}).Select("`id`").Where("`group` = ? AND `yeares` = ?",requestData.Group,requestData.Year).Pluck("COALESCE(COUNT(id), 0) as countid",&sumVerson).Error
judgeVersioNum:=global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.PlanVersio{}).Select("`id`").Where("`group` = ? AND `yeares` = ?",requestData.Group,requestData.Year).Pluck("COALESCE(COUNT(id), 0) as countid",&sumVerson).Error
gormDb=gormDb.Where("dc.title LIKE ? OR et.et_title LIKE ? OR dt.dt_title LIKE ?","%"+requestData.Title+"%","%"+requestData.Title+"%","%"+requestData.Title+"%")
}
ifrequestData.Department!=""{
gormDb=gormDb.Where("sf.sf_duty_department = ? OR fl.fl_evaluation_department = ?",requestData.Department,requestData.Department)
gormDb:=global.GVA_DB_Performanceappraisal.Where("`group` = ? AND `departmentid` = ? AND `dimension` = ? AND `target` = ? AND `year` = ?",group,depart,dimen,target,year)
wherStr:=fmt.Sprintf("`sf_evaluation_plan` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v AND `sf_quarter` = %v",taskId,pvInfo.Group,pvInfo.Department,yserInt,i)
// wherStr := fmt.Sprintf("`sf_evaluation_plan` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v AND `sf_quarter` = %v", taskId, pvInfo.Group, pvInfo.Department, yserInt, i)
wherStr:=fmt.Sprintf("`sf_target_id` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v AND `sf_quarter` = %v",pcv.Id,pvInfo.Group,pvInfo.Department,yserInt,i)
// wherStr := fmt.Sprintf("`sf_evaluation_plan` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v AND `sf_month` = %v", taskId, pvInfo.Group, pvInfo.Department, yserInt, i)
// wherStr := fmt.Sprintf("`sf_evaluation_plan` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v AND `sf_month` = %v", taskId, pvInfo.Group, pvInfo.Department, yserInt, i)
// go tpsProcess.SubjectiveAuxiliaryCalculationSumMethod(wherStr, i, pcv.Status, 1, pcv.ReferenceScore)
// go tpsProcess.SubjectiveAuxiliaryCalculationSumMethod(wherStr, i, pcv.Status, 1, pcv.ReferenceScore)
// }
// }
wherStr:=fmt.Sprintf("`sf_evaluation_plan` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v",taskId,pvInfo.Group,pvInfo.Department,yserInt)
wherStr:=fmt.Sprintf("`sf_target_id` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v",pcv.Id,pvInfo.Group,pvInfo.Department,yserInt)
firstHalfwherStr:=fmt.Sprintf("`sf_evaluation_plan` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v AND `sf_month` IN %v",taskId,pvInfo.Group,pvInfo.Department,yserInt,[]int{1,2,3,4,5,6})
firstHalfwherStr:=fmt.Sprintf("`sf_target_id` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v AND `sf_month` IN %v",pcv.Id,pvInfo.Group,pvInfo.Department,yserInt,[]int{1,2,3,4,5,6})
secondHalfwherStr:=fmt.Sprintf("`sf_evaluation_plan` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v AND `sf_month` IN %v",taskId,pvInfo.Group,pvInfo.Department,yserInt,[]int{7,8,9,10,11,12})
secondHalfwherStr:=fmt.Sprintf("`sf_target_id` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v AND `sf_month` IN %v",pcv.Id,pvInfo.Group,pvInfo.Department,yserInt,[]int{7,8,9,10,11,12})
wherStr:=fmt.Sprintf("`sf_evaluation_plan` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v AND `sf_month` = %v",taskId,pvInfo.Group,pvInfo.Department,yserInt,i)
wherStr:=fmt.Sprintf("`sf_target_id` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v AND `sf_month` = %v",pcv.Id,pvInfo.Group,pvInfo.Department,yserInt,i)
// fmt.Printf("年--4-->%v--->%v-->%v\n", i, giveData.Year, yserInt)
// fmt.Printf("年--4-->%v--->%v-->%v\n", i, giveData.Year, yserInt)
wherStr:=fmt.Sprintf("fld_evaluation_id = %v AND `fl_year` = %v AND `fl_duty_group` = %v AND `fl_duty_department` = %v AND `fl_quarter` = %v",taskId,yserInt,pvInfo.Group,pvInfo.Department,i)
wherStr:=fmt.Sprintf("fld_target_id = %v AND `fl_year` = %v AND `fl_duty_group` = %v AND `fl_duty_department` = %v AND `fl_quarter` = %v",pcv.Id,yserInt,pvInfo.Group,pvInfo.Department,i)
// wherStr := fmt.Sprintf("fld_evaluation_id = %v AND `fl_year` = %v AND `fl_duty_group` = %v AND `fl_duty_department` = %v AND `fl_month` = %v", taskId, yserInt, pvInfo.Group, pvInfo.Department, i)
// wherStr := fmt.Sprintf("fld_evaluation_id = %v AND `fl_year` = %v AND `fl_duty_group` = %v AND `fl_duty_department` = %v AND `fl_month` = %v", taskId, yserInt, pvInfo.Group, pvInfo.Department, i)
wherStr:=fmt.Sprintf("fld_evaluation_id = %v AND `fl_year` = %v AND `fl_duty_group` = %v AND `fl_duty_department` = %v AND `fl_month` IN %v",taskId,yserInt,pvInfo.Group,pvInfo.Department,[]int{1,2,3,4,5,6})
wherStr:=fmt.Sprintf("fld_target_id = %v AND `fl_year` = %v AND `fl_duty_group` = %v AND `fl_duty_department` = %v AND `fl_month` IN %v",pcv.Id,yserInt,pvInfo.Group,pvInfo.Department,[]int{1,2,3,4,5,6})
secondwherStr:=fmt.Sprintf("fld_evaluation_id = %v AND `fl_year` = %v AND `fl_duty_group` = %v AND `fl_duty_department` = %v AND `fl_month` IN %v",taskId,yserInt,pvInfo.Group,pvInfo.Department,[]int{1,2,3,4,5,6})
secondwherStr:=fmt.Sprintf("fld_target_id = %v AND `fl_year` = %v AND `fl_duty_group` = %v AND `fl_duty_department` = %v AND `fl_month` IN %v",pcv.Id,yserInt,pvInfo.Group,pvInfo.Department,[]int{7,8,9,10,11,12})
// fmt.Printf("年--6-->%v--->%v-->%v\n", i, giveData.Year, yserInt)
// fmt.Printf("年--6-->%v--->%v-->%v\n", i, giveData.Year, yserInt)
wherStr:=fmt.Sprintf("fld_evaluation_id = %v AND `fl_year` = %v AND `fl_duty_group` = %v AND `fl_duty_department` = %v AND `fl_month` = %v",taskId,yserInt,pvInfo.Group,pvInfo.Department,i)
wherStr:=fmt.Sprintf("fld_target_id = %v AND `fl_year` = %v AND `fl_duty_group` = %v AND `fl_duty_department` = %v AND `fl_month` = %v",pcv.Id,yserInt,pvInfo.Group,pvInfo.Department,i)
// gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.FlowLogData{}).Joins("left join flow_log as fl on fl.fl_key = flow_log_data.fld_flow_log").Where(wherStr)
// gormDb.Pluck("COALESCE(SUM(fld_scoring_score), 0) as rescore", &sumScore)
// } else {
// gormDb := global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.FlowLogData{}).Joins("left join flow_log as fl on fl.fl_key = flow_log_data.fld_flow_log").Where(wherStr)
// gormDb.Pluck("COALESCE(SUM(fld_score), 0) as rescore", &sumScore)
// }
gormDb:=global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.FlowLogData{}).Joins("left join flow_log as fl on fl.fl_key = flow_log_data.fld_flow_log").Where(wherStr)
gormDb.Pluck("COALESCE(SUM(fld_score), 0) as rescore",&sumScore)
// fmt.Printf("计算得分--3-->%v--->%v-->%v--->%v\n", scoringMethod, wherStr, i, sumScore)
//获取测评部门
global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.FlowLogData{}).Select("fl_evaluation_department").Joins("left join flow_log as fl on fl.fl_key = flow_log_data.fld_flow_log").Where(wherStr).Find(&departmentAry)
gormDb:=global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.FlowLogData{}).Joins("left join flow_log as fl on fl.fl_key = flow_log_data.fld_flow_log").Where(wherStr)
gormDb.Pluck("COALESCE(SUM(fld_scoring_score), 0) as rescore",&sumManualScore)
gormDb:=global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.FlowLogData{}).Joins("left join flow_log as fl on fl.fl_key = flow_log_data.fld_flow_log").Where(wherStr)
gormDb:=global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.FlowLogData{}).Joins("left join flow_log as fl on fl.fl_key = flow_log_data.fld_flow_log").Where(wherStr)
gormDb.Pluck("COALESCE(SUM(fld_scoring_score), 0) as rescore",&sumScore)
gormDb.Pluck("COALESCE(SUM(fld_scoring_score), 0) as rescore",&sumScore)
// wherStr := fmt.Sprintf("`sf_evaluation_plan` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v AND `sf_quarter` = %v", taskId, pvInfo.Group, pvInfo.Department, yserInt, i)
wherStr:=fmt.Sprintf("`sf_target_id` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v AND `sf_quarter` = %v",pcv.Id,pvInfo.Group,pvInfo.Department,yserInt,i)
// wherStr := fmt.Sprintf("`sf_evaluation_plan` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v AND `sf_month` = %v", taskId, pvInfo.Group, pvInfo.Department, yserInt, i)
// if commonus.TimeStampToDate(time.Now().Unix(), 11) != giveData.Year {
// monthValue = "12"
// }
// monthValueInt, _ := strconv.Atoi(monthValue)
vartpsProcesstablePlanVersionStic
// for i := 1; i <= monthValueInt; i++ {
// wherStr := fmt.Sprintf("`sf_evaluation_plan` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v AND `sf_month` = %v", taskId, pvInfo.Group, pvInfo.Department, yserInt, i)
// syncProcessDepartTarget.Add(1)
// go tpsProcess.SubjectiveAuxiliaryCalculationSumMethod(wherStr, i, pcv.Status, 1, pcv.ReferenceScore)
// }
wherStr:=fmt.Sprintf("`sf_target_id` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v",pcv.Id,pvInfo.Group,pvInfo.Department,yserInt)
firstHalfwherStr:=fmt.Sprintf("`sf_target_id` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v AND `sf_month` IN %v",pcv.Id,pvInfo.Group,pvInfo.Department,yserInt,[]int{1,2,3,4,5,6})
secondHalfwherStr:=fmt.Sprintf("`sf_target_id` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v AND `sf_month` IN %v",pcv.Id,pvInfo.Group,pvInfo.Department,yserInt,[]int{7,8,9,10,11,12})
wherStr:=fmt.Sprintf("`sf_target_id` = %v AND `sf_duty_group` = %v AND `sf_duty_department` = %v AND `sf_year` = %v AND `sf_month` = %v",pcv.Id,pvInfo.Group,pvInfo.Department,yserInt,i)
// global.GVA_DB_Performanceappraisal.Model(&assessmentmodel.QualitativeEvaluation{}).Select("qe_id").Where("qe_state = 1 AND qe_dimension = ? AND qe_target = ? AND qe_accept_evaluation IN ?", taskCont.Dimension, taskIdInt, v.SunOrg).Find(&taskIdAry)
err=global.GVA_DB_HrDataBase.Model(&positionInfo).Select("position.id,position.number,position.name,position.person_in_charge,d.id as dutid,d.name as dutname,d.number as dutnumber,j.id as jobid,j.name as jobname").Joins("left join duties as d on d.id = position.duties").Joins("left join job_class as j on j.id = d.job_type").Where("`position`.`id` = ?",jobId).First(&cont).Error
err=global.GVA_DB_HrDataBase.Model(&positionInfo).Select("position.id,position.number,position.name,position.person_in_charge,d.id as dutid,d.name as dutname,d.number as dutnumber,j.id as jobid,j.name as jobname").Joins("left join duties as d on d.id = position.duties").Joins("left join job_class as j on j.id = d.job_type").Where("`position`.`id` = ?",jobId).First(&cont).Error
gormDb:=global.GVA_DB_Performanceappraisal.Where("`group` = ? AND `departmentid` = ? AND `dimension` = ? AND `target` = ? AND `year` = ?",group,depart,dimen,target,year)