CenterdataTFarmGreenhouseFilmController.java 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. package com.sooka.sponest.data.digitalagriculture.controller;
  2. import com.alibaba.fastjson.JSON;
  3. import com.ruoyi.common.core.constant.DocumentNameConstants;
  4. import com.ruoyi.common.core.utils.StringUtils;
  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.ruoyi.common.security.utils.DictUtils;
  12. import com.sooka.sponest.data.base.domain.ESVo;
  13. import com.sooka.sponest.data.digitalagriculture.domain.CenterdataTFarmGreenhouseFilm;
  14. import com.sooka.sponest.data.digitalagriculture.domain.vo.CenterdataTFarmGreenhouseFilmVo;
  15. import com.sooka.sponest.data.digitalagriculture.service.ICenterdataTFarmGreenhouseFilmService;
  16. import com.sooka.sponest.data.utils.DataAttachUtil;
  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.ApiOperation;
  21. import org.springframework.beans.BeanUtils;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.web.bind.annotation.*;
  24. import javax.servlet.http.HttpServletResponse;
  25. import java.util.ArrayList;
  26. import java.util.Arrays;
  27. import java.util.List;
  28. /**
  29. * 棚膜信息Controller
  30. *
  31. * @author ruoyi
  32. * @date 2023-04-30
  33. */
  34. @RestController
  35. @RequestMapping("/greenhousefilm")
  36. @Api(tags = "棚膜信息")
  37. public class CenterdataTFarmGreenhouseFilmController extends BaseController {
  38. @Autowired
  39. private ICenterdataTFarmGreenhouseFilmService centerdataTFarmGreenhouseFilmService;
  40. /**
  41. * 查询棚膜信息列表
  42. */
  43. @ApiOperation(value = "查询棚膜信息列表", notes = "查询棚膜信息列表")
  44. @RequiresPermissions("greenhousefilm:greenhousefilm:list")
  45. @GetMapping("/list")
  46. public TableDataInfo list(CenterdataTFarmGreenhouseFilm centerdataTFarmGreenhouseFilm) {
  47. startPage();
  48. List<CenterdataTFarmGreenhouseFilm> list = centerdataTFarmGreenhouseFilmService.selectCenterdataTFarmGreenhouseFilmList(centerdataTFarmGreenhouseFilm);
  49. TableDataInfo tableDataInfo = getDataTable(list);
  50. tableDataInfo.setRows(dataFilter((List<CenterdataTFarmGreenhouseFilm>) tableDataInfo.getRows()));
  51. return tableDataInfo;
  52. }
  53. private List<CenterdataTFarmGreenhouseFilmVo> dataFilter(List<CenterdataTFarmGreenhouseFilm> films) {
  54. List<CenterdataTFarmGreenhouseFilmVo> greenhouseVoList = new ArrayList<>();
  55. CenterdataTFarmGreenhouseFilmVo centerdataTFarmGreenhouseFilmVo = null;
  56. for (CenterdataTFarmGreenhouseFilm film : films) {
  57. centerdataTFarmGreenhouseFilmVo = new CenterdataTFarmGreenhouseFilmVo();
  58. BeanUtils.copyProperties(film, centerdataTFarmGreenhouseFilmVo);
  59. if (StringUtils.isNotBlank(film.getPlantType())) {
  60. centerdataTFarmGreenhouseFilmVo.setPlantTypeOne(film.getPlantType());
  61. centerdataTFarmGreenhouseFilmVo.setPlantType(Arrays.asList(film.getPlantType().split(",")));
  62. }
  63. if (StringUtils.isNotBlank(film.getParkNature())) {
  64. centerdataTFarmGreenhouseFilmVo.setParkNatureOne(film.getParkNature());
  65. centerdataTFarmGreenhouseFilmVo.setParkNature(Arrays.asList(film.getParkNature().split(",")));
  66. }
  67. greenhouseVoList.add(centerdataTFarmGreenhouseFilmVo);
  68. }
  69. return greenhouseVoList;
  70. }
  71. /**
  72. * 导出棚膜信息列表
  73. */
  74. @ApiOperation(value = "导出棚膜信息列表", notes = "导出棚膜信息列表")
  75. @RequiresPermissions("greenhousefilm:greenhousefilm:export")
  76. @Log(title = "棚膜信息", businessType = BusinessType.EXPORT)
  77. @PostMapping("/export")
  78. public void export(HttpServletResponse response, CenterdataTFarmGreenhouseFilm centerdataTFarmGreenhouseFilm) {
  79. List<CenterdataTFarmGreenhouseFilm> list = centerdataTFarmGreenhouseFilmService.selectCenterdataTFarmGreenhouseFilmList(centerdataTFarmGreenhouseFilm);
  80. List<CenterdataTFarmGreenhouseFilmVo> filmVos = dataFilter(list);
  81. ExcelUtil<CenterdataTFarmGreenhouseFilmVo> util = new ExcelUtil<>(CenterdataTFarmGreenhouseFilmVo.class);
  82. util.exportExcel(response, filmVos, "棚膜信息数据");
  83. }
  84. /**
  85. * 获取棚膜信息详细信息
  86. */
  87. @ApiOperation(value = "获取棚膜信息详细信息", notes = "获取棚膜信息详细信息")
  88. @RequiresPermissions("greenhousefilm:greenhousefilm:query")
  89. @GetMapping(value = "/{id}")
  90. public AjaxResult getInfo(@PathVariable("id") String id) {
  91. CenterdataTFarmGreenhouseFilmVo centerdataTFarmGreenhouseFilmVo = centerdataTFarmGreenhouseFilmService.selectCenterdataTFarmGreenhouseFilmById(id);
  92. centerdataTFarmGreenhouseFilmVo.setAttachPaths(DataAttachUtil.getDataAttachUpload(id));
  93. return AjaxResult.success(centerdataTFarmGreenhouseFilmVo);
  94. }
  95. /**
  96. * 新增棚膜信息
  97. */
  98. @ApiOperation(value = "新增棚膜信息", notes = "新增棚膜信息")
  99. @RequiresPermissions("greenhousefilm:greenhousefilm:add")
  100. @Log(title = "棚膜信息", businessType = BusinessType.INSERT)
  101. @PostMapping
  102. public AjaxResult add(@RequestBody CenterdataTFarmGreenhouseFilmVo centerdataTFarmGreenhouseFilm) {
  103. int result = centerdataTFarmGreenhouseFilmService.insertCenterdataTFarmGreenhouseFilm(centerdataTFarmGreenhouseFilm);
  104. DataAttachUtil.dataAttachUpload(centerdataTFarmGreenhouseFilm.getId(), centerdataTFarmGreenhouseFilm.getAttachPaths(), DocumentNameConstants.FARM_GREENHOUSE_FILM, centerdataTFarmGreenhouseFilm.getBusSource());
  105. DataProducerUtil.getInstance().publish(new ESVo(DocumentNameConstants.FARM_GREENHOUSE_FILM,BusinessType.INSERT, JSON.toJSONString(centerdataTFarmGreenhouseFilm)));
  106. return toAjax(result);
  107. }
  108. /**
  109. * 修改棚膜信息
  110. */
  111. @ApiOperation(value = "修改棚膜信息", notes = "修改棚膜信息")
  112. @RequiresPermissions("greenhousefilm:greenhousefilm:edit")
  113. @Log(title = "棚膜信息", businessType = BusinessType.UPDATE)
  114. @PutMapping
  115. public AjaxResult edit(@RequestBody CenterdataTFarmGreenhouseFilmVo centerdataTFarmGreenhouseFilm) {
  116. int result = centerdataTFarmGreenhouseFilmService.updateCenterdataTFarmGreenhouseFilm(centerdataTFarmGreenhouseFilm);
  117. DataAttachUtil.dataAttachUpload(centerdataTFarmGreenhouseFilm.getId(), centerdataTFarmGreenhouseFilm.getAttachPaths(), DocumentNameConstants.FARM_GREENHOUSE_FILM, centerdataTFarmGreenhouseFilm.getBusSource());
  118. DataProducerUtil.getInstance().publish(new ESVo(DocumentNameConstants.FARM_GREENHOUSE_FILM,BusinessType.UPDATE, JSON.toJSONString(centerdataTFarmGreenhouseFilm)));
  119. return toAjax(result);
  120. }
  121. /**
  122. * 删除棚膜信息
  123. */
  124. @ApiOperation(value = "删除棚膜信息", notes = "删除棚膜信息")
  125. @RequiresPermissions("greenhousefilm:greenhousefilm:remove")
  126. @Log(title = "棚膜信息", businessType = BusinessType.DELETE)
  127. @DeleteMapping("/{ids}")
  128. public AjaxResult remove(@PathVariable String[] ids) {
  129. int result = centerdataTFarmGreenhouseFilmService.deleteCenterdataTFarmGreenhouseFilmByIds(ids);
  130. List<String> idList = Arrays.asList(ids);
  131. DataProducerUtil.getInstance().publish(new ESVo(DocumentNameConstants.FARM_GREENHOUSE_FILM,BusinessType.DELETE, JSON.toJSONString(idList)));
  132. return toAjax(result);
  133. }
  134. }