From a345181d12e99c5c16cd1d546b89680f73cc14ea Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 29 八月 2025 17:08:15 +0800
Subject: [PATCH] 手机端扫描二维码能够查看设备情况的接口

---
 src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java |   63 +++++++++++++++++++++++++++----
 1 files changed, 55 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java b/src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java
index ea8dd73..0f90758 100644
--- a/src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java
+++ b/src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java
@@ -1,17 +1,29 @@
 package com.ruoyi.device.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.device.dto.DeviceLedgerDto;
 import com.ruoyi.device.pojo.DeviceLedger;
+import com.ruoyi.device.pojo.DeviceMaintenance;
 import com.ruoyi.device.service.IDeviceLedgerService;
+import com.ruoyi.device.service.IDeviceMaintenanceService;
+import com.ruoyi.framework.aspectj.lang.annotation.Anonymous;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang3.ArrayUtils;
+import org.ehcache.spi.service.MaintainableService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 
 @Api(tags = "璁惧鍙拌处绠$悊")
 @RequestMapping("/device/ledger")
@@ -21,15 +33,18 @@
     @Autowired
     private IDeviceLedgerService deviceLedgerService;
 
+    @Autowired
+    private IDeviceMaintenanceService deviceMaintenanceService;
+
     @ApiModelProperty("璁惧鍙拌处鍒楄〃")
     @GetMapping("/page")
-    public AjaxResult page(Page page , DeviceLedger deviceLedger) {
+    public AjaxResult page(Page page , DeviceLedgerDto deviceLedger) {
         return AjaxResult.success(deviceLedgerService.queryPage(page,deviceLedger));
     }
 
     @PostMapping()
     @ApiModelProperty("娣诲姞璁惧鍙拌处")
-    public AjaxResult add(DeviceLedger deviceLedger) {
+    public AjaxResult add(@RequestBody DeviceLedger deviceLedger) {
 
         return deviceLedgerService.saveDeviceLedger(deviceLedger);
     }
@@ -42,14 +57,13 @@
 
     @PutMapping ()
     @ApiModelProperty("淇敼璁惧鍙拌处")
-    public AjaxResult update(DeviceLedger deviceLedger) {
-
+    public AjaxResult update(@RequestBody DeviceLedger deviceLedger) {
         return deviceLedgerService.updateDeviceLedger(deviceLedger);
     }
 
-    @DeleteMapping("/{id}")
+    @DeleteMapping("/{ids}")
     @ApiModelProperty("鍒犻櫎璁惧鍙拌处")
-    public AjaxResult delete(@PathVariable ArrayList<Long> ids) {
+    public AjaxResult delete(@PathVariable("ids") ArrayList<Long> ids) {
         boolean b = deviceLedgerService.removeBatchByIds(ids);
         if (!b) {
             return AjaxResult.error("鍒犻櫎澶辫触");
@@ -57,9 +71,42 @@
         return AjaxResult.success();
     }
 
-    @GetMapping("export")
+    @PostMapping("export")
     @ApiModelProperty("瀵煎嚭璁惧鍙拌处")
-    public void export(HttpServletResponse response, ArrayList<Long> ids) {
+    public void export(HttpServletResponse response, Long[] ids) {
          deviceLedgerService.export(response, ids);
     }
+
+    @PostMapping("import")
+    @ApiModelProperty("瀵煎叆璁惧鍙拌处")
+    public AjaxResult importData(MultipartFile file) throws IOException {
+        Boolean b = deviceLedgerService.importData(file);
+        if (b) {
+            return AjaxResult.success("瀵煎叆鎴愬姛");
+        }
+        return AjaxResult.error("瀵煎叆澶辫触");
+    }
+
+
+    @GetMapping("getDeviceLedger")
+    @ApiModelProperty("鑾峰彇璁惧鍙拌处")
+    public AjaxResult getDeviceLedger( ) {
+        return AjaxResult.success(deviceLedgerService.list(new QueryWrapper<DeviceLedger>().lambda()
+                .select(DeviceLedger::getId, DeviceLedger::getDeviceName,DeviceLedger::getDeviceModel)));
+    }
+
+    @GetMapping("scanDevice")
+    @ApiModelProperty("鑾峰彇璁惧鍙拌处")
+    @Anonymous
+    public AjaxResult scanDevice(Long id) {
+        List<DeviceMaintenance> list = deviceMaintenanceService.list(Wrappers.<DeviceMaintenance>lambdaQuery()
+                .eq(DeviceMaintenance::getDeviceLedgerId, id)
+                .orderByDesc(DeviceMaintenance::getMaintenanceActuallyTime));
+        DeviceLedger deviceLedger = deviceLedgerService.getById(id);
+        if (list.size()>0){
+            deviceLedger.setUpdateTime(list.get(0).getMaintenanceActuallyTime());
+            deviceLedger.setCreateTime(deviceLedger.getUpdateTime().plusMonths(1));
+        }
+        return AjaxResult.success(deviceLedger);
+    }
 }

--
Gitblit v1.9.3