lv.wenbin 1 жил өмнө
parent
commit
d3680bb9c2
45 өөрчлөгдсөн 3842 нэмэгдсэн , 4 устгасан
  1. 105 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/controller/DeviceController.java
  2. 105 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/controller/FacsController.java
  3. 105 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/controller/FacsFlowRelController.java
  4. 125 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/domain/EmissionFactor.java
  5. 121 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/domain/EmsCls.java
  6. 123 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/domain/EmsDevice.java
  7. 150 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/domain/EmsFacs.java
  8. 109 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/domain/EmsFacsAttr.java
  9. 128 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/domain/EmsFacsFlowRel.java
  10. 107 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/domain/EmsFacsSubtype.java
  11. 106 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/domain/EmsFacsType.java
  12. 61 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/EmissionFactorMapper.java
  13. 61 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/EmsClsMapper.java
  14. 61 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/EmsDeviceMapper.java
  15. 76 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/EmsFacsAttrMapper.java
  16. 61 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/EmsFacsFlowRelMapper.java
  17. 61 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/EmsFacsMapper.java
  18. 61 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/EmsFacsSubtypeMapper.java
  19. 61 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/EmsFacsTypeMapper.java
  20. 61 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/IEmissionFactorService.java
  21. 61 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/IEmsClsService.java
  22. 61 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/IEmsDeviceService.java
  23. 76 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/IEmsFacsAttrService.java
  24. 60 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/IEmsFacsFlowRelService.java
  25. 60 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/IEmsFacsService.java
  26. 60 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/IEmsFacsSubtypeService.java
  27. 60 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/IEmsFacsTypeService.java
  28. 94 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/impl/EmissionFactorServiceImpl.java
  29. 94 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/impl/EmsClsServiceImpl.java
  30. 96 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/impl/EmsDeviceServiceImpl.java
  31. 119 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/impl/EmsFacsAttrServiceImpl.java
  32. 96 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/impl/EmsFacsFlowRelServiceImpl.java
  33. 155 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/impl/EmsFacsServiceImpl.java
  34. 94 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/impl/EmsFacsSubtypeServiceImpl.java
  35. 94 0
      ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/impl/EmsFacsTypeServiceImpl.java
  36. 81 0
      ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/EmissionFactorMapper.xml
  37. 81 0
      ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/EmsClsMapper.xml
  38. 89 0
      ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/EmsDeviceMapper.xml
  39. 95 0
      ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/EmsFacsAttrMapper.xml
  40. 89 0
      ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/EmsFacsFlowRelMapper.xml
  41. 94 0
      ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/EmsFacsMapper.xml
  42. 76 0
      ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/EmsFacsSubtypeMapper.xml
  43. 71 0
      ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/EmsFacsTypeMapper.xml
  44. 2 0
      ems-cloud/sql/ems_server.sql
  45. 36 4
      ems-cloud/sql/ems_sys.sql

+ 105 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/controller/DeviceController.java

