|
@@ -1,5 +1,6 @@
|
|
|
package cn.iocoder.yudao.module.museums.controller.admin.specimenoutbound;
|
|
|
|
|
|
+import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
import javax.annotation.Resource;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
@@ -41,6 +42,8 @@ public class SpecimenOutboundController {
|
|
|
|
|
|
@Resource
|
|
|
private SpecimenOutboundService specimenOutboundService;
|
|
|
+ @Resource
|
|
|
+ private PermissionApi permissionApi;
|
|
|
|
|
|
@PostMapping("/create")
|
|
|
@Operation(summary = "创建标本出库申请")
|
|
@@ -59,14 +62,80 @@ public class SpecimenOutboundController {
|
|
|
}
|
|
|
|
|
|
|
|
|
- @PostMapping("/approveFirst")
|
|
|
- @Operation(summary = "一审通过")
|
|
|
- @PreAuthorize("@ss.hasPermission('museums:specimen-outbound:approveFirst')")
|
|
|
- public CommonResult<Void> approveFirstSpecimenOutbound(@RequestBody SpecimenOutboundApprovalReqVO req) {
|
|
|
- req.setApproveUsers(getLoginUserId()); // 获取操作员ID
|
|
|
+// @PostMapping("/approveFirst")
|
|
|
+// @Operation(summary = "一审通过")
|
|
|
+// @PreAuthorize("@ss.hasPermission('museums:specimen-outbound:approveFirst')")
|
|
|
+// public CommonResult<Void> approveFirstSpecimenOutbound(@RequestBody SpecimenOutboundApprovalReqVO req) {
|
|
|
+// req.setApproveUsers(getLoginUserId()); // 获取操作员ID
|
|
|
+//
|
|
|
+// req.setApprovalTime(LocalDateTime.now()); // 设置当前时间
|
|
|
+// req.setStatus(1); // 设置审批状态为一审通过
|
|
|
+// specimenOutboundService.updateStatus(req);
|
|
|
+// return success(null);
|
|
|
+// }
|
|
|
+// @PostMapping("/approveSecond")
|
|
|
+// @Operation(summary = "二审通过")
|
|
|
+// @PreAuthorize("@ss.hasPermission('museums:specimen-outbound:approveSecond')")
|
|
|
+// public CommonResult<Void> approveSecondSpecimenOutbound(@RequestBody SpecimenOutboundApprovalReqVO req) {
|
|
|
+// req.setTwoApproveUsers(getLoginUserId()); // 获取二审操作员ID
|
|
|
+// req.setTwoApprovalTime(LocalDateTime.now()); // 设置当前时间
|
|
|
+// req.setStatus(5); // 设置审批状态为二审通过
|
|
|
+// specimenOutboundService.updateStatus(req);
|
|
|
+// return success(null);
|
|
|
+// }
|
|
|
|
|
|
- req.setApprovalTime(LocalDateTime.now()); // 设置当前时间
|
|
|
- req.setStatus(1); // 设置审批状态为一审通过
|
|
|
+// @PostMapping("/approve")
|
|
|
+// @Operation(summary = "审批")
|
|
|
+// @PreAuthorize("@ss.hasPermission('museums:specimen-outbound:approve')")
|
|
|
+// public CommonResult<Void> approveSpecimenOutbound(@RequestBody SpecimenOutboundApprovalReqVO req) {
|
|
|
+// // 获取当前操作员ID
|
|
|
+// Long operatorId = getLoginUserId();
|
|
|
+// LocalDateTime now = LocalDateTime.now();
|
|
|
+//
|
|
|
+// // 验证审批类型
|
|
|
+// if (req.getStatus() == 1 || req.getStatus() == 2) {
|
|
|
+// // 一审逻辑
|
|
|
+// req.setApproveUsers(operatorId);
|
|
|
+// req.setApprovalTime(now);
|
|
|
+// } else if (req.getStatus() == 5 || req.getStatus() == 6) {
|
|
|
+// // 二审逻辑
|
|
|
+// req.setTwoApproveUsers(operatorId);
|
|
|
+// req.setTwoApprovalTime(now);
|
|
|
+// } else {
|
|
|
+// throw new IllegalArgumentException("无效的审批状态");
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 调用更新状态方法
|
|
|
+// specimenOutboundService.updateStatus(req);
|
|
|
+// return success(null);
|
|
|
+// }
|
|
|
+
|
|
|
+ @PostMapping("/approve")
|
|
|
+ @Operation(summary = "审批")
|
|
|
+ @PreAuthorize("@ss.hasPermission('museums:specimen-outbound:approve')")
|
|
|
+ public CommonResult<Void> approveSpecimenOutbound(@RequestBody SpecimenOutboundApprovalReqVO req) {
|
|
|
+ Long operatorId = getLoginUserId();
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+
|
|
|
+ // 验证审批类型
|
|
|
+ if (req.getStatus() == 1 || req.getStatus() == 2) {
|
|
|
+ // 一审逻辑
|
|
|
+ if (!permissionApi.hasAnyRoles(operatorId, "deputy_leader")) {
|
|
|
+ throw new IllegalArgumentException("用户没有一审权限");
|
|
|
+ }
|
|
|
+ req.setApproveUsers(operatorId);
|
|
|
+ req.setApprovalTime(now);
|
|
|
+ } else if (req.getStatus() == 5 || req.getStatus() == 6) {
|
|
|
+ // 二审逻辑
|
|
|
+ if (!permissionApi.hasAnyRoles(operatorId, "leadership")) {
|
|
|
+ throw new IllegalArgumentException("用户没有二审权限");
|
|
|
+ }
|
|
|
+ req.setTwoApproveUsers(operatorId);
|
|
|
+ req.setTwoApprovalTime(now);
|
|
|
+ } else {
|
|
|
+ throw new IllegalArgumentException("无效的审批状态");
|
|
|
+ }
|
|
|
+ // 调用更新状态方法
|
|
|
specimenOutboundService.updateStatus(req);
|
|
|
return success(null);
|
|
|
}
|
|
@@ -82,17 +151,6 @@ public class SpecimenOutboundController {
|
|
|
return success(null);
|
|
|
}
|
|
|
|
|
|
- @PostMapping("/approveSecond")
|
|
|
- @Operation(summary = "二审通过")
|
|
|
- @PreAuthorize("@ss.hasPermission('museums:specimen-outbound:approveSecond')")
|
|
|
- public CommonResult<Void> approveSecondSpecimenOutbound(@RequestBody SpecimenOutboundApprovalReqVO req) {
|
|
|
- req.setTwoApproveUsers(getLoginUserId()); // 获取二审操作员ID
|
|
|
- req.setTwoApprovalTime(LocalDateTime.now()); // 设置当前时间
|
|
|
- req.setStatus(5); // 设置审批状态为二审通过
|
|
|
- specimenOutboundService.updateStatus(req);
|
|
|
- return success(null);
|
|
|
- }
|
|
|
-
|
|
|
@PostMapping("/rejectSecond")
|
|
|
@Operation(summary = "二审驳回")
|
|
|
@PreAuthorize("@ss.hasPermission('museums:specimen-outbound:rejectSecond')")
|