Browse Source

添加节点类型、标签等

master
陈裕财 4 years ago
parent
commit
0dbe7c95db
  1. 21
      xm-core/src/main/java/com/xm/core/service/XmTaskService.java
  2. 34
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml

21
xm-core/src/main/java/com/xm/core/service/XmTaskService.java

@ -510,6 +510,27 @@ public class XmTaskService extends BaseService {
} }
return tips; return tips;
} }
@Transactional
public void sumParents(XmTask xmTaskDb){
String pidPaths=xmTaskDb.getPidPaths();
if(!StringUtils.hasText(pidPaths)){
return;
}
if(!pidPaths.startsWith("0,")){
return;
}
pidPaths=pidPaths.substring(2);
if(!StringUtils.hasText(pidPaths)){
return;
}
String[] pidPathss=pidPaths.split(",");
List<String> pidPathsList=new ArrayList<>();
for (int i = pidPathss.length-1; i >=0; i--) {
pidPathsList.add(pidPathss[i]);
}
super.update("sumParents",pidPathsList );
}
private List<XmTask> getParentList(XmTask currNode){ private List<XmTask> getParentList(XmTask currNode){
List<XmTask> parentList=new ArrayList<>(); List<XmTask> parentList=new ArrayList<>();

34
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml

@ -183,7 +183,39 @@
</foreach> </foreach>
</select> </select>
<update id="sumParents" parameterType="List">
<foreach collection="list" item="item" index="index" separator=";" >
UPDATE xm_task res
LEFT JOIN (
SELECT
t.parent_taskid,
sum( ifnull( t.budget_cost, 0 ) ) AS budget_cost,
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 ) )/100 / sum( ifnull( t.budget_workload, 0.00001 ) ) AS rate,
min( t.start_time ) AS start_time,
max( t.end_time ) AS end_time,
min( t.act_start_time ) AS act_start_time,
max( t.act_end_time ) AS act_end_time
FROM
xm_task t
WHERE
t.parent_taskid = #{item}
) t2 ON t2.parent_taskid = res.id
SET res.budget_cost = t2.budget_cost,
res.budget_workload = t2.budget_workload,
res.act_cost = t2.act_cost,
res.act_workload = t2.act_workload,
res.rate = t2.rate,
res.start_time = t2.start_time,
res.end_time = t2.end_time,
res.act_start_time = t2.act_start_time,
res.act_end_time = t2.act_end_time
WHERE
res.id = #{item} and res.ntype='1'
</foreach>
</update>
<!--结束 自定义sql函数区域--> <!--结束 自定义sql函数区域-->

Loading…
Cancel
Save