ソースを参照

节能分析优化

learshaw 1 ヶ月 前
コミット
d7666dd77d

+ 0 - 48
ems/ems-cloud/ems-server/src/main/java/com/ruoyi/ems/config/ForecastConfig.java

@@ -1,48 +0,0 @@
-/*
- * 文 件 名:  ForecastConfig
- * 版    权:  华设设计集团股份有限公司
- * 描    述:  <描述>
- * 修 改 人:  lvwenbin
- * 修改时间:  2025/6/19
- * 跟踪单号:  <跟踪单号>
- * 修改单号:  <修改单号>
- * 修改内容:  <修改内容>
- */
-package com.ruoyi.ems.config;
-
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * 预测配置
- * <功能详细描述>
- *
- * @author lvwenbin
- * @version [版本号, 2025/6/19]
- * @see [相关类/方法]
- * @since [产品/模块版本]
- */
-@Configuration
-public class ForecastConfig {
-    @Value("${general-data.weather.adcode}")
-    private String adcode;
-
-    @Value("${forecast-task.area-codes}")
-    private String areaCodes;
-
-    @Value("${forecast-task.pv-forecast.forecastDays}")
-    private int prodForecastDays;
-
-    public String[] getAreaCodes() {
-        return StringUtils.split(areaCodes, ",");
-    }
-
-    public int getProdForecastDays() {
-        return prodForecastDays;
-    }
-
-    public String getAdcode() {
-        return adcode;
-    }
-}

+ 0 - 104
ems/ems-cloud/ems-server/src/main/java/com/ruoyi/ems/controller/AdmEmsEcoDController.java

