Sfoglia il codice sorgente

Merge branch 'master_20240722' of http://git.dgtis.com/15896567520/oneportal_saas into master_20240722

zhaopeiqing 6 mesi fa
parent
commit
1333b605db
42 ha cambiato i file con 616 aggiunte e 206 eliminazioni
  1. 4 7
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/meeting/reserve/vo/OaMeetingReservePageReqVO.java
  2. 8 46
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/business/vo/OaBusinessPageReqVO.java
  3. 4 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/business/vo/OaBusinessRespVO.java
  4. 8 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/conversion/vo/OaConversionPageReqVO.java
  5. 8 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/entry/vo/OaEntryPageReqVO.java
  6. 8 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/expense/vo/OaExpensePageReqVO.java
  7. 8 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/leave/vo/OaLeavePageReqVO.java
  8. 7 34
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/out/vo/OaOutPageReqVO.java
  9. 4 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/out/vo/OaOutRespVO.java
  10. 8 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/purchase/vo/OaPurchasePageReqVO.java
  11. 4 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/purchase/vo/OaPurchaseRespVO.java
  12. 8 31
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/receive/vo/OaReceivePageReqVO.java
  13. 4 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/receive/vo/OaReceiveRespVO.java
  14. 8 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/renew/vo/OaRenewPageReqVO.java
  15. 8 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/stamp/vo/OaStampPageReqVO.java
  16. 8 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/turnover/vo/OaTurnoverPageReqVO.java
  17. 8 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/stamp/stampinfo/vo/OaStampInfoPageReqVO.java
  18. 8 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/stamp/stampseal/vo/OaStampSealPageReqVO.java
  19. 28 17
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/business/OaBusinessMapper.java
  20. 28 3
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/conversion/OaConversionMapper.java
  21. 28 4
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/entry/OaEntryMapper.java
  22. 28 3
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/expense/OaExpenseMapper.java
  23. 28 3
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/leave/OaLeaveMapper.java
  24. 28 14
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/out/OaOutMapper.java
  25. 28 3
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/purchase/OaPurchaseMapper.java
  26. 28 10
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/receive/OaReceiveMapper.java
  27. 28 3
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/renew/OaRenewMapper.java
  28. 28 3
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/stamp/OaStampMapper.java
  29. 28 3
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/turnover/OaTurnOverMapper.java
  30. 13 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/business/OaBusinessServiceImpl.java
  31. 13 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/conversion/OaConversionServiceImpl.java
  32. 13 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/entry/OaEntryServiceImpl.java
  33. 13 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/expense/OaExpenseServiceImpl.java
  34. 13 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/leave/OaLeaveServiceImpl.java
  35. 13 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/out/OaOutServiceImpl.java
  36. 13 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/purchase/OaPurchaseServiceImpl.java
  37. 13 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/receive/OaReceiveServiceImpl.java
  38. 13 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/renew/OaRenewServiceImpl.java
  39. 13 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/stamp/OaStampServiceImpl.java
  40. 13 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/turnover/OaTurnoverServiceImpl.java
  41. 11 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/stamp/stampinfo/OaStampInfoServiceImpl.java
  42. 31 0
      yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/stamp/stampinfo/OaStampInfoMapper.xml

+ 4 - 7
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/meeting/reserve/vo/OaMeetingReservePageReqVO.java

@@ -1,13 +1,10 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.meeting.reserve.vo;
 
-import lombok.*;
-import java.util.*;
-import io.swagger.v3.oas.annotations.media.Schema;
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import org.springframework.format.annotation.DateTimeFormat;
-import java.time.LocalDateTime;
-
-import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
 
 @Schema(description = "管理后台 - 会议室预定管理信息分页 Request VO")
 @Data

+ 8 - 46
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/business/vo/OaBusinessPageReqVO.java

@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.oa.business.vo;
 
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -18,33 +19,18 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @ToString(callSuper = true)
 public class OaBusinessPageReqVO extends PageParam {
 
-    @Schema(description = "出差表单主键", example = "1")
-    private Long id;
-
-    @Schema(description = "uuid", example = "7614")
-    private String businessId;
-
-    @Schema(description = "出差人id", example = "1")
-    private Long employeeId;
-
     @Schema(description = "出差员工姓名", example = "赵六")
     private String employeeName;
 
     @Schema(description = "出差员工手机号")
     private String employeePhone;
 
-    @Schema(description = "用户账号id", example = "13581")
-    private Long userId;
-
     @Schema(description = "部门id", example = "708")
     private Long deptId;
 
     @Schema(description = "职位id")
     private Long postId;
 
-    @Schema(description = "出差事由", example = "不香")
-    private String reason;
-
     @Schema(description = "出差目的地")
     private String destination;
 
@@ -56,40 +42,9 @@ public class OaBusinessPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private String[] endDate;
 
-    @Schema(description = "出差天数(d)")
-    private String day;
-
-    @Schema(description = "出差预算费用,单位(元)")
-    private BigDecimal estimatedCost;
-
-    @Schema(description = "备注")
-    private String remarks;
-
-    @Schema(description = "流程实例id", example = "30698")
-    private String procInstId;
-
     @Schema(description = "审核状态(0暂存、1已提交、2审核中、3已审核、4已关闭、5已驳回、6已撤回)", example = "1")
     private String auditStatus;
 
-    @Schema(description = "当前审核人员工id", example = "1086")
-    private Long currentAuditEmployeeId;
-
-    @Schema(description = "当前审核人员工姓名", example = "芋艿")
-    private String currentAuditEmployeeName;
-
-    @Schema(description = "当前审核人用户id", example = "12947")
-    private Long currentAuditUserId;
-
-    @Schema(description = "最后审核时间")
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private LocalDateTime[] finalAuditDate;
-
-    @Schema(description = "发起人选择的审批人")
-    private String startUserSelectAssignees;
-
-    @Schema(description = "申请人员工id", example = "12667")
-    private Long applyEmployeeId;
-
     @Schema(description = "申请人员工姓名", example = "芋艿")
     private String applyEmployeeName;
 
@@ -97,4 +52,11 @@ public class OaBusinessPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;
 
+    @Schema(description = "数据权限")
+    private DeptDataPermissionRespDTO deptDataPermission;
+
+    @Schema(description = "用户id")
+    private Long userId;
+
+
 }

+ 4 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/business/vo/OaBusinessRespVO.java

@@ -112,6 +112,10 @@ public class OaBusinessRespVO {
     // @ExcelProperty("最后审核时间")
     private LocalDateTime finalAuditDate;
 
+    @Schema(description = "备注")
+    // @ExcelProperty("备注")
+    private String remarks;
+
     @Schema(description = "附件列表")
     private List<FileDTO> fileList;
 

+ 8 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/conversion/vo/OaConversionPageReqVO.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.oa.conversion.vo;
 
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import com.alibaba.excel.annotation.ExcelProperty;
 import lombok.*;
 import java.util.*;
@@ -42,4 +43,11 @@ public class OaConversionPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;
 
+    @Schema(description = "数据权限")
+    private DeptDataPermissionRespDTO deptDataPermission;
+
+    @Schema(description = "用户id")
+    private Long userId;
+
+
 }

+ 8 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/entry/vo/OaEntryPageReqVO.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.oa.entry.vo;
 
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import lombok.*;
 import io.swagger.v3.oas.annotations.media.Schema;
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
@@ -43,4 +44,11 @@ public class OaEntryPageReqVO extends PageParam {
     @Schema(description = "审核状态(0暂存、1已提交、2审核中、3已审核、4已关闭、5驳回)", example = "2")
     private String auditStatus;
 
+    @Schema(description = "数据权限")
+    private DeptDataPermissionRespDTO deptDataPermission;
+
+    @Schema(description = "用户id")
+    private Long userId;
+
+
 }

+ 8 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/expense/vo/OaExpensePageReqVO.java

@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.oa.expense.vo;
 
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -42,4 +43,11 @@ public class OaExpensePageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;
 
+    @Schema(description = "数据权限")
+    private DeptDataPermissionRespDTO deptDataPermission;
+
+    @Schema(description = "用户id")
+    private Long userId;
+
+
 }

+ 8 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/leave/vo/OaLeavePageReqVO.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.oa.leave.vo;
 
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import lombok.*;
 import io.swagger.v3.oas.annotations.media.Schema;
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
@@ -44,4 +45,11 @@ public class OaLeavePageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;
 
+    @Schema(description = "数据权限")
+    private DeptDataPermissionRespDTO deptDataPermission;
+
+    @Schema(description = "用户id")
+    private Long userId;
+
+
 }

+ 7 - 34
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/out/vo/OaOutPageReqVO.java

