From 277b5047d00a3e9094bafd5ecb078976fbf6a92d Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期四, 08 一月 2026 18:59:04 +0800
Subject: [PATCH] 华玺砂浆转移-采购代码、发货和发货审核、报修和报修审核、采购模板,查询采购模板接口、财务管理的存货核算数据接口、财务管理的固定资产核算获取台账接口、采购审批,接口、客户分类字段、采购台账字段,实现采购异常记录的添加接口、黑名单,添加资质管理字段,可上传资质文件-至军泰伟业

---
 src/main/java/com/ruoyi/device/controller/DeviceRepairController.java |   62 +++++++++++++++++++++++++++++-
 1 files changed, 59 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java b/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
index 4606c83..130e5df 100644
--- a/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
+++ b/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
@@ -1,21 +1,33 @@
 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.approve.vo.ApproveProcessVO;
+import com.ruoyi.common.utils.SecurityUtils;
 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;
+import com.ruoyi.framework.security.LoginUser;
 import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.project.system.domain.SysDept;
+import com.ruoyi.project.system.domain.SysUser;
 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.util.ObjectUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.Arrays;
+import java.util.List;
 
 @Api(tags = "璁惧鎶ヤ慨绠$悊")
 @RequestMapping("/device/repair")
@@ -27,6 +39,8 @@
 
     @Autowired
     private IDeviceLedgerService deviceLedgerService;
+    @Autowired
+    private IApproveProcessService approveProcessService;
 
     @ApiModelProperty("璁惧鎶ヤ慨鍒楄〃")
     @GetMapping("/page")
@@ -35,9 +49,40 @@
     }
 
     @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);
+        ApproveProcessVO approveProcessVO = new ApproveProcessVO();
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        SysUser user = loginUser.getUser();
+        // 鑾峰彇褰撳墠鐧诲綍鍏徃
+        Long tenantId = loginUser.getTenantId();
+        if(null != tenantId){
+            LambdaQueryWrapper<DeviceRepair> QueryWrapper = new LambdaQueryWrapper<>();
+            QueryWrapper.eq(DeviceRepair::getDeviceLedgerId,deviceRepair.getDeviceLedgerId())
+                    .eq(DeviceRepair::getRemark,deviceRepair.getRemark())
+                    .eq(DeviceRepair::getDeviceName,deviceRepair.getDeviceName())
+                    .eq(DeviceRepair::getApproverId,deviceRepair.getApproverId())
+                    .eq(DeviceRepair::getRepairTime,deviceRepair.getRepairTime());
+            DeviceRepair one = deviceRepairService.getOne(QueryWrapper);
+            if(ObjectUtils.isEmpty(one)){
+                return AjaxResult.error("璁惧鎶ヤ慨涓嶅瓨鍦�");
+            }
+            //鑾峰彇褰撳墠鐧诲綍閮ㄩ棬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(one.getId());
+            approveProcessVO.setMaintenancePrice(deviceRepair.getMaintenancePrice());
+            approveProcessService.addApprove(approveProcessVO);
+        }
+        return AjaxResult.success();
     }
 
     @ApiModelProperty("鏍规嵁id鏌ヨ璁惧鎶ヤ慨")
@@ -62,6 +107,17 @@
     @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