CenterdataTHydraulicChannelBluelineController.java 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. package com.sooka.sponest.data.digitalwater.controller;
  2. import com.alibaba.fastjson.JSON;
  3. import com.ruoyi.common.core.constant.DocumentNameConstants;
  4. import com.ruoyi.common.core.domain.R;
  5. import com.ruoyi.common.core.web.controller.BaseController;
  6. import com.ruoyi.common.core.web.domain.AjaxResult;
  7. import com.ruoyi.common.core.web.page.TableDataInfo;
  8. import com.ruoyi.common.log.annotation.Log;
  9. import com.ruoyi.common.log.enums.BusinessType;
  10. import com.ruoyi.common.security.annotation.RequiresPermissions;
  11. import com.sooka.sponest.data.base.domain.ESVo;
  12. import com.sooka.sponest.data.digitalwater.domain.CenterdataTHydraulicChannelBlueline;
  13. import com.sooka.sponest.data.digitalwater.service.ICenterdataTHydraulicChannelBluelineService;
  14. import com.sooka.sponest.data.digitalwater.service.ICenterdataTHydraulicReachService;
  15. import com.sooka.sponest.data.digitalwater.service.ICenterdataTHydraulicRiverService;
  16. import com.sooka.sponest.data.utils.DataConstants;
  17. import com.sooka.sponest.data.utils.DataProducerUtil;
  18. import com.sooka.sponest.data.utils.ExcelUtil;
  19. import io.swagger.annotations.Api;
  20. import io.swagger.annotations.ApiImplicitParam;
  21. import io.swagger.annotations.ApiImplicitParams;
  22. import io.swagger.annotations.ApiOperation;
  23. import org.springframework.beans.factory.annotation.Autowired;
  24. import org.springframework.validation.annotation.Validated;
  25. import org.springframework.web.bind.annotation.*;
  26. import javax.servlet.http.HttpServletResponse;
  27. import java.util.Arrays;
  28. import java.util.List;
  29. /**
  30. * 河道蓝线资源Controller
  31. *
  32. * @author lyq
  33. * @date 2022-11-17
  34. */
  35. @Api(tags = "河道蓝线资源控制器")
  36. @RestController
  37. @RequestMapping("/channelblueline")
  38. public class CenterdataTHydraulicChannelBluelineController extends BaseController {
  39. @Autowired
  40. private ICenterdataTHydraulicChannelBluelineService centerdataTHydraulicChannelBluelineService;
  41. @Autowired
  42. private ICenterdataTHydraulicReachService iCenterdataTHydraulicReachService;
  43. @Autowired
  44. private ICenterdataTHydraulicRiverService iCenterdataTHydraulicRiverService;
  45. @Autowired
  46. private ICenterdataTHydraulicRiverService centerdataTHydraulicRiverService;//河流Service
  47. @Autowired
  48. private ICenterdataTHydraulicReachService centerdataTHydraulicReachService;//河段Service
  49. /**
  50. * 查询河道蓝线资源列表
  51. */
  52. @ApiOperation(value = "查询河道蓝线资源列表", notes = "查询河道蓝线资源列表")
  53. @RequiresPermissions("water:channelblueline:list")
  54. @GetMapping("/list")
  55. public TableDataInfo list(CenterdataTHydraulicChannelBlueline centerdataTHydraulicChannelBlueline) {
  56. startPage();
  57. List<CenterdataTHydraulicChannelBlueline> list = centerdataTHydraulicChannelBluelineService.selectCenterdataTHydraulicChannelBluelineList(centerdataTHydraulicChannelBlueline);
  58. return getDataTable(list);
  59. }
  60. // 远端调用 数字水利远端调用
  61. @ApiOperation(value = "远端调用查询河道蓝线资源", notes = "远端调用查询河道蓝线资源")
  62. @PostMapping("/listChannelBlueline")
  63. public R<List<CenterdataTHydraulicChannelBlueline>> listChannelBlueline(CenterdataTHydraulicChannelBlueline centerdataTHydraulicChannelBlueline) {
  64. return R.ok(centerdataTHydraulicChannelBluelineService.selectCenterdataTHydraulicChannelBluelineList(centerdataTHydraulicChannelBlueline));
  65. }
  66. /**
  67. * 导出河道蓝线资源列表
  68. */
  69. @ApiOperation(value = "导出河道蓝线资源列表", notes = "导出河道蓝线资源列表")
  70. @RequiresPermissions("water:channelblueline:export")
  71. @Log(title = "河道蓝线资源", businessType = BusinessType.EXPORT)
  72. @PostMapping("/export")
  73. public void export(HttpServletResponse response, CenterdataTHydraulicChannelBlueline centerdataTHydraulicChannelBlueline) {
  74. List<CenterdataTHydraulicChannelBlueline> list = centerdataTHydraulicChannelBluelineService.selectCenterdataTHydraulicChannelBluelineList(centerdataTHydraulicChannelBlueline);
  75. for (CenterdataTHydraulicChannelBlueline tHydraulicChannelBlueline : list) {
  76. tHydraulicChannelBlueline.setReach(iCenterdataTHydraulicReachService.selectCenterdataTHydraulicReachById(tHydraulicChannelBlueline.getReach()).getName());
  77. tHydraulicChannelBlueline.setRiver(iCenterdataTHydraulicRiverService.selectCenterdataTHydraulicRiverById(tHydraulicChannelBlueline.getRiver()).getName());
  78. }
  79. ExcelUtil<CenterdataTHydraulicChannelBlueline> util = new ExcelUtil<>(CenterdataTHydraulicChannelBlueline.class);
  80. util.exportExcel(response, list, "河道蓝线资源数据");
  81. }
  82. /**
  83. * 获取河道蓝线资源详细信息
  84. */
  85. @ApiOperation(value = "获取河道蓝线资源详细信息", notes = "获取河道蓝线资源详细信息")
  86. @RequiresPermissions("water:channelblueline:query")
  87. @GetMapping(value = "/{id}")
  88. @ApiImplicitParams(value = {
  89. @ApiImplicitParam(name = "id", value = "主键id", dataType = "String", required = true)
  90. })
  91. public AjaxResult getInfo(@PathVariable("id") String id) {
  92. return AjaxResult.success(centerdataTHydraulicChannelBluelineService.selectCenterdataTHydraulicChannelBluelineById(id));
  93. }
  94. /**
  95. * 新增河道蓝线资源
  96. */
  97. @ApiOperation(value = "新增河道蓝线资源", notes = "新增河道蓝线资源")
  98. @RequiresPermissions("water:channelblueline:add")
  99. @Log(title = "河道蓝线资源", businessType = BusinessType.INSERT)
  100. @PostMapping
  101. public AjaxResult add(@Validated @RequestBody CenterdataTHydraulicChannelBlueline centerdataTHydraulicChannelBlueline) {
  102. String tableName = "centerdata_t_hydraulic_channel_blueline";
  103. String[] keys = {"name","dept_id"};
  104. String[] values = {centerdataTHydraulicChannelBlueline.getName(),String.valueOf(centerdataTHydraulicChannelBlueline.getDeptId())};
  105. if(!centerdataTHydraulicChannelBluelineService.uniqueCheck(tableName, keys, values)){
  106. return AjaxResult.error(DataConstants.ERROR_MSG);
  107. }
  108. int result = centerdataTHydraulicChannelBluelineService.insertCenterdataTHydraulicChannelBlueline(centerdataTHydraulicChannelBlueline);
  109. DataProducerUtil.getInstance().publish(new ESVo(DocumentNameConstants.HYDRAULIC_CHANNEL_BLUELINE,BusinessType.INSERT, JSON.toJSONString(centerdataTHydraulicChannelBlueline)));
  110. return toAjax(result);
  111. }
  112. /**
  113. * 修改河道蓝线资源
  114. */
  115. @ApiOperation(value = "修改河道蓝线资源", notes = "修改河道蓝线资源")
  116. @RequiresPermissions("water:channelblueline:edit")
  117. @Log(title = "河道蓝线资源", businessType = BusinessType.UPDATE)
  118. @PutMapping
  119. public AjaxResult edit(@Validated @RequestBody CenterdataTHydraulicChannelBlueline centerdataTHydraulicChannelBlueline) {
  120. String tableName = "centerdata_t_hydraulic_channel_blueline";
  121. String[] keys = {"name" , "id","dept_id"};
  122. String[] values = {centerdataTHydraulicChannelBlueline.getName() , centerdataTHydraulicChannelBlueline.getId(),String.valueOf(centerdataTHydraulicChannelBlueline.getDeptId())};
  123. if(!centerdataTHydraulicChannelBluelineService.uniqueCheck(tableName, keys, values)){
  124. return AjaxResult.error(DataConstants.ERROR_MSG);
  125. }
  126. int result = centerdataTHydraulicChannelBluelineService.updateCenterdataTHydraulicChannelBlueline(centerdataTHydraulicChannelBlueline);
  127. DataProducerUtil.getInstance().publish(new ESVo(DocumentNameConstants.HYDRAULIC_CHANNEL_BLUELINE,BusinessType.UPDATE, JSON.toJSONString(centerdataTHydraulicChannelBlueline)));
  128. return toAjax(result);
  129. }
  130. /**
  131. * 删除河道蓝线资源
  132. */
  133. @ApiOperation(value = "删除河道蓝线资源", notes = "删除河道蓝线资源")
  134. @RequiresPermissions("water:channelblueline:remove")
  135. @Log(title = "河道蓝线资源", businessType = BusinessType.DELETE)
  136. @DeleteMapping("/{ids}")
  137. @ApiImplicitParams(value = {
  138. @ApiImplicitParam(name = "ids", value = "主键id", dataType = "String[]", required = true)
  139. })
  140. public AjaxResult remove(@PathVariable String[] ids) {
  141. int result = centerdataTHydraulicChannelBluelineService.deleteCenterdataTHydraulicChannelBluelineByIds(ids);
  142. List<String> idList = Arrays.asList(ids);
  143. DataProducerUtil.getInstance().publish(new ESVo(DocumentNameConstants.HYDRAULIC_CHANNEL_BLUELINE,BusinessType.DELETE, JSON.toJSONString(idList)));
  144. return toAjax(result);
  145. }
  146. }