Browse Source

设备设施属性管理接口

lv.wenbin 10 months ago
parent
commit
8333fa26bd

+ 74 - 16
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/controller/EmsObjAttrController.java

@@ -1,13 +1,23 @@
 package com.ruoyi.ems.controller;
 
+import com.alibaba.fastjson2.JSONObject;
 import com.ruoyi.common.core.web.controller.BaseController;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.TableDataInfo;
 import com.ruoyi.common.log.annotation.Log;
 import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.ems.domain.EmsDevice;
+import com.ruoyi.ems.domain.EmsFacs;
 import com.ruoyi.ems.domain.EmsObjAttr;
+import com.ruoyi.ems.domain.EmsObjAttrValue;
+import com.ruoyi.ems.domain.common.ObjType;
+import com.ruoyi.ems.service.IEmsDeviceService;
+import com.ruoyi.ems.service.IEmsFacsService;
 import com.ruoyi.ems.service.IEmsObjAttrService;
+import com.ruoyi.ems.service.IEmsObjAttrValueService;
+import com.ruoyi.ems.util.exception.Assert;
 import io.swagger.annotations.Api;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -16,30 +26,42 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PutMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 能源对象属性Controller
- * 
+ *
  * @author ruoyi
  * @date 2024-09-23
  */
 @RestController
 @RequestMapping("/object/attr")
 @Api(value = "EmsObjAttrController", description = "能源对象属性管理")
