From 0ed8ac1f3171e0d43d07f0c1bac32fc3712bd15b Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期五, 29 十一月 2024 13:20:46 +0800 Subject: [PATCH] 累计点配置 --- iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaCumulatePointService.java | 23 ++++ iailab-module-data/iailab-module-data-biz/db/mysql/tenant.sql | 14 ++ iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dto/DaCumulatePointDTO.java | 39 +++++++ iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/common/PointTypeEnum.java | 3 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java | 55 +++++++--- iailab-module-data/iailab-module-data-biz/src/main/resources/application.yaml | 1 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaCumulatePointServiceImpl.java | 55 +++++++++++ iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaCumulatePointDao.java | 16 +++ iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dto/DaPointDTO.java | 3 iailab-module-data/iailab-module-data-biz/src/main/resources/application-local.yml | 7 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaPointService.java | 2 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/enums/IncreaseCodeEnum.java | 2 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/entity/DaCumulatePointEntity.java | 47 +++++++++ 13 files changed, 242 insertions(+), 25 deletions(-) diff --git a/iailab-module-data/iailab-module-data-biz/db/mysql/tenant.sql b/iailab-module-data/iailab-module-data-biz/db/mysql/tenant.sql index 6997f33..d8edfd2 100644 --- a/iailab-module-data/iailab-module-data-biz/db/mysql/tenant.sql +++ b/iailab-module-data/iailab-module-data-biz/db/mysql/tenant.sql @@ -386,4 +386,16 @@ `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (id) USING BTREE, UNIQUE INDEX `uk_item_no` (`item_no`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '计划数据项'; \ No newline at end of file +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '计划数据项'; + +CREATE TABLE t_da_cumulate_point( + `id` VARCHAR(36) NOT NULL COMMENT 'ID' , + `point_id` VARCHAR(36) COMMENT '测点ID' , + `point_no` VARCHAR(36) COMMENT '瞬时测点' , + `length` int COMMENT '累计长度', + `divisor` int COMMENT '除数', + PRIMARY KEY (id) USING BTREE, + UNIQUE KEY `uk_point_id` (`point_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '累计点表'; +INSERT INTO `iailab_expert_tenant_shasteel`.`t_da_sequence_num` (`id`, `code`, `name`, `sequence_num`, `prefix`) VALUES ('8', 'POINT_L', '累计点编码', 100001, 'L'); +INSERT INTO `iailab_plat_system`.`system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1657, 4, '累计点', 'CUMULATE', 'data_point_type', 0, '', '', '', '142', '2024-11-29 10:13:12', '142', '2024-11-29 10:13:12', b'0'); diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/enums/IncreaseCodeEnum.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/enums/IncreaseCodeEnum.java index c164a20..bd0e9e9 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/enums/IncreaseCodeEnum.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/enums/IncreaseCodeEnum.java @@ -7,5 +7,5 @@ * @date 2021年05月24日 9:41 */ public enum IncreaseCodeEnum { - POINT_M, POINT_C, POINT_F, IND_A, IND_D, IND_C, PLAN; + POINT_M, POINT_C, POINT_F, POINT_L, IND_A, IND_D, IND_C, PLAN; } diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/common/PointTypeEnum.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/common/PointTypeEnum.java index 2d6e959..c09d14e 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/common/PointTypeEnum.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/common/PointTypeEnum.java @@ -12,7 +12,8 @@ public enum PointTypeEnum { MEASURE_POINT("MEASURE", "测量点"), CALCULATE_POINT("CALCULATE", "计算点"), - CONSTANT("CONSTANT", "常量点"); + CONSTANT("CONSTANT", "常量点"), + CUMULATE("CUMULATE", "累计点"); private String code; diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaCumulatePointDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaCumulatePointDao.java new file mode 100644 index 0000000..4803951 --- /dev/null +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaCumulatePointDao.java @@ -0,0 +1,16 @@ +package com.iailab.module.data.point.dao; + +import com.iailab.framework.common.dao.BaseDao; +import com.iailab.framework.tenant.core.db.dynamic.TenantDS; +import com.iailab.module.data.point.entity.DaCumulatePointEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年11月28日 + */ +@TenantDS +@Mapper +public interface DaCumulatePointDao extends BaseDao<DaCumulatePointEntity> { +} diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dto/DaCumulatePointDTO.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dto/DaCumulatePointDTO.java new file mode 100644 index 0000000..090c522 --- /dev/null +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dto/DaCumulatePointDTO.java @@ -0,0 +1,39 @@ +package com.iailab.module.data.point.dto; + +import com.iailab.framework.common.validation.group.AddGroup; +import com.iailab.framework.common.validation.group.UpdateGroup; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Null; +import java.io.Serializable; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年11月28日 + */ +@Data +@Tag(name = "累计点表") +public class DaCumulatePointDTO implements Serializable { + private static final long serialVersionUID = 1L; + + @Schema(description = "id") + @Null(message="{id.null}", groups = AddGroup.class) + @NotNull(message="{id.require}", groups = UpdateGroup.class) + private String id; + + @Schema(description = "测点ID", required = true) + private String pointId; + + @Schema(description = "瞬时测点", required = true) + private String pointNo; + + @Schema(description = "累计长度", required = true) + private Integer length; + + @Schema(description = "除数", required = true) + private Integer divisor; +} \ No newline at end of file diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dto/DaPointDTO.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dto/DaPointDTO.java index 0c04215..fca527d 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dto/DaPointDTO.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dto/DaPointDTO.java @@ -115,4 +115,7 @@ @Schema(description = "测量点") private DaMeasurePointDTO measurePoint; + + @Schema(description = "累计点") + private DaCumulatePointDTO cumulatePoint; } \ No newline at end of file diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/entity/DaCumulatePointEntity.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/entity/DaCumulatePointEntity.java new file mode 100644 index 0000000..532af08 --- /dev/null +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/entity/DaCumulatePointEntity.java @@ -0,0 +1,47 @@ +package com.iailab.module.data.point.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + * 累计点表 + * + * @author PanZhibao + * @Description + * @createTime 2024年11月28日 + */ +@Data +@TableName("t_da_cumulate_point") +public class DaCumulatePointEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(type = IdType.ASSIGN_UUID) + private String id; + + /** + * 测点ID + */ + private String pointId; + + /** + * 累计测点 + */ + private String pointNo; + + /** + * 累计长度 + */ + private Integer length; + + /** + * 除数 + */ + private Integer divisor; +} \ No newline at end of file diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaCumulatePointService.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaCumulatePointService.java new file mode 100644 index 0000000..6a51314 --- /dev/null +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaCumulatePointService.java @@ -0,0 +1,23 @@ +package com.iailab.module.data.point.service; + +import com.iailab.framework.common.service.BaseService; +import com.iailab.module.data.point.dto.DaCumulatePointDTO; +import com.iailab.module.data.point.entity.DaCumulatePointEntity; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年11月28日 + */ +public interface DaCumulatePointService extends BaseService<DaCumulatePointEntity> { + + void add(DaCumulatePointDTO dto, String pointId); + + DaCumulatePointDTO getByPoint(String pointId); + + void update(DaCumulatePointDTO dto); + + void deleteBatch(String[] ids); + + void deleteByPoint(String[] ids); +} \ No newline at end of file diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaPointService.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaPointService.java index 8897e3a..a38ab43 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaPointService.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/DaPointService.java @@ -1,9 +1,7 @@ package com.iailab.module.data.point.service; import com.iailab.framework.common.pojo.PageResult; -import com.iailab.module.data.common.utils.PageUtils; import com.iailab.module.data.point.dto.DaPointDTO; -import com.iailab.module.data.point.entity.DaPointEntity; import com.iailab.module.data.point.vo.*; import java.util.List; diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaCumulatePointServiceImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaCumulatePointServiceImpl.java new file mode 100644 index 0000000..baf5e69 --- /dev/null +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaCumulatePointServiceImpl.java @@ -0,0 +1,55 @@ +package com.iailab.module.data.point.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.iailab.framework.common.service.impl.BaseServiceImpl; +import com.iailab.framework.common.util.object.ConvertUtils; +import com.iailab.module.data.point.dao.DaCumulatePointDao; +import com.iailab.module.data.point.dto.DaCumulatePointDTO; +import com.iailab.module.data.point.entity.DaCumulatePointEntity; +import com.iailab.module.data.point.service.DaCumulatePointService; +import org.springframework.stereotype.Service; + +import java.util.Arrays; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年11月28日 + */ +@Service +public class DaCumulatePointServiceImpl extends BaseServiceImpl<DaCumulatePointDao, DaCumulatePointEntity> implements DaCumulatePointService { + + @Override + public void add(DaCumulatePointDTO dto, String pointId) { + DaCumulatePointEntity entity = ConvertUtils.sourceToTarget(dto, DaCumulatePointEntity.class); + entity.setPointId(pointId); + baseDao.insert(entity); + } + + @Override + public DaCumulatePointDTO getByPoint(String pointId) { + QueryWrapper<DaCumulatePointEntity> wrapper = new QueryWrapper<>(); + wrapper.eq("point_id", pointId); + DaCumulatePointEntity entity = baseDao.selectOne(wrapper); + return ConvertUtils.sourceToTarget(entity, DaCumulatePointDTO.class); + } + + @Override + public void update(DaCumulatePointDTO dto) { + DaCumulatePointEntity entity = ConvertUtils.sourceToTarget(dto, DaCumulatePointEntity.class); + this.updateById(entity); + } + + @Override + public void deleteBatch(String[] ids) { + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + @Override + public void deleteByPoint(String[] ids) { + QueryWrapper<DaCumulatePointEntity> wrapper = new QueryWrapper<>(); + wrapper.in("point_id", Arrays.asList(ids)); + baseDao.delete(wrapper); + } + +} \ No newline at end of file diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java index 59c5821..c5b0f3d 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java @@ -15,18 +15,18 @@ import com.iailab.module.data.common.enums.IncreaseCodeEnum; import com.iailab.module.data.point.common.PointTypeEnum; import com.iailab.module.data.point.dao.DaPointDao; +import com.iailab.module.data.point.dto.DaCumulatePointDTO; +import com.iailab.module.data.point.dto.DaMathPointDTO; import com.iailab.module.data.point.dto.DaMeasurePointDTO; import com.iailab.module.data.point.dto.DaPointDTO; import com.iailab.module.data.point.entity.DaMeasurePointEntity; import com.iailab.module.data.point.entity.DaPointEntity; -import com.iailab.module.data.point.service.DaMathPointService; -import com.iailab.module.data.point.service.DaMeasurePointService; -import com.iailab.module.data.point.service.DaPointService; -import com.iailab.module.data.point.service.DaSequenceNumService; +import com.iailab.module.data.point.service.*; import com.iailab.module.data.point.vo.DaPointPageReqVO; import com.iailab.module.data.point.vo.PointImportExcelVO; import com.iailab.module.data.point.vo.PointImportRespVO; import org.apache.commons.lang3.ObjectUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -46,13 +46,16 @@ @Service public class DaPointServiceImpl extends ServiceImpl<DaPointDao, DaPointEntity> implements DaPointService { - @Resource + @Autowired private DaMeasurePointService daMeasurePointService; - @Resource + @Autowired private DaMathPointService daMathPointService; - @Resource + @Autowired + private DaCumulatePointService daCumulatePointService; + + @Autowired private DaSequenceNumService daSequenceNumService; @Resource @@ -80,16 +83,27 @@ public DaPointDTO info(String id) { DaPointEntity entity = daPointDao.selectById(id); DaPointDTO result = ConvertUtils.sourceToTarget(entity, DaPointDTO.class); - if (PointTypeEnum.MEASURE_POINT.getCode().equals(result.getPointType())) { - DaMeasurePointDTO measurePoint = daMeasurePointService.getByPoint(id); - result.setMeasurePoint(measurePoint); - List<String> sourceOption = new ArrayList<>(); - sourceOption.add(measurePoint.getSourceType()); - sourceOption.add(measurePoint.getSourceId()); - sourceOption.add(measurePoint.getTagNo()); - result.setSourceOption(sourceOption); - } else if (PointTypeEnum.CALCULATE_POINT.getCode().equals(result.getPointType())) { - result.setMathPoint(daMathPointService.getByPoint(id)); + result.setMeasurePoint(new DaMeasurePointDTO()); + result.setMathPoint(new DaMathPointDTO()); + result.setCumulatePoint(new DaCumulatePointDTO()); + switch (PointTypeEnum.getEumByCode(result.getPointType())) { + case MEASURE_POINT: + DaMeasurePointDTO measurePoint = daMeasurePointService.getByPoint(id); + result.setMeasurePoint(measurePoint); + List<String> sourceOption = new ArrayList<>(); + sourceOption.add(measurePoint.getSourceType()); + sourceOption.add(measurePoint.getSourceId()); + sourceOption.add(measurePoint.getTagNo()); + result.setSourceOption(sourceOption); + break; + case CALCULATE_POINT: + result.setMathPoint(daMathPointService.getByPoint(id)); + break; + case CUMULATE: + result.setCumulatePoint(daCumulatePointService.getByPoint(id)); + break; + default: + break; } return result; } @@ -157,6 +171,10 @@ case CONSTANT: daPointEntity.setPointNo(daSequenceNumService.getAndIncreaseByCode(IncreaseCodeEnum.POINT_F.name())); break; + case CUMULATE: + daCumulatePointService.add(dataPoint.getCumulatePoint(), daPointEntity.getId()); + daPointEntity.setPointNo(daSequenceNumService.getAndIncreaseByCode(IncreaseCodeEnum.POINT_L.name())); + break; default: break; } @@ -185,6 +203,9 @@ case CALCULATE_POINT: daMathPointService.update(dataPoint.getMathPoint()); break; + case CUMULATE: + daCumulatePointService.update(dataPoint.getCumulatePoint()); + break; default: break; } diff --git a/iailab-module-data/iailab-module-data-biz/src/main/resources/application-local.yml b/iailab-module-data/iailab-module-data-biz/src/main/resources/application-local.yml index 90734e4..0f5b469 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/resources/application-local.yml +++ b/iailab-module-data/iailab-module-data-biz/src/main/resources/application-local.yml @@ -145,9 +145,10 @@ influx-db: org: IAILab - bucket: whs_data - token: gxhXM4H1VOBv07kYXKWyPag_zJ8_oChP4ooZ3u-BkSae9LS8R1wWzJYlmUjL3Qe9t1hDU3DtoYD5HTgjWoTGOg== - url: http://localhost:8086 + token: 50m9Kl-7_tvJY9kejwgSwxQpVG258EKKRt4qZeDntRnWetHGpkBhYtOOXrd9gmh85cuikKFZMzkTsw9pm1xlcA== + url: http://127.0.0.1:8086 + username: root + password: root123456 iems: upload-dir: D:/DLUT/upload/ diff --git a/iailab-module-data/iailab-module-data-biz/src/main/resources/application.yaml b/iailab-module-data/iailab-module-data-biz/src/main/resources/application.yaml index 79fcb20..8e3ceef 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/resources/application.yaml +++ b/iailab-module-data/iailab-module-data-biz/src/main/resources/application.yaml @@ -211,6 +211,7 @@ - t_plan_data_set - t_plan_item_category - t_plan_item + - t_da_cumulate_point app: app-key: data app-secret: 85b0df7edc3df3611913df34ed695011 -- Gitblit v1.9.3