1
0

TdgyController.java 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. package com.siwei.apply.controller;
  2. import com.siwei.apply.domain.NodeLand;
  3. import com.siwei.apply.domain.res.LandTypeTreeRes;
  4. import com.siwei.apply.domain.res.TdgyRes;
  5. import com.siwei.apply.domain.vo.TdgyUpdateVo;
  6. import com.siwei.apply.domain.vo.TdgyVo;
  7. import com.siwei.apply.service.LandOneCodeService;
  8. import com.siwei.apply.service.NodeLandService;
  9. import com.siwei.apply.service.ProjectService;
  10. import com.siwei.apply.service.TdgyService;
  11. import com.siwei.common.core.domain.R;
  12. import com.siwei.common.core.web.controller.BaseController;
  13. import org.apache.commons.lang3.StringUtils;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.web.bind.annotation.*;
  16. import java.util.HashMap;
  17. import java.util.List;
  18. import java.util.Map;
  19. import java.util.Objects;
  20. /**
  21. * 土地供应 控制器
  22. * 单独选址第三步
  23. * 批次跑批第二步
  24. */
  25. @RestController
  26. @RequestMapping("/tdgy")
  27. public class TdgyController extends BaseController {
  28. @Autowired
  29. private TdgyService tdgyService;
  30. @Autowired
  31. NodeLandService nodeLandService;
  32. @Autowired
  33. ProjectService projectService;
  34. @Autowired
  35. private LandOneCodeService landOneCodeService;
  36. /**
  37. * 添加土地供应
  38. */
  39. @PostMapping()
  40. public R<Map> Add(@RequestBody TdgyVo tdgyVo) {
  41. try {
  42. Boolean b = tdgyService.isExit(tdgyVo.getProjectId());
  43. if (b == true) {
  44. return R.fail("此项目已添加土地供应");
  45. }
  46. String id = tdgyService.add(tdgyVo);
  47. Map<String, String> map = new HashMap<>();
  48. map.put("id", id);
  49. return R.ok(map);
  50. } catch (Exception e) {
  51. return R.fail(e.getMessage());
  52. }
  53. }
  54. /**
  55. * 获取土地供应
  56. *
  57. * @param projectId 项目ID
  58. * @return 土地供应
  59. */
  60. @GetMapping("/{projectId}")
  61. public R<TdgyRes> Get(@PathVariable String projectId) {
  62. try {
  63. return R.ok(tdgyService.get(projectId));
  64. } catch (Exception e) {
  65. return R.fail(e.getMessage());
  66. }
  67. }
  68. /**
  69. * 通过主键id获取土地供应,返回结果与按projectId查询一致
  70. */
  71. @GetMapping("/id/{id}")
  72. public R<TdgyRes> GetById(@PathVariable String id) {
  73. try {
  74. return R.ok(tdgyService.getById(id));
  75. } catch (Exception e) {
  76. return R.fail(e.getMessage());
  77. }
  78. }
  79. /**
  80. * 更新土地供应
  81. *
  82. * @param tdgyUpdateVo 土地供应
  83. * @return 操作结果
  84. */
  85. @PutMapping()
  86. public R<Void> Update(@RequestBody TdgyUpdateVo tdgyUpdateVo) {
  87. try {
  88. tdgyService.update(tdgyUpdateVo);
  89. return R.ok();
  90. } catch (Exception e) {
  91. return R.fail(e.getMessage());
  92. }
  93. }
  94. /**
  95. * 查询地块类型树结构
  96. */
  97. @GetMapping("/landTypeTree")
  98. public R<List<LandTypeTreeRes>> getLandTypeTree() {
  99. try {
  100. List<LandTypeTreeRes> tree = tdgyService.getLandTypeTree();
  101. return R.ok(tree);
  102. } catch (Exception e) {
  103. return R.fail(e.getMessage());
  104. }
  105. }
  106. /**
  107. * 更新土地供应的上链状态
  108. */
  109. @PutMapping("/onchain")
  110. public R<Void> updateHasOnchain(@RequestBody Map<String, Object> params) {
  111. try {
  112. String id = (String) params.get("id");
  113. String projectId = (String) params.get("projectId");
  114. Boolean hasOnchain = (Boolean) params.get("hasOnchain");
  115. if (StringUtils.isBlank(id)) {
  116. return R.fail("nodeId不能为空");
  117. }
  118. if (StringUtils.isBlank(projectId)) {
  119. return R.fail("projectId不能为空");
  120. }
  121. NodeLand nodeLand = nodeLandService.getNodeLandByNodeId(id);
  122. if(Objects.isNull(nodeLand)){
  123. return R.fail(502,"数据空间信息不存在,请检查先导入空间数据");
  124. }
  125. tdgyService.updateHasOnchain(id,projectId, hasOnchain);
  126. // 更新项目表的上链数量
  127. projectService.countOnChinaNum(projectId);
  128. //这里进行预赋码逻辑
  129. projectService.addPreAssignCode(id,projectId,nodeLand.getGeomDbId(),1);
  130. //这里生成资源吗
  131. landOneCodeService.addOrUpdateLandOneCodeInfo(projectId,id);
  132. return R.ok();
  133. } catch (Exception e) {
  134. return R.fail(502,e.getMessage());
  135. //return R.fail(e.getMessage());
  136. }
  137. }
  138. }