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

Merge branch 'master' of http://47.100.37.243:10191/wutt/manHourHousekeeper into master

seyason 1 рік тому
батько
коміт
05b572320b

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

@@ -192,7 +192,7 @@ public interface ReportMapper extends BaseMapper<Report> {
 
     List<String> getUserIds(ArrayList<Integer> deptIds, String startDate, String endDate);
 
-    List<Map<String, Object>> getProjectTimeCost(Integer companyId,@Param("list") List<Integer> projectMainIds);
+    List<Map<String, Object>> getProjectTimeCost(Integer companyId,Integer projectId);
 
     List<Map<String, Object>> getProjectMainTimeCost(Integer companyId,String requestProjectMainCode);
 

+ 20 - 14
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -7602,17 +7602,17 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             msg.setError("Request Parameter Parsing Error,Unable to find 'projectMainCode'");
             return msg;
         }
-        String requestProjectMainCode = String.valueOf(requestProjectQuery.get("projectMainCode"));
-        ProjectMain projectMain = projectMainMapper.selectOne(new LambdaQueryWrapper<ProjectMain>().eq(ProjectMain::getCode, requestProjectMainCode));
-        if(projectMain==null){
-            msg.setError("'projectMainCode'["+requestProjectMainCode+"] is Not Exist");
+        String requestProjectCode = String.valueOf(requestProjectQuery.get("projectMainCode"));
+        Project project = projectMapper.selectOne(new LambdaQueryWrapper<Project>().eq(Project::getProjectCode, requestProjectCode).eq(Project::getCompanyId,thirdPartyInterfaces.get(0).getCompanyId()));
+        if(project==null){
+            msg.setError("'projectMainCode'["+requestProjectCode+"] is Not Exist");
             return msg;
         }
         Map<String,Object> responseData=new HashMap<>();
-        List<Map<String,Object>> projectMainTimeCostList=reportMapper.getProjectMainTimeCost(thirdPartyInterfaces.get(0).getCompanyId(),requestProjectMainCode);
-        List<Integer> projectMainIds = projectMainTimeCostList.stream().map(p -> Integer.valueOf(String.valueOf(p.get("pmId")))).distinct().collect(Collectors.toList());
-        projectMainIds.add(-1);
-        List<Map<String,Object>> projectTimeCostList=reportMapper.getProjectTimeCost(thirdPartyInterfaces.get(0).getCompanyId(),projectMainIds);
+        ProjectMain projectMain = projectMainMapper.selectOne(new LambdaQueryWrapper<ProjectMain>().eq(ProjectMain::getId, project.getProjectMainId()));
+//        List<Integer> projectMainIds = projectMainTimeCostList.stream().map(p -> Integer.valueOf(String.valueOf(p.get("pmId")))).distinct().collect(Collectors.toList());
+//        projectMainIds.add(-1);
+        List<Map<String,Object>> projectTimeCostList=reportMapper.getProjectTimeCost(thirdPartyInterfaces.get(0).getCompanyId(),project.getId());
         List<Integer> projectIds = projectTimeCostList.stream().map(p -> Integer.valueOf(String.valueOf(p.get("projectId")))).distinct().collect(Collectors.toList());
         projectIds.add(-1);
         List<Map<String,Object>> taskGroupPlanTimeList=reportMapper.getTaskGroupPlanTime(projectIds);
@@ -7629,13 +7629,19 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         }
         projectTimeCostList.forEach(pt->{
             List<Map<String, Object>> mapList = taskGroupPlanTimeList.stream().filter(t -> t.get("projectId").equals(pt.get("projectId"))).collect(Collectors.toList());
+            switch (Integer.valueOf(pt.get("status").toString())){
+                case 1:pt.put("status","进行中");
+                    break;
+                case 2:pt.put("status","已完成");
+                    break;
+                case 3:pt.put("status","已撤销");
+                    break;
+                case 4:pt.put("status","暂停");
+                    break;
+            }
             pt.put("projectGroupData",mapList);
         });
-        projectMainTimeCostList.forEach(pt->{
-            List<Map<String, Object>> mapList = projectTimeCostList.stream().filter(p -> p.get("pmId").equals(pt.get("pmId"))).collect(Collectors.toList());
-            pt.put("projectArrays",mapList);
-        });
-        responseData.put("projectMainData",projectMainTimeCostList);
+        responseData.put("projectArrays",projectTimeCostList);
         msg.setData(responseData);
         return msg;
     }
