Fancy
2024-12-19 3c61c5f4bc92f75b4fe60653eaa676a21cde4325
pms-parent/pms-global/src/main/resources/mapper/OthStatisticWorkloadMapper.xml
@@ -26,8 +26,13 @@
        from oth_statistic_workload
        where  id = #{id,jdbcType=BIGINT} 
    </select>
    <select id="selectMaxDate" resultType="java.util.Date">
        select max(statistic_date) from oth_statistic_workload
    <select id="selectMaxDate" resultType="java.lang.String">
        SELECT COALESCE(
                       (SELECT DATE_ADD(MAX(statistic_date), INTERVAL 1 DAY) FROM oth_statistic_workload),
                       (SELECT DATE_FORMAT(MIN(out_time),'%Y-%m-%d') FROM sta_device_last),
                       DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY),'%Y-%m-%d') -- 如果两个表都没有数据,返回前一天时间  无用
                   ) AS max_date;
    </select>
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
@@ -70,7 +75,7 @@
        ,user_name,type,node_content
        ,number)
         WITH  total as (select
             DISTINCT(t.device_no),t.curr_node,t.node_content,t.number,p.pro_name, p.plan_name,u.id user_id,u.`name` user_name
             DISTINCT(t.device_no) device_no,t.curr_node,t.node_content,t.number,p.pro_name, p.plan_name,u.id user_id,u.`name` user_name
            FROM
              (select * from sta_device_production_log_past
               where repair_id IS NULL and out_time BETWEEN #{startDt} AND #{endDt}
@@ -81,7 +86,7 @@
               left join (select pap.id,pap.`name` as plan_name,pp.`name` as pro_name
               from  pr_assembly_plan pap, plt_product pp where pap.pro_id = pp.id) p on t.plan_id = p.id
               left JOIN ba_user u on u.id=t.updated_by)
        select  DATE_FORMAT(#{startDt}, '%Y-%m-%d') as statistic_date,user_id, user_name,'计划任务' AS type, node_content ,sum(number) as number  from total where curr_node IS NOT NULL GROUP BY user_id,user_name,node_content
        select DATE_FORMAT(#{startDt}, '%Y-%m-%d') as statistic_date,user_id, user_name,'计划任务' AS type, node_content ,sum(number) as number  from total where curr_node IS NOT NULL GROUP BY user_id,user_name,node_content
        UNION
        select DATE_FORMAT(#{startDt}, '%Y-%m-%d') as statistic_date, user_id,  user_name,'临时任务' AS type, node_content, sum(number) as number  from total where curr_node IS NULL AND (device_no !='' AND device_no IS NOT NULL)
        GROUP BY user_id,user_name,node_content