From 8c8f19c87c9dfa7576f04ad80d864b37d0617786 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期四, 15 一月 2026 09:38:46 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New

---
 src/main/java/com/ruoyi/device/controller/DeviceRepairController.java |   46 +++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 41 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java b/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
index 5c3dd58..d9f4e5c 100644
--- a/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
+++ b/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
@@ -1,9 +1,11 @@
 package com.ruoyi.device.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.approve.pojo.ApproveProcess;
+import com.ruoyi.approve.service.IApproveProcessService;
 import com.ruoyi.device.dto.DeviceRepairDto;
-import com.ruoyi.device.pojo.DeviceLedger;
 import com.ruoyi.device.pojo.DeviceRepair;
 import com.ruoyi.device.service.IDeviceLedgerService;
 import com.ruoyi.device.service.IDeviceRepairService;
@@ -11,11 +13,12 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiModelProperty;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.List;
 
 @Api(tags = "璁惧鎶ヤ慨绠$悊")
 @RequestMapping("/device/repair")
@@ -27,6 +30,8 @@
 
     @Autowired
     private IDeviceLedgerService deviceLedgerService;
+    @Autowired
+    private IApproveProcessService approveProcessService;
 
     @ApiModelProperty("璁惧鎶ヤ慨鍒楄〃")
     @GetMapping("/page")
@@ -35,9 +40,30 @@
     }
 
     @PostMapping()
+    @Transactional(rollbackFor = Exception.class)
     @ApiModelProperty("娣诲姞璁惧鎶ヤ慨")
-    public AjaxResult add( @RequestBody DeviceRepair deviceRepair) {
-        return deviceRepairService.saveDeviceRepair(deviceRepair);
+    public AjaxResult add( @RequestBody DeviceRepair deviceRepair) throws Exception {
+        deviceRepairService.saveDeviceRepair(deviceRepair);
+        // todo 鍓嶇浠g爜涓嶅尮閰嶏紝寰呭鐞�
+//        ApproveProcessVO approveProcessVO = new ApproveProcessVO();
+//        LoginUser loginUser = SecurityUtils.getLoginUser();
+//        // 鑾峰彇褰撳墠鐧诲綍鍏徃
+//        Long tenantId = loginUser.getTenantId();
+//        if(null != tenantId){
+//            //鑾峰彇褰撳墠鐧诲綍閮ㄩ棬id
+//            approveProcessVO.setApproveDeptId(tenantId);
+//            //鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛id
+//            approveProcessVO.setApproveUser(loginUser.getUserId());
+//            //鑾峰彇褰撳墠鏃堕棿
+//            approveProcessVO.setApproveTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+//            approveProcessVO.setApproveType(4);
+//            approveProcessVO.setApproveUserIds(deviceRepair.getApproverId().toString());
+//            approveProcessVO.setApproveReason(deviceRepair.getRemark());
+//            approveProcessVO.setDeviceRepairId(deviceRepair.getId());
+//            approveProcessVO.setMaintenancePrice(deviceRepair.getMaintenancePrice());
+//            approveProcessService.addApprove(approveProcessVO);
+//        }
+        return AjaxResult.success();
     }
 
     @ApiModelProperty("鏍规嵁id鏌ヨ璁惧鎶ヤ慨")
@@ -56,13 +82,23 @@
     @PostMapping ("repair")
     @ApiModelProperty("璁惧缁翠慨")
     public AjaxResult repair( @RequestBody DeviceRepair deviceRepair) {
-        deviceRepair.setStatus(1);
         return deviceRepairService.updateDeviceRepair(deviceRepair);
     }
 
     @DeleteMapping("/{ids}")
     @ApiModelProperty("鍒犻櫎璁惧鎶ヤ慨")
     public AjaxResult delete(@PathVariable("ids") Long[] ids) {
+        LambdaQueryWrapper<ApproveProcess> QueryWrapper = new LambdaQueryWrapper<>();
+        QueryWrapper.in(ApproveProcess::getDeviceRepairId,ids);
+        List<ApproveProcess> approveProcessList = approveProcessService.list(QueryWrapper);
+        if(!approveProcessList.isEmpty()){
+            approveProcessList.forEach(approveProcess -> {
+                if (approveProcess.getApproveStatus() != 0){
+                    //鎶涘嚭寮傚父
+                    throw new RuntimeException("鏈夋鍦ㄥ鐞嗕腑鐨勫鎵规祦绋嬶紝涓嶈兘鍒犻櫎");
+                }
+            });
+        }
         boolean b = deviceRepairService.removeBatchByIds(Arrays.asList(ids));
         if (!b) {
             return AjaxResult.error("鍒犻櫎澶辫触");

--
Gitblit v1.9.3