|
@@ -10,9 +10,8 @@ import com.persagy.apm.energy.report.monthly.config.function.model.Function;
|
|
|
import com.persagy.apm.energy.report.monthly.config.function.model.dto.QueryFunctionDTO;
|
|
|
import com.persagy.apm.energy.report.monthly.config.function.service.IFunctionService;
|
|
|
import com.persagy.apm.energy.report.monthly.functionvalue.model.FunctionValue;
|
|
|
-import com.persagy.apm.energy.report.monthly.functionvalue.model.dto.AddFunctionValueDTO;
|
|
|
+import com.persagy.apm.energy.report.monthly.functionvalue.model.dto.BatchDeleteFunctionValueDTO;
|
|
|
import com.persagy.apm.energy.report.monthly.functionvalue.model.dto.QueryFunctionValueDTO;
|
|
|
-import com.persagy.apm.energy.report.monthly.functionvalue.model.dto.UpdateFunctionValueDTO;
|
|
|
import com.persagy.apm.energy.report.monthly.functionvalue.service.IFunctionValueService;
|
|
|
import com.persagy.apm.energy.report.saasweb.model.vo.ReportProjectVO;
|
|
|
import com.persagy.apm.energy.report.saasweb.service.ISaasWebService;
|
|
@@ -22,10 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
|
|
|
@Service
|
|
|
public class IEnergyItemDataServiceImpl implements IEnergyItemDataService {
|
|
@@ -39,7 +35,7 @@ public class IEnergyItemDataServiceImpl implements IEnergyItemDataService {
|
|
|
@Autowired
|
|
|
private IFunctionValueService functionValueService;
|
|
|
|
|
|
- @Value("${group.code}")
|
|
|
+// @Value("${group.code}")
|
|
|
private String groupCode;
|
|
|
|
|
|
@Override
|
|
@@ -95,7 +91,6 @@ public class IEnergyItemDataServiceImpl implements IEnergyItemDataService {
|
|
|
for (Function function : functionList) {
|
|
|
EnergyItemInfoVo energyItemInfoVo = new EnergyItemInfoVo();
|
|
|
energyItemInfoVo.setItemId(function.getItemId());
|
|
|
- energyItemInfoVo.setFunctionId(function.getId());
|
|
|
energyItemInfoVo.setDataList(funcId_dateAndDataMap.get(function.getId()) == null ? new ArrayList<>() : funcId_dateAndDataMap.get(function.getId()));
|
|
|
resultList.add(energyItemInfoVo);
|
|
|
}
|
|
@@ -110,29 +105,48 @@ public class IEnergyItemDataServiceImpl implements IEnergyItemDataService {
|
|
|
public void saveEnergyItemData(SaveEnergyItemDataDTO saveEnergyItemDataDTO) {
|
|
|
try {
|
|
|
List<EnergyItemInfoVo> energyItemInfoVoList = saveEnergyItemDataDTO.getDataList();
|
|
|
+ Map<String, String> itemId_functionIdMap = getFunctionIdMap(saveEnergyItemDataDTO);
|
|
|
for (EnergyItemInfoVo energyItemInfoVo : energyItemInfoVoList) {
|
|
|
+ // 配置信息点id
|
|
|
+ String functionId = itemId_functionIdMap.get(energyItemInfoVo.getItemId());
|
|
|
List<EnergyItemDataVo> energyItemDataVos = energyItemInfoVo.getDataList();
|
|
|
+ List<Date> deleteDates = new ArrayList<>();
|
|
|
+ List<FunctionValue> functionValues = new ArrayList<>();
|
|
|
for (EnergyItemDataVo energyItemDataVo : energyItemDataVos) {
|
|
|
- if (StringUtils.isEmpty(energyItemDataVo.getId())) {
|
|
|
- AddFunctionValueDTO addFunctionValueDTO = new AddFunctionValueDTO();
|
|
|
- addFunctionValueDTO.setProjectId(saveEnergyItemDataDTO.getProjectId());
|
|
|
- addFunctionValueDTO.setFunctionId(energyItemInfoVo.getFunctionId());
|
|
|
- addFunctionValueDTO.setDataTime(DateUtils.str2Date(energyItemDataVo.getTime(), DateUtils.SDF_SECOND));
|
|
|
- addFunctionValueDTO.setValue(energyItemDataVo.getValue());
|
|
|
- functionValueService.createFunctionValue(addFunctionValueDTO);
|
|
|
- } else {
|
|
|
- UpdateFunctionValueDTO updateFunctionValueDTO = new UpdateFunctionValueDTO();
|
|
|
- updateFunctionValueDTO.setId(energyItemDataVo.getId());
|
|
|
- updateFunctionValueDTO.setProjectId(saveEnergyItemDataDTO.getProjectId());
|
|
|
- updateFunctionValueDTO.setFunctionId(energyItemInfoVo.getFunctionId());
|
|
|
- updateFunctionValueDTO.setDataTime(DateUtils.str2Date(energyItemDataVo.getTime(), DateUtils.SDF_SECOND));
|
|
|
- updateFunctionValueDTO.setValue(energyItemDataVo.getValue());
|
|
|
- functionValueService.updateFunctionValue(updateFunctionValueDTO);
|
|
|
- }
|
|
|
+ FunctionValue functionValue = new FunctionValue();
|
|
|
+ functionValue.setProjectId(saveEnergyItemDataDTO.getProjectId());
|
|
|
+ functionValue.setFunctionId(functionId);
|
|
|
+ functionValue.setDataTime(DateUtils.str2Date(energyItemDataVo.getTime(), DateUtils.SDF_SECOND));
|
|
|
+ functionValue.setValue(energyItemDataVo.getValue());
|
|
|
+ deleteDates.add(functionValue.getDataTime());
|
|
|
+ functionValues.add(functionValue);
|
|
|
}
|
|
|
+ BatchDeleteFunctionValueDTO batchDeleteFunctionValueDTO = new BatchDeleteFunctionValueDTO();
|
|
|
+ batchDeleteFunctionValueDTO.setProjectId(saveEnergyItemDataDTO.getProjectId());
|
|
|
+ batchDeleteFunctionValueDTO.setFunctionId(functionId);
|
|
|
+ batchDeleteFunctionValueDTO.setDataTimeList(deleteDates);
|
|
|
+ functionValueService.batchDeleteFunctionValue(batchDeleteFunctionValueDTO);
|
|
|
+ functionValueService.batchCreateFunctionValue(functionValues);
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private Map<String, String> getFunctionIdMap(SaveEnergyItemDataDTO saveEnergyItemDataDTO) {
|
|
|
+ QueryFunctionDTO queryFunctionDTO = new QueryFunctionDTO();
|
|
|
+ queryFunctionDTO.setEnergyType(saveEnergyItemDataDTO.getEnergyType());
|
|
|
+ queryFunctionDTO.setFunctionType(saveEnergyItemDataDTO.getFunctionType());
|
|
|
+ queryFunctionDTO.setBuildingType(saveEnergyItemDataDTO.getBuildingType());
|
|
|
+ List<Function> functionList = functionService.queryFunctionList(queryFunctionDTO);
|
|
|
+ if (CollectionUtils.isEmpty(functionList)) {
|
|
|
+ return new HashMap<>();
|
|
|
+ }
|
|
|
+ Map<String, String> resultMap = new HashMap<>();
|
|
|
+ for (Function function : functionList) {
|
|
|
+ resultMap.put(function.getItemId(), function.getId());
|
|
|
+ }
|
|
|
+ return resultMap;
|
|
|
+ }
|
|
|
+
|
|
|
}
|