@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.oa.out.vo;
 
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -17,12 +18,6 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @ToString(callSuper = true)
 public class OaOutPageReqVO extends PageParam {
 
-    @Schema(description = "uuid", example = "9006")
-    private String outId;
-
-    @Schema(description = "外出人id", example = "1")
-    private Long employeeId;
-
     @Schema(description = "外出员工姓名", example = "李四")
     private String employeeName;
 
@@ -35,9 +30,6 @@ public class OaOutPageReqVO extends PageParam {
     @Schema(description = "职位id")
     private Long postId;
 
-    @Schema(description = "外出事由", example = "不香")
-    private String reason;
-
     @Schema(description = "外出地点")
     private String destination;
 
@@ -49,34 +41,9 @@ public class OaOutPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private String[] endDate;
 
-    @Schema(description = "外出时长,单位(小时)")
-    private String hour;
-
-    @Schema(description = "备注")
-    private String remarks;
-
-    @Schema(description = "流程实例id", example = "8014")
-    private String procInstId;
-
     @Schema(description = "审核状态(0暂存、1已提交、2审核中、3已审核、4已关闭、5已驳回)", example = "2")
     private String auditStatus;
 
-    @Schema(description = "当前审核人员工id", example = "11675")
-    private Long currentAuditEmployeeId;
-
-    @Schema(description = "当前审核人员工姓名", example = "张三")
-    private String currentAuditEmployeeName;
-
-    @Schema(description = "当前审核人用户id", example = "29595")
-    private Long currentAuditUserId;
-
-    @Schema(description = "最后审核时间")
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private LocalDateTime[] finalAuditDate;
-
-    @Schema(description = "申请人员工id", example = "1")
-    private Long applyEmployeeId;
-
     @Schema(description = "申请人员工姓名", example = "王五")
     private String applyEmployeeName;
 
@@ -84,4 +51,10 @@ public class OaOutPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;
 
+    @Schema(description = "数据权限")
+    private DeptDataPermissionRespDTO deptDataPermission;
+
+    @Schema(description = "用户id")
+    private Long userId;
+
 }

+ 4 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/out/vo/OaOutRespVO.java

@@ -125,6 +125,10 @@ public class OaOutRespVO {
     @Schema(description = "附件id列表")
     private List<Long> fileIdList;
 
+    @Schema(description = "备注")
+    // @ExcelProperty("备注")
+    private String remarks;
+
     @Schema(description = "审批记录列表")
     private List<BpmTaskRespVO> auditRecordList;
 

+ 8 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/purchase/vo/OaPurchasePageReqVO.java

@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.oa.purchase.vo;
 
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -42,4 +43,11 @@ public class OaPurchasePageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;
 
+    @Schema(description = "数据权限")
+    private DeptDataPermissionRespDTO deptDataPermission;
+
+    @Schema(description = "用户id")
+    private Long userId;
+
+
 }

+ 4 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/purchase/vo/OaPurchaseRespVO.java

@@ -112,6 +112,10 @@ public class OaPurchaseRespVO {
     @Schema(description = "采购流程信息子表列表")
     private List<OaPurchaseObjDO> oaPurchaseObjs;
 
+    @Schema(description = "备注")
+    // @ExcelProperty("备注")
+    private String remarks;
+
     @Schema(description = "附件列表")
     private List<FileDTO> fileList;
 

+ 8 - 31
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/receive/vo/OaReceivePageReqVO.java

@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.oa.receive.vo;
 
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -18,9 +19,6 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @ToString(callSuper = true)
 public class OaReceivePageReqVO extends PageParam {
 
-    @Schema(description = "领用人id", example = "1")
-    private Long employeeId;
-
     @Schema(description = "领用员工姓名", example = "赵六")
     private String employeeName;
 
@@ -30,9 +28,6 @@ public class OaReceivePageReqVO extends PageParam {
     @Schema(description = "部门id", example = "17336")
     private Long deptId;
 
-    @Schema(description = "部门名称")
-    private String deptName;
-
     @Schema(description = "职位id")
     private Long postId;
 
@@ -40,34 +35,9 @@ public class OaReceivePageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     private String[] receiveDate;
 
-    @Schema(description = "领用原因", example = "不喜欢")
-    private String reason;
-
-    @Schema(description = "备注")
-    private String remarks;
-
-    @Schema(description = "流程实例id", example = "13073")
-    private String procInstId;
-
     @Schema(description = "审核状态(0暂存、1已提交、2审核中、3已审核、4已关闭、5已驳回)", example = "2")
     private String auditStatus;
 
-    @Schema(description = "当前审核人员工id", example = "10618")
-    private Long currentAuditEmployeeId;
-
-    @Schema(description = "当前审核人员工姓名", example = "王五")
-    private String currentAuditEmployeeName;
-
-    @Schema(description = "当前审核人用户id", example = "744")
-    private Long currentAuditUserId;
-
-    @Schema(description = "最后审核时间")
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private LocalDateTime[] finalAuditDate;
-
-    @Schema(description = "申请人员工id", example = "1")
-    private Long applyEmployeeId;
-
     @Schema(description = "申请人员工姓名", example = "李四")
     private String applyEmployeeName;
 
@@ -75,4 +45,11 @@ public class OaReceivePageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;
 
+    @Schema(description = "数据权限")
+    private DeptDataPermissionRespDTO deptDataPermission;
+
+    @Schema(description = "用户id")
+    private Long userId;
+
+
 }

+ 4 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/receive/vo/OaReceiveRespVO.java

@@ -121,6 +121,10 @@ public class OaReceiveRespVO {
     @Schema(description = "附件id列表")
     private List<Long> fileIdList;
 
+    @Schema(description = "备注")
+    // @ExcelProperty("备注")
+    private String remarks;
+
     @Schema(description = "审批记录列表")
     private List<BpmTaskRespVO> auditRecordList;
 

+ 8 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/renew/vo/OaRenewPageReqVO.java

@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.oa.renew.vo;
 
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -47,4 +48,11 @@ public class OaRenewPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;
 
+    @Schema(description = "数据权限")
+    private DeptDataPermissionRespDTO deptDataPermission;
+
+    @Schema(description = "用户id")
+    private Long userId;
+
+
 }

+ 8 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/stamp/vo/OaStampPageReqVO.java

@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.oa.stamp.vo;
 
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -42,4 +43,11 @@ public class OaStampPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;
 
+    @Schema(description = "数据权限")
+    private DeptDataPermissionRespDTO deptDataPermission;
+
+    @Schema(description = "用户id")
+    private Long userId;
+
+
 }

+ 8 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/turnover/vo/OaTurnoverPageReqVO.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.oa.turnover.vo;
 
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import lombok.*;
 import io.swagger.v3.oas.annotations.media.Schema;
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
@@ -41,4 +42,11 @@ public class OaTurnoverPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;
 
+    @Schema(description = "数据权限")
+    private DeptDataPermissionRespDTO deptDataPermission;
+
+    @Schema(description = "用户id")
+    private Long userId;
+
+
 }

+ 8 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/stamp/stampinfo/vo/OaStampInfoPageReqVO.java

@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.stamp.stampinfo.vo;
 
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import com.alibaba.excel.annotation.ExcelProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -47,4 +48,11 @@ public class OaStampInfoPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;
 
+    @Schema(description = "数据权限")
+    private DeptDataPermissionRespDTO deptDataPermission;
+
+    @Schema(description = "用户id")
+    private Long userId;
+
+
 }

+ 8 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/stamp/stampseal/vo/OaStampSealPageReqVO.java

@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.stamp.stampseal.vo;
 
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -27,4 +28,11 @@ public class OaStampSealPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;
 
+    @Schema(description = "数据权限")
+    private DeptDataPermissionRespDTO deptDataPermission;
+
+    @Schema(description = "用户id")
+    private Long userId;
+
+
 }

+ 28 - 17
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/business/OaBusinessMapper.java

@@ -1,10 +1,12 @@
 package cn.iocoder.yudao.module.bpm.dal.mysql.oa.business;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.business.vo.OaBusinessPageReqVO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.business.OaBusinessDO;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -16,33 +18,42 @@ import org.apache.ibatis.annotations.Mapper;
 public interface OaBusinessMapper extends BaseMapperX<OaBusinessDO> {
 
     default PageResult<OaBusinessDO> selectPage(OaBusinessPageReqVO reqVO) {
-        return selectPage(reqVO, new LambdaQueryWrapperX<OaBusinessDO>()
-                .eqIfPresent(OaBusinessDO::getId, reqVO.getId())
-                .eqIfPresent(OaBusinessDO::getBusinessId, reqVO.getBusinessId())
-                .eqIfPresent(OaBusinessDO::getEmployeeId, reqVO.getEmployeeId())
+        LambdaQueryWrapperX<OaBusinessDO> lambdaQueryWrapperX = new LambdaQueryWrapperX<OaBusinessDO>()
                 .likeIfPresent(OaBusinessDO::getEmployeeName, reqVO.getEmployeeName())
                 .eqIfPresent(OaBusinessDO::getEmployeePhone, reqVO.getEmployeePhone())
                 .eqIfPresent(OaBusinessDO::getUserId, reqVO.getUserId())
                 .eqIfPresent(OaBusinessDO::getDeptId, reqVO.getDeptId())
                 .eqIfPresent(OaBusinessDO::getPostId, reqVO.getPostId())
-                .eqIfPresent(OaBusinessDO::getReason, reqVO.getReason())
                 .eqIfPresent(OaBusinessDO::getDestination, reqVO.getDestination())
                 .betweenIfPresent(OaBusinessDO::getStartDate, reqVO.getStartDate())
                 .betweenIfPresent(OaBusinessDO::getEndDate, reqVO.getEndDate())
-                .eqIfPresent(OaBusinessDO::getDay, reqVO.getDay())
-                .eqIfPresent(OaBusinessDO::getEstimatedCost, reqVO.getEstimatedCost())
-                .eqIfPresent(OaBusinessDO::getRemarks, reqVO.getRemarks())
-                .eqIfPresent(OaBusinessDO::getProcInstId, reqVO.getProcInstId())
                 .eqIfPresent(OaBusinessDO::getAuditStatus, reqVO.getAuditStatus())
-                .eqIfPresent(OaBusinessDO::getCurrentAuditEmployeeId, reqVO.getCurrentAuditEmployeeId())
-                .likeIfPresent(OaBusinessDO::getCurrentAuditEmployeeName, reqVO.getCurrentAuditEmployeeName())
-                .eqIfPresent(OaBusinessDO::getCurrentAuditUserId, reqVO.getCurrentAuditUserId())
-                .betweenIfPresent(OaBusinessDO::getFinalAuditDate, reqVO.getFinalAuditDate())
-                .eqIfPresent(OaBusinessDO::getStartUserSelectAssignees, reqVO.getStartUserSelectAssignees())
-                .eqIfPresent(OaBusinessDO::getApplyEmployeeId, reqVO.getApplyEmployeeId())
                 .likeIfPresent(OaBusinessDO::getApplyEmployeeName, reqVO.getApplyEmployeeName())
                 .betweenIfPresent(OaBusinessDO::getCreateTime, reqVO.getCreateTime())
-                .orderByDesc(OaBusinessDO::getId));
+                .orderByDesc(OaBusinessDO::getId);
+        // 数据权限
+        DeptDataPermissionRespDTO deptDataPermission = reqVO.getDeptDataPermission();
+        if (deptDataPermission != null) {
+            if (deptDataPermission.getAll()) {
+                // 全部数据权限
+            } else {
+                if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds()) && deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.and(wrapper ->
+                            wrapper.in(OaBusinessDO::getDeptId, deptDataPermission.getDeptIds()))
+                            .or(wrapper -> wrapper.eq(OaBusinessDO::getCreator, reqVO.getUserId()));
+                } else if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds())) {
+                    lambdaQueryWrapperX.in(OaBusinessDO::getCreator, deptDataPermission.getDeptIds());
+                } else if (deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.eq(OaBusinessDO::getCreator, reqVO.getUserId());
+                } else {
+                    return PageResult.empty();
+                }
+            }
+        } else {
+            return PageResult.empty();
+        }
+        return selectPage(reqVO, lambdaQueryWrapperX);
+
     }
 
 }

