From 086c2a6f5c6b1aba68e8c69abe3efefb57ea161d Mon Sep 17 00:00:00 2001 From: ty <1577900710@qq.com> Date: Wed, 24 Apr 2024 19:24:22 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=EF=BC=9A=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E7=A5=A8=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ticket/twoTicket/constant/TicketConstant.java | 2 +- .../service/impl/FirstWorkTicketServiceImpl.java | 4 +++- .../com/hnac/hzims/ticket/utils/MergeDocUtils.java | 5 +++-- .../com/hnac/hzims/ticket/utils/ObjectUtils.java | 12 ++++++------ .../template/水力机械工作票模版.docx | Bin 36398 -> 36689 bytes 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/constant/TicketConstant.java b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/constant/TicketConstant.java index c374b59..db0e96e 100644 --- a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/constant/TicketConstant.java +++ b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/constant/TicketConstant.java @@ -12,7 +12,7 @@ public class TicketConstant { /** * window操作系统工作票访问路径 */ - public static final String TICKET_WINDOW_PATH = "E:/project/HZIMS/hzims-service/ticket/src/main/resources/template/"; + public static final String TICKET_WINDOW_PATH = "D:/Java/hzims-back/hzims-service/ticket/src/main/resources/template/"; /** * Liunx操作系统工作票访问路径 diff --git a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/service/impl/FirstWorkTicketServiceImpl.java b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/service/impl/FirstWorkTicketServiceImpl.java index 41d0b30..4ff1b08 100644 --- a/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/service/impl/FirstWorkTicketServiceImpl.java +++ b/hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/service/impl/FirstWorkTicketServiceImpl.java @@ -321,7 +321,7 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl result = new HashMap() {{ - put(prefix + split + "year", dateTime.getYear()); - put(prefix + split + "month", dateTime.getMonthValue()); - put(prefix + split + "day", dateTime.getDayOfMonth()); - put(prefix + split + "hour", dateTime.getHour()); - put(prefix + split + "minuter", dateTime.getMinute()); - put(prefix + split + "second", dateTime.getSecond()); + put(prefix + split + "year",String.format("%02d", dateTime.getYear())); + put(prefix + split + "month",String.format("%02d",dateTime.getMonthValue())); + put(prefix + split + "day",String.format("%02d", dateTime.getDayOfMonth())); + put(prefix + split + "hour",String.format("%02d", dateTime.getHour())); + put(prefix + split + "minuter", String.format("%02d",dateTime.getMinute())); + put(prefix + split + "second",String.format("%02d",dateTime.getSecond())); }}; return result; } diff --git a/hzims-service/ticket/src/main/resources/template/水力机械工作票模版.docx b/hzims-service/ticket/src/main/resources/template/水力机械工作票模版.docx index e5b56d6a57f5e2b258c6fed5a2bb5aafb2b9b092..4070848385fed17531834350c5fd3b08de9519e9 100644 GIT binary patch delta 14827 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 CUKR}i delta 14473 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 PNF`6CfgX(d&pZDMHHd1> From 2828322650c383d90fe845aa731deab846316b43 Mon Sep 17 00:00:00 2001 From: yang_shj <1069818635@QQ.com> Date: Thu, 25 Apr 2024 08:38:20 +0800 Subject: [PATCH 2/3] =?UTF-8?q?#=E8=BF=913=E5=B9=B4=E5=8F=91=E7=94=B5?= =?UTF-8?q?=E9=87=8F=E5=A2=9E=E5=8A=A0=E7=BA=BF=E7=A8=8B=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operation/home/impl/RealTargetServiceImpl.java | 35 +++++++++------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/operation/home/impl/RealTargetServiceImpl.java b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/operation/home/impl/RealTargetServiceImpl.java index 4ea3d60..414198f 100644 --- a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/operation/home/impl/RealTargetServiceImpl.java +++ b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/operation/home/impl/RealTargetServiceImpl.java @@ -10,7 +10,6 @@ import com.hnac.hzims.equipment.entity.EmParamEntity; import com.hnac.hzims.equipment.vo.EminfoAndEmParamVo; import com.hnac.hzims.hzimsweather.feign.IHeWeatherWeatherClient; import com.hnac.hzims.hzimsweather.vo.RainFallCountByMonthVo; -import com.hnac.hzims.operational.config.vo.StationRealVo; import com.hnac.hzims.operational.fill.entity.RainfallEntity; import com.hnac.hzims.operational.home.wind.RainMon; import com.hnac.hzims.operational.main.constant.HomePageConstant; @@ -40,7 +39,7 @@ import com.hnac.hzinfo.sdk.core.response.Result; import com.hnac.hzinfo.sdk.v5.device.DeviceDataClient; import com.hnac.hzinfo.sdk.v5.device.dto.ReductionDataDTO; import com.hnac.hzinfo.sdk.v5.device.vo.ReductionDataVO; -import lombok.Getter; +import io.undertow.util.CopyOnWriteMap; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.MapUtils; @@ -113,8 +112,6 @@ public class RealTargetServiceImpl implements RealTargetService { @Value("${hzims.operation.realIdKey}") public String real_id_cofig_final; - // 创建线程池 - ExecutorService pool = new ThreadPoolExecutor(8, 8, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(1024), new ThreadFactoryBuilder().setNameFormat("load-power-data-pool-%d").build(), new ThreadPoolExecutor.AbortPolicy()); private final static String recent_year_power_data = "hzims:operation:key:power:data"; private final static String load_hydropower_unit_real_key = "hzims:operation:loadhydropowerunit:real:key"; @@ -126,6 +123,9 @@ public class RealTargetServiceImpl implements RealTargetService { 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 static final ExecutorService pool = new ThreadPoolExecutor(10, 10, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(1024), new ThreadFactoryBuilder().setNameFormat("load-power-data-pool-%d").build() , new ThreadPoolExecutor.CallerRunsPolicy()); + @Override public void loadEmInfo(String param) { List stations = stationService.list(Wrappers.lambdaQuery() @@ -1227,7 +1227,6 @@ public class RealTargetServiceImpl implements RealTargetService { public void loadPowerData(String param, List types, Integer serveType, int year) { // 站点查询 List stations = stationService.list(new LambdaQueryWrapper() {{ - eq(StationEntity::getDataOrigin,HomePageConstant.DATA_ORIGIN); if (ObjectUtil.isNotEmpty(serveType)) { eq(StationEntity::getServeType, serveType); } @@ -1248,14 +1247,13 @@ public class RealTargetServiceImpl implements RealTargetService { calendar.add(Calendar.MONTH, -calendar.get(Calendar.MONTH)); String start = DateUtil.format(calendar.getTime(),DateUtil.PATTERN_DATE) + " 00:00:00"; // 存储数据map :<站点id,<月份,发电量>> - Map> powerMap = new ConcurrentHashMap<>(); + Map> powerMap = new CopyOnWriteMap<>(); // 将站点切割 int limit = countStep(stations.size()); - List> limits = Stream.iterate(0, n -> n + 1).limit(limit).parallel().map(a -> stations.stream().skip((long) a * 5).limit(5).parallel().collect(Collectors.toList())).collect(Collectors.toList()); - // 线程数量 + List> limits = Stream.iterate(0, n -> n + 1).limit(limit).parallel().map(a -> stations.stream().skip((long) a * 3).limit(3).parallel().collect(Collectors.toList())).collect(Collectors.toList()); CountDownLatch countDownLatch = new CountDownLatch(limits.size()); - pool.execute(()->{ - for(List item : limits){ + for(List item : limits){ + pool.submit(()->{ item.forEach(station->{ // 站点设备集合 List stationDevices = devices.stream().filter(device -> device.getCreateDept().equals(station.getRefDept())).collect(Collectors.toList()); @@ -1266,20 +1264,22 @@ public class RealTargetServiceImpl implements RealTargetService { powerMap.put(station.getId(),generateMap); }); countDownLatch.countDown(); - } - }); - // 等待所有线程执行完成 + log.error("pool_item_execute_complete: {}" ,item.stream().map(StationEntity::getName).collect(Collectors.toList())); + }); + + } + //所有模板数据获取完成后释放锁 try { countDownLatch.await(); } catch (InterruptedException e) { e.printStackTrace(); Thread.currentThread().interrupt(); } - pool.shutdown(); redisTemplate.opsForValue().set(recent_year_power_data, powerMap); } @Override + public void loadPowerDataNew(List types, Integer serveType, int year) { // 站点查询 List stationList = stationService.list(new LambdaQueryWrapper() {{ @@ -1426,7 +1426,6 @@ public class RealTargetServiceImpl implements RealTargetService { */ private Map getGenerateYear(StationEntity station,List devices, String start, String end) { List datas = new ArrayList<>(); - long l = System.currentTimeMillis(); // 设备采集发电量 if(CollectionUtil.isNotEmpty(devices)){ devices.forEach(device->{ @@ -1447,17 +1446,11 @@ public class RealTargetServiceImpl implements RealTargetService { }).collect(Collectors.toList())); }); } - long l2 = System.currentTimeMillis(); - log.info("getGenerateYear接口,"+station.getName()+"-设备采集发电量数据耗时:"+(l2-l)); // 补充填报数据 datas.addAll(this.generateFill(station,start,end)); - long l3 = System.currentTimeMillis(); - log.info("getGenerateYear接口,"+station.getName()+":补充填报数据"+(l3-l2)); if(CollectionUtil.isEmpty(datas)){ 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)); } /** From 4cafa6a0222c3095c9e6d4247574fcc75aa3b418 Mon Sep 17 00:00:00 2001 From: ty <1577900710@qq.com> Date: Thu, 25 Apr 2024 09:26:05 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=EF=BC=9A=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E7=A5=A8=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../template/水力机械工作票模版.docx | Bin 36689 -> 36743 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/hzims-service/ticket/src/main/resources/template/水力机械工作票模版.docx b/hzims-service/ticket/src/main/resources/template/水力机械工作票模版.docx index 4070848385fed17531834350c5fd3b08de9519e9..2d764d621a023d3dbb788e93964d62b14929afed 100644 GIT binary patch delta 13336 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 iyn_u0001}`lU`Ms!BwGCiPAZ}{Z}tevswf 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