123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="org.springblade.manager.mapper.ProjectInfoMapper">
- <!-- 通用查询映射结果 -->
- <resultMap id="projectInfoResultMap" type="org.springblade.manager.entity.ProjectInfo">
- <result column="id" property="id"/>
- <result column="create_time" property="createTime"/>
- <result column="create_user" property="createUser"/>
- <result column="create_dept" property="createDept"/>
- <result column="update_user" property="updateUser"/>
- <result column="update_time" property="updateTime"/>
- <result column="status" property="status"/>
- <result column="is_deleted" property="isDeleted"/>
- <result column="project_name" property="projectName"/>
- <result column="project_alias" property="projectAlias"/>
- <result column="project_number" property="projectNumber"/>
- <result column="project_gist" property="projectGist"/>
- <result column="project_grade" property="projectGrade"/>
- <result column="plan_start_time" property="planStartTime"/>
- <result column="plan_end_time" property="planEndTime"/>
- <result column="actual_start_time" property="actualStartTime"/>
- <result column="actual_end_time" property="actualEndTime"/>
- <result column="construcetion_date" property="construcetionDate"/>
- <result column="estimated_amount" property="estimatedAmount"/>
- <result column="project_mileage" property="projectAllMileage"/>
- <result column="project_pavement" property="projectPavement"/>
- <result column="project_subgrade" property="projectSubgrade"/>
- <result column="project_remark" property="projectRemark"/>
- <result column="state" property="state"/>
- <result column="is_open_sign" property="isOpenSign"/>
- <result column="reference_wbs_template_id" property="referenceWbsTemplateId"/>
- <result column="reference_wbs_template_type" property="referenceWbsTemplateType"/>
- <result column="reference_wbs_template_id_trial" property="referenceWbsTemplateIdTrial"/>
- <result column="reference_wbs_template_type_trial" property="referenceWbsTemplateTypeTrial"/>
- <result column="reference_log_wbs_template_id" property="referenceLogWbsTemplateId"/>
- <result column="is_open_random_number" property="isOpenRandomNumber"/>
- <result column="remark_type" property="remarkType"/>
- <result column="reference_wbs_template_id_lar" property="referenceWbsTemplateIdLar"/>
- <result column="reference_wbs_template_type_lar" property="referenceWbsTemplateTypeLar"/>
- </resultMap>
- <resultMap id="singPfxManagementResultMap" type="org.springblade.manager.vo.SingPfxManagementVO">
- <result column="id" property="projectId"/>
- <result column="project_name" property="projectName"/>
- <result column="personalCount" property="personalCount"/>
- <result column="project_name" property="projectName"/>
- <result column="contractId" property="contractId"/>
- </resultMap>
- <resultMap id="projectUserAmount" type="org.springblade.manager.vo.ProjectUserAmountVO">
- <result column="project_alias" property="projectName"/>
- <result column="contractor" property="contractor"/>
- <result column="supervision" property="supervision"/>
- <result column="owner" property="owner"/>
- </resultMap>
- <select id="queryProjectUserAmount" resultMap="projectUserAmount">
- SELECT mpi.project_alias,
- mpi.create_time,
- COUNT(DISTINCT CASE
- WHEN m.role_id = '1537247986361782274' OR r1.parent_id = '1537247986361782274'
- THEN m.user_id END) AS contractor,
- COUNT(DISTINCT CASE
- WHEN m.role_id = '1537246384519335938' OR r2.parent_id = '1537246384519335938'
- THEN m.user_id END) AS supervision,
- COUNT(DISTINCT CASE
- WHEN m.role_id = '1537246243393589249' OR r3.parent_id = '1537246243393589249'
- THEN m.user_id END) AS owner
- FROM m_project_info AS mpi
- LEFT JOIN m_project_assignment_user AS m ON mpi.id = m.project_id AND m.is_deleted = 0
- LEFT JOIN blade_role AS r1 ON m.role_id = r1.id AND r1.is_deleted = 0
- LEFT JOIN blade_role AS r2 ON m.role_id = r2.id AND r2.is_deleted = 0
- LEFT JOIN blade_role AS r3 ON m.role_id = r3.id AND r3.is_deleted = 0
- GROUP BY mpi.project_alias
- ORDER BY mpi.create_time;
- </select>
- <select id="singPfxManagementPage" resultMap="singPfxManagementResultMap">
- select
- pi.id,
- <choose>
- <when test="alias != null and alias != ''">
- pi.project_alias AS project_name
- </when>
- <otherwise>
- pi.project_name AS project_name
- </otherwise>
- </choose>
- ,
- (select id from m_contract_info where is_deleted = 0 and p_id = pi.id limit 1) AS contractId
- from m_project_info AS pi where pi.is_deleted = 0
- <if test="vo.projectId != null">
- and pi.id = #{vo.projectId}
- </if>
- limit #{current},#{size}
- </select>
- <select id="selectProjectList" resultMap="projectInfoResultMap">
- select * from m_project_info where is_deleted = 0 and id in
- <foreach collection="projectIds" item="projectId" open="(" separator="," close=")">
- #{projectId}
- </foreach>
- </select>
- <update id="updateTemplateInfoQuality">
- UPDATE m_project_info
- SET reference_wbs_template_id = #{referencePrivateWbsProjectId},
- reference_wbs_template_type = #{type}
- WHERE id = #{projectId}
- AND is_deleted = 0
- AND status = 1
- </update>
- <update id="updateTemplateInfoTrial">
- UPDATE m_project_info
- SET reference_wbs_template_id_trial = #{referencePrivateWbsProjectId},
- reference_wbs_template_type_trial = #{type}
- WHERE id = #{projectId}
- AND is_deleted = 0
- AND status = 1
- </update>
- <update id="updateTemplateInfoMeter">
- UPDATE m_project_info
- SET reference_wbs_template_id_meter = #{referencePrivateWbsProjectId},
- reference_wbs_template_type_meter = #{type}
- WHERE id = #{projectId}
- AND is_deleted = 0
- AND status = 1
- </update>
- <update id="updateTemplateInfoLar">
- UPDATE m_project_info
- SET reference_wbs_template_id_lar = #{referencePrivateWbsProjectId},
- reference_wbs_template_type_lar = #{type}
- WHERE id = #{projectId}
- AND is_deleted = 0
- AND status = 1
- </update>
- <select id="selectProjectInfoPage" resultMap="projectInfoResultMap">
- select *
- from m_project_info
- where is_deleted = 0
- </select>
- <select id="selectOneAndWbsTypeById" resultType="org.springblade.manager.entity.ProjectInfo">
- SELECT *,
- (select wbs_type from m_wbs_info)
- FROM m_project_info
- WHERE id = #{id}
- </select>
- </mapper>
|