From f77a9d8f16bae6b4cf809891f037c038070e81ed Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 19 六月 2025 17:12:50 +0800
Subject: [PATCH] 工单,数据中心用户查看数据的权限,合同考核每日,以及导出每日和按月

---
 ycl-server/src/main/java/com/ycl/task/ContractResultTask.java |   68 ++++++++++++++++++++++++++++++++++
 1 files changed, 68 insertions(+), 0 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/task/ContractResultTask.java b/ycl-server/src/main/java/com/ycl/task/ContractResultTask.java
index ce627db..b9c6022 100644
--- a/ycl-server/src/main/java/com/ycl/task/ContractResultTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/ContractResultTask.java
@@ -11,11 +11,15 @@
 import enumeration.general.CalculateReportStatusEnum;
 import enumeration.general.PublishType;
 import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
 import java.util.Calendar;
 import java.util.Date;
@@ -26,6 +30,7 @@
  * @since 2024/4/28 涓嬪崍 4:14
  */
 
+@Slf4j
 @Data
 @Component("contractResultTask")
 public class ContractResultTask {
@@ -37,6 +42,55 @@
     private String startTime;
     private String endTime;
 
+    @Transactional
+    public void contractResultTaskByDay(){
+        // 鏌ヨ鏈夋晥鏈熷唴鐨勫悎鍚�
+        List<TContract> list = contractService.selectUsingContract();
+        String startTime = "2025-06-17 00:00:00";
+        String endTime = "2025-06-17 23:59:59";
+//        getDayStartAndEnd(startTime,endTime);
+        for (TContract tContract : list) {
+            // 鑾峰緱鏄ㄥぉ鐨勬墸鍒嗚褰�
+            List<ContractScore> contractScore = contractScoreService.getDateRangeScoreByContractId(tContract.getId(), startTime, endTime);
+
+            System.out.println("鎵撳嵃鏄ㄦ棩鎵e垎璁板綍");
+            System.out.println(contractScore);
+            if (CollectionUtils.isEmpty(contractScore)){
+                log.error("鏄ㄦ棩鎵e垎璁板綍鍒楄〃涓虹┖");
+                return;
+            }
+            // 鏂板鑰冩牳缁撴灉
+            Calendar calendar = Calendar.getInstance();
+            calendar.add(Calendar.DATE, -1);
+            ContractResult contractResult = getCheckResult(tContract, contractScore);
+            contractResult.setWhichMonth(calendar.get(Calendar.MONTH)+1);
+            contractResult.setWhichYear(calendar.get(Calendar.YEAR));
+            contractResult.setWhichDay(calendar.get(Calendar.DAY_OF_MONTH));
+
+            checkResultService.save(contractResult);
+//            // 鏂板鑰冩牳缁撴灉璁板綍
+//            List<ContractResultRecord> contractResultRecord = getContractResultRecord(contractScore, contractResult);
+//            checkResultService.saveBatchRecord(contractResultRecord);
+            // 鏂板鏍哥畻鏄庣粏璁板綍
+            CalculateRecord calculateRecord = new CalculateRecord();
+            //鏀逛负鐩存帴鍘绘煡
+//            calculateRecord.setScore(contractResult.getScore());
+            calculateRecord.setContractId(Integer.parseInt(tContract.getId()+""));
+            calculateRecord.setCreateTime(new Date());
+            calculateRecord.setUpdateTime(new Date());
+            calculateRecord.setStatus(PublishType.UNPUBLISHED.getCode());
+
+            calculateRecord.setWhichYear(calendar.get(Calendar.YEAR));
+            calculateRecord.setWhichMonth(calendar.get(Calendar.MONTH)+1);
+            calculateRecord.setWhichDay(calendar.get(Calendar.DAY_OF_MONTH));
+            System.out.println("鏂板鏍哥畻璁板綍");
+            System.out.println(calculateRecord);
+
+            calculateRecordMapper.insert(calculateRecord);
+
+
+        }
+    }
     /**
      * 姣忎釜鏈�1鍙锋墽琛岋紝缁熻鑰冩牳缁撴灉
      */
@@ -124,5 +178,19 @@
         this.startTime = firstDay;
         this.endTime = lastDay;
     }
+    /**
+    * 鑾峰彇浠婂ぉ鐨勫紑濮嬫椂闂翠笌缁撴潫鏃堕棿
+    * */
+    public void getDayStartAndEnd(String startTime,String endTime) {
+
+        LocalDate today = LocalDate.now().minusDays(1);
+        LocalDateTime startOfDay = today.atStartOfDay(); // 00:00:00
+        LocalDateTime endOfDay = today.atTime(LocalTime.MAX); // 23:59:59.999999999
+
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+        startTime = startOfDay.format(formatter);
+        endTime = endOfDay.format(formatter);
+    }
 
 }

--
Gitblit v1.8.0