|
|
@@ -1,14 +1,19 @@
|
|
|
package com.siwei.apply.controller.cadastre;
|
|
|
|
|
|
-import com.siwei.apply.domain.res.*;
|
|
|
+import com.siwei.apply.domain.res.StorageYearStatisticsRes;
|
|
|
+import com.siwei.apply.domain.res.TrendStatisticsData;
|
|
|
+import com.siwei.apply.domain.res.TrendStatisticsRes;
|
|
|
+import com.siwei.apply.domain.res.TrendUseStatisticsData;
|
|
|
import com.siwei.apply.domain.vo.LandSupplyProjectVO;
|
|
|
-import com.siwei.apply.service.cadastre.ISupplyService;
|
|
|
-import com.siwei.apply.service.cadastre.IZymlService;
|
|
|
import com.siwei.apply.service.cadastre.impl.StorageServiceImpl;
|
|
|
import com.siwei.common.core.domain.R;
|
|
|
import com.siwei.common.core.web.controller.BaseController;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.web.bind.annotation.*;
|
|
|
+import org.springframework.web.bind.annotation.GetMapping;
|
|
|
+import org.springframework.web.bind.annotation.PathVariable;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestParam;
|
|
|
+import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
@@ -16,9 +21,7 @@ import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* 地籍土地收储模块
|
|
|
- *
|
|
|
*/
|
|
|
-
|
|
|
@RestController
|
|
|
@RequestMapping("/cadastre/storage")
|
|
|
public class StorageController extends BaseController {
|
|
|
@@ -26,226 +29,28 @@ public class StorageController extends BaseController {
|
|
|
@Autowired
|
|
|
private StorageServiceImpl storageServiceImpl;
|
|
|
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private ISupplyService supplyService;
|
|
|
-
|
|
|
-
|
|
|
/**
|
|
|
* 年度统计
|
|
|
*/
|
|
|
@GetMapping("/yearStatistics/{year}")
|
|
|
public R<StorageYearStatisticsRes> getYearStatistics(@PathVariable String year) {
|
|
|
try {
|
|
|
- StorageYearStatisticsRes res = new StorageYearStatisticsRes();
|
|
|
- if (year.equalsIgnoreCase("2024")) {
|
|
|
- StorageRateRes storageRate = new StorageRateRes();
|
|
|
-
|
|
|
- List<LandUseRes> landUseStatisticsList = new java.util.ArrayList<>(List.of()); // 用途分析
|
|
|
-
|
|
|
- List<ProjectSupplyRes> projectSupplyList = new java.util.ArrayList<>(List.of()); // 供应方式
|
|
|
- storageRate.setCompleteRate(63 + (int) (Math.random() * 10));
|
|
|
- storageRate.setPlanProjectCount(33 + (int) (Math.random() * 5));
|
|
|
- storageRate.setCompleteProjectCount(21 + (int) (Math.random() * 5));
|
|
|
-
|
|
|
- storageRate.setPlanArea((float) (Math.round((788.6f + (float) (Math.random() * 100)) * 100) / 100.0));
|
|
|
- storageRate.setCompleteArea((float) (Math.round((548.2f + (float) (Math.random() * 100)) * 100) / 100.0));
|
|
|
- storageRate.setGdUnit("亩");
|
|
|
- storageRate.setEstimatedCost(349338.6f);
|
|
|
- storageRate.setExpenditureCost(109300.3f);
|
|
|
- res.setStorageRate(storageRate);
|
|
|
-
|
|
|
- // --------------土地用途分析----------------------
|
|
|
-
|
|
|
- LandUseRes landUse1 = new LandUseRes();
|
|
|
- landUse1.setLandUseTypeName("城镇住宅用地");
|
|
|
- landUse1.setPlanLandUseArea(700);
|
|
|
- landUse1.setCompleteLandUseArea(300);
|
|
|
-
|
|
|
- LandUseRes landUse2 = new LandUseRes();
|
|
|
- landUse2.setLandUseTypeName("教育用地");
|
|
|
- landUse2.setPlanLandUseArea(900);
|
|
|
- landUse2.setCompleteLandUseArea(600);
|
|
|
-
|
|
|
- landUseStatisticsList.addAll(List.of(landUse1, landUse2));
|
|
|
- res.setLandUseStatisticsList(landUseStatisticsList);
|
|
|
- // --------------供应方式----------------------
|
|
|
-
|
|
|
- ProjectSupplyRes projectSupply1 = new ProjectSupplyRes();
|
|
|
- projectSupply1.setGdArea(263.12f);
|
|
|
- projectSupply1.setGdType("征用");
|
|
|
- projectSupply1.setGdUnit("亩");
|
|
|
-
|
|
|
- ProjectSupplyRes projectSupply2 = new ProjectSupplyRes();
|
|
|
- projectSupply2.setGdArea(220.12f);
|
|
|
- projectSupply2.setGdType("收回");
|
|
|
- projectSupply2.setGdUnit("亩");
|
|
|
-
|
|
|
- ProjectSupplyRes projectSupply3 = new ProjectSupplyRes();
|
|
|
- projectSupply3.setGdArea(190.12f);
|
|
|
- projectSupply3.setGdType("收购");
|
|
|
- projectSupply3.setGdUnit("亩");
|
|
|
-
|
|
|
- ProjectSupplyRes projectSupply4 = new ProjectSupplyRes();
|
|
|
- projectSupply4.setGdArea(390.12f);
|
|
|
- projectSupply4.setGdType("置换");
|
|
|
- projectSupply4.setGdUnit("亩");
|
|
|
-
|
|
|
- ProjectSupplyRes projectSupply5 = new ProjectSupplyRes();
|
|
|
- projectSupply5.setGdArea(250.12f);
|
|
|
- projectSupply5.setGdType("其它");
|
|
|
- projectSupply5.setGdUnit("亩");
|
|
|
-
|
|
|
- projectSupplyList.addAll(List.of(projectSupply1, projectSupply2, projectSupply3, projectSupply4, projectSupply5));
|
|
|
- res.setProjectSupplyList(projectSupplyList);
|
|
|
-
|
|
|
- } else if (year.equalsIgnoreCase("2025") ) {
|
|
|
- StorageRateRes storageRate = new StorageRateRes();
|
|
|
- List<LandUseRes> landUseStatisticsList = new java.util.ArrayList<>(List.of()); // 用途分析
|
|
|
-
|
|
|
-
|
|
|
- List<ProjectSupplyRes> projectSupplyList = new java.util.ArrayList<>(List.of()); // 供应方式
|
|
|
- storageRate.setCompleteRate(46);
|
|
|
- storageRate.setPlanProjectCount(15);
|
|
|
- storageRate.setCompleteProjectCount(7);
|
|
|
-
|
|
|
- storageRate.setPlanArea(1788.6f);
|
|
|
- storageRate.setCompleteArea(445.2f);
|
|
|
- storageRate.setGdUnit("亩");
|
|
|
- storageRate.setEstimatedCost(149338.6f);
|
|
|
- storageRate.setExpenditureCost(89338.3f);
|
|
|
- res.setStorageRate(storageRate);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- // --------------土地用途分析----------------------
|
|
|
- // 城镇住宅用地,教育用地,商业用地,工业用地,物流仓储用地,公路用地,工业绿地
|
|
|
- String[] landTypes = { "城镇住宅用地", "教育用地", "商业用地", "工业用地", "物流仓储用地", "公路用地", "工业绿地" };
|
|
|
- for (String type : landTypes) {
|
|
|
- LandUseRes landUse = new LandUseRes();
|
|
|
- landUse.setLandUseTypeName(type);
|
|
|
- // 随机生成面积
|
|
|
- landUse.setPlanLandUseArea(Integer.parseInt(String.valueOf(500 + (int) (Math.random() * 500))));
|
|
|
- landUse.setCompleteLandUseArea(Integer.parseInt(String.valueOf(300 + (int) (Math.random() * 300))));
|
|
|
- landUseStatisticsList.add(landUse);
|
|
|
- }
|
|
|
- res.setLandUseStatisticsList(landUseStatisticsList);
|
|
|
-
|
|
|
- // --------------供应方式----------------------
|
|
|
- ProjectSupplyRes projectSupply1 = new ProjectSupplyRes();
|
|
|
- projectSupply1.setGdArea((float) (Math.round((263.12f + (float) (Math.random() * 100)) * 100) / 100.0));
|
|
|
- projectSupply1.setGdType("征用");
|
|
|
- projectSupply1.setGdUnit("亩");
|
|
|
-
|
|
|
- ProjectSupplyRes projectSupply2 = new ProjectSupplyRes();
|
|
|
-
|
|
|
- projectSupply2.setGdArea((float) (Math.round((220.12f + (float) (Math.random() * 100)) * 100) / 100.0));
|
|
|
- projectSupply2.setGdType("收回");
|
|
|
- projectSupply2.setGdUnit("亩");
|
|
|
-
|
|
|
- ProjectSupplyRes projectSupply3 = new ProjectSupplyRes();
|
|
|
- projectSupply3.setGdArea((float) (Math.round((190.12f + (float) (Math.random() * 100)) * 100) / 100.0));
|
|
|
- projectSupply3.setGdType("收购");
|
|
|
- projectSupply3.setGdUnit("亩");
|
|
|
-
|
|
|
- ProjectSupplyRes projectSupply4 = new ProjectSupplyRes();
|
|
|
- projectSupply4.setGdArea(390.12f);
|
|
|
- projectSupply4.setGdType("置换");
|
|
|
- projectSupply4.setGdUnit("亩");
|
|
|
-
|
|
|
- ProjectSupplyRes projectSupply5 = new ProjectSupplyRes();
|
|
|
- projectSupply5.setGdArea(250.12f);
|
|
|
- projectSupply5.setGdType("其它");
|
|
|
- projectSupply5.setGdUnit("亩");
|
|
|
-
|
|
|
- projectSupplyList.addAll(List.of(projectSupply1, projectSupply2, projectSupply3, projectSupply4, projectSupply5));
|
|
|
- res.setProjectSupplyList(projectSupplyList);
|
|
|
- }else if (year.equalsIgnoreCase("2022")) {
|
|
|
- StorageRateRes storageRate = new StorageRateRes();
|
|
|
- List<LandUseRes> landUseStatisticsList = new java.util.ArrayList<>(List.of()); // 用途分析
|
|
|
- List<ProjectSupplyRes> projectSupplyList = new java.util.ArrayList<>(List.of()); // 供应方式
|
|
|
- storageRate.setCompleteRate(78 + (int) (Math.random() * 10));
|
|
|
- storageRate.setPlanProjectCount(35 + (int) (Math.random() * 5));
|
|
|
- storageRate.setCompleteProjectCount(21 + (int) (Math.random() * 5));
|
|
|
- storageRate.setPlanArea((float) (Math.round((788.6f + (float) (Math.random() * 100)) * 100) / 100.0));
|
|
|
- storageRate.setCompleteArea((float) (Math.round((548.2f + (float) (Math.random() * 100)) * 100) / 100.0));
|
|
|
- storageRate.setGdUnit("亩");
|
|
|
- storageRate.setEstimatedCost(1254.6f);
|
|
|
- storageRate.setExpenditureCost(1000.3f);
|
|
|
- res.setStorageRate(storageRate);
|
|
|
-
|
|
|
- // --------------土地用途分析----------------------
|
|
|
- // 城镇住宅用地,教育用地,商业用地,工业用地,物流仓储用地,公路用地,工业绿地
|
|
|
- String[] landTypes = { "城镇住宅用地", "教育用地", "商业用地", "工业用地", "物流仓储用地", "公路用地", "工业绿地" };
|
|
|
- for (String type : landTypes) {
|
|
|
- LandUseRes landUse = new LandUseRes();
|
|
|
- landUse.setLandUseTypeName(type);
|
|
|
- // 随机生成面积
|
|
|
- landUse.setPlanLandUseArea(Integer.parseInt(String.valueOf(500 + (int) (Math.random() * 500))));
|
|
|
- landUse.setCompleteLandUseArea(Integer.parseInt(String.valueOf(300 + (int) (Math.random() * 300))));
|
|
|
- landUseStatisticsList.add(landUse);
|
|
|
- }
|
|
|
- res.setLandUseStatisticsList(landUseStatisticsList);
|
|
|
-
|
|
|
- // --------------供应方式----------------------
|
|
|
- ProjectSupplyRes projectSupply1 = new ProjectSupplyRes();
|
|
|
- projectSupply1.setGdArea((float) (Math.round((263.12f + (float) (Math.random() * 100)) * 100) / 100.0));
|
|
|
- projectSupply1.setGdType("征用");
|
|
|
- projectSupply1.setGdUnit("亩");
|
|
|
-
|
|
|
- ProjectSupplyRes projectSupply2 = new ProjectSupplyRes();
|
|
|
-
|
|
|
- projectSupply2.setGdArea((float) (Math.round((220.12f + (float) (Math.random() * 100)) * 100) / 100.0));
|
|
|
- projectSupply2.setGdType("收回");
|
|
|
- projectSupply2.setGdUnit("亩");
|
|
|
-
|
|
|
- ProjectSupplyRes projectSupply3 = new ProjectSupplyRes();
|
|
|
- projectSupply3.setGdArea((float) (Math.round((190.12f + (float) (Math.random() * 100)) * 100) / 100.0));
|
|
|
- projectSupply3.setGdType("收购");
|
|
|
- projectSupply3.setGdUnit("亩");
|
|
|
-
|
|
|
- ProjectSupplyRes projectSupply4 = new ProjectSupplyRes();
|
|
|
- projectSupply4.setGdArea(390.12f);
|
|
|
- projectSupply4.setGdType("置换");
|
|
|
- projectSupply4.setGdUnit("亩");
|
|
|
-
|
|
|
- ProjectSupplyRes projectSupply5 = new ProjectSupplyRes();
|
|
|
- projectSupply5.setGdArea(250.12f);
|
|
|
- projectSupply5.setGdType("其它");
|
|
|
- projectSupply5.setGdUnit("亩");
|
|
|
-
|
|
|
- projectSupplyList.addAll(List.of(projectSupply1, projectSupply2, projectSupply3, projectSupply4, projectSupply5));
|
|
|
- res.setProjectSupplyList(projectSupplyList);
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- return R.ok(res);
|
|
|
+ return R.ok(storageServiceImpl.getYearStatistics(year));
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
return R.fail(e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
- *
|
|
|
* 趋势统计
|
|
|
- *
|
|
|
*/
|
|
|
@GetMapping("/trendStatistics/{landType}")
|
|
|
public R<TrendStatisticsRes> getTrendStatistics(@PathVariable String landType) {
|
|
|
try {
|
|
|
TrendStatisticsRes res = new TrendStatisticsRes();
|
|
|
- List<Map<String, Object>> areaTrendStatisticsList = new java.util.ArrayList<>(List.of()); // 面积趋势分析list
|
|
|
- List<Map<String, Object>> supplyModeStatisticsList = new java.util.ArrayList<>(List.of()); // 供应方式分析list
|
|
|
+ List<Map<String, Object>> areaTrendStatisticsList = new java.util.ArrayList<>(List.of());
|
|
|
+ List<Map<String, Object>> supplyModeStatisticsList = new java.util.ArrayList<>(List.of());
|
|
|
|
|
|
Map<String, Object> map1 = new HashMap<>();
|
|
|
map1.put("year", 2023);
|
|
|
@@ -261,26 +66,25 @@ public class StorageController extends BaseController {
|
|
|
areaTrendStatisticsList.addAll(List.of(map1, map2, map3));
|
|
|
res.setAreaTrendStatisticsList(areaTrendStatisticsList);
|
|
|
|
|
|
- // --------------下面为供地方式list----------------------
|
|
|
Map<String, Object> modeMap1 = new HashMap<>();
|
|
|
modeMap1.put("year", 2023);
|
|
|
- modeMap1.put("transferArea", 587.7); // 出让
|
|
|
- modeMap1.put("allocateArea", 500.5); // 划拨区域
|
|
|
- modeMap1.put("otherArea", 498.23); // 其它区域面积
|
|
|
+ modeMap1.put("transferArea", 587.7);
|
|
|
+ modeMap1.put("allocateArea", 500.5);
|
|
|
+ modeMap1.put("otherArea", 498.23);
|
|
|
supplyModeStatisticsList.add(modeMap1);
|
|
|
|
|
|
Map<String, Object> modeMap2 = new HashMap<>();
|
|
|
modeMap2.put("year", 2024);
|
|
|
- modeMap2.put("transferArea", 487.7); // 出让
|
|
|
- modeMap2.put("allocateArea", 400.5); // 划拨区域
|
|
|
- modeMap2.put("otherArea", 398.23); // 其它区域面积
|
|
|
+ modeMap2.put("transferArea", 487.7);
|
|
|
+ modeMap2.put("allocateArea", 400.5);
|
|
|
+ modeMap2.put("otherArea", 398.23);
|
|
|
supplyModeStatisticsList.add(modeMap2);
|
|
|
|
|
|
Map<String, Object> modeMap3 = new HashMap<>();
|
|
|
modeMap3.put("year", 2025);
|
|
|
- modeMap3.put("transferArea", 487.7); // 出让
|
|
|
- modeMap3.put("allocateArea", 400.5); // 划拨区域
|
|
|
- modeMap3.put("otherArea", 398.23); // 其它区域面积
|
|
|
+ modeMap3.put("transferArea", 487.7);
|
|
|
+ modeMap3.put("allocateArea", 400.5);
|
|
|
+ modeMap3.put("otherArea", 398.23);
|
|
|
supplyModeStatisticsList.add(modeMap3);
|
|
|
res.setSupplyModeStatisticsList(supplyModeStatisticsList);
|
|
|
return R.ok(res);
|
|
|
@@ -289,24 +93,20 @@ public class StorageController extends BaseController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
/**
|
|
|
- *
|
|
|
- * 趋势统计
|
|
|
- *
|
|
|
+ * 出入库趋势统计
|
|
|
*/
|
|
|
@GetMapping("/trendStatistics/getData1")
|
|
|
public R<List<TrendStatisticsData>> getData1() {
|
|
|
try {
|
|
|
List<TrendStatisticsData> areaTrendStatisticsList = storageServiceImpl.getData1();
|
|
|
- for(TrendStatisticsData obj : areaTrendStatisticsList) {
|
|
|
- if(obj.getYear().equals("2022")) {
|
|
|
- obj.setOutDataArea(String.valueOf(384+9.5f));
|
|
|
- }else if(obj.getYear().equals("2023")) {
|
|
|
- obj.setOutDataArea(String.valueOf(110+5.5f));
|
|
|
+ for (TrendStatisticsData obj : areaTrendStatisticsList) {
|
|
|
+ if (obj.getYear().equals("2022")) {
|
|
|
+ obj.setOutDataArea(String.valueOf(384 + 9.5f));
|
|
|
+ } else if (obj.getYear().equals("2023")) {
|
|
|
+ obj.setOutDataArea(String.valueOf(110 + 5.5f));
|
|
|
} else if (obj.getYear().equals("2024")) {
|
|
|
- obj.setOutDataArea(String.valueOf(25+44.5f));
|
|
|
+ obj.setOutDataArea(String.valueOf(25 + 44.5f));
|
|
|
} else if (obj.getYear().equals("2025")) {
|
|
|
obj.setOutDataArea(String.valueOf(16.f));
|
|
|
}
|
|
|
@@ -317,56 +117,29 @@ public class StorageController extends BaseController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-// 实际
|
|
|
-// 2025 16
|
|
|
-// 2024 25
|
|
|
-// 2023 110
|
|
|
-// 2022 384
|
|
|
-//
|
|
|
-// 存量
|
|
|
-// 2022 9
|
|
|
-// 2023 5
|
|
|
-// 2024 44
|
|
|
-// 2025 0
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
/**
|
|
|
- * 根据年份,统计每一年的用途的面积
|
|
|
- * year 为0或者为空字符串,表示查询所有年份的数据
|
|
|
- * @param year
|
|
|
- * @return
|
|
|
+ * 根据年份统计用途面积
|
|
|
*/
|
|
|
@GetMapping("/trendStatistics/getData2/{year}")
|
|
|
public R<List<TrendUseStatisticsData>> getData2(@PathVariable String year) {
|
|
|
try {
|
|
|
- //todo 这里参考 R<List<TrendStatisticsData>> getData1() 方法实现,调用service层方法获取数据并封装到res对象中
|
|
|
- // FROM vector.gj_shiji_shouchu 表字段: 年份(scnd - 类似 2020) 用途(ytdyt)
|
|
|
- // 完善当前方法,可以自由改动,最终结果正确就可以
|
|
|
List<TrendUseStatisticsData> useAreaTrendStatisticsList = storageServiceImpl.getData2(year);
|
|
|
return R.ok(useAreaTrendStatisticsList);
|
|
|
} catch (Exception e) {
|
|
|
return R.fail(e.getMessage());
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
/**
|
|
|
- * 根据年份和供地类型查询土地供应统计报表数据
|
|
|
- * @param year
|
|
|
- * @param supplyType (1-计划,2-完成)
|
|
|
- * @return
|
|
|
+ * 根据年份和类型查询土地收储统计项目列表
|
|
|
+ * supplyType: 0-全部,1-计划,2-完成
|
|
|
*/
|
|
|
@GetMapping("/projectList")
|
|
|
- public R<List<LandSupplyProjectVO>> getProjectList(@RequestParam(required = false) String year, @RequestParam Integer supplyType) {
|
|
|
+ public R<List<LandSupplyProjectVO>> getProjectList(@RequestParam(required = false) String year,
|
|
|
+ @RequestParam Integer supplyType,
|
|
|
+ @RequestParam(required = false) String keyWord) {
|
|
|
try {
|
|
|
- List<LandSupplyProjectVO> resList = storageServiceImpl.projectList(year,supplyType);
|
|
|
+ List<LandSupplyProjectVO> resList = storageServiceImpl.projectList(year, supplyType, keyWord);
|
|
|
return R.ok(resList);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
@@ -374,23 +147,31 @@ public class StorageController extends BaseController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取计划收储详情
|
|
|
+ */
|
|
|
+ @GetMapping("/getPlanProject")
|
|
|
+ public R<Map<String, Object>> getPlanProject(@RequestParam String propertyId) {
|
|
|
+ try {
|
|
|
+ Map<String, Object> res = storageServiceImpl.getPlanProject(propertyId);
|
|
|
+ return R.ok(res);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return R.fail(e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
-
|
|
|
- //获取详情接口
|
|
|
+ /**
|
|
|
+ * 获取实际收储详情
|
|
|
+ */
|
|
|
@GetMapping("/getActualProject")
|
|
|
- public R<Map<String,Object>> getActualProject(@RequestParam String propertyId) {
|
|
|
+ public R<Map<String, Object>> getActualProject(@RequestParam String propertyId) {
|
|
|
try {
|
|
|
- //todo 参照 com.siwei.apply.controller.cadastre.SupplyController.getActualProject 方法,完成下面方法
|
|
|
- // 根据 表vector.gj_shiji_shouchu 的gid字段,获取详情。
|
|
|
- Map<String,Object> res = storageServiceImpl.getActualProject(propertyId);
|
|
|
+ Map<String, Object> res = storageServiceImpl.getActualProject(propertyId);
|
|
|
return R.ok(res);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
return R.fail(e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
}
|