浏览代码

日报导入提示成功条数不对。
费用报销上传非企业微信模式下,未能匹配工号
企业微信注册开通企业时,task_executor表要插入执行人

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

+ 14 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/WeiXinCorpController.java

@@ -142,6 +142,8 @@ public class WeiXinCorpController {
     private UserService userService;
     @Resource
     private CompanyReportMapper companyReportMapper;
+    @Resource
+    private TaskExecutorMapper taskExecutorMapper;
     @Autowired
     RestTemplate restTemplate;
     @Resource
@@ -1451,6 +1453,8 @@ public class WeiXinCorpController {
                         stage.setStagesName("工作开展");
                         stagesMapper.insert(stage);
                         Task task=new Task();
+                        TimeType timeType = timeTypeMapper.selectById(company.getId());
+                        Integer oneDayHours = 8;
                         task.setCreateDate(LocalDate.now());
                         task.setProjectId(project.getId());
                         task.setCompanyId(company.getId());
@@ -1460,11 +1464,21 @@ public class WeiXinCorpController {
                         task.setExecutorId(user.getId());
                         task.setExecutorColor(user.getColor());
                         task.setExecutorName(user.getName());
+                        task.setPlanHours(oneDayHours);
                         task.setStagesId(stage.getId());
                         task.setGroupId(taskGroup.getId());
                         task.setSeq(0);
                         task.setName("示例任务");
                         taskMapper.insert(task);
+                        //任务执行人表也要插入,不然会导致编辑任务的时候执行人为空
+                        TaskExecutor executor = new TaskExecutor();
+                        executor.setTaskId(task.getId());
+                        executor.setPlanHours(oneDayHours);
+                        executor.setProjectId(project.getId());
+                        executor.setExecutorId(user.getId());
+                        executor.setExecutorColor(user.getColor());
+                        executor.setExecutorName(user.getName());
+                        taskExecutorMapper.insert(executor);
                     }
 
                     int companyId = company.getId();

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

@@ -447,7 +447,7 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
                     Optional<User> optional = targetUserList.stream().filter(tl -> tl.getName().equals(reimburserName)).findFirst();
                     first = userList.stream().filter(us -> us.getName().equals(reimburserName)||(us.getJobNumber()!=null&&us.getJobNumber().equals(reimburserName))||(optional.isPresent()&&us.getCorpwxUserid()!=null&&us.getCorpwxUserid().equals(optional.get().getCorpwxUserid()))).findFirst();
                 }else {
-                    first = userList.stream().filter(us -> us.getName().equals(reimburserName)).findFirst();
+                    first = userList.stream().filter(us -> us.getName().equals(reimburserName)||(us.getJobNumber()!=null&&us.getJobNumber().equals(reimburserName))).findFirst();
                 }
                 if (first != null && first.isPresent()) {
                     expenseSheet.setOwnerId(first.get().getId());

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

@@ -3514,7 +3514,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             List<SubProject> allSubProjectList = subProjectMapper.selectList(new QueryWrapper<SubProject>().eq("company_id", companyId));
             List<Report> reportList = new ArrayList<>();
             int projectNameStartIndex = (withCheckIn==null?2:6);
-            int dataCount = 0;
+
             List<String> userNameList=new ArrayList<>();
             for (int rowIndex = 0; rowIndex <= rowNum; rowIndex++) {
                 Row row = sheet.getRow(rowIndex);
@@ -3524,7 +3524,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 if (ExcelUtil.isRowEmpty(row)) {
                     continue;
                 }
-                dataCount++;
                 String username = withCheckIn==null?row.getCell(1).getStringCellValue().trim():row.getCell(2).getStringCellValue().trim();
                 if(username.equals("员工")){
                     continue;
@@ -3543,6 +3542,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 }
             }
             List<User> targetUserList= (List<User>) respMsg.data;
+            int dataCount = 0;
             for (int rowIndex = 0; rowIndex <= rowNum; rowIndex++) {
                 Row row = sheet.getRow(rowIndex);
                 if (row == null) {
@@ -3619,7 +3619,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                         Optional<User> optional = targetUserList.stream().filter(tl -> tl.getName().equals(username)).findFirst();
                         any = allUserList.stream().filter(u -> u.getName().equals(username)||(u.getJobNumber()!=null&&u.getJobNumber().equals(username))||(optional.isPresent()&&u.getCorpwxUserid()!=null&&u.getCorpwxUserid().equals(optional.get().getCorpwxUserid()))).findAny();
                     }else {
-                        any = allUserList.stream().filter(u -> u.getName().equals(username)).findAny();
+                        any = allUserList.stream().filter(u -> u.getName().equals(username)||(u.getJobNumber()!=null&&u.getJobNumber().equals(username))).findAny();
                     }
                     if (!any.isPresent()) {
                         //msg.setError("人员["+username+"]不存在,请先在组织结构中添加或者通过钉钉同步导入");

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/i18n/messages.properties

@@ -349,7 +349,7 @@ role.deleteErrorByDefault=该角色为新增员工时的默认角色,请设置
 role.deleteErrorByHavePeople=该角色存在相关人员,请将他们修改为其他角色后再尝试删除
 #员工相关
 staff.nameNullByRow=第{0}行缺少员工姓名
-staff.peopleNullAndAdd=人员[{0}]不存在,请先在组织结构中添加或者通过钉钉同步导入
+staff.peopleNullAndAdd=人员[{0}]不存在,请先在组织结构中添加或同步通讯录
 staff.proportionError=人员[{0}]分摊比例不满足100%,当前比例[{1}%],请检查
 staff.workingHoursNull=工号为{0}的员工在工时系统中不存在
 staff.deleteErrorByDaily=该员工存在填写的日报,无法删除。