@@ -0,0 +1,105 @@
+package com.ruoyi.ems.controller;
+
+import com.ruoyi.common.core.utils.poi.ExcelUtil;
+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.common.security.annotation.RequiresPermissions;
+import com.ruoyi.ems.domain.EmsDevice;
+import com.ruoyi.ems.service.IEmsDeviceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+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.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 能源设备Controller
+ * 
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+@RestController
+@RequestMapping("/basecfg/device")
+public class DeviceController extends BaseController
+{
+    @Autowired
+    private IEmsDeviceService deviceService;
+
+    /**
+     * 查询能源设备列表
+     */
+    @RequiresPermissions("basecfg:device:list")
+    @GetMapping("/list")
+    public TableDataInfo list(EmsDevice emsDevice)
+    {
+        startPage();
+        List<EmsDevice> list = deviceService.selectEmsDeviceList(emsDevice);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出能源设备列表
+     */
+    @RequiresPermissions("basecfg:device:export")
+    @Log(title = "能源设备", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, EmsDevice emsDevice)
+    {
+        List<EmsDevice> list = deviceService.selectEmsDeviceList(emsDevice);
+        ExcelUtil<EmsDevice> util = new ExcelUtil<EmsDevice>(EmsDevice.class);
+        util.exportExcel(response, list, "能源设备数据");
+    }
+
+    /**
+     * 获取能源设备详细信息
+     */
+    @RequiresPermissions("basecfg:device:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(deviceService.selectEmsDeviceById(id));
+    }
+
+    /**
+     * 新增能源设备
+     */
+    @RequiresPermissions("basecfg:device:add")
+    @Log(title = "能源设备", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody EmsDevice emsDevice)
+    {
+        return toAjax(deviceService.insertEmsDevice(emsDevice));
+    }
+
+    /**
+     * 修改能源设备
+     */
+    @RequiresPermissions("basecfg:device:edit")
+    @Log(title = "能源设备", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody EmsDevice emsDevice)
+    {
+        return toAjax(deviceService.updateEmsDevice(emsDevice));
+    }
+
+    /**
+     * 删除能源设备
+     */
+    @RequiresPermissions("basecfg:device:remove")
+    @Log(title = "能源设备", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(deviceService.deleteEmsDeviceByIds(ids));
+    }
+}

+ 105 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/controller/FacsController.java

@@ -0,0 +1,105 @@
+package com.ruoyi.ems.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import com.ruoyi.ems.domain.EmsFacs;
+import com.ruoyi.ems.service.IEmsFacsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+
+/**
+ * 能源设施/系统Controller
+ * 
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+@RestController
+@RequestMapping("/basecfg/emsfacs")
+public class FacsController extends BaseController
+{
+    @Autowired
+    private IEmsFacsService emsFacsService;
+
+    /**
+     * 查询能源设施/系统列表
+     */
+    @RequiresPermissions("basecfg:emsfacs:list")
+    @GetMapping("/list")
+    public TableDataInfo list(EmsFacs emsFacs)
+    {
+        startPage();
+        List<EmsFacs> list = emsFacsService.selectEmsFacsList(emsFacs);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出能源设施/系统列表
+     */
+    @RequiresPermissions("basecfg:emsfacs:export")
+    @Log(title = "能源设施/系统", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, EmsFacs emsFacs)
+    {
+        List<EmsFacs> list = emsFacsService.selectEmsFacsList(emsFacs);
+        ExcelUtil<EmsFacs> util = new ExcelUtil<EmsFacs>(EmsFacs.class);
+        util.exportExcel(response, list, "能源设施/系统数据");
+    }
+
+    /**
+     * 获取能源设施/系统详细信息
+     */
+    @RequiresPermissions("basecfg:emsfacs:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(emsFacsService.selectEmsFacsById(id));
+    }
+
+    /**
+     * 新增能源设施/系统
+     */
+    @RequiresPermissions("basecfg:emsfacs:add")
+    @Log(title = "能源设施/系统", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody EmsFacs admEmsFacs)
+    {
+        return toAjax(emsFacsService.insertEmsFacs(admEmsFacs));
+    }
+
+    /**
+     * 修改能源设施/系统
+     */
+    @RequiresPermissions("basecfg:emsfacs:edit")
+    @Log(title = "能源设施/系统", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody EmsFacs emsFacs)
+    {
+        return toAjax(emsFacsService.updateEmsFacs(emsFacs));
+    }
+
+    /**
+     * 删除能源设施/系统
+     */
+    @RequiresPermissions("basecfg:emsfacs:remove")
+    @Log(title = "能源设施/系统", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(emsFacsService.deleteEmsFacsByIds(ids));
+    }
+}

+ 105 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/controller/FacsFlowRelController.java

@@ -0,0 +1,105 @@
+package com.ruoyi.ems.controller;
+
+import com.ruoyi.common.core.utils.poi.ExcelUtil;
+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.common.security.annotation.RequiresPermissions;
+import com.ruoyi.ems.domain.EmsFacsFlowRel;
+import com.ruoyi.ems.service.IEmsFacsFlowRelService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+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.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 能源设施能流关系Controller
+ * 
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+@RestController
+@RequestMapping("/basecfg/flowrel")
+public class FacsFlowRelController extends BaseController
+{
+    @Autowired
+    private IEmsFacsFlowRelService facsFlowRelService;
+
+    /**
+     * 查询能源设施能流关系列表
+     */
+    @RequiresPermissions("basecfg:flowrel:list")
+    @GetMapping("/list")
+    public TableDataInfo list(EmsFacsFlowRel emsFacsFlowRel)
+    {
+        startPage();
+        List<EmsFacsFlowRel> list = facsFlowRelService.selectEmsFacsFlowRelList(emsFacsFlowRel);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出能源设施能流关系列表
+     */
+    @RequiresPermissions("basecfg:flowrel:export")
+    @Log(title = "能源设施能流关系", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, EmsFacsFlowRel emsFacsFlowRel)
+    {
+        List<EmsFacsFlowRel> list = facsFlowRelService.selectEmsFacsFlowRelList(emsFacsFlowRel);
+        ExcelUtil<EmsFacsFlowRel> util = new ExcelUtil<EmsFacsFlowRel>(EmsFacsFlowRel.class);
+        util.exportExcel(response, list, "能源设施能流关系数据");
+    }
+
+    /**
+     * 获取能源设施能流关系详细信息
+     */
+    @RequiresPermissions("basecfg:flowrel:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(facsFlowRelService.selectEmsFacsFlowRelById(id));
+    }
+
+    /**
+     * 新增能源设施能流关系
+     */
+    @RequiresPermissions("basecfg:flowrel:add")
+    @Log(title = "能源设施能流关系", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody EmsFacsFlowRel emsFacsFlowRel)
+    {
+        return toAjax(facsFlowRelService.insertEmsFacsFlowRel(emsFacsFlowRel));
+    }
+
+    /**
+     * 修改能源设施能流关系
+     */
+    @RequiresPermissions("basecfg:flowrel:edit")
+    @Log(title = "能源设施能流关系", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody EmsFacsFlowRel emsFacsFlowRel)
+    {
+        return toAjax(facsFlowRelService.updateEmsFacsFlowRel(emsFacsFlowRel));
+    }
+
+    /**
+     * 删除能源设施能流关系
+     */
+    @RequiresPermissions("basecfg:flowrel:remove")
+    @Log(title = "能源设施能流关系", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(facsFlowRelService.deleteEmsFacsFlowRelByIds(ids));
+    }
+}

+ 125 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/domain/EmissionFactor.java

@@ -0,0 +1,125 @@
+package com.ruoyi.ems.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+
+/**
+ * 排放因子维对象 dim_ems_emission_factor
+ * 
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public class EmissionFactor extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 地区码 */
+    @Excel(name = "地区码")
+    private String regionCode;
+
+    /** 地区名称 */
+    @Excel(name = "地区名称")
+    private String regionName;
+
+    /** 地区类型 0:国家,1:地区,2:省份,3:城市 */
+    @Excel(name = "地区类型")
+    private Long regionType;
+
+    /** 因子值 单位: kgCO2/kWh */
+    @Excel(name = "因子值(单位: kgCO2/kWh)")
+    private Long factorValue;
+
+    /** 因子类型
+     * 1:电力平均二氧化碳排放因子
+     * 2:电力平均二氧化碳排放因子(不含市场化交易的非化石能源电量)
+     * 3:化石能源电力二氧化碳排放因子
+     */
+    @Excel(name = "因子类型")
+    private Long factorType;
+
+    /** 数据版本 */
+    @Excel(name = "数据版本")
+    private String version;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setRegionCode(String regionCode) 
+    {
+        this.regionCode = regionCode;
+    }
+
+    public String getRegionCode() 
+    {
+        return regionCode;
+    }
+    public void setRegionName(String regionName) 
+    {
+        this.regionName = regionName;
+    }
+
+    public String getRegionName() 
+    {
+        return regionName;
+    }
+    public void setRegionType(Long regionType) 
+    {
+        this.regionType = regionType;
+    }
+
+    public Long getRegionType() 
+    {
+        return regionType;
+    }
+    public void setFactorValue(Long factorValue) 
+    {
+        this.factorValue = factorValue;
+    }
+
+    public Long getFactorValue() 
+    {
+        return factorValue;
+    }
+    public void setFactorType(Long factorType) 
+    {
+        this.factorType = factorType;
+    }
+
+    public Long getFactorType() 
+    {
+        return factorType;
+    }
+    public void setVersion(String version) 
+    {
+        this.version = version;
+    }
+
+    public String getVersion() 
+    {
+        return version;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("regionCode", getRegionCode())
+            .append("regionName", getRegionName())
+            .append("regionType", getRegionType())
+            .append("factorValue", getFactorValue())
+            .append("factorType", getFactorType())
+            .append("version", getVersion())
+            .toString();
+    }
+}

+ 121 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/domain/EmsCls.java

@@ -0,0 +1,121 @@
+package com.ruoyi.ems.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+
+/**
+ * 能源分类对象 dim_gb_ems_cls
+ * 
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public class EmsCls extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 能源代码 */
+    @Excel(name = "能源代码")
+    private String code;
+
+    /** 能源种类 */
+    @Excel(name = "能源种类")
+    private String name;
+
+    /** 说明 */
+    @Excel(name = "说明")
+    private String desc;
+
+    /** 分类层级 1-大类,2-中类,3-小类 */
+    @Excel(name = "分类层级 1-大类,2-中类,3-小类")
+    private Long level;
+
+    /** 父类代码 */
+    @Excel(name = "父类代码")
+    private String parentCode;
+
+    /** 数据版本 */
+    @Excel(name = "数据版本")
+    private String version;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setCode(String code) 
+    {
+        this.code = code;
+    }
+
+    public String getCode() 
+    {
+        return code;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setDesc(String desc) 
+    {
+        this.desc = desc;
+    }
+
+    public String getDesc() 
+    {
+        return desc;
+    }
+    public void setLevel(Long level) 
+    {
+        this.level = level;
+    }
+
+    public Long getLevel() 
+    {
+        return level;
+    }
+    public void setParentCode(String parentCode) 
+    {
+        this.parentCode = parentCode;
+    }
+
+    public String getParentCode() 
+    {
+        return parentCode;
+    }
+    public void setVersion(String version) 
+    {
+        this.version = version;
+    }
+
+    public String getVersion() 
+    {
+        return version;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("code", getCode())
+            .append("name", getName())
+            .append("desc", getDesc())
+            .append("level", getLevel())
+            .append("parentCode", getParentCode())
+            .append("version", getVersion())
+            .toString();
+    }
+}

+ 123 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/domain/EmsDevice.java

@@ -0,0 +1,123 @@
+package com.ruoyi.ems.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+
+/**
+ * 能源设备对象 adm_ems_device
+ * 
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public class EmsDevice extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 设备代码 */
+    @Excel(name = "设备代码")
+    private String deviceCode;
+
+    /** 设备名称 */
+    @Excel(name = "设备名称")
+    private String deviceName;
+
+    /** 设备类型 */
+    @Excel(name = "设备类型")
+    private Long deviceType;
+
+    /** 设备状态 */
+    @Excel(name = "设备状态")
+    private Long deviceStatus;
+
+    /** 归属区域代码 */
+    @Excel(name = "归属区域代码")
+    private String refArea;
+
+    /** 归属设施代码 */
+    @Excel(name = "归属设施代码")
+    private String refFacs;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setDeviceCode(String deviceCode) 
+    {
+        this.deviceCode = deviceCode;
+    }
+
+    public String getDeviceCode() 
+    {
+        return deviceCode;
+    }
+    public void setDeviceName(String deviceName) 
+    {
+        this.deviceName = deviceName;
+    }
+
+    public String getDeviceName() 
+    {
+        return deviceName;
+    }
+    public void setDeviceType(Long deviceType) 
+    {
+        this.deviceType = deviceType;
+    }
+
+    public Long getDeviceType() 
+    {
+        return deviceType;
+    }
+    public void setDeviceStatus(Long deviceStatus) 
+    {
+        this.deviceStatus = deviceStatus;
+    }
+
+    public Long getDeviceStatus() 
+    {
+        return deviceStatus;
+    }
+    public void setRefArea(String refArea) 
+    {
+        this.refArea = refArea;
+    }
+
+    public String getRefArea() 
+    {
+        return refArea;
+    }
+    public void setRefFacs(String refFacs) 
+    {
+        this.refFacs = refFacs;
+    }
+
+    public String getRefFacs() 
+    {
+        return refFacs;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("deviceCode", getDeviceCode())
+            .append("deviceName", getDeviceName())
+            .append("deviceType", getDeviceType())
+            .append("deviceStatus", getDeviceStatus())
+            .append("refArea", getRefArea())
+            .append("refFacs", getRefFacs())
+            .append("createTime", getCreateTime())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 150 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/domain/EmsFacs.java

@@ -0,0 +1,150 @@
+package com.ruoyi.ems.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+
+import java.util.List;
+
+/**
+ * 能源设施/系统对象 adm_ems_facs
+ * 
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public class EmsFacs extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 设施代码 */
+    @Excel(name = "设施代码")
+    private String facsCode;
+
+    /** 设施名称 */
+    @Excel(name = "设施名称")
+    private String facsName;
+
+    /** 设施分类 */
+    @Excel(name = "设施分类")
+    private String facsType;
+
+    /** 设施子类 */
+    @Excel(name = "设施子类")
+    private String facsSubtype;
+
+    /** 启用状态0-停用,1-启用 */
+    @Excel(name = "启用状态0-停用,1-启用")
+    private Long enable;
+
+    /** 归属区域代码 */
+    @Excel(name = "归属区域代码")
+    private String refArea;
+
+    /** 厂商 */
+    @Excel(name = "厂商")
+    private String manufacturer;
+
+    /** 扩展属性 */
+    private transient List<EmsFacsAttr> facsAttrs;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setFacsCode(String facsCode) 
+    {
+        this.facsCode = facsCode;
+    }
+
+    public String getFacsCode() 
+    {
+        return facsCode;
+    }
+    public void setFacsName(String facsName) 
+    {
+        this.facsName = facsName;
+    }
+
+    public String getFacsName() 
+    {
+        return facsName;
+    }
+    public void setFacsType(String facsType) 
+    {
+        this.facsType = facsType;
+    }
+
+    public String getFacsType() 
+    {
+        return facsType;
+    }
+    public void setFacsSubtype(String facsSubtype) 
+    {
+        this.facsSubtype = facsSubtype;
+    }
+
+    public String getFacsSubtype() 
+    {
+        return facsSubtype;
+    }
+    public void setEnable(Long enable) 
+    {
+        this.enable = enable;
+    }
+
+    public Long getEnable() 
+    {
+        return enable;
+    }
+    public void setRefArea(String refArea) 
+    {
+        this.refArea = refArea;
+    }
+
+    public String getRefArea() 
+    {
+        return refArea;
+    }
+    public void setManufacturer(String manufacturer) 
+    {
+        this.manufacturer = manufacturer;
+    }
+
+    public String getManufacturer() 
+    {
+        return manufacturer;
+    }
+
+    public List<EmsFacsAttr> getFacsAttrs() {
+        return facsAttrs;
+    }
+
+    public void setFacsAttrs(List<EmsFacsAttr> facsAttrs) {
+        this.facsAttrs = facsAttrs;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("facsCode", getFacsCode())
+            .append("facsName", getFacsName())
+            .append("facsType", getFacsType())
+            .append("facsSubtype", getFacsSubtype())
+            .append("enable", getEnable())
+            .append("refArea", getRefArea())
+            .append("manufacturer", getManufacturer())
+            .append("createTime", getCreateTime())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 109 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/domain/EmsFacsAttr.java

@@ -0,0 +1,109 @@
+package com.ruoyi.ems.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+
+/**
+ * 能源设施/系统属性对象 adm_ems_facs_attr
+ * 
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public class EmsFacsAttr extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 设施代码 */
+    @Excel(name = "设施代码")
+    private String facsCode;
+
+    /** 属性名称 */
+    @Excel(name = "属性名称")
+    private String attrName;
+
+    /** 属性描述 */
+    @Excel(name = "属性描述")
+    private String attrDesc;
+
+    /** 属性值 */
+    @Excel(name = "属性值")
+    private String attrValue;
+
+    /** 属性单位 */
+    @Excel(name = "属性单位")
+    private String attrUnit;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setFacsCode(String facsCode) 
+    {
+        this.facsCode = facsCode;
+    }
+
+    public String getFacsCode() 
+    {
+        return facsCode;
+    }
+    public void setAttrName(String attrName) 
+    {
+        this.attrName = attrName;
+    }
+
+    public String getAttrName() 
+    {
+        return attrName;
+    }
+    public void setAttrDesc(String attrDesc) 
+    {
+        this.attrDesc = attrDesc;
+    }
+
+    public String getAttrDesc() 
+    {
+        return attrDesc;
+    }
+    public void setAttrValue(String attrValue) 
+    {
+        this.attrValue = attrValue;
+    }
+
+    public String getAttrValue() 
+    {
+        return attrValue;
+    }
+    public void setAttrUnit(String attrUnit) 
+    {
+        this.attrUnit = attrUnit;
+    }
+
+    public String getAttrUnit() 
+    {
+        return attrUnit;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("facsCode", getFacsCode())
+            .append("attrName", getAttrName())
+            .append("attrDesc", getAttrDesc())
+            .append("attrValue", getAttrValue())
+            .append("attrUnit", getAttrUnit())
+            .append("createTime", getCreateTime())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 128 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/domain/EmsFacsFlowRel.java

@@ -0,0 +1,128 @@
+package com.ruoyi.ems.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+
+/**
+ * 能源设施能流关系对象 adm_ems_facs_flow_rel
+ * 
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public class EmsFacsFlowRel extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 编码 */
+    @Excel(name = "编码")
+    private String code;
+
+    /** 能源输出设施 */
+    @Excel(name = "能源输出设施")
+    private String exportFacsCode;
+
+    /** 能源流入设施 */
+    @Excel(name = "能源流入设施")
+    private String inputFacsCode;
+
+    /** 能源流动介质 */
+    @Excel(name = "能源流动介质")
+    private String emsCls;
+
+    /** 供能状态
+     *  0-停止,1-供应中
+     */
+    @Excel(name = "供能状态")
+    private Long state;
+
+    /**
+     * 动作类型
+     * 4501-购电,4502-上网,4503-充电,4504-放电,4505-自产自销
+     */
+    @Excel(name = "动作类型")
+    private String actionType;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setCode(String code) 
+    {
+        this.code = code;
+    }
+
+    public String getCode() 
+    {
+        return code;
+    }
+    public void setExportFacsCode(String exportFacsCode) 
+    {
+        this.exportFacsCode = exportFacsCode;
+    }
+
+    public String getExportFacsCode() 
+    {
+        return exportFacsCode;
+    }
+    public void setInputFacsCode(String inputFacsCode) 
+    {
+        this.inputFacsCode = inputFacsCode;
+    }
+
+    public String getInputFacsCode() 
+    {
+        return inputFacsCode;
+    }
+    public void setEmsCls(String emsCls) 
+    {
+        this.emsCls = emsCls;
+    }
+
+    public String getEmsCls() 
+    {
+        return emsCls;
+    }
+    public void setState(Long state) 
+    {
+        this.state = state;
+    }
+
+    public Long getState() 
+    {
+        return state;
+    }
+    public void setActionType(String actionType) 
+    {
+        this.actionType = actionType;
+    }
+
+    public String getActionType() 
+    {
+        return actionType;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("code", getCode())
+            .append("exportFacsCode", getExportFacsCode())
+            .append("inputFacsCode", getInputFacsCode())
+            .append("emsCls", getEmsCls())
+            .append("state", getState())
+            .append("actionType", getActionType())
+            .append("createTime", getCreateTime())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 107 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/domain/EmsFacsSubtype.java

@@ -0,0 +1,107 @@
+package com.ruoyi.ems.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+
+/**
+ * 能源设施/系统子类对象 dim_ems_facs_subtype
+ * 
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public class EmsFacsSubtype extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 设施子类代码 */
+    @Excel(name = "设施子类代码")
+    private String code;
+
+    /** 设施子类名称 */
+    @Excel(name = "设施子类名称")
+    private String name;
+
+    /** 所属设施系统分类代码 */
+    @Excel(name = "所属设施系统分类代码")
+    private String parentCode;
+
+    /** 说明 */
+    @Excel(name = "说明")
+    private String desc;
+
+    /** 数据版本 */
+    @Excel(name = "数据版本")
+    private String version;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setCode(String code) 
+    {
+        this.code = code;
+    }
+
+    public String getCode() 
+    {
+        return code;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setParentCode(String parentCode) 
+    {
+        this.parentCode = parentCode;
+    }
+
+    public String getParentCode() 
+    {
+        return parentCode;
+    }
+    public void setDesc(String desc) 
+    {
+        this.desc = desc;
+    }
+
+    public String getDesc() 
+    {
+        return desc;
+    }
+    public void setVersion(String version) 
+    {
+        this.version = version;
+    }
+
+    public String getVersion() 
+    {
+        return version;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("code", getCode())
+            .append("name", getName())
+            .append("parentCode", getParentCode())
+            .append("desc", getDesc())
+            .append("version", getVersion())
+            .toString();
+    }
+}

+ 106 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/domain/EmsFacsType.java

@@ -0,0 +1,106 @@
+package com.ruoyi.ems.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+
+import java.util.List;
+
+/**
+ * 能源设施/系统分类对象 dim_ems_facs_type
+ * 
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public class EmsFacsType extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 设施系统代码 */
+    @Excel(name = "设施系统代码")
+    private String code;
+
+    /** 设施系统名称 */
+    @Excel(name = "设施系统名称")
+    private String name;
+
+    /** 说明 */
+    @Excel(name = "说明")
+    private String desc;
+
+    /** 数据版本 */
+    @Excel(name = "数据版本")
+    private String version;
+
+    /** 子类 */
+    private List<EmsFacsSubtype> subtypeList;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setCode(String code) 
+    {
+        this.code = code;
+    }
+
+    public String getCode() 
+    {
+        return code;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setDesc(String desc) 
+    {
+        this.desc = desc;
+    }
+
+    public String getDesc() 
+    {
+        return desc;
+    }
+    public void setVersion(String version) 
+    {
+        this.version = version;
+    }
+
+    public String getVersion() 
+    {
+        return version;
+    }
+
+    public List<EmsFacsSubtype> getSubtypeList() {
+        return subtypeList;
+    }
+
+    public void setSubtypeList(List<EmsFacsSubtype> subtypeList) {
+        this.subtypeList = subtypeList;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("code", getCode())
+            .append("name", getName())
+            .append("desc", getDesc())
+            .append("version", getVersion())
+            .toString();
+    }
+}

+ 61 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/EmissionFactorMapper.java

@@ -0,0 +1,61 @@
+package com.ruoyi.ems.mapper;
+
+import com.ruoyi.ems.domain.EmissionFactor;
+
+import java.util.List;
+
+/**
+ * 排放因子维Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public interface EmissionFactorMapper {
+    /**
+     * 查询排放因子维
+     *
+     * @param id 排放因子维主键
+     * @return 排放因子维
+     */
+    EmissionFactor selectEmissionFactorById(Long id);
+
+    /**
+     * 查询排放因子维列表
+     *
+     * @param emissionFactor 排放因子维
+     * @return 排放因子维集合
+     */
+    List<EmissionFactor> selectEmissionFactorList(EmissionFactor emissionFactor);
+
+    /**
+     * 新增排放因子维
+     *
+     * @param emissionFactor 排放因子维
+     * @return 结果
+     */
+    int insertEmissionFactor(EmissionFactor emissionFactor);
+
+    /**
+     * 修改排放因子维
+     *
+     * @param emissionFactor 排放因子维
+     * @return 结果
+     */
+    int updateEmissionFactor(EmissionFactor emissionFactor);
+
+    /**
+     * 删除排放因子维
+     *
+     * @param id 排放因子维主键
+     * @return 结果
+     */
+    int deleteEmissionFactorById(Long id);
+
+    /**
+     * 批量删除排放因子维
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteEmissionFactorByIds(Long[] ids);
+}

+ 61 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/EmsClsMapper.java

@@ -0,0 +1,61 @@
+package com.ruoyi.ems.mapper;
+
+import java.util.List;
+import com.ruoyi.ems.domain.EmsCls;
+
+/**
+ * 能源分类Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public interface EmsClsMapper
+{
+    /**
+     * 查询能源分类
+     * 
+     * @param id 能源分类主键
+     * @return 能源分类
+     */
+    EmsCls selectEmsClsById(Long id);
+
+    /**
+     * 查询能源分类列表
+     * 
+     * @param emsCls 能源分类
+     * @return 能源分类集合
+     */
+    List<EmsCls> selectEmsClsList(EmsCls emsCls);
+
+    /**
+     * 新增能源分类
+     * 
+     * @param emsCls 能源分类
+     * @return 结果
+     */
+    int insertEmsCls(EmsCls emsCls);
+
+    /**
+     * 修改能源分类
+     * 
+     * @param emsCls 能源分类
+     * @return 结果
+     */
+    int updateEmsCls(EmsCls emsCls);
+
+    /**
+     * 删除能源分类
+     * 
+     * @param id 能源分类主键
+     * @return 结果
+     */
+    int deleteEmsClsById(Long id);
+
+    /**
+     * 批量删除能源分类
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteEmsClsByIds(Long[] ids);
+}

+ 61 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/EmsDeviceMapper.java

@@ -0,0 +1,61 @@
+package com.ruoyi.ems.mapper;
+
+import java.util.List;
+import com.ruoyi.ems.domain.EmsDevice;
+
+/**
+ * 能源设备Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public interface EmsDeviceMapper
+{
+    /**
+     * 查询能源设备
+     * 
+     * @param id 能源设备主键
+     * @return 能源设备
+     */
+    EmsDevice selectEmsDeviceById(Long id);
+
+    /**
+     * 查询能源设备列表
+     * 
+     * @param emsDevice 能源设备
+     * @return 能源设备集合
+     */
+     List<EmsDevice> selectEmsDeviceList(EmsDevice emsDevice);
+
+    /**
+     * 新增能源设备
+     * 
+     * @param emsDevice 能源设备
+     * @return 结果
+     */
+     int insertEmsDevice(EmsDevice emsDevice);
+
+    /**
+     * 修改能源设备
+     * 
+     * @param emsDevice 能源设备
+     * @return 结果
+     */
+     int updateEmsDevice(EmsDevice emsDevice);
+
+    /**
+     * 删除能源设备
+     * 
+     * @param id 能源设备主键
+     * @return 结果
+     */
+     int deleteEmsDeviceById(Long id);
+
+    /**
+     * 批量删除能源设备
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+     int deleteEmsDeviceByIds(Long[] ids);
+}

+ 76 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/EmsFacsAttrMapper.java

@@ -0,0 +1,76 @@
+package com.ruoyi.ems.mapper;
+
+import java.util.List;
+import com.ruoyi.ems.domain.EmsFacsAttr;
+
+/**
+ * 能源设施/系统属性Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public interface EmsFacsAttrMapper {
+    /**
+     * 查询能源设施/系统属性
+     *
+     * @param id 能源设施/系统属性主键
+     * @return 能源设施/系统属性
+     */
+    EmsFacsAttr selectEmsFacsAttrById(Long id);
+
+    /**
+     * 查询能源设施/系统属性列表
+     *
+     * @param emsFacsAttr 能源设施/系统属性
+     * @return 能源设施/系统属性集合
+     */
+    List<EmsFacsAttr> selectEmsFacsAttrList(EmsFacsAttr emsFacsAttr);
+
+    /**
+     * 新增能源设施/系统属性
+     *
+     * @param emsFacsAttr 能源设施/系统属性
+     * @return 结果
+     */
+    int insertEmsFacsAttr(EmsFacsAttr emsFacsAttr);
+
+    /**
+     * 批量新增能源设施/系统属性
+     *
+     * @param emsFacsAttrs 能源设施/系统属性
+     * @return 结果
+     */
+    int insertEmsFacsAttrBatch(List<EmsFacsAttr> emsFacsAttrs);
+
+    /**
+     * 修改能源设施/系统属性
+     *
+     * @param emsFacsAttr 能源设施/系统属性
+     * @return 结果
+     */
+    int updateEmsFacsAttr(EmsFacsAttr emsFacsAttr);
+
+    /**
+     * 删除能源设施/系统属性
+     *
+     * @param id 能源设施/系统属性主键
+     * @return 结果
+     */
+    int deleteEmsFacsAttrById(Long id);
+
+    /**
+     * 批量删除能源设施/系统属性
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteEmsFacsAttrByIds(Long[] ids);
+
+    /**
+     * 批量删除能源设施/系统属性
+     *
+     * @param factCode 设施编码
+     * @return 结果
+     */
+    int deleteEmsFacsAttrByFactCode(String factCode);
+}

+ 61 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/EmsFacsFlowRelMapper.java

@@ -0,0 +1,61 @@
+package com.ruoyi.ems.mapper;
+
+import java.util.List;
+
+import com.ruoyi.ems.domain.EmsFacsFlowRel;
+
+/**
+ * 能源设施能流关系Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public interface EmsFacsFlowRelMapper {
+    /**
+     * 查询能源设施能流关系
+     *
+     * @param id 能源设施能流关系主键
+     * @return 能源设施能流关系
+     */
+    EmsFacsFlowRel selectEmsFacsFlowRelById(Long id);
+
+    /**
+     * 查询能源设施能流关系列表
+     *
+     * @param emsFacsFlowRel 能源设施能流关系
+     * @return 能源设施能流关系集合
+     */
+    List<EmsFacsFlowRel> selectEmsFacsFlowRelList(EmsFacsFlowRel emsFacsFlowRel);
+
+    /**
+     * 新增能源设施能流关系
+     *
+     * @param emsFacsFlowRel 能源设施能流关系
+     * @return 结果
+     */
+    int insertEmsFacsFlowRel(EmsFacsFlowRel emsFacsFlowRel);
+
+    /**
+     * 修改能源设施能流关系
+     *
+     * @param emsFacsFlowRel 能源设施能流关系
+     * @return 结果
+     */
+    int updateEmsFacsFlowRel(EmsFacsFlowRel emsFacsFlowRel);
+
+    /**
+     * 删除能源设施能流关系
+     *
+     * @param id 能源设施能流关系主键
+     * @return 结果
+     */
+    int deleteEmsFacsFlowRelById(Long id);
+
+    /**
+     * 批量删除能源设施能流关系
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteEmsFacsFlowRelByIds(Long[] ids);
+}

+ 61 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/EmsFacsMapper.java

@@ -0,0 +1,61 @@
+package com.ruoyi.ems.mapper;
+
+import com.ruoyi.ems.domain.EmsFacs;
+
+import java.util.List;
+
+/**
+ * 能源设施/系统Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public interface EmsFacsMapper {
+    /**
+     * 查询能源设施/系统
+     *
+     * @param id 能源设施/系统主键
+     * @return 能源设施/系统
+     */
+    EmsFacs selectEmsFacsById(Long id);
+
+    /**
+     * 查询能源设施/系统列表
+     *
+     * @param emsFacs 能源设施/系统
+     * @return 能源设施/系统集合
+     */
+    List<EmsFacs> selectEmsFacsList(EmsFacs emsFacs);
+
+    /**
+     * 新增能源设施/系统
+     *
+     * @param emsFacs 能源设施/系统
+     * @return 结果
+     */
+    int insertEmsFacs(EmsFacs emsFacs);
+
+    /**
+     * 修改能源设施/系统
+     *
+     * @param emsFacs 能源设施/系统
+     * @return 结果
+     */
+    int updateEmsFacs(EmsFacs emsFacs);
+
+    /**
+     * 删除能源设施/系统
+     *
+     * @param id 能源设施/系统主键
+     * @return 结果
+     */
+    int deleteEmsFacsById(Long id);
+
+    /**
+     * 批量删除能源设施/系统
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteEmsFacsByIds(Long[] ids);
+}

+ 61 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/EmsFacsSubtypeMapper.java

@@ -0,0 +1,61 @@
+package com.ruoyi.ems.mapper;
+
+import java.util.List;
+
+import com.ruoyi.ems.domain.EmsFacsSubtype;
+
+/**
+ * 能源设施/系统子类Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public interface EmsFacsSubtypeMapper {
+    /**
+     * 查询能源设施/系统子类
+     *
+     * @param id 能源设施/系统子类主键
+     * @return 能源设施/系统子类
+     */
+    EmsFacsSubtype selectEmsFacsSubtypeById(Long id);
+
+    /**
+     * 查询能源设施/系统子类列表
+     *
+     * @param emsFacsSubtype 能源设施/系统子类
+     * @return 能源设施/系统子类集合
+     */
+    List<EmsFacsSubtype> selectEmsFacsSubtypeList(EmsFacsSubtype emsFacsSubtype);
+
+    /**
+     * 新增能源设施/系统子类
+     *
+     * @param emsFacsSubtype 能源设施/系统子类
+     * @return 结果
+     */
+    int insertEmsFacsSubtype(EmsFacsSubtype emsFacsSubtype);
+
+    /**
+     * 修改能源设施/系统子类
+     *
+     * @param emsFacsSubtype 能源设施/系统子类
+     * @return 结果
+     */
+    int updateEmsFacsSubtype(EmsFacsSubtype emsFacsSubtype);
+
+    /**
+     * 删除能源设施/系统子类
+     *
+     * @param id 能源设施/系统子类主键
+     * @return 结果
+     */
+    int deleteEmsFacsSubtypeById(Long id);
+
+    /**
+     * 批量删除能源设施/系统子类
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteEmsFacsSubtypeByIds(Long[] ids);
+}

+ 61 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/EmsFacsTypeMapper.java

@@ -0,0 +1,61 @@
+package com.ruoyi.ems.mapper;
+
+import java.util.List;
+
+import com.ruoyi.ems.domain.EmsFacsType;
+
+/**
+ * 能源设施/系统分类Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public interface EmsFacsTypeMapper {
+    /**
+     * 查询能源设施/系统分类
+     *
+     * @param id 能源设施/系统分类主键
+     * @return 能源设施/系统分类
+     */
+    EmsFacsType selectEmsFacsTypeById(Long id);
+
+    /**
+     * 查询能源设施/系统分类列表
+     *
+     * @param emsFacsType 能源设施/系统分类
+     * @return 能源设施/系统分类集合
+     */
+    List<EmsFacsType> selectEmsFacsTypeList(EmsFacsType emsFacsType);
+
+    /**
+     * 新增能源设施/系统分类
+     *
+     * @param emsFacsType 能源设施/系统分类
+     * @return 结果
+     */
+    int insertEmsFacsType(EmsFacsType emsFacsType);
+
+    /**
+     * 修改能源设施/系统分类
+     *
+     * @param emsFacsType 能源设施/系统分类
+     * @return 结果
+     */
+    int updateEmsFacsType(EmsFacsType emsFacsType);
+
+    /**
+     * 删除能源设施/系统分类
+     *
+     * @param id 能源设施/系统分类主键
+     * @return 结果
+     */
+    int deleteEmsFacsTypeById(Long id);
+
+    /**
+     * 批量删除能源设施/系统分类
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteEmsFacsTypeByIds(Long[] ids);
+}

+ 61 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/IEmissionFactorService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.ems.service;
+
+import com.ruoyi.ems.domain.EmissionFactor;
+
+import java.util.List;
+
+/**
+ * 排放因子Service接口
+ *
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public interface IEmissionFactorService {
+    /**
+     * 查询排放因子
+     *
+     * @param id 排放因子维主
+     * @return 排放因子
+     */
+    EmissionFactor selectEmissionFactorById(Long id);
+
+    /**
+     * 查询排放因子列表
+     *
+     * @param emissionFactor 排放因子
+     * @return 排放因子集合
+     */
+    List<EmissionFactor> selectEmissionFactorList(EmissionFactor emissionFactor);
+
+    /**
+     * 新增排放因子
+     *
+     * @param emissionFactor 排放因子
+     * @return 结果
+     */
+    int insertEmissionFactor(EmissionFactor emissionFactor);
+
+    /**
+     * 修改排放因子
+     *
+     * @param emissionFactor 排放因子
+     * @return 结果
+     */
+    int updateEmissionFactor(EmissionFactor emissionFactor);
+
+    /**
+     * 批量删除排放因子
+     *
+     * @param ids 需要删除的排放因子主键集合
+     * @return 结果
+     */
+    int deleteEmissionFactorByIds(Long[] ids);
+
+    /**
+     * 删除排放因子信息
+     *
+     * @param id 排放因子主键
+     * @return 结果
+     */
+    int deleteEmissionFactorById(Long id);
+}

+ 61 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/IEmsClsService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.ems.service;
+
+import java.util.List;
+
+import com.ruoyi.ems.domain.EmsCls;
+
+/**
+ * 能源分类Service接口
+ *
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public interface IEmsClsService {
+    /**
+     * 查询能源分类
+     *
+     * @param id 能源分类主键
+     * @return 能源分类
+     */
+    EmsCls selectEmsClsById(Long id);
+
+    /**
+     * 查询能源分类列表
+     *
+     * @param emsCls 能源分类
+     * @return 能源分类集合
+     */
+    List<EmsCls> selectEmsClsList(EmsCls emsCls);
+
+    /**
+     * 新增能源分类
+     *
+     * @param emsCls 能源分类
+     * @return 结果
+     */
+    int insertEmsCls(EmsCls emsCls);
+
+    /**
+     * 修改能源分类
+     *
+     * @param emsCls 能源分类
+     * @return 结果
+     */
+    int updateEmsCls(EmsCls emsCls);
+
+    /**
+     * 批量删除能源分类
+     *
+     * @param ids 需要删除的能源分类主键集合
+     * @return 结果
+     */
+    int deleteEmsClsByIds(Long[] ids);
+
+    /**
+     * 删除能源分类信息
+     *
+     * @param id 能源分类主键
+     * @return 结果
+     */
+    int deleteEmsClsById(Long id);
+}

+ 61 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/IEmsDeviceService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.ems.service;
+
+import java.util.List;
+
+import com.ruoyi.ems.domain.EmsDevice;
+
+/**
+ * 能源设备Service接口
+ *
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public interface IEmsDeviceService {
+    /**
+     * 查询能源设备
+     *
+     * @param id 能源设备主键
+     * @return 能源设备
+     */
+    EmsDevice selectEmsDeviceById(Long id);
+
+    /**
+     * 查询能源设备列表
+     *
+     * @param emsDevice 能源设备
+     * @return 能源设备集合
+     */
+    List<EmsDevice> selectEmsDeviceList(EmsDevice emsDevice);
+
+    /**
+     * 新增能源设备
+     *
+     * @param emsDevice 能源设备
+     * @return 结果
+     */
+    int insertEmsDevice(EmsDevice emsDevice);
+
+    /**
+     * 修改能源设备
+     *
+     * @param emsDevice 能源设备
+     * @return 结果
+     */
+    int updateEmsDevice(EmsDevice emsDevice);
+
+    /**
+     * 批量删除能源设备
+     *
+     * @param ids 需要删除的能源设备主键集合
+     * @return 结果
+     */
+    int deleteEmsDeviceByIds(Long[] ids);
+
+    /**
+     * 删除能源设备信息
+     *
+     * @param id 能源设备主键
+     * @return 结果
+     */
+    int deleteEmsDeviceById(Long id);
+}

+ 76 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/IEmsFacsAttrService.java

@@ -0,0 +1,76 @@
+package com.ruoyi.ems.service;
+
+import java.util.List;
+import com.ruoyi.ems.domain.EmsFacsAttr;
+
+/**
+ * 能源设施/系统属性Service接口
+ *
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public interface IEmsFacsAttrService {
+    /**
+     * 查询能源设施/系统属性
+     *
+     * @param id 能源设施/系统属性主键
+     * @return 能源设施/系统属性
+     */
+    EmsFacsAttr selectEmsFacsAttrById(Long id);
+
+    /**
+     * 查询能源设施/系统属性列表
+     *
+     * @param emsFacsAttr 能源设施/系统属性
+     * @return 能源设施/系统属性集合
+     */
+    List<EmsFacsAttr> selectEmsFacsAttrList(EmsFacsAttr emsFacsAttr);
+
+    /**
+     * 新增能源设施/系统属性
+     *
+     * @param emsFacsAttr 能源设施/系统属性
+     * @return 结果
+     */
+    int insertEmsFacsAttr(EmsFacsAttr emsFacsAttr);
+
+    /**
+     * 批量新增能源设施/系统属性
+     *
+     * @param emsFacsAttrs 能源设施/系统属性
+     * @return 结果
+     */
+    int insertEmsFacsAttrBatch(List<EmsFacsAttr> emsFacsAttrs);
+
+    /**
+     * 修改能源设施/系统属性
+     *
+     * @param emsFacsAttr 能源设施/系统属性
+     * @return 结果
+     */
+    int updateEmsFacsAttr(EmsFacsAttr emsFacsAttr);
+
+    /**
+     * 批量删除能源设施/系统属性
+     *
+     * @param ids 需要删除的能源设施/系统属性主键集合
+     * @return 结果
+     */
+    int deleteEmsFacsAttrByIds(Long[] ids);
+
+    /**
+     * 删除能源设施/系统属性信息
+     *
+     * @param id 能源设施/系统属性主键
+     * @return 结果
+     */
+    int deleteEmsFacsAttrById(Long id);
+
+    /**
+     * 删除能源设施/系统属性信息
+     *
+     * @param facsCode 设施编码
+     * @return 结果
+     */
+    int deleteEmsFacsAttrByFacsCode(String facsCode);
+}

