iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/item/entity/IndItemEntity.java
@@ -78,6 +78,11 @@ private Integer status; /** * 固化标识 */ private String solidifyFlag; /** * 创建者 */ private String creator; iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/item/vo/IndItemPageReqVO.java
@@ -28,4 +28,7 @@ @Schema(description = "指标分类", example = "") private String itemCategory; @Schema(description = "固化标识", example = "") private String solidifyFlag; } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/item/vo/IndItemSaveReqVO.java
@@ -59,4 +59,7 @@ @Schema(description = "计算指标") private IndItemCalVO calItem; @Schema(description = "固化标识") private String solidifyFlag; } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/value/controller/admin/IndItemValueController.java
文件名从 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/value/controller/IndItemValueController.java 修改 @@ -1,9 +1,10 @@ package com.iailab.module.data.ind.value.controller; package com.iailab.module.data.ind.value.controller.admin; import com.iailab.framework.common.pojo.CommonResult; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.util.object.BeanUtils; import com.iailab.module.data.ind.item.vo.IndItemRespVO; import com.iailab.module.data.ind.item.vo.IndItemValueVO; import com.iailab.module.data.ind.value.entity.IndItemValueEntity; import com.iailab.module.data.ind.value.service.IndItemValueService; import com.iailab.module.data.ind.value.vo.IndItemValuePageReqVO; @@ -17,6 +18,8 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; import static com.iailab.framework.common.pojo.CommonResult.success; @@ -74,4 +77,11 @@ IndItemValueEntity entity = indItemValueService.get(id); return success(BeanUtils.toBean(entity, IndItemRespVO.class)); } @GetMapping("/getList") @Operation(summary = "获取指标项数据集合信息") public CommonResult<List<IndItemValueVO>> getList(@Valid IndItemValuePageReqVO reqVO) { List<IndItemValueVO> list = indItemValueService.getValueList(reqVO); return success(list); } } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/value/controller/package-info.java
对比新文件 @@ -0,0 +1 @@ package com.iailab.module.data.ind.value.controller; iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/value/service/IndItemValueService.java
@@ -9,7 +9,6 @@ import com.iailab.module.data.ind.value.vo.IndItemValueSaveReqVO; import java.util.List; import java.util.Map; /** * @author PanZhibao @@ -29,4 +28,6 @@ void delete(String id); List<IndItemValueVO> getSourceValue(QuerySourceValueDTO dto); List<IndItemValueVO> getValueList(IndItemValuePageReqVO reqVO); } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/value/service/impl/IndItemValueServiceImpl.java
@@ -3,7 +3,10 @@ import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.service.impl.BaseServiceImpl; import com.iailab.framework.common.util.object.BeanUtils; import com.iailab.framework.common.util.object.ConvertUtils; import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX; import com.iailab.framework.tenant.core.context.DataContextHolder; import com.iailab.module.data.common.utils.DateUtils; import com.iailab.module.data.common.xss.SQLFilter; import com.iailab.module.data.ind.item.vo.IndItemValueVO; import com.iailab.module.data.ind.value.dao.IndItemValueDao; @@ -73,4 +76,15 @@ DataContextHolder.setDataSourceId(Long.valueOf(dto.getDataSource())); return baseDao.getSourceValue(dto); } @Override public List<IndItemValueVO> getValueList(IndItemValuePageReqVO reqVO) { List<IndItemValueEntity> entities = baseDao.selectList( new LambdaQueryWrapperX<IndItemValueEntity>() .eq(StringUtils.isNotBlank(reqVO.getItemNo()), IndItemValueEntity::getItemNo, reqVO.getItemNo()) .geIfPresent(IndItemValueEntity::getDataTime, DateUtils.stringToDate(reqVO.getStartTime(), DateUtils.DATE_TIME_PATTERN)) .leIfPresent(IndItemValueEntity::getDataTime, DateUtils.stringToDate(reqVO.getEndTime(), DateUtils.DATE_TIME_PATTERN)) .orderByDesc(IndItemValueEntity::getDataTime) ); return ConvertUtils.sourceToTarget(entities, IndItemValueVO.class); } } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/task/IndCollectTaskNetDay.java
对比新文件 @@ -0,0 +1,73 @@ package com.iailab.module.data.job.task; import com.alibaba.nacos.common.utils.StringUtils; import com.iailab.module.data.api.ind.IndItemApi; import com.iailab.module.data.api.ind.dto.ApiIndItemValueDTO; import com.iailab.module.data.ind.item.service.IndItemService; import com.iailab.module.data.ind.item.vo.IndItemPageReqVO; import com.iailab.module.data.ind.item.vo.IndItemRespVO; import com.iailab.module.data.ind.value.service.IndItemValueService; import com.iailab.module.data.ind.value.vo.IndItemValueSaveReqVO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Calendar; import java.util.List; /** * @description: Point采集器1h * @author: dzd * @date: 2025/1/18 14:07 **/ @Component("indCollectTaskNetDay") public class IndCollectTaskNetDay implements ITask { private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private IndItemService indItemService; @Autowired private IndItemValueService indItemValueService; @Autowired private IndItemApi indItemApi; @Override public void run(String params){ logger.debug("indCollectTaskNetDay定时任务正在执行,参数为:{}", params); try { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.MILLISECOND, 0); IndItemPageReqVO reqVO = new IndItemPageReqVO(); if (StringUtils.isNotBlank(params)){ reqVO.setSolidifyFlag(params); }else { reqVO.setSolidifyFlag("DAY"); } List<IndItemRespVO> indItemList = indItemService.getList(reqVO); if (!CollectionUtils.isEmpty(indItemList)){ for (IndItemRespVO indItem : indItemList) { logger.info("开始查询指标数据,指标编号:" + indItem.getItemNo()); List<ApiIndItemValueDTO> indItemValueList = indItemApi.queryIndItemDefaultValue(indItem.getItemNo()); for (ApiIndItemValueDTO indItemValue : indItemValueList) { logger.info("开始保存指标数据,指标编号:" + indItem.getItemNo() + ", 指标数据:" + indItemValue.getDataValue()); IndItemValueSaveReqVO saveReqVO = new IndItemValueSaveReqVO(); saveReqVO.setItemNo(indItem.getItemNo()); saveReqVO.setDataTime(indItemValue.getDataTime()); saveReqVO.setDataValue(BigDecimal.valueOf(indItemValue.getDataValue())); indItemValueService.create(saveReqVO); } } } logger.info("indCollectTaskNetDay定时任务完成时间:" + LocalDateTime.now()); } catch (Exception ex) { ex.printStackTrace(); logger.error("indCollectTaskNetDay定时任务失败时间:" + LocalDateTime.now()); } } } iailab-module-data/iailab-module-data-biz/src/main/resources/application.yaml
@@ -176,6 +176,7 @@ - t_ind_item_atom - t_ind_item_der - t_ind_item_cal - t_ind_item_value - t_video_nvr - t_video_log - t_video_camera iailab-module-data/iailab-module-data-biz/src/main/resources/mapper/ind/IndItemDao.xml
@@ -22,6 +22,9 @@ <if test="params.itemCategory != null and params.itemCategory != ''"> and t1.item_category = #{params.itemCategory} </if> <if test="params.solidifyFlag != null and params.solidifyFlag != ''"> and t1.solidify_flag = #{params.solidifyFlag} </if> </where> </select>