xiangpei
2025-04-23 c1a9747777ea9aee817f306475c94031e5559cc4
business/src/main/resources/mapper/ProjectInfoMapper.xml
@@ -16,13 +16,18 @@
            TPI.project_name,
            TPI.project_code,
            TPI.content,
            TPI.attract_investment,
            TPI.construction_nature,
            TPI.project_type,
            TPI.project_sub_type,
            TPI.project_status,
            TPI.fund_type,
            TPI.invest_type,
            TPI.project_phase,
            TPI.tag,
            TPI.competent_department,
            TPI.competent_department_phone,
            TPI.competent_department_person,
            TPI.area,
            TPI.management_centralization,
            TPI.project_approval_type,
@@ -46,7 +51,10 @@
            TPI.update_by,
            TPI.create_by,
            TPI.remark,
            TPI.id
            TPI.id,
            TPI.industry_competent_department,
            TPI.industry_competent_department_person,
            TPI.department_person_phone
        FROM
            t_project_info TPI
        WHERE
@@ -68,6 +76,7 @@
            TPIF.county_fiscal_investment as TPIF_county_fiscal_investment,TPIF.county_special_fund_investment as TPIF_county_special_fund_investment,
            TPIF.domestic_loan_total as TPIF_domestic_loan_total,TPIF.bank_loan as TPIF_bank_loan,TPIF.foreign_investment_total as TPIF_foreign_investment_total,
            TPIF.enterprise_self_raised_total as TPIF_enterprise_self_raised_total,TPIF.other_investment_total as TPIF_other_investment_total,
            TPIF.dept_bond as TPIF_dept_bond,TPIF.national_debt as TPIF_national_debt, TPIF.additional_national_debt as TPIF_additional_national_debt,
            TPII.be_cross_region as TPII_be_cross_region,TPII.construction_location as TPII_construction_location,
            TPII.detailed_address as TPII_detailed_address,TPII.be_compensation_project as TPII_be_compensation_project,TPII.compensation_reason as TPII_compensation_reason,
            TPII.planned_start_date as TPII_planned_start_date,TPII.expected_completion_date as TPII_expected_completion_date,
@@ -96,7 +105,7 @@
            TPURI.contact_address as TPURI_contact_address,
            TPURI.post_code as TPURI_post_code,
            TPURI.email as TPURI_email,
            TPI.coding,d.dept_name as project_owner_unit_name
            d.dept_name as project_owner_unit_name
        FROM
            t_project_info TPI
        LEFT JOIN t_project_investment_funding TPIF ON TPI.id = TPIF.project_id and TPIF.deleted = 0
