zhangnaisong
2024-07-30 4c133c297ff25eddd1a30a4bce032affb334969a
ard-work/src/main/resources/mapper/sy/ArdSyCarMapper.xml
@@ -17,6 +17,30 @@
        <result property="reserved3"    column="reserved_3"    />
    </resultMap>
    <resultMap type="ArdSyCar" id="ArdSyCarLockResult">
        <result property="id"    column="id"    />
        <result property="carId"    column="car_id"    />
        <result property="carModel"    column="car_model"    />
        <result property="carType"    column="car_type"    />
        <result property="carBrand"    column="car_brand"    />
        <result property="deptId"    column="dept_id"    />
        <result property="carPicture"    column="car_picture"    />
        <result property="reserved1"    column="reserved_1"    />
        <result property="reserved2"    column="reserved_2"    />
        <result property="reserved3"    column="reserved_3"    />
        <collection property="ardTankLockList" ofType="com.ruoyi.sy.domain.ArdTankLock">
            <result property="id"    column="lid"    />
            <result property="lockNum"    column="lock_num"    />
            <result property="lockName"    column="lock_name"    />
            <result property="imgPositionTop"    column="img_position_top"    />
            <result property="imgPositionLeft"    column="img_position_left"    />
            <result property="carId"    column="lcar_id"    />
            <result property="enable"    column="enable"    />
            <result property="restartState"    column="restart_state"    />
            <result property="onlineTime"    column="online_time"    />
        </collection>
    </resultMap>
    <sql id="selectArdSyCarVo">
        select id, car_id, car_model, car_type, car_brand, dept_id, car_picture, reserved_1, reserved_2, reserved_3 from ard_sy_car
    </sql>
@@ -126,4 +150,41 @@
        inner join ard_tank_lock atl on "asc".car_id = atl.car_id
        where "asc".car_id = #{carId}
    </select>
    <select id="getCountByCarIdList" resultType="java.lang.Long">
        select count(*) from ard_sy_car "asc"
        where "asc".car_id in
        <foreach item="carId" collection="carIdList" open="(" separator="," close=")">
            #{carId}
        </foreach>
    </select>
    <select id="getCarListByDeptIdList" resultMap="ArdSyCarResult">
        select * from ard_sy_car where dept_id in
        <foreach item="deptId" collection="deptIdList" open="(" separator="," close=")">
            #{deptId}
        </foreach>
    </select>
    <select id="selectArdSyCarAndTankLockByUserId" resultMap="ArdSyCarLockResult" parameterType="java.lang.String">
        select "asc".id,"asc".car_id,"asc".car_model,"asc".car_type,
        "asc".car_brand,"asc".dept_id,"asc".car_picture,atl.id as lid,
        atl.lock_num,atl.lock_name,atl.img_position_top,atl.img_position_left,
        atl.car_id as lcar_id,atl.enable,coalesce(atl.restart_state,'') as restart_state,
        coalesce(atl.online_time,'') as online_time
        from ard_sy_car "asc"
        inner join ard_tank_lock atl on "asc".car_id = atl.car_id
        where "asc".dept_id in (
        with recursive rsd as (
            select sd.dept_id from sys_dept sd where sd.dept_id =
            (select dept_id from sys_user su where su.user_id = #{userId})
            union
            select csd.dept_id from sys_dept csd inner join rsd on rsd.dept_id = csd.parent_id
        )
        select dept_id from rsd) order by "asc".car_id desc,atl.lock_num
    </select>
    <select id="selectByBrandAndType" resultMap="ArdSyCarResult" parameterType="java.lang.String">
        select * from ard_sy_car
        <where>
            <if test="carType != null  and carType != ''"> and car_type = #{carType}</if>
            <if test="carBrand != null  and carBrand != ''"> and car_brand = #{carBrand}</if>
        </where>
    </select>
</mapper>