From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master

---
 jnpf-lims/jnpf-lims-controller/src/main/java/jnpf/controller/LeaveApplyController.java |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 108 insertions(+), 0 deletions(-)

diff --git a/jnpf-lims/jnpf-lims-controller/src/main/java/jnpf/controller/LeaveApplyController.java b/jnpf-lims/jnpf-lims-controller/src/main/java/jnpf/controller/LeaveApplyController.java
new file mode 100644
index 0000000..bd6ce39
--- /dev/null
+++ b/jnpf-lims/jnpf-lims-controller/src/main/java/jnpf/controller/LeaveApplyController.java
@@ -0,0 +1,108 @@
+package jnpf.controller;
+
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jnpf.base.ActionResult;
+import jnpf.base.controller.SuperController;
+import jnpf.constant.MsgCode;
+import jnpf.entity.LeaveApplyEntity;
+import jnpf.model.leaveapply.LeaveApplyForm;
+import jnpf.model.leaveapply.LeaveApplyInfoVO;
+import jnpf.service.LeaveApplyService;
+import jnpf.util.GeneraterSwapUtil;
+import jnpf.util.JsonUtil;
+import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 璇峰亣鐢宠
+ *
+ * @author JNPF寮�鍙戝钩鍙扮粍
+ * @version V3.1.0
+ * @copyright 寮曡繄淇℃伅鎶�鏈湁闄愬叕鍙�
+ * @date 2019骞�9鏈�27鏃� 涓婂崍9:18
+ */
+@Tag(name = "璇峰亣鐢宠", description = "LeaveApply")
+@RestController
+@RequestMapping("/Form/LeaveApply")
+@RequiredArgsConstructor
+public class LeaveApplyController extends SuperController<LeaveApplyService, LeaveApplyEntity> {
+
+    private final LeaveApplyService leaveApplyService;
+
+    private final GeneraterSwapUtil generaterSwapUtil;
+
+    /**
+     * 鑾峰彇璇峰亣鐢宠淇℃伅
+     *
+     * @param id 涓婚敭鍊�
+     * @return
+     */
+    @Operation(summary = "鑾峰彇璇峰亣鐢宠淇℃伅")
+    @GetMapping("/{id}")
+    @Parameter(name = "id", description = "涓婚敭", required = true)
+    public ActionResult<LeaveApplyInfoVO> info(@PathVariable("id") String id) {
+        LeaveApplyEntity entity = leaveApplyService.getInfo(id);
+        LeaveApplyInfoVO vo = JsonUtil.getJsonToBean(entity, LeaveApplyInfoVO.class);
+        return ActionResult.success(vo);
+    }
+
+    /**
+     * 鏂板缓璇峰亣鐢宠
+     *
+     * @param leaveApplyForm 琛ㄥ崟瀵硅薄
+     * @return
+     */
+    @Operation(summary = "鏂板缓璇峰亣鐢宠")
+    @PostMapping("/{id}")
+    @Parameter(name = "id", description = "涓婚敭", required = true)
+    @Parameter(name = "leaveApplyForm", description = "璇峰亣妯″瀷", required = true)
+    public ActionResult<Object> create(@RequestBody LeaveApplyForm leaveApplyForm, @PathVariable("id") String id) {
+        LeaveApplyEntity entity = JsonUtil.getJsonToBean(leaveApplyForm, LeaveApplyEntity.class);
+        leaveApplyService.submit(id, entity, leaveApplyForm);
+        return ActionResult.success(MsgCode.SU006.get());
+    }
+
+    /**
+     * 淇敼璇峰亣鐢宠
+     *
+     * @param leaveApplyForm 琛ㄥ崟瀵硅薄
+     * @param id             涓婚敭
+     * @return
+     */
+    @Operation(summary = "淇敼璇峰亣鐢宠")
+    @PutMapping("/{id}")
+    @Parameter(name = "id", description = "涓婚敭", required = true)
+    @Parameter(name = "leaveApplyForm", description = "璇峰亣妯″瀷", required = true)
+    public ActionResult<Object> update(@RequestBody LeaveApplyForm leaveApplyForm, @PathVariable("id") String id) {
+        LeaveApplyEntity entity = JsonUtil.getJsonToBean(leaveApplyForm, LeaveApplyEntity.class);
+        entity.setId(id);
+        leaveApplyService.submit(id, entity, leaveApplyForm);
+        return ActionResult.success(MsgCode.SU006.get());
+    }
+
+    /**
+     * 鍒犻櫎璇峰亣鐢宠淇℃伅
+     *
+     * @param id 涓婚敭
+     */
+    @Operation(summary = "鍒犻櫎璇峰亣鐢宠淇℃伅")
+    @DeleteMapping("/{id}")
+    @Parameter(name = "id", description = "涓婚敭", required = true)
+    public ActionResult<Object> delete(@PathVariable("id") String id, @RequestParam(name = "forceDel", defaultValue = "false") Boolean forceDel) {
+        LeaveApplyEntity entity = leaveApplyService.getInfo(id);
+        if (null != entity) {
+            if (Boolean.FALSE.equals(forceDel)) {
+                String errMsg = generaterSwapUtil.deleteFlowTask(entity.getId());
+                if (StringUtils.isNotBlank(errMsg)) {
+                    throw new IllegalArgumentException(errMsg);
+                }
+            }
+            leaveApplyService.delete(entity);
+            return ActionResult.success(MsgCode.SU003.get());
+        }
+        return ActionResult.fail(MsgCode.FA003.get());
+    }
+}

--
Gitblit v1.8.0