无关风月
2025-04-10 099ea14bba367fd86f0dde37d908f07cc04c3d39
ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml
@@ -68,6 +68,9 @@
                    #{item}
                </foreach>
            </if>
            <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()}
        </where>
        order by t1.create_time desc
@@ -124,5 +127,55 @@
        </where>
    </select>
    <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 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>