@@ -1,104 +0,0 @@
-package com.ruoyi.ems.controller;
-
-import com.huashe.common.domain.AjaxResult;
-import com.ruoyi.common.core.utils.poi.ExcelUtil;
-import com.ruoyi.common.core.web.controller.BaseController;
-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.AdmEmsEcoD;
-import com.ruoyi.ems.service.IAdmEmsEcoDService;
-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 2025-04-22
- */
-@RestController
-@RequestMapping("/EmsEcoD")
-public class AdmEmsEcoDController extends BaseController {
-    @Autowired
-    private IAdmEmsEcoDService admEmsEcoDService;
-
-    /**
-     * 查询节能计量日列表
-     */
-    @RequiresPermissions("ems:EmsEcoD:list")
-    @GetMapping("/list")
-    public TableDataInfo list(AdmEmsEcoD admEmsEcoD) {
-        startPage();
-        List<AdmEmsEcoD> list = admEmsEcoDService.selectAdmEmsEcoDList(admEmsEcoD);
-        return getDataTable(list);
-    }
-
-    /**
-     * 导出节能计量日列表
-     */
-    @RequiresPermissions("ems:EmsEcoD:export")
-    @Log(title = "节能计量日", businessType = BusinessType.EXPORT)
-    @PostMapping("/export")
-    public void export(HttpServletResponse response, AdmEmsEcoD admEmsEcoD) {
-        List<AdmEmsEcoD> list = admEmsEcoDService.selectAdmEmsEcoDList(admEmsEcoD);
-        ExcelUtil<AdmEmsEcoD> util = new ExcelUtil<AdmEmsEcoD>(AdmEmsEcoD.class);
-        util.exportExcel(response, list, "节能计量日数据");
-    }
-
-    /**
-     * 获取节能计量日详细信息
-     */
-    @RequiresPermissions("ems:EmsEcoD:query")
-    @GetMapping(value = "/{id}")
-    public AjaxResult getInfo(@PathVariable("id") Long id) {
-        return success(admEmsEcoDService.selectAdmEmsEcoDById(id));
-    }
-
-    /**
-     * 新增节能计量日
-     */
-    @RequiresPermissions("ems:EmsEcoD:add")
-    @Log(title = "节能计量日", businessType = BusinessType.INSERT)
-    @PostMapping
-    public AjaxResult add(@RequestBody AdmEmsEcoD admEmsEcoD) {
-        return toAjax(admEmsEcoDService.insertAdmEmsEcoD(admEmsEcoD));
-    }
-
-    /**
-     * 修改节能计量日
-     */
-    @RequiresPermissions("ems:EmsEcoD:edit")
-    @Log(title = "节能计量日", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@RequestBody AdmEmsEcoD admEmsEcoD) {
-        return toAjax(admEmsEcoDService.updateAdmEmsEcoD(admEmsEcoD));
-    }
-
-    /**
-     * 删除节能计量日
-     */
-    @RequiresPermissions("ems:EmsEcoD:remove")
-    @Log(title = "节能计量日", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{ids}")
-    public AjaxResult remove(@PathVariable Long[] ids) {
-        return toAjax(admEmsEcoDService.deleteAdmEmsEcoDByIds(ids));
-    }
-
-    @GetMapping(value = "/date/range")
-    public AjaxResult calcAdmEmsEcoDateRange(AdmEmsEcoD admEmsEcoD) {
-        return success(admEmsEcoDService.calcAdmEmsEcoDateRange(admEmsEcoD));
-    }
-
-}

+ 0 - 82
ems/ems-core/src/main/java/com/ruoyi/ems/domain/AdmEmsEcoD.java

@@ -1,82 +0,0 @@
-package com.ruoyi.ems.domain;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.huashe.common.annotation.Excel;
-import com.huashe.common.domain.BaseEntity;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-
-import java.util.Date;
-
-/**
- * 节能计量日对象 adm_ems_eco_d
- *
- * @author ruoyi
- * @date 2025-04-22
- */
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class AdmEmsEcoD extends BaseEntity {
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 序号
-     */
-    private Long id;
-
-    /**
-     * 园区代码
-     */
-    @Excel(name = "园区代码")
-    private String areaCode;
-
-    @Excel(name = "园区名称")
-    private String areaName;
-
-    /**
-     * 日期
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
-    private Date date;
-
-    /**
-     * 节(千瓦时)
-     */
-    @Excel(name = "节", readConverterExp = "千=瓦时")
-    private Long elecEcoQuantity;
-
-    /**
-     * 节电金额(元)
-     */
-    @Excel(name = "节电金额", readConverterExp = "元=")
-    private Long elecEcoCost;
-
-    /**
-     * 节水量 (吨)
-     */
-    @Excel(name = "节水量 ", readConverterExp = "吨=")
-    private Long waterEcoQuantity;
-
-    /**
-     * 节水金额(元)
-     */
-    @Excel(name = "节水金额", readConverterExp = "元=")
-    private Long waterEcoCost;
-
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
-                .append("id", getId())
-                .append("areaCode", getAreaCode())
-                .append("date", getDate())
-                .append("elecEcoQuantity", getElecEcoQuantity())
-                .append("elecEcoCost", getElecEcoCost())
-                .append("waterEcoQuantity", getWaterEcoQuantity())
-                .append("waterEcoCost", getWaterEcoCost())
-                .toString();
-    }
-}

+ 0 - 98
ems/ems-core/src/main/java/com/ruoyi/ems/domain/ElecMeter.java

