|
@@ -8945,6 +8945,87 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
return msg;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public HttpRespMsg getSubProjectTimeCost(HttpServletRequest request, String startDate, String endDate, Integer projectId,Integer pageIndex,Integer pageSize) {
|
|
|
+ HttpRespMsg msg=new HttpRespMsg();
|
|
|
+ Integer start = (pageIndex-1)*pageSize;
|
|
|
+ Integer size = pageSize*pageIndex;
|
|
|
+ User user = userMapper.selectById(request.getHeader("token"));
|
|
|
+ Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
|
+ List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", user.getCompanyId()));
|
|
|
+ List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "全部子项目工时成本");
|
|
|
+ List<SysRichFunction> functionInchargeList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "负责项目子项目工时成本");
|
|
|
+ //判断查看权限
|
|
|
+ List<Integer> inchagerIds=null;
|
|
|
+ if(functionAllList.size()==0){
|
|
|
+ inchagerIds=new ArrayList<>();
|
|
|
+ if(functionInchargeList.size()>0){
|
|
|
+ List<Project> list = projectList.stream().filter(pl -> (pl.getInchargerId()==null?0:pl.getInchargerId()).equals(user.getId())).collect(Collectors.toList());
|
|
|
+ if(list!=null){
|
|
|
+ List<Integer> collect = list.stream().map(li -> li.getId()).collect(Collectors.toList());
|
|
|
+ inchagerIds.addAll(collect);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ inchagerIds.add(-1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<Map<String,Object>> list=projectMapper.getSubProjectTimeCost(companyId,startDate,endDate,projectId,start,size,inchagerIds);
|
|
|
+ long total=projectMapper.countWithSubProjectTimeCost(companyId,startDate,endDate,projectId,null,null,inchagerIds);
|
|
|
+ Map<String,Object> map=new HashMap<>();
|
|
|
+ map.put("record",list);
|
|
|
+ map.put("total",total);
|
|
|
+ msg.data=map;
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public HttpRespMsg exportSubProjectTimeCost(HttpServletRequest request, Integer projectId) {
|
|
|
+ HttpRespMsg msg=new HttpRespMsg();
|
|
|
+ User user = userMapper.selectById(request.getHeader("token"));
|
|
|
+ Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
|
+ List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", user.getCompanyId()));
|
|
|
+ List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "全部子项目工时成本");
|
|
|
+ List<SysRichFunction> functionInchargeList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "负责项目子项目工时成本");
|
|
|
+ //判断查看权限
|
|
|
+ List<Integer> inchagerIds=null;
|
|
|
+ if(functionAllList.size()==0){
|
|
|
+ inchagerIds=new ArrayList<>();
|
|
|
+ if(functionInchargeList.size()>0){
|
|
|
+ List<Project> list = projectList.stream().filter(pl -> (pl.getInchargerId()==null?0:pl.getInchargerId()).equals(user.getId())).collect(Collectors.toList());
|
|
|
+ if(list!=null){
|
|
|
+ List<Integer> collect = list.stream().map(li -> li.getId()).collect(Collectors.toList());
|
|
|
+ inchagerIds.addAll(collect);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ inchagerIds.add(-1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<Map<String,Object>> list=projectMapper.getSubProjectTimeCost(companyId,null,null,projectId,null,null,inchagerIds);
|
|
|
+ List<List<String>> dataList=new ArrayList<>();
|
|
|
+ List<String> titleList=new ArrayList<>();
|
|
|
+ titleList.add("项目编号");
|
|
|
+ titleList.add("项目名称");
|
|
|
+ titleList.add("子项目编号");
|
|
|
+ titleList.add("子项目名称");
|
|
|
+ titleList.add("子项目工时");
|
|
|
+ titleList.add("子项目成本");
|
|
|
+ dataList.add(titleList);
|
|
|
+ for (Map<String, Object> map : list) {
|
|
|
+ List<String> item=new ArrayList<>();
|
|
|
+ item.add(String.valueOf(map.get("projectCode")==null?"":map.get("projectCode")));
|
|
|
+ item.add(String.valueOf(map.get("projectName")==null?"":map.get("projectName")));
|
|
|
+ item.add(String.valueOf(map.get("subProjectCode")==null?"":map.get("subProjectCode")));
|
|
|
+ item.add(String.valueOf(map.get("subProjectName")==null?"":map.get("subProjectName")));
|
|
|
+ item.add(String.valueOf(map.get("cost")==null?"":map.get("cost")));
|
|
|
+ item.add(String.valueOf(map.get("workingTime")==null?"":map.get("workingTime")));
|
|
|
+ dataList.add(item);
|
|
|
+ }
|
|
|
+ String fileName = "子项目工时成本表"+System.currentTimeMillis();
|
|
|
+ String resp = ExcelUtil.exportGeneralExcelByTitleAndList(fileName, dataList, path);
|
|
|
+ msg.data=resp;
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
+
|
|
|
private List<GanttDataItem> getUserGanttDataItemList(GanttDataItem userGantt, List<GanttDataItem> itemList) {
|
|
|
if(itemList==null){
|
|
|
itemList=new ArrayList<>();
|