From 51f67136d3f6ff27a9f879b8c13bd308a7a733e1 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 17 四月 2025 09:14:02 +0800
Subject: [PATCH] 删除工单,物理删除图片调整

---
 ycl-server/src/main/java/com/ycl/task/ContractResultTask.java |   73 +++++++++++++++++++++++-------------
 1 files changed, 46 insertions(+), 27 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 5bec0a4..ce627db 100644
--- a/ycl-server/src/main/java/com/ycl/task/ContractResultTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/ContractResultTask.java
@@ -1,20 +1,24 @@
 package com.ycl.task;
 
-import com.ycl.platform.domain.entity.ContractResultRecord;
-import com.ycl.platform.domain.entity.ContractScore;
-import com.ycl.platform.domain.entity.TContract;
+import com.ycl.platform.domain.entity.*;
+import com.ycl.platform.mapper.CalculateRecordMapper;
+import com.ycl.platform.service.CalculateRecordService;
+import com.ycl.platform.service.IContractResultService;
 import com.ycl.platform.service.IContractScoreService;
 import com.ycl.platform.service.ITContractService;
 import com.ycl.utils.DateUtils;
 import com.ycl.utils.bean.BeanUtils;
+import enumeration.general.CalculateReportStatusEnum;
+import enumeration.general.PublishType;
 import lombok.Data;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
+import java.util.Calendar;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -22,23 +26,21 @@
  * @since 2024/4/28 涓嬪崍 4:14
  */
 
-@Component
 @Data
+@Component("contractResultTask")
 public class ContractResultTask {
 
     private final ITContractService contractService;
     private final IContractScoreService contractScoreService;
-    private final ICheckResultService checkResultService;
-
+    private final IContractResultService checkResultService;
+    private final CalculateRecordMapper calculateRecordMapper;
     private String startTime;
     private String endTime;
 
     /**
      * 姣忎釜鏈�1鍙锋墽琛岋紝缁熻鑰冩牳缁撴灉
      */
-    @Scheduled(cron = "0 0 0 1 * ?")
     @Transactional
-    // @PostConstruct //鍚姩鏃舵墽琛屼竴娆�
     public void contractResultTask() {
         // 鏌ヨ鏈夋晥鏈熷唴鐨勫悎鍚�
         List<TContract> list = contractService.selectUsingContract();
@@ -47,27 +49,44 @@
             // 涓婁釜鏈堟墸鍒嗚褰�
             List<ContractScore> contractScore = contractScoreService.getDateRangeScoreByContractId(tContract.getId(), startTime, endTime);
             // 鏂板鑰冩牳缁撴灉
-            CheckResult checkResult = getCheckResult(tContract, contractScore);
-            checkResultService.save(checkResult);
-            // 鏂板鑰冩牳缁撴灉璁板綍
-            List<ContractResultRecord> contractResultRecord = getContractResultRecord(contractScore, checkResult);
-            checkResultService.saveBatchRecord(contractResultRecord);
+            //鑾峰彇涓婁釜鏈堟椂闂�
+            Calendar calendar = Calendar.getInstance();
+            calendar.add(Calendar.MONTH, -1);
+            ContractResult contractResult = getCheckResult(tContract, contractScore);
+            contractResult.setWhichMonth(calendar.get(Calendar.MONTH)+1);
+            contractResult.setWhichYear(calendar.get(Calendar.YEAR));
+            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);
+            calculateRecordMapper.insert(calculateRecord);
         }
     }
 
     /**
      * 淇濆瓨鑰冩牳璁板綍
      *
-     * @param contractScore 鎵e垎
-     * @param checkResult   鑰冩牳缁撴灉
+     * @param contractScore  鎵e垎
+     * @param contractResult 鑰冩牳缁撴灉
      * @return 鑰冩牳璁板綍
      */
-    private List<ContractResultRecord> getContractResultRecord(List<ContractScore> contractScore, CheckResult checkResult) {
+    private List<ContractResultRecord> getContractResultRecord(List<ContractScore> contractScore, ContractResult contractResult) {
         return contractScore.stream().map(
                 item -> {
                     ContractResultRecord record = new ContractResultRecord();
                     BeanUtils.copyProperties(item, record);
-                    record.setResultId(checkResult.getId());
+                    record.setResultId(contractResult.getId());
                     record.setCreateTime(DateUtils.getNowDate());
                     return record;
                 }
@@ -81,15 +100,15 @@
      * @param contractScore 鎵e垎
      * @return 鑰冩牳缁撴灉
      */
-    private CheckResult getCheckResult(TContract tContract, List<ContractScore> contractScore) {
-        CheckResult checkResult = new CheckResult();
-        checkResult.setUnitId(tContract.getUnitId());
-        checkResult.setContractId(tContract.getId());
-        checkResult.setPublish(0);
-        checkResult.setDeleted("0");
-        checkResult.setCheckTime(DateUtils.getNowDate());
-        checkResult.setScore(contractScore.isEmpty() ? new BigDecimal("100") : new BigDecimal("100").subtract(contractScore.stream().map(ContractScore::getScore).reduce(BigDecimal::add).get()));
-        return checkResult;
+    private ContractResult getCheckResult(TContract tContract, List<ContractScore> contractScore) {
+        ContractResult contractResult = new ContractResult();
+        contractResult.setUnitId(tContract.getUnitId());
+        contractResult.setContractId(tContract.getId());
+        contractResult.setPublish(0);
+        contractResult.setCheckTime(DateUtils.getNowDate());
+        //鏀逛负鐩存帴鍘绘煡
+//        contractResult.setScore(contractScore.isEmpty() ? new BigDecimal("100") : new BigDecimal("100").subtract(contractScore.stream().map(ContractScore::getScore).reduce(BigDecimal::add).get()));
+        return contractResult;
     }
 
 

--
Gitblit v1.8.0