ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
@@ -32,6 +32,8 @@
        <result property="text" column="sub1_text"/>
        <result property="voice" column="sub1_voice"/>
        <result property="taskId" column="sub1_task_id"/>
        <result property="status" column="sub1_status"/>
        <result property="clockInPicUrl" column="sub1_clock_in_pic_url"/>
    </resultMap>
    <resultMap type="ArdAppTaskPic" id="ArdAppTaskPicResult">
        <result property="id" column="sub2_id"/>
@@ -69,11 +71,52 @@
            <if test="name != null  and name != ''">and name like '%'||#{name}||'%'</if>
            <if test="text != null  and text != ''">and text = #{text}</if>
            <if test="voice != null  and voice != ''">and voice = #{voice}</if>
            <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
                and create_time &gt;= to_timestamp(#{params.beginTime},'yyyy-MM-DD HH24:MI:ss')
            </if>
            <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
                and create_time &lt;= to_timestamp(#{params.endTime},'yyyy-MM-DD HH24:MI:ss')
            </if>
            <if test="userId != null  and userId != ''">and user_id = #{userId}</if>
            <!-- 数据范围过滤 -->
            ${params.dataScope}
        </where>
    </select>
    <select id="selectArdAppTaskListWithDetail" parameterType="ArdAppTask" resultMap="ArdAppTaskSubResult">
        select a.id,
        a.name,
        a.text,
        a.voice,
        a.dept_id,
        a.user_id,
        a.create_by,
        a.create_time,
        a.update_by,
        a.update_time,
        b.id      as sub2_id,
        b.task_id as sub2_task_id,
        b.pic_url as sub2_pic_url,
        c.id   as sub1_id,
        c.name as sub1_name,
        c.longitude as sub1_longitude,
        c.latitude as sub1_latitde,
        c.altitude as sub1_altitude,
        c.user_id as sub1_user_id,
        c.text as sub1_text,
        c.voice as sub1_voice,
        c.status as sub1_status,
        c.clock_in_pic_url as sub1_clock_in_pic_url
        from ard_app_task a
        left join ard_app_task_pic b on b.task_id = a.id
        left join ard_app_task_detail c on c.task_id = a.id
        where c.user_id = #{userId}
        <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
            and a.create_time &gt;= to_timestamp(#{params.beginTime},'yyyy-MM-DD HH24:MI:ss')
        </if>
        <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
            and a.create_time &lt;= to_timestamp(#{params.endTime},'yyyy-MM-DD HH24:MI:ss')
        </if>
    </select>
    <select id="selectArdAppTaskById" parameterType="String" resultMap="ArdAppTaskSubResult">
        select a.id,
               a.name,
@@ -137,7 +180,9 @@
               c.altitude as sub_altitude,
               c.user_id as sub_user_id,
               c.text as sub_text,
               c.voice as sub_voice
               c.voice as sub_voice,
               c.status as sub_status,
               c.clock_in_pic_url as sub_clock_in_pic_url
        from ard_app_task a
                 left join ard_app_task_detail c on c.task_id = a.id
        where a.id = #{id}
@@ -219,6 +264,7 @@
            ( #{item.id}, #{item.taskId}, #{item.picUrl})
        </foreach>
    </insert>
    <delete id="deleteArdAppTaskDetailByTaskIds" parameterType="String">
        delete from ard_app_task_detail where task_id in
        <foreach item="taskId" collection="array" open="(" separator="," close=")">
@@ -233,10 +279,32 @@
    </delete>
    <insert id="batchArdAppTaskDetail">
        insert into ard_app_task_detail( id, name, longitude, latitude, altitude, user_id, text, voice, task_id) values
        insert into ard_app_task_detail( id, name, longitude, latitude, altitude, user_id, text, voice, task_id,status,clock_in_pic_url) values
        <foreach item="item" index="index" collection="list" separator=",">
            ( #{item.id}, #{item.name}, #{item.longitude}, #{item.latitude}, #{item.altitude}, #{item.userId},
            #{item.text}, #{item.voice}, #{item.taskId})
            #{item.text}, #{item.voice}, #{item.taskId}, #{item.status}, #{item.clockInPicUrl})
        </foreach>
    </insert>
    <update id="updateArdAppTaskDetail" parameterType="ArdAppTaskDetail">
        update ard_app_task_detail
        <trim prefix="SET" suffixOverrides=",">
            <if test="status != null">status = #{status},</if>
            <if test="clockInPicUrl != null">clock_in_pic_url = #{clockInPicUrl},</if>
            <if test="text != null">text = #{text},</if>
            <if test="voice != null">voice = #{voice},</if>
        </trim>
        where id = #{id}
    </update>
    <insert id="batchArdAppTaskDetailPic">
        insert into ard_app_task_detail_pic( id, task_detail_id, pic_url) values
        <foreach item="item" index="index" collection="list" separator=",">
            ( #{item.id}, #{item.taskDetailId}, #{item.picUrl})
        </foreach>
    </insert>
    <delete id="deleteArdAppTaskDetailPicByTaskDetailId" parameterType="String">
        delete
        from ard_app_task_detail_pic
        where task_detail_id = #{taskDetailId}
    </delete>
</mapper>