@@ -1,98 +0,0 @@
-/*
- * 文 件 名:  ElecMeter
- * 版    权:  华设设计集团股份有限公司
- * 描    述:  <描述>
- * 修 改 人:  lvwenbin
- * 修改时间:  2025/2/12
- * 跟踪单号:  <跟踪单号>
- * 修改单号:  <修改单号>
- * 修改内容:  <修改内容>
- */
-package com.ruoyi.ems.domain;
-
-/**
- * 电计量
- * <功能详细描述>
- *
- * @author lvwenbin
- * @version [版本号, 2025/2/12]
- * @see [相关类/方法]
- * @since [产品/模块版本]
- */
-public class ElecMeter {
-    // 区域编码
-    private String areaCode;
-
-    // 边界对象类型
-    private Integer objType;
-
-    // 边界对象代码
-    private String objCode;
-
-    // 边界对象名称
-    private String objName;
-
-    // 用电量
-    private Double quantity;
-
-    // 用电成本
-    private Double useCost;
-
-    public ElecMeter() {
-    }
-
-    public ElecMeter(String objCode, String objName, Double quantity, Double useCost) {
-        this.objCode = objCode;
-        this.objName = objName;
-        this.quantity = quantity;
-        this.useCost = useCost;
-    }
-
-    public String getAreaCode() {
-        return areaCode;
-    }
-
-    public void setAreaCode(String areaCode) {
-        this.areaCode = areaCode;
-    }
-
-    public Integer getObjType() {
-        return objType;
-    }
-
-    public void setObjType(Integer objType) {
-        this.objType = objType;
-    }
-
-    public String getObjCode() {
-        return objCode;
-    }
-
-    public void setObjCode(String objCode) {
-        this.objCode = objCode;
-    }
-
-    public String getObjName() {
-        return objName;
-    }
-
-    public void setObjName(String objName) {
-        this.objName = objName;
-    }
-
-    public Double getQuantity() {
-        return quantity;
-    }
-
-    public void setQuantity(Double quantity) {
-        this.quantity = quantity;
-    }
-
-    public Double getUseCost() {
-        return useCost;
-    }
-
-    public void setUseCost(Double useCost) {
-        this.useCost = useCost;
-    }
-}

+ 0 - 64
ems/ems-core/src/main/java/com/ruoyi/ems/mapper/AdmEmsEcoDMapper.java

@@ -1,64 +0,0 @@
-package com.ruoyi.ems.mapper;
-
-import com.ruoyi.ems.domain.AdmEmsEcoD;
-
-import java.util.List;
-
-/**
- * 节能计量日Mapper接口
- *
- * @author ruoyi
- * @date 2025-04-22
- */
-public interface AdmEmsEcoDMapper {
-    /**
-     * 查询节能计量日
-     *
-     * @param id 节能计量日主键
-     * @return 节能计量日
-     */
-    public AdmEmsEcoD selectAdmEmsEcoDById(Long id);
-
-    /**
-     * 查询节能计量日列表
-     *
-     * @param admEmsEcoD 节能计量日
-     * @return 节能计量日集合
-     */
-    public List<AdmEmsEcoD> selectAdmEmsEcoDList(AdmEmsEcoD admEmsEcoD);
-
-    /**
-     * 新增节能计量日
-     *
-     * @param admEmsEcoD 节能计量日
-     * @return 结果
-     */
-    public int insertAdmEmsEcoD(AdmEmsEcoD admEmsEcoD);
-
-    /**
-     * 修改节能计量日
-     *
-     * @param admEmsEcoD 节能计量日
-     * @return 结果
-     */
-    public int updateAdmEmsEcoD(AdmEmsEcoD admEmsEcoD);
-
-    /**
-     * 删除节能计量日
-     *
-     * @param id 节能计量日主键
-     * @return 结果
-     */
-    public int deleteAdmEmsEcoDById(Long id);
-
-    /**
-     * 批量删除节能计量日
-     *
-     * @param ids 需要删除的数据主键集合
-     * @return 结果
-     */
-    public int deleteAdmEmsEcoDByIds(Long[] ids);
-
-
-    AdmEmsEcoD calcAdmEmsEcoDateRange(AdmEmsEcoD admEmsEcoD);
-}

+ 0 - 63
ems/ems-core/src/main/java/com/ruoyi/ems/service/IAdmEmsEcoDService.java

