package com.ruoyi.alarmpoints.well.controller; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService; import com.ruoyi.common.utils.poi.ExcelUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.core.page.TableDataInfo; import org.springframework.web.multipart.MultipartFile; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 井管理Controller * * @author 刘苏义 * @date 2023-03-07 */ @RestController @RequestMapping("/alarmpoints/well") @Api(tags = "井管理接口") public class ArdAlarmpointsWellController extends BaseController { @Resource private IArdAlarmpointsWellService ardAlarmpointsWellService; /** * 查询井管理列表 */ @PreAuthorize("@ss.hasPermi('alarmpoints:well:list')") @GetMapping("/list") @ApiOperation("查询井列表") public TableDataInfo list(ArdAlarmpointsWell ardAlarmpointsWell) { startPage(); List list = ardAlarmpointsWellService.selectArdAlarmpointsWellList(ardAlarmpointsWell); return getDataTable(list); } /** * 导出井管理列表 */ @PreAuthorize("@ss.hasPermi('alarmpoints:well:export')") @Log(title = "井管理", businessType = BusinessType.EXPORT) @PostMapping("/export") @ApiOperation("导出井列表") public void export(HttpServletResponse response, ArdAlarmpointsWell ardAlarmpointsWell) { List list = ardAlarmpointsWellService.selectArdAlarmpointsWellList(ardAlarmpointsWell); ExcelUtil util = new ExcelUtil(ArdAlarmpointsWell.class); util.exportExcel(response, list, "井管理数据"); } /** * 获取井管理详细信息 */ @PreAuthorize("@ss.hasPermi('alarmpoints:well:query')") @GetMapping(value = "/{id}") @ApiOperation("获取井详细信息") public AjaxResult getInfo(@PathVariable("id") String id) { return success(ardAlarmpointsWellService.selectArdAlarmpointsWellById(id)); } /** * 新增井管理 */ @PreAuthorize("@ss.hasPermi('alarmpoints:well:add')") @Log(title = "井管理", businessType = BusinessType.INSERT) @PostMapping @ApiOperation("新增井") public AjaxResult add(@RequestBody ArdAlarmpointsWell ardAlarmpointsWell) { return toAjax(ardAlarmpointsWellService.insertArdAlarmpointsWell(ardAlarmpointsWell)); } /** * 修改井管理 */ @PreAuthorize("@ss.hasPermi('alarmpoints:well:edit')") @Log(title = "井管理", businessType = BusinessType.UPDATE) @PutMapping @ApiOperation("修改井") public AjaxResult edit(@RequestBody ArdAlarmpointsWell ardAlarmpointsWell) { return toAjax(ardAlarmpointsWellService.updateArdAlarmpointsWell(ardAlarmpointsWell)); } /** * 删除井管理 */ @PreAuthorize("@ss.hasPermi('alarmpoints:well:remove')") @Log(title = "井管理", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") @ApiOperation("删除井") public AjaxResult remove(@PathVariable String[] ids) { return toAjax(ardAlarmpointsWellService.deleteArdAlarmpointsWellByIds(ids)); } @Log(title = "井管理", businessType = BusinessType.IMPORT) @PreAuthorize("@ss.hasPermi('alarmpoints:well:import')") @PostMapping("/importData") @ApiOperation("导入井") public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception { ExcelUtil util = new ExcelUtil(ArdAlarmpointsWell.class); List userList = util.importExcel(file.getInputStream()); String operName = getUsername(); String message = ardAlarmpointsWellService.importUser(userList, updateSupport, operName); return success(message); } @PostMapping("/importTemplate") @ApiOperation("井导入模板") public void importTemplate(HttpServletResponse response) { ExcelUtil util = new ExcelUtil(ArdAlarmpointsWell.class); util.importTemplateExcel(response, "井数据"); } /** * 井选项数据 */ @GetMapping("/options") @ApiOperation("井选项数据") public List options(ArdAlarmpointsWell ardAlarmpointsWell) { List list = ardAlarmpointsWellService.selectArdAlarmpointsWellByWellIdLike(ardAlarmpointsWell); List options = new ArrayList(); for (ArdAlarmpointsWell item : list) { Map option = new HashMap(); option.put("value", item.getId()); option.put("label", item.getWellId()); option.put("description", item.getOilProduction()); options.add(option); } return options; } }