+ 60 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/IEmsFacsFlowRelService.java

@@ -0,0 +1,60 @@
+package com.ruoyi.ems.service;
+
+import java.util.List;
+import com.ruoyi.ems.domain.EmsFacsFlowRel;
+
+/**
+ * 能源设施能流关系Service接口
+ *
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public interface IEmsFacsFlowRelService {
+    /**
+     * 查询能源设施能流关系
+     *
+     * @param id 能源设施能流关系主键
+     * @return 能源设施能流关系
+     */
+    EmsFacsFlowRel selectEmsFacsFlowRelById(Long id);
+
+    /**
+     * 查询能源设施能流关系列表
+     *
+     * @param emsFacsFlowRel 能源设施能流关系
+     * @return 能源设施能流关系集合
+     */
+    List<EmsFacsFlowRel> selectEmsFacsFlowRelList(EmsFacsFlowRel emsFacsFlowRel);
+
+    /**
+     * 新增能源设施能流关系
+     *
+     * @param emsFacsFlowRel 能源设施能流关系
+     * @return 结果
+     */
+    int insertEmsFacsFlowRel(EmsFacsFlowRel emsFacsFlowRel);
+
+    /**
+     * 修改能源设施能流关系
+     *
+     * @param emsFacsFlowRel 能源设施能流关系
+     * @return 结果
+     */
+    int updateEmsFacsFlowRel(EmsFacsFlowRel emsFacsFlowRel);
+
+    /**
+     * 批量删除能源设施能流关系
+     *
+     * @param ids 需要删除的能源设施能流关系主键集合
+     * @return 结果
+     */
+    int deleteEmsFacsFlowRelByIds(Long[] ids);
+
+    /**
+     * 删除能源设施能流关系信息
+     *
+     * @param id 能源设施能流关系主键
+     * @return 结果
+     */
+    int deleteEmsFacsFlowRelById(Long id);
+}

