From b170e910a543c79ff787875989e354cf7c04bdff Mon Sep 17 00:00:00 2001 From: FCD <2453864257@qq.com> Date: Thu, 22 Jan 2026 17:17:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A8=81=E4=BC=9F=E7=94=B5?= =?UTF-8?q?=E8=A1=A8=E4=BF=AE=E6=AD=A3=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/system/api/RemoteEnergyService.java | 5 ++ .../factory/RemoteEnergyFallbackFactory.java | 7 +++ .../energy/base/domain/BaseMonitorInfo.java | 10 +++ .../RecordDnbInstantController.java | 24 +++++++ .../record/domain/RecordDnbInstant.java | 12 ---- .../service/IRecordDnbInstantService.java | 5 ++ .../impl/RecordDnbInstantServiceImpl.java | 42 +++++++++++++ .../mapper/base/BaseMonitorInfo1Mapper.xml | 1 + .../mapper/report/ReportPointDnbMapper.xml | 63 +++++++++++++++++++ .../src/main/java/com/op/job/task/RyTask.java | 20 ++++++ 10 files changed, 177 insertions(+), 12 deletions(-) diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteEnergyService.java b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteEnergyService.java index 402061924..83c3eda55 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteEnergyService.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteEnergyService.java @@ -8,6 +8,8 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import java.util.Map; + /** auth YangWl * 能源服务 */ @@ -26,4 +28,7 @@ public interface RemoteEnergyService { @PostMapping(value = "/record/dnbInstant/getNhEnergyDetail") public R SyncNhEnergyDetail(); + + @PostMapping(value = "/record/dnbInstant/fixWwEnergyData",headers = {"poolName=ds_1000"}) + public R syncFixWwEnergyData(@RequestBody Map map); } diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteEnergyFallbackFactory.java b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteEnergyFallbackFactory.java index 32a0e9b19..085e5d861 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteEnergyFallbackFactory.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteEnergyFallbackFactory.java @@ -9,6 +9,8 @@ import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; +import java.util.Map; + @Component public class RemoteEnergyFallbackFactory implements FallbackFactory { private static final Logger log = LoggerFactory.getLogger(RemoteEnergyFallbackFactory.class); @@ -36,6 +38,11 @@ public class RemoteEnergyFallbackFactory implements FallbackFactory map) { + return R.fail("修正威伟电表数据失败:" + throwable.getMessage()); + } }; } } diff --git a/op-modules/op-energy/src/main/java/com/op/energy/base/domain/BaseMonitorInfo.java b/op-modules/op-energy/src/main/java/com/op/energy/base/domain/BaseMonitorInfo.java index 1f599e72a..d913c6ba2 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/base/domain/BaseMonitorInfo.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/base/domain/BaseMonitorInfo.java @@ -200,6 +200,8 @@ public class BaseMonitorInfo extends BaseEntity { private Boolean flag; + private String electricityMeterType; + public String getPhysicalCode() { return physicalCode; } @@ -481,6 +483,14 @@ public class BaseMonitorInfo extends BaseEntity { this.connCode = connCode; } + public String getElectricityMeterType() { + return electricityMeterType; + } + + public void setElectricityMeterType(String electricityMeterType) { + this.electricityMeterType = electricityMeterType; + } + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/op-modules/op-energy/src/main/java/com/op/energy/record/controller/RecordDnbInstantController.java b/op-modules/op-energy/src/main/java/com/op/energy/record/controller/RecordDnbInstantController.java index 5f85a9f51..792f0fed1 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/record/controller/RecordDnbInstantController.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/record/controller/RecordDnbInstantController.java @@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; +import java.util.Map; /** * 电实时数据Controller @@ -209,5 +210,28 @@ public class RecordDnbInstantController extends BaseController { return AjaxResult.success(); } + /** + * 获取威伟电表能耗明细导出 + * **/ + @PostMapping("/testGetNhEnergyDetail") + @ResponseBody + public void testGetNhEnergyDetail( HttpServletResponse response ,@RequestBody Map params) { + List list = recordDnbInstantService.testGetNhEnergyDetail(params); + ExcelUtil util = new ExcelUtil(RecordDnbInstant.class); + util.exportExcel(response, list, "导出"); + } + + /** + * 修正威伟电表数据 + * **/ + @PostMapping("/fixWwEnergyData") + @ResponseBody + public AjaxResult fixWwEnergyData(@RequestBody Map params ) { + recordDnbInstantService.fixWwEnergyData(params); + return AjaxResult.success(); + } + + + } diff --git a/op-modules/op-energy/src/main/java/com/op/energy/record/domain/RecordDnbInstant.java b/op-modules/op-energy/src/main/java/com/op/energy/record/domain/RecordDnbInstant.java index 6fad8b347..ceeeaa72b 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/record/domain/RecordDnbInstant.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/record/domain/RecordDnbInstant.java @@ -32,7 +32,6 @@ public class RecordDnbInstant extends BaseEntity { /** * 计量设备名称 */ - @Excel(name = "计量设备名称") private String monitorName; /** @@ -51,37 +50,31 @@ public class RecordDnbInstant extends BaseEntity { /** * A项电压 */ - @Excel(name = "A项电压") private BigDecimal vA; /** * B项电压 */ - @Excel(name = "B项电压") private BigDecimal vB; /** * C项电压 */ - @Excel(name = "C项电压") private BigDecimal vC; /** * A项电流 */ - @Excel(name = "A项电流") private BigDecimal iA; /** * B项电流 */ - @Excel(name = "B项电流") private BigDecimal iB; /** * C项电流 */ - @Excel(name = "C项电流") private BigDecimal iC; /** @@ -92,7 +85,6 @@ public class RecordDnbInstant extends BaseEntity { /** * 功率因数 */ - @Excel(name = "功率因数") private BigDecimal glys; /** @@ -104,25 +96,21 @@ public class RecordDnbInstant extends BaseEntity { /** * 有功功率 */ - @Excel(name = "有功功率") private BigDecimal activePower; /** * 无功功率 */ - @Excel(name = "无功功率") private BigDecimal reactivePower; /** * 电耗量 */ - @Excel(name = "电耗量") private BigDecimal consumption; /** * 采集方式 */ - @Excel(name = "采集方式") private Long collectType; /** diff --git a/op-modules/op-energy/src/main/java/com/op/energy/record/service/IRecordDnbInstantService.java b/op-modules/op-energy/src/main/java/com/op/energy/record/service/IRecordDnbInstantService.java index 837ea3fdb..dc67af770 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/record/service/IRecordDnbInstantService.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/record/service/IRecordDnbInstantService.java @@ -4,6 +4,7 @@ package com.op.energy.record.service; import com.op.energy.record.domain.RecordDnbInstant; import java.util.List; +import java.util.Map; /** * 电实时数据Service接口 @@ -89,4 +90,8 @@ public interface IRecordDnbInstantService { void getNhEnergyDetail(); void getNhEnergy(); + + List testGetNhEnergyDetail(Map params); + + void fixWwEnergyData(Map params); } diff --git a/op-modules/op-energy/src/main/java/com/op/energy/record/service/impl/RecordDnbInstantServiceImpl.java b/op-modules/op-energy/src/main/java/com/op/energy/record/service/impl/RecordDnbInstantServiceImpl.java index 113588c0a..517d274ba 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/record/service/impl/RecordDnbInstantServiceImpl.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/record/service/impl/RecordDnbInstantServiceImpl.java @@ -454,4 +454,46 @@ public class RecordDnbInstantServiceImpl implements IRecordDnbInstantService { return defaultValue; } } + + + @Override + public List testGetNhEnergyDetail(Map params) { + List list = new ArrayList<>(); + + /** + * 电压/电流 + * **/ + AjaxResult electricQuantityRes= remoteOpenService.getElectricQuantity(params); + + if(electricQuantityRes.isSuccess()){ + JSONObject resData = JSONObject.parseObject(JSON.toJSONString(electricQuantityRes.get(AjaxResult.DATA_TAG))); + JSONArray array = JSONArray.parseArray(resData.get("Data").toString()); + + for (int i = 0; i < array.size(); i++) { + RecordDnbInstant instant = new RecordDnbInstant(); + instant.setMonitorId(array.getJSONObject(i).getString("Address")); + instant.setZxyg(getSafeBigDecimal(array.getJSONObject(i), "ZYGDNSZ")); + instant.setCollectTime(DateUtils.dateTime("yyyy-MM-dd HH:mm", array.getJSONObject(i).getString("ReadingDate"))); + list.add(instant); + } + } + + return list; + + } + + @Override + @DS("#header.poolName") + public void fixWwEnergyData(Map params) { + //获取威伟电表 + BaseMonitorInfo query = new BaseMonitorInfo(); + query.setElectricityMeterType("2"); + List list = baseMonitorInfoMapper.selectBaseMonitorInfoList(query); + + for (BaseMonitorInfo info : list) { + params.put("monitorId", info.getMonitorId()); + reportPointDnbMapper.fixWwEnergyData(params); + } + + } } diff --git a/op-modules/op-energy/src/main/resources/mapper/base/BaseMonitorInfo1Mapper.xml b/op-modules/op-energy/src/main/resources/mapper/base/BaseMonitorInfo1Mapper.xml index b13249795..b792d0788 100644 --- a/op-modules/op-energy/src/main/resources/mapper/base/BaseMonitorInfo1Mapper.xml +++ b/op-modules/op-energy/src/main/resources/mapper/base/BaseMonitorInfo1Mapper.xml @@ -81,6 +81,7 @@ and room_code = #{roomCode} and address_code = #{addressCode} and conn_code = #{connCode} + and electricity_meter_type = #{electricityMeterType} diff --git a/op-modules/op-energy/src/main/resources/mapper/report/ReportPointDnbMapper.xml b/op-modules/op-energy/src/main/resources/mapper/report/ReportPointDnbMapper.xml index 4e9d9d6ad..712aa7eee 100644 --- a/op-modules/op-energy/src/main/resources/mapper/report/ReportPointDnbMapper.xml +++ b/op-modules/op-energy/src/main/resources/mapper/report/ReportPointDnbMapper.xml @@ -506,4 +506,67 @@ order by ert.pointTime asc + + + + INSERT INTO report_point_dnb + ( + monitor_id, monitor_name, begin_time, end_time, + record_time, expend, meter_value, collect_type + ) + SELECT + t.monitorId, t.monitorName, t.beginTime, t.endTime, + t.recordTime, t.expend, t.meterValue, t.collectType + FROM ( + + SELECT + #{item.monitorId,jdbcType=VARCHAR} AS monitorId, + #{item.monitorName,jdbcType=VARCHAR} AS monitorName, + #{item.beginTime,jdbcType=TIMESTAMP} AS beginTime, + #{item.endTime,jdbcType=TIMESTAMP} AS endTime, + GETDATE() AS recordTime, + #{item.expend,jdbcType=DECIMAL} AS expend, + #{item.meterValue,jdbcType=DECIMAL} AS meterValue, + '1' AS collectType + + ) t + + diff --git a/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java b/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java index ea361f333..1efa5f283 100644 --- a/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java +++ b/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java @@ -11,7 +11,9 @@ import org.springframework.stereotype.Component; import com.op.common.core.utils.StringUtils; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 定时任务调度测试 @@ -291,5 +293,23 @@ public class RyTask { logger.info("+++留样复检任务提醒++syncSendSampleCheckRemind+++++"); remoteQualityService.syncSendSampleCheckRemind(); } + + /**********修正威伟电表数据(有参)*********/ + public void syncFixWwEnergyData(String beginDate,String endDate){ + logger.info("+++修正威伟电表数据(有参)++syncFixWwEnergyData+++++"); + Map map = new HashMap<>(); + map.put("beginDate",beginDate); + map.put("endDate",endDate); + remoteEnergyService.syncFixWwEnergyData(map); + } + + /** 修正威伟电表数据(无参) **/ + public void syncFixWwEnergyData(){ + logger.info("+++修正威伟电表数据(无参)++syncFixWwEnergyData+++++"); + Map map = new HashMap<>(); + map.put("beginDate",""); + map.put("endDate",""); + remoteEnergyService.syncFixWwEnergyData(map); + } }