From 29c57f12a43564e1fffd1d2e9b227ce4abbd86b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Mon, 28 Feb 2022 05:50: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/XmProjectPhaseMapper.xml | 8 ++++---- .../resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml index 35785c4c..38a1e488 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml @@ -162,7 +162,7 @@ sum(t.phase_act_workload) as phase_act_workload, sum(t.act_inner_user_at) as act_inner_user_at, sum(t.act_out_user_at) as act_out_user_at, - sum(ifnull(t.act_rate,0)*ifnull(t.task_budget_workload,0))/ifnull(sum(ifnull(t.task_budget_workload,0.000001)),999999) as act_rate, + sum(ifnull(t.act_rate,0)*ifnull(t.task_budget_workload,0)) as task_budget_workload_act_rate, sum(t.task_budget_workload) as task_budget_workload, sum(t.task_budget_at) as task_budget_at FROM xm_project_phase t @@ -177,7 +177,7 @@ res.phase_act_workload = tc.phase_act_workload, res.act_inner_user_at = tc.act_inner_user_at, res.act_out_user_at = tc.act_out_user_at, - res.act_rate= tc.act_rate, + res.act_rate= case when tc.task_budget_workload_act_rate=0 then 0 else tc.task_budget_workload_act_rate / tc.task_budget_workload end, res.task_budget_workload=tc.task_budget_workload, res.task_budget_at=tc.task_budget_at, res.calc_time=now(), @@ -197,7 +197,7 @@ sum(t.phase_act_workload) as phase_act_workload, sum(t.act_inner_user_at) as act_inner_user_at, sum(t.act_out_user_at) as act_out_user_at, - sum(ifnull(t.act_rate,0)*ifnull(t.task_budget_workload,0))/ifnull(sum(ifnull(t.task_budget_workload,0.000001)),999999) as act_rate, + sum(ifnull(t.act_rate,0)*ifnull(t.task_budget_workload,0)) as task_budget_workload_act_rate, sum(t.task_budget_workload) as task_budget_workload, sum(t.task_budget_at) as task_budget_at FROM xm_project_phase t @@ -215,7 +215,7 @@ res.phase_act_workload = tc.phase_act_workload, res.act_inner_user_at = tc.act_inner_user_at, res.act_out_user_at = tc.act_out_user_at, - res.act_rate= tc.act_rate, + res.act_rate= case when tc.task_budget_workload_act_rate=0 then 0 else tc.task_budget_workload_act_rate / tc.task_budget_workload end, res.task_budget_workload=tc.task_budget_workload, res.task_budget_at=tc.task_budget_at, res.calc_time=now(), 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 0d3349e5..e4180a9f 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 @@ -222,7 +222,7 @@ 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.budget_workload, 0 ) * ifnull( t.rate, 0 ) ) / sum( ifnull( t.budget_workload, 0.00001 ) ) AS rate, + sum( ifnull( t.budget_workload, 0 ) * ifnull( t.rate, 0 ) ) AS budget_workload_rate, min( t.start_time ) AS start_time, max( t.end_time ) AS end_time, min( t.act_start_time ) AS act_start_time, @@ -240,7 +240,7 @@ res.budget_workload = t2.budget_workload, res.act_cost = t2.act_cost, res.act_workload = t2.act_workload, - res.rate = t2.rate, + res.rate = case when t2.budget_workload=0 then 0 else t2.budget_workload_rate / t2.budget_workload end, res.start_time = t2.start_time, res.end_time = t2.end_time, res.act_start_time = t2.act_start_time, @@ -265,7 +265,7 @@ 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.budget_workload, 0 ) * ifnull( t.rate, 0 ) ) / sum( ifnull( t.budget_workload, 0.00001 ) ) AS rate, + sum( ifnull( t.budget_workload, 0 ) * ifnull( t.rate, 0 ) ) as budget_workload_rate, min( t.start_time ) AS start_time, max( t.end_time ) AS end_time, min( t.act_start_time ) AS act_start_time, @@ -279,7 +279,7 @@ res.budget_workload = t2.budget_workload, res.act_cost = t2.act_cost, res.act_workload = t2.act_workload, - res.rate = t2.rate, + res.rate = case when t2.budget_workload=0 then 0 else t2.budget_workload_rate / t2.budget_workload end, res.start_time = t2.start_time, res.end_time = t2.end_time, res.act_start_time = t2.act_start_time,