fuliqi
2025-01-08 90276a76b56cc1e744f7fa68ce921a28a8a9c92f
ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml
@@ -9,6 +9,8 @@
        <result property="deptId"    column="dept_id"    />
        <result property="examineTag"    column="examine_tag"    />
        <result property="createTime"    column="create_time"    />
        <result property="score"    column="score"    />
        <result property="num"    column="num"    />
        <result property="viewConnectStability"    column="view_connect_stability"    />
        <result property="siteOnline"    column="site_online"    />
        <result property="deviceDirectoryConsistent"    column="device_directory_consistent"    />
@@ -26,31 +28,41 @@
    </sql>
    <select id="selectCheckIndexCarList"  resultMap="CheckIndexCarResult">
        select tcic.*,sd.dept_name,tcs.score,IFNULL(tcs.device_count,0) as num
        from t_check_index_car tcic left join sys_dept sd on tcic.dept_id = sd.dept_id
        left join t_check_score tcs on tcic.id = tcs.index_id
        <where>
            tcs.examine_category = 2
            <if test="deptId != null "> and tcic.dept_id = #{deptId}</if>
            <if test="examineTag != null "> and tcic.examine_tag = #{examineTag}</if>
            <if test="quarter != null and quarter.size > 0">
                and date_format(tcs.create_time, '%Y-%m') between #{quarter[0]} and #{quarter[1]}
            </if>
            <if test="date != null "> and  date_format(tcic.create_time,'%Y-%m') = #{date}</if>
            <if test="day != null "> and  date(tcic.create_time) = #{day}</if>
            <if test="params.publish != null  and params.publish != ''">and tcic.publish = #{params.publish}</if>
            <if test="deptIds != null and deptIds.size()>0">and tcic.dept_id in
                <foreach collection="deptIds" separator="," open="(" close=")" item="deptId">
                    #{deptId}
                </foreach>
            </if>
        </where>
        order by tcic.examine_tag desc,sd.area_code,tcic.create_time
    </select>
    <select id="getCheckIndexCarList"  resultMap="CheckIndexCarResult">
        select tcic.*,sd.dept_name
        from t_check_index_car tcic left join sys_dept sd on tcic.dept_id = sd.dept_id
        <where>
            <if test="deptId != null "> and tcic.dept_id = #{deptId}</if>
            <if test="examineTag != null "> and examine_tag = #{examineTag}</if>
            <if test="date != null "> and  date_format(tcic.create_time,'%Y-%m') = #{date}</if>
            <if test="examineTag != null "> and tcic.examine_tag = #{examineTag}</if>
            <if test="day != null "> and  date(tcic.create_time) = #{day}</if>
            <if test="viewConnectStability != null "> and view_connect_stability = #{viewConnectStability}</if>
            <if test="siteOnline != null "> and site_online = #{siteOnline}</if>
            <if test="deviceDirectoryConsistent != null "> and device_directory_consistent = #{deviceDirectoryConsistent}</if>
            <if test="vehicleInformationCollectionAccuracy != null "> and vehicle_information_collection_accuracy = #{vehicleInformationCollectionAccuracy}</if>
            <if test="vehicleCaptureIntegrity != null "> and vehicle_capture_integrity = #{vehicleCaptureIntegrity}</if>
            <if test="vehicleCaptureAccuracy != null "> and vehicle_capture_accuracy = #{vehicleCaptureAccuracy}</if>
            <if test="vehicleTimingAccuracy != null "> and vehicle_timing_accuracy = #{vehicleTimingAccuracy}</if>
            <if test="vehicleUploadTimeliness != null "> and vehicle_upload_timeliness = #{vehicleUploadTimeliness}</if>
            <if test="vehicleUrlAvailability != null "> and vehicle_url_availability = #{vehicleUrlAvailability}</if>
            <if test="vehiclePictureAvailability != null "> and vehicle_picture_availability = #{vehiclePictureAvailability}</if>
            <if test="deptIds != null ">and tcic.dept_id in
            <if test="deptIds != null and deptIds.size()>0">and tcic.dept_id in
                <foreach collection="deptIds" separator="," open="(" close=")" item="deptId">
                    #{deptId}
                </foreach>
            </if>
        </where>
    </select>
    <select id="selectCheckIndexCarById" resultMap="CheckIndexCarResult">
        <include refid="selectCheckIndexCarVo"/>
        where id = #{id}
