中扬CRM客户关系管理系统
#
LSH
2023-12-02 afa3bc1e2f39f66f59ee9b15d6af16593acdc9a4
src/main/resources/mapper/PlanMapper.xml
@@ -16,9 +16,9 @@
        <result column="apple_time" property="appleTime" />
        <result column="plan_need" property="planNeed" />
        <result column="be_item" property="beItem" />
        <result column="form" property="form" />
        <result column="planner" property="planner" />
        <result column="finish_time" property="finishTime" />
        <result column="form" property="form" />
        <result column="change" property="change" />
        <result column="change_time" property="changeTime" />
        <result column="change_reason" property="changeReason" />
@@ -34,7 +34,98 @@
        <result column="update_by" property="updateBy" />
        <result column="update_time" property="updateTime" />
        <result column="memo" property="memo" />
        <result column="user_xml_sel_phone" property="userXmlSelPhone" />
        <result column="director" property="director" />
        <result column="status2" property="status2" />
        <result column="assistant_plan_id" property="assistantPlanId" />
        <result column="host_plan_id" property="hostPlanId" />
        <result column="assistant_host_sign" property="assistantHostSign" />
        <result column="settle_size" property="settleSize" />
    </resultMap>
    <select id="selectByUuid" resultMap="BaseResultMap">
        select * from man_plan
        where 1=1
        and uuid = #{uuid}
        <if test="hostId != null">
            and host_id = #{hostId}
        </if>
    </select>
    <select id="selectPlanByNewestUuid" resultMap="BaseResultMap">
        select top 1 * from man_plan
        where 1=1
        <if test="hostId != null">
            and host_id = #{hostId}
        </if>
        order by uuid + 0 desc
    </select>
    <select id="listByPage" resultMap="BaseResultMap">
        SELECT
        mp.*
        FROM man_plan mp
        LEFT JOIN sys_dept sd ON mp.dept_id = sd.id
        WHERE 1=1
        <choose>
            <when test="deptId != null and deptId != ''">
                AND ( (CHARINDEX(','+#{deptId}+',', ','+sd.path+',') > 0 OR sd.id = #{deptId})
                or
                (
                    mp.user_id = #{userId}
                    or
                    mp.id in
                    (
                        select
                        plan_id
                        from man_plan_foll
                        where 1=1
                        and user_id = #{userId}
                    )
                ))
            </when>
            <otherwise>
                and
                (
                    <if test="userId != null and userId != ''">
                        mp.user_id = #{userId}
                        or
                        mp.director = #{userId}
                        or
                    </if>
                    mp.id in
                    (
                        select
                        plan_id
                        from man_plan_foll
                        where 1=1
                        and user_id = #{userId}
                    )
                )
            </otherwise>
        </choose>
        <if test="hostId != null">
            and mp.host_id = #{hostId}
        </if>
        <if test="condition != null and condition != ''">
            and (
            mp.uuid like concat('%',#{condition},'%')
            or mp.name like concat('%',#{condition},'%')
            or mp.planner like concat('%',#{condition},'%')
            )
        </if>
        <if test="director != null and director != ''">
            or mp.director = #{director}
        </if>
        ORDER BY mp.update_time DESC,mp.create_time DESC
    </select>
    <select id="selectPendingTaskCount" resultType="java.lang.Integer">
        select count(1) from man_plan
        where 1=1
        and director = #{director}
        and settle &lt; settle_size
    </select>
</mapper>