Przeglądaj źródła

请假记录查询

wujiefeng 1 rok temu
rodzic
commit
b52be4d0c3

+ 6 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/attendance/LeaveQueryParam.java

@@ -34,4 +34,10 @@ public class LeaveQueryParam {
 
     @Schema(description = "请假状态")
     private List<LeaveStatus> leaveStatus;
+
+    @Schema(description = "申请人姓名")
+    private String leaveUserName;
+
+    @Schema(description = "审批人姓名")
+    private String approvalUserName;
 }

+ 1 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/attendance/extend/LeaveApprovalDaoExtend.java

@@ -11,7 +11,7 @@ import java.util.List;
 
 public interface LeaveApprovalDaoExtend {
 
-    Page<LeaveApproval> page(Pageable pageable, LeaveQueryType queryType, String projectId, String sceneId, String userId, Long startTime, Long endTime, List<String> leaveType, List<LeaveStatus> leaveStatus);
+    Page<LeaveApproval> page(Pageable pageable, LeaveQueryType queryType, String projectId, String sceneId, String userId, Long startTime, Long endTime, List<String> leaveType, List<LeaveStatus> leaveStatus, String approvalUserName, String leaveUserName);
 
     Page<LeaveApproval> openApiPage(Pageable pageable, PageLeaveOpenApiParam param);
 }

+ 11 - 4
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/attendance/impl/LeaveApprovalDaoImpl.java

@@ -16,6 +16,7 @@ import org.springframework.data.mongodb.core.query.Criteria;
 import org.springframework.data.mongodb.core.query.Query;
 
 import java.util.List;
+import java.util.regex.Pattern;
 
 public class LeaveApprovalDaoImpl implements LeaveApprovalDaoExtend {
 
@@ -23,7 +24,7 @@ public class LeaveApprovalDaoImpl implements LeaveApprovalDaoExtend {
     DBHelper dbHelper;
 
     @Override
-    public Page<LeaveApproval> page(Pageable pageable, LeaveQueryType queryType, String projectId, String sceneId, String userId, Long startTime, Long endTime, List<String> leaveType, List<LeaveStatus> leaveStatus) {
+    public Page<LeaveApproval> page(Pageable pageable, LeaveQueryType queryType, String projectId, String sceneId, String userId, Long startTime, Long endTime, List<String> leaveType, List<LeaveStatus> leaveStatus, String approvalUserName, String leaveUserName) {
         Criteria criteria = new Criteria();
 
         if (StringUtils.isNotBlank(projectId)){
@@ -46,9 +47,15 @@ public class LeaveApprovalDaoImpl implements LeaveApprovalDaoExtend {
             criteria.and("createTime").gte(startTime).lte(endTime);
         }
 
-//        if (endTime != null){
-//            criteria.and("createTime").lte(endTime);
-//        }
+        if (StringUtils.isNotBlank(approvalUserName)){
+            Pattern approvalUserNamePattern = Pattern.compile("^.*" + approvalUserName + ".*$");
+            criteria.and("approvalUserName").regex(approvalUserNamePattern);
+        }
+
+        if (StringUtils.isNotBlank(leaveUserName)){
+            Pattern leaveUserNamePattern = Pattern.compile("^.*" + leaveUserName + ".*$");
+            criteria.and("leaveUserName").regex(leaveUserNamePattern);
+        }
 
         if (LeaveQueryType.Wait.equals(queryType)){
             criteria.and("leaveStatus").is(LeaveStatus.Wait);

+ 6 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/domain/attendance/LeaveApproval.java

@@ -41,6 +41,9 @@ public class LeaveApproval extends SuperEntity {
     @Indexed
     private String approvalUser;
 
+    @Indexed
+    private String approvalUserName;
+
     //审核状态
     @Indexed
     private LeaveStatus leaveStatus;
@@ -54,4 +57,7 @@ public class LeaveApproval extends SuperEntity {
     //请假人
     @Indexed
     private String leaveUser;
+
+    @Indexed
+    private String leaveUserName;
 }

+ 11 - 2
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/attendance/LeaveService.java

@@ -113,14 +113,23 @@ public class LeaveService extends SuperService {
         leaveApproval.setProjectId(projectId);
 
         String approvalUser = param.getApprovalUser();
-
         if (StringUtils.isBlank(approvalUser)){
             return ResultContent.buildFail("审批人不存在");
         }
+        UserAccount approvalUserAccount = userCountDao.findTopByUserId(approvalUser);
+        if (approvalUserAccount == null){
+            return ResultContent.buildFail("审批人不存在");
+        }
         leaveApproval.setApprovalUser(approvalUser);
+        leaveApproval.setApprovalUserName(approvalUserAccount.getName());
 
         String currentUserId = authHelper.getCurrentUser().getUserId();
+        UserAccount leaveUserAccount = userCountDao.findTopByUserId(currentUserId);
+        if (leaveUserAccount == null){
+            return ResultContent.buildFail("申请人不存在");
+        }
         leaveApproval.setLeaveUser(currentUserId);
+        leaveApproval.setLeaveUserName(leaveUserAccount.getName());
 
         leaveApproval.setLeaveStatus(LeaveStatus.Wait);
         leaveApprovalDao.save(leaveApproval);
@@ -170,7 +179,7 @@ public class LeaveService extends SuperService {
         }
 
         String userId = authHelper.getCurrentUser().getUserId();
-        Page<LeaveApproval> page = leaveApprovalDao.page(pageable, param.getLeaveQueryType(), projectId, param.getSceneId(), userId, startTime, param.getEndTime(), param.getLeaveType(), param.getLeaveStatus());
+        Page<LeaveApproval> page = leaveApprovalDao.page(pageable, param.getLeaveQueryType(), projectId, param.getSceneId(), userId, startTime, param.getEndTime(), param.getLeaveType(), param.getLeaveStatus(), param.getApprovalUserName(), param.getLeaveUserName());
         return ResultContent.buildContent(PageEntityUtil.concurrent2PageModel(page, this::toModel));
     }