@@ -121,7 +133,83 @@
        </foreach>
    </delete>
    <select id="selectToday">
    <select id="selectToday" resultType="com.ycl.platform.domain.entity.CheckIndexCar">
        select * from t_check_index_car where DATE(create_time) = #{today}
    </select>
    <select id="dashboard" resultType="com.ycl.platform.domain.entity.CheckIndexCar">
<!--        SELECT-->
<!--            IFNULL(ROUND(AVG(view_connect_stability * 100), 0), 0) AS view_connect_stability,-->
<!--            IFNULL(ROUND(AVG(site_online * 100), 0), 0) AS site_online,-->
<!--            IFNULL(ROUND(AVG(device_directory_consistent * 100), 0), 0) AS device_directory_consistent,-->
<!--            IFNULL(ROUND(AVG(vehicle_information_collection_accuracy * 100), 0), 0) AS vehicle_information_collection_accuracy,-->
<!--            IFNULL(ROUND(AVG(vehicle_capture_integrity * 100), 0), 0) AS vehicle_capture_integrity,-->
<!--            IFNULL(ROUND(AVG(vehicle_capture_accuracy * 100), 0), 0) AS vehicle_capture_accuracy,-->
<!--            IFNULL(ROUND(AVG(vehicle_timing_accuracy * 100), 0), 0) AS vehicle_timing_accuracy,-->
<!--            IFNULL(ROUND(AVG(vehicle_upload_timeliness * 100), 0), 0) AS vehicle_upload_timeliness,-->
<!--            IFNULL(ROUND(AVG(vehicle_url_availability * 100), 0), 0) AS vehicle_url_availability,-->
<!--            IFNULL(ROUND(AVG(vehicle_picture_availability * 100), 0), 0) AS vehicle_picture_availability-->
<!--        FROM-->
<!--            t_check_index_car-->
<!--        <where>-->
<!--            <if test="deptId != null">-->
<!--                AND dept_id = #{deptId}-->
<!--            </if>-->
<!--            <if test="dataScope == 1">-->
<!--                AND examine_tag = 0-->
<!--            </if>-->
<!--            <if test="dataScope == 2">-->
<!--                AND examine_tag = 1-->
<!--            </if>-->
<!--            <if test="dataScope == 3">-->
<!--                AND examine_tag = 2-->
<!--            </if>-->
<!--        </where>-->
<!--        ORDER BY-->
<!--            create_time DESC-->
<!--        <if test="deptId == null">-->
<!--            LIMIT 7-->
<!--        </if>-->
<!--        <if test="deptId != null">-->
<!--            LIMIT 1-->
<!--        </if>-->
        WITH LatestRecords AS (
        SELECT *
        FROM t_check_index_car
        <where>
            <if test="deptId != null">
                AND dept_id = #{deptId}
            </if>
            <if test="dataScope == 1">
                AND examine_tag = 0
            </if>
            <if test="dataScope == 2">
                AND examine_tag = 1
            </if>
            <if test="dataScope == 3">
                AND examine_tag = 2
            </if>
        </where>
        ORDER BY create_time DESC
        <if test="deptId == null">
            LIMIT 7
        </if>
        <if test="deptId != null">
            LIMIT 1
        </if>
        )
        SELECT
        IFNULL(ROUND(AVG(view_connect_stability * 100), 0), 0) AS view_connect_stability,
        IFNULL(ROUND(AVG(site_online * 100), 0), 0) AS site_online,
        IFNULL(ROUND(AVG(device_directory_consistent * 100), 0), 0) AS device_directory_consistent,
        IFNULL(ROUND(AVG(vehicle_information_collection_accuracy * 100), 0), 0) AS vehicle_information_collection_accuracy,
        IFNULL(ROUND(AVG(vehicle_capture_integrity * 100), 0), 0) AS vehicle_capture_integrity,
        IFNULL(ROUND(AVG(vehicle_capture_accuracy * 100), 0), 0) AS vehicle_capture_accuracy,
        IFNULL(ROUND(AVG(vehicle_timing_accuracy * 100), 0), 0) AS vehicle_timing_accuracy,
        IFNULL(ROUND(AVG(vehicle_upload_timeliness * 100), 0), 0) AS vehicle_upload_timeliness,
        IFNULL(ROUND(AVG(vehicle_url_availability * 100), 0), 0) AS vehicle_url_availability,
        IFNULL(ROUND(AVG(vehicle_picture_availability * 100), 0), 0) AS vehicle_picture_availability
        FROM
        LatestRecords;
    </select>
</mapper>