package com.ruoyi.device.controller;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ruoyi.device.dto.DeviceMaintenanceDto;
|
import com.ruoyi.device.dto.DeviceMonthlyRepairTableDTO;
|
import com.ruoyi.device.dto.DeviceRepairDto;
|
import com.ruoyi.device.dto.RepairAmountGroupDTO;
|
import com.ruoyi.device.pojo.DeviceLedger;
|
import com.ruoyi.device.pojo.DeviceMaintenance;
|
import com.ruoyi.device.pojo.DeviceRepair;
|
import com.ruoyi.device.service.IDeviceLedgerService;
|
import com.ruoyi.device.service.IDeviceMaintenanceService;
|
import com.ruoyi.device.service.IDeviceRepairService;
|
import com.ruoyi.framework.web.domain.AjaxResult;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiModelProperty;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.List;
|
|
@Api(tags = "设备保养")
|
@RestController
|
@RequestMapping("/device/maintenance")
|
public class DeviceMaintenanceController {
|
|
|
@Autowired
|
private IDeviceMaintenanceService deviceMaintenanceService;
|
|
@Autowired
|
private IDeviceLedgerService deviceLedgerService;
|
|
@ApiModelProperty("设备保养列表")
|
@GetMapping("/page")
|
public AjaxResult page(Page page , DeviceMaintenanceDto deviceMaintenanceDto) {
|
return AjaxResult.success(deviceMaintenanceService.queryPage(page,deviceMaintenanceDto));
|
}
|
|
@PostMapping()
|
@ApiModelProperty("添加设备保养")
|
public AjaxResult add(@RequestBody DeviceMaintenance deviceMaintenance) {
|
DeviceLedger byId = deviceLedgerService.getById(deviceMaintenance.getDeviceLedgerId());
|
deviceMaintenance.setDeviceName(byId.getDeviceName());
|
deviceMaintenance.setDeviceModel(byId.getDeviceModel());
|
return deviceMaintenanceService.saveDeviceRepair(deviceMaintenance);
|
}
|
|
@ApiModelProperty("根据id查询设备保养")
|
@GetMapping("/{id}")
|
public AjaxResult detail(@PathVariable Long id) {
|
return AjaxResult.success(deviceMaintenanceService.detailById(id));
|
}
|
|
@PutMapping ()
|
@ApiModelProperty("修改设备保养")
|
public AjaxResult update(@RequestBody DeviceMaintenance deviceMaintenance) {
|
DeviceLedger byId = deviceLedgerService.getById(deviceMaintenance.getDeviceLedgerId());
|
deviceMaintenance.setDeviceName(byId.getDeviceName());
|
deviceMaintenance.setDeviceModel(byId.getDeviceModel());
|
return deviceMaintenanceService.updateDeviceDeviceMaintenance(deviceMaintenance);
|
}
|
|
@PostMapping ("maintenance")
|
@ApiModelProperty("修改设备保养")
|
public AjaxResult maintenance(@RequestBody DeviceMaintenance deviceMaintenance) {
|
deviceMaintenance.setStatus(1);
|
return deviceMaintenanceService.updateDeviceDeviceMaintenance(deviceMaintenance);
|
}
|
|
|
@DeleteMapping("/{ids}")
|
@ApiModelProperty("删除设备保养")
|
public AjaxResult delete(@PathVariable("ids") Long[] ids) {
|
boolean b = deviceMaintenanceService.removeBatchByIds(Arrays.asList(ids));
|
if (!b) {
|
return AjaxResult.error("删除失败");
|
}
|
return AjaxResult.success();
|
}
|
|
@PostMapping("export")
|
@ApiModelProperty("导出设备保养")
|
public void export(HttpServletResponse response, Long[] ids) {
|
deviceMaintenanceService.export(response, ids);
|
}
|
|
|
/**
|
* 按年份查询每月报修金额(按设备台账分组)
|
* @param year 前端传入的年份(如2025)
|
*/
|
@GetMapping("/monthlyAmount")
|
@ApiModelProperty("按年份查询每月报修金额(按设备台账分组)")
|
public AjaxResult getMonthlyAmount(@RequestParam(defaultValue = "2025", required = true,name = "year") String year) {
|
List<DeviceMonthlyRepairTableDTO> result = deviceMaintenanceService.getMonthlyRepairAmountByYear(year);
|
return AjaxResult.success(result);
|
}
|
|
/**
|
* 按年份查询报修金额(按设备台账分组)
|
* @param year 前端传入的年份(如2025)
|
*/
|
@GetMapping("/yearlyAmount")
|
@ApiModelProperty("按年份查询报修金额(按设备台账分组)")
|
public AjaxResult yearlyAmount(@RequestParam(defaultValue = "2025", required = true,name = "year") String year) {
|
List<RepairAmountGroupDTO> result = deviceMaintenanceService.getRepairAmountByYear(year);
|
return AjaxResult.success(result);
|
}
|
|
|
}
|