@@ -107,6 +116,9 @@
        LEFT JOIN sys_dept d ON d.dept_id = TPI.project_owner_unit
        <where>
            TPI.deleted = 0
            <if test="query.coding !=null and query.coding!=''">
                and TPI.coding = #{query.coding}
            </if>
            <if test="query.projectName !=null and query.projectName!=''">
                and TPI.project_name like concat('%',#{query.projectName},'%')
            </if>
@@ -117,7 +129,12 @@
                and TPI.project_type = #{query.projectType}
            </if>
            <if test="query.importanceType !=null and query.importanceType!=''">
                and TPI.importance_type = #{query.importanceType}
                and (
                TPI.importance_type like concat('%',#{query.importanceType},'%')
                <if test="query.importanceType == 'normal'">
                    or TPI.importance_type is null or TPI.importance_type = ''
                </if>
                )
            </if>
            <if test="query.tag !=null and query.tag!=''">
                and TPI.tag like concat('%',#{query.tag},'%')
@@ -125,17 +142,15 @@
            <if test="query.projectStatus !=null and query.projectStatus!=''">
                and TPI.project_status = #{query.projectStatus}
            </if>
            <if test="query.projectPhase !=null and query.projectPhase!=''">
            <if test="query.projectPhase !=null and query.projectPhase!='' and query.projectPhase!=6 and query.projectPhase!=5">
                and TPI.project_phase = #{query.projectPhase}
            </if>
<!--            <if test=" assignmentStatus !=null and assignmentStatus!=''">-->
<!--                and TPI.project_phase = #{projectPhase}-->
<!--            </if>-->
            /* 只要不是6就查审核通过的,6是项目中心 */
            <if test="query.projectPhase != 6">
                and TPI.used_status = 2
            </if>
            <if test="query.fundType !=null and query.fundType!=''">
                and TPI.fund_type = #{query.fundType}
            </if>
            <if test="query.projectPhase !=null and query.projectPhase!=''">
                and TPI.project_phase = #{query.projectPhase}
            </if>
            <if test="query.investType !=null and query.investType!=''">
                and TPI.invest_type = #{query.investType}
@@ -146,33 +161,24 @@
            <if test="query.projectStartTime !=null and query.projectEndTime !=null">
                and TPI.create_project_time between #{query.projectStartTime} and #{query.projectEndTime}
            </if>
            <if test="query.reserveOrPrevious != null and query.reserveOrPrevious == 'reserve'">
                and TPP.process_ins_id is null
            </if>
            <if test="query.reserveOrPrevious != null and query.reserveOrPrevious == 'previous'">
                and TPP.process_ins_id is not null
            </if>
            <if test="query.projectCategory != 6">
                and TPI.used_status = 2
            </if>
            <if test="query.projectCategory == 3">
                and (TPI.project_status = 'working' or TPI.project_status = 'stop')
            </if>
            <!-- 业主数据权限 -->
            <if test="query.role == 0">
                and TPI.project_owner_unit = #{query.projectOwnerUnit}
            </if>
            <if test="query.projectCategory == 6">
<!--                <if test="query.role == 0">-->
<!--                    and TPI.used_status != 2-->
<!--            <if test="query.reserveOrPrevious != null and query.reserveOrPrevious == 'reserve'">-->
<!--                and TPP.process_ins_id is null-->
<!--            </if>-->
<!--            <if test="query.reserveOrPrevious != null and query.reserveOrPrevious == 'previous'">-->
<!--                and TPP.process_ins_id is not null-->
<!--            </if>-->
<!--            <if test="query.projectPhase == 3">-->
<!--                and (TPI.project_status = 'working' or TPI.project_status = 'stop')-->
<!--            </if>-->
<!--                <if test="query.role != null and query.role == 1">-->
<!--                    and TPI.competent_department = #{query.competentDepartment}-->
<!--                </if>-->
                <if test="query.role == 1">
                    and TPI.used_status = 1 and  FIND_IN_SET(#{query.competentDepartment}, TPI.competent_department) > 0
                </if>
            <!-- 业主数据权限 -->
            <if test="query.role != null and query.role == 0">
                ${query.params.dataScope}
            </if>
            <!--${query.params.dataScope}-->
        </where>
        order by TPI.gmt_create
        ORDER BY FIELD(TPI.used_status, 1, -1, 0, 2), TPI.gmt_create ASC
    </select>
    <select id="homeCount" parameterType="com.ycl.common.core.domain.BaseEntity" resultType="com.ycl.domain.vo.ProjectVO">
@@ -182,7 +188,7 @@
        LEFT JOIN t_project_process TPP ON TPI.id = TPP.project_id and TPP.deleted = 0
        LEFT JOIN sys_dept d ON TPI.project_owner_unit = d.dept_id
        <where>
            TPI.deleted = 0
            TPI.deleted = 0 AND TPI.used_status = 2
            ${params.dataScope}
        </where>
@@ -190,8 +196,9 @@
    <select id="selectProjectDetailByIds" resultType="com.ycl.domain.vo.ProjectVO">
        select
        TPI.id as id,TPI.project_name,TPI.project_code,TPI.content,TPI.project_type,TPI.project_status,TPI.fund_type,TPI.invest_type,TPI.project_phase,
        TPI.tag,TPI.competent_department,TPI.area,TPI.management_centralization,TPI.project_approval_type,TPI.importance_type,TPI.year,TPI.year_invest_amount,TPI.create_project_time,TPI.plan_start_time,
        TPI.id as id,TPI.project_name,TPI.project_code,TPI.attract_investment,TPI.content,TPI.construction_nature,TPI.project_type,TPI.project_sub_type,TPI.project_status,TPI.fund_type,TPI.invest_type,TPI.project_phase,
        TPI.tag,TPI.competent_department, TPI.competent_department_person, TPI.competent_department_phone,
        TPI.area,TPI.management_centralization,TPI.project_approval_type,TPI.importance_type,TPI.year,TPI.year_invest_amount,TPI.create_project_time,TPI.plan_start_time,
        TPI.plan_complete_time,TPI.win_unit,TPI.win_amount,TPI.win_time,TPI.project_address,TPI.longitude,TPI.latitude,
        TPI.project_owner_unit,TPI.project_contact_person,TPI.contact,TPI.gmt_create,TPI.gmt_update,TPI.update_by,TPI.create_by,
        TPIF.id,TPIF.project_id,TPIF.total_investment,TPIF.principal,TPIF.government_investment_total,TPIF.central_investment_total,TPIF.central_budget_investment,TPIF.central_fiscal_investment,TPIF.central_special_bond_investment,
@@ -200,6 +207,9 @@
        TPIF.county_investment_total,TPIF.county_budget_investment,TPIF.county_fiscal_investment,
        TPIF.county_special_fund_investment,TPIF.domestic_loan_total,TPIF.bank_loan,TPIF.foreign_investment_total,TPIF.enterprise_self_raised_total,TPIF.other_investment_total,TPIF.gmt_create,
        TPIF.create_by,TPIF.gmt_update,TPIF.update_by,
        TPIF.dept_bond,
        TPIF.national_debt,
        TPIF.additional_national_debt,
        TPII.id,TPII.project_id,TPII.be_cross_region,TPII.construction_location,TPII.detailed_address,TPII.be_compensation_project,TPII.compensation_reason,TPII.planned_start_date,
        TPII.expected_completion_date,TPII.national_industry_classification,TPII.industry_classification,TPII.project_nature,TPII.project_attribute,
        TPII.use_earth,TPII.content_scale,TPII.code,TPII.gmt_create,TPII.create_by,TPII.gmt_update, TPII.update_by,
@@ -225,7 +235,20 @@
            </if>
        </where>
    </select>
    <select id="queryById" resultType="com.ycl.domain.entity.ProjectInfo">
        select * from t_project_info where id = #{id} and deleted = 0
    </select>
    <resultMap id="pInfo" type="com.ycl.domain.entity.ProjectInfo">
        <id column="id" property="id"/>
    </resultMap>
    <select id="checkProjectNameAndIdIsUnique" resultMap="pInfo">
        select p.id from t_project_info p where  p.project_name =#{name} and p.id != #{id} and p.deleted = 0
        <if test="code !=null and code !=''">
            and p.project_code =#{code}
        </if>
    </select>
</mapper>