From 64efb660b2c119c00432434c0f651f8996483f18 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 21 二月 2025 15:51:13 +0800
Subject: [PATCH] OSD大华数据格式+数据中心重点标签统计数

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java |   86 ++++++++++++++++++++++++++----------------
 1 files changed, 53 insertions(+), 33 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java
index c979ea1..22527b6 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java
@@ -2,7 +2,6 @@
 
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ycl.platform.domain.entity.CalculateRule;
 import com.ycl.platform.domain.entity.ContractScore;
 import com.ycl.platform.mapper.CalculateRuleMapper;
 import com.ycl.platform.mapper.ContractScoreMapper;
@@ -10,15 +9,15 @@
 import com.ycl.platform.mapper.YwUnitMapper;
 import com.ycl.platform.service.IContractScoreService;
 import com.ycl.system.entity.SysUser;
+import com.ycl.utils.DateUtils;
 import com.ycl.utils.SecurityUtils;
 import enumeration.general.AuditingStatus;
-import org.apache.commons.lang3.ObjectUtils;
+import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.io.Serializable;
-import java.util.Arrays;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -28,15 +27,13 @@
  * @date 2024-04-01
  */
 @Service
+@RequiredArgsConstructor
 public class ContractScoreServiceImpl extends ServiceImpl<ContractScoreMapper, ContractScore> implements IContractScoreService {
-    @Autowired
-    private ContractScoreMapper contractScoreMapper;
-    @Autowired
-    private YwUnitMapper ywunitMapper;
-    @Autowired
-    private TContractMapper contractMapper;
-    @Autowired
-    private CalculateRuleMapper calculateRuleMapper;
+
+    private final ContractScoreMapper contractScoreMapper;
+    private final YwUnitMapper ywunitMapper;
+    private final TContractMapper contractMapper;
+    private final CalculateRuleMapper calculateRuleMapper;
 
     /**
      * 鏌ヨ鍚堝悓鎵撳垎鍒楄〃
@@ -46,28 +43,39 @@
      */
     @Override
     public List<ContractScore> selectDefaultScoreList(ContractScore contractScore) {
-        return new LambdaQueryChainWrapper<>(contractScoreMapper)
-                .eq(ObjectUtils.isNotEmpty(contractScore.getUnitId()), ContractScore::getUnitId, contractScore.getUnitId())
-                .between(ObjectUtils.isNotEmpty(contractScore.getCreateStartTime()), ContractScore::getCreateTime, contractScore.getCreateStartTime(), contractScore.getCreateEndTime())
-                .between(ObjectUtils.isNotEmpty(contractScore.getAuditingStartTime()), ContractScore::getAuditingTime, contractScore.getAuditingStartTime(), contractScore.getAuditingEndTime())
-                .eq(ObjectUtils.isNotEmpty(contractScore.getAuditingStatus()), ContractScore::getAuditingStatus, contractScore.getAuditingStatus())
-                .orderByDesc(ContractScore::getCreateTime)
-                .list()
-                .stream().peek(
-                        item -> {
-                            item.setUnitName(ywunitMapper.selectById(item.getUnitId()).getUnitName());
-                            item.setContractName(contractMapper.selectById(item.getContractId()).getName());
-                            item.setRuleIdsArray(Arrays.stream(item.getRuleIds().split(",")).map(Long::parseLong).toArray(Long[]::new));
-                            List<CalculateRule> list = new LambdaQueryChainWrapper<>(calculateRuleMapper).in(CalculateRule::getId, item.getRuleIdsArray()).list();
-                            item.setRuleName(String.join(" / ", new String[]{list.get(0).getRuleName(), list.get(1).getRuleDesc(), list.get(2).getRuleCondition()}));
-                        }
-                ).toList();
+        //閬垮厤鎼滅储鏉′欢澶辨晥
+        if(contractScore.getUnitId()==null) {
+            //TODO:鏁版嵁鏉冮檺
+            Integer unitId = SecurityUtils.getUnitId();
+            Long uid = null;
+            if (Objects.nonNull(unitId)) {
+                uid = Long.valueOf(unitId);
+            }
+            contractScore.setUnitId(uid);
+        }
+        if(contractScore.getCreateStartTime()!=null) {
+            contractScore.setCreateStartTime(DateUtils.getDayStart(contractScore.getCreateStartTime()));
+        }
+        if(contractScore.getCreateEndTime()!=null) {
+            contractScore.setCreateEndTime(DateUtils.getDayStart(contractScore.getCreateEndTime()));
+        }
+        if(contractScore.getAuditingStartTime()!=null) {
+            contractScore.setAuditingStartTime(DateUtils.getDayStart(contractScore.getAuditingStartTime()));
+        }
+        if(contractScore.getAuditingEndTime()!=null) {
+            contractScore.setAuditingEndTime(DateUtils.getDayStart(contractScore.getAuditingEndTime()));
+        }
+        return contractScoreMapper.selectDefaultScoreList(contractScore);
     }
 
     @Override
     public ContractScore getById(Serializable id) {
+        //TODO:鍥炴樉浼樺寲
         ContractScore contractScore = super.getById(id);
-        contractScore.setRuleIdsArray(Arrays.stream(contractScore.getRuleIds().split(",")).map(Long::parseLong).toArray(Long[]::new));
+        List<String> ruleIds = new ArrayList<>();
+        ruleIds.add(contractScore.getRuleName().split("/")[0].trim());
+        ruleIds.add(contractScore.getRuleId()+"");
+        contractScore.setRuleIdsArray(ruleIds);
         return contractScore;
     }
 
@@ -77,24 +85,36 @@
         contractScore.setCreateUserId(user.getUserId());
         contractScore.setCreateUser(user.getNickName());
         contractScore.setAuditingStatus(AuditingStatus.WAIT);
-        contractScore.setDeleted("0");
-        contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(",")));
+//        contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(",")));
+//        contractScore.setRuleIdsArray(Arrays.stream(contractScore.getRuleIds().split(",")).map(Long::parseLong).toArray(Long[]::new));
+        contractScore.setUpdateTime(new Date());
         return super.save(contractScore);
     }
 
     @Override
     public boolean updateById(ContractScore contractScore) {
-        contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(",")));
+        contractScore.setRuleId(Long.parseLong(contractScore.getRuleIdsArray().get(1)));
+        contractScore.setUpdateTime(new Date());
+        contractScore.setAuditingStatus(AuditingStatus.WAIT);
         return super.updateById(contractScore);
     }
 
     @Override
     public boolean audit(ContractScore contractScore) {
         SysUser user = SecurityUtils.getLoginUser().getUser();
-        contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(",")));
         contractScore.setAuditingTime(com.ycl.utils.DateUtils.getNowDate());
         contractScore.setAuditingUser(user.getNickName());
         contractScore.setAuditingUserId(user.getUserId());
         return super.updateById(contractScore);
     }
+
+    @Override
+    public List<ContractScore> getDateRangeScoreByContractId(Long id, String startTime, String endTime) {
+        return new LambdaQueryChainWrapper<>(contractScoreMapper)
+                .eq(ContractScore::getContractId, id)
+                .between(ContractScore::getCreateTime, startTime, endTime)
+                .eq(ContractScore::getAuditingStatus, AuditingStatus.PASS)
+                .list();
+    }
+
 }

--
Gitblit v1.8.0