+ 60 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/IEmsFacsService.java

@@ -0,0 +1,60 @@
+package com.ruoyi.ems.service;
+
+import java.util.List;
+import com.ruoyi.ems.domain.EmsFacs;
+
+/**
+ * 能源设施/系统Service接口
+ *
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public interface IEmsFacsService {
+    /**
+     * 查询能源设施/系统
+     *
+     * @param id 能源设施/系统主键
+     * @return 能源设施/系统
+     */
+    EmsFacs selectEmsFacsById(Long id);
+
+    /**
+     * 查询能源设施/系统列表
+     *
+     * @param emsFacs 能源设施/系统
+     * @return 能源设施/系统集合
+     */
+    List<EmsFacs> selectEmsFacsList(EmsFacs emsFacs);
+
+    /**
+     * 新增能源设施/系统
+     *
+     * @param emsFacs 能源设施/系统
+     * @return 结果
+     */
+    int insertEmsFacs(EmsFacs emsFacs);
+
+    /**
+     * 修改能源设施/系统
+     *
+     * @param emsFacs 能源设施/系统
+     * @return 结果
+     */
+    int updateEmsFacs(EmsFacs emsFacs);
+
+    /**
+     * 批量删除能源设施/系统
+     *
+     * @param ids 需要删除的能源设施/系统主键集合
+     * @return 结果
+     */
+    int deleteEmsFacsByIds(Long[] ids);
+
+    /**
+     * 删除能源设施/系统信息
+     *
+     * @param id 能源设施/系统主键
+     * @return 结果
+     */
+    int deleteEmsFacsById(Long id);
+}

+ 60 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/IEmsFacsSubtypeService.java

@@ -0,0 +1,60 @@
+package com.ruoyi.ems.service;
+
+import java.util.List;
+import com.ruoyi.ems.domain.EmsFacsSubtype;
+
+/**
+ * 能源设施/系统子类Service接口
+ *
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public interface IEmsFacsSubtypeService {
+    /**
+     * 查询能源设施/系统子类
+     *
+     * @param id 能源设施/系统子类主键
+     * @return 能源设施/系统子类
+     */
+    EmsFacsSubtype selectEmsFacsSubtypeById(Long id);
+
+    /**
+     * 查询能源设施/系统子类列表
+     *
+     * @param emsFacsSubtype 能源设施/系统子类
+     * @return 能源设施/系统子类集合
+     */
+    List<EmsFacsSubtype> selectEmsFacsSubtypeList(EmsFacsSubtype emsFacsSubtype);
+
+    /**
+     * 新增能源设施/系统子类
+     *
+     * @param emsFacsSubtype 能源设施/系统子类
+     * @return 结果
+     */
+    int insertEmsFacsSubtype(EmsFacsSubtype emsFacsSubtype);
+
+    /**
+     * 修改能源设施/系统子类
+     *
+     * @param emsFacsSubtype 能源设施/系统子类
+     * @return 结果
+     */
+    int updateEmsFacsSubtype(EmsFacsSubtype emsFacsSubtype);
+
+    /**
+     * 批量删除能源设施/系统子类
+     *
+     * @param ids 需要删除的能源设施/系统子类主键集合
+     * @return 结果
+     */
+    int deleteEmsFacsSubtypeByIds(Long[] ids);
+
+    /**
+     * 删除能源设施/系统子类信息
+     *
+     * @param id 能源设施/系统子类主键
+     * @return 结果
+     */
+    int deleteEmsFacsSubtypeById(Long id);
+}

+ 60 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/IEmsFacsTypeService.java

@@ -0,0 +1,60 @@
+package com.ruoyi.ems.service;
+
+import java.util.List;
+import com.ruoyi.ems.domain.EmsFacsType;
+
+/**
+ * 能源设施/系统分类Service接口
+ *
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+public interface IEmsFacsTypeService {
+    /**
+     * 查询能源设施/系统分类
+     *
+     * @param id 能源设施/系统分类主键
+     * @return 能源设施/系统分类
+     */
+    EmsFacsType selectEmsFacsTypeById(Long id);
+
+    /**
+     * 查询能源设施/系统分类列表
+     *
+     * @param emsFacsType 能源设施/系统分类
+     * @return 能源设施/系统分类集合
+     */
+    List<EmsFacsType> selectEmsFacsTypeList(EmsFacsType emsFacsType);
+
+    /**
+     * 新增能源设施/系统分类
+     *
+     * @param emsFacsType 能源设施/系统分类
+     * @return 结果
+     */
+    int insertEmsFacsType(EmsFacsType emsFacsType);
+
+    /**
+     * 修改能源设施/系统分类
+     *
+     * @param emsFacsType 能源设施/系统分类
+     * @return 结果
+     */
+    int updateEmsFacsType(EmsFacsType emsFacsType);
+
+    /**
+     * 批量删除能源设施/系统分类
+     *
+     * @param ids 需要删除的能源设施/系统分类主键集合
+     * @return 结果
+     */
+    int deleteEmsFacsTypeByIds(Long[] ids);
+
+    /**
+     * 删除能源设施/系统分类信息
+     *
+     * @param id 能源设施/系统分类主键
+     * @return 结果
+     */
+    int deleteEmsFacsTypeById(Long id);
+}

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

