iailab-module-data/iailab-module-data-biz/db/mysql/tenant.sql
@@ -238,43 +238,85 @@ PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='接口Tag表'; CREATE TABLE t_ind_item_atom( `id` VARCHAR(36) NOT NULL COMMENT 'ID' , `item_id` VARCHAR(36) COMMENT '指标ID' , `data_source` VARCHAR(20) COMMENT '数据源', `query_sql` VARCHAR(500) COMMENT '查询语句', PRIMARY KEY (id) USING BTREE, UNIQUE KEY `uk_point_id` (`item_id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '原子指标'; -- 指标管理------------ CREATE TABLE t_ind_data_set( `id` VARCHAR(36) NOT NULL COMMENT 'ID' , `name` VARCHAR(30) NOT NULL COMMENT '名称' , `data_source` VARCHAR(64) NOT NULL COMMENT '数据源ID', `query_sql` VARCHAR(200) NOT NULL COMMENT '查询语句', `remark` VARCHAR(100) COMMENT '备注', `sort` int COMMENT '排序', `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建者', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (id) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '指标数据集'; CREATE TABLE t_ind_data_set_field( `id` VARCHAR(36) NOT NULL COMMENT 'ID' , `data_set_id` VARCHAR(36) NOT NULL COMMENT '数据集ID' , `field_code` VARCHAR(30) COMMENT '英文名' , `field_name` VARCHAR(30) COMMENT '中文名' , `field_type` VARCHAR(30) COMMENT '数据类型' , `sort` int COMMENT '排序', PRIMARY KEY (id) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '指标数据集字段'; CREATE TABLE t_ind_item_category( `id` VARCHAR(36) NOT NULL COMMENT 'ID' , `label` VARCHAR(20) COMMENT '标签' , `pid` VARCHAR(36) COMMENT '父ID', `sort` int COMMENT '排序', `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建者', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (id) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '指标分类'; CREATE TABLE t_ind_item( `id` VARCHAR(36) NOT NULL COMMENT 'ID' , `item_no` VARCHAR(36) COMMENT '指标编码' , `item_name` VARCHAR(36) COMMENT '指标名称' , `item_type` VARCHAR(10) COMMENT '指标类型' , `coefficient` decimal(10, 4) COMMENT '系数', `precision` int COMMENT '指标精度', `business_type` VARCHAR(10) COMMENT '业务类型', `time_range` VARCHAR(20) COMMENT '时间范围' , `time_granularity` VARCHAR(10) COMMENT '时间粒度' , `remark` VARCHAR(255) COMMENT '备注' , `is_enable` tinyint(1) COMMENT '是否启用' , `creator` VARCHAR(36) COMMENT '创建人' , `create_time` DATETIME COMMENT '创建时间' , `updater` VARCHAR(36) COMMENT '修改人' , `update_time` DATETIME COMMENT '修改时间' , PRIMARY KEY (id) USING BTREE, UNIQUE KEY `uk_item_no` (`item_no`) USING BTREE `id` VARCHAR(36) NOT NULL COMMENT 'ID' , `item_no` VARCHAR(36) COMMENT '指标编码' , `item_name` VARCHAR(36) COMMENT '指标名称' , `item_type` VARCHAR(20) COMMENT '指标类型' , `item_category` VARCHAR(20) COMMENT '指标分类' , `coefficient` decimal(10, 4) COMMENT '系数', `precision` int COMMENT '指标精度', `time_granularity` VARCHAR(10) COMMENT '时间粒度' , `remark` VARCHAR(255) COMMENT '备注' , `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0正常 1停用)', `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建者', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (id) USING BTREE, UNIQUE KEY `uk_item_no` (`item_no`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '指标项表'; CREATE TABLE t_ind_item_atom( `id` VARCHAR(36) NOT NULL COMMENT 'ID' , `item_id` VARCHAR(36) COMMENT '指标ID' , `data_source` VARCHAR(20) COMMENT '数据源', `query_sql` VARCHAR(500) COMMENT '查询语句', `data_source` VARCHAR(64) COMMENT '数据源', `data_set` VARCHAR(64) COMMENT '数据集', `using_field` VARCHAR(64) COMMENT '使用字段', `stat_func` VARCHAR(64) COMMENT '统计方式', PRIMARY KEY (id) USING BTREE, UNIQUE KEY `uk_point_id` (`item_id`) USING BTREE UNIQUE KEY `uk_item_id` (`item_id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '原子指标'; CREATE TABLE t_ind_item_der( `id` VARCHAR(36) NOT NULL COMMENT 'ID' , `item_id` VARCHAR(36) COMMENT '指标ID' , `atom_item_id` VARCHAR(36) COMMENT '原子指标ID' , `time_label` VARCHAR(20) COMMENT '时间标识', `time_limit` VARCHAR(20) COMMENT '时间限定', `time_start` DATETIME COMMENT '开始时间', `time_end` DATETIME COMMENT '结束时间', `dimension` VARCHAR(200) COMMENT '分析维度', PRIMARY KEY (id) USING BTREE, UNIQUE KEY `uk_item_id` (`item_id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '派生指标'; CREATE TABLE t_ind_item_cal( `id` VARCHAR(36) NOT NULL COMMENT 'ID' , @@ -283,15 +325,6 @@ PRIMARY KEY (id) USING BTREE, UNIQUE KEY `uk_item_id` (`item_id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '计算指标'; CREATE TABLE t_ind_item_derive( `id` VARCHAR(36) NOT NULL COMMENT 'ID' , `item_id` VARCHAR(36) COMMENT '指标ID' , `limit_time` varchar(100) DEFAULT NULL COMMENT '时间限定', `limit_business` varchar(100) DEFAULT NULL COMMENT '业务限定', PRIMARY KEY (id) USING BTREE, UNIQUE KEY `uk_item_id` (`item_id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '派生指标'; CREATE TABLE `t_ind_item_value` ( `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id', iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/api/controller/DataController.java
@@ -5,21 +5,16 @@ import com.iailab.module.data.api.dto.IndexQueryDTO; import com.iailab.module.data.api.dto.echarts.BarLineDTO; import com.iailab.module.data.api.dto.echarts.SeriesItem; import com.iailab.module.data.channel.kio.entity.ChannelKioDeviceEntity; import com.iailab.module.data.common.utils.Constant; import com.iailab.module.data.common.utils.R; import com.iailab.module.data.api.dto.ApiPointValueQueryDTO; import com.iailab.module.data.point.collection.PointCollector; import com.iailab.module.data.point.common.PointDataTypeEnum; import com.iailab.module.data.point.dto.DaPointDTO; import com.iailab.module.data.point.service.DaPointService; import com.iailab.module.data.point.service.DaPointValueService; import com.iailab.module.data.ind.collection.IndItemCollector; import com.iailab.module.data.influxdb.pojo.InfluxPointValuePOJO; import com.iailab.module.data.influxdb.service.InfluxDBService; import com.iailab.module.data.api.dto.DeviceValueDTO; import com.iailab.module.data.api.utils.ApiSecurityUtils; import com.iailab.module.data.ind.dto.IndItemValueDTO; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; @@ -34,7 +29,6 @@ import java.util.stream.Collectors; import static com.iailab.framework.common.pojo.CommonResult.success; import static com.iailab.framework.common.pojo.CommonResult.error; /** * @author PanZhibao @@ -61,9 +55,6 @@ @Resource private PointCollector pointCollector; @Resource private IndItemCollector indItemCollector; @PostMapping("/point/history") @Operation(summary = "point历史数据") @@ -211,35 +202,5 @@ }); } return CommonResult; } @PostMapping("/ind-item/values") @Operation(summary = "point当前实时数据") public CommonResult<Map<String, List<IndItemValueDTO>>> indItemValues(HttpServletResponse response, HttpServletRequest request, @RequestBody List<String> itemNos) { try { // apiSecurityUtils.validate(request); Map<String, List<IndItemValueDTO>> data = indItemCollector.getValueList(itemNos); return success(data); } catch (Exception ex) { return new CommonResult<Map<String, List<IndItemValueDTO>>>().setMsg(ex.getMessage()); } } @PostMapping("/ind-item/current-value") @Operation(summary = "point当前实时数据") public CommonResult<Map<String, BigDecimal>> indItemCurrentValue(HttpServletResponse response, HttpServletRequest request, @RequestBody List<String> itemNos) { try { Map<String, BigDecimal> data = new HashMap<>(); // apiSecurityUtils.validate(request); Map<String, List<IndItemValueDTO>> dataList = indItemCollector.getValueList(itemNos); dataList.forEach((k, v) -> { data.put(k, CollectionUtils.isEmpty(v) ? null : v.get(0).getDataValue()); }); return success(data); } catch (Exception ex) { return new CommonResult<Map<String, BigDecimal>>().setMsg(ex.getMessage()); } } } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/category/controller/admin/IndItemCategoryController.java
对比新文件 @@ -0,0 +1,79 @@ package com.iailab.module.data.ind.category.controller.admin; import com.iailab.framework.common.pojo.CommonResult; import com.iailab.framework.common.util.object.BeanUtils; import com.iailab.module.data.ind.category.entity.IndItemCategoryEntity; import com.iailab.module.data.ind.category.service.IndItemCategoryService; import com.iailab.module.data.ind.category.vo.IndItemCategoryReqVO; import com.iailab.module.data.ind.category.vo.IndItemCategoryRespVO; import com.iailab.module.data.ind.category.vo.IndItemCategorySaveReqVO; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.Comparator; import java.util.List; import static com.iailab.framework.common.pojo.CommonResult.success; /** * @author PanZhibao * @Description * @createTime 2024年09月10日 */ @Tag(name = "数据平台 - 指标分类") @RestController @RequestMapping("/data/ind-item-category") @Validated public class IndItemCategoryController { @Autowired private IndItemCategoryService indItemCategoryService; @GetMapping("/list") @Operation(summary = "获取指标分类列表", description = "用于【指标分类】界面") @PreAuthorize("@ss.hasPermission('data:ind-item-category:query')") public CommonResult<List<IndItemCategoryRespVO>> getList(IndItemCategoryReqVO reqVO) { List<IndItemCategoryEntity> list = indItemCategoryService.getList(reqVO); list.sort(Comparator.comparing(IndItemCategoryEntity::getSort)); return success(BeanUtils.toBean(list, IndItemCategoryRespVO.class)); } @PostMapping("/create") @Operation(summary = "创建指标分类") @PreAuthorize("@ss.hasPermission('data:ind-item-category:create')") public CommonResult<Boolean> createMenu(@Valid @RequestBody IndItemCategorySaveReqVO createReqVO) { indItemCategoryService.create(createReqVO); return success(true); } @PutMapping("/update") @Operation(summary = "修改指标分类") @PreAuthorize("@ss.hasPermission('data:ind-item-category:update')") public CommonResult<Boolean> updateMenu(@Valid @RequestBody IndItemCategorySaveReqVO updateReqVO) { indItemCategoryService.update(updateReqVO); return success(true); } @DeleteMapping("/delete") @Operation(summary = "删除指标分类") @Parameter(name = "id", description = "指标分类编号", required= true, example = "1024") @PreAuthorize("@ss.hasPermission('data:ind-item-category:delete')") public CommonResult<Boolean> deleteMenu(@RequestParam("id") String id) { indItemCategoryService.delete(id); return success(true); } @GetMapping("/get") @Operation(summary = "获取指标分类信息") @PreAuthorize("@ss.hasPermission('system:ind-item-category:query')") public CommonResult<IndItemCategoryRespVO> getMenu(String id) { IndItemCategoryEntity entity = indItemCategoryService.get(id); return success(BeanUtils.toBean(entity, IndItemCategoryRespVO.class)); } } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/category/controller/package-info.java
对比新文件 @@ -0,0 +1 @@ package com.iailab.module.data.ind.category.controller; iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/category/dao/IndItemCategoryDao.java
对比新文件 @@ -0,0 +1,26 @@ package com.iailab.module.data.ind.category.dao; import com.iailab.framework.mybatis.core.mapper.BaseMapperX; import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX; import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.data.ind.category.entity.IndItemCategoryEntity; import com.iailab.module.data.ind.category.vo.IndItemCategoryReqVO; import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * @author PanZhibao * @Description * @createTime 2024年09月10日 */ @TenantDS @Mapper public interface IndItemCategoryDao extends BaseMapperX<IndItemCategoryEntity> { default List<IndItemCategoryEntity> selectList(IndItemCategoryReqVO reqVO) { return selectList(new LambdaQueryWrapperX<IndItemCategoryEntity>() .likeIfPresent(IndItemCategoryEntity::getLabel, reqVO.getLabel())); } } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/category/entity/IndItemCategoryEntity.java
对比新文件 @@ -0,0 +1,67 @@ package com.iailab.module.data.ind.category.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.io.Serializable; import java.util.Date; /** * 指标分类 * * @author PanZhibao * @Description * @createTime 2024年09月10日 */ @Data @TableName("t_ind_item_category") public class IndItemCategoryEntity implements Serializable { private static final long serialVersionUID = 1L; public static final String ID_ROOT = "0"; /** * 主键 */ @Schema(description = "主键") @TableId(value = "id",type = IdType.INPUT) private String id; /** * 标签 */ private String label; /** * 父ID */ private String pid; /** * 排序 */ private Integer sort; /** * 创建者 */ private String creator; /** * 创建时间 */ private Date createTime; /** * 更新者 */ private String updater; /** * 更新时间 */ private Date updateTime; } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/category/package-info.java
对比新文件 @@ -0,0 +1 @@ package com.iailab.module.data.ind.category; iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/category/service/IndItemCategoryService.java
对比新文件 @@ -0,0 +1,26 @@ package com.iailab.module.data.ind.category.service; import com.iailab.module.data.ind.category.entity.IndItemCategoryEntity; import com.iailab.module.data.ind.category.vo.IndItemCategoryReqVO; import com.iailab.module.data.ind.category.vo.IndItemCategorySaveReqVO; import java.util.List; /** * @author PanZhibao * @Description * @createTime 2024年09月10日 */ public interface IndItemCategoryService { List<IndItemCategoryEntity> getList(IndItemCategoryReqVO reqVO); void create(IndItemCategorySaveReqVO createReqVO); void update(IndItemCategorySaveReqVO updateReqVO); IndItemCategoryEntity get(String id); void delete(String id); } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/category/service/impl/IndItemCategoryServiceImpl.java
对比新文件 @@ -0,0 +1,84 @@ package com.iailab.module.data.ind.category.service.impl; import com.iailab.framework.common.util.object.BeanUtils; import com.iailab.module.data.ind.category.entity.IndItemCategoryEntity; import com.iailab.module.data.ind.category.service.IndItemCategoryService; import com.iailab.module.data.ind.category.vo.IndItemCategoryReqVO; import com.iailab.module.data.ind.category.dao.IndItemCategoryDao; import com.iailab.module.data.ind.category.vo.IndItemCategorySaveReqVO; import com.iailab.module.system.enums.permission.MenuTypeEnum; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.List; import java.util.UUID; import static com.iailab.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.iailab.module.system.enums.ErrorCodeConstants.*; import static com.iailab.module.data.ind.category.entity.IndItemCategoryEntity.ID_ROOT; /** * @author PanZhibao * @Description * @createTime 2024年09月10日 */ @Service @Slf4j public class IndItemCategoryServiceImpl implements IndItemCategoryService { @Resource private IndItemCategoryDao indItemCategoryDao; @Override public List<IndItemCategoryEntity> getList(IndItemCategoryReqVO reqVO) { return indItemCategoryDao.selectList(reqVO); } @Override public void create(IndItemCategorySaveReqVO createReqVO) { // 校验父菜单存在 validateParentMenu(createReqVO.getPid(), null); // 插入数据库 IndItemCategoryEntity entity = BeanUtils.toBean(createReqVO, IndItemCategoryEntity.class); entity.setId(UUID.randomUUID().toString()); entity.setCreateTime(new Date()); indItemCategoryDao.insert(entity); } @Override public void update(IndItemCategorySaveReqVO updateReqVO) { // 校验父菜单存在 validateParentMenu(updateReqVO.getPid(), null); IndItemCategoryEntity entity = BeanUtils.toBean(updateReqVO, IndItemCategoryEntity.class); entity.setUpdateTime(new Date()); indItemCategoryDao.updateById(entity); } @Override public IndItemCategoryEntity get(String id) { return indItemCategoryDao.selectById(id); } @Override public void delete(String id) { indItemCategoryDao.deleteById(id); } private void validateParentMenu(String parentId, String childId) { if (parentId == null || ID_ROOT.equals(parentId)) { return; } // 不能设置自己为父菜单 if (parentId.equals(childId)) { throw exception(MENU_PARENT_ERROR); } IndItemCategoryEntity category = indItemCategoryDao.selectById(parentId); // 父菜单不存在 if (category == null) { throw exception(MENU_PARENT_NOT_EXISTS); } } } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/category/vo/IndItemCategoryReqVO.java
对比新文件 @@ -0,0 +1,18 @@ package com.iailab.module.data.ind.category.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.ToString; /** * @author PanZhibao * @Description * @createTime 2024年09月10日 */ @Schema(description = "数据服务 - 指标分类分页 Request VO") @Data @ToString(callSuper = true) public class IndItemCategoryReqVO { private String label; } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/category/vo/IndItemCategoryRespVO.java
对比新文件 @@ -0,0 +1,9 @@ package com.iailab.module.data.ind.category.vo; /** * @author PanZhibao * @Description * @createTime 2024年09月10日 */ public class IndItemCategoryRespVO { } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/category/vo/IndItemCategorySaveReqVO.java
对比新文件 @@ -0,0 +1,34 @@ package com.iailab.module.data.ind.category.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; /** * @author PanZhibao * @Description * @createTime 2024年09月10日 */ @Schema(description = "数据平台 - 指标分类创建/修改 Request VO") @Data public class IndItemCategorySaveReqVO { @Schema(description = "ID", example = "1024") private String id; @Schema(description = "标签", requiredMode = Schema.RequiredMode.REQUIRED, example = "平台") @NotBlank(message = "标签") @Size(max = 50, message = "标签长度不能超过20个字符") private String label; @Schema(description = "父菜单 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") @NotNull(message = "父菜单 ID 不能为空") private String pid; @Schema(description = "显示顺序", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") @NotNull(message = "显示顺序不能为空") private Integer sort; } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/IndItemCollector.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/handler/AtomItemHandle.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/handler/CalItemHandle.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/collection/utils/IndSqlUtils.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/common/IndItemTypeEnum.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/common/IndTimeRangeConst.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/common/IndTimeRangeEnum.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/common/IndtimeGranularityEnum.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/controller/admin/IndItemAtomController.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/controller/admin/IndItemCalController.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/controller/admin/IndItemController.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/controller/package-info.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemAtomDao.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemCalDao.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemDao.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemValueDao.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/data/package-info.java
对比新文件 @@ -0,0 +1 @@ package com.iailab.module.data.ind.data; iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dto/IndItemAtomDTO.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dto/IndItemCalDTO.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dto/IndItemDTO.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dto/IndItemValueDTO.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/entity/IndItemAtomEntity.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/entity/IndItemCalEntity.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/entity/IndItemEntity.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/entity/IndItemValueEntity.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/item/package-info.java
对比新文件 @@ -0,0 +1 @@ package com.iailab.module.data.ind.item; iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/package-info.java
对比新文件 @@ -0,0 +1 @@ package com.iailab.module.data.ind; iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/service/IndItemAtomService.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/service/IndItemCalService.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/service/IndItemService.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/service/IndItemValueService.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/service/impl/IndItemAtomServiceImpl.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/service/impl/IndItemCalServiceImpl.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/service/impl/IndItemServiceImpl.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/service/impl/IndItemValueServiceImpl.java
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/resources/application.yml
@@ -193,6 +193,9 @@ - t_http_api - t_http_tag - t_http_token - t_ind_data_set - t_ind_data_set_field - t_ind_item_category - t_ind_item - t_ind_item_atom app: iailab-module-data/iailab-module-data-biz/src/main/resources/mapper/ind/IndItemDao.xml
文件已删除 iailab-module-data/iailab-module-data-biz/src/main/resources/mapper/ind/IndItemValueDao.xml
文件已删除