Jelajahi Sumber

商户能源计费配置接口

lv.wenbin 11 bulan lalu
induk
melakukan
f75f1ef809

+ 92 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/controller/CoChargingConfigController.java

@@ -0,0 +1,92 @@
+package com.ruoyi.ems.controller;
+
+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.CoChargingConfig;
+import com.ruoyi.ems.service.ICoChargingConfigService;
+import io.swagger.annotations.Api;
+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 java.util.List;
+
+/**
+ * 商户能源计费配置Controller
+ * 
+ * @author ruoyi
+ * @date 2024-08-26
+ */
+@RestController
+@RequestMapping("/basecfg/elecPrice/coCharging")
+@Api(value = "CoChargingConfigController", description = "商户能源计费配置")
+public class CoChargingConfigController extends BaseController
+{
+    @Autowired
+    private ICoChargingConfigService coChargingConfigService;
+
+    /**
+     * 查询商户能源计费配置列表
+     */
+    @RequiresPermissions("basecfg:price:list")
+    @GetMapping("/list")
+    public TableDataInfo list(CoChargingConfig coChargingConfig)
+    {
+        startPage();
+        List<CoChargingConfig> list = coChargingConfigService.selectCoChargingConfigList(coChargingConfig);
+        return getDataTable(list);
+    }
+
+    /**
+     * 获取商户能源计费配置详细信息
+     */
+    @RequiresPermissions("basecfg:price:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(coChargingConfigService.selectCoChargingConfigById(id));
+    }
+
+    /**
+     * 新增商户能源计费配置
+     */
+    @RequiresPermissions("basecfg:price:add")
+    @Log(title = "商户能源计费配置", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CoChargingConfig coChargingConfig)
+    {
+        return toAjax(coChargingConfigService.insertCoChargingConfig(coChargingConfig));
+    }
+
+    /**
+     * 修改商户能源计费配置
+     */
+    @RequiresPermissions("ems:config:edit")
+    @Log(title = "商户能源计费配置", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CoChargingConfig coChargingConfig)
+    {
+        return toAjax(coChargingConfigService.updateCoChargingConfig(coChargingConfig));
+    }
+
+    /**
+     * 删除商户能源计费配置
+     */
+    @RequiresPermissions("ems:config:remove")
+    @Log(title = "商户能源计费配置", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(coChargingConfigService.deleteCoChargingConfigByIds(ids));
+    }
+}

+ 149 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/domain/CoChargingConfig.java