@@ -0,0 +1,94 @@
+package com.ruoyi.ems.service.impl;
+
+import java.util.List;
+
+import com.ruoyi.ems.domain.EmissionFactor;
+import com.ruoyi.ems.mapper.EmissionFactorMapper;
+import com.ruoyi.ems.service.IEmissionFactorService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 排放因子维Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+@Service
+public class EmissionFactorServiceImpl implements IEmissionFactorService
+{
+    @Autowired
+    private EmissionFactorMapper emissionFactorMapper;
+
+    /**
+     * 查询排放因子维
+     * 
+     * @param id 排放因子维主键
+     * @return 排放因子维
+     */
+    @Override
+    public EmissionFactor selectEmissionFactorById(Long id)
+    {
+        return emissionFactorMapper.selectEmissionFactorById(id);
+    }
+
+    /**
+     * 查询排放因子维列表
+     * 
+     * @param emissionFactor 排放因子维
+     * @return 排放因子维
+     */
+    @Override
+    public List<EmissionFactor> selectEmissionFactorList(EmissionFactor emissionFactor)
+    {
+        return emissionFactorMapper.selectEmissionFactorList(emissionFactor);
+    }
+
+    /**
+     * 新增排放因子维
+     * 
+     * @param emissionFactor 排放因子维
+     * @return 结果
+     */
+    @Override
+    public int insertEmissionFactor(EmissionFactor emissionFactor)
+    {
+        return emissionFactorMapper.insertEmissionFactor(emissionFactor);
+    }
+
+    /**
+     * 修改排放因子维
+     * 
+     * @param emissionFactor 排放因子维
+     * @return 结果
+     */
+    @Override
+    public int updateEmissionFactor(EmissionFactor emissionFactor)
+    {
+        return emissionFactorMapper.updateEmissionFactor(emissionFactor);
+    }
+
+    /**
+     * 批量删除排放因子维
+     * 
+     * @param ids 需要删除的排放因子维主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEmissionFactorByIds(Long[] ids)
+    {
+        return emissionFactorMapper.deleteEmissionFactorByIds(ids);
+    }
+
+    /**
+     * 删除排放因子维信息
+     * 
+     * @param id 排放因子维主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEmissionFactorById(Long id)
+    {
+        return emissionFactorMapper.deleteEmissionFactorById(id);
+    }
+}

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

@@ -0,0 +1,94 @@
+package com.ruoyi.ems.service.impl;
+
+import java.util.List;
+
+import com.ruoyi.ems.domain.EmsCls;
+import com.ruoyi.ems.mapper.EmsClsMapper;
+import com.ruoyi.ems.service.IEmsClsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 能源分类Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+@Service
+public class EmsClsServiceImpl implements IEmsClsService
+{
+    @Autowired
+    private EmsClsMapper emsClsMapper;
+
+    /**
+     * 查询能源分类
+     * 
+     * @param id 能源分类主键
+     * @return 能源分类
+     */
+    @Override
+    public EmsCls selectEmsClsById(Long id)
+    {
+        return emsClsMapper.selectEmsClsById(id);
+    }
+
+    /**
+     * 查询能源分类列表
+     * 
+     * @param emsCls 能源分类
+     * @return 能源分类
+     */
+    @Override
+    public List<EmsCls> selectEmsClsList(EmsCls emsCls)
+    {
+        return emsClsMapper.selectEmsClsList(emsCls);
+    }
+
+    /**
+     * 新增能源分类
+     * 
+     * @param emsCls 能源分类
+     * @return 结果
+     */
+    @Override
+    public int insertEmsCls(EmsCls emsCls)
+    {
+        return emsClsMapper.insertEmsCls(emsCls);
+    }
+
+    /**
+     * 修改能源分类
+     * 
+     * @param emsCls 能源分类
+     * @return 结果
+     */
+    @Override
+    public int updateEmsCls(EmsCls emsCls)
+    {
+        return emsClsMapper.updateEmsCls(emsCls);
+    }
+
+    /**
+     * 批量删除能源分类
+     * 
+     * @param ids 需要删除的能源分类主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEmsClsByIds(Long[] ids)
+    {
+        return emsClsMapper.deleteEmsClsByIds(ids);
+    }
+
+    /**
+     * 删除能源分类信息
+     * 
+     * @param id 能源分类主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEmsClsById(Long id)
+    {
+        return emsClsMapper.deleteEmsClsById(id);
+    }
+}

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

@@ -0,0 +1,96 @@
+package com.ruoyi.ems.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.ems.domain.EmsDevice;
+import com.ruoyi.ems.mapper.EmsDeviceMapper;
+import com.ruoyi.ems.service.IEmsDeviceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 能源设备Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+@Service
+public class EmsDeviceServiceImpl implements IEmsDeviceService
+{
+    @Autowired
+    private EmsDeviceMapper emsDeviceMapper;
+
+    /**
+     * 查询能源设备
+     * 
+     * @param id 能源设备主键
+     * @return 能源设备
+     */
+    @Override
+    public EmsDevice selectEmsDeviceById(Long id)
+    {
+        return emsDeviceMapper.selectEmsDeviceById(id);
+    }
+
+    /**
+     * 查询能源设备列表
+     * 
+     * @param emsDevice 能源设备
+     * @return 能源设备
+     */
+    @Override
+    public List<EmsDevice> selectEmsDeviceList(EmsDevice emsDevice)
+    {
+        return emsDeviceMapper.selectEmsDeviceList(emsDevice);
+    }
+
+    /**
+     * 新增能源设备
+     * 
+     * @param emsDevice 能源设备
+     * @return 结果
+     */
+    @Override
+    public int insertEmsDevice(EmsDevice emsDevice)
+    {
+        emsDevice.setCreateTime(DateUtils.getNowDate());
+        return emsDeviceMapper.insertEmsDevice(emsDevice);
+    }
+
+    /**
+     * 修改能源设备
+     * 
+     * @param emsDevice 能源设备
+     * @return 结果
+     */
+    @Override
+    public int updateEmsDevice(EmsDevice emsDevice)
+    {
+        emsDevice.setUpdateTime(DateUtils.getNowDate());
+        return emsDeviceMapper.updateEmsDevice(emsDevice);
+    }
+
+    /**
+     * 批量删除能源设备
+     * 
+     * @param ids 需要删除的能源设备主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEmsDeviceByIds(Long[] ids)
+    {
+        return emsDeviceMapper.deleteEmsDeviceByIds(ids);
+    }
+
+    /**
+     * 删除能源设备信息
+     * 
+     * @param id 能源设备主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEmsDeviceById(Long id)
+    {
+        return emsDeviceMapper.deleteEmsDeviceById(id);
+    }
+}

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

@@ -0,0 +1,119 @@
+package com.ruoyi.ems.service.impl;
+
+import java.util.Date;
+import java.util.List;
+
+import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.ems.domain.EmsFacsAttr;
+import com.ruoyi.ems.mapper.EmsFacsAttrMapper;
+import com.ruoyi.ems.service.IEmsFacsAttrService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 能源设施/系统属性Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+@Service
+public class EmsFacsAttrServiceImpl implements IEmsFacsAttrService {
+    @Autowired
+    private EmsFacsAttrMapper emsFacsAttrMapper;
+
+    /**
+     * 查询能源设施/系统属性
+     *
+     * @param id 能源设施/系统属性主键
+     * @return 能源设施/系统属性
+     */
+    @Override
+    public EmsFacsAttr selectEmsFacsAttrById(Long id) {
+        return emsFacsAttrMapper.selectEmsFacsAttrById(id);
+    }
+
+    /**
+     * 查询能源设施/系统属性列表
+     *
+     * @param emsFacsAttr 能源设施/系统属性
+     * @return 能源设施/系统属性
+     */
+    @Override
+    public List<EmsFacsAttr> selectEmsFacsAttrList(EmsFacsAttr emsFacsAttr) {
+        return emsFacsAttrMapper.selectEmsFacsAttrList(emsFacsAttr);
+    }
+
+    /**
+     * 新增能源设施/系统属性
+     *
+     * @param emsFacsAttr 能源设施/系统属性
+     * @return 结果
+     */
+    @Override
+    public int insertEmsFacsAttr(EmsFacsAttr emsFacsAttr) {
+        emsFacsAttr.setCreateTime(DateUtils.getNowDate());
+        return emsFacsAttrMapper.insertEmsFacsAttr(emsFacsAttr);
+    }
+
+    /**
+     * 批量新增能源设施/系统属性
+     *
+     * @param emsFacsAttrs 能源设施/系统属性
+     * @return 结果
+     */
+    @Override
+    public int insertEmsFacsAttrBatch(List<EmsFacsAttr> emsFacsAttrs) {
+        Date date = DateUtils.getNowDate();
+
+        emsFacsAttrs.forEach(emsFacsAttr -> {
+            emsFacsAttr.setCreateTime(date);
+        });
+
+        return emsFacsAttrMapper.insertEmsFacsAttrBatch(emsFacsAttrs);
+    }
+
+    /**
+     * 修改能源设施/系统属性
+     *
+     * @param emsFacsAttr 能源设施/系统属性
+     * @return 结果
+     */
+    @Override
+    public int updateEmsFacsAttr(EmsFacsAttr emsFacsAttr) {
+        emsFacsAttr.setUpdateTime(DateUtils.getNowDate());
+        return emsFacsAttrMapper.updateEmsFacsAttr(emsFacsAttr);
+    }
+
+    /**
+     * 批量删除能源设施/系统属性
+     *
+     * @param ids 需要删除的能源设施/系统属性主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEmsFacsAttrByIds(Long[] ids) {
+        return emsFacsAttrMapper.deleteEmsFacsAttrByIds(ids);
+    }
+
+    /**
+     * 删除能源设施/系统属性信息
+     *
+     * @param id 能源设施/系统属性主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEmsFacsAttrById(Long id) {
+        return emsFacsAttrMapper.deleteEmsFacsAttrById(id);
+    }
+
+    /**
+     * 批量删除能源设施/系统属性
+     *
+     * @param facsCode 设施编码
+     * @return 结果
+     */
+    @Override
+    public int deleteEmsFacsAttrByFacsCode(String facsCode) {
+        return emsFacsAttrMapper.deleteEmsFacsAttrByFactCode(facsCode);
+    }
+}

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

