|
|
|
@ -263,7 +263,8 @@ |
|
|
|
res.act_workload = t2.act_workload, |
|
|
|
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, |
|
|
|
when res.task_state in('2','3','4') then 100 |
|
|
|
else res.rate end, |
|
|
|
res.start_time = ifnull(res.start_time,t2.start_time), |
|
|
|
res.end_time = ifnull(t2.end_time,t2.end_time), |
|
|
|
res.act_start_time = t2.act_start_time, |
|
|
|
@ -307,7 +308,8 @@ |
|
|
|
res.act_workload = t2.act_workload, |
|
|
|
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, |
|
|
|
when res.task_state in('2','3','4') then 100 |
|
|
|
else res.rate end, |
|
|
|
res.start_time = ifnull(res.start_time,t2.start_time), |
|
|
|
res.end_time = ifnull(t2.end_time,t2.end_time), |
|
|
|
res.act_start_time = t2.act_start_time, |
|
|
|
@ -386,14 +388,31 @@ |
|
|
|
group by w.task_id |
|
|
|
) |
|
|
|
as w on res.id=w.task_id |
|
|
|
set res.act_workload=w.workload,res.rate=case 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.status in('2','3','4') then 100 |
|
|
|
when res.budget_workload>0 then ifnull(w.workload,0)*100/ res.budget_workload |
|
|
|
when w.workload>0 then 100 |
|
|
|
else 0 end |
|
|
|
else res.rate end |
|
|
|
where res.id in |
|
|
|
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" > |
|
|
|
#{item} |
|
|
|
</foreach> |
|
|
|
</update> |
|
|
|
|
|
|
|
<!-- 批量更新 --> |
|
|
|
<update id="batchUpdateBudgetWorkloadAndRate" parameterType="List"> |
|
|
|
update xm_task res |
|
|
|
set |
|
|
|
res.init_budget_workload=ifnull(res.init_budget_workload,res.budget_workload), |
|
|
|
res.budget_workload=#{budgetWorkload}, |
|
|
|
res.rate=case when res.status in('2','3','4') then 100 |
|
|
|
when #{budgetWorkload}>0 then ifnull(res.act_workload,0)*100/ #{budgetWorkload} |
|
|
|
when res.act_workload>0 then 100 |
|
|
|
else res.rate end |
|
|
|
where id in |
|
|
|
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" > |
|
|
|
#{item} |
|
|
|
</foreach> |
|
|
|
</update> |
|
|
|
<!--结束 自定义sql函数区域--> |
|
|
|
|
|
|
|
|
|
|
|
|