From 3eaa8a34dc6d928bc03d6ed72ad88f9ee90ffafb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Fri, 1 Apr 2022 01:25:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8A=82=E7=82=B9=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E3=80=81=E6=A0=87=E7=AD=BE=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mybatis/mapper/xm/core/dao/XmMenuMapper.xml | 13 +++++-------- .../mybatis/mapper/xm/core/dao/XmTaskMapper.xml | 15 ++++++--------- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml index 644a0320..c47cadc0 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml @@ -198,23 +198,20 @@ sum(ifnull(t.budget_workload,0)) as budget_workload, sum(ifnull(t.budget_cost,0)) as budget_cost, sum(ifnull(t.act_workload,0)) as act_workload, - sum(ifnull(t.act_cost,0)) as act_cost, - sum(ifnull(t.rworkload,ifnull(t.budget_workload,0)-ifnull(t.act_workload,0))) as rworkload + sum(ifnull(t.act_cost,0)) as act_cost from xm_task t where t.menu_id in ( #{item}) and t.ntype='0' - group by menu_id + group by t.menu_id ) t on t.menu_id=res.menu_id left join ( select q.menu_id, sum(ifnull(q.budget_workload,0)) as budget_workload, sum(ifnull(q.budget_cost,0)) as budget_cost, sum(ifnull(q.act_workload,0)) as act_workload, - sum(ifnull(q.act_cost,0)) as act_cost, - sum(ifnull(q.rworkload,ifnull(q.budget_workload,0)-ifnull(q.act_workload,0))) as rworkload - + sum(ifnull(q.act_cost,0)) as act_cost from xm_question q where q.menu_id in ( #{item}) @@ -225,8 +222,8 @@ res.budget_cost=ifnull(t.budget_cost,0)+ifnull(q.budget_cost,0), res.mact_workload=ifnull(t.act_workload,0)+ifnull(q.act_workload,0), res.mact_cost=ifnull(t.act_cost,0)+ifnull(q.act_cost,0), - res.rworkload=ifnull(t.rworkload,0)+ifnull(q.rworkload,0), - res.mact_rate=case when (ifnull(t.rworkload,0)+ifnull(q.rworkload,0)+ifnull(t.act_workload,0)+ifnull(q.act_workload,0))!=0 then (ifnull(t.act_workload,0)+ifnull(q.act_workload,0))*100/(ifnull(t.rworkload,0)+ifnull(q.rworkload,0)+ifnull(t.act_workload,0)+ifnull(q.act_workload,0)) + res.mact_rate=case when (ifnull(t.budget_workload,0)+ifnull(q.budget_workload,0) )!=0 then (ifnull(t.act_workload,0)+ifnull(q.act_workload,0))*100/(ifnull(t.budget_workload,0)+ifnull(q.budget_workload,0) ) + when (ifnull(t.act_workload,0)+ifnull(q.act_workload,0))>0 then 100 else 0 end where (res.menu_id) in diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml index 9964e9ef..91859a98 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml @@ -240,7 +240,6 @@ sum( ifnull( t.budget_workload, 0 ) ) AS budget_workload, sum( ifnull( t.act_cost, 0 ) ) AS act_cost, sum( ifnull( t.act_workload, 0 ) ) AS act_workload, - sum( ifnull( t.rworkload, if(t.budget_workload>0,(t.budget_workload-ifnull(t.act_workload,0)),0) ) ) AS rworkload, sum( ifnull( t.budget_workload, 0 ) * ifnull( t.rate, 0 ) ) AS budget_workload_rate, sum( ifnull(t.rate,0)) as total_rate, min( t.start_time ) AS start_time, @@ -262,8 +261,8 @@ res.budget_cost=ifnull(t2.budget_cost,0), res.act_cost = t2.act_cost, res.act_workload = t2.act_workload, - res.rate = case when (ifnull(t2.rworkload,0)+ifnull(t2.act_workload,0)>0) then ifnull(t2.act_workload,0)*100/(ifnull(t2.rworkload,0)+ifnull(t2.act_workload,0)) - when t2.children_cnt >0 then t2.total_rate/t2.children_cnt + res.rate = case when (ifnull(t2.budget_workload,0) >0) then ifnull(t2.act_workload,0)*100/(ifnull(t2.budget_workload,0) ) + when t2.act_workload >0 100 else 0 end, res.start_time = ifnull(res.start_time,t2.start_time), res.end_time = ifnull(t2.end_time,t2.end_time), @@ -289,8 +288,6 @@ sum( ifnull( t.act_cost, 0 ) ) AS act_cost, sum( ifnull( t.act_workload, 0 ) ) AS act_workload, sum( ifnull( t.budget_cost, 0 ) ) AS budget_cost, - sum( ifnull( t.rworkload, if(t.budget_workload>0,(t.budget_workload-ifnull(t.act_workload,0)),0) ) ) AS rworkload, - sum( ifnull( t.budget_workload, 0 ) * ifnull( t.rate, 0 ) ) as budget_workload_rate, sum( ifnull(t.rate,0)) as total_rate, sum( ifnull( t.budget_workload, 0 )) as budget_workload, @@ -308,8 +305,8 @@ res.budget_cost=ifnull(t2.budget_cost,0), res.act_cost = t2.act_cost, res.act_workload = t2.act_workload, - res.rate = case when (ifnull(t2.rworkload,0)+ifnull(t2.act_workload,0)>0) then ifnull(t2.act_workload,0)*100/(ifnull(t2.rworkload,0)+ifnull(t2.act_workload,0)) - when t2.children_cnt >0 then t2.total_rate/t2.children_cnt + res.rate = case when ( ifnull(t2.budget_workload,0)>0) then ifnull(t2.act_workload,0)*100/( ifnull(t2.budget_workload,0)) + when t2.act_workload >0 then 100 else 0 end, res.start_time = ifnull(res.start_time,t2.start_time), res.end_time = ifnull(t2.end_time,t2.end_time), @@ -389,8 +386,8 @@ group by w.task_id ) as w on res.id=w.task_id - set res.act_workload=w.workload,res.rate=case when res.rworkload>0 then ifnull(w.workload,0)*100/(ifnull(w.workload,0)+res.rworkload) - when res.budget_workload>0 then ifnull(w.workload,0)*100/res.budget_workload + set res.act_workload=w.workload,res.rate=case when res.budget_workload>0 then ifnull(w.workload,0)*100/ res.budget_workload + when w.workload>0 then 100 else 0 end where res.id in