CenterdataTFarmGreenhouseFilmController.java 7.4 KB

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