guoshilong
2022-09-23 aa62314c186de81906dc26289edb2c1865482a2e
src/main/java/org/springblade/modules/userstatistics/mapper/UserStatisticsMapper.xml
@@ -14,26 +14,42 @@
        LEFT JOIN blade_role role ON user.role_id = role.id
        LEFT JOIN (
        SELECT DISTINCT re.to_user_id,count(*) as num FROM ins_repairsorder re WHERE re.is_deleted = 0 AND re.state = 1 -- 状态state = 1 派单的数据
        AND DATE_FORMAT(re.create_time,'%Y-%m-%d') >= #{startTime}
        AND DATE_FORMAT(re.create_time,'%Y-%m-%d') <= #{endTime}
        <if test="startTime !=null and startTime !=''">
            AND DATE_FORMAT(re.create_time,'%Y-%m-%d') &gt;= #{startTime}
        </if>
        <if test="endTime != null and endTime !='' ">
            AND DATE_FORMAT(re.create_time,'%Y-%m-%d') &lt;= #{endTime}
        </if>
        GROUP BY re.to_user_id
        ) a ON user.id = a.to_user_id
        LEFT JOIN (
        SELECT DISTINCT re.to_user_id,count(*) as num FROM ins_repairsorder re WHERE re.is_deleted = 0 AND re.state = 2 -- 状态state = 2 完成派单
        AND DATE_FORMAT(re.create_time,'%Y-%m-%d') &gt;= #{startTime}
        AND DATE_FORMAT(re.create_time,'%Y-%m-%d') &lt;= #{endTime}
        <if test="startTime !=null and startTime !=''">
            AND DATE_FORMAT(re.create_time,'%Y-%m-%d') &gt;= #{startTime}
        </if>
        <if test="endTime != null and endTime !='' ">
            AND DATE_FORMAT(re.create_time,'%Y-%m-%d') &lt;= #{endTime}
        </if>
        GROUP BY re.to_user_id
        ) b ON user.id = b.to_user_id
        LEFT JOIN (
        SELECT DISTINCT sk.to_user_id,count(*) as num FROM ins_taskinfo sk WHERE sk.is_deleted = 0 AND sk.state = 0
        AND DATE_FORMAT(sk.create_time,'%Y-%m-%d') &gt;= #{startTime}
        AND DATE_FORMAT(sk.create_time,'%Y-%m-%d') &lt;= #{endTime}
        <if test="startTime !=null and startTime !=''">
            AND DATE_FORMAT(re.create_time,'%Y-%m-%d') &gt;= #{startTime}
        </if>
        <if test="endTime != null and endTime !='' ">
            AND DATE_FORMAT(re.create_time,'%Y-%m-%d') &lt;= #{endTime}
        </if>
        GROUP BY sk.to_user_id
        ) c ON user.id = c.to_user_id
        LEFT JOIN (
        SELECT DISTINCT sk.to_user_id,count(*) as num FROM ins_taskinfo sk WHERE sk.is_deleted = 0 AND sk.state = 2
        AND DATE_FORMAT(sk.create_time,'%Y-%m-%d') &gt;= #{startTime}
        AND DATE_FORMAT(sk.create_time,'%Y-%m-%d') &lt;= #{endTime}
        <if test="startTime !=null and startTime !=''">
            AND DATE_FORMAT(re.create_time,'%Y-%m-%d') &gt;= #{startTime}
        </if>
        <if test="endTime != null and endTime !='' ">
            AND DATE_FORMAT(re.create_time,'%Y-%m-%d') &lt;= #{endTime}
        </if>
        GROUP BY sk.to_user_id
        ) d ON user.id = d.to_user_id
        WHERE (role.role_alias = 'wx' or  role.role_alias = 'xj') and user.is_deleted = 0