@@ -1,63 +0,0 @@
-package com.ruoyi.ems.service;
-
-import java.util.List;
-import com.ruoyi.ems.domain.AdmEmsEcoD;
-
-/**
- * 节能计量日Service接口
- * 
- * @author ruoyi
- * @date 2025-04-22
- */
-public interface IAdmEmsEcoDService 
-{
-    /**
-     * 查询节能计量日
-     * 
-     * @param id 节能计量日主键
-     * @return 节能计量日
-     */
-    public AdmEmsEcoD selectAdmEmsEcoDById(Long id);
-
-    /**
-     * 查询节能计量日列表
-     * 
-     * @param admEmsEcoD 节能计量日
-     * @return 节能计量日集合
-     */
-    public List<AdmEmsEcoD> selectAdmEmsEcoDList(AdmEmsEcoD admEmsEcoD);
-
-    /**
-     * 新增节能计量日
-     * 
-     * @param admEmsEcoD 节能计量日
-     * @return 结果
-     */
-    public int insertAdmEmsEcoD(AdmEmsEcoD admEmsEcoD);
-
-    /**
-     * 修改节能计量日
-     * 
-     * @param admEmsEcoD 节能计量日
-     * @return 结果
-     */
-    public int updateAdmEmsEcoD(AdmEmsEcoD admEmsEcoD);
-
-    /**
-     * 批量删除节能计量日
-     * 
-     * @param ids 需要删除的节能计量日主键集合
-     * @return 结果
-     */
-    public int deleteAdmEmsEcoDByIds(Long[] ids);
-
-    /**
-     * 删除节能计量日信息
-     * 
-     * @param id 节能计量日主键
-     * @return 结果
-     */
-    public int deleteAdmEmsEcoDById(Long id);
-
-    AdmEmsEcoD calcAdmEmsEcoDateRange(AdmEmsEcoD admEmsEcoD);
-}

+ 0 - 241
ems/ems-core/src/main/java/com/ruoyi/ems/service/forecast/ElecProdForecastService.java

