diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskWorkloadController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskWorkloadController.java index 595b80f8..9876265f 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskWorkloadController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskWorkloadController.java @@ -8,8 +8,10 @@ import com.mdp.core.utils.ResponseHelper; import com.mdp.safe.client.entity.User; import com.mdp.safe.client.utils.LoginUtils; import com.xm.core.entity.XmGroup; +import com.xm.core.entity.XmMenu; import com.xm.core.entity.XmTask; import com.xm.core.service.XmGroupService; +import com.xm.core.service.XmMenuService; import com.xm.core.service.XmTaskService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -66,6 +68,8 @@ public class XmTaskWorkloadController { @Autowired XmGroupService xmGroupService; + @Autowired + XmMenuService xmMenuService; @ApiOperation( value = "查询工时登记表信息列表",notes=" ") @@ -233,6 +237,7 @@ public class XmTaskWorkloadController { for (XmTask xmTask : tasksDb) { taskMap.put(xmTask.getId(),xmTask); } + Set xmMenuIds=new HashSet<>(); for (XmTask xmTaskDb : tasksDb) { if(!(user.getUserid().equals(xmTaskDb.getCreateUserid())|| user.getUserid().equals(xmTaskDb.getExecutorUserid()))){ Tips isCreate=xmGroupService.checkIsAdmOrTeamHeadOrAssByPtype(user,xmTaskDb.getCreateUserid(),xmTaskDb.getPtype(),xmTaskDb.getProductId(),xmTaskDb.getProjectId()); @@ -245,6 +250,9 @@ public class XmTaskWorkloadController { } } canDelTaskMap.put(xmTaskDb.getId(),xmTaskDb); + if(StringUtils.hasText(xmTaskDb.getMenuId())){ + xmMenuIds.add(xmTaskDb.getMenuId()); + } } List canDel=new ArrayList<>(); List state1Ndel=new ArrayList<>(); @@ -274,6 +282,7 @@ public class XmTaskWorkloadController { xmTaskWorkloadService.batchDelete(canDel); this.xmTaskService.calcWorkloadByRecord(canDelTaskMap.keySet().stream().collect(Collectors.toList())); this.xmTaskService.batchSumParents(canDelTaskMap.values().stream().collect(Collectors.toList())); + msgs.add("成功删除"+canDel.size()+"条工时单据。"); } if(state1Ndel.size()>0){ 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 a3f0477d..6680b0b9 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 @@ -259,7 +259,7 @@ SET res.act_cost = t2.act_cost, res.act_workload = t2.act_workload, - res.rate = case when (t2.budget_workload=0 or t2.budget_workload is null) and (t2.act_workload is null or t2.act_workload =0 ) and t2.rworkload is null then if(t2.children_cnt=0 or t2.children_cnt is null,t2.total_rate,t2.total_rate/t2.children_cnt) else ifnull(t2.act_workload,0) / ifnull(t2.act_workload,0)+ifnull(t2.rworkload) end, + res.rate = case when (t2.budget_workload=0 or t2.budget_workload is null) and (t2.act_workload is null or t2.act_workload =0 ) and t2.rworkload is null then if(t2.children_cnt=0 or t2.children_cnt is null,t2.total_rate,t2.total_rate/t2.children_cnt) else ifnull(t2.act_workload,0) / ifnull(t2.act_workload,0)+ifnull(t2.rworkload,0) 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,