-public class EmsObjAttrController extends BaseController
-{
+public class EmsObjAttrController extends BaseController {
     @Autowired
     private IEmsObjAttrService attrService;
 
+    @Autowired
+    private IEmsObjAttrValueService objAttrValueService;
+
+    @Autowired
+    private IEmsDeviceService deviceService;
+
+    @Autowired
+    private IEmsFacsService emsFacsService;
+
     /**
      * 查询能源对象属性列表
      */
     @GetMapping("/list")
-    public TableDataInfo list(EmsObjAttr objAttr)
-    {
+    public TableDataInfo list(EmsObjAttr objAttr) {
         startPage();
         List<EmsObjAttr> list = attrService.selectObjAttrList(objAttr);
         return getDataTable(list);
@@ -49,18 +71,57 @@ public class EmsObjAttrController extends BaseController
      * 获取能源对象属性详细信息
      */
     @GetMapping(value = "/{id}")
-    public AjaxResult getInfo(@PathVariable("id") Long id)
-    {
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
         return success(attrService.selectObjAttrById(id));
     }
 
     /**
+     * 查询能源对象属性值列表
+     */
+    @GetMapping("/getObjAttr")
+    public AjaxResult list(@RequestParam(name = "objType") Integer objType,
+        @RequestParam(name = "objCode") String objCode) {
+        AjaxResult result = null;
+
+        try {
+            String modeCode = null;
+
+            if (objType == ObjType.FACS.getCode()) {
+                EmsFacs facs = emsFacsService.selectEmsFacsByCode(objCode);
+                Assert.notNull(facs, -1, "能源对象不存在");
+                modeCode = facs.getFacsModel();
+            }
+            else if (objType == ObjType.DEVC.getCode()) {
+                EmsDevice device = deviceService.selectByCode(objCode);
+                Assert.notNull(device, -1, "能源对象不存在");
+                modeCode = device.getDeviceModel();
+            }
+
+            JSONObject json = new JSONObject();
+            json.put("objType", objType);
+            json.put("objCode", objCode);
+
+            List<EmsObjAttr> modelAttrs = attrService.selectByModelCode(modeCode);
+            json.put("attrs", CollectionUtils.isNotEmpty(modelAttrs) ? modelAttrs : new ArrayList<>());
+
+            List<EmsObjAttrValue> attrValues = objAttrValueService.selectByObjCode(objType, objCode);
+            json.put("attrValues", attrValues);
+
+            result = success(json);
+        }
+        catch (Exception e) {
+            result = error(e.getMessage());
+        }
+
+        return result;
+    }
+
+    /**
      * 新增能源对象属性
      */
     @Log(title = "能源对象属性", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody EmsObjAttr objAttr)
-    {
+    public AjaxResult add(@RequestBody EmsObjAttr objAttr) {
         return toAjax(attrService.insertObjAttr(objAttr));
     }
 
@@ -69,8 +130,7 @@ public class EmsObjAttrController extends BaseController
      */
     @Log(title = "能源对象属性", businessType = BusinessType.INSERT)
     @PostMapping("/batch")
-    public AjaxResult addBatch(@RequestBody List<EmsObjAttr> list)
-    {
+    public AjaxResult addBatch(@RequestBody List<EmsObjAttr> list) {
         return toAjax(attrService.insertBatch(list));
     }
 
@@ -79,8 +139,7 @@ public class EmsObjAttrController extends BaseController
      */
     @Log(title = "能源对象属性", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@RequestBody EmsObjAttr objAttr)
-    {
+    public AjaxResult edit(@RequestBody EmsObjAttr objAttr) {
         return toAjax(attrService.updateObjAttr(objAttr));
     }
 
@@ -88,9 +147,8 @@ public class EmsObjAttrController extends BaseController
      * 删除能源对象属性
      */
     @Log(title = "能源对象属性", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{ids}")
-    public AjaxResult remove(@PathVariable Long[] ids)
-    {
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(attrService.deleteObjAttrByIds(ids));
     }
 }

+ 3 - 10
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/controller/EmsObjAttrValueController.java

@@ -1,5 +1,6 @@
 package com.ruoyi.ems.controller;
 
+import com.alibaba.fastjson2.JSONObject;
 import com.ruoyi.common.core.web.controller.BaseController;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.log.annotation.Log;
@@ -18,7 +19,9 @@ 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;
+import java.util.Map;
 
 /**
  * 能源对象属性值Controller
@@ -43,16 +46,6 @@ public class EmsObjAttrValueController extends BaseController {
     }
 
     /**
-     * 查询能源对象属性值列表
-     */
-    @GetMapping("/getByObj")
-    public AjaxResult list(@RequestParam(name = "objType") Integer objType,
-        @RequestParam(name = "objCode") String objCode) {
-        List<EmsObjAttrValue> list = objAttrValueService.selectByObjCode(objType, objCode);
-        return success(list);
-    }
-
-    /**
      * 获取能源对象属性值详细信息
      */
     @GetMapping(value = "/{id}")

+ 4 - 6
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/domain/EmsObjAttrValue.java

@@ -11,10 +11,8 @@ import com.ruoyi.common.core.web.domain.BaseEntity;
  * @author ruoyi
  * @date 2024-09-25
  */
-public class EmsObjAttrValue extends BaseEntity
+public class EmsObjAttrValue
 {
-    private static final long serialVersionUID = 1L;
-
     /** 序号 */
     private Long id;
 
@@ -22,7 +20,7 @@ public class EmsObjAttrValue extends BaseEntity
     private String objCode;
 
     /** 对象类型 */
-    private Long objType;
+    private Integer objType;
 
     /** 属性标识 */
     private String attrKey;
@@ -51,12 +49,12 @@ public class EmsObjAttrValue extends BaseEntity
     {
         return objCode;
     }
-    public void setObjType(Long objType) 
+    public void setObjType(Integer objType)
     {
         this.objType = objType;
     }
 
-    public Long getObjType() 
+    public Integer getObjType()
     {
         return objType;
     }

+ 2 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/impl/EmsObjAttrValueServiceImpl.java

@@ -63,6 +63,8 @@ public class EmsObjAttrValueServiceImpl implements IEmsObjAttrValueService
 
     @Override
     public int insertBatch(List<EmsObjAttrValue> list) {
+        EmsObjAttrValue objAttrValue = list.get(0);
+        objAttrValueMapper.deleteByObjCode(objAttrValue.getObjType(), objAttrValue.getObjCode());
         return objAttrValueMapper.insertBatch(list);
     }
 

+ 2 - 2
ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/EmsObjAttrValueMapper.xml

@@ -79,8 +79,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         delete from adm_ems_obj_attr_value where id = #{id}
     </delete>
 
-    <delete id="deleteByObjCode" parameterType="Long">
-        delete from adm_ems_obj_attr_value where obj_type = {objType} and obj_code = #{objCode} and
+    <delete id="deleteByObjCode" >
+        delete from adm_ems_obj_attr_value where obj_type = #{objType} and obj_code = #{objCode}
     </delete>
 
     <delete id="deleteObjAttrValueByIds" parameterType="String">