@@ -0,0 +1,149 @@
+package com.ruoyi.ems.domain;
+
+import com.alibaba.fastjson2.JSONObject;
+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_co_charging_config
+ * 
+ * @author ruoyi
+ * @date 2024-08-26
+ */
+public class CoChargingConfig extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 服务区代码 */
+    @Excel(name = "服务区代码")
+    private String areaCode;
+
+    /** 电计量单价 1度 */
+    @Excel(name = "电计量单价")
+    private Long elecUnitPrice;
+
+    /** 电公摊计算类型 */
+    @Excel(name = "电公摊计算类型")
+    private Long elecGtComputeType;
+
+    /** 电费计算说明 */
+    @Excel(name = "电费计算说明")
+    private String elecComputeDesc;
+
+    /** 水计量单价 1吨 */
+    @Excel(name = "水计量单价")
+    private Long waterUnitPrice;
+
+    /** 水公摊计算类型 */
+    @Excel(name = "水公摊计算类型")
+    private Long waterGtComputeType;
+
+    /** 水费计算说明 */
+    @Excel(name = "水费计算说明")
+    private String waterComputeDesc;
+
+    private List<CoChargingConfigRel> relCoList;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setAreaCode(String areaCode) 
+    {
+        this.areaCode = areaCode;
+    }
+
+    public String getAreaCode() 
+    {
+        return areaCode;
+    }
+    public void setElecUnitPrice(Long elecUnitPrice)
+    {
+        this.elecUnitPrice = elecUnitPrice;
+    }
+
+    public Long getElecUnitPrice()
+    {
+        return elecUnitPrice;
+    }
+    public void setElecGtComputeType(Long elecGtComputeType)
+    {
+        this.elecGtComputeType = elecGtComputeType;
+    }
+
+    public Long getElecGtComputeType()
+    {
+        return elecGtComputeType;
+    }
+    public void setElecComputeDesc(String elecComputeDesc)
+    {
+        this.elecComputeDesc = elecComputeDesc;
+    }
+
+    public String getElecComputeDesc()
+    {
+        return elecComputeDesc;
+    }
+    public void setWaterUnitPrice(Long waterUnitPrice)
+    {
+        this.waterUnitPrice = waterUnitPrice;
+    }
+
+    public Long getWaterUnitPrice()
+    {
+        return waterUnitPrice;
+    }
+    public void setWaterGtComputeType(Long waterGtComputeType)
+    {
+        this.waterGtComputeType = waterGtComputeType;
+    }
+
+    public Long getWaterGtComputeType()
+    {
+        return waterGtComputeType;
+    }
+    public void setWaterComputeDesc(String waterComputeDesc)
+    {
+        this.waterComputeDesc = waterComputeDesc;
+    }
+
+    public String getWaterComputeDesc()
+    {
+        return waterComputeDesc;
+    }
+
+    public List<CoChargingConfigRel> getRelCoList() {
+        return relCoList;
+    }
+
+    public void setRelCoList(List<CoChargingConfigRel> relCoList) {
+        this.relCoList = relCoList;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("areaCode", getAreaCode())
+            .append("elecUnitPrice", getElecUnitPrice())
+            .append("elecGtComputeType", getElecGtComputeType())
+            .append("elecComputeDesc", getElecComputeDesc())
+            .append("waterUnitPrice", getWaterUnitPrice())
+            .append("waterGtComputeType", getWaterGtComputeType())
+            .append("waterComputeDesc", getWaterComputeDesc())
+            .append("relCoList", JSONObject.toJSONString(getRelCoList()))
+            .toString();
+    }
+}

+ 49 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/domain/CoChargingConfigRel.java

@@ -0,0 +1,49 @@
+package com.ruoyi.ems.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+
+/**
+ * 商户能源计费关系对象 adm_co_charging_config_rel
+ * 
+ * @author ruoyi
+ * @date 2024-08-26
+ */
+public class CoChargingConfigRel extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 计费序号 */
+    private Long priceCfgId;
+
+    /** 区块编码 */
+    private String zoningCode;
+
+    public void setPriceCfgId(Long priceCfgId) 
+    {
+        this.priceCfgId = priceCfgId;
+    }
+
+    public Long getPriceCfgId() 
+    {
+        return priceCfgId;
+    }
+    public void setZoningCode(String zoningCode) 
+    {
+        this.zoningCode = zoningCode;
+    }
+
+    public String getZoningCode() 
+    {
+        return zoningCode;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("priceCfgId", getPriceCfgId())
+            .append("zoningCode", getZoningCode())
+            .toString();
+    }
+}

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

