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.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.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")
|
@RestController
|
public class DeviceLedgerController {
|
|
@Autowired
|
private IDeviceLedgerService deviceLedgerService;
|
|
@Autowired
|
private DeviceLedgerMapper deviceLedgerMapper;
|
|
@Autowired
|
private DeviceMaintenanceMapper deviceMaintenanceMapper;
|
|
@ApiModelProperty("设备台账列表")
|
@GetMapping("/page")
|
public AjaxResult page(Page page , DeviceLedgerDto deviceLedger) {
|
return AjaxResult.success(deviceLedgerService.queryPage(page,deviceLedger));
|
}
|
|
@PostMapping()
|
@ApiModelProperty("添加设备台账")
|
public AjaxResult add(@RequestBody DeviceLedger deviceLedger) {
|
|
return deviceLedgerService.saveDeviceLedger(deviceLedger);
|
}
|
|
@ApiModelProperty("根据id查询设备台账")
|
@GetMapping("/{id}")
|
public AjaxResult detail(@PathVariable Long id) {
|
return AjaxResult.success(deviceLedgerService.getById(id));
|
}
|
|
@PutMapping ()
|
@ApiModelProperty("修改设备台账")
|
public AjaxResult update(@RequestBody DeviceLedger deviceLedger) {
|
return deviceLedgerService.updateDeviceLedger(deviceLedger);
|
}
|
|
@DeleteMapping("/{ids}")
|
@ApiModelProperty("删除设备台账")
|
public AjaxResult delete(@PathVariable("ids") ArrayList<Long> ids) {
|
boolean b = deviceLedgerService.removeBatchByIds(ids);
|
if (!b) {
|
return AjaxResult.error("删除失败");
|
}
|
return AjaxResult.success();
|
}
|
|
@PostMapping("export")
|
@ApiModelProperty("导出设备台账")
|
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 = 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);
|
}
|
}
|