iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/ind/IndItemApi.java
@@ -1,8 +1,10 @@ package com.iailab.module.data.api.ind; import com.iailab.framework.common.pojo.PageResult; import com.iailab.module.data.api.ind.dto.ApiIndItemDTO; import com.iailab.module.data.api.ind.dto.ApiIndItemQueryDTO; import com.iailab.module.data.api.ind.dto.ApiIndItemValueDTO; import com.iailab.module.data.api.ind.dto.ApiIndItemValuePageReqVO; import com.iailab.module.data.enums.ApiConstants; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -38,4 +40,8 @@ @PostMapping(PREFIX + "/info/ids") @Operation(summary = "根据多个id查询指标数据信息") List<ApiIndItemDTO> getInfoByIds(@RequestParam("indIds") Set<String> indIds); @PostMapping(PREFIX + "/query-ind-value/page") @Operation(summary = "查询指标历史值分页") PageResult<ApiIndItemValueDTO> queryIndItemValuePage(@RequestBody ApiIndItemValuePageReqVO dto); } iailab-module-data/iailab-module-data-api/src/main/java/com/iailab/module/data/api/ind/dto/ApiIndItemValuePageReqVO.java
对比新文件 @@ -0,0 +1,28 @@ package com.iailab.module.data.api.ind.dto; import com.iailab.framework.common.pojo.PageParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; /** * @author PanZhibao * @Description * @createTime 2024年09月11日 */ @Schema(description = "数据平台 - 指标值分页 Request VO") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) public class ApiIndItemValuePageReqVO extends PageParam { @Schema(description = "指标编码", example = "") private String itemNo; @Schema(description = "开始时间", example = "") private String startTime; @Schema(description = "结束时间", example = "") private String endTime; } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/admin/ApiDataController.java
@@ -11,6 +11,7 @@ import com.iailab.module.data.api.ind.IndItemApi; import com.iailab.module.data.api.ind.dto.ApiIndItemQueryDTO; import com.iailab.module.data.api.ind.dto.ApiIndItemValueDTO; import com.iailab.module.data.api.ind.dto.ApiIndItemValuePageReqVO; import com.iailab.module.data.api.plan.PlanItemApi; import com.iailab.module.data.api.plan.dto.ApiPlanDataDTO; import com.iailab.module.data.api.point.DataPointApi; @@ -321,4 +322,11 @@ return success(data); } @PermitAll @PostMapping("/query-ind-value/page") @Operation(summary = "查询指标数据值分页") public CommonResult<PageResult<ApiIndItemValueDTO>> queryIndItemValuePage(@RequestBody ApiIndItemValuePageReqVO dto) { return success(indItemApi.queryIndItemValuePage(dto)); } } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/ind/IndItemApiImpl.java
@@ -1,13 +1,17 @@ package com.iailab.module.data.api.ind; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.util.object.ConvertUtils; import com.iailab.module.data.api.ind.dto.ApiIndItemDTO; import com.iailab.module.data.api.ind.dto.ApiIndItemQueryDTO; import com.iailab.module.data.api.ind.dto.ApiIndItemValueDTO; import com.iailab.module.data.api.ind.dto.ApiIndItemValuePageReqVO; import com.iailab.module.data.ind.collection.IndItemCollector; import com.iailab.module.data.ind.item.entity.IndItemEntity; import com.iailab.module.data.ind.item.service.IndItemService; import com.iailab.module.data.ind.item.vo.IndItemValueVO; import com.iailab.module.data.ind.value.service.IndItemValueService; import com.iailab.module.data.ind.value.vo.IndItemValuePageReqVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; @@ -31,6 +35,10 @@ @Autowired private IndItemService indItemService; @Autowired private IndItemValueService indItemValueService; @Override public List<ApiIndItemValueDTO> queryIndItemDefaultValue(String itemNo){ @@ -75,4 +83,12 @@ List<IndItemEntity> inds = indItemService.getInfoByIds(indIds); return ConvertUtils.sourceToTarget(inds,ApiIndItemDTO.class); } @Override public PageResult<ApiIndItemValueDTO> queryIndItemValuePage(ApiIndItemValuePageReqVO dto) { IndItemValuePageReqVO reqVO = ConvertUtils.sourceToTarget(dto, IndItemValuePageReqVO.class); List<IndItemValueVO> result = indItemValueService.getValueList(reqVO); List<ApiIndItemValueDTO> list = ConvertUtils.sourceToTarget(result, ApiIndItemValueDTO.class); return new PageResult<>(list, (long) list.size()); } } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/task/IndCollectTaskNetDay.java
@@ -59,7 +59,7 @@ IndItemValueSaveReqVO saveReqVO = new IndItemValueSaveReqVO(); saveReqVO.setItemNo(indItem.getItemNo()); saveReqVO.setDataTime(DateUtils.format(calendar.getTime(), DateUtils.DATE_TIME_PATTERN)); saveReqVO.setDataValue((BigDecimal) indItemValue.getDataValue()); saveReqVO.setDataValue(convertToBigDecimal(indItemValue.getDataValue())); indItemValueService.create(saveReqVO); } } @@ -67,8 +67,28 @@ logger.info("indCollectTaskNetDay定时任务完成时间:" + LocalDateTime.now()); } catch (Exception ex) { ex.printStackTrace(); logger.error("indCollectTaskNetDay定时任务错误信息:" + ex.getMessage()); logger.error("indCollectTaskNetDay定时任务失败时间:" + LocalDateTime.now()); } } public static BigDecimal convertToBigDecimal(Object value){ if (value == null){ return null; } if (value instanceof BigDecimal){ return (BigDecimal) value; }else if (value instanceof Double){ return BigDecimal.valueOf((Double) value); }else if (value instanceof Integer){ return BigDecimal.valueOf((Integer) value); }else if (value instanceof Long){ return BigDecimal.valueOf((Long) value); }else if (value instanceof String){ return new BigDecimal((String) value); }else { throw new RuntimeException("不支持的类型:" + value.getClass().getName()); } } }