|
@@ -12,6 +12,7 @@ import com.management.platform.mapper.*;
|
|
import com.management.platform.service.ProjectAuditorService;
|
|
import com.management.platform.service.ProjectAuditorService;
|
|
import com.management.platform.service.ProjectNotifyUserService;
|
|
import com.management.platform.service.ProjectNotifyUserService;
|
|
import com.management.platform.service.ProjectService;
|
|
import com.management.platform.service.ProjectService;
|
|
|
|
+import com.management.platform.service.SysFunctionService;
|
|
import com.management.platform.util.HttpRespMsg;
|
|
import com.management.platform.util.HttpRespMsg;
|
|
import com.management.platform.util.ExcelUtil;
|
|
import com.management.platform.util.ExcelUtil;
|
|
import com.management.platform.util.ListUtil;
|
|
import com.management.platform.util.ListUtil;
|
|
@@ -106,6 +107,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
DepartmentMapper departmentMapper;
|
|
DepartmentMapper departmentMapper;
|
|
@Resource
|
|
@Resource
|
|
ProjectCategoryMapper projectCategoryMapper;
|
|
ProjectCategoryMapper projectCategoryMapper;
|
|
|
|
+ @Resource
|
|
|
|
+ SysFunctionService sysFunctionService;
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
private HttpServletResponse response;
|
|
private HttpServletResponse response;
|
|
@@ -118,8 +121,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
try {
|
|
try {
|
|
User user = userMapper.selectById(request.getHeader("Token"));
|
|
User user = userMapper.selectById(request.getHeader("Token"));
|
|
- List<SysRichFunction> functionList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "查看全部项目");
|
|
|
|
- if (functionList.size() == 0) {
|
|
|
|
|
|
+ if (!sysFunctionService.hasPriviledge(user.getRoleId(), "查看全部项目")) {
|
|
//普通员工只能看本人相关的项目列表
|
|
//普通员工只能看本人相关的项目列表
|
|
httpRespMsg.data = projectMapper.getParticipatedProject(user.getId(), user.getCompanyId());
|
|
httpRespMsg.data = projectMapper.getParticipatedProject(user.getId(), user.getCompanyId());
|
|
} else {
|
|
} else {
|
|
@@ -220,6 +222,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
Integer taskGpIncharge,
|
|
Integer taskGpIncharge,
|
|
String auditUserIds,
|
|
String auditUserIds,
|
|
Integer category,
|
|
Integer category,
|
|
|
|
+ String projectDesc,
|
|
HttpServletRequest request) {
|
|
HttpServletRequest request) {
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
User user = userMapper.selectById(request.getHeader("Token"));
|
|
User user = userMapper.selectById(request.getHeader("Token"));
|
|
@@ -273,6 +276,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
.setAssociateDegrees(associateDegrees)
|
|
.setAssociateDegrees(associateDegrees)
|
|
.setAssociateDegreeNames(associateDegreeNames)
|
|
.setAssociateDegreeNames(associateDegreeNames)
|
|
.setCustomerId(customerId)
|
|
.setCustomerId(customerId)
|
|
|
|
+ .setProjectDesc(projectDesc)
|
|
.setTaskGpIncharge(taskGpIncharge);
|
|
.setTaskGpIncharge(taskGpIncharge);
|
|
if (category != null) {
|
|
if (category != null) {
|
|
ProjectCategory projectCategory = projectCategoryMapper.selectById(category);
|
|
ProjectCategory projectCategory = projectCategoryMapper.selectById(category);
|
|
@@ -339,6 +343,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
.setAssociateDegrees(associateDegrees)
|
|
.setAssociateDegrees(associateDegrees)
|
|
.setAssociateDegreeNames(associateDegreeNames)
|
|
.setAssociateDegreeNames(associateDegreeNames)
|
|
.setCustomerId(customerId)
|
|
.setCustomerId(customerId)
|
|
|
|
+ .setProjectDesc(projectDesc)
|
|
.setTaskGpIncharge(taskGpIncharge);
|
|
.setTaskGpIncharge(taskGpIncharge);
|
|
if (category != null) {
|
|
if (category != null) {
|
|
ProjectCategory projectCategory = projectCategoryMapper.selectById(category);
|
|
ProjectCategory projectCategory = projectCategoryMapper.selectById(category);
|
|
@@ -517,7 +522,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
auditor.setAuditorId(inchargerId);
|
|
auditor.setAuditorId(inchargerId);
|
|
auditor.setAuditorName(userMapper.selectById(inchargerId).getName());
|
|
auditor.setAuditorName(userMapper.selectById(inchargerId).getName());
|
|
projectAuditorMapper.insert(auditor);
|
|
projectAuditorMapper.insert(auditor);
|
|
- //将日报的审核人换成
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//检查日报,如果有删除的审核人的正在审核的日报,要更新审核人为当前的第一个人
|
|
//检查日报,如果有删除的审核人的正在审核的日报,要更新审核人为当前的第一个人
|
|
@@ -1572,37 +1576,42 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public HttpRespMsg getOvertimeList(Integer projectId, String startDate, String endDate, HttpServletRequest request) {
|
|
|
|
|
|
+ public HttpRespMsg getOvertimeList(Integer userId, Integer projectId, String startDate, String endDate, HttpServletRequest request) {
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
String token = request.getHeader("TOKEN");
|
|
String token = request.getHeader("TOKEN");
|
|
User user = userMapper.selectById(token);
|
|
User user = userMapper.selectById(token);
|
|
- msg.data = projectMapper.getOvertimeList(user.getCompanyId(), startDate, endDate, projectId);
|
|
|
|
|
|
+ msg.data = projectMapper.getOvertimeList(userId, user.getCompanyId(), startDate, endDate, projectId);
|
|
return msg;
|
|
return msg;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public HttpRespMsg exportOvertimeList(Integer projectId, String startDate, String endDate, HttpServletRequest request) {
|
|
|
|
|
|
+ public HttpRespMsg exportOvertimeList(Integer userId, Integer projectId, String startDate, String endDate, HttpServletRequest request) {
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
try {
|
|
try {
|
|
String token = request.getHeader("TOKEN");
|
|
String token = request.getHeader("TOKEN");
|
|
User user = userMapper.selectById(token);
|
|
User user = userMapper.selectById(token);
|
|
- List<Map<String, Object>> list = projectMapper.getOvertimeList(user.getCompanyId(), startDate, endDate, projectId);
|
|
|
|
-
|
|
|
|
|
|
+ List<Map<String, Object>> list = projectMapper.getOvertimeList(userId, user.getCompanyId(), startDate, endDate, projectId);
|
|
|
|
+ boolean hasViewSalary = sysFunctionService.hasPriviledge(user.getRoleId(), "查看加班成本");
|
|
BigDecimal totalMoneyCost = BigDecimal.valueOf(0);
|
|
BigDecimal totalMoneyCost = BigDecimal.valueOf(0);
|
|
List<String> headList = new ArrayList<String>();
|
|
List<String> headList = new ArrayList<String>();
|
|
headList.add("人员");
|
|
headList.add("人员");
|
|
headList.add("加班工时(h)");
|
|
headList.add("加班工时(h)");
|
|
- headList.add("加班成本(元)");
|
|
|
|
|
|
+ if (hasViewSalary) {
|
|
|
|
+ headList.add("加班成本(元)");
|
|
|
|
+ }
|
|
|
|
+
|
|
List<List<String>> allList = new ArrayList<List<String>>();
|
|
List<List<String>> allList = new ArrayList<List<String>>();
|
|
allList.add(headList);
|
|
allList.add(headList);
|
|
double totalCostTime = 0;
|
|
double totalCostTime = 0;
|
|
for (Map<String, Object> map : list) {
|
|
for (Map<String, Object> map : list) {
|
|
totalMoneyCost = totalMoneyCost.add((BigDecimal)map.get("cost"));
|
|
totalMoneyCost = totalMoneyCost.add((BigDecimal)map.get("cost"));
|
|
- totalCostTime += (Double)map.get("workingTime");
|
|
|
|
|
|
+ totalCostTime += (Double)map.get("overtimeHours");
|
|
List<String> rowData = new ArrayList<String>();
|
|
List<String> rowData = new ArrayList<String>();
|
|
rowData.add((String)map.get("username"));
|
|
rowData.add((String)map.get("username"));
|
|
- rowData.add(((Double)map.get("workingTime")).toString());
|
|
|
|
- rowData.add(((BigDecimal)map.get("cost")).toString());
|
|
|
|
|
|
+ rowData.add(((Double)map.get("overtimeHours")).toString());
|
|
|
|
+ if (hasViewSalary) {
|
|
|
|
+ rowData.add(((BigDecimal)map.get("cost")).toString());
|
|
|
|
+ }
|
|
allList.add(rowData);
|
|
allList.add(rowData);
|
|
}
|
|
}
|
|
String total = totalMoneyCost.toString();
|
|
String total = totalMoneyCost.toString();
|
|
@@ -1610,7 +1619,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
List<String> sumRow = new ArrayList<String>();
|
|
List<String> sumRow = new ArrayList<String>();
|
|
sumRow.add("合计");
|
|
sumRow.add("合计");
|
|
sumRow.add(""+totalCostTime);
|
|
sumRow.add(""+totalCostTime);
|
|
- sumRow.add(totalMoneyCost.toString());
|
|
|
|
|
|
+ if (hasViewSalary) {
|
|
|
|
+ sumRow.add(totalMoneyCost.toString());
|
|
|
|
+ }
|
|
allList.add(sumRow);
|
|
allList.add(sumRow);
|
|
//生成excel文件导出
|
|
//生成excel文件导出
|
|
String fileName = "加班统计报表_"+System.currentTimeMillis();
|
|
String fileName = "加班统计报表_"+System.currentTimeMillis();
|
|
@@ -2040,6 +2051,33 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|
return msg;
|
|
return msg;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public HttpRespMsg getMyParticiPMList(HttpServletRequest request) {
|
|
|
|
+ String token = request.getHeader("TOKEN");
|
|
|
|
+ User user = userMapper.selectById(token);
|
|
|
|
+ List<Participation> participationList = participationMapper.selectList(new QueryWrapper<Participation>().eq("user_id", token));
|
|
|
|
+ HttpRespMsg msg = new HttpRespMsg();
|
|
|
|
+ if (participationList.size() > 0) {
|
|
|
|
+ List<Integer> pIds = participationList.stream().map(Participation::getProjectId).collect(Collectors.toList());
|
|
|
|
+ //仅需要进行中项目负责人来审核
|
|
|
|
+ List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().in("id", pIds).eq("status", 1));
|
|
|
|
+ List<String> inchargerIds = projectList.stream().map(Project::getInchargerId).collect(Collectors.toList());
|
|
|
|
+ List<Map<String, Object>> userList = userMapper.getSimpleNameList(new QueryWrapper<User>().in("id", inchargerIds));
|
|
|
|
+ msg.data = userList;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return msg;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public HttpRespMsg getOvertimeDetail(Integer userId, Integer projectId, String startDate, String endDate, HttpServletRequest request) {
|
|
|
|
+ HttpRespMsg msg = new HttpRespMsg();
|
|
|
|
+ String token = request.getHeader("TOKEN");
|
|
|
|
+ User user = userMapper.selectById(token);
|
|
|
|
+ msg.data = projectMapper.getOvertimeDetail(userId, user.getCompanyId(), startDate, endDate, projectId);
|
|
|
|
+ return msg;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
private List<Department> getSubDepts(Department dp, List<Department> list) {
|
|
private List<Department> getSubDepts(Department dp, List<Department> list) {
|
|
List<Department> collect = list.stream().filter(l -> dp.getDepartmentId().equals(l.getSuperiorId())).collect(Collectors.toList());;
|
|
List<Department> collect = list.stream().filter(l -> dp.getDepartmentId().equals(l.getSuperiorId())).collect(Collectors.toList());;
|