Przeglądaj źródła

修复阶段工时报表导出异常,同步考勤打卡外出请假跨年Bug

seyason 2 lat temu
rodzic
commit
a90209785a

+ 8 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/WeiXinCorpController.java

@@ -2081,7 +2081,14 @@ public class WeiXinCorpController {
                     userMapper.insert(user);
                 } else {
                     User curUser = userMapper.selectOne(new QueryWrapper<User>().eq("corpwx_userid", curUserid).eq("company_id", companyId));
-                    System.out.println("找到用户:"+curUser.getName()+", 部门:"+departmentMapper.selectById(curUser.getDepartmentId()).getDepartmentName());
+                    System.out.println("找到用户:"+curUser.getName());
+                    if (curUser.getDepartmentId() != null) {
+                        Department dept = departmentMapper.selectById(curUser.getDepartmentId());
+                        if (dept != null) {
+                            System.out.println("部门:"+dept.getDepartmentName());
+                        }
+                    }
+
                 }
             }
         }

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

@@ -2712,15 +2712,19 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         List<ProjectWithStage> record = projectMapper.selectWithStage(companyId, null, null, null,inchagerIds,startDate,endDate);
         //获取全部的列
         List<Integer> collect = record.stream().map(ProjectWithStage::getId).collect(Collectors.toList());
-        QueryWrapper<Stages> queryWrapper=new QueryWrapper<>();
-        queryWrapper.select("distinct stages_name");
-        queryWrapper.in("project_id",collect);
-        if(stageNameList!=null&&!stageNameList.isEmpty()){
-            queryWrapper.in("stages_name",stageNameList);
-        }
-        List<Stages> stagesList = stagesMapper.selectList(queryWrapper);
-        List<String> stageList = stagesList.stream().map(Stages::getStagesName).distinct().collect(Collectors.toList());
+        final List<String> stageList = new ArrayList<>();
         List<String> titleList = new ArrayList<>();
+        if (collect.size() > 0) {
+            QueryWrapper<Stages> queryWrapper=new QueryWrapper<>();
+            queryWrapper.select("distinct stages_name");
+            queryWrapper.in("project_id",collect);
+            if(stageNameList!=null&&!stageNameList.isEmpty()){
+                queryWrapper.in("stages_name",stageNameList);
+            }
+            List<Stages> stagesList = stagesMapper.selectList(queryWrapper);
+            stageList.addAll(stagesList.stream().map(Stages::getStagesName).distinct().collect(Collectors.toList()));
+        }
+
         //titleList.add("项目编号");
         titleList.add(MessageUtils.message("entry.projectId"));
         //titleList.add("项目名称");

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

@@ -469,6 +469,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
                 }
             }
             List<User> targetUserList= (List<User>) respMsg.data;
+            if (targetUserList == null) targetUserList = new ArrayList<>();
             //由于第一行需要指明列对应的标题
             for (int rowIndex = 0; rowIndex <= sheet.getLastRowNum(); rowIndex++) {
                 XSSFRow row = sheet.getRow(rowIndex);
@@ -478,7 +479,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
                 //此处新建账号 默认密码为000000 默认 姓名第一列 手机号第二列 月薪第三列
                 XSSFCell stagesCell = row.getCell(0);
                 XSSFCell nameCell = row.getCell(1);
-                if (nameCell == null) {
+                if (nameCell == null || stagesCell == null) {
                     break;
                 }
                 XSSFCell typeCell = row.getCell(2);

+ 4 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/WxCorpInfoServiceImpl.java

@@ -1189,6 +1189,10 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
                                     String dateEnd = localDate.getYear() + "/" + (isOldFormat ? s[2] : s[3]);
                                     LocalDate sDate = LocalDate.parse(dateStart, mdFormat);
                                     LocalDate eDate = LocalDate.parse(dateEnd, mdFormat);
+                                    //跨年情况的校验
+                                    if (eDate.isBefore(sDate)) {
+                                        eDate = eDate.plusYears(1);
+                                    }
                                     String outEnd = isOldFormat ? s[3] : s[4];
                                     String outStart = s[1];
                                     if (sDate.isEqual(eDate)) {

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/util/WorkDayCalculateUtils.java

@@ -130,7 +130,7 @@ public class WorkDayCalculateUtils {
         LocalDate localStartDate = LocalDate.parse(startDate, dateTimeFormatter);
         LocalDate localEndDate = LocalDate.parse(endDate, dateTimeFormatter);
         if (localEndDate.isBefore(localStartDate)) {
-            System.err.println("结束日期"+startDate+"不得小于开始日期"+endDate);
+            System.err.println("结束日期"+endDate+"不得小于开始日期"+startDate);
         }
         List<LocalDate> list = new ArrayList<>();
         int i = 0;