@@ -1,241 +0,0 @@
-/*
- * 文 件 名:  ElecProdForecastService
- * 版    权:  华设设计集团股份有限公司
- * 描    述:  <描述>
- * 修 改 人:  lvwenbin
- * 修改时间:  2025/6/19
- * 跟踪单号:  <跟踪单号>
- * 修改单号:  <修改单号>
- * 修改内容:  <修改内容>
- */
-package com.ruoyi.ems.service.forecast;
-
-import com.huashe.common.domain.model.WeatherForecast;
-import com.huashe.common.utils.DateUtils;
-import com.ruoyi.ems.domain.ElecProdForecast;
-import com.ruoyi.ems.domain.ElecPvSupplyH;
-import com.ruoyi.ems.mapper.ElecProdForecastMapper;
-import com.ruoyi.ems.model.QueryMeter;
-import com.ruoyi.ems.service.IElecPvSupplyHService;
-import com.ruoyi.ems.service.IWeatherService;
-import org.apache.commons.collections4.CollectionUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.time.LocalDate;
-import java.time.ZoneId;
-import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * 产能预测
- * <功能详细描述>
- *
- * @author lvwenbin
- * @version [版本号, 2025/6/19]
- * @see [相关类/方法]
- * @since [产品/模块版本]
- */
-@Service
-public class ElecProdForecastService {
-    private static final Logger log = LoggerFactory.getLogger(ElecProdForecastService.class);
-
-    // 天气影响因子
-    private final static Map<String, Double> weatherFactorMap = new HashMap<>();
-
-    private final DateTimeFormatter dateForm = DateTimeFormatter.ofPattern("yyyy-MM-dd");
-
-    /**
-     * 光伏产能预测数据服务
-     */
-    @Resource
-    private IElecPvSupplyHService pvSupplyHService;
-
-    /**
-     * 天气服务
-     */
-    @Resource
-    private IWeatherService weatherService;
-
-    @Resource
-    private ElecProdForecastMapper forecastMapper;
-
-    static {
-        // 初始化默认影响因子
-        weatherFactorMap.put("1101", 1.0);   // 晴
-        weatherFactorMap.put("1103", 0.8);   // 多云
-        weatherFactorMap.put("1106", 0.4);   // 阴天
-        weatherFactorMap.put("2100", 0.5);   // 雨
-        weatherFactorMap.put("2101", 0.6);   // 小雨
-        weatherFactorMap.put("2102", 0.5);   // 中雨
-        weatherFactorMap.put("2103", 0.4);   // 大雨
-        weatherFactorMap.put("2104", 0.3);   // 暴雨
-        weatherFactorMap.put("2111", 0.7);   // 阵雨
-        weatherFactorMap.put("2121", 0.7);   // 雷阵雨
-        weatherFactorMap.put("2200", 0.3);   // 雪
-        weatherFactorMap.put("2201", 0.3);   // 小雪
-        weatherFactorMap.put("2202", 0.3);   // 中雪
-        weatherFactorMap.put("2203", 0.2);   // 大雪
-        weatherFactorMap.put("2204", 0.1);   // 暴雪
-        weatherFactorMap.put("2211", 0.4);   // 雨夹雪
-        weatherFactorMap.put("4101", 0.8);   // 轻雾
-        weatherFactorMap.put("4102", 0.7);   // 大雾
-        weatherFactorMap.put("4103", 0.6);   // 浓雾
-        weatherFactorMap.put("4200", 0.5);   // 霾
-        weatherFactorMap.put("4301", 0.5);   // 浮尘
-        weatherFactorMap.put("4302", 0.4);   // 扬沙
-        weatherFactorMap.put("4303", 0.3);   // 沙尘暴
-    }
-
-    /**
-     * 执行光伏产能预测
-     *
-     * @param areaCode    园区代码
-     * @param facsCode    设施编码
-     * @param today       当前日期
-     * @param forecastDay 预测天数
-     */
-    public void executePvForecast(String adcode, String areaCode, String facsCode, LocalDate today, int forecastDay) {
-
-        try {
-            // 1. 读取历史数据 (使用过去30天的数据作为训练集)
-            LocalDate historyStart = today.minusDays(30);
-            LocalDate historyEnd = today.minusDays(1);
-            QueryMeter queryMeter = new QueryMeter(areaCode, facsCode, historyStart.format(dateForm),
-                historyEnd.format(dateForm));
-            List<ElecPvSupplyH> historicalData = pvSupplyHService.selectPvSupplyDayList(queryMeter);
-
-            if (historicalData.isEmpty()) {
-                // 没有历史数据,无法进行预测
-                return;
-            }
-
-            // 2. 读取天气预报
-            LocalDate forecastStart = today;
-            LocalDate forecastEnd = today.plusDays(forecastDay - 1);
-            List<WeatherForecast> weatherForecasts = weatherService.getWeatherForecast(adcode,
-                forecastStart.format(dateForm), forecastEnd.format(dateForm));
-            Map<String, WeatherForecast> weatherMap = convertToWeatherMap(weatherForecasts);
-            List<ElecProdForecast> result = new ArrayList<>();
-
-            while (forecastStart.isBefore(forecastEnd) || forecastStart.isEqual(forecastEnd)) {
-                WeatherForecast weatherForecast = weatherMap.get(forecastStart.format(dateForm));
-                ElecProdForecast elecProdForecast = predictDailyProduction(areaCode, facsCode, forecastStart,
-                    historicalData, weatherForecast);
-                result.add(elecProdForecast);
-                forecastStart = forecastStart.plusDays(1);
-            }
-
-            // 保存数据到数据库
-            forecastMapper.deleteByCondition(areaCode, facsCode, today.format(dateForm), forecastEnd.format(dateForm));
-
-            if (CollectionUtils.isNotEmpty(result)) {
-                forecastMapper.insertBatch(result);
-            }
-        }
-        catch (Exception e) {
-            log.error("execute Pv forecast fail! areaCode:{}, facsCode:{}", areaCode, facsCode, e);
-        }
-    }
-
-    private ElecProdForecast predictDailyProduction(String areaCode, String facsCode, LocalDate date,
-        List<ElecPvSupplyH> trainingData, WeatherForecast weatherForecast) {
-        // 计算历史平均日发电量(保留两位小数)
-        double totalGenElec = trainingData.stream().mapToDouble(ElecPvSupplyH::getGenElecQuantity).sum();
-        double historicalAvgDailyProduction = divideAndRound(totalGenElec, trainingData.size(), 2);
-
-        // 计算历史平均上网电量(保留两位小数)
-        double totalUpElec = trainingData.stream().mapToDouble(ElecPvSupplyH::getUpElecQuantity).sum();
-        double upElecQuantity = divideAndRound(totalUpElec, trainingData.size(), 2);
-
-        // 获取天气影响因子
-        double weatherFactor = getWeatherFactor(weatherForecast);
-
-        // 计算预测值 = 历史平均值 * 天气影响因子
-        double forecastProduction = multiplyAndRound(historicalAvgDailyProduction, weatherFactor, 2);
-
-        // 计算平均功率 (kW)
-        double avgPower = divideAndRound(forecastProduction, 24.0, 2);
-
-        ElecProdForecast forecast = new ElecProdForecast();
-        forecast.setAreaCode(areaCode);
-        forecast.setFacsCode(facsCode);
-        forecast.setDate(Date.from(date.atStartOfDay(ZoneId.systemDefault()).toInstant()));
-        forecast.setElecProdQuantity(forecastProduction);
-        forecast.setAvgPower(avgPower);
-        forecast.setUpElecQuantity(upElecQuantity);
-        return forecast;
-    }
-
-    private double getWeatherFactor(WeatherForecast forecast) {
-        Double factor = null;
-
-        if (null != forecast) {
-            // 优先使用日间天气
-            String weatherCode = forecast.getDayWeatherType();
-            factor = weatherFactorMap.get(weatherCode);
-
-            // 如果日间天气没有影响因子,使用夜间天气
-            if (factor == null) {
-                weatherCode = forecast.getNightWeatherType();
-                factor = weatherFactorMap.get(weatherCode);
-            }
-
-            // 如果仍然没有,使用默认值
-            factor = factor != null ? factor : 0.8;
-        }
-        else {
-            factor = 0.8;
-        }
-
-        return factor;
-    }
-
-    private Map<String, WeatherForecast> convertToWeatherMap(List<WeatherForecast> weatherForecasts) {
-        Map<String, WeatherForecast> weatherMap = new HashMap<>();
-
-        for (WeatherForecast weatherForecast : weatherForecasts) {
-            String date = DateUtils.dateToString(weatherForecast.getDate(), "yyyy-MM-dd");
-            weatherMap.put(date, weatherForecast);
-        }
-
-        return weatherMap;
-    }
-
-    /**
-     * 除法运算并保留指定小数位数
-     * @param dividend 被除数
-     * @param divisor 除数
-     * @param scale 保留小数位数
-     * @return 四舍五入后的结果
-     */
-    private double divideAndRound(double dividend, double divisor, int scale) {
-        if (divisor == 0) {
-            return 0.0;
-        }
-        return BigDecimal.valueOf(dividend / divisor)
-            .setScale(scale, RoundingMode.HALF_UP)
-            .doubleValue();
-    }
-
-    /**
-     * 乘法运算并保留指定小数位数
-     * @param a 乘数1
-     * @param b 乘数2
-     * @param scale 保留小数位数
-     * @return 四舍五入后的结果
-     */
-    private double multiplyAndRound(double a, double b, int scale) {
-        return BigDecimal.valueOf(a * b)
-            .setScale(scale, RoundingMode.HALF_UP)
-            .doubleValue();
-    }
-}

