From 2894a4780bc0263a85abd432babc34a5fb0b3e2d Mon Sep 17 00:00:00 2001 From: cdf <857448963@qq.com> Date: Mon, 22 Dec 2025 19:56:21 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A8=B3=E6=80=81=E6=8A=A5=E8=A1=A8=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E9=80=82=E9=85=8D=E5=8F=B0=E8=B4=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AdminStatistic/DataIntegrityServiceImpl.java | 3 +-- .../impl/AdminStatistic/StaticServiceImpl.java | 12 +++++++----- .../csdevice/mapper/mapping/CsLinePOMapper.xml | 8 ++++---- .../param/SensitiveUserReportQueryParam.java | 8 ++++---- .../controller/CustomReportController.java | 2 +- .../service/impl/CustomReportServiceImpl.java | 14 ++++++++------ .../src/main/resources/bootstrap.yml | 8 +++++++- 7 files changed, 32 insertions(+), 23 deletions(-) diff --git a/app-cloud/app-cloud-boot/src/main/java/com/njcn/cloud/service/impl/AdminStatistic/DataIntegrityServiceImpl.java b/app-cloud/app-cloud-boot/src/main/java/com/njcn/cloud/service/impl/AdminStatistic/DataIntegrityServiceImpl.java index 9dcc4bb..cf1296c 100644 --- a/app-cloud/app-cloud-boot/src/main/java/com/njcn/cloud/service/impl/AdminStatistic/DataIntegrityServiceImpl.java +++ b/app-cloud/app-cloud-boot/src/main/java/com/njcn/cloud/service/impl/AdminStatistic/DataIntegrityServiceImpl.java @@ -15,7 +15,6 @@ import com.njcn.device.pq.pojo.param.OnlineRateParam; import com.njcn.device.pq.pojo.po.RStatIntegrityD; import com.njcn.device.pq.pojo.vo.DevDetail; import com.njcn.device.pq.pojo.vo.LineDeviceStateVO; -import com.njcn.device.pq.pojo.vo.RStatOnlinerateVO; import com.njcn.user.api.UserFeignClient; import com.njcn.user.pojo.po.User; import lombok.RequiredArgsConstructor; @@ -81,4 +80,4 @@ public class DataIntegrityServiceImpl implements DataIntegrityService { } -} \ No newline at end of file +} diff --git a/app-cloud/app-cloud-boot/src/main/java/com/njcn/cloud/service/impl/AdminStatistic/StaticServiceImpl.java b/app-cloud/app-cloud-boot/src/main/java/com/njcn/cloud/service/impl/AdminStatistic/StaticServiceImpl.java index b5791dc..2ad9c12 100644 --- a/app-cloud/app-cloud-boot/src/main/java/com/njcn/cloud/service/impl/AdminStatistic/StaticServiceImpl.java +++ b/app-cloud/app-cloud-boot/src/main/java/com/njcn/cloud/service/impl/AdminStatistic/StaticServiceImpl.java @@ -10,12 +10,14 @@ import com.njcn.common.pojo.exception.BusinessException; import com.njcn.device.pq.api.GeneralDeviceInfoClient; import com.njcn.device.pq.pojo.param.OnlineRateParam; import com.njcn.device.pq.pojo.vo.DevDetail; -import com.njcn.device.pq.pojo.vo.RStatOnlinerateVO; +import com.njcn.device.pq.pojo.vo.RStatOnlineRateVO; import com.njcn.user.api.UserFeignClient; import com.njcn.user.pojo.po.User; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; @@ -54,7 +56,7 @@ public class StaticServiceImpl implements StaticService { //获取终端信息 List devDetails = generalDeviceInfoClient.getDevInfoByIds(new ArrayList<>()).getData(); //获取终端在线率 - List onlineRates = generalDeviceInfoClient.getOnlineRateByDevIds(param).getData(); + List onlineRates = generalDeviceInfoClient.getOnlineRateByDevIds(param).getData(); //异常终端数据 long count = devDetails.stream().filter(x -> 0==x.getComFlag()).count(); StaticInfo info=new StaticInfo(); @@ -63,14 +65,14 @@ public class StaticServiceImpl implements StaticService { info.setOnlineRatez(data); info.setComError(count); List list=new ArrayList<>(); - Map onlineRateMap = onlineRates.stream().collect(Collectors.toMap(RStatOnlinerateVO::getDevIndex, RStatOnlinerateVO::getOnlineRate)); + Map onlineRateMap = onlineRates.stream().collect(Collectors.toMap(RStatOnlineRateVO::getDevIndex, RStatOnlineRateVO::getOnlineRate)); StaticInfo.DevStatic devStatic; for (DevDetail devDetail : devDetails) { devStatic=new StaticInfo.DevStatic(); devStatic.setDevIndex(devDetail.getDevIndex()); devStatic.setDevName(devDetail.getDevName()); devStatic.setIp(devDetail.getIp()); - devStatic.setOnlineRate(onlineRateMap.get(devDetail.getDevIndex())); + devStatic.setOnlineRate(onlineRateMap.get(devDetail.getDevIndex()).setScale(3, RoundingMode.HALF_UP).floatValue()); devStatic.setGdName(devDetail.getGdName()); devStatic.setSubName(devDetail.getBdzName()); devStatic.setTimeId(devDetail.getTimeID()); @@ -80,4 +82,4 @@ public class StaticServiceImpl implements StaticService { return info; } -} \ No newline at end of file +} diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsLinePOMapper.xml b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsLinePOMapper.xml index e7f9ade..476c2c4 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsLinePOMapper.xml +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsLinePOMapper.xml @@ -19,7 +19,7 @@ - line_id, dev_id, `name`, `position`, vol_grade, pt_ratio, ct_ratio, `status`, create_by, + line_id, dev_id, `name`, `position`, vol_grade, pt_ratio, ct_ratio, `status`, create_by, create_time, update_by, update_time @@ -37,7 +37,7 @@ - \ No newline at end of file + diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/SensitiveUserReportQueryParam.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/SensitiveUserReportQueryParam.java index 85fb4d1..3610235 100644 --- a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/SensitiveUserReportQueryParam.java +++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/SensitiveUserReportQueryParam.java @@ -16,13 +16,13 @@ public class SensitiveUserReportQueryParam { @ApiModelProperty(name = "tempId",value = "模板ID") private String tempId; - @ApiModelProperty(name = "searchBeginTime", value = "开始时间") + @ApiModelProperty(name = "startTime", value = "开始时间") @NotBlank(message = "起始时间不可为空") @DateTimeStrValid(message = "起始时间格式出错") - private String searchBeginTime; + private String startTime; - @ApiModelProperty(name = "searchEndTime", value = "结束时间") + @ApiModelProperty(name = "endTime", value = "结束时间") @NotBlank(message = "结束时间不可为空") - private String searchEndTime; + private String endTime; } diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/CustomReportController.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/CustomReportController.java index 4552529..5d64989 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/CustomReportController.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/CustomReportController.java @@ -100,7 +100,7 @@ public class CustomReportController extends BaseController { @GetMapping("/getTemplateByDept") @ApiOperation("根据部门查询模板") @ApiImplicitParam(name = "id", value = "id", required = true) - public HttpResult> getTemplateByDept(@RequestParam("id") String id){ + public HttpResult> getTemplateByDept(@RequestParam(value = "id",required = false) String id){ String methodDescribe = getMethodDescribe("getTemplateList"); List list = customReportService.getTemplateByDept(id); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CustomReportServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CustomReportServiceImpl.java index 52dc08c..1d2cb03 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CustomReportServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CustomReportServiceImpl.java @@ -375,7 +375,7 @@ public class CustomReportServiceImpl implements CustomReportService { } } else if (v.contains("start_time") && v.contains("end_time")){ //如时间是大于当前时间则用当前时间 - LocalDate startDate = LocalDateTimeUtil.parseDate(queryParam.getSearchBeginTime(), DatePattern.NORM_DATE_PATTERN); + LocalDate startDate = LocalDateTimeUtil.parseDate(queryParam.getStartTime(), DatePattern.NORM_DATE_PATTERN); LocalDate nowDate = LocalDate.now(); if (!nowDate.isAfter(startDate)) { startDate = LocalDate.now(); @@ -383,11 +383,11 @@ public class CustomReportServiceImpl implements CustomReportService { String startTime = LocalDateTimeUtil.format(startDate, DatePattern.NORM_DATE_PATTERN) + InfluxDbSqlConstant.START_TIME; //如时间是大于当前时间则用当前时间 String localTime = InfluxDbSqlConstant.END_TIME; - LocalDate endDate = LocalDateTimeUtil.parseDate(queryParam.getSearchEndTime(), DatePattern.NORM_DATE_PATTERN); + LocalDate endDate = LocalDateTimeUtil.parseDate(queryParam.getEndTime(), DatePattern.NORM_DATE_PATTERN); if (nowDate.isAfter(endDate)) { localTime = " " + LocalTime.now().format(DatePattern.NORM_TIME_FORMATTER); } - String endTime = queryParam.getSearchEndTime() + localTime; + String endTime = queryParam.getEndTime() + localTime; String val = v.replace(STR_THREE, "").replace("start_time", startTime).replace("end_time", endTime); son.putOpt(V, val); @@ -1050,9 +1050,9 @@ public class CustomReportServiceImpl implements CustomReportService { } //时间范围处理 sql.append(InfluxDbSqlConstant.AND) - .append(InfluxDbSqlConstant.TIME).append(InfluxDbSqlConstant.GE).append(InfluxDbSqlConstant.QM).append(queryParam.getSearchBeginTime()).append(InfluxDbSqlConstant.START_TIME).append(InfluxDbSqlConstant.QM) + .append(InfluxDbSqlConstant.TIME).append(InfluxDbSqlConstant.GE).append(InfluxDbSqlConstant.QM).append(queryParam.getStartTime()).append(InfluxDbSqlConstant.START_TIME).append(InfluxDbSqlConstant.QM) .append(InfluxDbSqlConstant.AND) - .append(InfluxDbSqlConstant.TIME).append(InfluxDbSqlConstant.LT).append(InfluxDbSqlConstant.QM).append(queryParam.getSearchEndTime()).append(InfluxDbSqlConstant.END_TIME).append(InfluxDbSqlConstant.QM); + .append(InfluxDbSqlConstant.TIME).append(InfluxDbSqlConstant.LT).append(InfluxDbSqlConstant.QM).append(queryParam.getEndTime()).append(InfluxDbSqlConstant.END_TIME).append(InfluxDbSqlConstant.QM); System.out.println(sql); List> mapList = Collections.emptyList(); @@ -1130,6 +1130,8 @@ public class CustomReportServiceImpl implements CustomReportService { Map> valueTypeMap = templateValue.stream().collect(Collectors.groupingBy(ReportTemplateDTO::getStatMethod)); //每张表开启一个独立线程查询 futures.add(executorService.submit(() -> { + // 子线程中手动指定数据源(关键) + DynamicDataSourceContextHolder.push("sjzx"); //avg.max,min,cp95 valueTypeMap.forEach((valueTypeKey, valueTypeVal) -> { //相别分组 @@ -1174,7 +1176,7 @@ public class CustomReportServiceImpl implements CustomReportService { //处理台账信息 Map finalTerminalMap; if (CollUtil.isNotEmpty(terminalList)) { - finalTerminalMap = convertKeysToUpperCase(commTerminalGeneralClient.getCustomDetailByLineId(reportSearchParam.getLineId()).getData()); + finalTerminalMap = convertKeysToUpperCase(csLineFeignClient.getCustomDetailByLineId(reportSearchParam.getLineId()).getData()); } else { finalTerminalMap = new HashMap<>(); } diff --git a/cs-harmonic/cs-harmonic-boot/src/main/resources/bootstrap.yml b/cs-harmonic/cs-harmonic-boot/src/main/resources/bootstrap.yml index c0d2e8f..df8eb2c 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/resources/bootstrap.yml +++ b/cs-harmonic/cs-harmonic-boot/src/main/resources/bootstrap.yml @@ -33,6 +33,10 @@ spring: refresh: true main: allow-bean-definition-overriding: true + servlet: + multipart: + max-file-size: 100MB + max-request-size: 100MB #项目日志的配置 @@ -46,6 +50,8 @@ logging: mybatis-plus: #别名扫描 type-aliases-package: com.njcn.harmonic.pojo + global-config: + enable-sql-runner: true mqtt: - client-id: @artifactId@${random.value} \ No newline at end of file + client-id: @artifactId@${random.value}