@@ -7700,7 +7706,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         }
         if(memberQueryQuery.get("organizationId")!=null){
             departmentId = String.valueOf(memberQueryQuery.get("organizationId"));
-            Department department = departmentMapper.selectOne(new LambdaQueryWrapper<Department>().eq(Department::getCorpwxDeptid, departmentId).or().eq(Department::getDepartmentId, departmentId));
+            Department department = departmentMapper.selectOne(new LambdaQueryWrapper<Department>().eq(Department::getCorpwxDeptid, departmentId));
             if(department!=null){
                 departmentId = String.valueOf(department.getDepartmentId());
             }

+ 9 - 8
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportMapper.xml

@@ -1025,10 +1025,11 @@
     </select>
 
     <select id="getProjectTimeCost" resultType="java.util.Map">
-        select p.project_code as projectCode,p.id as projectId,pm.id as pmId,p.project_name as projectName,p.plan_start_date as planStartDate,p.plan_end_date as planEndDate,p.incharger_id as inchargerId,
+        select p.project_code as projectCode,p.id as projectId,pm.id as pmId,p.project_name as projectName,DATE_FORMAT(p.plan_start_date,'%Y-%m-%d') as planStartDate,DATE_FORMAT(p.plan_end_date,'%Y-%m-%d') as planEndDate,u.job_number as inchargerId,
         pm.name as projectMainName,p.status,p.category_name as categoryName,pl.project_level_name as levelString,p.contract_amount as contractAmount,
-        ps.contract_code as contractCode,ps.project_category_sub as projectCategorySub,ps.region,p.create_date as createDate,ps.warranty_start_date as warrantyStartDate,
-        ps.warranty_end_date as warrantyEndDate,p.finish_date as finishDate,ps.bu,
+        ps.contract_code as contractCode,ps.project_category_sub as projectCategorySub,ps.region,DATE_FORMAT(p.create_date,'%Y-%m-%d') as createDate,DATE_FORMAT(ps.warranty_start_date,'%Y-%m-%d') as warrantyStartDate,
+        DATE_FORMAT(ps.warranty_end_date,'%Y-%m-%d') as warrantyEndDate,DATE_FORMAT(p.finish_date,'%Y-%m-%d') as finishDate,ps.bu,IFNULL(p.man_day*8,0) as planTime,IFNULL(SUM(r.working_time),0) as realityTime,
+        case  when p.man_day*8-SUM(r.working_time) &gt;= 0 then '否' else '是' end as isOver ,case when p.man_day*8-SUM(r.working_time) &gt; 0 then (p.man_day*8-SUM(r.working_time)) else '0' end as remaining,
         CONCAT('[',(select GROUP_CONCAT(CONCAT(u.job_number,'/',u.name)) from participation pa
         left join user u on pa.user_id=u.id
         where pa.project_id=p.id ),']') as participations
@@ -1036,11 +1037,11 @@
         left join project_main pm on p.project_main_id=pm.id
         left join project_level pl on p.level=pl.id
         left join project_separate ps on p.id=ps.id
+        left join user u on u.id=p.incharger_id
+        left join report r on r.project_id=p.id
         where p.company_id=#{companyId}
-        and p.project_main_id in
-        <foreach collection="list" item="item" separator="," close=")" open="(">
-            #{item}
-        </foreach>
+        and p.id=#{projectId}
+        group by p.id
     </select>
 
     <select id="getProjectMainTimeCost" resultType="java.util.Map">
@@ -1061,7 +1062,7 @@
 
     <select id="getTaskGroupPlanTime" resultType="java.util.Map">
         select tg.project_id as projectId,tg.task_group_code as taskGroupCode,tg.name,tg.wbs_code as wbsCode,IFNULL(tg.man_day*8,0) as planTime,tg.id as groupId,
-        uu.name as incahrgerName,
+        CONCAT(uu.job_number,'/',uu.name) as incahrgerName,
         CONCAT('[',(select GROUP_CONCAT(CONCAT(u.job_number,'/',u.name)) from group_participator gp
         left join user u on gp.user_id=u.id
         where gp.group_id=tg.id ),']') as participations