From 69dc6b16ef04bdfbfa65f77c169c0847dc7e65c2 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 06 五月 2026 16:26:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New_pro' into dev_New_pro

---
 src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java |   66 ++++++++++++++++++++++++---------
 1 files changed, 48 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java b/src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java
index b3f283a..f4b807d 100644
--- a/src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java
+++ b/src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java
@@ -3,56 +3,66 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.device.dto.DeviceLedgerDto;
+import com.ruoyi.device.execl.DeviceLedgerExeclDto;
+import com.ruoyi.device.mapper.DeviceLedgerMapper;
+import com.ruoyi.device.mapper.DeviceMaintenanceMapper;
 import com.ruoyi.device.pojo.DeviceLedger;
+import com.ruoyi.device.pojo.DeviceMaintenance;
 import com.ruoyi.device.service.IDeviceLedgerService;
+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.springframework.beans.factory.annotation.Autowired;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.AllArgsConstructor;
 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 = "璁惧鍙拌处绠$悊")
+@Tag(name = "璁惧鍙拌处绠$悊")
 @RequestMapping("/device/ledger")
 @RestController
+@AllArgsConstructor
 public class DeviceLedgerController {
 
-    @Autowired
     private IDeviceLedgerService deviceLedgerService;
+    private DeviceLedgerMapper deviceLedgerMapper;
+    private DeviceMaintenanceMapper deviceMaintenanceMapper;
 
-    @ApiModelProperty("璁惧鍙拌处鍒楄〃")
+
+
+    @Operation(summary = "璁惧鍙拌处鍒楄〃")
     @GetMapping("/page")
     public AjaxResult page(Page page , DeviceLedgerDto deviceLedger) {
         return AjaxResult.success(deviceLedgerService.queryPage(page,deviceLedger));
     }
 
     @PostMapping()
-    @ApiModelProperty("娣诲姞璁惧鍙拌处")
+    @Operation(summary = "娣诲姞璁惧鍙拌处")
     public AjaxResult add(@RequestBody DeviceLedger deviceLedger) {
 
         return deviceLedgerService.saveDeviceLedger(deviceLedger);
     }
 
-    @ApiModelProperty("鏍规嵁id鏌ヨ璁惧鍙拌处")
+    @Operation(summary = "鏍规嵁id鏌ヨ璁惧鍙拌处")
     @GetMapping("/{id}")
     public AjaxResult detail(@PathVariable Long id) {
         return AjaxResult.success(deviceLedgerService.getById(id));
     }
 
     @PutMapping ()
-    @ApiModelProperty("淇敼璁惧鍙拌处")
+    @Operation(summary = "淇敼璁惧鍙拌处")
     public AjaxResult update(@RequestBody DeviceLedger deviceLedger) {
         return deviceLedgerService.updateDeviceLedger(deviceLedger);
     }
 
     @DeleteMapping("/{ids}")
-    @ApiModelProperty("鍒犻櫎璁惧鍙拌处")
+    @Operation(summary = "鍒犻櫎璁惧鍙拌处")
     public AjaxResult delete(@PathVariable("ids") ArrayList<Long> ids) {
         boolean b = deviceLedgerService.removeBatchByIds(ids);
         if (!b) {
@@ -62,14 +72,21 @@
     }
 
     @PostMapping("export")
-    @ApiModelProperty("瀵煎嚭璁惧鍙拌处")
+    @Operation(summary = "瀵煎嚭璁惧鍙拌处")
     public void export(HttpServletResponse response, Long[] ids) {
          deviceLedgerService.export(response, ids);
     }
 
-    @PostMapping("import")
-    @ApiModelProperty("瀵煎叆璁惧鍙拌处")
-    public AjaxResult importData(MultipartFile file) {
+    @Operation(summary = "涓嬭浇妯℃澘")
+    @PostMapping("/downloadTemplate")
+    public void downloadTemplate(HttpServletResponse response) {
+        ExcelUtil<DeviceLedgerExeclDto> util = new ExcelUtil<>(DeviceLedgerExeclDto.class);
+        util.importTemplateExcel(response, "璁惧瀵煎叆妯℃澘");
+    }
+
+    @PostMapping("/import")
+    @Operation(summary = "瀵煎叆璁惧鍙拌处")
+    public AjaxResult importData(MultipartFile file) throws IOException {
         Boolean b = deviceLedgerService.importData(file);
         if (b) {
             return AjaxResult.success("瀵煎叆鎴愬姛");
@@ -79,9 +96,22 @@
 
 
     @GetMapping("getDeviceLedger")
-    @ApiModelProperty("鑾峰彇璁惧鍙拌处")
+    @Operation(summary = "鑾峰彇璁惧鍙拌处")
     public AjaxResult getDeviceLedger( ) {
         return AjaxResult.success(deviceLedgerService.list(new QueryWrapper<DeviceLedger>().lambda()
                 .select(DeviceLedger::getId, DeviceLedger::getDeviceName,DeviceLedger::getDeviceModel)));
     }
+
+    @GetMapping("scanDevice")
+    @Operation(summary = "鑾峰彇璁惧鍙拌处")
+    @Anonymous
+    public AjaxResult scanDevice(Long id) {
+        List<DeviceMaintenance> list = deviceMaintenanceMapper.list1(id);
+        DeviceLedger deviceLedger = deviceLedgerMapper.selectById1(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