@@ -0,0 +1,96 @@
+package com.ruoyi.ems.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.ems.domain.EmsFacsFlowRel;
+import com.ruoyi.ems.mapper.EmsFacsFlowRelMapper;
+import com.ruoyi.ems.service.IEmsFacsFlowRelService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 能源设施能流关系Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+@Service
+public class EmsFacsFlowRelServiceImpl implements IEmsFacsFlowRelService
+{
+    @Autowired
+    private EmsFacsFlowRelMapper emsFacsFlowRelMapper;
+
+    /**
+     * 查询能源设施能流关系
+     * 
+     * @param id 能源设施能流关系主键
+     * @return 能源设施能流关系
+     */
+    @Override
+    public EmsFacsFlowRel selectEmsFacsFlowRelById(Long id)
+    {
+        return emsFacsFlowRelMapper.selectEmsFacsFlowRelById(id);
+    }
+
+    /**
+     * 查询能源设施能流关系列表
+     * 
+     * @param emsFacsFlowRel 能源设施能流关系
+     * @return 能源设施能流关系
+     */
+    @Override
+    public List<EmsFacsFlowRel> selectEmsFacsFlowRelList(EmsFacsFlowRel emsFacsFlowRel)
+    {
+        return emsFacsFlowRelMapper.selectEmsFacsFlowRelList(emsFacsFlowRel);
+    }
+
+    /**
+     * 新增能源设施能流关系
+     * 
+     * @param emsFacsFlowRel 能源设施能流关系
+     * @return 结果
+     */
+    @Override
+    public int insertEmsFacsFlowRel(EmsFacsFlowRel emsFacsFlowRel)
+    {
+        emsFacsFlowRel.setCreateTime(DateUtils.getNowDate());
+        return emsFacsFlowRelMapper.insertEmsFacsFlowRel(emsFacsFlowRel);
+    }
+
+    /**
+     * 修改能源设施能流关系
+     * 
+     * @param emsFacsFlowRel 能源设施能流关系
+     * @return 结果
+     */
+    @Override
+    public int updateEmsFacsFlowRel(EmsFacsFlowRel emsFacsFlowRel)
+    {
+        emsFacsFlowRel.setUpdateTime(DateUtils.getNowDate());
+        return emsFacsFlowRelMapper.updateEmsFacsFlowRel(emsFacsFlowRel);
+    }
+
+    /**
+     * 批量删除能源设施能流关系
+     * 
+     * @param ids 需要删除的能源设施能流关系主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEmsFacsFlowRelByIds(Long[] ids)
+    {
+        return emsFacsFlowRelMapper.deleteEmsFacsFlowRelByIds(ids);
+    }
+
+    /**
+     * 删除能源设施能流关系信息
+     * 
+     * @param id 能源设施能流关系主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEmsFacsFlowRelById(Long id)
+    {
+        return emsFacsFlowRelMapper.deleteEmsFacsFlowRelById(id);
+    }
+}

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

@@ -0,0 +1,155 @@
+package com.ruoyi.ems.service.impl;
+
+import java.util.List;
+
+import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.ems.domain.EmsFacs;
+import com.ruoyi.ems.domain.EmsFacsAttr;
+import com.ruoyi.ems.mapper.EmsFacsMapper;
+import com.ruoyi.ems.service.IEmsFacsAttrService;
+import com.ruoyi.ems.service.IEmsFacsService;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 能源设施/系统Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+@Service
+public class EmsFacsServiceImpl implements IEmsFacsService {
+    @Autowired
+    private EmsFacsMapper emsFacsMapper;
+
+    @Autowired
+    private IEmsFacsAttrService facsAttrService;
+
+    /**
+     * 查询能源设施/系统
+     *
+     * @param id 能源设施/系统主键
+     * @return 能源设施/系统
+     */
+    @Override
+    public EmsFacs selectEmsFacsById(Long id) {
+        // 查询设施对象
+        EmsFacs emsFacs = emsFacsMapper.selectEmsFacsById(id);
+
+        // 查询扩展属性
+        if (null != emsFacs) {
+            emsFacs.setFacsAttrs(getFacsAttrs(emsFacs));
+        }
+
+        return emsFacs;
+    }
+
+    /**
+     * 查询能源设施/系统列表
+     *
+     * @param emsFacs 能源设施/系统
+     * @return 能源设施/系统
+     */
+    @Override
+    public List<EmsFacs> selectEmsFacsList(EmsFacs emsFacs) {
+        // 查询设施对象
+        List<EmsFacs> list = emsFacsMapper.selectEmsFacsList(emsFacs);
+
+        // 查询扩展属性
+        if (CollectionUtils.isNotEmpty(list)) {
+            list.forEach(facsObj -> {
+                facsObj.setFacsAttrs(getFacsAttrs(facsObj));
+            });
+        }
+
+        return list;
+    }
+
+    /**
+     * 新增能源设施/系统
+     *
+     * @param emsFacs 能源设施/系统
+     * @return 结果
+     */
+    @Override
+    public int insertEmsFacs(EmsFacs emsFacs) {
+        emsFacs.setCreateTime(DateUtils.getNowDate());
+        int count = emsFacsMapper.insertEmsFacs(emsFacs);
+
+        if (CollectionUtils.isNotEmpty(emsFacs.getFacsAttrs())) {
+            facsAttrService.deleteEmsFacsAttrByFacsCode(emsFacs.getFacsCode());
+            facsAttrService.insertEmsFacsAttrBatch(emsFacs.getFacsAttrs());
+        } else {
+            facsAttrService.deleteEmsFacsAttrByFacsCode(emsFacs.getFacsCode());
+        }
+
+        return count;
+    }
+
+    /**
+     * 修改能源设施/系统
+     *
+     * @param emsFacs 能源设施/系统
+     * @return 结果
+     */
+    @Override
+    public int updateEmsFacs(EmsFacs emsFacs) {
+        emsFacs.setUpdateTime(DateUtils.getNowDate());
+        int count = emsFacsMapper.updateEmsFacs(emsFacs);
+
+        if (CollectionUtils.isNotEmpty(emsFacs.getFacsAttrs())) {
+            facsAttrService.deleteEmsFacsAttrByFacsCode(emsFacs.getFacsCode());
+            facsAttrService.insertEmsFacsAttrBatch(emsFacs.getFacsAttrs());
+        } else {
+            facsAttrService.deleteEmsFacsAttrByFacsCode(emsFacs.getFacsCode());
+        }
+
+        return count;
+    }
+
+    /**
+     * 批量删除能源设施/系统
+     *
+     * @param ids 需要删除的能源设施/系统主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEmsFacsByIds(Long[] ids) {
+        for (Long id : ids) {
+            EmsFacs emsFacs = emsFacsMapper.selectEmsFacsById(id);
+
+            // 查询扩展属性
+            if (null != emsFacs) {
+                facsAttrService.deleteEmsFacsAttrByFacsCode(emsFacs.getFacsCode());
+            }
+        }
+
+        return emsFacsMapper.deleteEmsFacsByIds(ids);
+    }
+
+    /**
+     * 删除能源设施/系统信息
+     *
+     * @param id 能源设施/系统主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEmsFacsById(Long id) {
+        EmsFacs emsFacs = emsFacsMapper.selectEmsFacsById(id);
+
+        // 查询扩展属性
+        if (null != emsFacs) {
+            facsAttrService.deleteEmsFacsAttrByFacsCode(emsFacs.getFacsCode());
+        }
+
+        return emsFacsMapper.deleteEmsFacsById(id);
+    }
+
+    private List<EmsFacsAttr> getFacsAttrs(EmsFacs emsFacs) {
+        EmsFacsAttr param = new EmsFacsAttr();
+        param.setFacsCode(emsFacs.getFacsCode());
+
+        return facsAttrService.selectEmsFacsAttrList(param);
+    }
+}

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

@@ -0,0 +1,94 @@
+package com.ruoyi.ems.service.impl;
+
+import java.util.List;
+
+import com.ruoyi.ems.domain.EmsFacsSubtype;
+import com.ruoyi.ems.mapper.EmsFacsSubtypeMapper;
+import com.ruoyi.ems.service.IEmsFacsSubtypeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 能源设施/系统子类Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+@Service
+public class EmsFacsSubtypeServiceImpl implements IEmsFacsSubtypeService
+{
+    @Autowired
+    private EmsFacsSubtypeMapper emsFacsSubtypeMapper;
+
+    /**
+     * 查询能源设施/系统子类
+     * 
+     * @param id 能源设施/系统子类主键
+     * @return 能源设施/系统子类
+     */
+    @Override
+    public EmsFacsSubtype selectEmsFacsSubtypeById(Long id)
+    {
+        return emsFacsSubtypeMapper.selectEmsFacsSubtypeById(id);
+    }
+
+    /**
+     * 查询能源设施/系统子类列表
+     * 
+     * @param emsFacsSubtype 能源设施/系统子类
+     * @return 能源设施/系统子类
+     */
+    @Override
+    public List<EmsFacsSubtype> selectEmsFacsSubtypeList(EmsFacsSubtype emsFacsSubtype)
+    {
+        return emsFacsSubtypeMapper.selectEmsFacsSubtypeList(emsFacsSubtype);
+    }
+
+    /**
+     * 新增能源设施/系统子类
+     * 
+     * @param emsFacsSubtype 能源设施/系统子类
+     * @return 结果
+     */
+    @Override
+    public int insertEmsFacsSubtype(EmsFacsSubtype emsFacsSubtype)
+    {
+        return emsFacsSubtypeMapper.insertEmsFacsSubtype(emsFacsSubtype);
+    }
+
+    /**
+     * 修改能源设施/系统子类
+     * 
+     * @param emsFacsSubtype 能源设施/系统子类
+     * @return 结果
+     */
+    @Override
+    public int updateEmsFacsSubtype(EmsFacsSubtype emsFacsSubtype)
+    {
+        return emsFacsSubtypeMapper.updateEmsFacsSubtype(emsFacsSubtype);
+    }
+
+    /**
+     * 批量删除能源设施/系统子类
+     * 
+     * @param ids 需要删除的能源设施/系统子类主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEmsFacsSubtypeByIds(Long[] ids)
+    {
+        return emsFacsSubtypeMapper.deleteEmsFacsSubtypeByIds(ids);
+    }
+
+    /**
+     * 删除能源设施/系统子类信息
+     * 
+     * @param id 能源设施/系统子类主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEmsFacsSubtypeById(Long id)
+    {
+        return emsFacsSubtypeMapper.deleteEmsFacsSubtypeById(id);
+    }
+}

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

@@ -0,0 +1,94 @@
+package com.ruoyi.ems.service.impl;
+
+import java.util.List;
+
+import com.ruoyi.ems.domain.EmsFacsType;
+import com.ruoyi.ems.mapper.EmsFacsTypeMapper;
+import com.ruoyi.ems.service.IEmsFacsTypeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 能源设施/系统分类Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2024-07-10
+ */
+@Service
+public class EmsFacsTypeServiceImpl implements IEmsFacsTypeService
+{
+    @Autowired
+    private EmsFacsTypeMapper emsFacsTypeMapper;
+
+    /**
+     * 查询能源设施/系统分类
+     * 
+     * @param id 能源设施/系统分类主键
+     * @return 能源设施/系统分类
+     */
+    @Override
+    public EmsFacsType selectEmsFacsTypeById(Long id)
+    {
+        return emsFacsTypeMapper.selectEmsFacsTypeById(id);
+    }
+
+    /**
+     * 查询能源设施/系统分类列表
+     * 
+     * @param emsFacsType 能源设施/系统分类
+     * @return 能源设施/系统分类
+     */
+    @Override
+    public List<EmsFacsType> selectEmsFacsTypeList(EmsFacsType emsFacsType)
+    {
+        return emsFacsTypeMapper.selectEmsFacsTypeList(emsFacsType);
+    }
+
+    /**
+     * 新增能源设施/系统分类
+     * 
+     * @param emsFacsType 能源设施/系统分类
+     * @return 结果
+     */
+    @Override
+    public int insertEmsFacsType(EmsFacsType emsFacsType)
+    {
+        return emsFacsTypeMapper.insertEmsFacsType(emsFacsType);
+    }
+
+    /**
+     * 修改能源设施/系统分类
+     * 
+     * @param emsFacsType 能源设施/系统分类
+     * @return 结果
+     */
+    @Override
+    public int updateEmsFacsType(EmsFacsType emsFacsType)
+    {
+        return emsFacsTypeMapper.updateEmsFacsType(emsFacsType);
+    }
+
+    /**
+     * 批量删除能源设施/系统分类
+     * 
+     * @param ids 需要删除的能源设施/系统分类主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEmsFacsTypeByIds(Long[] ids)
+    {
+        return emsFacsTypeMapper.deleteEmsFacsTypeByIds(ids);
+    }
+
+    /**
+     * 删除能源设施/系统分类信息
+     * 
+     * @param id 能源设施/系统分类主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEmsFacsTypeById(Long id)
+    {
+        return emsFacsTypeMapper.deleteEmsFacsTypeById(id);
+    }
+}

+ 81 - 0
ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/EmissionFactorMapper.xml

@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.ems.mapper.EmissionFactorMapper">
+    
+    <resultMap type="com.ruoyi.ems.domain.EmissionFactor" id="EmissionFactorResult">
+        <result property="id"    column="id"    />
+        <result property="regionCode"    column="region_code"    />
+        <result property="regionName"    column="region_name"    />
+        <result property="regionType"    column="region_type"    />
+        <result property="factorValue"    column="factor_value"    />
+        <result property="factorType"    column="factor_type"    />
+        <result property="version"    column="version"    />
+    </resultMap>
+
+    <sql id="selectEmissionFactorVo">
+        select id, region_code, region_name, region_type, factor_value, factor_type, version from dim_ems_emission_factor
+    </sql>
+
+    <select id="selectEmissionFactorList" parameterType="com.ruoyi.ems.domain.EmissionFactor" resultMap="EmissionFactorResult">
+        <include refid="selectEmissionFactorVo"/>
+        <where>  
+            <if test="regionCode != null  and regionCode != ''"> and region_code = #{regionCode}</if>
+            <if test="regionName != null  and regionName != ''"> and region_name like concat('%', #{regionName}, '%')</if>
+            <if test="regionType != null "> and region_type = #{regionType}</if>
+            <if test="factorValue != null "> and factor_value = #{factorValue}</if>
+            <if test="factorType != null "> and factor_type = #{factorType}</if>
+            <if test="version != null  and version != ''"> and version = #{version}</if>
+        </where>
+    </select>
+    
+    <select id="selectEmissionFactorById" parameterType="Long" resultMap="EmissionFactorResult">
+        <include refid="selectEmissionFactorVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertEmissionFactor" parameterType="com.ruoyi.ems.domain.EmissionFactor" useGeneratedKeys="true" keyProperty="id">
+        insert into dim_ems_emission_factor
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="regionCode != null and regionCode != ''">region_code,</if>
+            <if test="regionName != null and regionName != ''">region_name,</if>
+            <if test="regionType != null">region_type,</if>
+            <if test="factorValue != null">factor_value,</if>
+            <if test="factorType != null">factor_type,</if>
+            <if test="version != null">version,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="regionCode != null and regionCode != ''">#{regionCode},</if>
+            <if test="regionName != null and regionName != ''">#{regionName},</if>
+            <if test="regionType != null">#{regionType},</if>
+            <if test="factorValue != null">#{factorValue},</if>
+            <if test="factorType != null">#{factorType},</if>
+            <if test="version != null">#{version},</if>
+         </trim>
+    </insert>
+
+    <update id="updateEmissionFactor" parameterType="com.ruoyi.ems.domain.EmissionFactor">
+        update dim_ems_emission_factor
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="regionCode != null and regionCode != ''">region_code = #{regionCode},</if>
+            <if test="regionName != null and regionName != ''">region_name = #{regionName},</if>
+            <if test="regionType != null">region_type = #{regionType},</if>
+            <if test="factorValue != null">factor_value = #{factorValue},</if>
+            <if test="factorType != null">factor_type = #{factorType},</if>
+            <if test="version != null">version = #{version},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteEmissionFactorById" parameterType="Long">
+        delete from dim_ems_emission_factor where id = #{id}
+    </delete>
+
+    <delete id="deleteEmissionFactorByIds" parameterType="String">
+        delete from dim_ems_emission_factor where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 81 - 0
ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/EmsClsMapper.xml

@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.ems.mapper.EmsClsMapper">
+    
+    <resultMap type="com.ruoyi.ems.domain.EmsCls" id="EmsClsResult">
+        <result property="id"    column="id"    />
+        <result property="code"    column="code"    />
+        <result property="name"    column="name"    />
+        <result property="desc"    column="desc"    />
+        <result property="level"    column="level"    />
+        <result property="parentCode"    column="parent_code"    />
+        <result property="version"    column="version"    />
+    </resultMap>
+
+    <sql id="selectEmsClsVo">
+        select id, code, name, desc, level, parent_code, version from dim_gb_ems_cls
+    </sql>
+
+    <select id="selectEmsClsList" parameterType="com.ruoyi.ems.domain.EmsCls" resultMap="EmsClsResult">
+        <include refid="selectEmsClsVo"/>
+        <where>  
+            <if test="code != null  and code != ''"> and code = #{code}</if>
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="desc != null  and desc != ''"> and desc = #{desc}</if>
+            <if test="level != null "> and level = #{level}</if>
+            <if test="parentCode != null  and parentCode != ''"> and parent_code = #{parentCode}</if>
+            <if test="version != null  and version != ''"> and version = #{version}</if>
+        </where>
+    </select>
+    
+    <select id="selectEmsClsById" parameterType="Long" resultMap="EmsClsResult">
+        <include refid="selectEmsClsVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertEmsCls" parameterType="com.ruoyi.ems.domain.EmsCls" useGeneratedKeys="true" keyProperty="id">
+        insert into dim_gb_ems_cls
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="code != null and code != ''">code,</if>
+            <if test="name != null and name != ''">name,</if>
+            <if test="desc != null">desc,</if>
+            <if test="level != null">level,</if>
+            <if test="parentCode != null">parent_code,</if>
+            <if test="version != null">version,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="code != null and code != ''">#{code},</if>
+            <if test="name != null and name != ''">#{name},</if>
+            <if test="desc != null">#{desc},</if>
+            <if test="level != null">#{level},</if>
+            <if test="parentCode != null">#{parentCode},</if>
+            <if test="version != null">#{version},</if>
+         </trim>
+    </insert>
+
+    <update id="updateEmsCls" parameterType="com.ruoyi.ems.domain.EmsCls">
+        update dim_gb_ems_cls
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="code != null and code != ''">code = #{code},</if>
+            <if test="name != null and name != ''">name = #{name},</if>
+            <if test="desc != null">desc = #{desc},</if>
+            <if test="level != null">level = #{level},</if>
+            <if test="parentCode != null">parent_code = #{parentCode},</if>
+            <if test="version != null">version = #{version},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteEmsClsById" parameterType="Long">
+        delete from dim_gb_ems_cls where id = #{id}
+    </delete>
+
+    <delete id="deleteEmsClsByIds" parameterType="String">
+        delete from dim_gb_ems_cls where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 89 - 0
ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/EmsDeviceMapper.xml

@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.ems.mapper.EmsDeviceMapper">
+    
+    <resultMap type="com.ruoyi.ems.domain.EmsDevice" id="EmsDeviceResult">
+        <result property="id"    column="id"    />
+        <result property="deviceCode"    column="device_code"    />
+        <result property="deviceName"    column="device_name"    />
+        <result property="deviceType"    column="device_type"    />
+        <result property="deviceStatus"    column="device_status"    />
+        <result property="refArea"    column="ref_area"    />
+        <result property="refFacs"    column="ref_facs"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectEmsDeviceVo">
+        select id, device_code, device_name, device_type, device_status, ref_area, ref_facs, create_time, update_time from adm_ems_device
+    </sql>
+
+    <select id="selectEmsDeviceList" parameterType="com.ruoyi.ems.domain.EmsDevice" resultMap="EmsDeviceResult">
+        <include refid="selectEmsDeviceVo"/>
+        <where>  
+            <if test="deviceCode != null  and deviceCode != ''"> and device_code = #{deviceCode}</if>
+            <if test="deviceName != null  and deviceName != ''"> and device_name like concat('%', #{deviceName}, '%')</if>
+            <if test="deviceType != null "> and device_type = #{deviceType}</if>
+            <if test="deviceStatus != null "> and device_status = #{deviceStatus}</if>
+            <if test="refArea != null  and refArea != ''"> and ref_area = #{refArea}</if>
+            <if test="refFacs != null  and refFacs != ''"> and ref_facs = #{refFacs}</if>
+        </where>
+    </select>
+    
+    <select id="selectEmsDeviceById" parameterType="Long" resultMap="EmsDeviceResult">
+        <include refid="selectEmsDeviceVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertEmsDevice" parameterType="com.ruoyi.ems.domain.EmsDevice" useGeneratedKeys="true" keyProperty="id">
+        insert into adm_ems_device
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="deviceCode != null and deviceCode != ''">device_code,</if>
+            <if test="deviceName != null and deviceName != ''">device_name,</if>
+            <if test="deviceType != null">device_type,</if>
+            <if test="deviceStatus != null">device_status,</if>
+            <if test="refArea != null">ref_area,</if>
+            <if test="refFacs != null">ref_facs,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="deviceCode != null and deviceCode != ''">#{deviceCode},</if>
+            <if test="deviceName != null and deviceName != ''">#{deviceName},</if>
+            <if test="deviceType != null">#{deviceType},</if>
+            <if test="deviceStatus != null">#{deviceStatus},</if>
+            <if test="refArea != null">#{refArea},</if>
+            <if test="refFacs != null">#{refFacs},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateEmsDevice" parameterType="com.ruoyi.ems.domain.EmsDevice">
+        update adm_ems_device
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="deviceCode != null and deviceCode != ''">device_code = #{deviceCode},</if>
+            <if test="deviceName != null and deviceName != ''">device_name = #{deviceName},</if>
+            <if test="deviceType != null">device_type = #{deviceType},</if>
+            <if test="deviceStatus != null">device_status = #{deviceStatus},</if>
+            <if test="refArea != null">ref_area = #{refArea},</if>
+            <if test="refFacs != null">ref_facs = #{refFacs},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteEmsDeviceById" parameterType="Long">
+        delete from adm_ems_device where id = #{id}
+    </delete>
+
+    <delete id="deleteEmsDeviceByIds" parameterType="String">
+        delete from adm_ems_device where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 95 - 0
ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/EmsFacsAttrMapper.xml

@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.ems.mapper.EmsFacsAttrMapper">
+    
+    <resultMap type="com.ruoyi.ems.domain.EmsFacsAttr" id="EmsFacsAttrResult">
+        <result property="id"    column="id"    />
+        <result property="facsCode"    column="facs_code"    />
+        <result property="attrName"    column="attr_name"    />
+        <result property="attrDesc"    column="attr_desc"    />
+        <result property="attrValue"    column="attr_value"    />
+        <result property="attrUnit"    column="attr_unit"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectEmsFacsAttrVo">
+        select id, facs_code, attr_name, attr_desc, attr_value, attr_unit, create_time, update_time from adm_ems_facs_attr
+    </sql>
+
+    <select id="selectEmsFacsAttrList" parameterType="com.ruoyi.ems.domain.EmsFacsAttr" resultMap="EmsFacsAttrResult">
+        <include refid="selectEmsFacsAttrVo"/>
+        <where>  
+            <if test="facsCode != null  and facsCode != ''"> and facs_code = #{facsCode}</if>
+            <if test="attrName != null  and attrName != ''"> and attr_name like concat('%', #{attrName}, '%')</if>
+            <if test="attrDesc != null  and attrDesc != ''"> and attr_desc = #{attrDesc}</if>
+            <if test="attrValue != null  and attrValue != ''"> and attr_value = #{attrValue}</if>
+            <if test="attrUnit != null  and attrUnit != ''"> and attr_unit = #{attrUnit}</if>
+        </where>
+    </select>
+    
+    <select id="selectEmsFacsAttrById" parameterType="Long" resultMap="EmsFacsAttrResult">
+        <include refid="selectEmsFacsAttrVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertEmsFacsAttr" parameterType="com.ruoyi.ems.domain.EmsFacsAttr" useGeneratedKeys="true" keyProperty="id">
+        insert into adm_ems_facs_attr
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="facsCode != null and facsCode != ''">facs_code,</if>
+            <if test="attrName != null and attrName != ''">attr_name,</if>
+            <if test="attrDesc != null">attr_desc,</if>
+            <if test="attrValue != null">attr_value,</if>
+            <if test="attrUnit != null">attr_unit,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="facsCode != null and facsCode != ''">#{facsCode},</if>
+            <if test="attrName != null and attrName != ''">#{attrName},</if>
+            <if test="attrDesc != null">#{attrDesc},</if>
+            <if test="attrValue != null">#{attrValue},</if>
+            <if test="attrUnit != null">#{attrUnit},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <insert id="insertEmsFacsAttrBatch" parameterType="java.util.List">
+        insert into adm_ems_facs_attr (facs_code, attr_name, attr_desc, attr_value, attr_unit, create_time, update_time) values
+        <foreach collection="emsFacsAttrs" item="emsFacsAttr" index="index" separator=",">
+            (#{emsFacsAttr.facsCode},#{emsFacsAttr.attrName},#{emsFacsAttr.attrDesc},#{emsFacsAttr.attrValue},#{emsFacsAttr.attrUnit},#{emsFacsAttr.createTime},#{emsFacsAttr.updateTime})
+        </foreach>
+    </insert>
+
+    <update id="updateEmsFacsAttr" parameterType="com.ruoyi.ems.domain.EmsFacsAttr">
+        update adm_ems_facs_attr
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="facsCode != null and facsCode != ''">facs_code = #{facsCode},</if>
+            <if test="attrName != null and attrName != ''">attr_name = #{attrName},</if>
+            <if test="attrDesc != null">attr_desc = #{attrDesc},</if>
+            <if test="attrValue != null">attr_value = #{attrValue},</if>
+            <if test="attrUnit != null">attr_unit = #{attrUnit},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteEmsFacsAttrById" parameterType="Long">
+        delete from adm_ems_facs_attr where id = #{id}
+    </delete>
+
+    <delete id="deleteEmsFacsAttrByIds" parameterType="String">
+        delete from adm_ems_facs_attr where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+    <delete id="deleteEmsFacsAttrByFactCode" parameterType="String">
+        delete from adm_ems_facs_attr where facs_code = #{facsCode}
+    </delete>
+</mapper>

+ 89 - 0
ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/EmsFacsFlowRelMapper.xml

@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.ems.mapper.EmsFacsFlowRelMapper">
+    
+    <resultMap type="com.ruoyi.ems.domain.EmsFacsFlowRel" id="EmsFacsFlowRelResult">
+        <result property="id"    column="id"    />
+        <result property="code"    column="code"    />
+        <result property="exportFacsCode"    column="export_facs_code"    />
+        <result property="inputFacsCode"    column="input_facs_code"    />
+        <result property="emsCls"    column="ems_cls"    />
+        <result property="state"    column="state"    />
+        <result property="actionType"    column="action_type"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectEmsFacsFlowRelVo">
+        select id, code, export_facs_code, input_facs_code, ems_cls, state, action_type, create_time, update_time from adm_ems_facs_flow_rel
+    </sql>
+
+    <select id="selectEmsFacsFlowRelList" parameterType="com.ruoyi.ems.domain.EmsFacsFlowRel" resultMap="EmsFacsFlowRelResult">
+        <include refid="selectEmsFacsFlowRelVo"/>
+        <where>  
+            <if test="code != null  and code != ''"> and code = #{code}</if>
+            <if test="exportFacsCode != null  and exportFacsCode != ''"> and export_facs_code = #{exportFacsCode}</if>
+            <if test="inputFacsCode != null  and inputFacsCode != ''"> and input_facs_code = #{inputFacsCode}</if>
+            <if test="emsCls != null  and emsCls != ''"> and ems_cls = #{emsCls}</if>
+            <if test="state != null "> and state = #{state}</if>
+            <if test="actionType != null  and actionType != ''"> and action_type = #{actionType}</if>
+        </where>
+    </select>
+    
+    <select id="selectEmsFacsFlowRelById" parameterType="Long" resultMap="EmsFacsFlowRelResult">
+        <include refid="selectEmsFacsFlowRelVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertEmsFacsFlowRel" parameterType="com.ruoyi.ems.domain.EmsFacsFlowRel" useGeneratedKeys="true" keyProperty="id">
+        insert into adm_ems_facs_flow_rel
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="code != null and code != ''">code,</if>
+            <if test="exportFacsCode != null and exportFacsCode != ''">export_facs_code,</if>
+            <if test="inputFacsCode != null and inputFacsCode != ''">input_facs_code,</if>
+            <if test="emsCls != null and emsCls != ''">ems_cls,</if>
+            <if test="state != null">state,</if>
+            <if test="actionType != null and actionType != ''">action_type,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="code != null and code != ''">#{code},</if>
+            <if test="exportFacsCode != null and exportFacsCode != ''">#{exportFacsCode},</if>
+            <if test="inputFacsCode != null and inputFacsCode != ''">#{inputFacsCode},</if>
+            <if test="emsCls != null and emsCls != ''">#{emsCls},</if>
+            <if test="state != null">#{state},</if>
+            <if test="actionType != null and actionType != ''">#{actionType},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateEmsFacsFlowRel" parameterType="com.ruoyi.ems.domain.EmsFacsFlowRel">
+        update adm_ems_facs_flow_rel
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="code != null and code != ''">code = #{code},</if>
+            <if test="exportFacsCode != null and exportFacsCode != ''">export_facs_code = #{exportFacsCode},</if>
+            <if test="inputFacsCode != null and inputFacsCode != ''">input_facs_code = #{inputFacsCode},</if>
+            <if test="emsCls != null and emsCls != ''">ems_cls = #{emsCls},</if>
+            <if test="state != null">state = #{state},</if>
+            <if test="actionType != null and actionType != ''">action_type = #{actionType},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteEmsFacsFlowRelById" parameterType="Long">
+        delete from adm_ems_facs_flow_rel where id = #{id}
+    </delete>
+
+    <delete id="deleteEmsFacsFlowRelByIds" parameterType="String">
+        delete from adm_ems_facs_flow_rel where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 94 - 0
ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/EmsFacsMapper.xml

@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.ems.mapper.EmsFacsMapper">
+    
+    <resultMap type="com.ruoyi.ems.domain.EmsFacs" id="EmsFacsResult">
+        <result property="id"    column="id"    />
+        <result property="facsCode"    column="facs_code"    />
+        <result property="facsName"    column="facs_name"    />
+        <result property="facsType"    column="facs_type"    />
+        <result property="facsSubtype"    column="facs_subtype"    />
+        <result property="enable"    column="enable"    />
+        <result property="refArea"    column="ref_area"    />
+        <result property="manufacturer"    column="manufacturer"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectEmsFacsVo">
+        select id, facs_code, facs_name, facs_type, facs_subtype, enable, ref_area, manufacturer, create_time, update_time from adm_ems_facs
+    </sql>
+
+    <select id="selectEmsFacsList" parameterType="com.ruoyi.ems.domain.EmsFacs" resultMap="EmsFacsResult">
+        <include refid="selectEmsFacsVo"/>
+        <where>  
+            <if test="facsCode != null  and facsCode != ''"> and facs_code = #{facsCode}</if>
+            <if test="facsName != null  and facsName != ''"> and facs_name like concat('%', #{facsName}, '%')</if>
+            <if test="facsType != null  and facsType != ''"> and facs_type = #{facsType}</if>
+            <if test="facsSubtype != null  and facsSubtype != ''"> and facs_subtype = #{facsSubtype}</if>
+            <if test="enable != null "> and enable = #{enable}</if>
+            <if test="refArea != null  and refArea != ''"> and ref_area = #{refArea}</if>
+            <if test="manufacturer != null  and manufacturer != ''"> and manufacturer = #{manufacturer}</if>
+        </where>
+    </select>
+    
+    <select id="selectEmsFacsById" parameterType="Long" resultMap="EmsFacsResult">
+        <include refid="selectEmsFacsVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertEmsFacs" parameterType="com.ruoyi.ems.domain.EmsFacs" useGeneratedKeys="true" keyProperty="id">
+        insert into adm_ems_facs
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="facsCode != null and facsCode != ''">facs_code,</if>
+            <if test="facsName != null and facsName != ''">facs_name,</if>
+            <if test="facsType != null and facsType != ''">facs_type,</if>
+            <if test="facsSubtype != null and facsSubtype != ''">facs_subtype,</if>
+            <if test="enable != null">enable,</if>
+            <if test="refArea != null and refArea != ''">ref_area,</if>
+            <if test="manufacturer != null">manufacturer,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="facsCode != null and facsCode != ''">#{facsCode},</if>
+            <if test="facsName != null and facsName != ''">#{facsName},</if>
+            <if test="facsType != null and facsType != ''">#{facsType},</if>
+            <if test="facsSubtype != null and facsSubtype != ''">#{facsSubtype},</if>
+            <if test="enable != null">#{enable},</if>
+            <if test="refArea != null and refArea != ''">#{refArea},</if>
+            <if test="manufacturer != null">#{manufacturer},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateEmsFacs" parameterType="com.ruoyi.ems.domain.EmsFacs">
+        update adm_ems_facs
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="facsCode != null and facsCode != ''">facs_code = #{facsCode},</if>
+            <if test="facsName != null and facsName != ''">facs_name = #{facsName},</if>
+            <if test="facsType != null and facsType != ''">facs_type = #{facsType},</if>
+            <if test="facsSubtype != null and facsSubtype != ''">facs_subtype = #{facsSubtype},</if>
+            <if test="enable != null">enable = #{enable},</if>
+            <if test="refArea != null and refArea != ''">ref_area = #{refArea},</if>
+            <if test="manufacturer != null">manufacturer = #{manufacturer},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteEmsFacsById" parameterType="Long">
+        delete from adm_ems_facs where id = #{id}
+    </delete>
+
+    <delete id="deleteEmsFacsByIds" parameterType="String">
+        delete from adm_ems_facs where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 76 - 0
ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/EmsFacsSubtypeMapper.xml

@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.ems.mapper.EmsFacsSubtypeMapper">
+    
+    <resultMap type="com.ruoyi.ems.domain.EmsFacsSubtype" id="EmsFacsSubtypeResult">
+        <result property="id"    column="id"    />
+        <result property="code"    column="code"    />
+        <result property="name"    column="name"    />
+        <result property="parentCode"    column="parent_code"    />
+        <result property="desc"    column="desc"    />
+        <result property="version"    column="version"    />
+    </resultMap>
+
+    <sql id="selectEmsFacsSubtypeVo">
+        select id, code, name, parent_code, desc, version from dim_ems_facs_subtype
+    </sql>
+
+    <select id="selectEmsFacsSubtypeList" parameterType="com.ruoyi.ems.domain.EmsFacsSubtype" resultMap="EmsFacsSubtypeResult">
+        <include refid="selectEmsFacsSubtypeVo"/>
+        <where>  
+            <if test="code != null  and code != ''"> and code = #{code}</if>
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="parentCode != null  and parentCode != ''"> and parent_code = #{parentCode}</if>
+            <if test="desc != null  and desc != ''"> and desc = #{desc}</if>
+            <if test="version != null  and version != ''"> and version = #{version}</if>
+        </where>
+    </select>
+    
+    <select id="selectEmsFacsSubtypeById" parameterType="Long" resultMap="EmsFacsSubtypeResult">
+        <include refid="selectEmsFacsSubtypeVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertEmsFacsSubtype" parameterType="com.ruoyi.ems.domain.EmsFacsSubtype" useGeneratedKeys="true" keyProperty="id">
+        insert into dim_ems_facs_subtype
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="code != null and code != ''">code,</if>
+            <if test="name != null and name != ''">name,</if>
+            <if test="parentCode != null and parentCode != ''">parent_code,</if>
+            <if test="desc != null">desc,</if>
+            <if test="version != null">version,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="code != null and code != ''">#{code},</if>
+            <if test="name != null and name != ''">#{name},</if>
+            <if test="parentCode != null and parentCode != ''">#{parentCode},</if>
+            <if test="desc != null">#{desc},</if>
+            <if test="version != null">#{version},</if>
+         </trim>
+    </insert>
+
+    <update id="updateEmsFacsSubtype" parameterType="com.ruoyi.ems.domain.EmsFacsSubtype">
+        update dim_ems_facs_subtype
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="code != null and code != ''">code = #{code},</if>
+            <if test="name != null and name != ''">name = #{name},</if>
+            <if test="parentCode != null and parentCode != ''">parent_code = #{parentCode},</if>
+            <if test="desc != null">desc = #{desc},</if>
+            <if test="version != null">version = #{version},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteEmsFacsSubtypeById" parameterType="Long">
+        delete from dim_ems_facs_subtype where id = #{id}
+    </delete>
+
+    <delete id="deleteEmsFacsSubtypeByIds" parameterType="String">
+        delete from dim_ems_facs_subtype where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 71 - 0
ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/EmsFacsTypeMapper.xml

@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.ems.mapper.EmsFacsTypeMapper">
+    
+    <resultMap type="com.ruoyi.ems.domain.EmsFacsType" id="EmsFacsTypeResult">
+        <result property="id"    column="id"    />
+        <result property="code"    column="code"    />
+        <result property="name"    column="name"    />
+        <result property="desc"    column="desc"    />
+        <result property="version"    column="version"    />
+    </resultMap>
+
+    <sql id="selectEmsFacsTypeVo">
+        select id, code, name, desc, version from dim_ems_facs_type
+    </sql>
+
+    <select id="selectEmsFacsTypeList" parameterType="com.ruoyi.ems.domain.EmsFacsType" resultMap="EmsFacsTypeResult">
+        <include refid="selectEmsFacsTypeVo"/>
+        <where>  
+            <if test="code != null  and code != ''"> and code = #{code}</if>
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="desc != null  and desc != ''"> and desc = #{desc}</if>
+            <if test="version != null  and version != ''"> and version = #{version}</if>
+        </where>
+    </select>
+    
+    <select id="selectEmsFacsTypeById" parameterType="Long" resultMap="EmsFacsTypeResult">
+        <include refid="selectEmsFacsTypeVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertEmsFacsType" parameterType="com.ruoyi.ems.domain.EmsFacsType" useGeneratedKeys="true" keyProperty="id">
+        insert into dim_ems_facs_type
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="code != null and code != ''">code,</if>
+            <if test="name != null and name != ''">name,</if>
+            <if test="desc != null">desc,</if>
+            <if test="version != null">version,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="code != null and code != ''">#{code},</if>
+            <if test="name != null and name != ''">#{name},</if>
+            <if test="desc != null">#{desc},</if>
+            <if test="version != null">#{version},</if>
+         </trim>
+    </insert>
+
+    <update id="updateEmsFacsType" parameterType="com.ruoyi.ems.domain.EmsFacsType">
+        update dim_ems_facs_type
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="code != null and code != ''">code = #{code},</if>
+            <if test="name != null and name != ''">name = #{name},</if>
+            <if test="desc != null">desc = #{desc},</if>
+            <if test="version != null">version = #{version},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteEmsFacsTypeById" parameterType="Long">
+        delete from dim_ems_facs_type where id = #{id}
+    </delete>
+
+    <delete id="deleteEmsFacsTypeByIds" parameterType="String">
+        delete from dim_ems_facs_type where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 2 - 0
ems-cloud/sql/ems_server.sql

@@ -471,6 +471,8 @@ create table adm_ems_device  (
   `id`              bigint(20)      not null auto_increment      comment '序号',
   `device_code`     varchar(16)     not null                     comment '设备代码',
   `device_name`     varchar(32)     not null                     comment '设备名称',
+  `device_type`     int             default null                 comment '设备类型',
+  `device_status`   int             default null                 comment '设备状态',
   `ref_area`        varchar(8)      default null                 comment '归属区域代码',
   `ref_facs`        varchar(16)     default null                 comment '归属设施代码',
   `create_time`     datetime        default CURRENT_TIMESTAMP    comment '创建时间',

+ 36 - 4
ems-cloud/sql/ems_sys.sql

@@ -226,10 +226,11 @@ insert into sys_menu values ('533',  '自定义报表', '111', '4',  'statement-
 insert into sys_menu values ('534',  '服务区',     '123', '1',  'basecfg-servicearea',    'basecfg/area/index',             '', 1, 0, 'C', '0', '0',   'basecfg:area:list',           'cfgwrite',   'admin', sysdate(), '', null, '服务区配置');
 insert into sys_menu values ('535',  '建筑配置',   '123', '2',  'basecfg-building',       'basecfg/building/index',         '', 1, 0, 'C', '0', '0',   'basecfg:building:list',        'cfgwrite',   'admin', sysdate(), '', null, '楼宇建筑配置');
 insert into sys_menu values ('536',  '区块配置',   '123', '3',  'basecfg-zoning',         'basecfg/zoning/index',           '', 1, 0, 'C', '0', '0',   'basecfg:zoning:list',          'cfgwrite',   'admin', sysdate(), '', null, '区块配置');
-insert into sys_menu values ('537',  '设施配置',   '124', '1',  'basecfg-facscfg',        'basecfg/facs/index',             '', 1, 0, 'C', '0', '0',   'basecfg:facs:list',            'cfgwrite',   'admin', sysdate(), '', null, '设施配置');
-insert into sys_menu values ('538',  '设备配置',   '124', '2',  'basecfg-devccfg',        'basecfg/device/index',           '', 1, 0, 'C', '0', '0',   'basecfg:device:list',          'cfgwrite',   'admin', sysdate(), '', null, '自定义报表');
-insert into sys_menu values ('539',  '电价配置',   '125', '1',  'basecfg-electrovalency', 'basecfg/electrovalency/index',   '', 1, 0, 'C', '0', '0',   'basecfg:electrovalency:list',  'cfgwrite',   'admin', sysdate(), '', null, '自定义报表');
-insert into sys_menu values ('540',  '碳核算配置', '125', '2',  'basecfg-carbon',          'basecfg/carbon/index',          '', 1, 0, 'C', '0', '0',   'basecfg:carbon:list',           'cfgwrite',   'admin', sysdate(), '', null, '核算配置');
+insert into sys_menu values ('537',  '能源设施',   '124', '1',  'basecfg-facscfg',        'basecfg/emsfacs/index',          '', 1, 0, 'C', '0', '0',   'basecfg:emsfacs:list',         'cfgwrite',   'admin', sysdate(), '', null, '设施配置');
+insert into sys_menu values ('538',  '能流关系',   '124', '2',  'basecfg-flowrel',        'basecfg/flowrel/index',          '', 1, 0, 'C', '0', '0',   'basecfg:flowrel:list',         'cfgwrite',   'admin', sysdate(), '', null, '设备配置');
+insert into sys_menu values ('539',  '能源设备',   '124', '3',  'basecfg-devccfg',        'basecfg/device/index',           '', 1, 0, 'C', '0', '0',   'basecfg:device:list',          'cfgwrite',   'admin', sysdate(), '', null, '设备配置');
+insert into sys_menu values ('540',  '电价配置',   '125', '1',  'basecfg-electrovalency', 'basecfg/electrovalency/index',   '', 1, 0, 'C', '0', '0',   'basecfg:electrovalency:list',  'cfgwrite',   'admin', sysdate(), '', null, '电价配置');
+insert into sys_menu values ('541',  '碳核算配置', '125', '2',  'basecfg-carbon',          'basecfg/carbon/index',          '', 1, 0, 'C', '0', '0',   'basecfg:carbon:list',           'cfgwrite',   'admin', sysdate(), '', null, '核算配置');
 
 -- 用户管理按钮
 insert into sys_menu values ('1000', '用户查询', '190', '1',  '', '', '', 1, 0, 'F', '0', '0', 'system:user:query',          '#', 'admin', sysdate(), '', null, '');
@@ -306,6 +307,21 @@ insert into sys_menu values ('1057', '区块新增', '536', '1', '#', '', '', 1,
 insert into sys_menu values ('1058', '区块修改', '536', '2', '#', '', '', 1, 0, 'F', '0', '0', 'basecfg:zoning:edit',  '#', 'admin', sysdate(), '', null, '');
 insert into sys_menu values ('1059', '区块删除', '536', '3', '#', '', '', 1, 0, 'F', '0', '0', 'basecfg:zoning:remove','#', 'admin', sysdate(), '', null, '');
 insert into sys_menu values ('1060', '区块导出', '536', '4', '#', '', '', 1, 0, 'F', '0', '0', 'basecfg:zoning:export','#', 'admin', sysdate(), '', null, '');
+-- 服务区能源设施配置按钮
+insert into sys_menu values ('1061', '设施新增', '537', '1', '#', '', '', 1, 0, 'F', '0', '0', 'basecfg:emsfacs:add',   '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values ('1062', '设施修改', '537', '2', '#', '', '', 1, 0, 'F', '0', '0', 'basecfg:emsfacs:edit',  '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values ('1063', '设施删除', '537', '3', '#', '', '', 1, 0, 'F', '0', '0', 'basecfg:emsfacs:remove','#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values ('1064', '设施导出', '537', '4', '#', '', '', 1, 0, 'F', '0', '0', 'basecfg:emsfacs:export','#', 'admin', sysdate(), '', null, '');
+-- 服务区能流关系配置按钮
+insert into sys_menu values ('1065', '关系新增', '538', '1', '#', '', '', 1, 0, 'F', '0', '0', 'basecfg:flowrel:add',   '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values ('1066', '关系修改', '538', '2', '#', '', '', 1, 0, 'F', '0', '0', 'basecfg:flowrel:edit',  '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values ('1067', '关系删除', '538', '3', '#', '', '', 1, 0, 'F', '0', '0', 'basecfg:flowrel:remove','#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values ('1068', '关系导出', '538', '4', '#', '', '', 1, 0, 'F', '0', '0', 'basecfg:flowrel:export','#', 'admin', sysdate(), '', null, '');
+-- 服务区设备配置按钮
+insert into sys_menu values ('1069', '设备新增', '539', '1', '#', '', '', 1, 0, 'F', '0', '0', 'basecfg:flowrel:add',   '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values ('1070', '设备修改', '539', '2', '#', '', '', 1, 0, 'F', '0', '0', 'basecfg:flowrel:edit',  '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values ('1071', '设备删除', '539', '3', '#', '', '', 1, 0, 'F', '0', '0', 'basecfg:flowrel:remove','#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values ('1072', '设备导出', '539', '4', '#', '', '', 1, 0, 'F', '0', '0', 'basecfg:flowrel:export','#', 'admin', sysdate(), '', null, '');
 
 
 -- ----------------------------
@@ -406,6 +422,7 @@ insert into sys_role_menu values ('2', '537');
 insert into sys_role_menu values ('2', '538');
 insert into sys_role_menu values ('2', '539');
 insert into sys_role_menu values ('2', '540');
+insert into sys_role_menu values ('2', '541');
 insert into sys_role_menu values ('2', '1000');
 insert into sys_role_menu values ('2', '1001');
 insert into sys_role_menu values ('2', '1002');
@@ -463,6 +480,21 @@ insert into sys_role_menu values ('2', '1053');
 insert into sys_role_menu values ('2', '1054');
 insert into sys_role_menu values ('2', '1055');
 insert into sys_role_menu values ('2', '1056');
+insert into sys_role_menu values ('2', '1057');
+insert into sys_role_menu values ('2', '1058');
+insert into sys_role_menu values ('2', '1059');
+insert into sys_role_menu values ('2', '1060');
+insert into sys_role_menu values ('2', '1061');
+insert into sys_role_menu values ('2', '1062');
+insert into sys_role_menu values ('2', '1063');
+insert into sys_role_menu values ('2', '1064');
+insert into sys_role_menu values ('2', '1065');
+insert into sys_role_menu values ('2', '1066');
+insert into sys_role_menu values ('2', '1067');
+insert into sys_role_menu values ('2', '1068');
+insert into sys_role_menu values ('2', '1069');
+insert into sys_role_menu values ('2', '1071');
+insert into sys_role_menu values ('2', '1072');
 
 -- ----------------------------
 -- 8、角色和部门关联表  角色1-N部门