From 7fa07718de92093c6315c5cb37bbc8dd7cdafa3c Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 25 十二月 2024 10:28:43 +0800
Subject: [PATCH] 考核积分修改、点位导出修改
---
ycl-server/src/main/java/com/ycl/task/ContractTask.java | 4
ycl-server/src/main/java/com/ycl/task/HKTask.java | 13 +-
ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml | 3
ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java | 4
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java | 19 ++-
ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java | 7 +
ycl-server/src/main/java/com/ycl/platform/mapper/CheckScoreMapper.java | 2
ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml | 2
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckScore.java | 1
ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml | 6
document/2024年运维考核细则.docx | 0
ycl-server/src/main/java/com/ycl/platform/controller/CheckScoreController.java | 11 ++
ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java | 68 ++++++-------
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 59 +++++++++++
ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java | 2
ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java | 56 +++++------
ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml | 10 ++
17 files changed, 174 insertions(+), 93 deletions(-)
diff --git "a/document/2024\345\271\264\350\277\220\347\273\264\350\200\203\346\240\270\347\273\206\345\210\231.docx" "b/document/2024\345\271\264\350\277\220\347\273\264\350\200\203\346\240\270\347\273\206\345\210\231.docx"
new file mode 100644
index 0000000..309584a
--- /dev/null
+++ "b/document/2024\345\271\264\350\277\220\347\273\264\350\200\203\346\240\270\347\273\206\345\210\231.docx"
Binary files differ
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckScore.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckScore.java
index d3a75e7..94b02f6 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckScore.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckScore.java
@@ -79,4 +79,5 @@
@TableField(exist = false)
private List<String> quarter;
+
}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java
index 0db8edb..e85eded 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java
@@ -46,7 +46,7 @@
private String unitContactPhone;
/** 宸ュ崟鏉ユ簮/璁惧鍚嶇О */
- @Excel(name = "璁惧鍚嶇О",sort = 3)
+ @Excel(name = "璁惧鍚嶇О",sort = 3,width = 25)
private String source;
/** ip */
@Excel(name = "IP",sort = 5)
@@ -54,15 +54,15 @@
/**
* 璁惧缂栧彿
*/
- @Excel(name = "璁惧缂栧彿",sort = 2)
+ @Excel(name = "璁惧缂栧彿",sort = 2,width = 22)
private String serialNumber;
/**
- * 鏍囩
+ * 鑰冩牳鏍囩
* @param entity
* @param vo
* @return
*/
- @Excel(name = "鏍囩",sort = 4)
+ @Excel(name = "鑰冩牳鏍囩",sort = 4)
private String tag;
/**
@@ -81,7 +81,14 @@
/** 鏁呴殰绫诲瀷 */
@Excel(name = "鏁呴殰绫诲瀷",sort = 8)
private String errorType;
-
+ /**
+ * 璁惧鏍囩
+ * @param entity
+ * @param vo
+ * @return
+ */
+ @Excel(name = "璁惧鏍囩",sort = 9,width = 30)
+ private String dynamicTag;
/** 宸ュ崟妫�娴嬪浘鐗� */
private String imgListStr;
@@ -89,7 +96,7 @@
/** 杩愮淮浜哄憳 */
private Integer ywPeopleId;
-
+ private Long pointId;
private String ywPeopleName;
/** 杩愮淮澶勭悊鏃堕棿 */
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/CheckScoreController.java b/ycl-server/src/main/java/com/ycl/platform/controller/CheckScoreController.java
index 1a53890..09f209b 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/CheckScoreController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/CheckScoreController.java
@@ -43,7 +43,16 @@
Map<Long, List<CheckScore>> deptMap = checkScoreService.selectCheckScoreList(checkScore);
return success(deptMap);
}
-
+ /**
+ * 鏌ヨ鑰冩牳绉垎鍗$墖鍒楄〃
+ */
+ @PreAuthorize("@ss.hasPermi('check:score:query')")
+ @PostMapping("/bar")
+ public AjaxResult bar(@RequestBody CheckScore checkScore)
+ {
+ Map<Long, List<CheckScore>> deptMap = checkScoreService.selectCheckScoreList(checkScore);
+ return success(deptMap);
+ }
/**
* 鏌ヨ鑰冩牳绉垎鎶樼嚎鍥�
*/
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/CheckScoreMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/CheckScoreMapper.java
index 61c4981..8c5999e 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/CheckScoreMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/CheckScoreMapper.java
@@ -81,7 +81,7 @@
* 棣栭〉鑰冩牳棰勮
* @return 鏁版嵁
*/
- List<Map<String, Object>> home();
+ List<Map<String, Object>> home(Date startTime,Date endTime);
/**
* 棣栭〉鏍哥畻
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java
index f1afa0a..62b512e 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java
@@ -11,11 +11,11 @@
import com.ycl.platform.domain.result.SYS.TMonitorResult;
import com.ycl.platform.domain.vo.TMonitorVO;
import com.ycl.platform.domain.vo.UpdateOnlineVO;
+import com.ycl.platform.domain.vo.WorkOrderVO;
import com.ycl.platform.domain.vo.screen.MonitorRateVO;
import com.ycl.platform.domain.vo.screen.MonitorTotalVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
-import org.springframework.security.core.parameters.P;
import java.util.Date;
import java.util.List;
@@ -183,4 +183,6 @@
List<TMonitor> selectCarOrFace();
List<TMonitorExp> exportTMonitorList(TMonitorVO tMonitor);
+
+ List<TMonitorResult> getByIp(@Param("ipList")List<String> ips);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java
index e649db4..57a706f 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java
@@ -30,6 +30,7 @@
import enumeration.general.PublishType;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -145,33 +146,35 @@
/**
* 鏌ヨ鑰冩牳绉垎鍗$墖鍒楄〃
- *
+ * 杩欓噷鏄剧ず褰撳ぉ鐨勬垚缁╁鏋滄病鏈夊綋澶╂垚缁╁垯鏄剧ず鏈�鍚庝竴娆℃垚缁�
* @param checkScore 鑰冩牳绉垎
* @return 鑰冩牳绉垎
*/
@Override
@DataScope(deptAlias = "d", userAlias = "u")
- public Map<Long, List<CheckScore>> selectCheckScoreList(CheckScore checkScore) {
+ public Map<Long, List<CheckScore>> selectCheckScoreList(CheckScore query) {
+ CheckScore checkScore = new CheckScore();
+ BeanUtils.copyProperties(query,checkScore);
//鍖哄幙鍙兘鐪嬪凡鍙戝竷
roleControl(checkScore);
- // 鑾峰彇鏁版嵁鏃ユ湡鏃堕棿
- Calendar calendar = Calendar.getInstance();
- getCheckScore(checkScore, calendar);
+ // 杞崲鏁版嵁鏃ユ湡鏃堕棿銆佹爣绛�
+ getCheckScore(checkScore);
- // 涓�鍙锋煡璇箣鍓嶇殑鏁版嵁
- if (LocalDateTime.now().getDayOfMonth() == 1) {
- calendar.add(Calendar.DAY_OF_MONTH, -1);
- }
+// // 涓�鍙锋煡璇箣鍓嶇殑鏁版嵁
+// if (LocalDateTime.now().getDayOfMonth() == 1) {
+// calendar.add(Calendar.DAY_OF_MONTH, -1);
+// }
List<CheckScore> checkScores = scoreMapper.selectCheckScoreMap(checkScore);
// 濡傛灉鏁版嵁涓虹┖锛屽垯鏌ヨ涔嬪墠鐨勬暟鎹�
- if (checkScores.isEmpty()) {
+ if (CollectionUtils.isEmpty(checkScores) && (query.getStartDate() ==null || query.getStartDate() ==null)) {
CheckScore one = scoreMapper.getLast(checkScore);
if (Objects.nonNull(one)) {
- calendar.setTime(one.getCreateTime());
- getCheckScore(checkScore, calendar);
+ checkScore.setStartDate(one.getCreateTime());
+ checkScore.setEndDate(one.getCreateTime());
+ getCheckScore(checkScore);
checkScores = scoreMapper.selectCheckScoreMap(checkScore);
}
}
@@ -180,31 +183,16 @@
return checkScores.stream().collect(Collectors.groupingBy(CheckScore::getDeptId));
}
- private void getCheckScore(CheckScore checkScore, Calendar calendar) {
- // 0.鐪佸巺鏈堝害 1.鐪佸巺瀛e害 2.甯傚眬鏈堝害 3.甯傚眬瀛e害 4.鍏畨閮ㄦ湀搴� 5.鍏畨閮ㄥ搴�
- switch (checkScore.getExamineTag()) {
- case 0, 2, 4:
- checkScore.setEndDate(calendar.getTime());
- calendar.set(Calendar.DAY_OF_MONTH, 1);
- checkScore.setStartDate(calendar.getTime());
- if (checkScore.getExamineTag() == 0)
- checkScore.setExamineTag(Integer.valueOf(CheckConstants.Examine_Tag_Province + ""));
- if (checkScore.getExamineTag() == 2)
- checkScore.setExamineTag(Integer.valueOf(CheckConstants.Examine_Tag_County + ""));
- if (checkScore.getExamineTag() == 4)
- checkScore.setExamineTag(Integer.valueOf(CheckConstants.Examine_Tag_Dept + ""));
- break;
- case 1, 3, 5:
- checkScore.setStartDate(DateUtils.getQuarterStart(calendar).getTime());
- checkScore.setEndDate(DateUtils.getQuarterEnd(calendar).getTime());
- if (checkScore.getExamineTag() == 1)
- checkScore.setExamineTag(Integer.valueOf(CheckConstants.Examine_Tag_Province + ""));
- if (checkScore.getExamineTag() == 3)
- checkScore.setExamineTag(Integer.valueOf(CheckConstants.Examine_Tag_County + ""));
- if (checkScore.getExamineTag() == 5)
- checkScore.setExamineTag(Integer.valueOf(CheckConstants.Examine_Tag_Dept + ""));
- break;
- }
+ private void getCheckScore(CheckScore checkScore) {
+ checkScore.setStartDate(DateUtils.getDayStart(checkScore.getStartDate()));
+ checkScore.setEndDate(DateUtils.getDayEnd(checkScore.getEndDate()));
+ // 0.鐪佸巺 1.甯傚眬 2.鍏畨閮�
+ if (checkScore.getExamineTag() == 0)
+ checkScore.setExamineTag(Integer.valueOf(CheckConstants.Examine_Tag_Province + ""));
+ if (checkScore.getExamineTag() == 1)
+ checkScore.setExamineTag(Integer.valueOf(CheckConstants.Examine_Tag_County + ""));
+ if (checkScore.getExamineTag() == 2)
+ checkScore.setExamineTag(Integer.valueOf(CheckConstants.Examine_Tag_Dept + ""));
}
/**
@@ -522,7 +510,11 @@
@Override
public List<Map<String, Object>> home() {
- return baseMapper.home();
+ Date now = new Date();
+ Calendar calendar = Calendar.getInstance();
+ calendar.add(Calendar.DATE, -7);
+ Date startTime = calendar.getTime();
+ return baseMapper.home(startTime,now);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java
index bc3b335..1deba5d 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java
@@ -249,7 +249,7 @@
job.setConcurrent("1");
job.setStatus(checkTemplateDTO.getStatus());
job.setJobGroup("CHECK");
- job.setCronExpression("0 0 6 * * ?");
+ job.setCronExpression("0 0 8 * * ?");
job.setJobName(checkTemplateDTO.getTemplateName());
int i = jobService.insertJob(job);
return job;
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java
index 3f09bc6..b044f0c 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java
@@ -352,8 +352,15 @@
return tMonitorMapper.recoveryException(monitor);
}
+ /**
+ * 鏌ongo鏌ユ煇涓湀璁惧鎬绘暟
+ * 鏌ョ湅宸ュ崟鏁伴噺鏌ョ湅寮傚父鐨勬暟
+ * @param monitorQuery 鏌ヨ鏉′欢
+ * @return
+ */
@Override
public Map<String, Object> home(HomeQuery monitorQuery) {
+
Map<String, Object> dataMap = new HashMap<>();
Map<String, Object> monthMap1 = new HashMap<>();
Map<String, Object> monthMap2 = new HashMap<>();
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index a8ee2ee..81b9299 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -13,6 +13,7 @@
import com.ycl.platform.domain.entity.*;
import com.ycl.platform.domain.form.*;
import com.ycl.platform.domain.query.*;
+import com.ycl.platform.domain.result.SYS.TMonitorResult;
import com.ycl.platform.domain.vo.*;
import com.ycl.platform.domain.vo.screen.ScreenWorkOrderVO;
import com.ycl.platform.domain.vo.screen.WorkOrderRegionVO;
@@ -78,6 +79,8 @@
public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder> implements WorkOrderService {
private final YwPointService ywPointService;
+ private final TMonitorMapper monitorMapper;
+ private final DynamicColumnMapper dynamicColumnMapper;
private final WorkOrderAuditingRecordMapper workOrderAuditingRecordMapper;
private final WorkOrderAuditingRecordService workOrderAuditingRecordService;
private final WorkOrderYwConditionRecordMapper workOrderYwConditionRecordMapper;
@@ -1113,6 +1116,12 @@
return Result.ok().data(workOrder);
}
+ /**
+ * 宸ュ崟瀵煎嚭鐨勯�昏緫
+ * 鏍囩锛氬悓涓�涓猧p鏍囩鍚堝湪涓�璧凤紝閽堝绂荤嚎宸ュ崟锛坕p鐩稿悓灏变笉浼氱敓鎴愬伐鍗曪級锛屾柟渚胯繍缁村鐞�
+ * @param query
+ * @return
+ */
@Override
public List<WorkOrderVO> export(WorkOrderExportQuery query) {
if (query.getUnitId() == null) {
@@ -1121,13 +1130,59 @@
if (query.getStart() != null) query.setStart(query.getStart() + " 00:00:00");
if (query.getEnd() != null) query.setEnd(query.getEnd() + " 23:59:59");
List<WorkOrderVO> export = baseMapper.export(query);
+ if(CollectionUtils.isEmpty(export)) return new ArrayList<WorkOrderVO>();
+ List<String> ips = export.stream().map(WorkOrderVO::getIp).collect(Collectors.toList());
+ //鏌ュ嚭鐩稿悓ip鐨勮澶囥�佸苟鏌ュ嚭鏍囩
+ List<TMonitorResult> monitorVOS = monitorMapper.getByIp(ips);
+ //鑾峰彇鍔ㄦ�佸垪鏁版嵁
+ List<Integer> pointIds = monitorVOS.stream().map(TMonitorResult::getPointId).collect(Collectors.toList());
+ List<DynamicColumnVO> dynamics = dynamicColumnMapper.getDynamicsByIds("t_yw_point", pointIds);
+ //琛ュ厖鍔ㄦ�佸垪鏁版嵁
+ if (!CollectionUtils.isEmpty(dynamics)) {
+ Map<Integer, List<DynamicColumnVO>> map = dynamics.stream().collect(Collectors.groupingBy(DynamicColumnVO::getRefId));
+ for (TMonitorResult tMonitorResult : monitorVOS) {
+ Integer pointId = tMonitorResult.getPointId();
+ tMonitorResult.setDynamicColumnList(map.get(pointId));
+ }
+ }
export.forEach(result->{
- StringBuilder tag = new StringBuilder("" + (result.getProvinceTagVideo() ? "鐪佸巺瑙嗛銆�" : "")+(result.getProvinceTagCar() ? "鐪佸巺杞﹁締銆�" : "")+(result.getProvinceTagFace() ? "鐪佸巺浜鸿劯銆�" : "") + (result.getImportantTag() ? "閲嶇偣鐐逛綅銆�" : "") + (result.getImportantCommandImageTag() ? "閲嶇偣鎸囨尌鍥惧儚銆�" : "") + (result.getDeptTag() ? "閮ㄧ骇銆�" : ""));
- // 鍒犻櫎瀛楃涓叉湯灏剧殑鈥溿�佲��
+ StringBuilder dynamicTag = new StringBuilder("");
+ Boolean provinceTagVideo = false;
+ Boolean provinceTagCar = false;
+ Boolean provinceTagFace = false;
+ Boolean importantTag = false;
+ Boolean importantCommandImageTag = false;
+ Boolean deptTag = false;
+ List<String> dynamicTags = new ArrayList<>();
+ for (TMonitorResult tagVO : monitorVOS) {
+ if(tagVO.getIp().equals(result.getIp())){
+ if(tagVO.getProvinceTagVideo()) provinceTagVideo = true;
+ if(tagVO.getProvinceTagCar()) provinceTagCar = true;
+ if(tagVO.getProvinceTagFace()) provinceTagFace = true;
+ if(tagVO.getImportantTag()) importantTag = true;
+ if(tagVO.getImportantCommandImageTag()) importantCommandImageTag = true;
+ if(tagVO.getDeptTag()) deptTag = true;
+ //鍔ㄦ�佸垪澶勭悊鍔犲湪鏍囩閲�
+ if (!CollectionUtils.isEmpty(tagVO.getDynamicColumnList())) {
+ List<DynamicColumnVO> dynamicColumnList = tagVO.getDynamicColumnList();
+ for (DynamicColumnVO dynamicColumnVO : dynamicColumnList) {
+ if(!dynamicTags.contains(dynamicColumnVO.getColumnValue())) dynamicTags.add(dynamicColumnVO.getColumnValue());
+ }
+ }
+ }
+ }
+ for (String tag : dynamicTags) {
+ dynamicTag.append(tag).append("銆�");
+ }
+ StringBuilder tag = new StringBuilder("" + (provinceTagVideo ? "鐪佸巺瑙嗛銆�" : "")+(provinceTagCar ? "鐪佸巺杞﹁締銆�" : "")+(provinceTagFace ? "鐪佸巺浜鸿劯銆�" : "") + (importantTag ? "閲嶇偣鐐逛綅銆�" : "") + (importantCommandImageTag ? "閲嶇偣鎸囨尌鍥惧儚銆�" : "") + (deptTag ? "閮ㄧ骇銆�" : ""));
if (tag.toString().endsWith("銆�")) {
tag = new StringBuilder(tag.substring(0, tag.length() - 1));
}
+ if (dynamicTag.toString().endsWith("銆�")) {
+ dynamicTag = new StringBuilder(dynamicTag.substring(0, dynamicTag.length() - 1));
+ }
result.setTag(tag.toString());
+ result.setDynamicTag(dynamicTag.toString());
});
return export;
}
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 77e4435..c20dd0c 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
@@ -201,7 +201,11 @@
Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
YwPointVO vo = YwPointVO.getVoByEntity(entity, null);
if (Objects.nonNull(entity.getDeptId())) {
- vo.setDeptIds(sysDeptMapper.selectParents(entity.getDeptId()));
+ //TODO:鏂规硶寰呭畬鍠� 绠�鍗曞鐞�
+ List<Long> deptIds = sysDeptMapper.selectParents(entity.getDeptId());
+ deptIds.remove(deptIds.size()-1);
+ deptIds.add(entity.getDeptId());
+ vo.setDeptIds(deptIds);
}
return Result.ok().data(vo);
}
@@ -436,40 +440,32 @@
}
//鏍规嵁label_value鍜宺ef_id鍒ゆ柇鏄惁鏄悓涓�鏁版嵁
for (PointExport pointExport : dataList) {
- //寰楀埌excel涓姩鎬佸垪鍚嶄綔涓簁ey鐨刴ap
- Map<String, DynamicColumnVO> exportMap = pointExport.getDynamicData().stream().collect(Collectors.toMap(DynamicColumnVO::getLabelValue, Function.identity()));
- //鏌ュ嚭鏁版嵁搴撲腑杩欎釜鐐逛綅鐨勫姩鎬佸垪
- List<DynamicColumnVO> dynamicColumnVOS = dynamicVOMap.get(pointExport.getId());
- if (!CollectionUtils.isEmpty(dynamicColumnVOS)) {
- //閬嶅巻鏁版嵁搴撲腑杩欎釜鐐逛綅鐨勫姩鎬佸垪锛屽苟鏍规嵁鍔ㄦ�佸垪鍚嶆壘鍑篹xcel涓殑鍊�
- for (DynamicColumnVO vo : dynamicColumnVOS) {
- DynamicColumnVO dynamicColumnVO = exportMap.get(vo.getLabelValue());
- //瀛樺湪璇存槑excel鏈夎繖涓暟鎹紝灏嗘暟鎹簱杩欎釜鏁版嵁鐨勫�兼敼涓篹xcel鐨勫��
- if (dynamicColumnVO.getColumnValue() != null) {
- DynamicColumnValue entity = new DynamicColumnValue();
- entity.setColumnValue(dynamicColumnVO.getColumnValue());
- entity.setDynamicColumnId(vo.getId());
- entity.setRefId(vo.getRefId());
- entity.setId(vo.getValueId());
- updateList.add(entity);
+ //鏁版嵁搴撲腑鐨勫姩鎬佸垪
+ List<DynamicColumnVO> dynamicColumnVOS = dynamicVOMap.getOrDefault(pointExport.getId(), Collections.emptyList());
+ Map<String, DynamicColumnVO> databaseMap = dynamicColumnVOS.stream()
+ .collect(Collectors.toMap(DynamicColumnVO::getLabelValue, Function.identity()));
+ for (DynamicColumnVO excelVo : pointExport.getDynamicData()) {
+ String labelValue = excelVo.getLabelValue();
+ DynamicColumnVO databaseVo = databaseMap.get(labelValue);
+ //濡傛灉excel鍊间笉涓虹┖鍒ゅ畾涓烘柊澧炴垨淇敼
+ if (excelVo.getColumnValue() != null) {
+ Integer dynamicId = dictionary.get(labelValue);
+ DynamicColumnValue entity = new DynamicColumnValue();
+ entity.setColumnValue(excelVo.getColumnValue());
+ entity.setRefId(pointExport.getId());
+ //鏁版嵁搴撴壘涓嶅埌涓烘柊澧炲惁鍒欎负淇敼
+ if (databaseVo != null) {
+ entity.setDynamicColumnId(databaseVo.getId());
+ entity.setId(databaseVo.getValueId());
+ updateList.add(entity);
} else {
- //涓嶅瓨鍦ㄥ垯鍙栨秷鏍囩锛屽垹闄�
- deleteList.add(vo.getValueId());
- }
- }
- } else {
- //鏁版嵁搴撻噷鏌ヤ笉鍒癳xcel閲岄潰鐨勮繖涓偣浣嶅姩鎬佸垪锛屽叏涓烘柊澧�
- List<DynamicColumnVO> dynamicData = pointExport.getDynamicData();
- for (DynamicColumnVO excelData : dynamicData) {
- if (excelData.getColumnValue() != null) {
- Integer dynamicId = dictionary.get(excelData.getLabelValue());
- DynamicColumnValue entity = new DynamicColumnValue();
- entity.setColumnValue(excelData.getColumnValue());
entity.setDynamicColumnId(dynamicId);
- entity.setRefId(pointExport.getId());
insertList.add(entity);
}
+ } else if (databaseVo != null) {
+ //excel閲屼负绌轰絾鏄暟鎹簱瀛樺湪 鍒犻櫎
+ deleteList.add(databaseVo.getValueId());
}
}
}
diff --git a/ycl-server/src/main/java/com/ycl/task/ContractTask.java b/ycl-server/src/main/java/com/ycl/task/ContractTask.java
index a62d7d1..2112870 100644
--- a/ycl-server/src/main/java/com/ycl/task/ContractTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/ContractTask.java
@@ -228,7 +228,7 @@
// }
// }
//鍓嶇鎰熺煡婧愭不鐞嗗伐浣滐紙鏃堕挓鍚屾瑙勫垯銆丱SD瑙勫垯銆佷竴鏈轰竴妗h鍒欙級
- if (ErrorType.OSD_ERROR.getValue().equals(errorType) || ErrorType.CLOCK_SKEW.getValue().equals(errorType) || ErrorType.CLOCK_RIGHT.getValue().equals(errorType)) {
+ if (ErrorType.OSD_ERROR.getValue().equals(errorType) || ErrorType.CLOCK_SKEW.getValue().equals(errorType) || ErrorType.CLOCK_RIGHT.getValue().equals(errorType) || ErrorType.POINT_INFO_ERROR.getValue().equals(errorType)) {
if (!CollectionUtils.isEmpty(monitorRuleMap)) {
monitorRuleMap.forEach((contractId, rules) -> {
Integer unitId = rules.get(0).getUnitId();
@@ -252,7 +252,7 @@
}
}
//鐐逛綅寮傚父鎯呭喌澶勭悊锛堥暅澶村紓甯搞�佹憚鍍忓ご閬尅绛夛級
- if (ErrorType.SCREEN_OCCLUSION.getValue().equals(errorType)) {
+ if (ErrorType.SCREEN_OCCLUSION.getValue().equals(errorType) || ErrorType.SIGNAL_LOSS.getValue().equals(errorType) || ErrorType.SCREEN_COLOR_DEVIATION.getValue().equals(errorType) || ErrorType.SNOW_STORM.getValue().equals(errorType) || ErrorType.STRIPE_INTERFERENCE.getValue().equals(errorType) || ErrorType.ABNORMAL_CLARITY.getValue().equals(errorType)) {
if (!CollectionUtils.isEmpty(monitorRuleMap)) {
siteRuleMap.forEach((contractId, rules) -> {
Integer unitId = rules.get(0).getUnitId();
diff --git a/ycl-server/src/main/java/com/ycl/task/HKTask.java b/ycl-server/src/main/java/com/ycl/task/HKTask.java
index 759cf0e..77ea50f 100644
--- a/ycl-server/src/main/java/com/ycl/task/HKTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/HKTask.java
@@ -581,24 +581,23 @@
car.setViewConnectStability(new BigDecimal(score.getDownCarDataUploadScoreString() == null ? "1" : score.getDownCarDataUploadScoreString()));
car.setSiteOnline(new BigDecimal(score.getDownCrossQualityCarScoreString() == null ? "1" : score.getDownCrossQualityCarScoreString()));
car.setDeviceDirectoryConsistent(new BigDecimal(score.getDownCrossNumPushCarScoreString() == null ? "1" : score.getDownCrossNumPushCarScoreString()));
- //TODO:寰呭畬鍠�
+ //TODO:娌℃壘鍒拌�冩牳椤�
car.setVehicleInformationCollectionAccuracy(new BigDecimal("1"));
- //TODO:寰呭畬鍠� 閲嶇偣鎬庝箞鍔犺繘鍘�
car.setVehicleCaptureIntegrity(new BigDecimal(score.getDownCrossAllCarDataIntegrityScoreString() == null ? "1" : score.getDownCrossAllCarDataIntegrityScoreString()));
- //TODO:寰呭畬鍠� 涓や釜椤瑰悎鎴愪竴涓�
+ //娴峰悍鏄涓�1鐨勶紝浣嗘槸鎺ュ彛鎺ㄧ殑鍘熷鏁版嵁
car.setVehicleCaptureAccuracy(new BigDecimal("1"));
car.setVehicleTimingAccuracy(new BigDecimal(score.getDownCrossCarInvertScoreString() == null ? "1" : score.getDownCrossCarInvertScoreString()));
car.setVehicleUploadTimeliness(new BigDecimal(score.getDownCrossAllCarDelayScoreString() == null ? "1" : score.getDownCrossAllCarDelayScoreString()));
- //TODO:寰呭畬鍠�
+ //TODO:娌℃壘鍒拌�冩牳椤�
car.setVehicleUrlAvailability(new BigDecimal("1"));
car.setVehiclePictureAvailability(new BigDecimal(score.getDownCrossPictureQualityCarScoreString() == null ? "1" : score.getDownCrossPictureQualityCarScoreString()));
face.setViewConnectStability(new BigDecimal(score.getDownFaceDataUploadScoreString() == null ? "1" : score.getDownFaceDataUploadScoreString()));
face.setSiteOnline(new BigDecimal(score.getDownFaceDataUploadScoreString() == null ? "1" : score.getDownFaceDataUploadScoreString()));
- face.setDeviceDirectoryConsistent(new BigDecimal(score.getDownCrossNumPushCarScoreString() == null ? "1" : score.getDownCrossNumPushCarScoreString()));
- //TODO:寰呭畬鍠�
+ face.setDeviceDirectoryConsistent(new BigDecimal(score.getDownCrossNumPushFaceScoreString() == null ? "1" : score.getDownCrossNumPushFaceScoreString()));
+ //TODO:娌℃壘鍒拌�冩牳椤�
face.setFaceInformationCollectionAccuracy(new BigDecimal("1"));
- //TODO:寰呭畬鍠�
+ //TODO:娌℃壘鍒拌�冩牳椤�
face.setFacePictureQualification(new BigDecimal("1"));
face.setFaceTimingAccuracy(new BigDecimal(score.getDownCrossFaceInvertScoreString() == null ? "1" : score.getDownCrossFaceInvertScoreString()));
face.setFaceUploadTimeliness(new BigDecimal(score.getDownCrossAllFaceDelayScoreString() == null ? "1" : score.getDownCrossAllFaceDelayScoreString()));
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml
index 4a0a076..33bfe57 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml
@@ -180,21 +180,21 @@
d.area,
CASE
WHEN cs.examine_tag = '0' THEN '鐪佸巺'
- WHEN cs.examine_tag = '1' THEN '甯傚眬'
+ WHEN cs.examine_tag = '1' THEN '鍖哄幙'
WHEN cs.examine_tag = '2' THEN '' END AS examineTag,
ct.template_name AS templateName,
cs.score
FROM t_check_score cs
LEFT JOIN t_check_template ct ON cs.template_id = ct.id
LEFT JOIN sys_dept d ON cs.dept_id = d.dept_id
- WHERE cs.score < ct.alarm_score
+ WHERE cs.score < ct.alarm_score and cs.create_time between #{startTime} and #{endTime}
ORDER BY cs.create_time DESC
]]>
</select>
<select id="calculate" resultType="java.util.Map">
SELECT area AS deptName,
- ROUND(AVG(score)) AS score
+ ROUND(AVG(score),2) AS score
FROM t_check_score tcs
LEFT JOIN sys_dept d ON tcs.dept_id = d.dept_id
WHERE examine_tag = 1
diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
index d403d91..23091ce 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -696,4 +696,14 @@
on m.serial_number = p.serial_number
where (m.camera_fun_type = '2' or m.camera_fun_type = '3') and p.examine_status = 1
</select>
+
+ <select id="getByIp" resultType="com.ycl.platform.domain.result.SYS.TMonitorResult">
+ select m.ip,m.serial_number as no,p.id as pointId,p.province_tag_video,p.province_tag_car,p.province_tag_face,p.dept_tag,p.important_tag,p.important_command_image_tag
+ from t_monitor m
+ left join t_yw_point p on m.serial_number = p.serial_number
+ where m.ip in
+ <foreach collection="ipList" item="ip" separator="," close=")" open="(">
+ #{ip}
+ </foreach>
+ </select>
</mapper>
diff --git a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
index 4f2c8b9..db29bbe 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
@@ -265,6 +265,7 @@
WHERE DATE_FORMAT(w.create_time, '%Y') = DATE_FORMAT(NOW(), '%Y')
AND w.deleted = 0 AND unit_id = #{unitId}
GROUP BY dateType
+ ORDER BY dateType
</if>
<if test="dateType == 'week'">
@@ -281,6 +282,7 @@
w.create_time BETWEEN DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY) AND DATE_ADD(CURDATE(), INTERVAL (6 - WEEKDAY(CURDATE())) DAY)
AND w.deleted = 0 AND unit_id = #{unitId}
GROUP BY dateType
+ ORDER BY dateType
</if>
<if test="dateType == 'day'">
@@ -297,6 +299,7 @@
DATE_FORMAT(w.create_time, '%Y-%m-%d') BETWEEN DATE_FORMAT(CURDATE(), '%Y-%m-01') AND LAST_DAY(CURDATE())
AND w.deleted = 0 AND unit_id = #{unitId}
GROUP BY dateType
+ ORDER BY dateType
</if>
</select>
diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
index ae5d9d2..a503036 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
@@ -87,7 +87,7 @@
SELECT t_yw_point.id, point_name, start_time, end_time, status, unit_name AS remark
FROM t_yw_point
LEFT JOIN t_yw_unit ON t_yw_unit.id = t_yw_point.unit_id AND t_yw_point.deleted = 0
- WHERE t_yw_point.deleted = 0
+ WHERE t_yw_point.deleted = 0 AND t_yw_point.examine_status = 1
AND TIMESTAMPDIFF(MONTH, NOW(), end_time) <= (SELECT config_value
FROM sys_config
WHERE config_key = 'operation.and.maintenance.expiration.warning.time')
--
Gitblit v1.8.0