浏览代码

修复日报审核人下标越界bug

seyason 2 年之前
父节点
当前提交
a28090a10e

+ 6 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java

@@ -258,7 +258,11 @@ public class ReportController {
             for(int i=0;i<projectAuditorId.length; i++) {
                 projectAuditorId[i] = null;
             }
+        } else if (projectAuditorId.length < projectId.length) {
+            //自动扩充数组大小
+            projectAuditorId = Arrays.copyOf(projectAuditorId, projectId.length);
         }
+
         if (overtimeHours == null) {
             overtimeHours = new Double[projectId.length];
             for(int i=0;i<projectAuditorId.length; i++) {
@@ -316,6 +320,8 @@ public class ReportController {
         buIds.add(-1);
         List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().in("department_id", buIds));
         TimeType comTimeType = timeTypeMapper.selectById(user.getCompanyId());
+
+
         List<ReportAuditorSetting> auditorSettingList = null;
         if (comTimeType.getReportAuditType() == 3) {
             //员工自由选择审批人

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

@@ -33,7 +33,7 @@ public interface ProjectMapper extends BaseMapper<Project> {
     List<Map<String, Object>> getCustomDataSum(@Param("companyId") Integer companyId, @Param("startDate") String startDate, @Param("endDate") String endDate,
                                           @Param("projectId") Integer projectId, @Param("userId") String userId);
 
-    List<Map<String, Object>> getProjectCost(@Param("companyId")Integer companyId,@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projectId") Integer projectId,@Param("stateKey")Integer stateKey, @Param("userIdList") List<String> userIdList,@Param("deptIds")List<Integer> deptIds,@Param("filterDeptIds")List<Integer> filterDeptIds);
+    List<Map<String, Object>> getProjectCost(@Param("companyId")Integer companyId,@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("projectId") Integer projectId,@Param("stateKey")Integer stateKey, @Param("userIdList") List<String> userIdList,@Param("deptIds")List<Integer> deptIds,@Param("filterDeptIds")List<Integer> filterDeptIds, @Param("withDept") Boolean withDept);
 
     List<Map<String, Object>> getProjectCusDataSumItem(@Param("companyId") Integer companyId, @Param("startDate") String startDate,
                                                        @Param("endDate") String endDate, @Param("projectId") Integer projectId,

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

@@ -1276,7 +1276,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     } else {
                         finalDeptIds = deptIds;
                     }
-                    List<Map<String, Object>> membList = projectMapper.getProjectCost(companyId,startDate, endDate, curProjectId,stateKey, userIdList,finalDeptIds,filterDeptIds);
+                    List<Map<String, Object>> membList = projectMapper.getProjectCost(companyId,startDate, endDate, curProjectId,stateKey, userIdList,finalDeptIds,filterDeptIds, true);
                     map.put("membList", membList);
                     for (Map<String, Object> membMap : membList) {
                         double pTotalTime = 0;
@@ -1692,7 +1692,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             } else {
                 Map<String, Object> resultMap = new HashMap<>();
                 //数据下 非负责部门人员数据不展示
-                List<Map<String, Object>> list = projectMapper.getProjectCost(companyId,startDate, endDate, projectId,stateKey, null,deptIds,null);
+                List<Map<String, Object>> list = projectMapper.getProjectCost(companyId,startDate, endDate, projectId,stateKey, null,deptIds,null, false);
                 BigDecimal totalMoneyCost = BigDecimal.valueOf(0);
                 for (Map<String, Object> map : list) {
                     if (!map.containsKey("costMoney")) {

+ 8 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProjectMapper.xml

@@ -393,8 +393,14 @@
                 </if>
             </otherwise>
         </choose>
-        GROUP BY b.id, a.dept_id
-        ORDER BY b.id ASC, a.dept_id ASC
+        GROUP BY b.id
+        <if test="withDept">
+            , a.dept_id
+        </if>
+        ORDER BY b.id ASC
+        <if test="withDept">
+        , a.dept_id ASC
+        </if>
     </select>
 
     <!--获取某个项目分类每个人分别需要的工时-->

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/SubProjectMapper.xml

@@ -25,7 +25,7 @@
             AND b.create_date between #{startDate} and #{endDate}
         </if>
         AND b.state = 1
-        GROUP BY b.sub_project_id
-        ORDER BY b.sub_project_id ASC
+        GROUP BY IFNULL(a.id,0)
+        ORDER BY IFNULL(a.id,0) ASC
     </select>
 </mapper>