Browse Source

Merge remote-tracking branch 'origin/master'

zhongwei
yang_shj 7 months ago
parent
commit
df660998e6
  1. 25
      hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/operation/home/impl/RealTargetServiceImpl.java
  2. 8
      hzims-service/operational/src/main/java/com/hnac/hzims/operational/defect/service/impl/DefectCheckServiceImpl.java

25
hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/operation/home/impl/RealTargetServiceImpl.java

@ -35,6 +35,7 @@ import com.hnac.hzinfo.datasearch.real.po.RealDataSearchPO;
import com.hnac.hzinfo.sdk.analyse.po.MultiAnalyzeCodePO; import com.hnac.hzinfo.sdk.analyse.po.MultiAnalyzeCodePO;
import com.hnac.hzinfo.sdk.core.response.HzPage; import com.hnac.hzinfo.sdk.core.response.HzPage;
import com.hnac.hzinfo.sdk.core.response.Result; import com.hnac.hzinfo.sdk.core.response.Result;
import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
@ -53,6 +54,7 @@ import java.math.RoundingMode;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
@ -112,7 +114,12 @@ public class RealTargetServiceImpl implements RealTargetService {
private final static String loadwater_level_key = "hzims:operation:loadwater:level:key"; private final static String loadwater_level_key = "hzims:operation:loadwater:level:key";
private final static String load_photovoltaic_real_key = "hzims:operation:photovoltaic:real:key"; private final static String load_photovoltaic_real_key = "hzims:operation:photovoltaic:real:key";
private final static String load_photovoltaic_target_key = "hzims:operation:photovoltaic:target:key"; private final static String load_photovoltaic_target_key = "hzims:operation:photovoltaic:target:key";
@Getter
private static final ThreadPoolExecutor fixedThreadExecutor;
static {
ThreadFactory threadFactory = Executors.defaultThreadFactory();
fixedThreadExecutor = new ThreadPoolExecutor(5, 5, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingDeque(), threadFactory);
}
@Override @Override
public void loadEmInfo(String param) { public void loadEmInfo(String param) {
@ -1211,6 +1218,9 @@ public class RealTargetServiceImpl implements RealTargetService {
*/ */
@Override @Override
public void loadPowerData(String param, List<Integer> types, Integer serveType, int year) { public void loadPowerData(String param, List<Integer> types, Integer serveType, int year) {
Long time=System.currentTimeMillis();
System.out.println("近年发电量接口耗时测试开始=======================");
log.info("近年发电量接口耗时测试开始=======================");
// 站点查询 // 站点查询
List<StationEntity> stationList = stationService.list(new LambdaQueryWrapper<StationEntity>() {{ List<StationEntity> stationList = stationService.list(new LambdaQueryWrapper<StationEntity>() {{
eq(StationEntity::getDataOrigin,"0"); eq(StationEntity::getDataOrigin,"0");
@ -1235,7 +1245,10 @@ public class RealTargetServiceImpl implements RealTargetService {
String start = DateUtil.format(calendar.getTime(),DateUtil.PATTERN_DATE) + " 00:00:00"; String start = DateUtil.format(calendar.getTime(),DateUtil.PATTERN_DATE) + " 00:00:00";
// 存储数据map :<站点id,<月份,发电量>> // 存储数据map :<站点id,<月份,发电量>>
Map<Long, Map<String, Float>> powerMap = new HashMap<>(); Map<Long, Map<String, Float>> powerMap = new HashMap<>();
Long time2=System.currentTimeMillis();
log.info("近年发电量接口,数据组装"+(time2-time));
stationList.forEach(station -> { stationList.forEach(station -> {
fixedThreadExecutor.execute(()->{
// 站点设备集合 // 站点设备集合
List<EminfoAndEmParamVo> stationDevices = devices.stream().filter(device -> device.getCreateDept().equals(station.getRefDept())).collect(Collectors.toList()); List<EminfoAndEmParamVo> stationDevices = devices.stream().filter(device -> device.getCreateDept().equals(station.getRefDept())).collect(Collectors.toList());
log.error("load_power_data station :" + station.getCode() + "==== device :" + stationDevices ); log.error("load_power_data station :" + station.getCode() + "==== device :" + stationDevices );
@ -1244,8 +1257,11 @@ public class RealTargetServiceImpl implements RealTargetService {
return; return;
} }
powerMap.put(station.getId(),generateMap); powerMap.put(station.getId(),generateMap);
});
}); });
redisTemplate.opsForValue().set(recent_year_power_data, powerMap); redisTemplate.opsForValue().set(recent_year_power_data, powerMap);
Long time3=System.currentTimeMillis();
log.info("近年发电量数据接口,总耗时:"+(time3-time));
} }
/** /**
@ -1322,6 +1338,7 @@ public class RealTargetServiceImpl implements RealTargetService {
*/ */
private Map<String, Float> getGenerateYear(StationEntity station,List<EminfoAndEmParamVo> devices, String start, String end) { private Map<String, Float> getGenerateYear(StationEntity station,List<EminfoAndEmParamVo> devices, String start, String end) {
List<PowerMonthVo> datas = new ArrayList<>(); List<PowerMonthVo> datas = new ArrayList<>();
long l = System.currentTimeMillis();
// 设备采集发电量 // 设备采集发电量
if(CollectionUtil.isNotEmpty(devices)){ if(CollectionUtil.isNotEmpty(devices)){
devices.forEach(device->{ devices.forEach(device->{
@ -1342,11 +1359,17 @@ public class RealTargetServiceImpl implements RealTargetService {
}).collect(Collectors.toList())); }).collect(Collectors.toList()));
}); });
} }
long l2 = System.currentTimeMillis();
log.info("getGenerateYear接口,"+station.getName()+"-设备采集发电量数据耗时:"+(l2-l));
// 补充填报数据 // 补充填报数据
datas.addAll(this.generateFill(station,start,end)); datas.addAll(this.generateFill(station,start,end));
long l3 = System.currentTimeMillis();
log.info("getGenerateYear接口,"+station.getName()+":补充填报数据"+(l3-l2));
if(CollectionUtil.isEmpty(datas)){ if(CollectionUtil.isEmpty(datas)){
return null; return null;
} }
long l4 = System.currentTimeMillis();
log.info("getGenerateYear接口,"+station.getName()+":接口总耗时"+(l4-l));
return datas.stream().collect(Collectors.toMap(PowerMonthVo::getStrMonth, PowerMonthVo::getPower, Float::sum)); return datas.stream().collect(Collectors.toMap(PowerMonthVo::getStrMonth, PowerMonthVo::getPower, Float::sum));
} }
/** /**

8
hzims-service/operational/src/main/java/com/hnac/hzims/operational/defect/service/impl/DefectCheckServiceImpl.java

@ -166,7 +166,15 @@ public class DefectCheckServiceImpl extends BaseServiceImpl<OperPhenomenonMapper
); );
String suffix = String.format(String.format("%03d", ticketList.size() + 1)); String suffix = String.format(String.format("%03d", ticketList.size() + 1));
String result = stationR.getData().getSignage() + yearMonth + suffix; String result = stationR.getData().getSignage() + yearMonth + suffix;
OperPhenomenonEntity operPhenomenonEntity = this.getOne(
Wrappers.<OperPhenomenonEntity>lambdaQuery().eq(OperPhenomenonEntity::getDefectCode, result)
.last("limit 1;")
);
if (ObjectUtil.isNotEmpty(operPhenomenonEntity)){
suffix= String.format(String.format("%03d", ticketList.size() + 10));
result= stationR.getData().getSignage() + yearMonth + suffix;
}
// 缺陷编码 : 按项目+年+月+序号 // 缺陷编码 : 按项目+年+月+序号
if (Func.isNotEmpty(result)) { if (Func.isNotEmpty(result)) {
entity.setDefectCode(result); entity.setDefectCode(result);

Loading…
Cancel
Save