OvertimeStatsMinidaoDao_overtimeStatsPdData.sql 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. SELECT o.pjt_id pid,d.description pName,o.dept_id deptId,d1.departname pidName,o.yearmonth ,
  2. <#if (overtimeEntity.attType)?? && overtimeEntity.attType != 0>
  3. convert(sum(o.overtime_duration)/60,decimal(10,2)) overtimeDuration,
  4. CONCAT(floor(sum(o.overtime_duration)/60),'小时',floor(sum(o.overtime_duration) - floor(sum(o.overtime_duration)/60)*60),'分钟') overtimeDurationStr,
  5. sum(o.overtime_fee) overtimeFee,round(avg(o.dept_people_total)) unitPeopleTotal
  6. </#if>
  7. <#if (overtimeEntity.attType)?? && overtimeEntity.attType == 0>
  8. convert(o.overtime_duration/60,decimal(10,2)) overtimeDuration ,
  9. CONCAT(floor(o.overtime_duration/60),'小时',floor(o.overtime_duration - floor(o.overtime_duration/60)*60),'分钟') overtimeDurationStr,
  10. o.overtime_fee overtimeFee,o.dept_people_total unitPeopleTotal
  11. </#if>
  12. FROM t_bus_depart_overtime_statistics o
  13. LEFT JOIN t_s_depart d
  14. ON o.pjt_id = d.ID
  15. LEFT JOIN t_s_depart d1
  16. ON o.dept_id = d1.ID
  17. where 1=1
  18. <#if (overtimeEntity.attType)?? && overtimeEntity.attType == 2>
  19. and o.yearmonth like CONCAT('%', :overtimeEntity.attYear ,'%')
  20. </#if>
  21. <#if (overtimeEntity.attType)?? && overtimeEntity.attType != 2>
  22. <#if ( overtimeEntity.yearMonthList )?? && overtimeEntity.yearMonthList ?size gt 0>
  23. and o.yearmonth in(
  24. <#list overtimeEntity.yearMonthList as item>
  25. '${item}'
  26. <#if item_has_next>,</#if>
  27. </#list>
  28. )
  29. </#if>
  30. </#if>
  31. <#if (overtimeEntity.pid)??>
  32. and o.pjt_id =:overtimeEntity.pid
  33. </#if>
  34. <#if (overtimeEntity.attType)?? && overtimeEntity.attType != 0>
  35. GROUP BY o.dept_id
  36. </#if>
  37. order by overtimeDuration desc