From 3c3a1a8f69c48b7ad776794886856c2c380e96d3 Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期四, 14 八月 2025 16:07:46 +0800
Subject: [PATCH] 环保3D图片
---
zhitan-admin/src/main/java/com/zhitan/web/controller/model/EnergyIndexController.java | 359 ++++++++++++++++++++++++++++++++---------------------------
1 files changed, 193 insertions(+), 166 deletions(-)
diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/model/EnergyIndexController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/model/EnergyIndexController.java
index 2ec479d..f169f8c 100644
--- a/zhitan-admin/src/main/java/com/zhitan/web/controller/model/EnergyIndexController.java
+++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/model/EnergyIndexController.java
@@ -9,199 +9,226 @@
import com.zhitan.common.utils.poi.ExcelUtil;
import com.zhitan.model.domain.EnergyIndex;
import com.zhitan.model.domain.EnergyIndexQuery;
+import com.zhitan.model.domain.vo.ModelNodeIndexInfo;
import com.zhitan.model.service.IEnergyIndexService;
+import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
-import java.util.Arrays;
-import java.util.List;
-import java.util.UUID;
+import java.util.*;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
/**
- * 鎸囨爣淇℃伅Controller
- *
- * @author fanxinfu
- * @date 2020-02-14
+ * 鎸囨爣淇℃伅鎺у埗鍣�
*/
@RestController
@RequestMapping("/basicsetting/energyindex")
public class EnergyIndexController extends BaseController {
- @Autowired
- private IEnergyIndexService energyIndexService;
+ @Autowired
+ private IEnergyIndexService energyIndexService;
- /**
- * 鏌ヨ鎸囨爣淇℃伅鍒楄〃
- */
- @PreAuthorize("@ss.hasPermi('energyindex:energyindex:query')")
- @GetMapping("/list")
- public TableDataInfo list(EnergyIndex energyIndex, @RequestParam Long pageNum, @RequestParam Long pageSize) {
- EnergyIndexQuery query = new EnergyIndexQuery(energyIndex.getNodeId(), energyIndex.getName(),
- energyIndex.getIndexCategory(), energyIndex.getIndexType());
- Page<EnergyIndex> list = energyIndexService.selectEnergyIndexPage(query,pageNum,pageSize);
- return getDataTable(list);
- }
-
- /**
- * 鏌ヨ鎸囨爣淇℃伅鍒楄〃
- */
- @GetMapping("/filter")
- public AjaxResult filter(EnergyIndexQuery query) {
- List<EnergyIndex> list = energyIndexService.selectEnergyIndexList(query);
- return AjaxResult.success(list);
- }
-
- /**
- * 鏌ヨ鎸囨爣淇℃伅鍒楄〃
- */
- @PreAuthorize("@ss.hasPermi('energyindex:energyindex:query')")
- @GetMapping("/collectIndex")
- public TableDataInfo listCollectIndex(String deviceId) {
- startPage();
- List<EnergyIndex> list = energyIndexService.selectCollectIndex(deviceId);
- return getDataTable(list);
- }
-
- /**
- * 瀵煎嚭鎸囨爣淇℃伅鍒楄〃
- */
- @PreAuthorize("@ss.hasPermi('energyindex:energyindex:export')")
- @Log(title = "鎸囨爣淇℃伅", businessType = BusinessType.EXPORT)
- @GetMapping("/export")
- public AjaxResult export(EnergyIndex energyIndex) {
- List<EnergyIndex> list = energyIndexService.selectEnergyIndexList(energyIndex);
- ExcelUtil<EnergyIndex> util = new ExcelUtil<>(EnergyIndex.class);
- return util.exportExcel(list, "energyindex");
- }
-
- /**
- * 鑾峰彇鎸囨爣淇℃伅璇︾粏淇℃伅
- */
- @PreAuthorize("@ss.hasPermi('energyindex:energyindex:query')")
- @GetMapping(value = "/{indexId}")
- public AjaxResult getInfo(@PathVariable("indexId") String indexId) {
- return AjaxResult.success(energyIndexService.selectEnergyIndexById(indexId));
- }
-
- /**
- * 鏂板鎸囨爣淇℃伅
- */
- @PreAuthorize("@ss.hasPermi('energyindex:energyindex:add')")
- @Log(title = "鎸囨爣淇℃伅", businessType = BusinessType.INSERT)
- @PostMapping(value = "/{nodeId}")
- public AjaxResult add(@PathVariable("nodeId") String nodeId,
- @RequestBody EnergyIndex energyIndex) {
- boolean isExist = energyIndexService.energyIndexHasExist(energyIndex.getCode());
- if (isExist) {
- return AjaxResult.error("鎸囨爣缂栫爜涓嶈兘閲嶅锛�");
- } else {
- energyIndex.setIndexId(UUID.randomUUID().toString());
- energyIndexService.insertEnergyIndex(nodeId, energyIndex);
- return AjaxResult.success();
- }
- }
-
- /**
- * 淇敼鎸囨爣淇℃伅
- */
- @PreAuthorize("@ss.hasPermi('energyindex:energyindex:edit')")
- @Log(title = "鎸囨爣淇℃伅", businessType = BusinessType.UPDATE)
- @PutMapping
- public AjaxResult edit(@RequestBody EnergyIndex energyIndex) {
- boolean isExist = energyIndexService
- .energyIndexHasExist(energyIndex.getIndexId(), energyIndex.getCode());
- if (isExist) {
- return AjaxResult.error("鎸囨爣缂栫爜涓嶈兘閲嶅锛�");
- } else {
- return toAjax(energyIndexService.updateEnergyIndex(energyIndex));
- }
- }
-
- /**
- * 鍒犻櫎鎸囨爣淇℃伅
- */
- @PreAuthorize("@ss.hasPermi('energyindex:energyindex:remove')")
- @Log(title = "鎸囨爣淇℃伅", businessType = BusinessType.DELETE)
- @DeleteMapping("/{nodeId}/{indexIds}")
- public AjaxResult remove(@PathVariable String nodeId, @PathVariable String[] indexIds) {
- List<EnergyIndex> energyIndexList = energyIndexService.getEnergyIndexByIds(
- Arrays.asList(indexIds));
- List<String> deleteIds = energyIndexList.stream()
- .filter(f -> StringUtils.isBlank(f.getMeterId()))
- .map(EnergyIndex::getIndexId)
- .collect(Collectors.toList());
- List<String> removeLink = energyIndexList.stream()
- .filter(f -> StringUtils.isNotBlank(f.getMeterId()))
- .map(EnergyIndex::getIndexId)
- .collect(Collectors.toList());
- if (!removeLink.isEmpty()) {
- energyIndexService.removeNodeIndex(nodeId, removeLink);
+ /**
+ * 鍒嗛〉鏌ヨ鎸囨爣淇℃伅
+ * @param energyIndex 鏌ヨ鏉′欢
+ * @param pageNum 褰撳墠椤电爜
+ * @param pageSize 椤甸潰澶у皬
+ * @return 鍒嗛〉鏁版嵁
+ */
+ @PreAuthorize("@ss.hasPermi('energyindex:energyindex:query')")
+ @GetMapping("/list")
+ public TableDataInfo list(EnergyIndex energyIndex, @RequestParam Long pageNum, @RequestParam Long pageSize) {
+ EnergyIndexQuery query = new EnergyIndexQuery(energyIndex.getNodeId(), energyIndex.getName(),
+ energyIndex.getIndexCategory(), energyIndex.getIndexType());
+ Page<EnergyIndex> list = energyIndexService.selectEnergyIndexPage(query, pageNum, pageSize);
+ return getDataTable(list);
}
- if (!deleteIds.isEmpty()) {
- energyIndexService.deleteEnergyIndexByIds(nodeId, deleteIds.toArray(new String[0]));
+ /**
+ * 鏉′欢鏌ヨ鎸囨爣淇℃伅锛堜笉甯﹀垎椤碉級
+ * @param query 鏌ヨ鏉′欢
+ * @return 鎸囨爣鍒楄〃
+ */
+ @GetMapping("/filter")
+ public AjaxResult filter(EnergyIndexQuery query) {
+ List<EnergyIndex> list = energyIndexService.selectEnergyIndexList(query);
+ return AjaxResult.success(list);
}
- return AjaxResult.success();
- }
- @Log(title = "澧炲姞璁¢噺鍣ㄥ叿閲囬泦鐐�", businessType = BusinessType.INSERT)
- @PostMapping("/meterIndex/{meterId}")
- public AjaxResult addCollectIndex(@PathVariable("meterId") String meterId) {
- try {
- return energyIndexService.addMeterIndex(meterId);
- } catch (Exception ex) {
- logger.error("鍒涘缓璁¢噺鍣ㄥ叿閲囬泦鐐瑰け璐ワ紒", ex);
- return AjaxResult.error();
+ /**
+ * 鏌ヨ閲囬泦鎸囨爣鍒楄〃锛堢敤浜庤澶囧叧鑱旓級
+ * @param deviceId 璁惧ID
+ * @return 鍒嗛〉鏁版嵁
+ */
+ @PreAuthorize("@ss.hasPermi('energyindex:energyindex:query')")
+ @GetMapping("/collectIndex")
+ public TableDataInfo listCollectIndex(String deviceId) {
+ startPage();
+ List<EnergyIndex> list = energyIndexService.selectCollectIndex(deviceId);
+ return getDataTable(list);
}
- }
- @GetMapping("/meterIndex/{meterId}")
- public AjaxResult getDeviceCollectIndex(@PathVariable("meterId") String meterId) {
- return AjaxResult.success(energyIndexService.getMeterIndex(meterId));
- }
-
- @GetMapping("/includeChildrenNode/{nodeId}")
- public AjaxResult getIndexByNodeAndChildrenNode(@PathVariable("nodeId") String nodeId) {
- try {
- return AjaxResult.success(energyIndexService.getIndexByNodeAndChildrenNode(nodeId));
- } catch (Exception ex) {
- logger.error("鑾峰彇鍏宠仈閲囬泦鎸囨爣鍑洪敊锛�", ex);
- return AjaxResult.error("鑾峰彇鍏宠仈鎸囨爣鍑洪敊!");
+ /**
+ * 瀵煎嚭鎸囨爣淇℃伅鍒楄〃
+ */
+ @PreAuthorize("@ss.hasPermi('energyindex:energyindex:export')")
+ @Log(title = "鎸囨爣淇℃伅", businessType = BusinessType.EXPORT)
+ @GetMapping("/export")
+ public AjaxResult export(EnergyIndex energyIndex) {
+ List<EnergyIndex> list = energyIndexService.selectEnergyIndexList(energyIndex);
+ ExcelUtil<EnergyIndex> util = new ExcelUtil<>(EnergyIndex.class);
+ return util.exportExcel(list, "energyindex");
}
- }
- @GetMapping("/includeChildrenNode/search")
- public AjaxResult searchIndexByNodeAndChildrenNode(String nodeId, String filter) {
- try {
- return AjaxResult
- .success(energyIndexService.searchIndexByNodeAndChildrenNode(nodeId, filter));
- } catch (Exception ex) {
- logger.error("鑾峰彇鍏宠仈閲囬泦鎸囨爣鍑洪敊锛�", ex);
- return AjaxResult.error("鑾峰彇鍏宠仈鎸囨爣鍑洪敊!");
+ /**
+ * 鑾峰彇鎸囨爣淇℃伅璇︾粏淇℃伅
+ */
+ @PreAuthorize("@ss.hasPermi('energyindex:energyindex:query')")
+ @GetMapping(value = "/{indexId}")
+ public AjaxResult getInfo(@PathVariable("indexId") String indexId) {
+ return AjaxResult.success(energyIndexService.selectEnergyIndexById(indexId));
}
- }
- @GetMapping("/importTemplate")
- public AjaxResult importTemplate() {
- ExcelUtil<EnergyIndex> util = new ExcelUtil<>(EnergyIndex.class);
- return util.importTemplateExcel("鎸囨爣鏁版嵁");
- }
+ /**
+ * 鏂板鎸囨爣淇℃伅
+ */
+ @PreAuthorize("@ss.hasPermi('energyindex:energyindex:add')")
+ @Log(title = "鎸囨爣淇℃伅", businessType = BusinessType.INSERT)
+ @PostMapping(value = "/{nodeId}")
+ public AjaxResult add(@PathVariable("nodeId") String nodeId,
+ @RequestBody EnergyIndex energyIndex) {
+ boolean isExist = energyIndexService.energyIndexHasExist(energyIndex.getCode());
+ if (isExist) {
+ return AjaxResult.error("鎸囨爣缂栫爜涓嶈兘閲嶅锛�");
+ } else {
+ energyIndex.setIndexId(UUID.randomUUID().toString());
+ energyIndexService.insertEnergyIndex(nodeId, energyIndex);
+ return AjaxResult.success();
+ }
+ }
- @PostMapping("/importData")
- public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
- ExcelUtil<EnergyIndex> util = new ExcelUtil<>(EnergyIndex.class);
- List<EnergyIndex> energyIndexList = util.importExcel(file.getInputStream());
- return energyIndexService.importEnergyIndex(energyIndexList, updateSupport);
- }
+ /**
+ * 淇敼鎸囨爣淇℃伅
+ */
+ @PreAuthorize("@ss.hasPermi('energyindex:energyindex:edit')")
+ @Log(title = "鎸囨爣淇℃伅", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody EnergyIndex energyIndex) {
+ boolean isExist = energyIndexService
+ .energyIndexHasExist(energyIndex.getIndexId(), energyIndex.getCode());
+ if (isExist) {
+ return AjaxResult.error("鎸囨爣缂栫爜涓嶈兘閲嶅锛�");
+ } else {
+ return toAjax(energyIndexService.updateEnergyIndex(energyIndex));
+ }
+ }
+
+ /**
+ * 鍒犻櫎閲囬泦鎸囨爣淇℃伅
+ */
+ @PreAuthorize("@ss.hasPermi('energyindex:energyindex:remove')")
+ @Log(title = "鎸囨爣淇℃伅", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{indexIds}")
+ public AjaxResult remove(@PathVariable String[] indexIds) {
+ // 姝ラ1: 鍙傛暟鏍¢獙
+ if (ObjectUtils.isEmpty(indexIds)) return AjaxResult.success();
+
+ // 姝ラ2: 妫�鏌ユ槸鍚﹁妯″瀷鍏宠仈
+ List<ModelNodeIndexInfo> modelNodeIndexInfoList = energyIndexService.getModelNodeIndexInfoListByIndexIds(indexIds);
+ if (!modelNodeIndexInfoList.isEmpty()) {
+ // 瀛樺湪鍏宠仈鍏崇郴杩斿洖閿欒
+ ModelNodeIndexInfo firstItem = modelNodeIndexInfoList.get(0);
+ return AjaxResult.error("鎸囨爣 " + firstItem.getIndexName() + " 宸茶妯″瀷 " + firstItem.getModelName() + " 鍏宠仈锛屼笉鑳藉垹闄わ紒");
+ }
+
+ // 姝ラ3: 鎵ц鍒犻櫎
+ energyIndexService.removeEnergyIndex(Arrays.asList(indexIds));
+ return AjaxResult.success();
+ }
+
+ /**
+ * 鍒犻櫎缁熻鎸囨爣淇℃伅
+ */
+ @PreAuthorize("@ss.hasPermi('energyindex:energyindex:remove')")
+ @Log(title = "鎸囨爣淇℃伅", businessType = BusinessType.DELETE)
+ @DeleteMapping("{nodeId}/{indexIds}")
+ public AjaxResult remove(@PathVariable String nodeId, @PathVariable String[] indexIds) {
+
+ List<String> indexIdList = Arrays.asList(indexIds);
+ if (ObjectUtils.isEmpty(indexIdList)) {
+ return AjaxResult.success();
+ }
+ // 鏌ヨ妯″瀷鑺傜偣鐐逛綅淇℃伅
+ List<ModelNodeIndexInfo> modelNodeIndexInfoList = energyIndexService.getModelNodeIndexInfoListByIndexIds(indexIds);
+ if (ObjectUtils.isNotEmpty(modelNodeIndexInfoList)) {
+ if(modelNodeIndexInfoList.size() > 1){
+ return AjaxResult.error("璇ョ粺璁℃寚鏍囧凡琚叾浠栨ā鍨嬪叧鑱旓紝涓嶈兘鍒犻櫎锛�");
+ }
+ }
+
+ energyIndexService.removeEnergyIndex(indexIdList);
+
+ return AjaxResult.success();
+ }
+
+ @Log(title = "澧炲姞璁¢噺鍣ㄥ叿閲囬泦鐐�", businessType = BusinessType.INSERT)
+ @PostMapping("/meterIndex/{meterId}")
+ public AjaxResult addCollectIndex(@PathVariable("meterId") String meterId) {
+ try {
+ return energyIndexService.addMeterIndex(meterId);
+ } catch (Exception ex) {
+ logger.error("鍒涘缓璁¢噺鍣ㄥ叿閲囬泦鐐瑰け璐ワ紒", ex);
+ return AjaxResult.error();
+ }
+ }
+
+ @GetMapping("/meterIndex/{meterId}")
+ public AjaxResult getDeviceCollectIndex(@PathVariable("meterId") String meterId) {
+ return AjaxResult.success(energyIndexService.getMeterIndex(meterId));
+ }
+
+ @GetMapping("/includeChildrenNode/{nodeId}")
+ public AjaxResult getIndexByNodeAndChildrenNode(@PathVariable("nodeId") String nodeId) {
+ try {
+ return AjaxResult.success(energyIndexService.getIndexByNodeAndChildrenNode(nodeId));
+ } catch (Exception ex) {
+ logger.error("鑾峰彇鍏宠仈閲囬泦鎸囨爣鍑洪敊锛�", ex);
+ return AjaxResult.error("鑾峰彇鍏宠仈鎸囨爣鍑洪敊!");
+ }
+ }
+
+ @GetMapping("/includeChildrenNode/search")
+ public AjaxResult searchIndexByNodeAndChildrenNode(String nodeId, String filter) {
+ try {
+ return AjaxResult
+ .success(energyIndexService.searchIndexByNodeAndChildrenNode(nodeId, filter));
+ } catch (Exception ex) {
+ logger.error("鑾峰彇鍏宠仈閲囬泦鎸囨爣鍑洪敊锛�", ex);
+ return AjaxResult.error("鑾峰彇鍏宠仈鎸囨爣鍑洪敊!");
+ }
+ }
+
+ @GetMapping("/importTemplate")
+ public AjaxResult importTemplate() {
+ ExcelUtil<EnergyIndex> util = new ExcelUtil<>(EnergyIndex.class);
+ return util.importTemplateExcel("鎸囨爣鏁版嵁");
+ }
+
+ @PostMapping("/importData")
+ public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
+ ExcelUtil<EnergyIndex> util = new ExcelUtil<>(EnergyIndex.class);
+ List<EnergyIndex> energyIndexList = util.importExcel(file.getInputStream());
+ return energyIndexService.importEnergyIndex(energyIndexList, updateSupport);
+ }
- @GetMapping("/getIndexByCode")
- public AjaxResult getIndexByCode(String code,String nodeId) {
- List<EnergyIndex> energyIndexList = energyIndexService.getIndexByCode(code,nodeId);
- return AjaxResult.success(energyIndexList);
- }
+ @GetMapping("/getIndexByCode")
+ public AjaxResult getIndexByCode(String code, String nodeId) {
+ List<EnergyIndex> energyIndexList = energyIndexService.getIndexByCode(code, nodeId);
+ return AjaxResult.success(energyIndexList);
+ }
}
--
Gitblit v1.9.3