ProBasicProjectPlanController.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. package com.gyee.runeconomy.controller;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.gyee.common.config.R;
  4. import com.gyee.common.model.StringUtils;
  5. import com.gyee.runeconomy.dto.ResultMsg;
  6. import com.gyee.runeconomy.model.auto.ProBasicProjectPlan;
  7. import com.gyee.runeconomy.service.auto.IProBasicProjectPlanService;
  8. import com.gyee.runeconomy.util.ExcelUtils;
  9. import com.gyee.runeconomy.util.SnowflakeGenerator;
  10. import io.swagger.annotations.Api;
  11. import io.swagger.annotations.ApiOperation;
  12. import org.springframework.web.bind.annotation.*;
  13. import org.springframework.web.multipart.MultipartFile;
  14. import javax.annotation.Resource;
  15. import java.io.IOException;
  16. import java.util.Arrays;
  17. import java.util.List;
  18. @RestController
  19. @RequestMapping("//pro-basic-project-plan")
  20. @Api(value = "工程期次计划电量配置", tags = "工程期次计划电量配置")
  21. public class ProBasicProjectPlanController {
  22. @Resource
  23. private IProBasicProjectPlanService proBasicProjectPlanService;
  24. /**
  25. * 查询
  26. *
  27. * @param id
  28. * @param projectId
  29. * @param windpowerstationId
  30. * @param pageNum
  31. * @param pageSize
  32. * @return
  33. */
  34. @GetMapping(value = "/list")
  35. @ApiOperation(value = "工程计划电量-列表", notes = "工程计划电量-列表")
  36. public R findList(@RequestParam(value = "id", required = false) String id,
  37. @RequestParam(value = "projectId", required = false) String projectId,
  38. @RequestParam(value = "windpowerstationId", required = false) String windpowerstationId,
  39. @RequestParam(value = "year", required = false) String year,
  40. @RequestParam(value = "month", required = false) String month,
  41. @RequestParam(value = "modificationTime", required = false) String modificationTime,
  42. @RequestParam(value = "pageNum", required = true) String pageNum,
  43. @RequestParam(value = "pageSize", required = true) String pageSize) {
  44. IPage<ProBasicProjectPlan> list = proBasicProjectPlanService.List(id, projectId, windpowerstationId, year, month, modificationTime, pageNum, pageSize);
  45. if (null != list) {
  46. return R.ok().data(list);
  47. } else {
  48. return R.error().data("查询失败!");
  49. }
  50. }
  51. /**
  52. * 新增
  53. *
  54. * @param proBasicProjectPlan
  55. * @return
  56. */
  57. @PostMapping(value = "/add")
  58. @ApiOperation(value = "工程计划电量-新增or修改", notes = "工程计划电量-新增or修改")
  59. public R addAll(@RequestBody ProBasicProjectPlan proBasicProjectPlan) {
  60. boolean b = proBasicProjectPlanService.saveOrUpdate(proBasicProjectPlan);
  61. if (b) {
  62. return R.ok().data(b);
  63. } else {
  64. return R.error().data("保存失败!");
  65. }
  66. }
  67. /**
  68. * 删除
  69. *
  70. * @param ids
  71. * @return
  72. */
  73. @DeleteMapping(value = "/remove-ProjectPlan/{ids}")
  74. @ApiOperation(value = "工程计划电量-删除", notes = "工程计划电量-删除")
  75. public R deleteAll(@PathVariable("ids") String ids) {
  76. String[] strings = ids.split(",");
  77. boolean b = proBasicProjectPlanService.removeByIds(Arrays.asList(strings));
  78. if (b) {
  79. return R.ok().data(b);
  80. } else {
  81. return R.error().data("删除失败!");
  82. }
  83. }
  84. /**
  85. * 获得导入模版
  86. * @param response
  87. * @throws IOException
  88. */
  89. // @GetMapping("/get-import-template")
  90. // @ApiOperation(value = "获得导入模板")
  91. // public void importTemplate(HttpServletResponse response) throws IOException {
  92. // // 手动创建导出 demo
  93. // Date current = com.gyee.common.util.DateUtils.getCurrentDate();
  94. // Calendar calendar = Calendar.getInstance();
  95. // calendar.setTime(current);
  96. // calendar.add(Calendar.DAY_OF_MONTH, -1);
  97. // Date previousDay = calendar.getTime();
  98. //
  99. // List<ProBasicProjectPlan> list = Arrays.asList(
  100. // ProBasicProjectPlan.builder().id("").generatingCapacity(1.0).maintenancePowe("2.0").month("3").year("2023").outageHours(4.0).windpowerstationId("SXJ_KGDL_GJY_FDC_STA").projectId("SXJ_KGDL_GJYF03_EG").modificationTime(DateUtils.truncate(previousDay)).build()
  101. //
  102. // );
  103. //
  104. // // 输出
  105. // ExcelUtils.write(response, "导入模板.xls", "导入模板", ProBasicProjectPlan.class, list);
  106. // }
  107. /**
  108. * 导入
  109. *
  110. * @param file
  111. * @return
  112. * @throws Exception
  113. */
  114. @PostMapping("/import")
  115. @ApiOperation(value = "导入", notes = "导入")
  116. public com.gyee.runeconomy.dto.R importExcel(@RequestParam("file") MultipartFile file) throws Exception {
  117. List<ProBasicProjectPlan> list = ExcelUtils.read(file, ProBasicProjectPlan.class);
  118. if (StringUtils.notEmp(list) && !list.isEmpty()) {
  119. for (ProBasicProjectPlan vo : list) {
  120. vo.setId(SnowflakeGenerator.generateId());
  121. // vo.setOperationTime(new Date());
  122. // List<ProBasicProjectPlan > ls=ProBasicProjectPlan.getByDateAndName(vo.getName(),vo.getRecordDate());
  123. // if(ls.isEmpty())
  124. // {
  125. proBasicProjectPlanService.save(vo);
  126. // }
  127. }
  128. }
  129. if (StringUtils.isNotNull(list)) {
  130. return com.gyee.runeconomy.dto.R.data(ResultMsg.ok(list));
  131. } else {
  132. return com.gyee.runeconomy.dto.R.error(ResultMsg.error());
  133. }
  134. }
  135. }