|
@@ -1384,12 +1384,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public HttpRespMsg getProjectTask(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request) {
|
|
|
+ public HttpRespMsg getProjectTask(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request,Integer taskType) {
|
|
|
User user = userMapper.selectById(request.getHeader("Token"));
|
|
|
Integer companyId = user.getCompanyId();
|
|
|
- int total = taskMapper.getProjectTaskCount(companyId, projectId);
|
|
|
+ int total = taskMapper.getProjectTaskCount(companyId, projectId,taskType);
|
|
|
int pageStart = (pageIndex -1) * pageSize;
|
|
|
- List projectTask = taskMapper.getProjectTask(companyId, pageStart, pageSize, projectId);
|
|
|
+ List projectTask = taskMapper.getProjectTask(companyId, pageStart, pageSize, projectId,taskType);
|
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
map.put("records", projectTask);
|
|
@@ -1407,7 +1407,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
|
|
|
QueryWrapper<Project> queryWrapper = new QueryWrapper<Project>().eq("company_id", companyId);
|
|
|
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
- List<Map> projectList = taskMapper.getProjectTask(companyId, null, null, null);
|
|
|
+ List<Map> projectList = taskMapper.getProjectTask(companyId, null, null, null,null);
|
|
|
List<ProjectVO> list = new ArrayList<>();
|
|
|
String[] statusNames = {"进行中","已完成","已撤销"};
|
|
|
String[] typeList = {"任务","里程碑","风险"};
|
|
@@ -3931,9 +3931,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- System.out.println(user.getName());
|
|
|
- System.out.println(days);
|
|
|
- System.out.println(num);
|
|
|
BigDecimal bigDecimal=new BigDecimal(num);
|
|
|
BigDecimal divide;
|
|
|
if(days!=0){
|
|
@@ -4058,9 +4055,11 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
|
|
|
@Override
|
|
|
public HttpRespMsg getUserWorkingTimeStatic(String startDate, String endDate, Integer pageIndex, Integer pageSize, HttpServletRequest request,String userId,Integer departmentId) {
|
|
|
+ HttpRespMsg httpRespMsg =new HttpRespMsg();
|
|
|
+ DecimalFormat dft = new DecimalFormat("0%");
|
|
|
User targetUser = userMapper.selectById(request.getHeader("token"));
|
|
|
- List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看全部人员工时统计");
|
|
|
- List<SysRichFunction> functionDeptList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "查看负责部门人员工时统计");
|
|
|
+ List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "全公司工时统计");
|
|
|
+ List<SysRichFunction> functionDeptList = sysFunctionMapper.getRoleFunctions(targetUser.getRoleId(), "负责部门工时统计");
|
|
|
List<Integer> deptIds=null;
|
|
|
List<Department> userDepartmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", targetUser.getId()).eq("company_id",targetUser.getCompanyId()));
|
|
|
//判断查看权限
|
|
@@ -4073,16 +4072,61 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
}
|
|
|
}
|
|
|
long total;
|
|
|
- List<Map<String,Object>> resultList=projectMapper.getUserWorkingTimeStatic(startDate,endDate,pageIndex,pageSize,userId,departmentId,deptIds);
|
|
|
+ List<Map<String,Object>> resultList;
|
|
|
if(pageIndex!=null&&pageSize!=null){
|
|
|
- total=projectMapper.findCountWithUserWorkingTime(startDate,endDate,pageIndex,pageSize,userId,departmentId,deptIds);
|
|
|
+ Integer size=pageSize;
|
|
|
+ Integer start=(pageIndex-1)*size;
|
|
|
+ resultList=projectMapper.getUserWorkingTimeStatic(targetUser.getCompanyId(),startDate,endDate,start,size,userId,departmentId,deptIds);
|
|
|
+ total=projectMapper.findCountWithUserWorkingTime(targetUser.getCompanyId(),startDate,endDate,start,size,userId,departmentId,deptIds);
|
|
|
}else{
|
|
|
- total=projectMapper.findCountWithUserWorkingTime(startDate,endDate,null,null,userId,departmentId,deptIds);
|
|
|
+ resultList=projectMapper.getUserWorkingTimeStatic(targetUser.getCompanyId(),startDate,endDate,null,null,userId,departmentId,deptIds);
|
|
|
+ total=projectMapper.findCountWithUserWorkingTime(targetUser.getCompanyId(),startDate,endDate,null,null,userId,departmentId,deptIds);
|
|
|
+ }
|
|
|
+ for (Map<String, Object> map : resultList) {
|
|
|
+ BigDecimal phBigDecimal =new BigDecimal(String.valueOf(map.get("planHours")==null?0:map.get("planHours")));
|
|
|
+ BigDecimal wtBigDecimal =new BigDecimal(String.valueOf(map.get("workingTime")==null?0:map.get("workingTime")));
|
|
|
+ if(phBigDecimal.compareTo(BigDecimal.ZERO)==0||wtBigDecimal.compareTo(BigDecimal.ZERO)==0){
|
|
|
+ map.put("proportion",dft.format(0));
|
|
|
+ }else{
|
|
|
+ BigDecimal divide = wtBigDecimal.divide(phBigDecimal, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ map.put("proportion",dft.format(divide));
|
|
|
+ }
|
|
|
}
|
|
|
Map<String,Object> map=new HashMap<>();
|
|
|
map.put("result",resultList);
|
|
|
map.put("total",total);
|
|
|
- return null;
|
|
|
+ httpRespMsg.data=map;
|
|
|
+ return httpRespMsg;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public HttpRespMsg exportUserWorkingTimeStatic(String startDate, String endDate, HttpServletRequest request, String userId, Integer departmentId) {
|
|
|
+ HttpRespMsg msg=new HttpRespMsg();
|
|
|
+ HttpRespMsg httpRespMsg = getUserWorkingTimeStatic(startDate, endDate, null, null, request, userId, departmentId);
|
|
|
+ Map<String,Object> data = (Map<String, Object>) httpRespMsg.data;
|
|
|
+ List<Map<String,Object>> resultList= (List<Map<String, Object>>) data.get("result");
|
|
|
+ List<List<String>> dataList=new ArrayList<>();
|
|
|
+ List<String> titleList=new ArrayList<>();
|
|
|
+ titleList.add("姓名");
|
|
|
+ titleList.add("部门");
|
|
|
+ titleList.add("计划工时");
|
|
|
+ titleList.add("实际工时");
|
|
|
+ titleList.add("实际占比");
|
|
|
+ dataList.add(titleList);
|
|
|
+ for (Map<String, Object> map : resultList) {
|
|
|
+ List<String> item=new ArrayList<>();
|
|
|
+ item.add((String) map.get("name"));
|
|
|
+ item.add((String) map.get("departmentName")==null?"":(String) map.get("departmentName"));
|
|
|
+ item.add(String.valueOf(map.get("planHours")).equals("null")?"":String.valueOf(map.get("planHours")));
|
|
|
+ item.add(String.valueOf(map.get("workingTime")).equals("null")?"":String.valueOf(map.get("workingTime")));
|
|
|
+ item.add(String.valueOf(map.get("proportion")).equals("null")?"":String.valueOf(map.get("proportion")));
|
|
|
+ dataList.add(item);
|
|
|
+ }
|
|
|
+ //生成excel文件导出
|
|
|
+ String fileName = "人员工时统计_"+System.currentTimeMillis();
|
|
|
+ String resp = ExcelUtil.exportGeneralExcelByTitleAndList(fileName , dataList, path);
|
|
|
+ msg.data = resp;
|
|
|
+ return msg;
|
|
|
}
|
|
|
|
|
|
|