Преглед на файлове

1.给日报返回默认维度
2.修复日报导出Bug
bug原因:存在脏数据,有一个部门的父部门id并不存在
解决办法:多做一步判断,过滤掉脏数据

cs преди 2 години
родител
ревизия
170b0d2fe0

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

@@ -1450,6 +1450,16 @@ public class ReportController {
         return msg;
     }
 
+    /**
+     * 根据项目返回日报默认的纬度值,默认值是最近一次该项目日报所选择的维度
+     * @param projectId
+     * @return
+     */
+    @RequestMapping("/defaultDegree")
+    public HttpRespMsg defaultDegree(Integer projectId){
+        return reportService.defaultDegree(projectId,request);
+    }
+
     @GetMapping("/getProcessErrorData")
     public HttpRespMsg getProcessErrorData() {
         return reportService.getProcessErrorData();

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

@@ -151,4 +151,6 @@ public interface ReportMapper extends BaseMapper<Report> {
     List<Map<String, Object>> getUploadThirdReportData(Integer companyId,@Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate);
 
     List<HashMap<String, Object>> geReportByProject(String startDate, Integer companyId, String endDate);
+
+    Map<String, Object> getDefaultDegree(Integer companyId, String userId, Integer projectId);
 }

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

@@ -101,4 +101,6 @@ public interface ReportService extends IService<Report> {
     List<Map<String, Object>> getTaskReportList(Integer taskId);
 
     HttpRespMsg correctWorkingTime(String userIds, String startDate, String endDate);
+
+    HttpRespMsg defaultDegree(Integer projectId, HttpServletRequest request);
 }

+ 7 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DepartmentServiceImpl.java

@@ -1475,6 +1475,9 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
 
     //递归获取所有上级部门字符串,格式:"上级部门/上级部门/部门"
     public String getSupDepartment(Department department,List<Department> departmentList) {
+        if (department == null){
+            return "";
+        }
         String depHierarchy = department.getDepartmentName();
         //搜到父部门进行添加
         if (department.getSuperiorId()==null) {
@@ -1493,6 +1496,9 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
 
     //用于报表展示:递归获取企业微信所有上级部门字符串,格式:"上级部门/上级部门/部门"
     public String getWxDepartment(Department department,List<Department> departmentList) {
+        if (department == null || department.getCorpwxDeptid() == null){
+            return "";
+        }
         String depHierarchy = department.getCorpwxDeptid()+"";
         //搜到父部门进行添加
         if (department.getCorpwxDeptpid()==null || department.getCorpwxDeptpid()==1) {
@@ -1511,7 +1517,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
 
     //用于导出:递归获取企业微信所有上级部门字符串,格式:"上级部门/上级部门/部门"
     public String exportWxDepartment(Department department,List<Department> departmentList) {
-        if(department.getCorpwxDeptid() == null){
+        if(department == null || department.getCorpwxDeptid() == null){
             return "";
         }
         String depHierarchy = "$departmentName="+department.getCorpwxDeptid()+"$";

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

@@ -4090,7 +4090,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 }
                 Department dept = null;
                 for (Department department : departments) {
-                    if (department.getDepartmentId().toString().equals(map.get("departmentId").toString())){
+                    if (map.containsKey(departmentId) && department.getDepartmentId().toString().equals(map.get("departmentId").toString())){
                         dept = department;
                         break;
                     }
@@ -5266,6 +5266,21 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         return msg;
     }
 
+    /**
+     * 根据项目返回日报默认的纬度值,默认值是最近一次该项目日报所选择的维度
+     * @param projectId
+     * @param request
+     * @return
+     */
+    @Override
+    public HttpRespMsg defaultDegree(Integer projectId, HttpServletRequest request) {
+        User user = userMapper.selectById(request.getHeader("token"));
+        Map<String, Object> defaultDegree = reportMapper.getDefaultDegree(user.getCompanyId(), user.getId(), projectId);
+        HttpRespMsg httpRespMsg = new HttpRespMsg();
+        httpRespMsg.data = defaultDegree;
+        return httpRespMsg;
+    }
+
     private void selfUpdateToNextWorkFlow(Integer companyId, User auditTargetUser, List<Integer> targetRids, List<Department> allDepts) {
         List<AuditWorkflowTimeSetting> settings = auditWorkflowTimeSettingMapper.selectList(
                 new QueryWrapper<AuditWorkflowTimeSetting>().eq("company_id", companyId)

+ 11 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportMapper.xml

@@ -740,4 +740,15 @@
         and `user`.is_active = 1
         group by user.id,rl.create_date
     </select>
+
+    <select id="getDefaultDegree" resultType="java.util.Map">
+        select r.* FROM report
+        LEFT JOIN report_extra_degree as r
+        ON report.degree_id = r.id
+        WHERE report.company_id = #{companyId}
+        AND project_id = #{projectId}
+        AND creator_id = #{userId}
+        ORDER BY create_date DESC
+        LIMIT 0,1
+    </select>
 </mapper>