Ver código fonte

请假人员匹配,立项管理bug修复

QuYueTing 4 meses atrás
pai
commit
16ede94949

+ 14 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectApprovalController.java

@@ -114,14 +114,26 @@ public class ProjectApprovalController {
             User id = userMapper.selectById(projectApproval.getInchargerId());
             projectApproval.setInchargerName(id.getName());
         }
-        if(!StringUtils.isEmpty(projectApproval.getProjectCode())){
+        if (projectApproval.getId() != null) {
+            //编辑
             Integer count=projectMapper.selectCount(new LambdaQueryWrapper<Project>().eq(Project::getCompanyId, companyId).eq(Project::getProjectCode, projectApproval.getProjectCode()));
-            Integer count1=projectApprovalService.count(new LambdaQueryWrapper<ProjectApproval>().eq(ProjectApproval::getCompanyId, companyId).eq(ProjectApproval::getProjectCode, projectApproval.getProjectCode()));
+            Integer count1=projectApprovalService.count(new LambdaQueryWrapper<ProjectApproval>().eq(ProjectApproval::getCompanyId, companyId).eq(ProjectApproval::getProjectCode, projectApproval.getProjectCode()).ne(ProjectApproval::getId,projectApproval.getId()));
             if(count>0||count1>0){
                 msg.setError("已存在项目编号为["+projectApproval.getProjectCode()+"]的项目/立项");
                 return msg;
             }
+        } else {
+            //新增
+            if(!StringUtils.isEmpty(projectApproval.getProjectCode())){
+                Integer count=projectMapper.selectCount(new LambdaQueryWrapper<Project>().eq(Project::getCompanyId, companyId).eq(Project::getProjectCode, projectApproval.getProjectCode()));
+                Integer count1=projectApprovalService.count(new LambdaQueryWrapper<ProjectApproval>().eq(ProjectApproval::getCompanyId, companyId).eq(ProjectApproval::getProjectCode, projectApproval.getProjectCode()));
+                if(count>0||count1>0){
+                    msg.setError("已存在项目编号为["+projectApproval.getProjectCode()+"]的项目/立项");
+                    return msg;
+                }
+            }
         }
+
         if(!projectApprovalService.saveOrUpdate(projectApproval)){
             msg.setError("验证失败");
             return msg;

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

@@ -3218,7 +3218,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             List<UserCorpwxTime> userCorpwxTimeList = null;
             WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", companyId));
             if (company.getPackageOa() == 0 && timeType.getSyncCorpwxTime() == 1) {
-                userCorpwxTimeList = userCorpwxTimeMapper.selectList(new QueryWrapper<UserCorpwxTime>().select("corpwx_userid, ask_leave_time").eq("company_id", companyId).eq("create_date", curDate).gt("ask_leave_time", 0));
+                userCorpwxTimeList = userCorpwxTimeMapper.selectList(new QueryWrapper<UserCorpwxTime>().select("corpwx_userid, name, ask_leave_time").eq("company_id", companyId).eq("create_date", curDate).gt("ask_leave_time", 0));
             }
             for (User u : userList) {
                 //入职日期在当前日期之后的,不要显示
@@ -3250,7 +3250,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                         }
                     }
                 } else if (wxCorpInfo != null && userCorpwxTimeList != null) {
-                    Optional<UserCorpwxTime> find = userCorpwxTimeList.stream().filter(uct -> uct.getCorpwxUserid().equals(u.getCorpwxUserid())).findFirst();
+                    Optional<UserCorpwxTime> find = userCorpwxTimeList.stream().filter(uct -> (u.getCorpwxUserid() != null && uct.getCorpwxUserid() != null && uct.getCorpwxUserid().equals(u.getCorpwxUserid())) || (u.getCorpwxUserid() == null && u.getName().equals(uct.getName()))).findFirst();
                     if (find.isPresent()) {
                         user.put("leaveType",0);//默认为事假
                         user.put("leaveTimes", find.get().getAskLeaveTime());