From 79cceefe43f14643781b76def9b980398990d458 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期三, 20 五月 2026 11:48:10 +0800
Subject: [PATCH] feat(approve): 添加审批实例相关DTO、VO类及审批流程工具类

---
 src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java |   42 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 37 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java b/src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java
index eccb2ea..95ab518 100644
--- a/src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java
+++ b/src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java
@@ -2,8 +2,11 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.approve.bean.dto.ApprovalInstanceDto;
+import com.ruoyi.approve.bean.vo.ApproveProcessVO;
+import com.ruoyi.approve.mapper.ApprovalTemplateMapper;
+import com.ruoyi.approve.service.ApprovalInstanceService;
 import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
-import com.ruoyi.approve.vo.ApproveProcessVO;
 import com.ruoyi.common.utils.OrderUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
@@ -12,12 +15,13 @@
 import com.ruoyi.framework.security.LoginUser;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.framework.web.domain.R;
 import com.ruoyi.sales.dto.ShippingInfoDto;
 import com.ruoyi.sales.mapper.ShippingInfoMapper;
 import com.ruoyi.sales.pojo.ShippingInfo;
 import com.ruoyi.sales.service.ShippingInfoService;
-import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.AllArgsConstructor;
 import org.springframework.transaction.annotation.Transactional;
@@ -25,6 +29,7 @@
 
 import java.io.IOException;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -37,6 +42,8 @@
 @AllArgsConstructor
 public class ShippingInfoController extends BaseController {
 
+    private final ApprovalTemplateMapper approvalTemplateMapper;
+    private final ApprovalInstanceService approvalInstanceService;
     private ShippingInfoService shippingInfoService;
     private ApproveProcessServiceImpl approveProcessService;
     private ShippingInfoMapper shippingInfoMapper;
@@ -60,15 +67,28 @@
         ApproveProcessVO approveProcessVO = new ApproveProcessVO();
         approveProcessVO.setApproveType(7);
         approveProcessVO.setApproveDeptId(loginUser.getCurrentDeptId());
-        approveProcessVO.setApproveReason(req.getType() + ":" +sh);
+        approveProcessVO.setApproveReason(sh);//鍙戣揣缂栧彿
         approveProcessVO.setApproveUserIds(req.getApproveUserIds());
         approveProcessVO.setApproveUser(loginUser.getUserId());
         approveProcessVO.setApproveTime(LocalDate.now().toString());
         approveProcessService.addApprove(approveProcessVO);
+
+        ApprovalInstanceDto approvalInstanceDto = new ApprovalInstanceDto();
+        approvalInstanceDto.setTemplateId(req.getTemplateId());
+        approvalInstanceDto.setBusinessId(req.getId());
+        approvalInstanceDto.setBusinessType(7L);
+        approvalInstanceDto.setTitle("鍙戣揣缂栧彿锛�" + sh);
+        approvalInstanceDto.setApplicantId(SecurityUtils.getUserId());
+        approvalInstanceDto.setTemplateId(req.getTemplateId());
+        approvalInstanceDto.setTemplateName(approvalTemplateMapper.selectById(req.getTemplateId()).getTemplateName());
+        approvalInstanceDto.setApplicantName(SecurityUtils.getLoginUser().getNickName());
+        approvalInstanceDto.setApplyTime(LocalDateTime.now());
+        approvalInstanceService.add(approvalInstanceDto);
+
         // 娣诲姞鍙戣揣娑堟伅
         req.setShippingNo(sh);
         req.setStatus("寰呭鏍�");
-        boolean save = shippingInfoService.save(req);
+        boolean save = shippingInfoService.add(req);
         return save ? AjaxResult.success() : AjaxResult.error();
     }
 
@@ -115,8 +135,20 @@
 
 
     @GetMapping("/getByCustomerName")
-    @Operation(summary = "閫氳繃瀹㈡埛鍚嶇О鏌ヨ")
+    @Operation(summary = "閫氳繃瀹㈡埛鍚嶇О鏌ヨ鍏宠仈鐨勫彂璐у崟鍙�")
     public AjaxResult getByCustomerName(String customerName) {
         return AjaxResult.success(shippingInfoService.getShippingInfoByCustomerName(customerName));
     }
+
+    @GetMapping("/getDateil/{id}")
+    @Operation(summary = "閫氳繃id鏌ヨ璇︽儏")
+    public R getDateil(@PathVariable("id") Long id) {
+        return R.ok(shippingInfoService.getDetail(id));
+    }
+
+    @GetMapping("/getDateilByShippingNo")
+    @Operation(summary = "閫氳繃鍙戣揣鍗曞彿鏌ヨ璇︽儏")
+    public R getDateilByShippingNo(String shippingNo) {
+        return R.ok(shippingInfoService.getDateilByShippingNo(shippingNo));
+    }
 }

--
Gitblit v1.9.3