From 02d115e902ef2091fa5f0202ec3909f1c2e66923 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期三, 16 四月 2025 14:01:57 +0800 Subject: [PATCH] 设备未知状态修改,工单照片清理定时任务,工单逻辑删除照片,以及保存最新的5张,数据导出离线数统计,在线率统计的合计修改 --- 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