作者 tangxvhui

更新

@@ -315,15 +315,17 @@ func (d *TaskDao) CountTaskStageByHrbp(param ListTaskCondition) (int, error) { @@ -315,15 +315,17 @@ func (d *TaskDao) CountTaskStageByHrbp(param ListTaskCondition) (int, error) {
315 func (d *TaskDao) CountTaskStageAnomalyNotHrbp(param ListTaskCondition) (int, error) { 315 func (d *TaskDao) CountTaskStageAnomalyNotHrbp(param ListTaskCondition) (int, error) {
316 task1 := d.catchTaskIdByPermission(param.UserId) 316 task1 := d.catchTaskIdByPermission(param.UserId)
317 withSql := task1 + ` select count(*) 317 withSql := task1 + ` select count(*)
318 - from task_stage  
319 - join task on task_stage.task_id =task.id 318 + from task
320 join t_task_1 on task.id =t_task_1.id 319 join t_task_1 on task.id =t_task_1.id
321 - where 1=1 and task.company_id=?  
322 - and(  
323 - (task_stage.plan_completed_at <task_stage.real_completed_at) 320 + where 1=1
  321 + and task.company_id =?
  322 + and t_task_ignore.id isnull
  323 + and (
  324 + cast(COALESCE(task.current_stage ->>'plan_completed_at','0') as int)<floor(extract(epoch from now()))
324 or 325 or
325 - (task_stage.real_completed_at=0 and task_stage.plan_completed_at<extract(epoch from now()))  
326 - ) ` 326 + task.warn_flag = 1
  327 + )
  328 + `
327 condition := []interface{}{param.CompanyId} 329 condition := []interface{}{param.CompanyId}
328 whereSql := `` 330 whereSql := ``
329 if param.OnlyMy { 331 if param.OnlyMy {
@@ -347,15 +349,16 @@ func (d *TaskDao) CountTaskStageAnomalyByHrbp(param ListTaskCondition) (int, err @@ -347,15 +349,16 @@ func (d *TaskDao) CountTaskStageAnomalyByHrbp(param ListTaskCondition) (int, err
347 t_task_ignore as ( 349 t_task_ignore as (
348 select task_ignore.task_id,task_ignore.id from task_ignore where task_ignore.user_id =? 350 select task_ignore.task_id,task_ignore.id from task_ignore where task_ignore.user_id =?
349 )select count(*) 351 )select count(*)
350 - from task_stage  
351 - join task on task_stage.task_id =task.id 352 + from task
352 left join t_task_ignore on t_task_ignore.task_id=task.id 353 left join t_task_ignore on t_task_ignore.task_id=task.id
353 - where 1=1 and task.company_id=?  
354 - and(  
355 - (task_stage.plan_completed_at <task_stage.real_completed_at) 354 + where 1=1
  355 + and task.company_id =?
  356 + and t_task_ignore.id isnull
  357 + and (
  358 + cast(COALESCE(task.current_stage ->>'plan_completed_at','0') as int)<floor(extract(epoch from now()))
356 or 359 or
357 - (task_stage.real_completed_at=0 and task_stage.plan_completed_at<extract(epoch from now()))  
358 - ) ` 360 + task.warn_flag = 1
  361 + )`
359 condition := []interface{}{param.UserId, param.CompanyId} 362 condition := []interface{}{param.UserId, param.CompanyId}
360 whereSql := `` 363 whereSql := ``
361 if param.OnlyMy { 364 if param.OnlyMy {