+ 28 - 3
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/conversion/OaConversionMapper.java

@@ -1,10 +1,12 @@
 package cn.iocoder.yudao.module.bpm.dal.mysql.oa.conversion;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.conversion.vo.OaConversionPageReqVO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.conversion.OaConversionDO;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -16,7 +18,7 @@ import org.apache.ibatis.annotations.Mapper;
 public interface OaConversionMapper extends BaseMapperX<OaConversionDO> {
 
     default PageResult<OaConversionDO> selectPage(OaConversionPageReqVO reqVO) {
-        return selectPage(reqVO, new LambdaQueryWrapperX<OaConversionDO>()
+        LambdaQueryWrapperX<OaConversionDO> lambdaQueryWrapperX = new LambdaQueryWrapperX<OaConversionDO>()
                 .eqIfPresent(OaConversionDO::getEmployeeName, reqVO.getEmployeeName())
                 .eqIfPresent(OaConversionDO::getDeptId, reqVO.getDeptId())
                 .eqIfPresent(OaConversionDO::getPostId, reqVO.getPostId())
@@ -25,7 +27,30 @@ public interface OaConversionMapper extends BaseMapperX<OaConversionDO> {
                 .eqIfPresent(OaConversionDO::getApplyEmployeeName, reqVO.getApplyEmployeeName())
                 .betweenIfPresent(OaConversionDO::getCreateTime, reqVO.getCreateTime())
                 .eqIfPresent(OaConversionDO::getAuditStatus, reqVO.getAuditStatus())
-                .orderByDesc(OaConversionDO::getId));
+                .orderByDesc(OaConversionDO::getId);
+        // 数据权限
+        DeptDataPermissionRespDTO deptDataPermission = reqVO.getDeptDataPermission();
+        if (deptDataPermission != null) {
+            if (deptDataPermission.getAll()) {
+                // 全部数据权限
+            } else {
+                if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds()) && deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.and(wrapper ->
+                            wrapper.in(OaConversionDO::getDeptId, deptDataPermission.getDeptIds()))
+                            .or(wrapper -> wrapper.eq(OaConversionDO::getCreator, reqVO.getUserId()));
+                } else if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds())) {
+                    lambdaQueryWrapperX.in(OaConversionDO::getCreator, deptDataPermission.getDeptIds());
+                } else if (deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.eq(OaConversionDO::getCreator, reqVO.getUserId());
+                } else {
+                    return PageResult.empty();
+                }
+            }
+        } else {
+            return PageResult.empty();
+        }
+        return selectPage(reqVO, lambdaQueryWrapperX);
+
     }
 
 }

+ 28 - 4
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/entry/OaEntryMapper.java

@@ -1,11 +1,12 @@
 package cn.iocoder.yudao.module.bpm.dal.mysql.oa.entry;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
