ProjectInfoMapper.xml 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  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="org.springblade.manager.mapper.ProjectInfoMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="projectInfoResultMap" type="org.springblade.manager.entity.ProjectInfo">
  6. <result column="id" property="id"/>
  7. <result column="create_time" property="createTime"/>
  8. <result column="create_user" property="createUser"/>
  9. <result column="create_dept" property="createDept"/>
  10. <result column="update_user" property="updateUser"/>
  11. <result column="update_time" property="updateTime"/>
  12. <result column="status" property="status"/>
  13. <result column="is_deleted" property="isDeleted"/>
  14. <result column="project_name" property="projectName"/>
  15. <result column="project_alias" property="projectAlias"/>
  16. <result column="project_number" property="projectNumber"/>
  17. <result column="project_gist" property="projectGist"/>
  18. <result column="project_grade" property="projectGrade"/>
  19. <result column="plan_start_time" property="planStartTime"/>
  20. <result column="plan_end_time" property="planEndTime"/>
  21. <result column="actual_start_time" property="actualStartTime"/>
  22. <result column="actual_end_time" property="actualEndTime"/>
  23. <result column="construcetion_date" property="construcetionDate"/>
  24. <result column="estimated_amount" property="estimatedAmount"/>
  25. <result column="project_mileage" property="projectAllMileage"/>
  26. <result column="project_pavement" property="projectPavement"/>
  27. <result column="project_subgrade" property="projectSubgrade"/>
  28. <result column="project_remark" property="projectRemark"/>
  29. <result column="state" property="state"/>
  30. <result column="is_open_sign" property="isOpenSign"/>
  31. <result column="reference_wbs_template_id" property="referenceWbsTemplateId"/>
  32. <result column="reference_wbs_template_type" property="referenceWbsTemplateType"/>
  33. <result column="reference_wbs_template_id_trial" property="referenceWbsTemplateIdTrial"/>
  34. <result column="reference_wbs_template_type_trial" property="referenceWbsTemplateTypeTrial"/>
  35. <result column="reference_log_wbs_template_id" property="referenceLogWbsTemplateId"/>
  36. <result column="is_open_random_number" property="isOpenRandomNumber"/>
  37. <result column="remark_type" property="remarkType"/>
  38. <result column="reference_wbs_template_id_lar" property="referenceWbsTemplateIdLar"/>
  39. <result column="reference_wbs_template_type_lar" property="referenceWbsTemplateTypeLar"/>
  40. </resultMap>
  41. <resultMap id="singPfxManagementResultMap" type="org.springblade.manager.vo.SingPfxManagementVO">
  42. <result column="id" property="projectId"/>
  43. <result column="project_name" property="projectName"/>
  44. <result column="personalCount" property="personalCount"/>
  45. <result column="project_name" property="projectName"/>
  46. <result column="contractId" property="contractId"/>
  47. </resultMap>
  48. <resultMap id="projectUserAmount" type="org.springblade.manager.vo.ProjectUserAmountVO">
  49. <result column="project_alias" property="projectName"/>
  50. <result column="contractor" property="contractor"/>
  51. <result column="supervision" property="supervision"/>
  52. <result column="owner" property="owner"/>
  53. </resultMap>
  54. <select id="queryProjectUserAmount" resultMap="projectUserAmount">
  55. SELECT mpi.project_alias,
  56. mpi.create_time,
  57. COUNT(DISTINCT CASE
  58. WHEN m.role_id = '1537247986361782274' OR r1.parent_id = '1537247986361782274'
  59. THEN m.user_id END) AS contractor,
  60. COUNT(DISTINCT CASE
  61. WHEN m.role_id = '1537246384519335938' OR r2.parent_id = '1537246384519335938'
  62. THEN m.user_id END) AS supervision,
  63. COUNT(DISTINCT CASE
  64. WHEN m.role_id = '1537246243393589249' OR r3.parent_id = '1537246243393589249'
  65. THEN m.user_id END) AS owner
  66. FROM m_project_info AS mpi
  67. LEFT JOIN m_project_assignment_user AS m ON mpi.id = m.project_id AND m.is_deleted = 0
  68. LEFT JOIN blade_role AS r1 ON m.role_id = r1.id AND r1.is_deleted = 0
  69. LEFT JOIN blade_role AS r2 ON m.role_id = r2.id AND r2.is_deleted = 0
  70. LEFT JOIN blade_role AS r3 ON m.role_id = r3.id AND r3.is_deleted = 0
  71. GROUP BY mpi.project_alias
  72. ORDER BY mpi.create_time;
  73. </select>
  74. <select id="singPfxManagementPage" resultMap="singPfxManagementResultMap">
  75. select
  76. pi.id,
  77. <choose>
  78. <when test="alias != null and alias != ''">
  79. pi.project_alias AS project_name
  80. </when>
  81. <otherwise>
  82. pi.project_name AS project_name
  83. </otherwise>
  84. </choose>
  85. ,
  86. (select id from m_contract_info where is_deleted = 0 and p_id = pi.id limit 1) AS contractId
  87. from m_project_info AS pi where pi.is_deleted = 0
  88. <if test="vo.projectId != null">
  89. and pi.id = #{vo.projectId}
  90. </if>
  91. limit #{current},#{size}
  92. </select>
  93. <select id="selectProjectList" resultMap="projectInfoResultMap">
  94. select * from m_project_info where is_deleted = 0 and id in
  95. <foreach collection="projectIds" item="projectId" open="(" separator="," close=")">
  96. #{projectId}
  97. </foreach>
  98. </select>
  99. <update id="updateTemplateInfoQuality">
  100. UPDATE m_project_info
  101. SET reference_wbs_template_id = #{referencePrivateWbsProjectId},
  102. reference_wbs_template_type = #{type}
  103. WHERE id = #{projectId}
  104. AND is_deleted = 0
  105. AND status = 1
  106. </update>
  107. <update id="updateTemplateInfoTrial">
  108. UPDATE m_project_info
  109. SET reference_wbs_template_id_trial = #{referencePrivateWbsProjectId},
  110. reference_wbs_template_type_trial = #{type}
  111. WHERE id = #{projectId}
  112. AND is_deleted = 0
  113. AND status = 1
  114. </update>
  115. <update id="updateTemplateInfoMeter">
  116. UPDATE m_project_info
  117. SET reference_wbs_template_id_meter = #{referencePrivateWbsProjectId},
  118. reference_wbs_template_type_meter = #{type}
  119. WHERE id = #{projectId}
  120. AND is_deleted = 0
  121. AND status = 1
  122. </update>
  123. <update id="updateTemplateInfoLar">
  124. UPDATE m_project_info
  125. SET reference_wbs_template_id_lar = #{referencePrivateWbsProjectId},
  126. reference_wbs_template_type_lar = #{type}
  127. WHERE id = #{projectId}
  128. AND is_deleted = 0
  129. AND status = 1
  130. </update>
  131. <select id="selectProjectInfoPage" resultMap="projectInfoResultMap">
  132. select *
  133. from m_project_info
  134. where is_deleted = 0
  135. </select>
  136. <select id="selectOneAndWbsTypeById" resultType="org.springblade.manager.entity.ProjectInfo">
  137. SELECT *,
  138. (select wbs_type from m_wbs_info)
  139. FROM m_project_info
  140. WHERE id = #{id}
  141. </select>
  142. </mapper>