package com.zhitan.web.controller.auxiliaryinput; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhitan.common.annotation.Log; import com.zhitan.common.core.controller.BaseController; import com.zhitan.common.core.domain.AjaxResult; import com.zhitan.common.core.page.TableDataInfo; import com.zhitan.common.enums.BusinessType; import com.zhitan.common.utils.poi.ExcelUtil; import com.zhitan.energyIndicators.domain.EnergyIndicators; import com.zhitan.energyIndicators.service.IEnergyIndicatorsService; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.UUID; /** * 能源指标Controller * * @author ZhiTan * @date 2024-10-25 */ @RestController public class EnergyIndicatorsController extends BaseController { @Resource private IEnergyIndicatorsService energyIndicatorsService; /** * 查询能源指标列表 */ @PreAuthorize("@ss.hasPermi('system:energyIndicators:list')") @GetMapping("/energyIndicators/list") public TableDataInfo energyIndicatorsPage(EnergyIndicators energyIndicators, @RequestParam Long pageNum, @RequestParam Long pageSize) { // startPage(); Page list = energyIndicatorsService.selectEnergyIndicatorsPage(energyIndicators,pageNum,pageSize); return getDataTable(list); } /** * 导出能源指标列表 */ @PreAuthorize("@ss.hasPermi('system:energyIndicators:export')") @Log(title = "能源指标", businessType = BusinessType.EXPORT) @PostMapping("/energyIndicators/export") public void export(HttpServletResponse response, EnergyIndicators energyIndicators) { List list = energyIndicatorsService.selectEnergyIndicatorsList(energyIndicators); ExcelUtil util = new ExcelUtil(EnergyIndicators.class); util.exportExcel(response, list, "能源指标数据"); } /** * 获取能源指标详细信息 */ @PreAuthorize("@ss.hasPermi('system:energyIndicators:query')") @GetMapping(value = "/energyIndicators/{energyIndicatorsId}") public AjaxResult getInfo(@PathVariable("energyIndicatorsId") String energyIndicatorsId) { return success(energyIndicatorsService.selectEnergyIndicatorsByNodeId(energyIndicatorsId)); } /** * 新增能源指标 */ @PreAuthorize("@ss.hasPermi('system:energyIndicators:add')") @Log(title = "能源指标", businessType = BusinessType.INSERT) @PostMapping(value = "/energyIndicators") public AjaxResult add(@RequestBody EnergyIndicators energyIndicators) { //todo 校验是否重复,如果重复就更新、如果不重复就新增. // 校验重复规则:nodeId+timeType+dataTime+energyType+indicatorsType EnergyIndicators queryParam = new EnergyIndicators(); queryParam.setNodeId(energyIndicators.getNodeId()); queryParam.setDataTime(energyIndicators.getDataTime()); queryParam.setTimeType(energyIndicators.getTimeType()); queryParam.setEnergyType(energyIndicators.getEnergyType()); queryParam.setIndicatorsType(energyIndicators.getIndicatorsType()); List list = energyIndicatorsService.selectEnergyIndicatorsList(queryParam); //判断查询到的数据,不为空说明已经存在:更新数据。为空说明不存在:新增 if (list!=null && !list.isEmpty()){ return AjaxResult.error("当前节点已经添加过该指标类型"); }else { energyIndicators.setEnergyIndicatorsId(UUID.randomUUID().toString()); return toAjax(energyIndicatorsService.insertEnergyIndicators(energyIndicators)); } } /** * 修改能源指标 */ @PreAuthorize("@ss.hasPermi('system:energyIndicators:edit')") @Log(title = "能源指标", businessType = BusinessType.UPDATE) @PutMapping(value = "/energyIndicators") public AjaxResult edit(@RequestBody EnergyIndicators energyIndicators) { return toAjax(energyIndicatorsService.updateEnergyIndicators(energyIndicators)); } /** * 删除能源指标 */ @PreAuthorize("@ss.hasPermi('system:energyIndicators:remove')") @Log(title = "能源指标", businessType = BusinessType.DELETE) @DeleteMapping("/energyIndicators/{energyIndicatorsIds}") public AjaxResult remove(@PathVariable String[] energyIndicatorsIds) { return toAjax(energyIndicatorsService.deleteEnergyIndicatorsByEnergyIndicatorsIds(energyIndicatorsIds)); } }