From ac9efc618210e1df40dfba9f779ca27739d2b343 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 08 五月 2024 17:29:00 +0800
Subject: [PATCH] 考核模板关联定时任务
---
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckTemplateRule.java | 3
ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml | 8
ycl-pojo/src/main/java/com/ycl/platform/domain/dto/CheckScoreIndexDTO.java | 3
ycl-common/src/main/java/constant/CheckConstants.java | 9
ycl-pojo/src/main/java/com/ycl/system/entity/BaseEntity.java | 6
ycl-pojo/src/main/java/com/ycl/platform/domain/dto/ScoreIndexDTO.java | 13 +
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java | 15 +
ycl-server/src/main/java/com/ycl/platform/service/ICheckTemplateService.java | 26 +
ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml | 8
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java | 4
ycl-server/src/main/resources/mapper/zgyw/CheckTemplateRuleMapper.xml | 2
ycl-server/src/main/java/com/ycl/platform/service/ICheckScoreService.java | 62 ++--
/dev/null | 26 --
ycl-server/src/main/java/com/ycl/platform/mapper/CheckScoreMapper.java | 6
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java | 4
ycl-server/src/main/java/com/ycl/platform/controller/CheckTemplateController.java | 14
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckScore.java | 5
ycl-server/src/main/java/com/ycl/task/CheckScoreTask.java | 159 +++++++++++++
ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml | 23 +
ycl-pojo/src/main/java/com/ycl/platform/base/CheckIndex.java | 30 ++
ycl-server/src/main/java/com/ycl/platform/controller/CheckScoreController.java | 11
ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java | 133 ++++++----
ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml | 9
ycl-server/src/main/java/com/ycl/platform/service/impl/CheckTemplateServiceImpl.java | 86 ++++--
24 files changed, 475 insertions(+), 190 deletions(-)
diff --git a/ycl-common/src/main/java/constant/CheckConstants.java b/ycl-common/src/main/java/constant/CheckConstants.java
index ad105a6..b6c52e9 100644
--- a/ycl-common/src/main/java/constant/CheckConstants.java
+++ b/ycl-common/src/main/java/constant/CheckConstants.java
@@ -11,8 +11,17 @@
//浜鸿劯瑙勫垯
public static final Short Rule_Category_Face = 3;
+ //鐪佸巺
+ public static final Short Examine_Tag_City = 0;
+ //鍖哄幙
+ public static final Short Examine_Tag_County = 1;
+
public static final String Delete = "1";
+ //涔�
+ public static final String Multiply = "*";
+ //闄�
+ public static final String Divided = "/";
public static final String Status_Use = "0";
public static final String Status_Stop = "1";
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/base/CheckIndex.java b/ycl-pojo/src/main/java/com/ycl/platform/base/CheckIndex.java
index b6485cc..55c23d9 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/base/CheckIndex.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/base/CheckIndex.java
@@ -4,11 +4,14 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
+import java.util.List;
public abstract class CheckIndex {
public Long id;
- //鏌ヨ鏉′欢锛屾棩鏈�
+ //鏌ヨ鏉′欢锛屾湀浠�
public String date;
+ //鏌ヨ鏉′欢锛屾棩鏈�
+ public String day;
@Excel(name = "鏃ユ湡",dateFormat = "yyyy-MM-dd")
public Date createTime;
@@ -19,9 +22,9 @@
/** 鑰冩牳鏍囩锛堢渷鍘�/甯傚眬锛� */
@Excel(name = "鑰冩牳鏍囩", dictType = "platform_examine_tag")
- public Long examineTag;
+ public Short examineTag;
-
+ public List<Integer> deptIds;
public Long getId() {
return id;
}
@@ -62,11 +65,28 @@
this.deptName = deptName;
}
- public Long getExamineTag() {
+ public Short getExamineTag() {
return examineTag;
}
- public void setExamineTag(Long examineTag) {
+ public void setExamineTag(Short examineTag) {
this.examineTag = examineTag;
}
+
+ public List<Integer> getDeptIds() {
+ return deptIds;
+ }
+
+
+ public String getDay() {
+ return day;
+ }
+
+ public void setDay(String day) {
+ this.day = day;
+ }
+
+ public void setDeptIds(List<Integer> deptIds) {
+ this.deptIds = deptIds;
+ }
}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/dto/CheckScoreIndexDTO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/dto/CheckScoreIndexDTO.java
index 05c3213..38eaacf 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/dto/CheckScoreIndexDTO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/dto/CheckScoreIndexDTO.java
@@ -1,9 +1,10 @@
package com.ycl.platform.domain.dto;
+import com.ycl.system.entity.BaseEntity;
import lombok.Data;
@Data
-public class CheckScoreIndexDTO {
+public class CheckScoreIndexDTO extends BaseEntity {
private Long id;
private String date;
}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/dto/ScoreIndexDTO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/dto/ScoreIndexDTO.java
new file mode 100644
index 0000000..aa15b1c
--- /dev/null
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/dto/ScoreIndexDTO.java
@@ -0,0 +1,13 @@
+package com.ycl.platform.domain.dto;
+
+import com.ycl.system.entity.BaseEntity;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+@Data
+@Accessors(chain = true)
+public class ScoreIndexDTO extends BaseEntity {
+ private String tableName;
+ private Long deptId;
+ private String date;
+}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java
index 224f9e3..1d85b4c 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java
@@ -109,12 +109,12 @@
}
@Override
- public Long getExamineTag() {
+ public Short getExamineTag() {
return super.getExamineTag();
}
@Override
- public void setExamineTag(Long examineTag) {
+ public void setExamineTag(Short examineTag) {
super.setExamineTag(examineTag);
}
public void setViewConnectStability(BigDecimal viewConnectStability)
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java
index 299a991..46a0275 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java
@@ -167,12 +167,12 @@
}
@Override
- public Long getExamineTag() {
+ public Short getExamineTag() {
return super.getExamineTag();
}
@Override
- public void setExamineTag(Long examineTag) {
+ public void setExamineTag(Short examineTag) {
super.setExamineTag(examineTag);
}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java
index 2d41919..d9e4844 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java
@@ -96,6 +96,9 @@
@Excel(name = "瑙嗛浼犺緭缃戣竟鐣屽畬鏁存�ф娴嬫墸鍒嗛」",width = 25)
private BigDecimal videoTransmissionBoundaryIntegrityDetection;
+ /** 瑙嗛浼犺緭缃戣竟鐣屽畬鏁存�ф娴嬫墸鍒嗛」 */
+ @Excel(name = "閲嶇偣鎸囨尌鍥惧儚鍦ㄧ嚎鐜�",width = 25)
+ private BigDecimal keyCommandImageOnline;
/** 鏈堣繍琛岀巼 */
@Excel(name = "鏈堣繍琛岀巼")
private BigDecimal operatingRate;
@@ -186,6 +189,14 @@
public void setKeyAnnotationAccuracy(BigDecimal keyAnnotationAccuracy) {
this.keyAnnotationAccuracy = keyAnnotationAccuracy;
+ }
+
+ public BigDecimal getKeyCommandImageOnline() {
+ return keyCommandImageOnline;
+ }
+
+ public void setKeyCommandImageOnline(BigDecimal keyCommandImageOnline) {
+ this.keyCommandImageOnline = keyCommandImageOnline;
}
public BigDecimal getKeyTimingAccuracy() {
@@ -311,12 +322,12 @@
}
@Override
- public Long getExamineTag() {
+ public Short getExamineTag() {
return super.getExamineTag();
}
@Override
- public void setExamineTag(Long examineTag) {
+ public void setExamineTag(Short examineTag) {
super.setExamineTag(examineTag);
}
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 97ca2bb..030bc2c 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
@@ -6,12 +6,14 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ycl.system.entity.BaseEntity;
import lombok.Data;
+import lombok.experimental.Accessors;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
+import java.util.Map;
/**
* 鑰冩牳绉垎鏄庣粏瀵硅薄 t_check_score
@@ -21,7 +23,7 @@
*/
@Data
@TableName("t_check_score")
-public class CheckScore
+public class CheckScore extends BaseEntity
{
private static final long serialVersionUID = 1L;
@@ -66,4 +68,5 @@
//鎶樼嚎鍥炬棩鏈熷弬鏁�
@TableField(exist = false)
private String date;
+
}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckTemplateRule.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckTemplateRule.java
index e09c47e..0a703e8 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckTemplateRule.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckTemplateRule.java
@@ -44,6 +44,9 @@
@Excel(name = "瑙勫垯鏉冮噸")
@TableField("weight")
private BigDecimal weight;
+
@TableField(exist = false)
private String checkRuleName;
+ @TableField(exist = false)
+ private String ruleIndex;
}
diff --git a/ycl-pojo/src/main/java/com/ycl/system/entity/BaseEntity.java b/ycl-pojo/src/main/java/com/ycl/system/entity/BaseEntity.java
index 52bc99e..78f5483 100644
--- a/ycl-pojo/src/main/java/com/ycl/system/entity/BaseEntity.java
+++ b/ycl-pojo/src/main/java/com/ycl/system/entity/BaseEntity.java
@@ -5,6 +5,7 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
@@ -35,15 +36,16 @@
private Date createTime;
/** 鏇存柊鑰� */
- @TableField(fill = FieldFill.UPDATE)
+ @TableField(exist = false)
private String updateBy;
/** 鏇存柊鏃堕棿 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @TableField(fill = FieldFill.UPDATE)
+ @TableField(exist = false)
private Date updateTime;
/** 澶囨敞 */
+ @TableField(exist = false)
private String remark;
/** 璇锋眰鍙傛暟 */
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 f3e736c..bdcb0ec 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
@@ -35,7 +35,7 @@
/**
* 鏌ヨ鑰冩牳绉垎鍗$墖鍒楄〃
*/
- @PreAuthorize("@ss.hasPermi('check:score:list')")
+// @PreAuthorize("@ss.hasPermi('check:score:list')")
@GetMapping("/list")
public AjaxResult list(CheckScore checkScore)
{
@@ -46,7 +46,7 @@
/**
* 鍖哄幙璇︽儏鍒楄〃
*/
- @PreAuthorize("@ss.hasPermi('check:score:list')")
+// @PreAuthorize("@ss.hasPermi('check:score:list')")
@GetMapping("/detail")
public TableDataInfo detail(CheckScore checkScore)
{
@@ -59,7 +59,7 @@
/**
* 鑾峰彇鑰冩牳鎸囨爣璇︾粏淇℃伅
*/
- @PreAuthorize("@ss.hasPermi('check:score:query')")
+// @PreAuthorize("@ss.hasPermi('check:score:query')")
@GetMapping(value = "/detail/index")
public AjaxResult getIndex(CheckScoreIndexDTO checkScoreIndexDTO)
{
@@ -70,19 +70,18 @@
/**
* 鍙戝竷鑰冩牳绉垎
*/
- @PreAuthorize("@ss.hasPermi('check:score:edit')")
+// @PreAuthorize("@ss.hasPermi('check:score:edit')")
@Log(title = "鍙戝竷鑰冩牳绉垎", businessType = BusinessType.UPDATE)
@PutMapping("/publish")
public AjaxResult edit(@RequestBody CheckScoreDTO checkScoreDTO)
{
-
return toAjax(checkScoreService.publishCheckScore(checkScoreDTO));
}
/**
* 瀵煎嚭鑰冩牳绉垎鍒楄〃
*/
- @PreAuthorize("@ss.hasPermi('check:score:export')")
+// @PreAuthorize("@ss.hasPermi('check:score:export')")
@Log(title = "瀵煎嚭鑰冩牳绉垎", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, CheckScore checkScore) throws IOException {
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/CheckTemplateController.java b/ycl-server/src/main/java/com/ycl/platform/controller/CheckTemplateController.java
index 46aae35..ddce8d5 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/CheckTemplateController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/CheckTemplateController.java
@@ -1,6 +1,7 @@
package com.ycl.platform.controller;
import annotation.Log;
+import com.ycl.exception.job.TaskException;
import com.ycl.platform.domain.entity.CheckTemplate;
import com.ycl.platform.domain.entity.CheckTemplateRule;
import com.ycl.platform.domain.query.CheckTemplateQuery;
@@ -12,6 +13,7 @@
import com.ycl.system.page.TableDataInfo;
import enumeration.BusinessType;
import io.swagger.annotations.ApiOperation;
+import org.quartz.SchedulerException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
@@ -63,8 +65,7 @@
@PreAuthorize("@ss.hasPermi('check:template:add')")
@Log(title = "鏂板鑰冩牳妯℃澘", businessType = BusinessType.INSERT)
@PostMapping
- public AjaxResult add(@RequestBody @Validated CheckTemplateQuery checkTemplateDTO)
- {
+ public AjaxResult add(@RequestBody @Validated CheckTemplateQuery checkTemplateDTO) throws SchedulerException, TaskException {
return toAjax(checkTemplateService.insertCheckTemplate(checkTemplateDTO));
}
@@ -75,8 +76,7 @@
@PreAuthorize("@ss.hasPermi('check:template:copy')")
@Log(title = "澶嶅埗鑰冩牳妯℃澘", businessType = BusinessType.INSERT)
@PostMapping("/copy")
- public AjaxResult copy(@RequestBody CheckTemplateQuery checkTemplateDTO)
- {
+ public AjaxResult copy(@RequestBody CheckTemplateQuery checkTemplateDTO) throws SchedulerException, TaskException {
return toAjax(checkTemplateService.copyCheckTemplate(checkTemplateDTO));
}
@@ -86,8 +86,7 @@
@PreAuthorize("@ss.hasPermi('check:template:edit')")
@Log(title = "淇敼鑰冩牳妯℃澘", businessType = BusinessType.UPDATE)
@PutMapping
- public AjaxResult edit(@RequestBody CheckTemplateQuery checkTemplateDTO)
- {
+ public AjaxResult edit(@RequestBody CheckTemplateQuery checkTemplateDTO) throws SchedulerException, TaskException {
return checkTemplateService.updateCheckTemplate(checkTemplateDTO);
}
@@ -107,8 +106,7 @@
@PreAuthorize("@ss.hasPermi('check:template:remove')")
@Log(title = "鍒犻櫎鑰冩牳妯℃澘", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
- public AjaxResult remove(@PathVariable String id)
- {
+ public AjaxResult remove(@PathVariable String id) throws SchedulerException {
return toAjax(checkTemplateService.deleteCheckTemplateById(Integer.parseInt(id)));
}
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 59510a7..526a05d 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
@@ -3,6 +3,7 @@
import annotation.AutoFill;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycl.platform.domain.dto.CheckScoreDTO;
+import com.ycl.platform.domain.dto.ScoreIndexDTO;
import com.ycl.platform.domain.entity.CheckScore;
import enumeration.OperationType;
@@ -68,5 +69,8 @@
@AutoFill(OperationType.UPDATE)
int publishCheckScore(CheckScoreDTO checkScoreDTO);
- List<Map> selectScoreIndex(String tableName,Long deptId,String date);
+ List<Map> selectScoreIndex(ScoreIndexDTO scoreIndexDTO);
+
+ void saveBatch(List<CheckScore> scoreList);
+
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/ICheckScoreService.java b/ycl-server/src/main/java/com/ycl/platform/service/ICheckScoreService.java
index 588183b..0d3f138 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/ICheckScoreService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/ICheckScoreService.java
@@ -35,41 +35,41 @@
*/
public Map<Long, List<CheckScore>> selectCheckScoreList(CheckScore checkScore);
- /**
- * 鏂板鑰冩牳绉垎鏄庣粏
- *
- * @param checkScore 鑰冩牳绉垎鏄庣粏
- * @return 缁撴灉
- */
- public int insertCheckScore(CheckScore checkScore);
-
- /**
- * 淇敼鑰冩牳绉垎鏄庣粏
- *
- * @param checkScore 鑰冩牳绉垎鏄庣粏
- * @return 缁撴灉
- */
- public int updateCheckScore(CheckScore checkScore);
-
- /**
- * 鎵归噺鍒犻櫎鑰冩牳绉垎鏄庣粏
- *
- * @param ids 闇�瑕佸垹闄ょ殑鑰冩牳绉垎鏄庣粏涓婚敭闆嗗悎
- * @return 缁撴灉
- */
- public int deleteCheckScoreByIds(Long[] ids);
-
- /**
- * 鍒犻櫎鑰冩牳绉垎鏄庣粏淇℃伅
- *
- * @param id 鑰冩牳绉垎鏄庣粏涓婚敭
- * @return 缁撴灉
- */
- public int deleteCheckScoreById(Long id);
int publishCheckScore(CheckScoreDTO checkScoreDTO);
List<CheckScore> page(CheckScore checkScore);
void exportIndex(HttpServletResponse response,CheckScore checkScore) throws IOException;
+// /**
+// * 鏂板鑰冩牳绉垎鏄庣粏
+// *
+// * @param checkScore 鑰冩牳绉垎鏄庣粏
+// * @return 缁撴灉
+// */
+// public int insertCheckScore(CheckScore checkScore);
+//
+// /**
+// * 淇敼鑰冩牳绉垎鏄庣粏
+// *
+// * @param checkScore 鑰冩牳绉垎鏄庣粏
+// * @return 缁撴灉
+// */
+// public int updateCheckScore(CheckScore checkScore);
+//
+// /**
+// * 鎵归噺鍒犻櫎鑰冩牳绉垎鏄庣粏
+// *
+// * @param ids 闇�瑕佸垹闄ょ殑鑰冩牳绉垎鏄庣粏涓婚敭闆嗗悎
+// * @return 缁撴灉
+// */
+// public int deleteCheckScoreByIds(Long[] ids);
+//
+// /**
+// * 鍒犻櫎鑰冩牳绉垎鏄庣粏淇℃伅
+// *
+// * @param id 鑰冩牳绉垎鏄庣粏涓婚敭
+// * @return 缁撴灉
+// */
+// public int deleteCheckScoreById(Long id);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/ICheckTemplateService.java b/ycl-server/src/main/java/com/ycl/platform/service/ICheckTemplateService.java
index 0415e69..ba336b4 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/ICheckTemplateService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/ICheckTemplateService.java
@@ -1,10 +1,12 @@
package com.ycl.platform.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.exception.job.TaskException;
import com.ycl.platform.domain.entity.CheckTemplate;
import com.ycl.platform.domain.query.CheckTemplateQuery;
import com.ycl.system.AjaxResult;
import com.ycl.system.Result;
+import org.quartz.SchedulerException;
import java.util.List;
@@ -38,7 +40,7 @@
* @param checkTemplateDTO 鑰冩牳妯℃澘
* @return 缁撴灉
*/
- public int insertCheckTemplate(CheckTemplateQuery checkTemplateDTO);
+ public int insertCheckTemplate(CheckTemplateQuery checkTemplateDTO) throws SchedulerException, TaskException;
/**
* 淇敼鑰冩牳妯℃澘
@@ -46,15 +48,9 @@
* @param checkTemplateDTO 鑰冩牳妯℃澘
* @return 缁撴灉
*/
- public AjaxResult updateCheckTemplate(CheckTemplateQuery checkTemplateDTO);
+ public AjaxResult updateCheckTemplate(CheckTemplateQuery checkTemplateDTO) throws SchedulerException, TaskException;
- /**
- * 鎵归噺鍒犻櫎鑰冩牳妯℃澘
- *
- * @param ids 闇�瑕佸垹闄ょ殑鑰冩牳妯℃澘涓婚敭闆嗗悎
- * @return 缁撴灉
- */
- public int deleteCheckTemplateByIds(Integer[] ids);
+
/**
* 鍒犻櫎鑰冩牳妯℃澘淇℃伅
@@ -62,9 +58,17 @@
* @param id 鑰冩牳妯℃澘涓婚敭
* @return 缁撴灉
*/
- public int deleteCheckTemplateById(Integer id);
+ public int deleteCheckTemplateById(Integer id) throws SchedulerException;
Result pullList();
- int copyCheckTemplate(CheckTemplateQuery checkTemplateDTO);
+ int copyCheckTemplate(CheckTemplateQuery checkTemplateDTO) throws SchedulerException, TaskException;
+
+// /**
+// * 鎵归噺鍒犻櫎鑰冩牳妯℃澘
+// *
+// * @param ids 闇�瑕佸垹闄ょ殑鑰冩牳妯℃澘涓婚敭闆嗗悎
+// * @return 缁撴灉
+// */
+// public int deleteCheckTemplateByIds(Integer[] ids);
}
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 b1568b9..8ec391a 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
@@ -1,10 +1,12 @@
package com.ycl.platform.service.impl;
+import annotation.DataScope;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.platform.base.BaseSelect;
import com.ycl.platform.base.CheckIndex;
import com.ycl.platform.domain.dto.CheckScoreDTO;
import com.ycl.platform.domain.dto.CheckScoreIndexDTO;
+import com.ycl.platform.domain.dto.ScoreIndexDTO;
import com.ycl.platform.domain.entity.*;
import com.ycl.platform.domain.vo.CheckScoreDetailVO;
import com.ycl.platform.mapper.CheckRuleMapper;
@@ -68,12 +70,13 @@
@Autowired
private ISysDeptService deptService;
/**
- * 鏌ヨ鑰冩牳绉垎
+ * 鏌ヨ鑰冩牳绉垎鎸囨爣
*
* @param id 鑰冩牳绉垎涓婚敭
* @return 鑰冩牳绉垎
*/
@Override
+ @DataScope(deptAlias = "d",userAlias = "u")
public CheckScoreDetailVO selectCheckScoreById(CheckScoreIndexDTO checkScoreIndexDTO)
{
Long checkScoreId = checkScoreIndexDTO.getId();
@@ -104,7 +107,13 @@
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM");
date = formatter.format(createTime);
}
- List<Map> map = scoreMapper.selectScoreIndex(tableName,checkScore.getDeptId(),date);
+
+ ScoreIndexDTO scoreIndexDTO = new ScoreIndexDTO()
+ .setTableName(tableName)
+ .setDeptId(checkScore.getDeptId())
+ .setDate(date);
+ scoreIndexDTO.setParams(checkScoreIndexDTO.getParams());
+ List<Map> map = scoreMapper.selectScoreIndex(scoreIndexDTO);
scoreMap.put("tableData",checkRules);
scoreMap.put("dataMap",map);
@@ -122,9 +131,11 @@
* @return 鑰冩牳绉垎
*/
@Override
+ @DataScope(deptAlias = "d",userAlias = "u")
public Map<Long, List<CheckScore>> selectCheckScoreList(CheckScore checkScore)
{
- //TODO:鏁版嵁鏉冮檺
+ //鍖哄幙鍙兘鐪嬪凡鍙戝竷
+ roleControl(checkScore);
//鏌ヨ鎴愮哗
String date = checkScore.getDate();
@@ -142,6 +153,8 @@
Map<Long, List<CheckScore>> deptMap = checkScores.stream().collect(Collectors.groupingBy(CheckScore::getDeptId));
return deptMap;
}
+
+
/**
* 鍖哄幙璇︽儏
*
@@ -149,61 +162,13 @@
* @return 鑰冩牳绉垎
*/
@Override
+ @DataScope(deptAlias = "d",userAlias = "u")
public List<CheckScore> page(CheckScore checkScore) {
- //TODO:鏁版嵁鏉冮檺
+ //鍖哄幙鍙兘鐪嬪凡鍙戝竷
+ roleControl(checkScore);
return scoreMapper.selectCheckScoreList(checkScore);
}
-
- /**
- * 鏂板鑰冩牳绉垎
- *
- * @param checkScore 鑰冩牳绉垎
- * @return 缁撴灉
- */
- @Override
- public int insertCheckScore(CheckScore checkScore)
- {
- checkScore.setCreateTime(DateUtils.getNowDate());
- return scoreMapper.insertCheckScore(checkScore);
- }
-
- /**
- * 淇敼鑰冩牳鏄庣粏
- *
- * @param checkScore 鑰冩牳绉垎鏄庣粏
- * @return 缁撴灉
- */
- @Override
- public int updateCheckScore(CheckScore checkScore)
- {
-
- return scoreMapper.updateCheckScore(checkScore);
- }
-
- /**
- * 鎵归噺鍒犻櫎鑰冩牳绉垎
- *
- * @param ids 闇�瑕佸垹闄ょ殑鑰冩牳绉垎涓婚敭
- * @return 缁撴灉
- */
- @Override
- public int deleteCheckScoreByIds(Long[] ids)
- {
- return scoreMapper.deleteCheckScoreByIds(ids);
- }
-
- /**
- * 鍒犻櫎鑰冩牳绉垎淇℃伅
- *
- * @param id 鑰冩牳绉垎涓婚敭
- * @return 缁撴灉
- */
- @Override
- public int deleteCheckScoreById(Long id)
- {
- return scoreMapper.deleteCheckScoreById(id);
- }
/**
* 鍙戝竷鑰冩牳绉垎淇℃伅
*
@@ -301,4 +266,64 @@
util.exportExcel(response, checkIndexes, "鑰冩牳绉垎鏄庣粏鏁版嵁");
}
+
+ private void roleControl(CheckScore checkScore) {
+ List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles();
+ SysRole sysRole = roles.get(0);
+ if("zg_province".equals(sysRole.getRoleKey())){
+ Map<String, Object> params = checkScore.getParams();
+ params.put("publish",PublishType.PUBLISHED.getCode());
+ }
+ }
+
+
+ // /**
+// * 鏂板鑰冩牳绉垎
+// *
+// * @param checkScore 鑰冩牳绉垎
+// * @return 缁撴灉
+// */
+// @Override
+// public int insertCheckScore(CheckScore checkScore)
+// {
+// checkScore.setCreateTime(DateUtils.getNowDate());
+// return scoreMapper.insertCheckScore(checkScore);
+// }
+//
+// /**
+// * 淇敼鑰冩牳鏄庣粏
+// *
+// * @param checkScore 鑰冩牳绉垎鏄庣粏
+// * @return 缁撴灉
+// */
+// @Override
+// public int updateCheckScore(CheckScore checkScore)
+// {
+//
+// return scoreMapper.updateCheckScore(checkScore);
+// }
+//
+// /**
+// * 鎵归噺鍒犻櫎鑰冩牳绉垎
+// *
+// * @param ids 闇�瑕佸垹闄ょ殑鑰冩牳绉垎涓婚敭
+// * @return 缁撴灉
+// */
+// @Override
+// public int deleteCheckScoreByIds(Long[] ids)
+// {
+// return scoreMapper.deleteCheckScoreByIds(ids);
+// }
+//
+// /**
+// * 鍒犻櫎鑰冩牳绉垎淇℃伅
+// *
+// * @param id 鑰冩牳绉垎涓婚敭
+// * @return 缁撴灉
+// */
+// @Override
+// public int deleteCheckScoreById(Long id)
+// {
+// return scoreMapper.deleteCheckScoreById(id);
+// }
}
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 9f9e35e..883a9e7 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
@@ -3,6 +3,7 @@
import com.alibaba.fastjson2.JSONArray;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.exception.job.TaskException;
import com.ycl.platform.base.BaseSelect;
import com.ycl.platform.domain.entity.CheckTemplate;
import com.ycl.platform.domain.entity.CheckTemplateRule;
@@ -13,10 +14,13 @@
import com.ycl.platform.service.ICheckTemplateService;
import com.ycl.system.AjaxResult;
import com.ycl.system.Result;
+import com.ycl.system.domain.SysJob;
import com.ycl.system.entity.SysDept;
import com.ycl.system.service.ISysDeptService;
+import com.ycl.system.service.ISysJobService;
import com.ycl.utils.SecurityUtils;
import constant.CheckConstants;
+import org.quartz.SchedulerException;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
@@ -44,6 +48,8 @@
private ICheckTemplateRuleService templateRuleServicee;
@Autowired
private CheckTemplateRuleMapper checkTemplateRuleMapper;
+ @Autowired
+ private ISysJobService jobService;
/**
* 鏌ヨ鑰冩牳妯℃澘
@@ -70,8 +76,6 @@
list.add(map);
}
checkTemplateQuery.setRuleFormList(list);
- //TODO:鏌ヨtemplate_rule琛ㄤ腑鐨勬潈閲嶄俊鎭��
-
return checkTemplateQuery;
}
@@ -107,10 +111,7 @@
*/
@Override
@Transactional(rollbackFor = Exception.class)
- public int insertCheckTemplate(CheckTemplateQuery checkTemplateDTO) {
- //TODO:鏂板瀹氭椂浠诲姟锛岀姸鎬佸悓妯℃澘,鐒跺悗璧嬪�糺obId缁檛emplate
-
-
+ public int insertCheckTemplate(CheckTemplateQuery checkTemplateDTO) throws SchedulerException, TaskException {
String username = SecurityUtils.getUsername();
/** 鎻掑叆t_template */
CheckTemplate checkTemplate = new CheckTemplate();
@@ -126,6 +127,12 @@
//涓嶅~鎶ヨ鍒嗘暟---->闆跺垎---->涓嶆姤璀�
.setAlarmScore(new BigDecimal(checkTemplateDTO.getAlarmScore() == null ? "" : checkTemplateDTO.getAlarmScore()));
int i = checkTemplateMapper.insertCheckTemplate(checkTemplate);
+
+ //鏂板瀹氭椂浠诲姟锛岀姸鎬佸悓妯℃澘,鐒跺悗璧嬪�糺obId缁檛emplate
+ SysJob sysJob = addJob(checkTemplateDTO.setId(checkTemplate.getId()));
+ checkTemplate.setJobId(Integer.parseInt(sysJob.getJobId() + ""));
+ checkTemplateMapper.updateCheckTemplate(checkTemplate);
+
/** t_template_rule鏂板鏉冮噸 */
insertTemlpateRule(checkTemplateDTO, checkTemplate);
@@ -140,9 +147,7 @@
*/
@Override
@Transactional(rollbackFor = Exception.class)
- public int copyCheckTemplate(CheckTemplateQuery checkTemplateDTO) {
- //TODO:鏂板瀹氭椂浠诲姟锛岀姸鎬佸悓妯℃澘,鐒跺悗璧嬪�糺obId缁檛emplate
-
+ public int copyCheckTemplate(CheckTemplateQuery checkTemplateDTO) throws SchedulerException, TaskException {
//鎻掑叆妯℃澘琛�
CheckTemplate checkTemplate = checkTemplateMapper.selectCheckTemplateById(checkTemplateDTO.getId());
String username = SecurityUtils.getUsername();
@@ -155,7 +160,10 @@
List<CheckTemplateRule> templateRuleList = checkTemplateRuleMapper.selectListByTemplateId(checkTemplateDTO.getId());
templateRuleList.forEach(checkTemplateRule -> checkTemplateRule.setCheckTemplateId(checkTemplate.getId()).setId(null));
templateRuleServicee.saveBatch(templateRuleList);
-
+ //鏂板瀹氭椂浠诲姟锛岀姸鎬佸悓妯℃澘,鐒跺悗璧嬪�糺obId缁檛emplate
+ SysJob sysJob = addJob(checkTemplateDTO.setId(checkTemplate.getId()));
+ checkTemplate.setJobId(Integer.parseInt(sysJob.getJobId() + ""));
+ checkTemplateMapper.updateCheckTemplate(checkTemplate);
return i;
}
@@ -167,7 +175,7 @@
*/
@Override
@Transactional(rollbackFor = Exception.class)
- public AjaxResult updateCheckTemplate(CheckTemplateQuery checkTemplateDTO) {
+ public AjaxResult updateCheckTemplate(CheckTemplateQuery checkTemplateDTO) throws SchedulerException, TaskException {
CheckTemplate checkTemplate = new CheckTemplate();
BeanUtils.copyProperties(checkTemplateDTO, checkTemplate);
checkTemplate.setUpdateUserName(SecurityUtils.getUsername());
@@ -178,25 +186,17 @@
checkTemplateMapper.updateCheckTemplate(checkTemplate);
/** t_template_rule淇敼鏉冮噸 */
- if (!CollectionUtils.isEmpty(checkTemplateDTO.getRuleFormList()) ) {
+ if (!CollectionUtils.isEmpty(checkTemplateDTO.getRuleFormList())) {
//鍏堝垹闄ゅ師鏁版嵁
checkTemplateRuleMapper.deleteByTemplateId(checkTemplate.getId());
//鎻掑叆鏂拌鍒欐暟鎹�
insertTemlpateRule(checkTemplateDTO, checkTemplate);
}
- //TODO:鍒ゆ柇鐘舵�佹槸鍚︿慨鏀癸紝璋冩暣job琛ㄩ噷鐨勭姸鎬�
+ //璋冩暣job琛ㄩ噷鐨勭姸鎬�
+ SysJob job = jobService.selectJobById(Long.valueOf(checkTemplateDTO.getJobId()));
+ job.setStatus(checkTemplateDTO.getStatus());
+ jobService.updateJob(job);
return AjaxResult.success();
- }
-
- /**
- * 鎵归噺鍒犻櫎鑰冩牳妯℃澘
- *
- * @param ids 闇�瑕佸垹闄ょ殑鑰冩牳妯℃澘涓婚敭
- * @return 缁撴灉
- */
- @Override
- public int deleteCheckTemplateByIds(Integer[] ids) {
- return checkTemplateMapper.deleteCheckTemplateByIds(ids);
}
/**
@@ -206,10 +206,15 @@
* @return 缁撴灉
*/
@Override
- public int deleteCheckTemplateById(Integer id) {
- //TODO:鍒犻櫎瀹氭椂浠诲姟
-
-
+ public int deleteCheckTemplateById(Integer id) throws SchedulerException {
+ CheckTemplate checkTemplate = checkTemplateMapper.selectCheckTemplateById(id);
+ //鍒犻櫎瀹氭椂浠诲姟
+ SysJob job = new SysJob();
+ if (checkTemplate.getJobId() != null) {
+ job.setJobId(Long.valueOf(checkTemplate.getJobId()));
+ job.setJobGroup("CHECK");
+ jobService.deleteJob(job);
+ }
return checkTemplateMapper.updateCheckTemplate(new CheckTemplate().setId(id)
.setDeleted(CheckConstants.Delete));
}
@@ -236,4 +241,29 @@
templateRuleServicee.saveBatch(templateRuleList);
}
}
+
+ private SysJob addJob(CheckTemplateQuery checkTemplateDTO) throws SchedulerException, TaskException {
+ SysJob job = new SysJob();
+ job.setCreateBy(SecurityUtils.getLoginUser().getUsername());
+ //璋冪敤鏂规硶鍚�
+ job.setInvokeTarget("checkScoreTask.executeTemplate(" + checkTemplateDTO.getId() + ")");
+ job.setConcurrent("1");
+ job.setStatus(checkTemplateDTO.getStatus());
+ job.setJobGroup("CHECK");
+ job.setCronExpression("0 0 12 * * ?");
+ job.setJobName(checkTemplateDTO.getTemplateName());
+ int i = jobService.insertJob(job);
+ return job;
+ }
+
+ // /**
+// * 鎵归噺鍒犻櫎鑰冩牳妯℃澘
+// *
+// * @param ids 闇�瑕佸垹闄ょ殑鑰冩牳妯℃澘涓婚敭
+// * @return 缁撴灉
+// */
+// @Override
+// public int deleteCheckTemplateByIds(Integer[] ids) {
+// return checkTemplateMapper.deleteCheckTemplateByIds(ids);
+// }
}
diff --git a/ycl-server/src/main/java/com/ycl/task/CheckScore.java b/ycl-server/src/main/java/com/ycl/task/CheckScore.java
deleted file mode 100644
index 410693b..0000000
--- a/ycl-server/src/main/java/com/ycl/task/CheckScore.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.ycl.task;
-
-import com.ycl.platform.domain.entity.CheckTemplate;
-import com.ycl.platform.service.ICheckTemplateRuleService;
-import com.ycl.platform.service.ICheckTemplateService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-
-@Component("checkScore")
-@Slf4j
-public class CheckScore {
- @Autowired
- private ICheckTemplateService templateService;
- @Autowired
- private ICheckTemplateRuleService templateRuleService;
-
- public void check(Integer templateId){
- log.info("鎵ц鑰冩牳妯℃澘---------->{}",templateId);
- CheckTemplate checkTemplate = templateService.getById(templateId);
-
-
-
- }
-}
diff --git a/ycl-server/src/main/java/com/ycl/task/CheckScoreTask.java b/ycl-server/src/main/java/com/ycl/task/CheckScoreTask.java
new file mode 100644
index 0000000..85ab0ec
--- /dev/null
+++ b/ycl-server/src/main/java/com/ycl/task/CheckScoreTask.java
@@ -0,0 +1,159 @@
+package com.ycl.task;
+
+import com.alibaba.fastjson2.JSONArray;
+import com.google.common.base.CaseFormat;
+import com.ycl.platform.base.CheckIndex;
+import com.ycl.platform.domain.entity.*;
+import com.ycl.platform.mapper.CheckScoreMapper;
+import com.ycl.platform.mapper.CheckTemplateMapper;
+import com.ycl.platform.mapper.CheckTemplateRuleMapper;
+import com.ycl.platform.service.*;
+import constant.CheckConstants;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Component;
+
+import java.lang.reflect.Field;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+
+@Slf4j
+@Component("checkScoreTask")
+public class CheckScoreTask {
+ @Autowired
+ private CheckTemplateMapper templateMapper;
+ @Autowired
+ private CheckTemplateRuleMapper checkTemplateRuleMapper;
+ @Autowired
+ private CheckScoreMapper scoreMapper;
+ @Autowired
+ private MongoTemplate mongoTemplate;
+ @Autowired
+ private ICheckIndexVideoService videoService;
+ @Autowired
+ private ICheckIndexFaceService faceService;
+ @Autowired
+ private ICheckIndexCarService carService;
+
+ public void executeTemplate(Integer templateId) {
+ CheckTemplate checkTemplate = templateMapper.selectCheckTemplateById(templateId);
+ if (checkTemplate != null) {
+ log.info("鎵ц鑰冩牳妯℃澘---------->{}", checkTemplate.getTemplateName());
+ Short examineCategory = checkTemplate.getExamineCategory();
+ Short examineTag = checkTemplate.getExamineTag();
+ //鏌ユ潈閲�
+ CheckTemplateRule checkTemplateRule = new CheckTemplateRule();
+ checkTemplateRule.setCheckTemplateId(templateId);
+ List<CheckTemplateRule> templateRuleList = checkTemplateRuleMapper.selectListByTemplateId(templateId);
+ //鏌ヤ粖澶╃殑index鎸囨爣
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ String day = dateFormat.format(new Date());
+
+ //鍒涘缓score闆嗗悎鏂逛究鏈�鍚庢壒閲忓瓨鍌�
+ List<CheckScore> scoreList = new ArrayList<>();
+ //鏍规嵁鑰冩牳绫诲埆鍜岃�冩牳鏍囩锛屾煡涓嶅悓index琛紙鍖哄垎鐪佸巺鍖哄幙锛�
+ if (CheckConstants.Rule_Category_Video.equals(examineCategory)) {
+ CheckIndexVideo checkIndexVideo = new CheckIndexVideo();
+ checkIndexVideo.setExamineTag(examineTag);
+ checkIndexVideo.setDay(day);
+ checkIndexVideo.setDeptIds(JSONArray.parseArray(checkTemplate.getDeptId(), Integer.class));
+ //鏍规嵁妯℃澘鐨勮�冩牳鏍囩鏌ュ悇鍖哄幙瀵瑰簲鐪佸巺鎴栧競灞�瑙嗛鏁版嵁
+ List<CheckIndexVideo> checkIndexVideos = videoService.selectCheckIndexVideoList(checkIndexVideo);
+ for (CheckIndexVideo indexVideo : checkIndexVideos) {
+ addToList(templateId, checkTemplate, examineTag, templateRuleList, scoreList, indexVideo,CheckConstants.Rule_Category_Video);
+ }
+ } else if (CheckConstants.Rule_Category_Car.equals(examineCategory)) {
+ CheckIndexCar checkIndexCar = new CheckIndexCar();
+ checkIndexCar.setDay(day);
+ checkIndexCar.setExamineTag(examineTag);
+ checkIndexCar.setDeptIds(JSONArray.parseArray(checkTemplate.getDeptId(), Integer.class));
+ //鏍规嵁妯℃澘鐨勮�冩牳鏍囩鏌ュ悇鍖哄幙瀵瑰簲鐪佸巺鎴栧競灞�杞﹁締鏁版嵁
+ List<CheckIndexCar> checkIndexCars = carService.selectCheckIndexCarList(checkIndexCar);
+ for (CheckIndexCar indexCar : checkIndexCars) {
+ addToList(templateId, checkTemplate, examineTag, templateRuleList, scoreList, indexCar,CheckConstants.Rule_Category_Car);
+ }
+ } else if (CheckConstants.Rule_Category_Face.equals(examineCategory)) {
+ CheckIndexFace checkIndexFace = new CheckIndexFace();
+ checkIndexFace.setDay(day);
+ checkIndexFace.setExamineTag(examineTag);
+ checkIndexFace.setDeptIds(JSONArray.parseArray(checkTemplate.getDeptId(), Integer.class));
+ //鏍规嵁妯℃澘鐨勮�冩牳鏍囩鏌ュ悇鍖哄幙瀵瑰簲鐪佸巺鎴栧競灞�浜鸿劯鏁版嵁
+ List<CheckIndexFace> checkIndexFaces = faceService.selectCheckIndexFaceList(checkIndexFace);
+ for (CheckIndexFace indexFace : checkIndexFaces) {
+ addToList(templateId, checkTemplate, examineTag, templateRuleList, scoreList, indexFace,CheckConstants.Rule_Category_Face);
+ }
+ }
+
+ //鍌ㄥ瓨鍒嗘暟
+ scoreMapper.saveBatch(scoreList);
+ //TODO锛氭牴鎹姤璀﹀垎鏁伴槇鍊硷紝娣诲姞鎶ヨ淇℃伅
+
+ }
+ }
+
+ private <T extends CheckIndex>void addToList(Integer templateId, CheckTemplate checkTemplate, Short examineTag, List<CheckTemplateRule> templateRuleList, List<CheckScore> scoreList, T indexObject,Short checkCategory) {
+ CheckScore checkScore = new CheckScore();
+ BigDecimal scoreFinal = BigDecimal.ZERO;
+ for (CheckTemplateRule templateRule : templateRuleList) {
+ //璁$畻鍒嗘暟
+ scoreFinal = getScoreFinal(indexObject, scoreFinal, templateRule);
+ }
+ //琛ュ厖checkScore
+ fillCheckScore(templateId, checkTemplate, examineTag, indexObject, checkScore, scoreFinal,checkCategory);
+ scoreList.add(checkScore);
+ }
+
+ //閫氱敤鏂规硶璁$畻鍒嗘暟
+ private <T>BigDecimal getScoreFinal(T object, BigDecimal scoreFinal, CheckTemplateRule templateRule) {
+ String ruleIndex = templateRule.getRuleIndex();
+ //灏哸_b_c杞崲涓篴BC
+ String camelRuleIndex = CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, ruleIndex);
+ try {
+ //鍙嶅皠鑾峰彇灞炴�у��
+ Class<T> clazz = (Class<T>) object.getClass();
+ Field field = clazz.getDeclaredField(camelRuleIndex);
+ field.setAccessible(true);
+ BigDecimal index = (BigDecimal) field.get(object);
+ BigDecimal score = index.multiply(templateRule.getWeight());
+ scoreFinal = scoreFinal.add(score);
+ } catch (Exception e) {
+ log.info("鍙嶅皠寮傚父",e);
+ }
+ return scoreFinal;
+ }
+ //璁剧疆checkScore瀵硅薄
+ private void fillCheckScore(Integer templateId, CheckTemplate checkTemplate, Short examineTag, CheckIndex checkIndex, CheckScore checkScore, BigDecimal scoreFinal,Short checkCategory) {
+ //鏍规嵁璋冩暣绯绘暟璋冩暣鏈�缁堝垎鏁板ぇ灏�
+ String adjustWay = checkTemplate.getAdjustWay();
+ BigDecimal adjustCoefficient = checkTemplate.getAdjustCoefficient();
+ if(CheckConstants.Multiply.equals(adjustWay)){
+ scoreFinal = adjustCoefficient.multiply(scoreFinal).multiply(new BigDecimal(100));
+ }else if(CheckConstants.Divided.equals(adjustWay)){
+ //鍥涜垗浜斿叆淇濈暀灏忔暟鍚庡洓浣�
+ scoreFinal = scoreFinal.divide(adjustCoefficient,4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
+ }
+ checkScore.setCreateTime(new Date());
+ checkScore.setExamineTag(Integer.parseInt(examineTag +""));
+ checkScore.setExamineCategory(checkCategory);
+ checkScore.setDeptId(checkIndex.getDeptId());
+ checkScore.setTemplateId(templateId);
+ checkScore.setScore(scoreFinal);
+ }
+
+ //鏌ongo鏁版嵁褰掓。鍒癿ysql
+ public void dataArchiving() {
+ //TODO:褰掓。check_index_car,鍖哄垎鐪佸巺甯傚眬锛屾瘡涓尯鍘夸竴鏉℃暟鎹�
+ CheckIndexCar checkIndexCar = new CheckIndexCar();
+ //TODO:褰掓。check_index_face
+ CheckIndexFace checkIndexFace = new CheckIndexFace();
+ //TODO:褰掓。check_index_video
+ CheckIndexVideo checkIndexVideo = new CheckIndexVideo();
+
+ }
+}
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml
index 42f8fe4..5281b89 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml
@@ -29,9 +29,10 @@
select tcic.*,sd.dept_name
from t_check_index_car tcic left join sys_dept sd on tcic.dept_id = sd.dept_id
<where>
- <if test="deptId != null "> and dept_id = #{deptId}</if>
+ <if test="deptId != null "> and tcic.dept_id = #{deptId}</if>
<if test="examineTag != null "> and examine_tag = #{examineTag}</if>
<if test="date != null "> and date_format(tcic.create_time,'%Y-%m') = #{date}</if>
+ <if test="day != null "> and date(tcic.create_time) = #{day}</if>
<if test="viewConnectStability != null "> and view_connect_stability = #{viewConnectStability}</if>
<if test="siteOnline != null "> and site_online = #{siteOnline}</if>
<if test="deviceDirectoryConsistent != null "> and device_directory_consistent = #{deviceDirectoryConsistent}</if>
@@ -42,6 +43,11 @@
<if test="vehicleUploadTimeliness != null "> and vehicle_upload_timeliness = #{vehicleUploadTimeliness}</if>
<if test="vehicleUrlAvailability != null "> and vehicle_url_availability = #{vehicleUrlAvailability}</if>
<if test="vehiclePictureAvailability != null "> and vehicle_picture_availability = #{vehiclePictureAvailability}</if>
+ <if test="deptIds != null ">and tcic.dept_id in
+ <foreach collection="deptIds" separator="," open="(" close=")" item="deptId">
+ #{deptId}
+ </foreach>
+ </if>
</where>
</select>
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml
index 37b36f7..7c73d45 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml
@@ -27,9 +27,10 @@
select tcif.*,sd.dept_name
from t_check_index_face tcif left join sys_dept sd on tcif.dept_id = sd.dept_id
<where>
- <if test="deptId != null "> and dept_id = #{deptId}</if>
+ <if test="deptId != null "> and tcif.dept_id = #{deptId}</if>
<if test="examineTag != null "> and examine_tag = #{examineTag}</if>
<if test="date != null "> and date_format(tcif.create_time,'%Y-%m') = #{date}</if>
+ <if test="day != null "> and date(tcif.create_time) = #{day}</if>
<if test="viewConnectStability != null "> and view_connect_stability = #{viewConnectStability}</if>
<if test="siteOnline != null "> and site_online = #{siteOnline}</if>
<if test="deviceDirectoryConsistent != null "> and device_directory_consistent = #{deviceDirectoryConsistent}</if>
@@ -38,6 +39,11 @@
<if test="faceTimingAccuracy != null "> and face_timing_accuracy = #{faceTimingAccuracy}</if>
<if test="faceUploadTimeliness != null "> and face_upload_timeliness = #{faceUploadTimeliness}</if>
<if test="facePictureAvailability != null "> and face_picture_availability = #{facePictureAvailability}</if>
+ <if test="deptIds != null ">and tcif.dept_id in
+ <foreach collection="deptIds" separator="," open="(" close=")" item="deptId">
+ #{deptId}
+ </foreach>
+ </if>
</where>
</select>
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
index 9279f6a..a1c6e1e 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
@@ -39,9 +39,11 @@
select tciv.*,sd.dept_name
from t_check_index_video tciv left join sys_dept sd on tciv.dept_id = sd.dept_id
<where>
- <if test="deptId != null "> and dept_id = #{deptId}</if>
+ <if test="deptId != null "> and tciv.dept_id = #{deptId}</if>
<if test="examineTag != null "> and examine_tag = #{examineTag}</if>
<if test="date != null "> and date_format(tciv.create_time,'%Y-%m') = #{date}</if>
+ <if test="day != null "> and date(tciv.create_time) = #{day}</if>
+ <if test="createTime != null "> and date(tciv.create_time) = #{createTime}</if>
<if test="platformOnline != null "> and platform_online = #{platformOnline}</if>
<if test="monitorQualification != null "> and monitor_qualification = #{monitorQualification}</if>
<if test="monitorRegistration != null "> and monitor_registration = #{monitorRegistration}</if>
@@ -62,6 +64,11 @@
<if test="videoTransmissionDangerousAssetsScore != null "> and video_transmission_dangerous_assets_score = #{videoTransmissionDangerousAssetsScore}</if>
<if test="videoTransmissionBoundaryIntegrityDetection != null "> and video_transmission_boundary_integrity_detection = #{videoTransmissionBoundaryIntegrityDetection}</if>
<if test="operatingRate != null "> and operating_rate = #{operatingRate}</if>
+ <if test="deptIds != null ">and tciv.dept_id in
+ <foreach collection="deptIds" separator="," open="(" close=")" item="deptId">
+ #{deptId}
+ </foreach>
+ </if>
</where>
</select>
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml
index de4ffb3..45fc2ec 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml
@@ -18,20 +18,22 @@
</resultMap>
<sql id="selectCheckScoreVo">
- select id, score, dept_id, template_id, examine_tag, examine_category, create_time,update_time,update_user, publish from t_check_score
+ select id, score, tcs.dept_id, template_id, examine_tag, examine_category, tcs.create_time,tcs.update_time,tcs.update_user, publish
+ from t_check_score tcs left join sys_dept d on tcs.dept_id = d.dept_id
</sql>
<select id="selectCheckScoreList" resultMap="CheckScoreResult">
<include refid="selectCheckScoreVo"/>
<where>
<if test="score != null "> and score = #{score}</if>
- <if test="deptId != null "> and dept_id = #{deptId}</if>
<if test="templateId != null "> and template_id = #{templateId}</if>
- <if test="createTime != null "> and DATE(create_time) = #{createTime}</if>
- <if test="date != null "> and date_format(create_time,'%Y-%m') = #{date}</if>
+ <if test="createTime != null "> and DATE(tcs.create_time) = #{createTime}</if>
+ <if test="date != null "> and date_format(tcs.create_time,'%Y-%m') = #{date}</if>
<if test="examineTag != null "> and examine_tag = #{examineTag}</if>
<if test="examineCategory != null "> and examine_category = #{examineCategory}</if>
- <if test="publish != null and publish != ''"> and publish = #{publish}</if>
+ <if test="params.publish != null and params.publish != ''"> and publish = #{params.publish}</if>
+ <if test="deptId != null "> and tcs.dept_id = #{deptId}</if>
+ ${params.dataScope}
</where>
</select>
@@ -101,6 +103,15 @@
</update>
<select id="selectScoreIndex" resultType="java.util.Map">
- select * from ${tableName} where dept_id =#{deptId} and date_format(create_time,'%Y-%m') = #{date}
+ select t.* from ${tableName} t
+ left join sys_dept d on t.dept_id = d.dept_id
+ where t.dept_id =#{deptId} and date_format(t.create_time,'%Y-%m') = #{date}
+ ${params.dataScope}
</select>
+
+ <insert id="saveBatch">
+ insert into t_check_score (score,dept_id,template_id,examine_tag,examine_category,create_time) values <foreach collection="scoreList" separator="," item="score">
+ (#{score.score},#{score.deptId},#{score.templateId},#{score.examineTag},#{score.examineCategory},#{score.createTime})
+ </foreach>
+ </insert>
</mapper>
\ No newline at end of file
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckTemplateRuleMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckTemplateRuleMapper.xml
index e685719..8445c62 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CheckTemplateRuleMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CheckTemplateRuleMapper.xml
@@ -67,7 +67,7 @@
delete from t_check_template_rule where check_template_id = #{templateId}
</delete>
<select id="selectListByTemplateId" resultType="com.ycl.platform.domain.entity.CheckTemplateRule">
- select tctr.*,tcr.rule_name as checkRuleName from t_check_template_rule tctr
+ select tctr.*,tcr.rule_name as checkRuleName,tcr.rule_index from t_check_template_rule tctr
left join t_check_rule tcr on tctr.check_rule_id = tcr.id
where check_template_id = #{checkTemplateId}
</select>
--
Gitblit v1.8.0