@@ -0,0 +1,61 @@
+package com.ruoyi.ems.mapper;
+
+import java.util.List;
+import com.ruoyi.ems.domain.CoChargingConfig;
+
+/**
+ * 商户能源计费配置Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2024-08-26
+ */
+public interface CoChargingConfigMapper
+{
+    /**
+     * 查询商户能源计费配置
+     * 
+     * @param id 商户能源计费配置主键
+     * @return 商户能源计费配置
+     */
+     CoChargingConfig selectCoChargingConfigById(Long id);
+
+    /**
+     * 查询商户能源计费配置列表
+     * 
+     * @param coChargingConfig 商户能源计费配置
+     * @return 商户能源计费配置集合
+     */
+     List<CoChargingConfig> selectCoChargingConfigList(CoChargingConfig coChargingConfig);
+
+    /**
+     * 新增商户能源计费配置
+     * 
+     * @param coChargingConfig 商户能源计费配置
+     * @return 结果
+     */
+     int insertCoChargingConfig(CoChargingConfig coChargingConfig);
+
+    /**
+     * 修改商户能源计费配置
+     * 
+     * @param coChargingConfig 商户能源计费配置
+     * @return 结果
+     */
+     int updateCoChargingConfig(CoChargingConfig coChargingConfig);
+
+    /**
+     * 删除商户能源计费配置
+     * 
+     * @param id 商户能源计费配置主键
+     * @return 结果
+     */
+     int deleteCoChargingConfigById(Long id);
+
+    /**
+     * 批量删除商户能源计费配置
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+     int deleteCoChargingConfigByIds(Long[] ids);
+}

+ 39 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/CoChargingConfigRelMapper.java

@@ -0,0 +1,39 @@
+package com.ruoyi.ems.mapper;
+
+
+import com.ruoyi.ems.domain.CoChargingConfigRel;
+
+import java.util.List;
+
+/**
+ * 商户能源计费关系Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2024-08-26
+ */
+public interface CoChargingConfigRelMapper
+{
+    /**
+     * 查询商户能源计费关系列表
+     *
+     * @param cfgId 配置Id
+     * @return 商户能源计费关系集合
+     */
+    List<CoChargingConfigRel> selectRelList(Long cfgId);
+
+    /**
+     * 新增商户能源计费关系
+     *
+     * @param list 关系列表
+     * @return 结果
+     */
+    int insertRelBatch(List<CoChargingConfigRel> list);
+
+    /**
+     * 批量删除商户能源计费关系
+     *
+     * @param cfgId 配置Id
+     * @return 结果
+     */
+    int deleteRel(Long cfgId);
+}

+ 37 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/ICoChargingConfigRelService.java

@@ -0,0 +1,37 @@
+package com.ruoyi.ems.service;
+
+import java.util.List;
+import com.ruoyi.ems.domain.CoChargingConfigRel;
+
+/**
+ * 商户能源计费关系Service接口
+ * 
+ * @author ruoyi
+ * @date 2024-08-26
+ */
+public interface ICoChargingConfigRelService
+{
+    /**
+     * 查询商户能源计费关系列表
+     *
+     * @param cfgId 配置Id
+     * @return 商户能源计费关系集合
+     */
+    List<CoChargingConfigRel> selectRelList(Long cfgId);
+
+    /**
+     * 新增商户能源计费关系
+     *
+     * @param list 关系列表
+     * @return 结果
+     */
+    int insertRelBatch(List<CoChargingConfigRel> list);
+
+    /**
+     * 批量删除商户能源计费关系
+     *
+     * @param cfgId 配置Id
+     * @return 结果
+     */
+    int deleteRel(Long cfgId);
+}

+ 62 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/ICoChargingConfigService.java

@@ -0,0 +1,62 @@
+package com.ruoyi.ems.service;
+
+import com.ruoyi.ems.domain.CoChargingConfig;
+
+import java.util.List;
+
+/**
+ * 商户能源计费配置Service接口
+ * 
+ * @author ruoyi
+ * @date 2024-08-26
+ */
+public interface ICoChargingConfigService
+{
+    /**
+     * 查询商户能源计费配置
+     * 
+     * @param id 商户能源计费配置主键
+     * @return 商户能源计费配置
+     */
+     CoChargingConfig selectCoChargingConfigById(Long id);
+
+    /**
+     * 查询商户能源计费配置列表
+     * 
+     * @param coChargingConfig 商户能源计费配置
+     * @return 商户能源计费配置集合
+     */
+     List<CoChargingConfig> selectCoChargingConfigList(CoChargingConfig coChargingConfig);
+
+    /**
+     * 新增商户能源计费配置
+     * 
+     * @param coChargingConfig 商户能源计费配置
+     * @return 结果
+     */
+     int insertCoChargingConfig(CoChargingConfig coChargingConfig);
+
+    /**
+     * 修改商户能源计费配置
+     * 
+     * @param coChargingConfig 商户能源计费配置
+     * @return 结果
+     */
+     int updateCoChargingConfig(CoChargingConfig coChargingConfig);
+
+    /**
+     * 批量删除商户能源计费配置
+     * 
+     * @param ids 需要删除的商户能源计费配置主键集合
+     * @return 结果
+     */
+     int deleteCoChargingConfigByIds(Long[] ids);
+
+    /**
+     * 删除商户能源计费配置信息
+     * 
+     * @param id 商户能源计费配置主键
+     * @return 结果
+     */
+     int deleteCoChargingConfigById(Long id);
+}

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

@@ -0,0 +1,50 @@
+/*
+ * 文 件 名:  CoChargingConfigRelServiceImpl
+ * 版    权:  浩鲸云计算科技股份有限公司
+ * 描    述:  <描述>
+ * 修 改 人:  lvwenbin
+ * 修改时间:  2024/8/26
+ * 跟踪单号:  <跟踪单号>
+ * 修改单号:  <修改单号>
+ * 修改内容:  <修改内容>
+ */
+package com.ruoyi.ems.service.impl;
+
+import com.ruoyi.ems.domain.CoChargingConfigRel;
+import com.ruoyi.ems.mapper.CoChargingConfigRelMapper;
+import com.ruoyi.ems.service.ICoChargingConfigRelService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 商户配置关联表 服务层实现
+ * <功能详细描述>
+ *
+ * @author lvwenbin
+ * @version [版本号, 2024/8/26]
+ * @see [相关类/方法]
+ * @since [产品/模块版本]
+ */
+
+@Service
+public class CoChargingConfigRelServiceImpl implements ICoChargingConfigRelService {
+    @Autowired
+    private CoChargingConfigRelMapper coChargingConfigRelMapper;
+
+    @Override
+    public List<CoChargingConfigRel> selectRelList(Long cfgId) {
+        return coChargingConfigRelMapper.selectRelList(cfgId);
+    }
+
+    @Override
+    public int insertRelBatch(List<CoChargingConfigRel> list) {
+        return coChargingConfigRelMapper.insertRelBatch(list);
+    }
+
+    @Override
+    public int deleteRel(Long cfgId) {
+        return coChargingConfigRelMapper.deleteRel(cfgId);
+    }
+}

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

@@ -0,0 +1,121 @@
+package com.ruoyi.ems.service.impl;
+
+import java.util.List;
+
+import com.ruoyi.ems.domain.CoChargingConfig;
+import com.ruoyi.ems.mapper.CoChargingConfigMapper;
+import com.ruoyi.ems.service.ICoChargingConfigRelService;
+import com.ruoyi.ems.service.ICoChargingConfigService;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 商户能源计费配置Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-08-26
+ */
+@Service
+public class CoChargingConfigServiceImpl implements ICoChargingConfigService {
+    @Autowired
+    private CoChargingConfigMapper coChargingConfigMapper;
+
+    @Autowired
+    private ICoChargingConfigRelService relService;
+
+    /**
+     * 查询商户能源计费配置
+     *
+     * @param id 商户能源计费配置主键
+     * @return 商户能源计费配置
+     */
+    @Override
+    public CoChargingConfig selectCoChargingConfigById(Long id) {
+        CoChargingConfig config = coChargingConfigMapper.selectCoChargingConfigById(id);
+
+        if (config != null) {
+            config.setRelCoList(relService.selectRelList(config.getId()));
+        }
+
+        return config;
+    }
+
+    /**
+     * 查询商户能源计费配置列表
+     *
+     * @param admCoChargingConfig 商户能源计费配置
+     * @return 商户能源计费配置
+     */
+    @Override
+    public List<CoChargingConfig> selectCoChargingConfigList(CoChargingConfig admCoChargingConfig) {
+        List<CoChargingConfig> list = coChargingConfigMapper.selectCoChargingConfigList(admCoChargingConfig);
+
+        if (CollectionUtils.isNotEmpty(list)) {
+            for (CoChargingConfig config : list) {
+                config.setRelCoList(relService.selectRelList(config.getId()));
+            }
+        }
+
+        return list;
+    }
+
+    /**
+     * 新增商户能源计费配置
+     *
+     * @param coChargingConfig 商户能源计费配置
+     * @return 结果
+     */
+    @Override
+    public int insertCoChargingConfig(CoChargingConfig coChargingConfig) {
+        if (CollectionUtils.isNotEmpty(coChargingConfig.getRelCoList())) {
+            relService.insertRelBatch(coChargingConfig.getRelCoList());
+        }
+
+        return coChargingConfigMapper.insertCoChargingConfig(coChargingConfig);
+    }
+
+    /**
+     * 修改商户能源计费配置
+     *
+     * @param coChargingConfig 商户能源计费配置
+     * @return 结果
+     */
+    @Override
+    public int updateCoChargingConfig(CoChargingConfig coChargingConfig) {
+        if (CollectionUtils.isNotEmpty(coChargingConfig.getRelCoList())) {
+            relService.deleteRel(coChargingConfig.getId());
+            relService.insertRelBatch(coChargingConfig.getRelCoList());
+        } else {
+            relService.deleteRel(coChargingConfig.getId());
+        }
+
+        return coChargingConfigMapper.updateCoChargingConfig(coChargingConfig);
+    }
+
+    /**
+     * 批量删除商户能源计费配置
+     *
+     * @param ids 需要删除的商户能源计费配置主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCoChargingConfigByIds(Long[] ids) {
+        for (Long id : ids) {
+            relService.deleteRel(id);
+        }
+        return coChargingConfigMapper.deleteCoChargingConfigByIds(ids);
+    }
+
+    /**
+     * 删除商户能源计费配置信息
+     *
+     * @param id 商户能源计费配置主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCoChargingConfigById(Long id) {
+        relService.deleteRel(id);
+        return coChargingConfigMapper.deleteCoChargingConfigById(id);
+    }
+}

+ 80 - 0
ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/CoChargingConfigMapper.xml

@@ -0,0 +1,80 @@
+<?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.CoChargingConfigMapper">
+    
+    <resultMap type="com.ruoyi.ems.domain.CoChargingConfig" id="CoChargingConfigResult">
+        <result property="id"    column="id"    />
+        <result property="areaCode"    column="area_code"    />
+        <result property="elecUnitPrice"    column="elec_unit_price"    />
+        <result property="elecGtComputeType"    column="elec_gt_compute_type"    />
+        <result property="elecComputeDesc"    column="elec_compute_desc"    />
+        <result property="waterUnitPrice"    column="water_unit_price"    />
+        <result property="waterGtComputeType"    column="water_gt_compute_type"    />
+        <result property="waterComputeDesc"    column="water_compute_desc"    />
+    </resultMap>
+
+    <sql id="selectCoChargingConfigVo">
+        select id, area_code, elec_unit_price, elec_gt_compute_type, elec_compute_desc, water_unit_price, water_gt_compute_type, water_compute_desc from adm_co_charging_config
+    </sql>
+
+    <select id="selectCoChargingConfigList" parameterType="com.ruoyi.ems.domain.CoChargingConfig" resultMap="CoChargingConfigResult">
+        <include refid="selectCoChargingConfigVo"/>
+        <where>  
+            <if test="areaCode != null  and areaCode != ''"> and area_code = #{areaCode}</if>
+        </where>
+    </select>
+    
+    <select id="selectCoChargingConfigById" parameterType="Long" resultMap="CoChargingConfigResult">
+        <include refid="selectCoChargingConfigVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertCoChargingConfig" parameterType="com.ruoyi.ems.domain.CoChargingConfig" useGeneratedKeys="true" keyProperty="id">
+        insert into adm_co_charging_config
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="areaCode != null and areaCode != ''">area_code,</if>
+            <if test="elecUnitPrice != null">elec_unit_price,</if>
+            <if test="elecGtComputeType != null">elec_gt_compute_type,</if>
+            <if test="elecComputeDesc != null">elec_compute_desc,</if>
+            <if test="waterUnitPrice != null">water_unit_price,</if>
+            <if test="waterGtComputeType != null">water_gt_compute_type,</if>
+            <if test="waterComputeDesc != null">water_compute_desc,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="areaCode != null and areaCode != ''">#{areaCode},</if>
+            <if test="elecUnitPrice != null">#{elecUnitPrice},</if>
+            <if test="elecGtComputeType != null">#{elecGtComputeType},</if>
+            <if test="elecComputeDesc != null">#{elecComputeDesc},</if>
+            <if test="waterUnitPrice != null">#{waterUnitPrice},</if>
+            <if test="waterGtComputeType != null">#{waterGtComputeType},</if>
+            <if test="waterComputeDesc != null">#{waterComputeDesc},</if>
+         </trim>
+    </insert>
+
+    <update id="updateCoChargingConfig" parameterType="com.ruoyi.ems.domain.CoChargingConfig">
+        update adm_co_charging_config
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="areaCode != null and areaCode != ''">area_code = #{areaCode},</if>
+            <if test="elecUnitPrice != null">elec_unit_price = #{elecUnitPrice},</if>
+            <if test="elecGtComputeType != null">elec_gt_compute_type = #{elecGtComputeType},</if>
+            <if test="elecComputeDesc != null">elec_compute_desc = #{elecComputeDesc},</if>
+            <if test="waterUnitPrice != null">water_unit_price = #{waterUnitPrice},</if>
+            <if test="waterGtComputeType != null">water_gt_compute_type = #{waterGtComputeType},</if>
+            <if test="waterComputeDesc != null">water_compute_desc = #{waterComputeDesc},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteCoChargingConfigById" parameterType="Long">
+        delete from adm_co_charging_config where id = #{id}
+    </delete>
+
+    <delete id="deleteCoChargingConfigByIds" parameterType="String">
+        delete from adm_co_charging_config where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 32 - 0
ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/CoChargingConfigRelMapper.xml

@@ -0,0 +1,32 @@
+<?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.CoChargingConfigRelMapper">
+    
+    <resultMap type="com.ruoyi.ems.domain.CoChargingConfigRel" id="CoChargingConfigRelResult">
+        <result property="priceCfgId"    column="price_cfg_id"    />
+        <result property="zoningCode"    column="zoning_code"    />
+    </resultMap>
+
+    <sql id="selectAdmCoChargingConfigRelVo">
+        select price_cfg_id, zoning_code from adm_co_charging_config_rel
+    </sql>
+
+    <select id="selectRelList" parameterType="java.lang.Long" resultMap="CoChargingConfigRelResult">
+        <include refid="selectAdmCoChargingConfigRelVo"/>
+        where price_cfg_id = #{cfgId}
+    </select>
+
+    <insert id="insertRelBatch" parameterType="java.util.List">
+        insert into adm_co_charging_config_rel (price_cfg_id, zoning_code)
+        values
+        <foreach collection="list" item="item" index="index" separator=",">
+            (#{item.priceCfgId}, #{item.zoningCode})
+        </foreach>
+    </insert>
+
+    <delete id="deleteRel" parameterType="Long">
+        delete from adm_co_charging_config_rel where price_cfg_id = #{cfgId}
+    </delete>
+</mapper>

+ 0 - 1
ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/ElecPriceStrategyMapper.xml

@@ -25,7 +25,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="strategyCode != null  and strategyCode != ''"> and strategy_code = #{strategyCode}</if>
             <if test="strategyName != null  and strategyName != ''"> and strategy_name like concat('%', #{strategyName}, '%')</if>
             <if test="repeatType != null  and repeatType != ''"> and repeat_type = #{repeatType}</if>
-            <if test="date != null "> and date = #{date}</if>
             <if test="priority != null "> and priority = #{priority}</if>
         </where>
     </select>

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

@@ -882,7 +882,7 @@ create table adm_ems_device_rbook (
   `create_time`      datetime        default null                 comment '创建时间',
   `update_time`      datetime        default null                 comment '更新时间',
   primary key (`id`),
-  key inx_op_inspection_report(`record_code`)
+  key inx_ems_device_rbook(`record_code`)
 ) engine=innodb auto_increment=1 comment = '设备台账表';
 
 
@@ -986,7 +986,58 @@ create table adm_elecprice_strategy_hour (
   primary key (`id`)
 ) engine=innodb auto_increment=1 comment = '电价策略小时表';
 
-INSERT INTO adm_elecprice_strategy_hour (`strategy_code`, `start_time`, `end_time`, `type`) VALUES ('-1', '00:00:00', '24:00:00', 0);
+INSERT INTO adm_elecprice_strategy_hour (`strategy_code`, `start_time`, `end_time`, `type`) VALUES ('-1', '00:00:00', '23:59:59', 0);
+
+
+-- ----------------------------
+-- 商户能源计费配置
+-- ----------------------------
+drop table if exists adm_co_charging_config;
+create table adm_co_charging_config (
+  `id`                    bigint(20)      not null auto_increment      comment '序号',
+  `area_code`             varchar(16)     not null                     comment '服务区代码',
+  `elec_unit_price`       double          not null                     comment '电计量单价 1度',
+  `elec_gt_compute_type`  int             not null                     comment '电公摊计算类型',
+  `elec_compute_desc`     varchar(200)    default null                 comment '电费计算说明',
+  `water_unit_price`      double          not null                     comment '水计量单价 1吨',
+  `water_gt_compute_type` int             not null                     comment '水公摊计算类型',
+  `water_compute_desc`    varchar(200)    default null                 comment '水费计算说明',
+  primary key (`id`),
+  unique key ux_co_charging_config(`area_code`)
+) engine=innodb auto_increment=1 comment = '商户能源计费配置';
+
+
+-- ----------------------------
+-- 商户能源计费配置
+-- ----------------------------
+drop table if exists adm_co_charging_config;
+create table adm_co_charging_config (
+  `id`                    bigint(20)      not null auto_increment      comment '序号',
+  `area_code`             varchar(16)     not null                     comment '服务区代码',
+  `elec_unit_price`       double          not null                     comment '电计量单价 1度',
+  `elec_gt_compute_type`  int             not null                     comment '电公摊计算类型',
+  `elec_compute_desc`     varchar(200)    default null                 comment '电费计算说明',
+  `water_unit_price`      double          not null                     comment '水计量单价 1吨',
+  `water_gt_compute_type` int             not null                     comment '水公摊计算类型',
+  `water_compute_desc`    varchar(200)    default null                 comment '水费计算说明',
+  primary key (`id`),
+  unique key ux_co_charging_config(`area_code`)
+) engine=innodb auto_increment=1 comment = '商户能源计费配置';
+
+INSERT INTO adm_co_charging_config (`area_code`, `elec_unit_price`, `elec_gt_compute_type`, `elec_compute_desc`, `water_unit_price`, `water_gt_compute_type`, `water_compute_desc`) VALUES ('321283124S3001', 0.6068, 1, '1.按户数均摊\n公摊电费每户收费 = 公摊电费 / 户数\n2、按面积分摊\n单户公摊电费 = 公摊电费 * (单户面积 / 总面积)', 3.04, 0, NULL);
+INSERT INTO adm_co_charging_config (`area_code`, `elec_unit_price`, `elec_gt_compute_type`, `elec_compute_desc`, `water_unit_price`, `water_gt_compute_type`, `water_compute_desc`) VALUES ('321283124S3002', 0.6068, 1, '1.按户数均摊\n公摊电费每户收费 = 公摊电费 / 户数\n2、按面积分摊\n单户公摊电费 = 公摊电费 * (单户面积 / 总面积)', 3.04, 0, NULL);
+
+
+-- ----------------------------
+-- 商户能源计费关系表
+-- ----------------------------
+drop table if exists adm_co_charging_config_rel;
+create table adm_co_charging_config_rel (
+  `price_cfg_id`          bigint(20)      not null auto_increment      comment '计费序号',
+  `zoning_code`           varchar(16)     not null                     comment '区块编码',
+  unique key ux_co_emsprice_config_rel(`price_cfg_id`, `zoning_code`)
+) engine=innodb comment = '商户能源计费关系表';
+
 
 -- ----------------------------
 -- 电网供应计量表