PmWorkContentMapper.xml 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.usky.iot.mapper.PmWorkContentMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.usky.iot.domain.PmWorkContent">
  6. <id column="id" property="id"/>
  7. <result column="report_id" property="reportId"/>
  8. <result column="project_id" property="projectId"/>
  9. <result column="project_name" property="projectName"/>
  10. <result column="submitter_id" property="submitterId"/>
  11. <result column="work_content" property="workContent"/>
  12. <result column="work_time" property="workTime"/>
  13. <result column="create_by" property="createBy"/>
  14. <result column="create_time" property="createTime"/>
  15. <result column="update_by" property="updateBy"/>
  16. <result column="update_time" property="updateTime"/>
  17. <result column="dept_id" property="deptId"/>
  18. <result column="tenant_id" property="tenantId"/>
  19. </resultMap>
  20. <select id="workTimeCount" resultType="com.usky.iot.service.vo.PmProjectWorkTimeVo">
  21. SELECT pc.project_name, SUM(pc.work_time) as workTime
  22. FROM pm_work_content pc
  23. JOIN pm_work_report pr ON pc.report_id = pr.id
  24. WHERE pr.submitter_id = #{userId}
  25. AND pr.report_date BETWEEN #{startTime} AND #{endTime}
  26. GROUP BY pc.project_name
  27. </select>
  28. <!-- <select id="workHoursStatistics" resultType="com.usky.iot.service.vo.WorkHoursStatisticsVO">
  29. SELECT u.nick_name as nickName, pc.project_name as projectName, SUM(pc.work_time) as workTime
  30. FROM pm_work_content pc
  31. JOIN pm_work_report pr ON pc.report_id = pr.id
  32. JOIN sys_user u ON pc.submitter_id = u.user_id
  33. <if test="userId != null and userId != '' and userId != 0 ">
  34. AND pr.submitter_id = #{userId}
  35. </if>
  36. AND pr.report_date BETWEEN #{startTime} AND #{endTime}
  37. AND pc.tenant_id = #{tenantId}
  38. GROUP BY u.nick_name, pc.project_name
  39. </select>-->
  40. <!-- <select id="statisticsDept" resultType="com.usky.iot.service.vo.WorkHoursStatisticsVO">
  41. SELECT u.nick_name as nickName, pc.project_name as projectName, SUM(pc.work_time) as workTime
  42. FROM pm_work_content pc
  43. JOIN pm_work_report pr ON pc.report_id = pr.id
  44. JOIN sys_user u ON pc.submitter_id = u.user_id
  45. <if test="userId != null and userId != '' and userId != 0 ">
  46. AND pr.submitter_id = #{userId}
  47. </if>
  48. AND pc.tenant_id = #{tenantId}
  49. AND pc.dept_id = #{deptId}
  50. AND pr.report_date BETWEEN #{startTime} AND #{endTime}
  51. GROUP BY u.nick_name, pc.project_name
  52. </select>-->
  53. <select id="workHourStatisticExport" resultType="com.usky.iot.service.vo.WorkTimeExportVO">
  54. SELECT pr.report_date AS reportDate, pr.create_by AS userName, pc.project_name AS projectName, pc.work_time AS workTime, pc.work_content AS workContent, u.nick_name AS fullName
  55. FROM pm_work_content pc
  56. JOIN pm_work_report pr ON pc.report_id = pr.id
  57. JOIN sys_user u ON pc.submitter_id = u.user_id
  58. <if test="tenantId != null and tenantId != '' and tenantId != 0">
  59. AND pr.tenant_id = #{tenantId}
  60. </if>
  61. <if test="projectId != null and projectId != '' and projectId != 0">
  62. AND pr.id = #{projectId}
  63. </if>
  64. <if test="userId != null and userId != '' and userId != 0">
  65. AND pr.submitter_id = #{userId}
  66. </if>
  67. <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
  68. AND pr.report_date BETWEEN #{startTime} AND #{endTime}
  69. </if>
  70. ORDER BY pr.report_date DESC
  71. </select>
  72. </mapper>