From f8889f7364adae89e45a5ec3fcf4b38e430cf389 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 10 九月 2024 10:41:18 +0800
Subject: [PATCH] 工单详情

---
 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java |  272 +++++++++++++++++++++---------------------------------
 1 files changed, 106 insertions(+), 166 deletions(-)

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 761475d..244f4f0 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
@@ -2,206 +2,146 @@
 
 import annotation.Excel;
 import com.alibaba.excel.annotation.ExcelIgnore;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.ycl.platform.base.CheckIndex;
+import com.ycl.platform.domain.vo.CheckIndexCarVO;
+import com.ycl.platform.domain.vo.CheckIndexFaceVO;
+import constant.CheckConstants;
+import lombok.Data;
+import org.springframework.lang.NonNull;
+import utils.StringUtils;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 
 /**
  * 浜鸿劯鎸囨爣姒傜巼鏁版嵁瀵硅薄 t_check_index_face
- * 
+ *
  * @author ruoyi
  * @date 2024-04-29
  */
-public class CheckIndexFace extends CheckIndex
-{
+@Data
+@TableName("t_check_index_face")
+public class CheckIndexFace extends CheckIndex {
     private static final long serialVersionUID = 1L;
 
-    /** 瑙嗗浘搴撳鎺ョǔ瀹氭�� */
-    @Excel(name = "瑙嗗浘搴撳鎺ョǔ瀹氭��")
+    /**
+     * 瑙嗗浘搴撳鎺ョǔ瀹氭��
+     */
+    @TableField("view_connect_stability")
     private BigDecimal viewConnectStability;
 
-    /** 鐐逛綅鍦ㄧ嚎鐜� */
-    @Excel(name = "鐐逛綅鍦ㄧ嚎鐜�")
+    /**
+     * 鐐逛綅鍦ㄧ嚎鐜�
+     */
+    @TableField("site_online")
     private BigDecimal siteOnline;
 
-    /**  璁惧鐩綍涓�鑷寸巼 */
-    @Excel(name = " 璁惧鐩綍涓�鑷寸巼")
+    /**
+     * 璁惧鐩綍涓�鑷寸巼
+     */
+    @TableField("device_directory_consistent")
     private BigDecimal deviceDirectoryConsistent;
 
-    /** 浜鸿劯鍗″彛淇℃伅閲囬泦鍑嗙‘鐜� */
-    @Excel(name = "浜鸿劯鍗″彛淇℃伅閲囬泦鍑嗙‘鐜�",width = 25)
+    /**
+     * 浜鸿劯鍗″彛淇℃伅閲囬泦鍑嗙‘鐜�
+     */
+    @TableField("face_information_collection_accuracy")
     private BigDecimal faceInformationCollectionAccuracy;
 
-    /** 璁惧鎶撴媿鍥剧墖鍚堟牸鎬� */
-    @Excel(name = "璁惧鎶撴媿鍥剧墖鍚堟牸鎬�")
+    /**
+     * 璁惧鎶撴媿鍥剧墖鍚堟牸鎬�
+     */
+    @TableField("face_picture_qualification")
     private BigDecimal facePictureQualification;
 
-    /** 璁惧鎶撴媿鍥剧墖鏃堕挓鍑嗙‘鎬� */
-    @Excel(name = "璁惧鎶撴媿鍥剧墖鏃堕挓鍑嗙‘鎬�",width = 25)
+    /**
+     * 璁惧鎶撴媿鍥剧墖鏃堕挓鍑嗙‘鎬�
+     */
+    @TableField("face_timing_accuracy")
     private BigDecimal faceTimingAccuracy;
 
-    /** 鎶撴媿浜鸿劯鏁版嵁涓婁紶鍙婃椂鎬� */
-    @Excel(name = "鎶撴媿浜鸿劯鏁版嵁涓婁紶鍙婃椂鎬�",width = 25)
+    /**
+     * 鎶撴媿浜鸿劯鏁版嵁涓婁紶鍙婃椂鎬�
+     */
+    @TableField("face_upload_timeliness")
     private BigDecimal faceUploadTimeliness;
 
-    /** 浜鸿劯鍗″彛璁惧鎶撴媿鏁版嵁澶у浘鍙敤鎬� */
-    @Excel(name = "浜鸿劯鍗″彛璁惧鎶撴媿鏁版嵁澶у浘鍙敤鎬�",width = 25)
+    /**
+     * 浜鸿劯鍗″彛璁惧鎶撴媿鏁版嵁澶у浘鍙敤鎬�
+     */
+    @TableField("face_picture_availability")
     private BigDecimal facePictureAvailability;
 
     @ExcelIgnore
+    @TableField(exist = false)
     private List<String> quarter;
+    //杞崲鎴愬瓧绗︿覆鐢ㄤ簬excel瀵煎嚭
+    public static CheckIndexFaceVO getExcelVo(@NonNull CheckIndexFace checkIndexFace) {
+        CheckIndexFaceVO checkIndexFaceVo = new CheckIndexFaceVO();
+        checkIndexFaceVo.setScore(checkIndexFace.getScore().setScale(2,RoundingMode.HALF_UP));
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+        //閬垮厤鍚堣琛屾姤閿�(鍚堣鏁版嵁 缂哄皯createTimeStr瀛楁 鐩存帴灏哻reateTimeStr璁剧疆涓�"鍚堣")
+        if (StringUtils.isEmpty(checkIndexFace.getCreateTimeStr())) {
+            checkIndexFaceVo.setCreateTimeStr(format.format(checkIndexFace.getCreateTime()));
+        }else {
+            checkIndexFaceVo.setCreateTimeStr(checkIndexFace.getCreateTimeStr());
+        }
+        checkIndexFaceVo.setDeptName(checkIndexFace.getDeptName());
+        checkIndexFaceVo.setExamineTagStr(CheckConstants.Examine_Tag_Province.equals(checkIndexFace.getExamineTag()) ? "鐪佸巺鑰冩牳" : "鍖哄幙鑰冩牳");
+        checkIndexFaceVo.setSiteOnlineText(checkIndexFace.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
+        checkIndexFaceVo.setFaceInformationCollectionAccuracyText(checkIndexFace.getFaceInformationCollectionAccuracy().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
+        checkIndexFaceVo.setFacePictureAvailabilityText(checkIndexFace.getFacePictureAvailability().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
+        checkIndexFaceVo.setDeviceDirectoryConsistentTextText(checkIndexFace.getDeviceDirectoryConsistent().multiply(new BigDecimal(100)) .setScale(2, RoundingMode.HALF_UP)+ "%");
+        checkIndexFaceVo.setFaceTimingAccuracyText(checkIndexFace.getFaceTimingAccuracy().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
+        checkIndexFaceVo.setFacePictureQualificationText(checkIndexFace.getFacePictureQualification().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
+        checkIndexFaceVo.setViewConnectStabilityText(checkIndexFace.getViewConnectStability().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
+        checkIndexFaceVo.setFaceUploadTimelinessText(checkIndexFace.getFaceUploadTimeliness().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%");
 
-    public List<String> getQuarter() {
-        return quarter;
+        return checkIndexFaceVo;
     }
+    /** 鐢ㄤ簬瀵煎嚭璁$畻骞冲潎鍊� */
+    public static CheckIndexFace calculateAverage(List<CheckIndexFace> checkIndexFaces) {
+        BigDecimal scoreSum = BigDecimal.ZERO;
+        BigDecimal totalViewConnectStability = BigDecimal.ZERO;
+        BigDecimal totalSiteOnline = BigDecimal.ZERO;
+        BigDecimal totalDeviceDirectoryConsistent = BigDecimal.ZERO;
+        BigDecimal totalFaceInformationCollectionAccuracy = BigDecimal.ZERO;
+        BigDecimal totalFacePictureQualification = BigDecimal.ZERO;
+        BigDecimal totalFaceTimingAccuracy = BigDecimal.ZERO;
+        BigDecimal totalFaceUploadTimeliness = BigDecimal.ZERO;
+        BigDecimal totalFacePictureAvailability = BigDecimal.ZERO;
 
-    public void setQuarter(List<String> quarter) {
-        this.quarter = quarter;
-    }
+        int count = checkIndexFaces.size();
 
-    public BigDecimal getViewConnectStability() {
-        return viewConnectStability;
-    }
-
-    public void setViewConnectStability(BigDecimal viewConnectStability) {
-        this.viewConnectStability = viewConnectStability;
-    }
-
-    public BigDecimal getSiteOnline() {
-        return siteOnline;
-    }
-
-    public void setSiteOnline(BigDecimal siteOnline) {
-        this.siteOnline = siteOnline;
-    }
-
-    public BigDecimal getDeviceDirectoryConsistent() {
-        return deviceDirectoryConsistent;
-    }
-
-    public void setDeviceDirectoryConsistent(BigDecimal deviceDirectoryConsistent) {
-        this.deviceDirectoryConsistent = deviceDirectoryConsistent;
-    }
-
-    public BigDecimal getFaceInformationCollectionAccuracy() {
-        return faceInformationCollectionAccuracy;
-    }
-
-    public void setFaceInformationCollectionAccuracy(BigDecimal faceInformationCollectionAccuracy) {
-        this.faceInformationCollectionAccuracy = faceInformationCollectionAccuracy;
-    }
-
-    public BigDecimal getFacePictureQualification() {
-        return facePictureQualification;
-    }
-
-    public void setFacePictureQualification(BigDecimal facePictureQualification) {
-        this.facePictureQualification = facePictureQualification;
-    }
-
-    public BigDecimal getFaceTimingAccuracy() {
-        return faceTimingAccuracy;
-    }
-
-    public void setFaceTimingAccuracy(BigDecimal faceTimingAccuracy) {
-        this.faceTimingAccuracy = faceTimingAccuracy;
-    }
-
-    public BigDecimal getFaceUploadTimeliness() {
-        return faceUploadTimeliness;
-    }
-
-    public void setFaceUploadTimeliness(BigDecimal faceUploadTimeliness) {
-        this.faceUploadTimeliness = faceUploadTimeliness;
-    }
-
-    public BigDecimal getFacePictureAvailability() {
-        return facePictureAvailability;
-    }
-
-    public void setFacePictureAvailability(BigDecimal facePictureAvailability) {
-        this.facePictureAvailability = facePictureAvailability;
-    }
-
-    @Override
-    public Long getId() {
-        return super.getId();
-    }
-
-    @Override
-    public void setId(Long id) {
-        super.setId(id);
-    }
-
-    @Override
-    public String getDate() {
-        return super.getDate();
-    }
-
-    @Override
-    public void setDate(String date) {
-        super.setDate(date);
-    }
-
-    @Override
-    public Date getCreateTime() {
-        return super.getCreateTime();
-    }
-
-    @Override
-    public void setCreateTime(Date createTime) {
-        super.setCreateTime(createTime);
-    }
-
-    @Override
-    public Long getDeptId() {
-        return super.getDeptId();
-    }
-
-    @Override
-    public void setDeptId(Long deptId) {
-        super.setDeptId(deptId);
-    }
-
-    @Override
-    public String getDeptName() {
-        return super.getDeptName();
-    }
-
-    @Override
-    public void setDeptName(String deptName) {
-        super.setDeptName(deptName);
-    }
-
-    @Override
-    public Short getExamineTag() {
-        return super.getExamineTag();
-    }
-
-    @Override
-    public void setExamineTag(Short examineTag) {
-        super.setExamineTag(examineTag);
-    }
-
-    @Override
-    public String toString() {
-        return "CheckIndexFace{" +
-                "id=" + id +
-                ", date='" + date + '\'' +
-                ", createTime=" + createTime +
-                ", deptId=" + deptId +
-                ", deptName='" + deptName + '\'' +
-                ", examineTag=" + examineTag +
-                ", viewConnectStability=" + viewConnectStability +
-                ", siteOnline=" + siteOnline +
-                ", deviceDirectoryConsistent=" + deviceDirectoryConsistent +
-                ", faceInformationCollectionAccuracy=" + faceInformationCollectionAccuracy +
-                ", facePictureQualification=" + facePictureQualification +
-                ", faceTimingAccuracy=" + faceTimingAccuracy +
-                ", faceUploadTimeliness=" + faceUploadTimeliness +
-                ", facePictureAvailability=" + facePictureAvailability +
-                '}';
+        for (CheckIndexFace indexFace : checkIndexFaces) {
+            scoreSum = scoreSum.add(indexFace.getScore() == null ? BigDecimal.ZERO : indexFace.getScore());
+            totalViewConnectStability = totalViewConnectStability.add(indexFace.getViewConnectStability());
+            totalSiteOnline = totalSiteOnline.add(indexFace.getSiteOnline());
+            totalDeviceDirectoryConsistent = totalDeviceDirectoryConsistent.add(indexFace.getDeviceDirectoryConsistent());
+            totalFaceInformationCollectionAccuracy = totalFaceInformationCollectionAccuracy.add(indexFace.getFaceInformationCollectionAccuracy());
+            totalFacePictureQualification = totalFacePictureQualification.add(indexFace.getFacePictureQualification());
+            totalFaceTimingAccuracy = totalFaceTimingAccuracy.add(indexFace.getFaceTimingAccuracy());
+            totalFaceUploadTimeliness = totalFaceUploadTimeliness.add(indexFace.getFaceUploadTimeliness());
+            totalFacePictureAvailability = totalFacePictureAvailability.add(indexFace.getFacePictureAvailability());
+        }
+        CheckIndexFace result = new CheckIndexFace();
+        result.setCreateTimeStr("鍚堣");
+        result.setDeptName(checkIndexFaces.get(0).getDeptName());
+        result.setExamineTag(checkIndexFaces.get(0).getExamineTag());
+        result.setScore(scoreSum.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+        result.setViewConnectStability(totalViewConnectStability.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+        result.setSiteOnline(totalSiteOnline.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+        result.setDeviceDirectoryConsistent(totalDeviceDirectoryConsistent.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+        result.setFaceInformationCollectionAccuracy(totalFaceInformationCollectionAccuracy.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+        result.setFacePictureQualification(totalFacePictureQualification.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+        result.setFaceTimingAccuracy(totalFaceTimingAccuracy.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+        result.setFaceUploadTimeliness(totalFaceUploadTimeliness.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+        result.setFacePictureAvailability(totalFacePictureAvailability.divide(BigDecimal.valueOf(count), 2, RoundingMode.HALF_UP));
+        return result;
     }
 }

--
Gitblit v1.8.0