pcs 支路
This commit is contained in:
@ -1,23 +1,22 @@
|
|||||||
package com.xzzn.web.controller.ems;
|
package com.xzzn.web.controller.ems;
|
||||||
|
|
||||||
import com.alibaba.druid.support.json.JSONParser;
|
|
||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.alibaba.fastjson2.JSONArray;
|
import com.alibaba.fastjson2.JSONArray;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.alibaba.fastjson2.TypeReference;
|
import com.alibaba.fastjson2.TypeReference;
|
||||||
import com.fasterxml.jackson.databind.json.JsonMapper;
|
|
||||||
import com.xzzn.common.utils.DateUtils;
|
import com.xzzn.common.utils.DateUtils;
|
||||||
import com.xzzn.common.utils.StringUtils;
|
import com.xzzn.common.utils.StringUtils;
|
||||||
import com.xzzn.ems.domain.EmsBatteryData;
|
import com.xzzn.ems.domain.EmsBatteryData;
|
||||||
import com.xzzn.ems.domain.EmsMqttMessage;
|
import com.xzzn.ems.domain.EmsMqttMessage;
|
||||||
|
import com.xzzn.ems.domain.EmsPcsBranchData;
|
||||||
import com.xzzn.ems.domain.EmsPcsData;
|
import com.xzzn.ems.domain.EmsPcsData;
|
||||||
import com.xzzn.ems.service.IEmsBatteryDataService;
|
import com.xzzn.ems.service.IEmsBatteryDataService;
|
||||||
import com.xzzn.ems.service.IEmsMqttMessageService;
|
import com.xzzn.ems.service.IEmsMqttMessageService;
|
||||||
|
import com.xzzn.ems.service.IEmsPcsBranchDataService;
|
||||||
import com.xzzn.ems.service.IEmsPcsDataService;
|
import com.xzzn.ems.service.IEmsPcsDataService;
|
||||||
import com.xzzn.framework.manager.MqttLifecycleManager;
|
import com.xzzn.framework.manager.MqttLifecycleManager;
|
||||||
import com.xzzn.framework.web.service.MqttPublisher;
|
import com.xzzn.framework.web.service.MqttPublisher;
|
||||||
import com.xzzn.framework.web.service.MqttSubscriber;
|
import com.xzzn.framework.web.service.MqttSubscriber;
|
||||||
import org.apache.coyote.http11.Http11NioProtocol;
|
|
||||||
import org.apache.juli.logging.Log;
|
import org.apache.juli.logging.Log;
|
||||||
import org.apache.juli.logging.LogFactory;
|
import org.apache.juli.logging.LogFactory;
|
||||||
import org.eclipse.paho.client.mqttv3.IMqttMessageListener;
|
import org.eclipse.paho.client.mqttv3.IMqttMessageListener;
|
||||||
@ -48,6 +47,9 @@ public class MqttMessageController implements MqttPublisher, MqttSubscriber {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IEmsPcsDataService emsPcsDataService;
|
private IEmsPcsDataService emsPcsDataService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IEmsPcsBranchDataService emsPcsBranchDataService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public MqttMessageController(MqttLifecycleManager mqttLifecycleManager) {
|
public MqttMessageController(MqttLifecycleManager mqttLifecycleManager) {
|
||||||
this.mqttLifecycleManager = mqttLifecycleManager;
|
this.mqttLifecycleManager = mqttLifecycleManager;
|
||||||
@ -91,6 +93,7 @@ public class MqttMessageController implements MqttPublisher, MqttSubscriber {
|
|||||||
// 业务处理逻辑
|
// 业务处理逻辑
|
||||||
handleFxData(payload);
|
handleFxData(payload);
|
||||||
|
|
||||||
|
|
||||||
EmsMqttMessage mqttMessage = new EmsMqttMessage();
|
EmsMqttMessage mqttMessage = new EmsMqttMessage();
|
||||||
mqttMessage.setMqttTopic(topic);
|
mqttMessage.setMqttTopic(topic);
|
||||||
mqttMessage.setMqttMessage(payload);
|
mqttMessage.setMqttMessage(payload);
|
||||||
@ -146,7 +149,14 @@ public class MqttMessageController implements MqttPublisher, MqttSubscriber {
|
|||||||
if (deviceId.contains("BMS")) {
|
if (deviceId.contains("BMS")) {
|
||||||
log.info("====================");
|
log.info("====================");
|
||||||
log.info("BMS data:"+ jsonData);
|
log.info("BMS data:"+ jsonData);
|
||||||
|
//BMS 电池簇
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//单体电池
|
||||||
Map<String, Map<String, Object>> records = processData(JSON.parseObject(jsonData, new TypeReference<Map<String, Object>>() {}));
|
Map<String, Map<String, Object>> records = processData(JSON.parseObject(jsonData, new TypeReference<Map<String, Object>>() {}));
|
||||||
List<EmsBatteryData> list = new ArrayList<>();
|
List<EmsBatteryData> list = new ArrayList<>();
|
||||||
//单体电池
|
//单体电池
|
||||||
@ -182,49 +192,49 @@ public class MqttMessageController implements MqttPublisher, MqttSubscriber {
|
|||||||
|
|
||||||
log.info("PCS data:"+ jsonData);
|
log.info("PCS data:"+ jsonData);
|
||||||
//pcs
|
//pcs
|
||||||
EmsPcsData data = new EmsPcsData();
|
EmsPcsData pcsData = new EmsPcsData();
|
||||||
// 时间与状态类字段
|
// 时间与状态类字段
|
||||||
data.setDataUpdateTime(new Date());
|
pcsData.setDataUpdateTime(new Date());
|
||||||
data.setWorkStatus("A");
|
pcsData.setWorkStatus("A");
|
||||||
data.setGridStatus("B");
|
pcsData.setGridStatus("B");
|
||||||
data.setDeviceStatus("C");
|
pcsData.setDeviceStatus("C");
|
||||||
data.setControlMode("D");
|
pcsData.setControlMode("D");
|
||||||
|
|
||||||
// 功率与能量类字段
|
// 功率与能量类字段
|
||||||
data.setTotalActivePower(BigDecimal.ZERO);
|
pcsData.setTotalActivePower(BigDecimal.ZERO);
|
||||||
data.setDailyAcChargeEnergy(BigDecimal.ZERO);
|
pcsData.setDailyAcChargeEnergy(BigDecimal.ZERO);
|
||||||
data.setTotalReactivePower(BigDecimal.ZERO);
|
pcsData.setTotalReactivePower(BigDecimal.ZERO);
|
||||||
data.setDailyAcDischargeEnergy(BigDecimal.ZERO);
|
pcsData.setDailyAcDischargeEnergy(BigDecimal.ZERO);
|
||||||
data.setTotalApparentPower(BigDecimal.ZERO);
|
pcsData.setTotalApparentPower(BigDecimal.ZERO);
|
||||||
data.setTotalPowerFactor(BigDecimal.ZERO);
|
pcsData.setTotalPowerFactor(BigDecimal.ZERO);
|
||||||
data.setDcPower(BigDecimal.ZERO);
|
pcsData.setDcPower(BigDecimal.ZERO);
|
||||||
data.setTotalAcChargeEnergy(BigDecimal.ZERO);
|
pcsData.setTotalAcChargeEnergy(BigDecimal.ZERO);
|
||||||
data.setTotalAcDischargeEnergy(BigDecimal.ZERO);
|
pcsData.setTotalAcDischargeEnergy(BigDecimal.ZERO);
|
||||||
data.setAcChargeActivePower(BigDecimal.ZERO);
|
pcsData.setAcChargeActivePower(BigDecimal.ZERO);
|
||||||
data.setAcCapacitiveReactivePower(BigDecimal.ZERO);
|
pcsData.setAcCapacitiveReactivePower(BigDecimal.ZERO);
|
||||||
data.setAcDischargeActivePower(BigDecimal.ZERO);
|
pcsData.setAcDischargeActivePower(BigDecimal.ZERO);
|
||||||
data.setAcInductiveReactivePower(BigDecimal.ZERO);
|
pcsData.setAcInductiveReactivePower(BigDecimal.ZERO);
|
||||||
data.setMaxCapacitivePowerCapacity(BigDecimal.ZERO);
|
pcsData.setMaxCapacitivePowerCapacity(BigDecimal.ZERO);
|
||||||
data.setMaxInductivePowerCapacity(BigDecimal.ZERO);
|
pcsData.setMaxInductivePowerCapacity(BigDecimal.ZERO);
|
||||||
data.setMaxChargePowerCapacity(BigDecimal.ZERO);
|
pcsData.setMaxChargePowerCapacity(BigDecimal.ZERO);
|
||||||
data.setMaxDischargePowerCapacity(BigDecimal.ZERO);
|
pcsData.setMaxDischargePowerCapacity(BigDecimal.ZERO);
|
||||||
|
|
||||||
|
|
||||||
// 温度与环境参数
|
// 温度与环境参数
|
||||||
data.setPcsModuleTemperature(BigDecimal.ZERO);
|
pcsData.setPcsModuleTemperature(BigDecimal.ZERO);
|
||||||
data.setPcsEnvironmentTemperature(BigDecimal.ZERO);
|
pcsData.setPcsEnvironmentTemperature(BigDecimal.ZERO);
|
||||||
data.setAcFrequency(BigDecimal.ZERO);
|
pcsData.setAcFrequency(BigDecimal.ZERO);
|
||||||
|
|
||||||
// 状态指示类
|
// 状态指示类
|
||||||
data.setBranchStatus("A");
|
pcsData.setBranchStatus("A");
|
||||||
data.setDischargeStatus("A");
|
pcsData.setDischargeStatus("A");
|
||||||
data.setAcSwitchStatus("A");
|
pcsData.setAcSwitchStatus("A");
|
||||||
data.setDcSwitchStatus("A");
|
pcsData.setDcSwitchStatus("A");
|
||||||
data.setRemoteControlStatus("A");
|
pcsData.setRemoteControlStatus("A");
|
||||||
|
|
||||||
// 直流参数
|
// 直流参数
|
||||||
data.setDcVoltage(BigDecimal.ZERO);
|
pcsData.setDcVoltage(BigDecimal.ZERO);
|
||||||
data.setDcCurrent(BigDecimal.ZERO);
|
pcsData.setDcCurrent(BigDecimal.ZERO);
|
||||||
|
|
||||||
// 系统管理字段
|
// 系统管理字段
|
||||||
// data.setCreateBy(BigDecimal.ZERO);
|
// data.setCreateBy(BigDecimal.ZERO);
|
||||||
@ -232,17 +242,57 @@ public class MqttMessageController implements MqttPublisher, MqttSubscriber {
|
|||||||
// data.setUpdateBy(BigDecimal.ZERO);
|
// data.setUpdateBy(BigDecimal.ZERO);
|
||||||
// data.setUpdateTime(BigDecimal.ZERO);
|
// data.setUpdateTime(BigDecimal.ZERO);
|
||||||
// data.setRemark(BigDecimal.ZERO);
|
// data.setRemark(BigDecimal.ZERO);
|
||||||
data.setSiteId(("021"));
|
pcsData.setSiteId("021_FXX_01");
|
||||||
data.setDeviceId(deviceId);
|
pcsData.setDeviceId(deviceId);
|
||||||
data.setDateMonth(Long.parseLong("6"));
|
pcsData.setDateMonth(DateUtils.getNowMonthLong());
|
||||||
data.setDateDay(Long.parseLong("28"));
|
pcsData.setDateDay(DateUtils.getNowDayLong());
|
||||||
|
|
||||||
data.setDeviceId(deviceId);
|
pcsData.setDeviceId(deviceId);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
emsPcsDataService.insertEmsPcsData(data);
|
emsPcsDataService.insertEmsPcsData(pcsData);
|
||||||
|
|
||||||
|
|
||||||
|
Map<String, Map<String, Object>> records = processDataPrefix(JSON.parseObject(jsonData, new TypeReference<Map<String, Object>>() {}));
|
||||||
|
List<EmsPcsBranchData> list = new ArrayList<>();
|
||||||
|
|
||||||
|
//单体电池
|
||||||
|
for (Map.Entry<String, Map<String, Object>> record : records.entrySet()) {
|
||||||
|
String recordId = record.getKey();
|
||||||
|
Map<String, Object> fields = record.getValue();
|
||||||
|
|
||||||
|
EmsPcsBranchData data = new EmsPcsBranchData();
|
||||||
|
data.setDeviceId(recordId);
|
||||||
|
data.setDcPower(BigDecimal.ZERO);
|
||||||
|
data.setDcVoltage(BigDecimal.ZERO);
|
||||||
|
data.setDcCurrent(BigDecimal.ZERO);
|
||||||
|
data.setGridUVoltage(BigDecimal.ZERO);
|
||||||
|
data.setGridVVoltage(BigDecimal.ZERO);
|
||||||
|
data.setGridWVoltage(BigDecimal.ZERO);
|
||||||
|
data.setOutputUCurrent(BigDecimal.ZERO);
|
||||||
|
data.setOutputVCurrent(BigDecimal.ZERO);
|
||||||
|
data.setOutputWCurrent(BigDecimal.ZERO);
|
||||||
|
data.setApparentPower(BigDecimal.ZERO);
|
||||||
|
data.setActivePower(BigDecimal.ZERO);
|
||||||
|
data.setReactivePower(BigDecimal.ZERO);
|
||||||
|
data.setPowerFactor(BigDecimal.ZERO);
|
||||||
|
data.setFrequency(BigDecimal.ZERO);
|
||||||
|
data.setInternalTemp(BigDecimal.ZERO);
|
||||||
|
data.setuIgbtTemp(BigDecimal.ZERO);
|
||||||
|
data.setvIgbtTemp(BigDecimal.ZERO);
|
||||||
|
data.setwIgbtTemp(BigDecimal.ZERO);
|
||||||
|
data.setAvailablePower(BigDecimal.ZERO);
|
||||||
|
data.setTotalLoadRatio(BigDecimal.ZERO);
|
||||||
|
data.setAcLeakageCurrent(BigDecimal.ZERO);
|
||||||
|
data.setInsulationResistance(BigDecimal.ZERO);
|
||||||
|
|
||||||
|
list.add(data);
|
||||||
|
}
|
||||||
|
if (list.size() > 0 ) {
|
||||||
|
emsPcsBranchDataService.insertEmsPcsBranchDataList(list);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -275,4 +325,31 @@ public class MqttMessageController implements MqttPublisher, MqttSubscriber {
|
|||||||
}
|
}
|
||||||
return records;
|
return records;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static Map<String, Map<String, Object>> processDataPrefix(Map<String, Object> rawData) {
|
||||||
|
Map<String, Map<String, Object>> records = new HashMap<>();
|
||||||
|
|
||||||
|
for (Map.Entry<String, Object> entry : rawData.entrySet()) {
|
||||||
|
String key = entry.getKey();
|
||||||
|
// 确保键长度足够
|
||||||
|
if (key.length() < 3) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 提取记录ID(前3位)
|
||||||
|
String recordId = key.substring(0, 3);
|
||||||
|
if (!recordId.startsWith("DY")) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 提取字段类型(剩余部分)
|
||||||
|
String fieldType = key.substring(3);
|
||||||
|
|
||||||
|
// 初始化记录
|
||||||
|
records.putIfAbsent(recordId, new HashMap<>());
|
||||||
|
// 存入字段值
|
||||||
|
records.get(recordId).put(fieldType, entry.getValue());
|
||||||
|
}
|
||||||
|
return records;
|
||||||
|
}
|
||||||
}
|
}
|
@ -8,6 +8,7 @@ import java.time.LocalDateTime;
|
|||||||
import java.time.LocalTime;
|
import java.time.LocalTime;
|
||||||
import java.time.ZoneId;
|
import java.time.ZoneId;
|
||||||
import java.time.ZonedDateTime;
|
import java.time.ZonedDateTime;
|
||||||
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import org.apache.commons.lang3.time.DateFormatUtils;
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
||||||
|
|
||||||
@ -188,4 +189,15 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
|
|||||||
ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
|
ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
|
||||||
return Date.from(zdt.toInstant());
|
return Date.from(zdt.toInstant());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Long getNowMonthLong() {
|
||||||
|
Calendar calendar = Calendar.getInstance();
|
||||||
|
long month = (long) calendar.get(Calendar.MONTH) + 1; // 月份从0开始,所以要加1
|
||||||
|
return month;
|
||||||
|
}
|
||||||
|
public static Long getNowDayLong() {
|
||||||
|
Calendar calendar = Calendar.getInstance();
|
||||||
|
long date = calendar.get(Calendar.DAY_OF_MONTH); // 月份从0开始,所以要加1
|
||||||
|
return date;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -68,4 +68,6 @@ public interface EmsPcsBranchDataMapper
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public List<PcsBranchInfo> getPcsBranchInfoList(@Param("siteId")String siteId, @Param("deviceId")String deviceId);
|
public List<PcsBranchInfo> getPcsBranchInfoList(@Param("siteId")String siteId, @Param("deviceId")String deviceId);
|
||||||
|
|
||||||
|
int insertPcsBranchDataList(List<EmsPcsBranchData> list);
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,63 @@
|
|||||||
|
package com.xzzn.ems.service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import com.xzzn.ems.domain.EmsPcsBranchData;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* pcs支路数据Service接口
|
||||||
|
*
|
||||||
|
* @author xzzn
|
||||||
|
* @date 2025-06-29
|
||||||
|
*/
|
||||||
|
public interface IEmsPcsBranchDataService
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 查询pcs支路数据
|
||||||
|
*
|
||||||
|
* @param id pcs支路数据主键
|
||||||
|
* @return pcs支路数据
|
||||||
|
*/
|
||||||
|
public EmsPcsBranchData selectEmsPcsBranchDataById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询pcs支路数据列表
|
||||||
|
*
|
||||||
|
* @param emsPcsBranchData pcs支路数据
|
||||||
|
* @return pcs支路数据集合
|
||||||
|
*/
|
||||||
|
public List<EmsPcsBranchData> selectEmsPcsBranchDataList(EmsPcsBranchData emsPcsBranchData);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增pcs支路数据
|
||||||
|
*
|
||||||
|
* @param emsPcsBranchData pcs支路数据
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int insertEmsPcsBranchData(EmsPcsBranchData emsPcsBranchData);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改pcs支路数据
|
||||||
|
*
|
||||||
|
* @param emsPcsBranchData pcs支路数据
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int updateEmsPcsBranchData(EmsPcsBranchData emsPcsBranchData);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除pcs支路数据
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的pcs支路数据主键集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteEmsPcsBranchDataByIds(Long[] ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除pcs支路数据信息
|
||||||
|
*
|
||||||
|
* @param id pcs支路数据主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public int deleteEmsPcsBranchDataById(Long id);
|
||||||
|
|
||||||
|
int insertEmsPcsBranchDataList(List<EmsPcsBranchData> list);
|
||||||
|
}
|
@ -0,0 +1,105 @@
|
|||||||
|
package com.xzzn.ems.service.impl;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import com.xzzn.common.utils.DateUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import com.xzzn.ems.mapper.EmsPcsBranchDataMapper;
|
||||||
|
import com.xzzn.ems.domain.EmsPcsBranchData;
|
||||||
|
import com.xzzn.ems.service.IEmsPcsBranchDataService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* pcs支路数据Service业务层处理
|
||||||
|
*
|
||||||
|
* @author xzzn
|
||||||
|
* @date 2025-06-29
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class EmsPcsBranchDataServiceImpl implements IEmsPcsBranchDataService
|
||||||
|
{
|
||||||
|
@Autowired
|
||||||
|
private EmsPcsBranchDataMapper emsPcsBranchDataMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询pcs支路数据
|
||||||
|
*
|
||||||
|
* @param id pcs支路数据主键
|
||||||
|
* @return pcs支路数据
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public EmsPcsBranchData selectEmsPcsBranchDataById(Long id)
|
||||||
|
{
|
||||||
|
return emsPcsBranchDataMapper.selectEmsPcsBranchDataById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询pcs支路数据列表
|
||||||
|
*
|
||||||
|
* @param emsPcsBranchData pcs支路数据
|
||||||
|
* @return pcs支路数据
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<EmsPcsBranchData> selectEmsPcsBranchDataList(EmsPcsBranchData emsPcsBranchData)
|
||||||
|
{
|
||||||
|
return emsPcsBranchDataMapper.selectEmsPcsBranchDataList(emsPcsBranchData);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增pcs支路数据
|
||||||
|
*
|
||||||
|
* @param emsPcsBranchData pcs支路数据
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int insertEmsPcsBranchData(EmsPcsBranchData emsPcsBranchData)
|
||||||
|
{
|
||||||
|
emsPcsBranchData.setCreateTime(DateUtils.getNowDate());
|
||||||
|
return emsPcsBranchDataMapper.insertEmsPcsBranchData(emsPcsBranchData);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改pcs支路数据
|
||||||
|
*
|
||||||
|
* @param emsPcsBranchData pcs支路数据
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int updateEmsPcsBranchData(EmsPcsBranchData emsPcsBranchData)
|
||||||
|
{
|
||||||
|
emsPcsBranchData.setUpdateTime(DateUtils.getNowDate());
|
||||||
|
return emsPcsBranchDataMapper.updateEmsPcsBranchData(emsPcsBranchData);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除pcs支路数据
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的pcs支路数据主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int deleteEmsPcsBranchDataByIds(Long[] ids)
|
||||||
|
{
|
||||||
|
return emsPcsBranchDataMapper.deleteEmsPcsBranchDataByIds(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除pcs支路数据信息
|
||||||
|
*
|
||||||
|
* @param id pcs支路数据主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int deleteEmsPcsBranchDataById(Long id)
|
||||||
|
{
|
||||||
|
return emsPcsBranchDataMapper.deleteEmsPcsBranchDataById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int insertEmsPcsBranchDataList(List<EmsPcsBranchData> list) {
|
||||||
|
for (EmsPcsBranchData item : list) {
|
||||||
|
item.setCreateTime(DateUtils.getNowDate());
|
||||||
|
}
|
||||||
|
return emsPcsBranchDataMapper.insertPcsBranchDataList(list);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -216,4 +216,77 @@
|
|||||||
WHERE rn = 1
|
WHERE rn = 1
|
||||||
ORDER BY tmp.branch_id;
|
ORDER BY tmp.branch_id;
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<insert id="insertPcsBranchDataList" parameterType="java.util.List">
|
||||||
|
INSERT INTO ems_pcs_branch_data (
|
||||||
|
discharge_status,
|
||||||
|
dc_power,
|
||||||
|
dc_voltage,
|
||||||
|
dc_current,
|
||||||
|
site_id,
|
||||||
|
device_id,
|
||||||
|
branch_id,
|
||||||
|
grid_u_voltage,
|
||||||
|
grid_v_voltage,
|
||||||
|
grid_w_voltage,
|
||||||
|
output_u_current,
|
||||||
|
output_v_current,
|
||||||
|
output_w_current,
|
||||||
|
apparent_power,
|
||||||
|
active_power,
|
||||||
|
reactive_power,
|
||||||
|
power_factor,
|
||||||
|
frequency,
|
||||||
|
internal_temp,
|
||||||
|
u_igbt_temp,
|
||||||
|
v_igbt_temp,
|
||||||
|
w_igbt_temp,
|
||||||
|
grid_status,
|
||||||
|
available_power,
|
||||||
|
total_load_ratio,
|
||||||
|
ac_leakage_current,
|
||||||
|
insulation_resistance,
|
||||||
|
create_by,
|
||||||
|
create_time,
|
||||||
|
update_by,
|
||||||
|
update_time,
|
||||||
|
remark
|
||||||
|
) VALUES
|
||||||
|
<foreach collection="list" item="item" separator=",">
|
||||||
|
(
|
||||||
|
#{item.dischargeStatus},
|
||||||
|
#{item.dcPower},
|
||||||
|
#{item.dcVoltage},
|
||||||
|
#{item.dcCurrent},
|
||||||
|
#{item.siteId},
|
||||||
|
#{item.deviceId},
|
||||||
|
#{item.branchId},
|
||||||
|
#{item.gridUVoltage},
|
||||||
|
#{item.gridVVoltage},
|
||||||
|
#{item.gridWVoltage},
|
||||||
|
#{item.outputUCurrent},
|
||||||
|
#{item.outputVCurrent},
|
||||||
|
#{item.outputWCurrent},
|
||||||
|
#{item.apparentPower},
|
||||||
|
#{item.activePower},
|
||||||
|
#{item.reactivePower},
|
||||||
|
#{item.powerFactor},
|
||||||
|
#{item.frequency},
|
||||||
|
#{item.internalTemp},
|
||||||
|
#{item.uIgbtTemp},
|
||||||
|
#{item.vIgbtTemp},
|
||||||
|
#{item.wIgbtTemp},
|
||||||
|
#{item.gridStatus},
|
||||||
|
#{item.availablePower},
|
||||||
|
#{item.totalLoadRatio},
|
||||||
|
#{item.acLeakageCurrent},
|
||||||
|
#{item.insulationResistance},
|
||||||
|
#{item.createBy},
|
||||||
|
#{item.createTime},
|
||||||
|
#{item.updateBy},
|
||||||
|
#{item.updateTime},
|
||||||
|
#{item.remark}
|
||||||
|
)
|
||||||
|
</foreach>
|
||||||
|
</insert>
|
||||||
</mapper>
|
</mapper>
|
Reference in New Issue
Block a user