maven
2025-12-08 0100359605ba05638c1f683d68a2948cc273b0d2
src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java
@@ -2,14 +2,26 @@
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.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.device.service.IDeviceMaintenanceService;
import com.ruoyi.framework.aspectj.lang.annotation.Anonymous;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.domain.AjaxResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
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;
@@ -18,6 +30,7 @@
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@Api(tags = "设备台账管理")
@RequestMapping("/device/ledger")
@@ -26,6 +39,14 @@
    @Autowired
    private IDeviceLedgerService deviceLedgerService;
    @Autowired
    private DeviceLedgerMapper deviceLedgerMapper;
    @Autowired
    private DeviceMaintenanceMapper deviceMaintenanceMapper;
    @ApiModelProperty("设备台账列表")
    @GetMapping("/page")
@@ -70,6 +91,7 @@
    @PostMapping("import")
    @ApiModelProperty("导入设备台账")
    @Log(title = "设备台账导入", businessType = BusinessType.IMPORT)
    public AjaxResult importData(MultipartFile file) throws IOException {
        Boolean b = deviceLedgerService.importData(file);
        if (b) {
@@ -78,6 +100,14 @@
        return AjaxResult.error("导入失败");
    }
    @PostMapping("/downloadTemplate")
    @ApiModelProperty("下载导入模板")
    @Log(title = "设备台账导入", businessType = BusinessType.IMPORT)
    public void downloadTemplate(HttpServletResponse response) {
        ExcelUtil<DeviceLedgerExeclDto> util = new ExcelUtil<DeviceLedgerExeclDto>(DeviceLedgerExeclDto.class);
        util.importTemplateExcel(response, "设备台账模板");
    }
    @GetMapping("getDeviceLedger")
    @ApiModelProperty("获取设备台账")
@@ -85,4 +115,17 @@
        return AjaxResult.success(deviceLedgerService.list(new QueryWrapper<DeviceLedger>().lambda()
                .select(DeviceLedger::getId, DeviceLedger::getDeviceName,DeviceLedger::getDeviceModel)));
    }
    @GetMapping("scanDevice")
    @ApiOperation("获取设备台账")
    @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);
    }
}