Переглянути джерело

Merge branch 'master' of http://47.100.37.243:10080/wutt/manHourHousekeeper

ggooalice 2 роки тому
батько
коміт
b025f59d21

+ 5 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectController.java

@@ -552,6 +552,11 @@ public class ProjectController {
         return projectService.exportData(request);
     }
 
+    @RequestMapping("exportGroupData")
+    public HttpRespMsg exportGroupData() {
+        return projectService.exportGroupData(request);
+    }
+
     @RequestMapping("/getMyUsers")
     public HttpRespMsg getMyUsers() {
         return projectService.getMyUsers(request);

+ 3 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ProjectMapper.java

@@ -80,6 +80,9 @@ public interface ProjectMapper extends BaseMapper<Project> {
     //获取导出的项目数据
     List<HashMap<String, Object>> getExportData(Integer companyId, String userId);
 
+    //获取按照项目分组导出的项目数据
+    List<HashMap<String, Object>> getExportGroupData(Integer companyId);
+
     List<Map<String, Object>> getOvertimeDetail(String userId, Integer companyId, String startDate, String endDate, Integer projectId,List<Integer> branchDepartment,List<Integer> deptIds);
 
     //获取项目的成本预警和实际工时表

+ 1 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ReportMapper.java

@@ -137,4 +137,5 @@ public interface ReportMapper extends BaseMapper<Report> {
             "AND EXISTS(SELECT 1 FROM report r WHERE report.`creator_id` = r.creator_id AND report.`create_date` = r.create_date AND report.id <> r.id AND r.state = 0)\n" +
             "AND report.audit_dept_managerid IS NULL AND report.`company_id` = #{companyId}\n")
     List<Map<String, Object>> getErrorData(Integer companyId);
+
 }

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ProjectService.java

@@ -109,6 +109,8 @@ public interface ProjectService extends IService<Project> {
 
     HttpRespMsg exportData(HttpServletRequest request);
 
+    HttpRespMsg exportGroupData(HttpServletRequest request);
+
     HttpRespMsg getCustomDataSum(String startDate, String endDate, String userId, HttpServletRequest request);
 
     HttpRespMsg exportCustomDataSum(String startDate, String endDate, Integer projectId, String userId, HttpServletRequest request);

+ 29 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -4127,6 +4127,35 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         return httpRespMsg;
     }
 
+    @Override
+    public HttpRespMsg exportGroupData(HttpServletRequest request) {
+        String token = request.getHeader("TOKEN");
+        User user = userMapper.selectById(token);
+        List<HashMap<String, Object>> list = projectMapper.getExportGroupData(user.getCompanyId());
+        List<List<String>> allList = new ArrayList<>();
+        List<String> headList = new ArrayList<String>();
+        headList.add("项目编号");
+        headList.add("项目名称");
+        headList.add("分组名称");
+        headList.add("分组负责人");
+        headList.add("分组参与人");
+        allList.add(headList);
+        for (HashMap<String, Object> map : list) {
+            List<String> item = new ArrayList<>();
+            item.add((String) map.get("projectCode")==null?"":(String)map.get("projectCode"));
+            item.add((String) map.get("projectName")==null?"":(String)map.get("projectName"));
+            item.add((String) map.get("groupName")==null?"":(String)map.get("groupName"));
+            item.add((String) map.get("inchargerName")==null?"":(String)map.get("inchargerName"));
+            item.add((String) map.get("participators")==null?"":(String)map.get("participators"));
+            allList.add(item);
+        }
+        String fileName = "项目分组_"+System.currentTimeMillis();
+        String resp = ExcelUtil.exportGeneralExcelByTitleAndList(fileName , allList, path);
+        HttpRespMsg httpRespMsg = new HttpRespMsg();
+        httpRespMsg.data = resp;
+        return httpRespMsg;
+    }
+
     @Override
     public HttpRespMsg getCustomDataSum(String startDate, String endDate, String userId, HttpServletRequest request) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();

+ 13 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -1943,11 +1943,23 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                         reportMapper.update(new Report().setState(1).setProjectAuditTime(LocalDateTime.now()),
                                 new QueryWrapper<Report>().in("id", ids));
                         List<Report> finalReportList = reportMapper.selectList(new QueryWrapper<Report>().in("id", ids));
+                        List<ReportProfessionProgress> professionProgressList = reportProfessionProgressService.list(new QueryWrapper<ReportProfessionProgress>().in("report_id", ids));
+
+                        //审核通过时,才会更新到个人的专业进度上去
+                        professionProgressList.forEach(pro->{
+                            PpMembs memb = new PpMembs();
+                            memb.setProgress(pro.getProgress());
+                            Report report1 = finalReportList.stream().filter(f -> f.getId().equals(pro.getReportId())).findFirst().get();
+                            Integer projectId = report1.getProjectId();
+                            //更新个人在项目中的专业进度
+                            ppMembsMapper.update(memb, new QueryWrapper<PpMembs>().eq("project_id", projectId)
+                                    .eq("memb_id", report1.getCreatorId()).eq("profession_id", pro.getProfessionId()));
+                        });
+
                         notifyLeaders(finalReportList);
                     }
                 }
             }
-
         } else {
             LocalDateTime now = LocalDateTime.now();
             Report oneReport = reportMapper.selectById(ids.get(0));

+ 13 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProjectMapper.xml

@@ -784,6 +784,19 @@
         GROUP BY project.id
     </select>
 
+    <!--按项目分组导出数据-->
+    <select id="getExportGroupData" resultType="java.util.Map" >
+        SELECT project_code as projectCode,project_name as projectName,task_group.`name` AS groupName,`user`.`name` AS inchargerName,
+        (SELECT GROUP_CONCAT(name) FROM group_participator g LEFT JOIN `user` ON `user`.id = g.user_id WHERE g.group_id = group_participator.group_id GROUP BY g.group_id) AS participators
+        FROM task_group
+        LEFT JOIN group_participator ON task_group.id = group_participator.group_id
+        LEFT JOIN project on task_group.project_id = project.id
+        LEFT JOIN `user` ON project.incharger_id = `user`.id
+        where project.company_id = #{companyId}
+        GROUP BY task_group.id
+        ORDER BY project_id
+    </select>
+
     <!--分页获取项目工时成本预警表 -->
     <select id="getProjectCostAlarm" resultType="java.util.HashMap">
         SELECT project.id, project.`project_code` as projectCode, project.`project_name` as projectName,(SELECT IFNULL(SUM(base_amount), 0) FROM project_currentcost