作者 tangxvhui

暂存

@@ -183,19 +183,69 @@ right join assess_list on assess_list.staff_assess_id = staff_assess_content.sta @@ -183,19 +183,69 @@ right join assess_list on assess_list.staff_assess_id = staff_assess_content.sta
183 183
184 **/ 184 **/
185 185
  186 +//获取员工填写评估内容
186 type UserAssessContent struct { 187 type UserAssessContent struct {
187 TargetUserId string //被评估人的id 188 TargetUserId string //被评估人的id
188 TargetUserName string //被评估人的名称 189 TargetUserName string //被评估人的名称
189 BeginDay string //评估的日期 190 BeginDay string //评估的日期
190 EvaluationProjectId string //项目id 191 EvaluationProjectId string //项目id
191 Value string //评估填写的值 192 Value string //评估填写的值
192 - SortBy int // p评估项顺序 193 + SortBy int //评估项顺序
193 Category string //分类 194 Category string //分类
194 Name string //名称 195 Name string //名称
195 Weight int //权重 196 Weight int //权重
196 } 197 }
197 198
  199 +type SearchConditin1 struct {
  200 + CycleId int //周期id
  201 + BeginDay string //评估的日期
  202 + UserName string //被评估人的名称
  203 + Limit int //分页
  204 + Offset int //分页
  205 + DepartmentId []int //
  206 + OperaterId int //用户的id是谁在搜索数据
  207 + IsHrBp bool //
  208 +}
  209 +
198 //根据周期的id和日期获取员工填写的评估内容 210 //根据周期的id和日期获取员工填写的评估内容
199 -func (d *StaffAssessDao) SearchUserAssessContent(cycleId int, beginDay string, limit int, offset int) error {  
200 - return nil 211 +//cycleId 周期id
  212 +//beginDay 评估任务的生成日期
  213 +//userName 被评估的员工名称,
  214 +// limit offset 分页搜索
  215 +func (d *StaffAssessDao) SearchUserAssessContent(param SearchConditin1) ([]UserAssessContent, error) {
  216 + sqlStr := `with assess_list as(
  217 + select
  218 + staff_assess.id as staff_assess_id,
  219 + staff_assess.target_user ->>'userId' as target_user_id,
  220 + staff_assess.target_user ->>'userName' as target_user_name,
  221 + staff_assess.evaluation_project_id,
  222 + to_char( staff_assess.begin_time,'YYYY-MM-DD') as begin_day
  223 + from staff_assess
  224 + where staff_assess.cycle_id = ?
  225 + and to_char( staff_assess.begin_time,'YYYY-MM-DD') ='?'
  226 + and staff_assess."types" ='self'
  227 + and staff_assess.target_user ->>'userName' like '?'
  228 + limit ? offset ?
  229 + )
  230 + select
  231 + assess_list.target_user_id,
  232 + assess_list.target_user_name,
  233 + assess_list.begin_day,
  234 + assess_list.evaluation_project_id,
  235 + staff_assess_content.value ,
  236 + staff_assess_content.sort_by ,
  237 + staff_assess_content.category ,
  238 + staff_assess_content."name" ,
  239 + staff_assess_content.weight
  240 + from staff_assess_content
  241 + right join assess_list on assess_list.staff_assess_id = staff_assess_content.staff_assess_id
  242 + order by convert_to(assess_list.target_user_name,'GBK') `
  243 +
  244 + tx := d.transactionContext.PgTx
  245 + condition := []interface{}{
  246 + param.CycleId, param.BeginDay, "%" + param.UserName + "%", param.Limit, param.Offset,
  247 + }
  248 + var result []UserAssessContent
  249 + _, err := tx.QueryOne(&result, sqlStr, condition...)
  250 + return result, err
201 } 251 }