|
@@ -205,6 +205,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
private ExpenseSheetMapper expenseSheetMapper;
|
|
|
@Resource
|
|
|
private ExpenseTypeMapper expenseTypeMapper;
|
|
|
+ @Resource
|
|
|
+ private ProjectDocumentService projectDocumentService;
|
|
|
+ @Resource
|
|
|
+ private ProDocumentTemDetailMapper proDocumentTemDetailMapper;
|
|
|
+ @Resource
|
|
|
+ private ProjectDocumentTemplateMapper projectDocumentTemplateMapper;
|
|
|
|
|
|
@Resource
|
|
|
private HttpServletResponse response;
|
|
@@ -676,6 +682,28 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
operationRecord.setContent(MessageUtils.message("Template.creatProject"));
|
|
|
operationRecord.setCompanyId(user.getCompanyId());
|
|
|
operationRecordService.save(operationRecord);
|
|
|
+ //随着存在随着项目创建而创建的文件中心模板
|
|
|
+ List<ProjectDocumentTemplate> templateList = projectDocumentTemplateMapper.selectList(new QueryWrapper<ProjectDocumentTemplate>().eq("company_id", companyId).eq("cre_with_pro", 1));
|
|
|
+ List<Integer> collect = templateList.stream().map(ProjectDocumentTemplate::getId).distinct().collect(Collectors.toList());
|
|
|
+ collect.add(-1);
|
|
|
+ List<ProDocumentTemDetail> proDocumentTemDetailList = proDocumentTemDetailMapper.selectList(new QueryWrapper<ProDocumentTemDetail>().in("template_id", collect));
|
|
|
+ List<ProDocumentTemDetail> details = proDocumentTemDetailList.stream().filter(p -> p.getParentId() == null).collect(Collectors.toList());
|
|
|
+ List<ProjectDocument> list=new ArrayList<>();
|
|
|
+ details.forEach(dl->{
|
|
|
+ ProjectDocument projectDocument=new ProjectDocument();
|
|
|
+ projectDocument.setDocumentName(dl.getName());
|
|
|
+ projectDocument.setLabel(dl.getName());
|
|
|
+ projectDocument.setIsFolder(1);
|
|
|
+ projectDocument.setIndate(LocalDateTime.now());
|
|
|
+ projectDocument.setProjectId(project.getId());
|
|
|
+ projectDocument.setIsDeleted(0);
|
|
|
+ projectDocument.setCreatorId(project.getCreatorId());
|
|
|
+ projectDocument.setCreatorName(user.getName());
|
|
|
+ projectDocument.setProDocumentTemDetailId(dl.getId());
|
|
|
+ list.add(projectDocument);
|
|
|
+ });
|
|
|
+ projectDocumentService.saveBatch(list);
|
|
|
+ getParentFolders(list,proDocumentTemDetailList,project,user);
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
@@ -2177,7 +2205,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
for (ExpenseMainType expenseMainType : expenseMainTypes) {
|
|
|
Map<String,Object> item=new HashMap<>();
|
|
|
item.put("type",expenseMainType.getId());
|
|
|
- List<ExpenseSheet> sheetList = expenseSheetList.stream().filter(es -> es.getType().equals(expenseMainType.getId())).collect(Collectors.toList());
|
|
|
+ List<ExpenseSheet> sheetList = expenseSheetList.stream().filter(es ->es.getType()!=null&&es.getType().equals(expenseMainType.getId())).collect(Collectors.toList());
|
|
|
List<Integer> collect = sheetList.stream().map(ExpenseSheet::getId).distinct().collect(Collectors.toList());
|
|
|
collect.add(-1);
|
|
|
double sum = expenseItemList.stream().filter(el -> collect.contains(el.getExpenseId())&&el.getProjectId()!=null&&el.getProjectId().equals(map.get("id"))).mapToDouble(el -> el.getAmount()==null?0:el.getAmount()).sum();
|
|
@@ -2253,7 +2281,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
for (ExpenseMainType expenseMainType : expenseMainTypes) {
|
|
|
Map<String,Object> it=new HashMap<>();
|
|
|
it.put("type",expenseMainType.getId());
|
|
|
- List<ExpenseSheet> sheetList = expenseSheetList.stream().filter(es -> es.getType().equals(expenseMainType.getId())).collect(Collectors.toList());
|
|
|
+ List<ExpenseSheet> sheetList = expenseSheetList.stream().filter(es ->es.getType()!=null&& es.getType().equals(expenseMainType.getId())).collect(Collectors.toList());
|
|
|
List<Integer> collect = sheetList.stream().map(ExpenseSheet::getId).distinct().collect(Collectors.toList());
|
|
|
collect.add(-1);
|
|
|
double sum = expenseItemList.stream().filter(el -> collect.contains(el.getExpenseId())&&el.getProjectId()!=null&&el.getProjectId().equals(item.get("id"))).mapToDouble(el -> el.getAmount()==null?0:el.getAmount()).sum();
|
|
@@ -10087,4 +10115,27 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
httpRespMsg.data = pathPrefix + fileName+".xlsx";
|
|
|
return httpRespMsg;
|
|
|
}
|
|
|
+
|
|
|
+ public void getParentFolders(List<ProjectDocument> projectDocumentList,List<ProDocumentTemDetail> proDocumentTemDetailList,Project project,User user){
|
|
|
+ List<ProjectDocument> list=new ArrayList<>();
|
|
|
+ for (ProjectDocument projectDocument : projectDocumentList) {
|
|
|
+ List<ProDocumentTemDetail> collect = proDocumentTemDetailList.stream().filter(pd -> pd.getParentId() != null && pd.getParentId().equals(projectDocument.getProDocumentTemDetailId())).collect(Collectors.toList());
|
|
|
+ collect.forEach(c->{
|
|
|
+ ProjectDocument item=new ProjectDocument();
|
|
|
+ item.setDocumentName(c.getName());
|
|
|
+ item.setLabel(c.getName());
|
|
|
+ item.setIsFolder(1);
|
|
|
+ item.setIndate(LocalDateTime.now());
|
|
|
+ item.setProjectId(project.getId());
|
|
|
+ item.setIsDeleted(0);
|
|
|
+ item.setCreatorId(project.getCreatorId());
|
|
|
+ item.setCreatorName(user.getName());
|
|
|
+ item.setProDocumentTemDetailId(c.getId());
|
|
|
+ item.setFolderId(projectDocument.getProDocumentTemDetailId());
|
|
|
+ list.add(item);
|
|
|
+ });
|
|
|
+ projectDocumentService.saveBatch(list);
|
|
|
+ getParentFolders(list,proDocumentTemDetailList,project,user);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|