-
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.entry.vo.OaEntryPageReqVO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.entry.OaEntryDO;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import org.apache.ibatis.annotations.Mapper;
 /**
  * 入职流程信息 Mapper
@@ -16,7 +17,7 @@ import org.apache.ibatis.annotations.Mapper;
 public interface OaEntryMapper extends BaseMapperX<OaEntryDO> {
 
     default PageResult<OaEntryDO> selectPage(OaEntryPageReqVO reqVO) {
-        return selectPage(reqVO, new LambdaQueryWrapperX<OaEntryDO>()
+        LambdaQueryWrapperX<OaEntryDO> lambdaQueryWrapperX = new LambdaQueryWrapperX<OaEntryDO>()
                 .likeIfPresent(OaEntryDO::getEntryName, reqVO.getEntryName())
                 .eqIfPresent(OaEntryDO::getDeptId, reqVO.getDeptId())
                 .eqIfPresent(OaEntryDO::getPostId, reqVO.getPostId())
@@ -26,7 +27,30 @@ public interface OaEntryMapper extends BaseMapperX<OaEntryDO> {
                 .betweenIfPresent(OaEntryDO::getCreateTime, reqVO.getCreateTime())
                 .betweenIfPresent(OaEntryDO::getEntryDate, reqVO.getEntryDate())
                 .eqIfPresent(OaEntryDO::getAuditStatus, reqVO.getAuditStatus())
-                .orderByDesc(OaEntryDO::getId));
+                .orderByDesc(OaEntryDO::getId);
+        // 数据权限
+        DeptDataPermissionRespDTO deptDataPermission = reqVO.getDeptDataPermission();
+        if (deptDataPermission != null) {
+            if (deptDataPermission.getAll()) {
+                // 全部数据权限
+            } else {
+                if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds()) && deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.and(wrapper ->
+                            wrapper.in(OaEntryDO::getDeptId, deptDataPermission.getDeptIds()))
+                            .or(wrapper -> wrapper.eq(OaEntryDO::getCreator, reqVO.getUserId()));
+                } else if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds())) {
+                    lambdaQueryWrapperX.in(OaEntryDO::getCreator, deptDataPermission.getDeptIds());
+                } else if (deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.eq(OaEntryDO::getCreator, reqVO.getUserId());
+                } else {
+                    return PageResult.empty();
+                }
+            }
+        } else {
+            return PageResult.empty();
+        }
+        return selectPage(reqVO, lambdaQueryWrapperX);
+
     }
 
 }

+ 28 - 3
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/expense/OaExpenseMapper.java

@@ -1,10 +1,12 @@
 package cn.iocoder.yudao.module.bpm.dal.mysql.oa.expense;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.expense.vo.OaExpensePageReqVO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.expense.OaExpenseDO;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -16,7 +18,7 @@ import org.apache.ibatis.annotations.Mapper;
 public interface OaExpenseMapper extends BaseMapperX<OaExpenseDO> {
 
     default PageResult<OaExpenseDO> selectPage(OaExpensePageReqVO reqVO) {
-        return selectPage(reqVO, new LambdaQueryWrapperX<OaExpenseDO>()
+        LambdaQueryWrapperX<OaExpenseDO> lambdaQueryWrapperX = new LambdaQueryWrapperX<OaExpenseDO>()
                 .likeIfPresent(OaExpenseDO::getEmployeeName, reqVO.getEmployeeName())
                 .likeIfPresent(OaExpenseDO::getEmployeePhone, reqVO.getEmployeePhone())
                 .eqIfPresent(OaExpenseDO::getDeptId, reqVO.getDeptId())
@@ -25,7 +27,30 @@ public interface OaExpenseMapper extends BaseMapperX<OaExpenseDO> {
                 .eqIfPresent(OaExpenseDO::getAuditStatus, reqVO.getAuditStatus())
                 .likeIfPresent(OaExpenseDO::getApplyEmployeeName, reqVO.getApplyEmployeeName())
                 .betweenIfPresent(OaExpenseDO::getCreateTime, reqVO.getCreateTime())
-                .orderByDesc(OaExpenseDO::getId));
+                .orderByDesc(OaExpenseDO::getId);
+        // 数据权限
+        DeptDataPermissionRespDTO deptDataPermission = reqVO.getDeptDataPermission();
+        if (deptDataPermission != null) {
+            if (deptDataPermission.getAll()) {
+                // 全部数据权限
+            } else {
+                if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds()) && deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.and(wrapper ->
+                            wrapper.in(OaExpenseDO::getDeptId, deptDataPermission.getDeptIds()))
+                            .or(wrapper -> wrapper.eq(OaExpenseDO::getCreator, reqVO.getUserId()));
+                } else if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds())) {
+                    lambdaQueryWrapperX.in(OaExpenseDO::getCreator, deptDataPermission.getDeptIds());
+                } else if (deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.eq(OaExpenseDO::getCreator, reqVO.getUserId());
+                } else {
+                    return PageResult.empty();
+                }
+            }
+        } else {
+            return PageResult.empty();
+        }
+        return selectPage(reqVO, lambdaQueryWrapperX);
+
     }
 
 }

+ 28 - 3
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/leave/OaLeaveMapper.java

@@ -1,10 +1,12 @@
 package cn.iocoder.yudao.module.bpm.dal.mysql.oa.leave;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.leave.vo.OaLeavePageReqVO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.leave.OaLeaveDO;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -16,7 +18,7 @@ import org.apache.ibatis.annotations.Mapper;
 public interface OaLeaveMapper extends BaseMapperX<OaLeaveDO> {
 
     default PageResult<OaLeaveDO> selectPage(OaLeavePageReqVO reqVO) {
-        return selectPage(reqVO, new LambdaQueryWrapperX<OaLeaveDO>()
+        LambdaQueryWrapperX<OaLeaveDO> lambdaQueryWrapperX = new LambdaQueryWrapperX<OaLeaveDO>()
                 .likeIfPresent(OaLeaveDO::getEmployeeName, reqVO.getEmployeeName())
                 .likeIfPresent(OaLeaveDO::getEmployeePhone, reqVO.getEmployeePhone())
                 .eqIfPresent(OaLeaveDO::getDeptId, reqVO.getDeptId())
@@ -26,7 +28,30 @@ public interface OaLeaveMapper extends BaseMapperX<OaLeaveDO> {
                 .betweenIfPresent(OaLeaveDO::getEndDate, reqVO.getEndDate())
                 .eqIfPresent(OaLeaveDO::getAuditStatus, reqVO.getAuditStatus())
                 .betweenIfPresent(OaLeaveDO::getCreateTime, reqVO.getCreateTime())
-                .orderByDesc(OaLeaveDO::getId));
+                .orderByDesc(OaLeaveDO::getId);
+        // 数据权限
+        DeptDataPermissionRespDTO deptDataPermission = reqVO.getDeptDataPermission();
+        if (deptDataPermission != null) {
+            if (deptDataPermission.getAll()) {
+                // 全部数据权限
+            } else {
+                if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds()) && deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.and(wrapper ->
+                            wrapper.in(OaLeaveDO::getDeptId, deptDataPermission.getDeptIds()))
+                            .or(wrapper -> wrapper.eq(OaLeaveDO::getCreator, reqVO.getUserId()));
+                } else if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds())) {
+                    lambdaQueryWrapperX.in(OaLeaveDO::getCreator, deptDataPermission.getDeptIds());
+                } else if (deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.eq(OaLeaveDO::getCreator, reqVO.getUserId());
+                } else {
+                    return PageResult.empty();
+                }
+            }
+        } else {
+            return PageResult.empty();
+        }
+        return selectPage(reqVO, lambdaQueryWrapperX);
+
     }
 
 }

+ 28 - 14
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/out/OaOutMapper.java

@@ -1,10 +1,12 @@
 package cn.iocoder.yudao.module.bpm.dal.mysql.oa.out;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.out.vo.OaOutPageReqVO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.out.OaOutDO;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -16,29 +18,41 @@ import org.apache.ibatis.annotations.Mapper;
 public interface OaOutMapper extends BaseMapperX<OaOutDO> {
 
     default PageResult<OaOutDO> selectPage(OaOutPageReqVO reqVO) {
-        return selectPage(reqVO, new LambdaQueryWrapperX<OaOutDO>()
-                .eqIfPresent(OaOutDO::getOutId, reqVO.getOutId())
-                .eqIfPresent(OaOutDO::getEmployeeId, reqVO.getEmployeeId())
+        LambdaQueryWrapperX<OaOutDO> lambdaQueryWrapperX = new LambdaQueryWrapperX<OaOutDO>()
                 .likeIfPresent(OaOutDO::getEmployeeName, reqVO.getEmployeeName())
                 .eqIfPresent(OaOutDO::getEmployeePhone, reqVO.getEmployeePhone())
                 .eqIfPresent(OaOutDO::getDeptId, reqVO.getDeptId())
                 .eqIfPresent(OaOutDO::getPostId, reqVO.getPostId())
-                .eqIfPresent(OaOutDO::getReason, reqVO.getReason())
                 .eqIfPresent(OaOutDO::getDestination, reqVO.getDestination())
                 .betweenIfPresent(OaOutDO::getStartDate, reqVO.getStartDate())
                 .betweenIfPresent(OaOutDO::getEndDate, reqVO.getEndDate())
-                .eqIfPresent(OaOutDO::getHour, reqVO.getHour())
-                .eqIfPresent(OaOutDO::getRemarks, reqVO.getRemarks())
-                .eqIfPresent(OaOutDO::getProcInstId, reqVO.getProcInstId())
                 .eqIfPresent(OaOutDO::getAuditStatus, reqVO.getAuditStatus())
-                .eqIfPresent(OaOutDO::getCurrentAuditEmployeeId, reqVO.getCurrentAuditEmployeeId())
-                .likeIfPresent(OaOutDO::getCurrentAuditEmployeeName, reqVO.getCurrentAuditEmployeeName())
-                .eqIfPresent(OaOutDO::getCurrentAuditUserId, reqVO.getCurrentAuditUserId())
-                .betweenIfPresent(OaOutDO::getFinalAuditDate, reqVO.getFinalAuditDate())
-                .eqIfPresent(OaOutDO::getApplyEmployeeId, reqVO.getApplyEmployeeId())
                 .likeIfPresent(OaOutDO::getApplyEmployeeName, reqVO.getApplyEmployeeName())
                 .betweenIfPresent(OaOutDO::getCreateTime, reqVO.getCreateTime())
-                .orderByDesc(OaOutDO::getId));
+                .orderByDesc(OaOutDO::getId);
+        // 数据权限
+        DeptDataPermissionRespDTO deptDataPermission = reqVO.getDeptDataPermission();
+        if (deptDataPermission != null) {
+            if (deptDataPermission.getAll()) {
+                // 全部数据权限
+            } else {
+                if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds()) && deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.and(wrapper ->
+                            wrapper.in(OaOutDO::getDeptId, deptDataPermission.getDeptIds()))
+                            .or(wrapper -> wrapper.eq(OaOutDO::getCreator, reqVO.getUserId()));
+                } else if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds())) {
+                    lambdaQueryWrapperX.in(OaOutDO::getCreator, deptDataPermission.getDeptIds());
+                } else if (deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.eq(OaOutDO::getCreator, reqVO.getUserId());
+                } else {
+                    return PageResult.empty();
+                }
+            }
+        } else {
+            return PageResult.empty();
+        }
+        return selectPage(reqVO, lambdaQueryWrapperX);
+
     }
 
 }

+ 28 - 3
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/purchase/OaPurchaseMapper.java

@@ -1,10 +1,12 @@
 package cn.iocoder.yudao.module.bpm.dal.mysql.oa.purchase;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.purchase.vo.OaPurchasePageReqVO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.purchase.OaPurchaseDO;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -16,7 +18,7 @@ import org.apache.ibatis.annotations.Mapper;
 public interface OaPurchaseMapper extends BaseMapperX<OaPurchaseDO> {
 
     default PageResult<OaPurchaseDO> selectPage(OaPurchasePageReqVO reqVO) {
-        return selectPage(reqVO, new LambdaQueryWrapperX<OaPurchaseDO>()
+        LambdaQueryWrapperX<OaPurchaseDO> lambdaQueryWrapperX = new LambdaQueryWrapperX<OaPurchaseDO>()
                 .likeIfPresent(OaPurchaseDO::getEmployeeName, reqVO.getEmployeeName())
                 .eqIfPresent(OaPurchaseDO::getEmployeePhone, reqVO.getEmployeePhone())
                 .eqIfPresent(OaPurchaseDO::getDeptId, reqVO.getDeptId())
@@ -25,7 +27,30 @@ public interface OaPurchaseMapper extends BaseMapperX<OaPurchaseDO> {
                 .eqIfPresent(OaPurchaseDO::getAuditStatus, reqVO.getAuditStatus())
                 .likeIfPresent(OaPurchaseDO::getApplyEmployeeName, reqVO.getApplyEmployeeName())
                 .betweenIfPresent(OaPurchaseDO::getCreateTime, reqVO.getCreateTime())
-                .orderByDesc(OaPurchaseDO::getId));
+                .orderByDesc(OaPurchaseDO::getId);
+        // 数据权限
+        DeptDataPermissionRespDTO deptDataPermission = reqVO.getDeptDataPermission();
+        if (deptDataPermission != null) {
+            if (deptDataPermission.getAll()) {
+                // 全部数据权限
+            } else {
+                if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds()) && deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.and(wrapper ->
+                            wrapper.in(OaPurchaseDO::getDeptId, deptDataPermission.getDeptIds()))
+                            .or(wrapper -> wrapper.eq(OaPurchaseDO::getCreator, reqVO.getUserId()));
+                } else if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds())) {
+                    lambdaQueryWrapperX.in(OaPurchaseDO::getCreator, deptDataPermission.getDeptIds());
+                } else if (deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.eq(OaPurchaseDO::getCreator, reqVO.getUserId());
+                } else {
+                    return PageResult.empty();
+                }
+            }
+        } else {
+            return PageResult.empty();
+        }
+        return selectPage(reqVO, lambdaQueryWrapperX);
+
     }
 
 }

+ 28 - 10
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/receive/OaReceiveMapper.java

@@ -1,10 +1,12 @@
 package cn.iocoder.yudao.module.bpm.dal.mysql.oa.receive;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.receive.vo.OaReceivePageReqVO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.receive.OaReceiveDO;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -16,23 +18,39 @@ import org.apache.ibatis.annotations.Mapper;
 public interface OaReceiveMapper extends BaseMapperX<OaReceiveDO> {
 
     default PageResult<OaReceiveDO> selectPage(OaReceivePageReqVO reqVO) {
-        return selectPage(reqVO, new LambdaQueryWrapperX<OaReceiveDO>()
-                .eqIfPresent(OaReceiveDO::getEmployeeId, reqVO.getEmployeeId())
+        LambdaQueryWrapperX<OaReceiveDO> lambdaQueryWrapperX = new LambdaQueryWrapperX<OaReceiveDO>()
                 .likeIfPresent(OaReceiveDO::getEmployeeName, reqVO.getEmployeeName())
                 .eqIfPresent(OaReceiveDO::getEmployeePhone, reqVO.getEmployeePhone())
                 .eqIfPresent(OaReceiveDO::getDeptId, reqVO.getDeptId())
                 .eqIfPresent(OaReceiveDO::getPostId, reqVO.getPostId())
                 .betweenIfPresent(OaReceiveDO::getReceiveDate, reqVO.getReceiveDate())
-                .eqIfPresent(OaReceiveDO::getProcInstId, reqVO.getProcInstId())
                 .eqIfPresent(OaReceiveDO::getAuditStatus, reqVO.getAuditStatus())
-                .eqIfPresent(OaReceiveDO::getCurrentAuditEmployeeId, reqVO.getCurrentAuditEmployeeId())
-                .likeIfPresent(OaReceiveDO::getCurrentAuditEmployeeName, reqVO.getCurrentAuditEmployeeName())
-                .eqIfPresent(OaReceiveDO::getCurrentAuditUserId, reqVO.getCurrentAuditUserId())
-                .betweenIfPresent(OaReceiveDO::getFinalAuditDate, reqVO.getFinalAuditDate())
-                .eqIfPresent(OaReceiveDO::getApplyEmployeeId, reqVO.getApplyEmployeeId())
                 .likeIfPresent(OaReceiveDO::getApplyEmployeeName, reqVO.getApplyEmployeeName())
                 .betweenIfPresent(OaReceiveDO::getCreateTime, reqVO.getCreateTime())
-                .orderByDesc(OaReceiveDO::getId));
+                .orderByDesc(OaReceiveDO::getId);
+        // 数据权限
+        DeptDataPermissionRespDTO deptDataPermission = reqVO.getDeptDataPermission();
+        if (deptDataPermission != null) {
+            if (deptDataPermission.getAll()) {
+                // 全部数据权限
+            } else {
+                if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds()) && deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.and(wrapper ->
+                            wrapper.in(OaReceiveDO::getDeptId, deptDataPermission.getDeptIds()))
+                            .or(wrapper -> wrapper.eq(OaReceiveDO::getCreator, reqVO.getUserId()));
+                } else if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds())) {
+                    lambdaQueryWrapperX.in(OaReceiveDO::getCreator, deptDataPermission.getDeptIds());
+                } else if (deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.eq(OaReceiveDO::getCreator, reqVO.getUserId());
+                } else {
+                    return PageResult.empty();
+                }
+            }
+        } else {
+            return PageResult.empty();
+        }
+        return selectPage(reqVO, lambdaQueryWrapperX);
+
     }
 
 }

+ 28 - 3
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/renew/OaRenewMapper.java

@@ -1,10 +1,12 @@
 package cn.iocoder.yudao.module.bpm.dal.mysql.oa.renew;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.renew.vo.OaRenewPageReqVO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.renew.OaRenewDO;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -16,7 +18,7 @@ import org.apache.ibatis.annotations.Mapper;
 public interface OaRenewMapper extends BaseMapperX<OaRenewDO> {
 
     default PageResult<OaRenewDO> selectPage(OaRenewPageReqVO reqVO) {
-        return selectPage(reqVO, new LambdaQueryWrapperX<OaRenewDO>()
+        LambdaQueryWrapperX<OaRenewDO> lambdaQueryWrapperX = new LambdaQueryWrapperX<OaRenewDO>()
                 .likeIfPresent(OaRenewDO::getEmployeeName, reqVO.getEmployeeName())
                 .likeIfPresent(OaRenewDO::getEmployeePhone, reqVO.getEmployeePhone())
                 .eqIfPresent(OaRenewDO::getDeptId, reqVO.getDeptId())
@@ -26,7 +28,30 @@ public interface OaRenewMapper extends BaseMapperX<OaRenewDO> {
                 .eqIfPresent(OaRenewDO::getAuditStatus, reqVO.getAuditStatus())
                 .likeIfPresent(OaRenewDO::getApplyEmployeeName, reqVO.getApplyEmployeeName())
                 .betweenIfPresent(OaRenewDO::getCreateTime, reqVO.getCreateTime())
-                .orderByDesc(OaRenewDO::getId));
+                .orderByDesc(OaRenewDO::getId);
+        // 数据权限
+        DeptDataPermissionRespDTO deptDataPermission = reqVO.getDeptDataPermission();
+        if (deptDataPermission != null) {
+            if (deptDataPermission.getAll()) {
+                // 全部数据权限
+            } else {
+                if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds()) && deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.and(wrapper ->
+                            wrapper.in(OaRenewDO::getDeptId, deptDataPermission.getDeptIds()))
+                            .or(wrapper -> wrapper.eq(OaRenewDO::getCreator, reqVO.getUserId()));
+                } else if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds())) {
+                    lambdaQueryWrapperX.in(OaRenewDO::getCreator, deptDataPermission.getDeptIds());
+                } else if (deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.eq(OaRenewDO::getCreator, reqVO.getUserId());
+                } else {
+                    return PageResult.empty();
+                }
+            }
+        } else {
+            return PageResult.empty();
+        }
+        return selectPage(reqVO, lambdaQueryWrapperX);
+
     }
 
 }

+ 28 - 3
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/stamp/OaStampMapper.java

@@ -1,10 +1,12 @@
 package cn.iocoder.yudao.module.bpm.dal.mysql.oa.stamp;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.stamp.vo.OaStampPageReqVO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.stamp.OaStampDO;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -16,7 +18,7 @@ import org.apache.ibatis.annotations.Mapper;
 public interface OaStampMapper extends BaseMapperX<OaStampDO> {
 
     default PageResult<OaStampDO> selectPage(OaStampPageReqVO reqVO) {
-        return selectPage(reqVO, new LambdaQueryWrapperX<OaStampDO>()
+        LambdaQueryWrapperX<OaStampDO> lambdaQueryWrapperX = new LambdaQueryWrapperX<OaStampDO>()
                 .likeIfPresent(OaStampDO::getEmployeeName, reqVO.getEmployeeName())
                 .likeIfPresent(OaStampDO::getEmployeePhone, reqVO.getEmployeePhone())
                 .eqIfPresent(OaStampDO::getDeptId, reqVO.getDeptId())
@@ -25,7 +27,30 @@ public interface OaStampMapper extends BaseMapperX<OaStampDO> {
                 .eqIfPresent(OaStampDO::getAuditStatus, reqVO.getAuditStatus())
                 .likeIfPresent(OaStampDO::getApplyEmployeeName, reqVO.getApplyEmployeeName())
                 .betweenIfPresent(OaStampDO::getCreateTime, reqVO.getCreateTime())
-                .orderByDesc(OaStampDO::getId));
+                .orderByDesc(OaStampDO::getId);
+        // 数据权限
+        DeptDataPermissionRespDTO deptDataPermission = reqVO.getDeptDataPermission();
+        if (deptDataPermission != null) {
+            if (deptDataPermission.getAll()) {
+                // 全部数据权限
+            } else {
+                if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds()) && deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.and(wrapper ->
+                            wrapper.in(OaStampDO::getDeptId, deptDataPermission.getDeptIds()))
+                            .or(wrapper -> wrapper.eq(OaStampDO::getCreator, reqVO.getUserId()));
+                } else if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds())) {
+                    lambdaQueryWrapperX.in(OaStampDO::getCreator, deptDataPermission.getDeptIds());
+                } else if (deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.eq(OaStampDO::getCreator, reqVO.getUserId());
+                } else {
+                    return PageResult.empty();
+                }
+            }
+        } else {
+            return PageResult.empty();
+        }
+        return selectPage(reqVO, lambdaQueryWrapperX);
+
     }
 
 }

+ 28 - 3
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/turnover/OaTurnOverMapper.java

@@ -1,10 +1,12 @@
 package cn.iocoder.yudao.module.bpm.dal.mysql.oa.turnover;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.turnover.vo.OaTurnoverPageReqVO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.turnover.OaTurnoverDO;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -16,7 +18,7 @@ import org.apache.ibatis.annotations.Mapper;
 public interface OaTurnOverMapper extends BaseMapperX<OaTurnoverDO> {
 
     default PageResult<OaTurnoverDO> selectPage(OaTurnoverPageReqVO reqVO) {
-        return selectPage(reqVO, new LambdaQueryWrapperX<OaTurnoverDO>()
+        LambdaQueryWrapperX<OaTurnoverDO> lambdaQueryWrapperX = new LambdaQueryWrapperX<OaTurnoverDO>()
                 .likeIfPresent(OaTurnoverDO::getEmployeeName, reqVO.getEmployeeName())
                 .likeIfPresent(OaTurnoverDO::getEmployeePhone, reqVO.getEmployeePhone())
                 .eqIfPresent(OaTurnoverDO::getDeptId, reqVO.getDeptId())
@@ -25,7 +27,30 @@ public interface OaTurnOverMapper extends BaseMapperX<OaTurnoverDO> {
                 .eqIfPresent(OaTurnoverDO::getAuditStatus, reqVO.getAuditStatus())
                 .likeIfPresent(OaTurnoverDO::getApplyEmployeeName, reqVO.getApplyEmployeeName())
                 .betweenIfPresent(OaTurnoverDO::getCreateTime, reqVO.getCreateTime())
-                .orderByDesc(OaTurnoverDO::getId));
+                .orderByDesc(OaTurnoverDO::getId);
+        // 数据权限
+        DeptDataPermissionRespDTO deptDataPermission = reqVO.getDeptDataPermission();
+        if (deptDataPermission != null) {
+            if (deptDataPermission.getAll()) {
+                // 全部数据权限
+            } else {
+                if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds()) && deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.and(wrapper ->
+                            wrapper.in(OaTurnoverDO::getDeptId, deptDataPermission.getDeptIds()))
+                            .or(wrapper -> wrapper.eq(OaTurnoverDO::getCreator, reqVO.getUserId()));
+                } else if (CollUtil.isNotEmpty(deptDataPermission.getDeptIds())) {
+                    lambdaQueryWrapperX.in(OaTurnoverDO::getCreator, deptDataPermission.getDeptIds());
+                } else if (deptDataPermission.getSelf()) {
+                    lambdaQueryWrapperX.eq(OaTurnoverDO::getCreator, reqVO.getUserId());
+                } else {
+                    return PageResult.empty();
+                }
+            }
+        } else {
+            return PageResult.empty();
+        }
+        return selectPage(reqVO, lambdaQueryWrapperX);
+
     }
 
 }

+ 13 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/business/OaBusinessServiceImpl.java

@@ -38,6 +38,8 @@ import cn.iocoder.yudao.module.system.api.dept.PostApi;
 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
 import cn.iocoder.yudao.module.system.api.dept.dto.PostRespDTO;
 import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi;
+import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import org.apache.commons.lang3.StringUtils;
@@ -104,6 +106,9 @@ public class OaBusinessServiceImpl implements OaBusinessService {
     @Resource
     private NotifyMessageSendApi notifyMessageSendApi;
 
+    @Resource
+    private PermissionApi permissionApi;
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -137,7 +142,7 @@ public class OaBusinessServiceImpl implements OaBusinessService {
         oaBusiness.setInfoSource("0");
         oaBusiness.setApplyEmployeeId(loginEmployee.getId());
         oaBusiness.setApplyEmployeeName(loginEmployee.getName());
-        oaBusiness.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaBusiness.setCreator(String.valueOf(loginEmployee.getId()));
         // 暂存不保存审批人信息
         oaBusiness.setStartUserSelectAssignees(null);
         // 连续暂存,回显时前端会直接显示上次缓存的数据,会让用户认为第一次暂存没保存审批人,第二次却保存了
@@ -200,7 +205,7 @@ public class OaBusinessServiceImpl implements OaBusinessService {
         oaBusiness.setInfoSource("0");
         oaBusiness.setApplyEmployeeId(loginEmployee.getId());
         oaBusiness.setApplyEmployeeName(loginEmployee.getName());
-        oaBusiness.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaBusiness.setCreator(String.valueOf(loginEmployee.getId()));
         // 保存或更新表单信息
         if (oaBusiness.getId() == null) {
             oaBusinessMapper.insert(oaBusiness);
@@ -744,6 +749,12 @@ public class OaBusinessServiceImpl implements OaBusinessService {
 
     @Override
     public PageResult<OaBusinessRespVO> getOaBusinessPage(OaBusinessPageReqVO pageReqVO) {
+        // 数据权限
+        Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
+        DeptDataPermissionRespDTO deptDataPermission = permissionApi.getDeptDataPermission(loginUserId);
+        pageReqVO.setDeptDataPermission(deptDataPermission);
+        pageReqVO.setUserId(loginUserId);
+
         PageResult<OaBusinessDO> oaBusinessDOPageResult = oaBusinessMapper.selectPage(pageReqVO);
         PageResult<OaBusinessRespVO> oaBusinessRespVOPageResult = BeanUtils.toBean(oaBusinessDOPageResult, OaBusinessRespVO.class);
 

+ 13 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/conversion/OaConversionServiceImpl.java

@@ -38,6 +38,8 @@ import cn.iocoder.yudao.module.system.api.dept.PostApi;
 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
 import cn.iocoder.yudao.module.system.api.dept.dto.PostRespDTO;
 import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi;
+import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import org.apache.commons.lang3.StringUtils;
@@ -106,6 +108,9 @@ public class OaConversionServiceImpl implements OaConversionService {
     @Resource
     private NotifyMessageSendApi notifyMessageSendApi;
 
+    @Resource
+    private PermissionApi permissionApi;
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -150,7 +155,7 @@ public class OaConversionServiceImpl implements OaConversionService {
         oaConversion.setInfoSource("0");
         oaConversion.setApplyEmployeeId(loginEmployee.getId());
         oaConversion.setApplyEmployeeName(loginEmployee.getName());
-        oaConversion.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaConversion.setCreator(String.valueOf(loginEmployee.getId()));
         // 暂存不保存审批人信息
         oaConversion.setStartUserSelectAssignees(null);
         // 连续暂存,回显时前端会直接显示上次缓存的数据,会让用户认为第一次暂存没保存审批人,第二次却保存了
@@ -225,7 +230,7 @@ public class OaConversionServiceImpl implements OaConversionService {
         oaConversion.setInfoSource("0");
         oaConversion.setApplyEmployeeId(loginEmployee.getId());
         oaConversion.setApplyEmployeeName(loginEmployee.getName());
-        oaConversion.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaConversion.setCreator(String.valueOf(loginEmployee.getId()));
         // 保存或更新表单信息
         if (oaConversion.getId() == null) {
             oaConversionMapper.insert(oaConversion);
@@ -784,6 +789,12 @@ public class OaConversionServiceImpl implements OaConversionService {
 
     @Override
     public PageResult<OaConversionRespVO> getOaConversionPage(OaConversionPageReqVO pageReqVO) {
+        // 数据权限
+        Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
+        DeptDataPermissionRespDTO deptDataPermission = permissionApi.getDeptDataPermission(loginUserId);
+        pageReqVO.setDeptDataPermission(deptDataPermission);
+        pageReqVO.setUserId(loginUserId);
+
         PageResult<OaConversionDO> oaConversionDOPageResult = oaConversionMapper.selectPage(pageReqVO);
         PageResult<OaConversionRespVO> oaConversionRespVOPageResult = BeanUtils.toBean(oaConversionDOPageResult, OaConversionRespVO.class);
 

+ 13 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/entry/OaEntryServiceImpl.java

@@ -40,6 +40,8 @@ import cn.iocoder.yudao.module.system.api.dept.dto.PostRespDTO;
 import cn.iocoder.yudao.module.system.api.dicttenant.DictDataTenantApi;
 import cn.iocoder.yudao.module.system.api.dicttenant.dto.DictDataTenantRespDTO;
 import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi;
+import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import cn.iocoder.yudao.module.system.enums.dicttenant.DictTypeTenantEnum;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -110,6 +112,9 @@ public class OaEntryServiceImpl implements OaEntryService {
     @Resource
     private DictDataTenantApi dictDataTenantApi;
 
+    @Resource
+    private PermissionApi permissionApi;
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -132,7 +137,7 @@ public class OaEntryServiceImpl implements OaEntryService {
         oaEntry.setInfoSource("0");
         oaEntry.setApplyEmployeeId(loginEmployee.getId());
         oaEntry.setApplyEmployeeName(loginEmployee.getName());
-        oaEntry.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaEntry.setCreator(String.valueOf(loginEmployee.getId()));
         // 暂存不保存审批人信息
         oaEntry.setStartUserSelectAssignees(null);
         // 连续暂存,回显时前端会直接显示上次缓存的数据,会让用户认为第一次暂存没保存审批人,第二次却保存了
@@ -185,7 +190,7 @@ public class OaEntryServiceImpl implements OaEntryService {
         oaEntry.setInfoSource("0");
         oaEntry.setApplyEmployeeId(loginEmployee.getId());
         oaEntry.setApplyEmployeeName(loginEmployee.getName());
-        oaEntry.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaEntry.setCreator(String.valueOf(loginEmployee.getId()));
         // 保存或更新表单信息
         if (oaEntry.getId() == null) {
             oaEntryMapper.insert(oaEntry);
@@ -695,6 +700,12 @@ public class OaEntryServiceImpl implements OaEntryService {
 
     @Override
     public PageResult<OaEntryRespVO> getOaEntryPage(OaEntryPageReqVO pageReqVO) {
+        // 数据权限
+        Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
+        DeptDataPermissionRespDTO deptDataPermission = permissionApi.getDeptDataPermission(loginUserId);
+        pageReqVO.setDeptDataPermission(deptDataPermission);
+        pageReqVO.setUserId(loginUserId);
+
         PageResult<OaEntryDO> oaEntryDOPageResult = oaEntryMapper.selectPage(pageReqVO);
         PageResult<OaEntryRespVO> oaEntryRespVOPageResult = BeanUtils.toBean(oaEntryDOPageResult, OaEntryRespVO.class);
 

+ 13 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/expense/OaExpenseServiceImpl.java

@@ -45,6 +45,8 @@ import cn.iocoder.yudao.module.system.api.dept.PostApi;
 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
 import cn.iocoder.yudao.module.system.api.dept.dto.PostRespDTO;
 import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi;
+import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import org.apache.commons.lang3.StringUtils;
@@ -127,6 +129,9 @@ public class OaExpenseServiceImpl implements OaExpenseService {
     @Resource
     private NotifyMessageSendApi notifyMessageSendApi;
 
+    @Resource
+    private PermissionApi permissionApi;
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -156,7 +161,7 @@ public class OaExpenseServiceImpl implements OaExpenseService {
         oaExpense.setInfoSource("0");
         oaExpense.setApplyEmployeeId(loginEmployee.getId());
         oaExpense.setApplyEmployeeName(loginEmployee.getName());
-        oaExpense.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaExpense.setCreator(String.valueOf(loginEmployee.getId()));
         // 暂存不保存审批人信息
         oaExpense.setStartUserSelectAssignees(null);
         // 连续暂存,回显时前端会直接显示上次缓存的数据,会让用户认为第一次暂存没保存审批人,第二次却保存了
@@ -224,7 +229,7 @@ public class OaExpenseServiceImpl implements OaExpenseService {
         oaExpense.setInfoSource("0");
         oaExpense.setApplyEmployeeId(loginEmployee.getId());
         oaExpense.setApplyEmployeeName(loginEmployee.getName());
-        oaExpense.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaExpense.setCreator(String.valueOf(loginEmployee.getId()));
 
         // 子表信息
         List<OaExpenseObjDO> oaExpenseObjs = commitReqVO.getOaExpenseObjs();
@@ -848,6 +853,12 @@ public class OaExpenseServiceImpl implements OaExpenseService {
 
     @Override
     public PageResult<OaExpenseRespVO> getOaExpensePage(OaExpensePageReqVO pageReqVO) {
+        // 数据权限
+        Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
+        DeptDataPermissionRespDTO deptDataPermission = permissionApi.getDeptDataPermission(loginUserId);
+        pageReqVO.setDeptDataPermission(deptDataPermission);
+        pageReqVO.setUserId(loginUserId);
+
         PageResult<OaExpenseDO> oaExpenseDOPageResult = oaExpenseMapper.selectPage(pageReqVO);
         PageResult<OaExpenseRespVO> oaExpenseRespVOPageResult = BeanUtils.toBean(oaExpenseDOPageResult, OaExpenseRespVO.class);
 

+ 13 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/leave/OaLeaveServiceImpl.java

@@ -40,6 +40,8 @@ import cn.iocoder.yudao.module.system.api.dept.dto.PostRespDTO;
 import cn.iocoder.yudao.module.system.api.dicttenant.DictDataTenantApi;
 import cn.iocoder.yudao.module.system.api.dicttenant.dto.DictDataTenantRespDTO;
 import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi;
+import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import cn.iocoder.yudao.module.system.enums.dicttenant.DictTypeTenantEnum;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -114,6 +116,9 @@ public class OaLeaveServiceImpl implements OaLeaveService {
     @Resource
     private DictDataTenantApi dictDataTenantApi;
 
+    @Resource
+    private PermissionApi permissionApi;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Long stagingOaLeave(OaLeaveSaveReqVO stagingReqVO) {
@@ -143,7 +148,7 @@ public class OaLeaveServiceImpl implements OaLeaveService {
         oaLeave.setInfoSource("0");
         oaLeave.setApplyEmployeeId(loginEmployee.getId());
         oaLeave.setApplyEmployeeName(loginEmployee.getName());
-        oaLeave.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaLeave.setCreator(String.valueOf(loginEmployee.getId()));
         // 暂存不保存审批人信息
         oaLeave.setStartUserSelectAssignees(null);
         // 连续暂存,回显时前端会直接显示上次缓存的数据,会让用户认为第一次暂存没保存审批人,第二次却保存了
@@ -214,7 +219,7 @@ public class OaLeaveServiceImpl implements OaLeaveService {
         oaLeave.setInfoSource("0");
         oaLeave.setApplyEmployeeId(loginEmployee.getId());
         oaLeave.setApplyEmployeeName(loginEmployee.getName());
-        oaLeave.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaLeave.setCreator(String.valueOf(loginEmployee.getId()));
         // 保存或更新表单信息
         if (oaLeave.getId() == null) {
             oaLeaveMapper.insert(oaLeave);
@@ -811,6 +816,12 @@ public class OaLeaveServiceImpl implements OaLeaveService {
 
     @Override
     public PageResult<OaLeaveRespVO> getOaLeavePage(OaLeavePageReqVO pageReqVO) {
+        // 数据权限
+        Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
+        DeptDataPermissionRespDTO deptDataPermission = permissionApi.getDeptDataPermission(loginUserId);
+        pageReqVO.setDeptDataPermission(deptDataPermission);
+        pageReqVO.setUserId(loginUserId);
+
         PageResult<OaLeaveDO> oaLeaveDOPageResult = oaLeaveMapper.selectPage(pageReqVO);
         PageResult<OaLeaveRespVO> oaLeaveRespVOPageResult = BeanUtils.toBean(oaLeaveDOPageResult, OaLeaveRespVO.class);
 

+ 13 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/out/OaOutServiceImpl.java

@@ -38,6 +38,8 @@ import cn.iocoder.yudao.module.system.api.dept.PostApi;
 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
 import cn.iocoder.yudao.module.system.api.dept.dto.PostRespDTO;
 import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi;
+import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import org.apache.commons.lang3.StringUtils;
@@ -105,6 +107,9 @@ public class OaOutServiceImpl implements OaOutService {
     @Resource
     private NotifyMessageSendApi notifyMessageSendApi;
 
+    @Resource
+    private PermissionApi permissionApi;
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -134,7 +139,7 @@ public class OaOutServiceImpl implements OaOutService {
         oaOut.setInfoSource("0");
         oaOut.setApplyEmployeeId(loginEmployee.getId());
         oaOut.setApplyEmployeeName(loginEmployee.getName());
-        oaOut.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaOut.setCreator(String.valueOf(loginEmployee.getId()));
         // 暂存不保存审批人信息
         oaOut.setStartUserSelectAssignees(null);
         // 连续暂存,回显时前端会直接显示上次缓存的数据,会让用户认为第一次暂存没保存审批人,第二次却保存了
@@ -195,7 +200,7 @@ public class OaOutServiceImpl implements OaOutService {
         oaOut.setInfoSource("0");
         oaOut.setApplyEmployeeId(loginEmployee.getId());
         oaOut.setApplyEmployeeName(loginEmployee.getName());
-        oaOut.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaOut.setCreator(String.valueOf(loginEmployee.getId()));
         // 保存或更新表单信息
         if (oaOut.getId() == null) {
             oaOutMapper.insert(oaOut);
@@ -742,6 +747,12 @@ public class OaOutServiceImpl implements OaOutService {
 
     @Override
     public PageResult<OaOutRespVO> getOaOutPage(OaOutPageReqVO pageReqVO) {
+        // 数据权限
+        Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
+        DeptDataPermissionRespDTO deptDataPermission = permissionApi.getDeptDataPermission(loginUserId);
+        pageReqVO.setDeptDataPermission(deptDataPermission);
+        pageReqVO.setUserId(loginUserId);
+
         PageResult<OaOutDO> oaOutDOPageResult = oaOutMapper.selectPage(pageReqVO);
         PageResult<OaOutRespVO> oaOutRespVOPageResult = BeanUtils.toBean(oaOutDOPageResult, OaOutRespVO.class);
 

+ 13 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/purchase/OaPurchaseServiceImpl.java

@@ -37,6 +37,8 @@ import cn.iocoder.yudao.module.system.api.dept.PostApi;
 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
 import cn.iocoder.yudao.module.system.api.dept.dto.PostRespDTO;
 import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi;
+import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import org.apache.commons.lang3.StringUtils;
@@ -104,6 +106,9 @@ public class OaPurchaseServiceImpl implements OaPurchaseService {
     @Resource
     private NotifyMessageSendApi notifyMessageSendApi;
 
+    @Resource
+    private PermissionApi permissionApi;
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -133,7 +138,7 @@ public class OaPurchaseServiceImpl implements OaPurchaseService {
         oaPurchase.setInfoSource("0");
         oaPurchase.setApplyEmployeeId(loginEmployee.getId());
         oaPurchase.setApplyEmployeeName(loginEmployee.getName());
-        oaPurchase.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaPurchase.setCreator(String.valueOf(loginEmployee.getId()));
         // 暂存不保存审批人信息
         oaPurchase.setStartUserSelectAssignees(null);
         // 连续暂存,回显时前端会直接显示上次缓存的数据,会让用户认为第一次暂存没保存审批人,第二次却保存了
@@ -201,7 +206,7 @@ public class OaPurchaseServiceImpl implements OaPurchaseService {
         oaPurchase.setInfoSource("0");
         oaPurchase.setApplyEmployeeId(loginEmployee.getId());
         oaPurchase.setApplyEmployeeName(loginEmployee.getName());
-        oaPurchase.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaPurchase.setCreator(String.valueOf(loginEmployee.getId()));
 
         // 子表信息
         List<OaPurchaseObjDO> oaPurchaseObjs = commitReqVO.getOaPurchaseObjs();
@@ -773,6 +778,12 @@ public class OaPurchaseServiceImpl implements OaPurchaseService {
 
     @Override
     public PageResult<OaPurchaseRespVO> getOaPurchasePage(OaPurchasePageReqVO pageReqVO) {
+        // 数据权限
+        Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
+        DeptDataPermissionRespDTO deptDataPermission = permissionApi.getDeptDataPermission(loginUserId);
+        pageReqVO.setDeptDataPermission(deptDataPermission);
+        pageReqVO.setUserId(loginUserId);
+
         PageResult<OaPurchaseDO> oaPurchaseDOPageResult = oaPurchaseMapper.selectPage(pageReqVO);
         PageResult<OaPurchaseRespVO> oaPurchaseRespVOPageResult = BeanUtils.toBean(oaPurchaseDOPageResult, OaPurchaseRespVO.class);
 

+ 13 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/receive/OaReceiveServiceImpl.java

@@ -37,6 +37,8 @@ import cn.iocoder.yudao.module.system.api.dept.PostApi;
 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
 import cn.iocoder.yudao.module.system.api.dept.dto.PostRespDTO;
 import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi;
+import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import org.apache.commons.lang3.StringUtils;
@@ -105,6 +107,9 @@ public class OaReceiveServiceImpl implements OaReceiveService {
     @Resource
     private NotifyMessageSendApi notifyMessageSendApi;
 
+    @Resource
+    private PermissionApi permissionApi;
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -134,7 +139,7 @@ public class OaReceiveServiceImpl implements OaReceiveService {
         oaReceive.setInfoSource("0");
         oaReceive.setApplyEmployeeId(loginEmployee.getId());
         oaReceive.setApplyEmployeeName(loginEmployee.getName());
-        oaReceive.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaReceive.setCreator(String.valueOf(loginEmployee.getId()));
         // 暂存不保存审批人信息
         oaReceive.setStartUserSelectAssignees(null);
         // 连续暂存,回显时前端会直接显示上次缓存的数据,会让用户认为第一次暂存没保存审批人,第二次却保存了
@@ -207,7 +212,7 @@ public class OaReceiveServiceImpl implements OaReceiveService {
         oaReceive.setInfoSource("0");
         oaReceive.setApplyEmployeeId(loginEmployee.getId());
         oaReceive.setApplyEmployeeName(loginEmployee.getName());
-        oaReceive.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaReceive.setCreator(String.valueOf(loginEmployee.getId()));
 
         // 子表信息
         List<OaReceiveObjDO> oaReceiveObjs = commitReqVO.getOaReceiveObjs();
@@ -775,6 +780,12 @@ public class OaReceiveServiceImpl implements OaReceiveService {
 
     @Override
     public PageResult<OaReceiveRespVO> getOaReceivePage(OaReceivePageReqVO pageReqVO) {
+        // 数据权限
+        Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
+        DeptDataPermissionRespDTO deptDataPermission = permissionApi.getDeptDataPermission(loginUserId);
+        pageReqVO.setDeptDataPermission(deptDataPermission);
+        pageReqVO.setUserId(loginUserId);
+
         PageResult<OaReceiveDO> oaReceiveDOPageResult = oaReceiveMapper.selectPage(pageReqVO);
         PageResult<OaReceiveRespVO> oaReceiveRespVOPageResult = BeanUtils.toBean(oaReceiveDOPageResult, OaReceiveRespVO.class);
 

+ 13 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/renew/OaRenewServiceImpl.java

@@ -38,6 +38,8 @@ import cn.iocoder.yudao.module.system.api.dept.PostApi;
 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
 import cn.iocoder.yudao.module.system.api.dept.dto.PostRespDTO;
 import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi;
+import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import org.apache.commons.lang3.StringUtils;
@@ -107,6 +109,9 @@ public class OaRenewServiceImpl implements OaRenewService {
     @Resource
     private NotifyMessageSendApi notifyMessageSendApi;
 
+    @Resource
+    private PermissionApi permissionApi;
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -157,7 +162,7 @@ public class OaRenewServiceImpl implements OaRenewService {
         oaRenew.setInfoSource("0");
         oaRenew.setApplyEmployeeId(loginEmployee.getId());
         oaRenew.setApplyEmployeeName(loginEmployee.getName());
-        oaRenew.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaRenew.setCreator(String.valueOf(loginEmployee.getId()));
         // 暂存不保存审批人信息
         oaRenew.setStartUserSelectAssignees(null);
         // 连续暂存,回显时前端会直接显示上次缓存的数据,会让用户认为第一次暂存没保存审批人,第二次却保存了
@@ -240,7 +245,7 @@ public class OaRenewServiceImpl implements OaRenewService {
         oaRenew.setInfoSource("0");
         oaRenew.setApplyEmployeeId(loginEmployee.getId());
         oaRenew.setApplyEmployeeName(loginEmployee.getName());
-        oaRenew.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaRenew.setCreator(String.valueOf(loginEmployee.getId()));
         // 保存或更新表单信息
         if (oaRenew.getId() == null) {
             oaRenewMapper.insert(oaRenew);
@@ -805,6 +810,12 @@ public class OaRenewServiceImpl implements OaRenewService {
 
     @Override
     public PageResult<OaRenewRespVO> getOaRenewPage(OaRenewPageReqVO pageReqVO) {
+        // 数据权限
+        Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
+        DeptDataPermissionRespDTO deptDataPermission = permissionApi.getDeptDataPermission(loginUserId);
+        pageReqVO.setDeptDataPermission(deptDataPermission);
+        pageReqVO.setUserId(loginUserId);
+
         PageResult<OaRenewDO> oaRenewDOPageResult = oaRenewMapper.selectPage(pageReqVO);
         PageResult<OaRenewRespVO> oaRenewRespVOPageResult = BeanUtils.toBean(oaRenewDOPageResult, OaRenewRespVO.class);
 

+ 13 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/stamp/OaStampServiceImpl.java

@@ -38,6 +38,8 @@ import cn.iocoder.yudao.module.system.api.dept.PostApi;
 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
 import cn.iocoder.yudao.module.system.api.dept.dto.PostRespDTO;
 import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi;
+import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import org.apache.commons.lang3.StringUtils;
@@ -106,6 +108,9 @@ public class OaStampServiceImpl implements OaStampService {
     @Resource
     private NotifyMessageSendApi notifyMessageSendApi;
 
+    @Resource
+    private PermissionApi permissionApi;
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -135,7 +140,7 @@ public class OaStampServiceImpl implements OaStampService {
         oaStamp.setInfoSource("0");
         oaStamp.setApplyEmployeeId(loginEmployee.getId());
         oaStamp.setApplyEmployeeName(loginEmployee.getName());
-        oaStamp.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaStamp.setCreator(String.valueOf(loginEmployee.getId()));
         List<Long> stampSealId = stagingReqVO.getStampSealId();
         if (CollectionUtil.isNotEmpty(stampSealId)) {
             oaStamp.setStampSealId(stampSealId.stream().map(String::valueOf).collect(Collectors.joining(",")));
@@ -202,7 +207,7 @@ public class OaStampServiceImpl implements OaStampService {
         oaStamp.setInfoSource("0");
         oaStamp.setApplyEmployeeId(loginEmployee.getId());
         oaStamp.setApplyEmployeeName(loginEmployee.getName());
-        oaStamp.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaStamp.setCreator(String.valueOf(loginEmployee.getId()));
         List<Long> stampSealId = commitReqVO.getStampSealId();
         if (CollectionUtil.isNotEmpty(stampSealId)) {
             oaStamp.setStampSealId(stampSealId.stream().map(String::valueOf).collect(Collectors.joining(",")));
@@ -779,6 +784,12 @@ public class OaStampServiceImpl implements OaStampService {
 
     @Override
     public PageResult<OaStampRespVO> getOaStampPage(OaStampPageReqVO pageReqVO) {
+        // 数据权限
+        Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
+        DeptDataPermissionRespDTO deptDataPermission = permissionApi.getDeptDataPermission(loginUserId);
+        pageReqVO.setDeptDataPermission(deptDataPermission);
+        pageReqVO.setUserId(loginUserId);
+
         PageResult<OaStampDO> oaStampDOPageResult = oaStampMapper.selectPage(pageReqVO);
         PageResult<OaStampRespVO> oaStampRespVOPageResult = BeanUtils.toBean(oaStampDOPageResult, OaStampRespVO.class);
 

+ 13 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/turnover/OaTurnoverServiceImpl.java

@@ -40,6 +40,8 @@ import cn.iocoder.yudao.module.system.api.dept.dto.PostRespDTO;
 import cn.iocoder.yudao.module.system.api.dicttenant.DictDataTenantApi;
 import cn.iocoder.yudao.module.system.api.dicttenant.dto.DictDataTenantRespDTO;
 import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi;
+import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import cn.iocoder.yudao.module.system.enums.dicttenant.DictTypeTenantEnum;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -115,6 +117,9 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
     @Resource
     private DictDataTenantApi dictDataTenantApi;
 
+    @Resource
+    private PermissionApi permissionApi;
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -153,7 +158,7 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
         oaTurnover.setInfoSource("0");
         oaTurnover.setApplyEmployeeId(loginEmployee.getId());
         oaTurnover.setApplyEmployeeName(loginEmployee.getName());
-        oaTurnover.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaTurnover.setCreator(String.valueOf(loginEmployee.getId()));
         // 暂存不保存审批人信息
         oaTurnover.setStartUserSelectAssignees(null);
         // 连续暂存,回显时前端会直接显示上次缓存的数据,会让用户认为第一次暂存没保存审批人,第二次却保存了
@@ -222,7 +227,7 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
         oaTurnover.setInfoSource("0");
         oaTurnover.setApplyEmployeeId(loginEmployee.getId());
         oaTurnover.setApplyEmployeeName(loginEmployee.getName());
-        oaTurnover.setCreator(String.valueOf(loginEmployee.getId()));
+        // oaTurnover.setCreator(String.valueOf(loginEmployee.getId()));
         // 保存或更新表单信息
         if (oaTurnover.getId() == null) {
             oaTurnoverMapper.insert(oaTurnover);
@@ -782,6 +787,12 @@ public class OaTurnoverServiceImpl implements OaTurnoverService {
 
     @Override
     public PageResult<OaTurnoverRespVO> getOaTurnoverPage(OaTurnoverPageReqVO pageReqVO) {
+        // 数据权限
+        Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
+        DeptDataPermissionRespDTO deptDataPermission = permissionApi.getDeptDataPermission(loginUserId);
+        pageReqVO.setDeptDataPermission(deptDataPermission);
+        pageReqVO.setUserId(loginUserId);
+
         PageResult<OaTurnoverDO> oaTurnoverDOPageResult = oaTurnoverMapper.selectPage(pageReqVO);
         PageResult<OaTurnoverRespVO> oaTurnoverRespVOPageResult = BeanUtils.toBean(oaTurnoverDOPageResult, OaTurnoverRespVO.class);
 

+ 11 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/stamp/stampinfo/OaStampInfoServiceImpl.java

@@ -15,6 +15,8 @@ import cn.iocoder.yudao.module.employee.api.EmployeeApi;
 import cn.iocoder.yudao.module.employee.api.dto.EmployeeRespDTO;
 import cn.iocoder.yudao.module.infra.api.file.FileApi;
 import cn.iocoder.yudao.module.system.api.dept.PostApi;
+import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
+import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
@@ -53,6 +55,9 @@ public class OaStampInfoServiceImpl implements OaStampInfoService {
     @Resource
     private FileApi fileApi;
 
+    @Resource
+    private PermissionApi permissionApi;
+
     @Override
     public Long createOaStampInfo(OaStampInfoSaveReqVO createReqVO) {
         // 登录人
@@ -176,6 +181,12 @@ public class OaStampInfoServiceImpl implements OaStampInfoService {
 
     @Override
     public PageResult<OaStampInfoRespVO> getOaStampInfoPage(OaStampInfoPageReqVO pageReqVO) {
+        // 数据权限
+        Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
+        DeptDataPermissionRespDTO deptDataPermission = permissionApi.getDeptDataPermission(loginUserId);
+        pageReqVO.setDeptDataPermission(deptDataPermission);
+        pageReqVO.setUserId(loginUserId);
+
         pageReqVO.setPageNo((pageReqVO.getPageNo() - 1) * pageReqVO.getPageSize());
 
         long pageCount = oaStampInfoMapper.selectPageCount(pageReqVO);

+ 31 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/stamp/stampinfo/OaStampInfoMapper.xml

@@ -9,6 +9,35 @@
         文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
      -->
 
+    <sql id="deptDataPermission">
+        <choose>
+            <when test="page.deptDataPermission.all">
+                <!-- 全部数据权限 -->
+            </when>
+            <when test="page.deptDataPermission.deptIds != null and page.deptDataPermission.deptIds.size() > 0 and page.deptDataPermission.self">
+                AND (
+                si.dept_id IN
+                <foreach collection="page.deptDataPermission.deptIds" item="deptId" open="(" separator="," close=")">
+                    #{deptId}
+                </foreach>
+                OR si.creator = #{page.userId}
+                )
+            </when>
+            <when test="page.deptDataPermission.deptIds != null and page.deptDataPermission.deptIds.size() > 0">
+                AND si.dept_id IN
+                <foreach collection="page.deptDataPermission.deptIds" item="deptId" open="(" separator="," close=")">
+                    #{deptId}
+                </foreach>
+            </when>
+            <when test="page.deptDataPermission.self">
+                AND si.creator = #{page.userId}
+            </when>
+            <otherwise>
+                AND 1 = 2
+            </otherwise>
+        </choose>
+    </sql>
+
     <select id="selectPageCount" resultType="java.lang.Long">
         SELECT COUNT(si.id)
         FROM
@@ -42,6 +71,7 @@
         <if test="page.createTime != null and page.createTime.length > 0">
             AND si.create_time BETWEEN #{page.createTime[0]} AND #{page.createTime[1]}
         </if>
+        <include refid="deptDataPermission" />
     </select>
     <select id="selectPageList"
             resultType="cn.iocoder.yudao.module.bpm.controller.admin.stamp.stampinfo.vo.OaStampInfoRespVO">
@@ -94,6 +124,7 @@
         <if test="page.createTime != null and page.createTime.length > 0">
             AND si.create_time BETWEEN #{page.createTime[0]} AND #{page.createTime[1]}
         </if>
+        <include refid="deptDataPermission" />
         ORDER BY si.create_time DESC
         <if test="page.pageSize != -1">
             LIMIT #{page.pageNo}, #{page.pageSize}