Ei kuvausta

TLhzxMaintenanceCompletionRecordMapper.xml 4.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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.yt.zhylplat.moduleMain.completion.mapper.TLhzxMaintenanceCompletionRecordMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.yt.zhylplat.moduleMain.completion.entity.TLhzxMaintenanceCompletionRecord">
  6. <id column="id" property="id" />
  7. <result column="section_id" property="sectionId" />
  8. <result column="section_name" property="sectionName" />
  9. <result column="maintenance_company_id" property="maintenanceCompanyId" />
  10. <result column="maintenance_company_name" property="maintenanceCompanyName" />
  11. <result column="complete_date" property="completeDate" />
  12. <result column="operation_num" property="operationNum" />
  13. <result column="operation_user_id" property="operationUserId" />
  14. <result column="operation_user_name" property="operationUserName" />
  15. <result column="create_user_id" property="createUserId" />
  16. <result column="create_date" property="createDate" />
  17. <result column="update_user_id" property="updateUserId" />
  18. <result column="update_date" property="updateDate" />
  19. <result column="del_flg" property="delFlg" />
  20. <result column="remark" property="remark" />
  21. </resultMap>
  22. <!-- 通用查询结果列 -->
  23. <sql id="Base_Column_List">
  24. id, section_id, section_name, maintenance_company_id, maintenance_company_name, complete_date, operation_num, operation_user_id, operation_user_name, create_user_id, create_date, update_user_id, update_date, del_flg, remark
  25. </sql>
  26. <select id="selectMaintenanceCompletionPage"
  27. resultType="com.yt.zhylplat.moduleMain.completion.entity.TLhzxMaintenanceCompletionRecord">
  28. SELECT
  29. rsmc.section_id,
  30. s.section_name,
  31. rsmc.maintenance_company_id,
  32. mc.maintenance_company_name,
  33. IF(mcr.complete_date is null, 0, 1) as isCompletion,
  34. IF(mcrc.complete_count is null, 0, mcrc.complete_count) as completionCount
  35. FROM (
  36. select DISTINCT
  37. maintenance_company_id,
  38. section_id,
  39. del_flg
  40. from
  41. T_Lhzx_Road_Section_Maintenance_Company
  42. WHERE
  43. del_flg = 0
  44. ) rsmc
  45. LEFT JOIN
  46. T_Lhzx_Maintenance_Company mc on mc.id = rsmc.maintenance_company_id
  47. LEFT JOIN
  48. T_Lhzx_Section s on s.id = rsmc.section_id
  49. LEFT JOIN (
  50. SELECT DISTINCT
  51. section_id,
  52. maintenance_company_id,
  53. complete_date
  54. FROM
  55. T_Lhzx_Maintenance_Completion_Record
  56. WHERE
  57. del_flg = 0
  58. AND
  59. DATE_FORMAT(complete_date, '%Y-%m-%d') = DATE_FORMAT(#{maintenanceCompletionRecord.completeDate}, '%Y-%m-%d')
  60. ) mcr on mcr.maintenance_company_id = rsmc.maintenance_company_id and mcr.section_id = rsmc.section_id
  61. LEFT JOIN (
  62. SELECT
  63. section_id,
  64. maintenance_company_id,
  65. COUNT(DISTINCT complete_date) as complete_count
  66. FROM
  67. T_Lhzx_Maintenance_Completion_Record
  68. WHERE
  69. del_flg = 0
  70. and
  71. DATE_FORMAT(complete_date, '%Y-%m') = DATE_FORMAT(#{maintenanceCompletionRecord.completeDate}, '%Y-%m')
  72. GROUP BY
  73. section_id,
  74. maintenance_company_id
  75. ) mcrc on mcrc.maintenance_company_id = rsmc.maintenance_company_id and mcrc.section_id = rsmc.section_id
  76. <where>
  77. <if test="maintenanceCompletionRecord.sectionId != null">
  78. and rsmc.section_id = #{maintenanceCompletionRecord.sectionId}
  79. </if>
  80. <if test="maintenanceCompletionRecord.maintenanceCompanyId != null">
  81. and rsmc.maintenance_company_id = #{maintenanceCompletionRecord.maintenanceCompanyId}
  82. </if>
  83. </where>
  84. order by section_id asc,maintenance_company_id asc
  85. </select>
  86. </mapper>