Browse Source

添加节点类型、标签等

master
陈裕财 4 years ago
parent
commit
dce632a5ae
  1. 5
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskWorkloadController.java
  2. 15
      xm-core/src/main/java/com/xm/core/service/XmMenuService.java
  3. 41
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml

5
xm-core/src/main/java/com/xm/core/ctrl/XmTaskWorkloadController.java

@ -151,6 +151,8 @@ public class XmTaskWorkloadController {
xmTaskWorkload.setWstatus("0"); xmTaskWorkload.setWstatus("0");
xmTaskWorkload.setProjectId(xmTaskDb.getProjectId()); xmTaskWorkload.setProjectId(xmTaskDb.getProjectId());
xmTaskWorkloadService.insert(xmTaskWorkload); xmTaskWorkloadService.insert(xmTaskWorkload);
xmMenuService.calcWorkloadByRecord(xmTaskDb.getMenuId());
this.xmTaskService.calcWorkloadByRecord(xmTaskDb.getId()); this.xmTaskService.calcWorkloadByRecord(xmTaskDb.getId());
this.xmTaskService.sumParents(xmTaskDb); this.xmTaskService.sumParents(xmTaskDb);
m.put("data",xmTaskWorkload); m.put("data",xmTaskWorkload);
@ -200,6 +202,8 @@ public class XmTaskWorkloadController {
} }
xmTaskWorkloadService.updateSomeFieldByPk(xmTaskWorkload); xmTaskWorkloadService.updateSomeFieldByPk(xmTaskWorkload);
this.xmTaskService.sumParents(xmTaskDb); this.xmTaskService.sumParents(xmTaskDb);
xmMenuService.calcWorkloadByRecord(xmTaskDb.getMenuId());
this.xmTaskService.calcWorkloadByRecord(xmTaskWorkload.getTaskId()); this.xmTaskService.calcWorkloadByRecord(xmTaskWorkload.getTaskId());
m.put("data",xmTaskWorkload); m.put("data",xmTaskWorkload);
@ -285,6 +289,7 @@ public class XmTaskWorkloadController {
this.xmTaskService.calcWorkloadByRecord(canDelTaskMap.keySet().stream().collect(Collectors.toList())); this.xmTaskService.calcWorkloadByRecord(canDelTaskMap.keySet().stream().collect(Collectors.toList()));
this.xmTaskService.batchSumParents(canDelTaskMap.values().stream().collect(Collectors.toList())); this.xmTaskService.batchSumParents(canDelTaskMap.values().stream().collect(Collectors.toList()));
xmMenuService.calcWorkloadByRecord(canDelTaskMap.values().stream().filter(i->StringUtils.hasText(i.getMenuId())).collect(Collectors.toList()).stream().map(i->i.getMenuId()).collect(Collectors.toSet()).stream().collect(Collectors.toList()));
msgs.add("成功删除"+canDel.size()+"条工时单据。"); msgs.add("成功删除"+canDel.size()+"条工时单据。");
} }
if(state1Ndel.size()>0){ if(state1Ndel.size()>0){

15
xm-core/src/main/java/com/xm/core/service/XmMenuService.java

@ -309,5 +309,20 @@ public class XmMenuService extends BaseService {
public List<XmMenu> selectListByIdsWithsChildrenCnt(List<String> ids) { public List<XmMenu> selectListByIdsWithsChildrenCnt(List<String> ids) {
return super.selectList("selectListByIdsWithsChildrenCnt",ids); return super.selectList("selectListByIdsWithsChildrenCnt",ids);
} }
public void calcWorkloadByRecord(String menuId) {
if(!StringUtils.hasText(menuId)){
return;
}
List<String> ids=new ArrayList<>();
ids.add(menuId);
calcWorkloadByRecord(ids);
}
public void calcWorkloadByRecord(List<String> menuIds) {
if(menuIds==null || menuIds.size()<=0){
return;
}
menuIds=menuIds.stream().collect(Collectors.toSet()).stream().collect(Collectors.toList());
super.update("calcWorkloadByRecord",menuIds);
}
} }

41
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml

@ -193,6 +193,47 @@
( #{item}) ( #{item})
</foreach> </foreach>
</select> </select>
<update id="calcWorkloadByRecord" parameterType="List">
update xm_menu res left join (select t.menu_id,
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
from xm_task t where t.menu_id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
( #{item})
</foreach>
and t.ntype='0'
group by 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
from xm_question q where q.menu_id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
( #{item})
</foreach>
group by q.menu_id
) as q on q.menu_id=res.menu_id
set res.budget_workload=ifnull(t.budget_workload,0)+ifnull(q.budget_workload,0),
set res.budget_cost=ifnull(t.budget_cost,0)+ifnull(q.budget_cost,0),
set res.mact_workload=ifnull(t.act_workload,0)+ifnull(q.act_workload,0),
set res.mact_cost=ifnull(t.act_cost,0)+ifnull(q.act_cost,0),
set res.rworkload=ifnull(t.rworkload,0)+ifnull(q.rworkload,0),
set 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))
else 0 end
where (res.menu_id) in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
( #{item})
</foreach>
and res.dclass='3'
</update>
<!--结束 自定义sql函数区域--> <!--结束 自定义sql函数区域-->

Loading…
Cancel
Save