package com.ard.work.point.tubes.controller; import com.ard.common.core.domain.R; import com.ard.common.core.utils.poi.ExcelUtil; import com.ard.common.core.web.controller.BaseController; import com.ard.common.core.web.domain.AjaxResult; import com.ard.common.core.web.page.TableDataInfo; import com.ard.common.log.annotation.Log; import com.ard.common.log.enums.BusinessType; import com.ard.common.security.annotation.InnerAuth; import com.ard.common.security.annotation.RequiresPermissions; //import com.ard.work.point.tubes.domain.ArdTubesDetails; import com.ard.work.point.tubes.service.IArdTubesDetailsService; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import com.ard.work.api.domian.ArdTubesDetails; import jakarta.servlet.http.HttpServletResponse; import java.util.List; import static com.ard.common.security.utils.SecurityUtils.getUsername; /** * 管材详细信息管理Controller * * @author XiaJiJian * @date 2024-09-13 */ @Tag(name = "管线信息管理") @RestController @RequestMapping("/tubesDetails") public class ArdTubesDetailsController extends BaseController { @Autowired private IArdTubesDetailsService ardTubesDetailsService; /** * 管材详细信息管理列表 */ @Operation(summary = "管材详细信息管理列表") @RequiresPermissions("point:tubesDetails:list") @GetMapping("/list") public TableDataInfo list(ArdTubesDetails ardTubesDetails) { //startPage(); List list = ardTubesDetailsService.selectArdTubesDetailsList(ardTubesDetails); return getDataTable(list); } /** * 管材详细信息管理列表 */ @InnerAuth @GetMapping("/rpc/list") // public R> listRpc(@RequestBody ArdTubesDetails ardTubesDetails) public R> listRpc(@RequestParam("ReelNumber") String ReelNumber) { ArdTubesDetails ardTubesDetails =new ArdTubesDetails(); ardTubesDetails.setReelNumber(ReelNumber); List list = ardTubesDetailsService.selectArdTubesDetailsList(ardTubesDetails); return R.ok(list); } /** * 导出管材详细信息管理列表 */ @RequiresPermissions("point:tubesDetails:export") @Log(title = "管材详细信息管理", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ArdTubesDetails ardTubesDetails) { List list = ardTubesDetailsService.selectArdTubesDetailsList(ardTubesDetails); ExcelUtil util = new ExcelUtil(ArdTubesDetails.class); util.exportExcel(response, list, "管线详细数据"); } /** * 获取管材详细信息管理信息 */ @RequiresPermissions("point:tubesDetails:query") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") String id) { return success(ardTubesDetailsService.selectArdTubesDetailsById(id)); } /** * 新增管材详细信息管理详细 */ @RequiresPermissions("point:tubesDetails:add") @Log(title = "管材详细信息管理", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody ArdTubesDetails ardTubesDetails) { return toAjax(ardTubesDetailsService.insertArdTubesDetails(ardTubesDetails)); } /** * 修改管材详细信息管理详细 */ @RequiresPermissions("point:tubesDetails:edit") @Log(title = "管材详细信息管理", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody ArdTubesDetails ardTubesDetails) { return toAjax(ardTubesDetailsService.updateArdTubesDetails(ardTubesDetails)); } /** * 删除管材详细信息管理详细 */ @RequiresPermissions("point:tubesDetails:remove") @Log(title = "管材详细信息管理", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable String[] ids) { return toAjax(ardTubesDetailsService.deleteArdTubesDetailsByIds(ids)); } /** * 管材详细信息管理详情导入 */ @Operation(summary = "管材详细信息管理详情导入") @RequiresPermissions("alarmpoints:tubesDetails:import") @Log(title = "管材详细信息管理", businessType = BusinessType.IMPORT) @PostMapping("/importData") public AjaxResult importData(MultipartFile file, boolean updateSupport, String tubeId) throws Exception { ExcelUtil util = new ExcelUtil(ArdTubesDetails.class); List tubesDetailsList = util.importExcel(file.getInputStream()); String operName = getUsername(); String message = ardTubesDetailsService.importArdTubesDetails(tubesDetailsList, updateSupport, operName,tubeId); return success(message); } /** * 管材详细信息管理详情导入接口 */ @Operation(summary = "管材详细信息管理详情模板下载") @PostMapping("/importTemplate") public void importTemplate(HttpServletResponse response) { ExcelUtil util = new ExcelUtil(ArdTubesDetails.class); util.importTemplateExcel(response, "管线数据"); } }