xuhy
2025-04-27 5fa6e6f8410ef9d057174bcff2a3c5038c54a551
ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml
@@ -68,7 +68,7 @@
                    #{item}
                </foreach>
            </if>
            <if test="businessDeptId!=null and businessDeptId !='' and businessDeptId != '0'">
            <if test="businessDeptId!=null and businessDeptId !='' and businessDeptId != 0">
                and t1.business_dept_id = #{businessDeptId}
            </if>
            AND t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
@@ -130,16 +130,52 @@
    <select id="getCurrentMonthRentCount" resultType="java.lang.Integer">
        SELECT COUNT(DISTINCT tc.tenant_id) AS new_tenant_count
        FROM t_contract tc
        WHERE
        -- 筛选本月签订的合同
        DATE_FORMAT(tc.sign_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m') AND tc.status IN ("4", "5", "6", "7", "8", "9")
        -- 且租户在本月前从未签订过任何合同
        AND NOT EXISTS (
        SELECT 1
        FROM t_contract tc_hist
        WHERE tc_hist.tenant_id = tc.tenant_id
        AND tc_hist.sign_time <![CDATA[ < ]]> DATE_FORMAT(CURDATE(), '%Y-%m-01') AND tc_hist.status IN ("4", "5", "6", "7", "8", "9")
        )
        <where>
            -- 筛选本月签订的合同
            DATE_FORMAT(tc.sign_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m') AND tc.status IN ("4", "5", "6", "7", "8", "9") AND tc.pay_type = 2
            -- 且租户在本月前从未签订过任何合同
            AND NOT EXISTS (
            SELECT 1
            FROM t_contract tc_hist
            WHERE tc_hist.tenant_id = tc.tenant_id
            AND tc_hist.sign_time <![CDATA[ < ]]> DATE_FORMAT(CURDATE(), '%Y-%m-01') AND tc_hist.status IN ("4", "5", "6", "7", "8", "9")
            )
            <if test="businessDeptId!=0">
                AND tc.business_dept_id = #{businessDeptId}
            </if>
        </where>
    </select>
    <select id="page" resultType="com.ruoyi.system.model.TContract">
        select * from t_contract
        <where>
            <if test="query.partyTwoName != null and query.partyTwoName != ''">
                and party_two_name like concat('%',#{query.partyTwoName},'%')
            </if>
            <if test="query.contractNumber != null and query.contractNumber != ''">
                and contract_number like concat('%',#{query.contractNumber},'%')
            </if>
            <if test="query.contractName != null and query.contractName != ''">
                and contract_name like concat('%',#{query.contractName},'%')
            </if>
            <if test="query.status != null">
                and status = #{query.status}
            </if>
            <if test="query.tenantId != null">
                and tenant_id = #{query.tenantId}
            </if>
            <if test="query.statuses != null and query.statuses.size()>0">
                and status in
                <foreach collection="query.statuses" item="item" open="(" separator="," close=")">
                    #{item}
                </foreach>
            </if>
            <if test='query.businessDeptId!=null and query.businessDeptId !="" and query.businessDeptId != "0"'>
                and business_dept_id = #{query.businessDeptId}
            </if>
            AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        order by create_time desc
    </select>
</mapper>