+ 0 - 98
ems/ems-core/src/main/resources/mapper/ems/AdmEmsEcoDMapper.xml

@@ -1,98 +0,0 @@
-<?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.AdmEmsEcoDMapper">
-    
-    <resultMap type="AdmEmsEcoD" id="AdmEmsEcoDResult">
-        <result property="id"    column="id"    />
-        <result property="areaCode"    column="area_code"    />
-        <result property="date"    column="date"    />
-        <result property="elecEcoQuantity"    column="elec_eco_quantity"    />
-        <result property="elecEcoCost"    column="elec_eco_cost"    />
-        <result property="waterEcoQuantity"    column="water_eco_quantity"    />
-        <result property="waterEcoCost"    column="water_eco_cost"    />
-    </resultMap>
-
-    <sql id="selectAdmEmsEcoDVo">
-        select id, area_code, date, elec_eco_quantity, elec_eco_cost, water_eco_quantity, water_eco_cost from adm_ems_eco_d
-    </sql>
-
-    <select id="selectAdmEmsEcoDList" parameterType="AdmEmsEcoD" resultMap="AdmEmsEcoDResult">
-        select d.id, area.area_code, area.area_name ,date, elec_eco_quantity, elec_eco_cost, water_eco_quantity,
-        water_eco_cost from adm_ems_eco_d d
-        inner join adm_area area on area.area_code = d.area_code and area.parent_code = '0'
-        <where>
-            <if test="areaName != null  and areaName != ''">and area_name like concat('%', #{areaName}, '%')</if>
-            <if test="date != null ">and date = #{date}</if>
-        </where>
-        order by date desc
-    </select>
-    
-    <select id="selectAdmEmsEcoDById" parameterType="Long" resultMap="AdmEmsEcoDResult">
-        <include refid="selectAdmEmsEcoDVo"/>
-        where id = #{id}
-    </select>
-        
-    <insert id="insertAdmEmsEcoD" parameterType="AdmEmsEcoD" useGeneratedKeys="true" keyProperty="id">
-        insert into adm_ems_eco_d
-        <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="areaCode != null and areaCode != ''">area_code,</if>
-            <if test="date != null">date,</if>
-            <if test="elecEcoQuantity != null">elec_eco_quantity,</if>
-            <if test="elecEcoCost != null">elec_eco_cost,</if>
-            <if test="waterEcoQuantity != null">water_eco_quantity,</if>
-            <if test="waterEcoCost != null">water_eco_cost,</if>
-         </trim>
-        <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="areaCode != null and areaCode != ''">#{areaCode},</if>
-            <if test="date != null">#{date},</if>
-            <if test="elecEcoQuantity != null">#{elecEcoQuantity},</if>
-            <if test="elecEcoCost != null">#{elecEcoCost},</if>
-            <if test="waterEcoQuantity != null">#{waterEcoQuantity},</if>
-            <if test="waterEcoCost != null">#{waterEcoCost},</if>
-         </trim>
-    </insert>
-
-    <update id="updateAdmEmsEcoD" parameterType="AdmEmsEcoD">
-        update adm_ems_eco_d
-        <trim prefix="SET" suffixOverrides=",">
-            <if test="areaCode != null and areaCode != ''">area_code = #{areaCode},</if>
-            <if test="date != null">date = #{date},</if>
-            <if test="elecEcoQuantity != null">elec_eco_quantity = #{elecEcoQuantity},</if>
-            <if test="elecEcoCost != null">elec_eco_cost = #{elecEcoCost},</if>
-            <if test="waterEcoQuantity != null">water_eco_quantity = #{waterEcoQuantity},</if>
-            <if test="waterEcoCost != null">water_eco_cost = #{waterEcoCost},</if>
-        </trim>
-        where id = #{id}
-    </update>
-
-    <delete id="deleteAdmEmsEcoDById" parameterType="Long">
-        delete from adm_ems_eco_d where id = #{id}
-    </delete>
-
-    <delete id="deleteAdmEmsEcoDByIds" parameterType="String">
-        delete from adm_ems_eco_d where id in 
-        <foreach item="id" collection="array" open="(" separator="," close=")">
-            #{id}
-        </foreach>
-    </delete>
-
-    <select id="calcAdmEmsEcoDateRange" parameterType="AdmEmsEcoD" resultMap="AdmEmsEcoDResult">
-        select sum(
-        COALESCE(CAST(elec_eco_quantity AS DECIMAL(10, 2)), 0)) elec_eco_quantity,
-        sum(
-        COALESCE(CAST(elec_eco_cost AS DECIMAL(10, 2)), 0)) elec_eco_cost,
-        sum(
-        COALESCE(CAST(water_eco_quantity AS DECIMAL(10, 2)), 0)) water_eco_quantity,
-        sum(
-        COALESCE(CAST(water_eco_cost AS DECIMAL(10, 2)), 0)) water_eco_cost
-        from adm_ems_eco_d d
-        <where>
-            <if test="date != null and date != ''">DATE like concat(#{date}, '%')</if>
-            <if test="areaCode != null and areaCode != '' and areaCode != '-1'">
-                and area_code = #{areaCode}
-            </if>
-        </where>
-    </select>
-</mapper>