|
@@ -138,6 +138,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
ProviderInfoMapper providerInfoMapper;
|
|
|
@Resource
|
|
|
ProjectMainMapper projectMainMapper;
|
|
|
+ @Resource
|
|
|
+ ProjectLevelMapper projectLevelMapper;
|
|
|
|
|
|
@Resource
|
|
|
private HttpServletResponse response;
|
|
@@ -245,9 +247,17 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
List<ProviderInfo> providerInfoList = providerInfoMapper.selectList(new QueryWrapper<ProviderInfo>().eq("company_id", companyId));
|
|
|
List<ProviderCategory> providerCategoryList = providerCategoryMapper.selectList(new QueryWrapper<ProviderCategory>().eq("company_id", companyId));
|
|
|
List<ProjectMain> projectMainList = projectMainMapper.selectList(new QueryWrapper<ProjectMain>().eq("company_id", companyId));
|
|
|
+ List<ProjectLevel> projectLevelList = projectLevelMapper.selectList(new QueryWrapper<ProjectLevel>().eq("company_id", companyId));
|
|
|
+ TimeType timeType = timeTypeMapper.selectById(companyId);
|
|
|
List<ProjectVO> list = new ArrayList<>();
|
|
|
for (Project project : projectList) {
|
|
|
ProjectVO projectVO = new ProjectVO();
|
|
|
+ if(timeType.getProjectLevelState()==1){
|
|
|
+ Optional<ProjectLevel> first = projectLevelList.stream().filter(pl -> pl.getId().equals(project.getLevel())).findFirst();
|
|
|
+ if(first.isPresent()){
|
|
|
+ projectVO.setLevelName(first.get().getProjectLevelName());
|
|
|
+ }
|
|
|
+ }
|
|
|
BeanUtils.copyProperties(project, projectVO);
|
|
|
projectVO.setParticipator(participationMapper.getParticipator(projectVO.getId()));
|
|
|
Optional<User> first = userList.stream().filter(u -> u.getId().equals(project.getInchargerId())).findFirst();
|
|
@@ -1411,9 +1421,26 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
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,taskType);
|
|
|
int pageStart = (pageIndex -1) * pageSize;
|
|
|
- List projectTask = taskMapper.getProjectTask(companyId, pageStart, pageSize, projectId,taskType);
|
|
|
+ List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", companyId));
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ int total = taskMapper.getProjectTaskCount(companyId, projectId,taskType,inchagerIds);
|
|
|
+ List projectTask = taskMapper.getProjectTask(companyId, pageStart, pageSize, projectId,taskType,inchagerIds);
|
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
map.put("records", projectTask);
|
|
@@ -1431,7 +1458,24 @@ 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,taskType);
|
|
|
+ List<Project> projectAllList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", companyId));
|
|
|
+ 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 = projectAllList.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> projectList = taskMapper.getProjectTask(companyId, null, null, null,taskType,inchagerIds);
|
|
|
List<ProjectVO> list = new ArrayList<>();
|
|
|
String[] statusNames = {"进行中","已完成","已撤销"};
|
|
|
String[] typeList = {"任务","里程碑","风险"};
|
|
@@ -1461,13 +1505,33 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
public HttpRespMsg getAllProjectCost(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request) {
|
|
|
User user = userMapper.selectById(request.getHeader("Token"));
|
|
|
Integer companyId = user.getCompanyId();
|
|
|
+ List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", companyId));
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ }
|
|
|
//撤销的项目不算
|
|
|
QueryWrapper<Project> queryWrapper = new QueryWrapper<Project>().eq("company_id", companyId);
|
|
|
queryWrapper.and(wrapper->wrapper.isNull("status").or().ne("status", 3));
|
|
|
+ if(inchagerIds!=null){
|
|
|
+ queryWrapper.in("id",inchagerIds);
|
|
|
+ }
|
|
|
int total = projectMapper.selectCount(queryWrapper);
|
|
|
int pageStart = (pageIndex -1) * pageSize;
|
|
|
System.out.println("companyId="+companyId+", pageStart="+pageStart+", pageSize="+pageSize);
|
|
|
- List projectTask = projectMapper.getAllProjectCost(companyId, pageStart, pageSize, projectId);
|
|
|
+ List projectTask = projectMapper.getAllProjectCost(companyId, pageStart, pageSize, projectId,inchagerIds);
|
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
map.put("records", projectTask);
|
|
@@ -1482,9 +1546,25 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
//通过公司id获取该公司所有的项目列表
|
|
|
User user = userMapper.selectById(request.getHeader("Token"));
|
|
|
Integer companyId = user.getCompanyId();
|
|
|
-
|
|
|
+ List<Project> projectAllList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", companyId));
|
|
|
+ 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 = projectAllList.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);
|
|
|
+ }
|
|
|
+ }
|
|
|
QueryWrapper<Project> queryWrapper = new QueryWrapper<Project>().eq("company_id", companyId);
|
|
|
- List<Project> projectList = projectMapper.getAllProjectCost(companyId, null, null, null);
|
|
|
+ List<Project> projectList = projectMapper.getAllProjectCost(companyId, null, null, null,inchagerIds);
|
|
|
List<List<String>> exportList = new ArrayList<>();
|
|
|
String[] titles = {"项目编号", "项目名称", "人工成本", "一般费用", "差旅费用","外包费用", "总费用"};
|
|
|
exportList.add(Lists.list(titles));
|
|
@@ -1510,12 +1590,32 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
public HttpRespMsg getProjectInAndOut(Integer pageIndex, Integer pageSize, Integer projectId, HttpServletRequest request) {
|
|
|
User user = userMapper.selectById(request.getHeader("Token"));
|
|
|
Integer companyId = user.getCompanyId();
|
|
|
+ List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", companyId));
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ }
|
|
|
//撤销的项目不算
|
|
|
QueryWrapper<Project> queryWrapper = new QueryWrapper<Project>().eq("company_id", companyId);
|
|
|
queryWrapper.and(wrapper->wrapper.isNull("status").or().ne("status", 3));
|
|
|
+ if(inchagerIds!=null){
|
|
|
+ queryWrapper.in("id",inchagerIds);
|
|
|
+ }
|
|
|
int total = projectMapper.selectCount(queryWrapper);
|
|
|
int pageStart = (pageIndex -1) * pageSize;
|
|
|
- List projectTask = projectMapper.getProjectInAndOut(companyId, pageStart, pageSize, projectId);
|
|
|
+ List projectTask = projectMapper.getProjectInAndOut(companyId, pageStart, pageSize, projectId,inchagerIds);
|
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
map.put("records", projectTask);
|
|
@@ -1550,9 +1650,25 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
//通过公司id获取该公司所有的项目列表
|
|
|
User user = userMapper.selectById(request.getHeader("Token"));
|
|
|
Integer companyId = user.getCompanyId();
|
|
|
-
|
|
|
+ List<Project> projectAllList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", companyId));
|
|
|
+ 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 = projectAllList.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);
|
|
|
+ }
|
|
|
+ }
|
|
|
QueryWrapper<Project> queryWrapper = new QueryWrapper<Project>().eq("company_id", companyId);
|
|
|
- List<Project> projectList = projectMapper.getProjectInAndOut(companyId, null, null, null);
|
|
|
+ List<Project> projectList = projectMapper.getProjectInAndOut(companyId, null, null, null,inchagerIds);
|
|
|
List<List<String>> exportList = new ArrayList<>();
|
|
|
String[] titles = {"项目编号", "项目名称", "合同金额", "人工成本", "一般费用", "差旅费用","外包费用", "总费用", "利润", "利润率"};
|
|
|
exportList.add(Lists.list(titles));
|
|
@@ -2025,12 +2141,32 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
int startIndex = (pageIndex-1)*pageSize;
|
|
|
int endIndex = pageSize*pageIndex;
|
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
|
+ List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", companyId));
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ }
|
|
|
QueryWrapper<Project> queryWrapper = new QueryWrapper<Project>().eq("company_id", companyId);
|
|
|
if (projectId != null) {
|
|
|
queryWrapper.eq("id", projectId);
|
|
|
}
|
|
|
+ if(inchagerIds!=null){
|
|
|
+ queryWrapper.in("id",inchagerIds);
|
|
|
+ }
|
|
|
Integer total = projectMapper.selectCount(queryWrapper);
|
|
|
- List<ProjectWithStage> record = projectMapper.selectWithStage(companyId, startIndex, endIndex, projectId);
|
|
|
+ List<ProjectWithStage> record = projectMapper.selectWithStage(companyId, startIndex, endIndex, projectId,inchagerIds);
|
|
|
List<SysRichFunction> functionList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "查看阶段成本");
|
|
|
if (functionList.size() == 0) {
|
|
|
//去掉成本
|
|
@@ -2061,7 +2197,24 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
|
User user = userMapper.selectById(token);
|
|
|
Integer companyId = user.getCompanyId();
|
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
|
- List<ProjectWithStage> record = projectMapper.selectWithStage(companyId, null, null, null);
|
|
|
+ List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", companyId));
|
|
|
+ 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<ProjectWithStage> record = projectMapper.selectWithStage(companyId, null, null, null,inchagerIds);
|
|
|
//获取全部的列
|
|
|
List<Integer> collect = record.stream().map(ProjectWithStage::getId).collect(Collectors.toList());
|
|
|
List<Stages> stagesList = stagesMapper.selectList(new QueryWrapper<Stages>().select("distinct stages_name").in("project_id", collect));
|