From f0b9fe73049ff873a6da7127c60fd3e4f5b6f212 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 07 八月 2024 09:34:39 +0800
Subject: [PATCH] 点位标签
---
ycl-common/src/main/java/enumeration/general/ProvinceTagEnum.java | 28 +++++++
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java | 11 ++
ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml | 11 +-
ycl-common/src/main/java/enumeration/general/AreaDeptEnum.java | 31 +++++++
ycl-common/src/main/java/enumeration/general/ImportantTagEnum.java | 29 +++++++
ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java | 10 +-
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java | 10 +
ycl-server/src/main/java/com/ycl/task/MonitorTask.java | 37 ++++++++-
ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java | 9 --
ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml | 6 +
10 files changed, 153 insertions(+), 29 deletions(-)
diff --git a/ycl-common/src/main/java/enumeration/general/AreaDeptEnum.java b/ycl-common/src/main/java/enumeration/general/AreaDeptEnum.java
new file mode 100644
index 0000000..28f55b3
--- /dev/null
+++ b/ycl-common/src/main/java/enumeration/general/AreaDeptEnum.java
@@ -0,0 +1,31 @@
+package enumeration.general;
+
+import lombok.Getter;
+
+/**
+ * 鍖哄煙鏋氫妇
+ *
+ */
+@Getter
+public enum AreaDeptEnum {
+ ZLJQ("鑷祦浜曞尯", "510302", 201),
+ GJQ("璐′簳鍖�", "510303", 202),
+ DAQ("澶у畨鍖�", "510304",102),
+ YTQ("娌挎哗鍖�", "510311",211),
+ RX("鑽e幙", "510321",203),
+ FSX("瀵岄『鍘�", "510322",101),
+ GXQ("楂樻柊鍖�", "510399",210),
+ ;
+
+ private final String name;
+
+ private final String code;
+
+ private final Integer deptId;
+
+ AreaDeptEnum(String name, String code,Integer deptId) {
+ this.name = name;
+ this.code = code;
+ this.deptId = deptId;
+ }
+}
diff --git a/ycl-common/src/main/java/enumeration/general/ImportantTagEnum.java b/ycl-common/src/main/java/enumeration/general/ImportantTagEnum.java
new file mode 100644
index 0000000..f902a39
--- /dev/null
+++ b/ycl-common/src/main/java/enumeration/general/ImportantTagEnum.java
@@ -0,0 +1,29 @@
+package enumeration.general;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.fasterxml.jackson.annotation.JsonValue;
+import lombok.Getter;
+
+/**
+ * 閲嶇偣鐐逛綅鏍囩
+ *
+ */
+@Getter
+public enum ImportantTagEnum {
+
+ Important("important", "閲嶇偣鐐逛綅"),
+ Normal("normal", "鏅�氱偣浣�"),
+ ;
+
+ @EnumValue // 鏍囨槑璇ュ瓧娈靛瓨鍏ユ暟鎹簱
+ @JsonValue // 鏍囨槑鍦ㄨ浆JSON鏃朵娇鐢ㄨ瀛楁锛屽嵆鍝嶅簲鏃�
+ private final String code;
+
+ private final String desc;
+
+ ImportantTagEnum(String code, String desc) {
+ this.code = code;
+ this.desc = desc;
+ }
+
+}
diff --git a/ycl-common/src/main/java/enumeration/general/ProvinceTagEnum.java b/ycl-common/src/main/java/enumeration/general/ProvinceTagEnum.java
new file mode 100644
index 0000000..57373b4
--- /dev/null
+++ b/ycl-common/src/main/java/enumeration/general/ProvinceTagEnum.java
@@ -0,0 +1,28 @@
+package enumeration.general;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.fasterxml.jackson.annotation.JsonValue;
+import lombok.Getter;
+
+/**
+ * 鐪佸巺鐐逛綅鏍囩
+ *
+ */
+@Getter
+public enum ProvinceTagEnum {
+ Province("province", "鐪佸巺鐐逛綅"),
+ Normal("normal", "鏅�氱偣浣�"),
+ ;
+
+ @EnumValue // 鏍囨槑璇ュ瓧娈靛瓨鍏ユ暟鎹簱
+ @JsonValue // 鏍囨槑鍦ㄨ浆JSON鏃朵娇鐢ㄨ瀛楁锛屽嵆鍝嶅簲鏃�
+ private final String code;
+
+ private final String desc;
+
+ ProvinceTagEnum(String code, String desc) {
+ this.code = code;
+ this.desc = desc;
+ }
+
+}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
index db2f07a..1ee3b88 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
@@ -5,6 +5,8 @@
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ycl.platform.base.AbsEntity;
+import enumeration.general.ImportantTagEnum;
+import enumeration.general.ProvinceTagEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -61,8 +63,13 @@
@TableField("dept_id")
private Long deptId;
- @TableField("point_tag")
- private String pointTag;
+ @ApiModelProperty("閲嶇偣鐐逛綅鏍囩")
+ @TableField("important_tag")
+ private ImportantTagEnum importantTag;
+
+ @ApiModelProperty("鐪佸巺鐐逛綅鏍囩")
+ @TableField("province_tag")
+ private ProvinceTagEnum provinceTag;
@TableField("serial_number")
private String serialNumber;
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java
index 76deb13..5514e75 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java
@@ -6,6 +6,8 @@
import com.ycl.system.domain.group.Add;
import com.ycl.platform.base.AbsForm;
import com.ycl.platform.domain.entity.YwPoint;
+import enumeration.general.ImportantTagEnum;
+import enumeration.general.ProvinceTagEnum;
import jakarta.validation.constraints.NotEmpty;
import org.springframework.beans.BeanUtils;
import jakarta.validation.constraints.NotBlank;
@@ -43,10 +45,10 @@
@ApiModelProperty("鐩戠閮ㄩ棬")
private Long deptId;
- @NotEmpty(message = "鐐逛綅鏍囩涓嶈兘涓虹┖", groups = {Add.class, Update.class})
- @ApiModelProperty("鐐逛綅鏍囩")
- private List<String> pointTag;
-
+ @ApiModelProperty("鐪佸巺鐐逛綅鏍囩")
+ private ProvinceTagEnum provinceTag;
+ @ApiModelProperty("閲嶇偣鐐逛綅鏍囩")
+ private ImportantTagEnum importantTag;
@ApiModelProperty("杩愮淮鐘舵��")
private String status;
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java
index a67e7dc..c2408a2 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/YwPointVO.java
@@ -5,6 +5,9 @@
import java.time.LocalDateTime;
import java.util.List;
+
+import enumeration.general.ImportantTagEnum;
+import enumeration.general.ProvinceTagEnum;
import org.springframework.lang.NonNull;
import org.springframework.beans.BeanUtils;
import lombok.Data;
@@ -46,9 +49,10 @@
private List<Long> deptIds;
private String deptName;
- /** 鐐逛綅鏍囩 */
- private String [] pointTags;
- private String pointTagString;
+ /** 閲嶇偣鐐逛綅鏍囩 */
+ private ImportantTagEnum importantTag;
+ /** 鐪佸巺鐐逛綅鏍囩 */
+ private ProvinceTagEnum provinceTag;
public static YwPointVO getVoByEntity(@NonNull YwPoint entity, YwPointVO vo) {
if(vo == null) {
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
index b8f6cfd..4cc8a0b 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
@@ -101,7 +101,6 @@
YwPoint entity = baseMapper.selectById(form.getId());
Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
BeanUtils.copyProperties(form, entity);
- entity.setPointTag(form.getPointTag().stream().collect(Collectors.joining(",")));
baseMapper.updateById(entity);
return Result.ok("淇敼鎴愬姛");
}
@@ -141,11 +140,6 @@
public Result page(YwPointQuery query) {
IPage<YwPointVO> page = PageUtil.getPage(query, YwPointVO.class);
baseMapper.page(page, query);
- page.getRecords().stream().forEach(point -> {
- if (StringUtils.hasText(point.getPointTagString())) {
- point.setPointTags(point.getPointTagString().split(","));
- }
- });
return Result.ok().data(page.getRecords()).total(page.getTotal());
}
@@ -159,9 +153,6 @@
YwPoint entity = baseMapper.selectById(id);
Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
YwPointVO vo = YwPointVO.getVoByEntity(entity, null);
- if (StringUtils.hasText(entity.getPointTag())) {
- vo.setPointTags(entity.getPointTag().split(","));
- }
if (Objects.nonNull(entity.getDeptId())) {
vo.setDeptIds(sysDeptMapper.selectParents(entity.getDeptId()));
}
diff --git a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java
index 0e1d9cb..e53b548 100644
--- a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java
@@ -3,10 +3,13 @@
import com.alibaba.druid.support.json.JSONUtils;
import com.alibaba.fastjson2.JSONArray;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ycl.platform.domain.entity.TMonitor;
+import com.ycl.platform.domain.entity.YwPoint;
import com.ycl.platform.domain.result.UY.OneMachineFileResult;
import com.ycl.platform.domain.vo.TMonitorVO;
import com.ycl.platform.service.ITMonitorService;
+import com.ycl.platform.service.YwPointService;
import com.ycl.system.entity.SysDictData;
import com.ycl.system.service.ISysDictDataService;
import com.ycl.utils.DateUtils;
@@ -18,6 +21,7 @@
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.*;
@@ -37,40 +41,63 @@
@Autowired
private ISysDictDataService dictDataService;
@Autowired
+ private YwPointService ywPointService;
+ @Autowired
private RedisTemplate redisTemplate;
//鍚屾mongodb涓�鏈轰竴妗e埌鏁版嵁搴�
public void synchronize() {
Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
List<OneMachineFileResult> oneMachineFileResults = mongoTemplate.find(query, OneMachineFileResult.class);
+ //鏁版嵁搴搈onitor琛ㄦ暟鎹�
List<String> serialNumberInBase = monitorService.selectTMonitorList(null).stream().map(TMonitorVO::getSerialNumber).collect(Collectors.toList());
//鍑嗗鎻掑叆鏁版嵁搴撶殑鏁版嵁
List<TMonitor> monitorList = new ArrayList<>();
//鏂扮殑鏁版嵁锛屽師鏁版嵁搴撲腑涓嶅瓨鍦ㄧ殑鏁版嵁
Set<TMonitor> newMonitorList = new HashSet<>();
-
+ //鐐逛綅鏁版嵁
+ Map<String, YwPoint> pointMap = ywPointService.list(new QueryWrapper<YwPoint>()).stream().collect(Collectors.toMap(YwPoint::getSerialNumber, Function.identity()));
+ //TODO:鎻掑叆鐐逛綅琛�
//TODO:瑙f瀽鍖哄煙銆佽ˉ鍏卍eptId
- List<SysDictData> areaCodeList = new ArrayList<>();
//TODO:瑙f瀽閲嶇偣鐐逛綅
//閲嶇偣鐐逛綅闆嗗悎瀛楀吀(瑙f瀽SXJCJQY瀛楁)
SysDictData sysDictData = new SysDictData();
sysDictData.setDictType("platform_important_site");
List<SysDictData> DictDataList = dictDataService.selectDictDataList(sysDictData);
List<String> importantSite = DictDataList.stream().map(SysDictData::getDictValue).collect(Collectors.toList());
-
for (OneMachineFileResult result : oneMachineFileResults) {
- TMonitor monitor = setMonitor(result);
+ TMonitor monitor = getMonitor(result);
+ YwPoint point = getPoint(result,pointMap,importantSite);
monitorList.add(monitor);
//姣斿绛涢�夊嚭鏂扮殑鏁版嵁
if(!CollectionUtils.isEmpty(serialNumberInBase) && !serialNumberInBase.contains(result.getSBBM())){
newMonitorList.add(monitor);
}
}
+ //鎻掑叆鏁版嵁搴�
+ if(!CollectionUtils.isEmpty(monitorList)){
+ monitorService.deleteTMonitorById(null);
+ monitorService.saveBatch(monitorList);
+ }
//鏂扮殑鏁版嵁鏀惧叆Redis涓瓑寰呰�冩牳鎸囨爣浠诲姟浣跨敤
redisTemplate.opsForValue().set(RedisConstant.New_Monitor_Set, JSONArray.toJSONString(newMonitorList));
+
}
- private TMonitor setMonitor(OneMachineFileResult result) {
+ private YwPoint getPoint(OneMachineFileResult result, Map<String, YwPoint> pointMap,List<String> importantSite) {
+ YwPoint ywPoint = new YwPoint();
+ if(pointMap.containsKey(result.getSBBM())){
+ ywPoint = pointMap.get(result.getSBBM());
+ }
+ //姣斿鏄惁鏄噸鐐圭偣浣�
+ if(importantSite.contains(result.getSBBM())){
+
+ }
+
+ return ywPoint;
+ }
+
+ private TMonitor getMonitor(OneMachineFileResult result) {
TMonitor monitor = new TMonitor();
monitor.setSerialNumber(result.getSBBM());
monitor.setName(result.getSBMC());
diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
index 446a57b..62acb31 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -251,7 +251,11 @@
<delete id="deleteTMonitorById" parameterType="Long">
delete
from t_monitor
- where id = #{id}
+ <where>
+ <if test="id !=null">
+ id = #{id}
+ </if>
+ </where>
</delete>
<delete id="deleteTMonitorByIds" parameterType="String">
diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
index ead5205..59aac6f 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
@@ -17,7 +17,8 @@
<result column="create_time" property="createTime" />
<result column="update_time" property="updateTime" />
<result column="category" property="category" />
- <result column="point_tag" property="pointTagString" />
+ <result column="province_tag" property="provinceTag" />
+ <result column="important_tag" property="importantTag" />
</resultMap>
<select id="selectData" resultType="com.ycl.platform.base.BaseSelect">
@@ -28,7 +29,6 @@
SELECT
typ.id,
typ.point_name,
- typ.point_tag,
typ.start_time,
typ.end_time,
typ.unit_id,
@@ -39,7 +39,8 @@
typ.remark,
typ.create_time,
typ.update_time,
- typ.point_tag,
+ typ.important_tag,
+ typ.province_tag,
typ.category
FROM
t_yw_point typ
@@ -67,10 +68,10 @@
select * from t_yw_point
<where>
<if test="important!=null and important!= '' ">
- and point_tag like concat('%', #{important}, '%')
+ and important_tag = #{important}
</if>
<if test="province!=null and province!= '' ">
- and point_tag like concat('%', #{province}, '%')
+ and province_tag = #{province}
</if>
</where>
</select>
--
Gitblit v1.8.0