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/ContractResultServiceImpl.java |  129 ++++++++++++++++++++++++++++++------------
 1 files changed, 92 insertions(+), 37 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractResultServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractResultServiceImpl.java
index cc566b8..80320a1 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractResultServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractResultServiceImpl.java
@@ -1,97 +1,152 @@
 package com.ycl.platform.service.impl;
 
+import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ycl.platform.domain.entity.ContractResult;
+import com.ycl.platform.domain.entity.ContractResultRecord;
+import com.ycl.platform.domain.vo.ContractResultVO;
 import com.ycl.platform.mapper.ContractResultMapper;
+import com.ycl.platform.mapper.ContractResultRecordMapper;
 import com.ycl.platform.service.IContractResultService;
+import com.ycl.system.entity.BaseEntity;
+import com.ycl.system.entity.SysRole;
+import com.ycl.system.entity.SysUser;
+import com.ycl.utils.SecurityUtils;
+import enumeration.general.PublishType;
+import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import utils.DateUtils;
 
+import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 
 /**
- * 鍚堝悓鑰冩牳缁撴灉Service涓氬姟灞傚鐞�
+ * 鑰冩牳缁撴灉Service涓氬姟灞傚鐞�
  *
  * @author ruoyi
  * @date 2024-04-01
  */
 @Service
-public class ContractResultServiceImpl extends ServiceImpl<ContractResultMapper, ContractResult> implements IContractResultService
-{
-    @Autowired
-    private ContractResultMapper contractResultMapper;
+@RequiredArgsConstructor
+public class ContractResultServiceImpl extends ServiceImpl<ContractResultMapper, ContractResult> implements IContractResultService {
+
+    private final ContractResultMapper checkResultMapper;
+    private final ContractResultRecordMapper contractResultRecordMapper;
+
 
     /**
-     * 鏌ヨ鍚堝悓鑰冩牳缁撴灉
+     * 鏌ヨ鑰冩牳缁撴灉
      *
-     * @param id 鍚堝悓鑰冩牳缁撴灉涓婚敭
-     * @return 鍚堝悓鑰冩牳缁撴灉
+     * @param id 鑰冩牳缁撴灉涓婚敭
+     * @return 鑰冩牳缁撴灉
      */
     @Override
-    public ContractResult selectDefaultResultById(Long id)
-    {
-        return contractResultMapper.selectDefaultResultById(id);
+    public ContractResult selectCheckResultById(Long id) {
+        return checkResultMapper.selectById(id);
     }
 
     /**
-     * 鏌ヨ鍚堝悓鑰冩牳缁撴灉鍒楄〃
+     * 鏌ヨ鑰冩牳缁撴灉鍒楄〃
      *
-     * @param contractResult 鍚堝悓鑰冩牳缁撴灉
-     * @return 鍚堝悓鑰冩牳缁撴灉
+     * @param contractResult 鑰冩牳缁撴灉
+     * @return 鑰冩牳缁撴灉
      */
     @Override
-    public List<ContractResult> selectDefaultResultList(ContractResult contractResult)
-    {
-        return contractResultMapper.selectDefaultResultList(contractResult);
+    public List<ContractResultVO> selectCheckResultList(ContractResultVO contractResult) {
+        //閬垮厤鏌ヨ鏉′欢澶辨晥
+        if (contractResult.getUnitId() == null) {
+            Integer unitId = SecurityUtils.getUnitId();
+            Long uid = null;
+            if (Objects.nonNull(unitId)) {
+                uid = Long.valueOf(unitId);
+            }
+            contractResult.setUnitId(uid);
+        }
+        roleControl(contractResult);
+        return checkResultMapper.selectCheckResultList(contractResult);
     }
 
+    private void roleControl(ContractResultVO contractResult) {
+        List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles();
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        if (!user.isAdmin()) {
+            for (SysRole role : roles) {
+                if (role.getPermissions().contains("check:contract:role:publish")) {
+                    contractResult.setPublish(1);
+                }
+            }
+        }
+    }
+
+
     /**
-     * 鏂板鍚堝悓鑰冩牳缁撴灉
+     * 鏂板鑰冩牳缁撴灉
      *
-     * @param contractResult 鍚堝悓鑰冩牳缁撴灉
+     * @param contractResult 鑰冩牳缁撴灉
      * @return 缁撴灉
      */
     @Override
-    public int insertDefaultResult(ContractResult contractResult)
-    {
-        return contractResultMapper.insertDefaultResult(contractResult);
+    public int insertCheckResult(ContractResult contractResult) {
+        return checkResultMapper.insert(contractResult);
     }
 
     /**
-     * 淇敼鍚堝悓鑰冩牳缁撴灉
+     * 淇敼鑰冩牳缁撴灉
      *
-     * @param contractResult 鍚堝悓鑰冩牳缁撴灉
+     * @param contractResult 鑰冩牳缁撴灉
      * @return 缁撴灉
      */
     @Override
-    public int updateDefaultResult(ContractResult contractResult)
-    {
+    public int updateCheckResult(ContractResult contractResult) {
         contractResult.setUpdateTime(DateUtils.getNowDate());
-        return contractResultMapper.updateDefaultResult(contractResult);
+        return checkResultMapper.updateById(contractResult);
     }
 
     /**
-     * 鎵归噺鍒犻櫎鍚堝悓鑰冩牳缁撴灉
+     * 鎵归噺鍒犻櫎鑰冩牳缁撴灉
      *
-     * @param ids 闇�瑕佸垹闄ょ殑鍚堝悓鑰冩牳缁撴灉涓婚敭
+     * @param ids 闇�瑕佸垹闄ょ殑鑰冩牳缁撴灉涓婚敭
      * @return 缁撴灉
      */
     @Override
-    public int deleteDefaultResultByIds(Long[] ids)
-    {
-        return contractResultMapper.deleteDefaultResultByIds(ids);
+    public int deleteCheckResultByIds(Long[] ids) {
+        return checkResultMapper.deleteBatchIds(Arrays.asList(ids));
     }
 
     /**
-     * 鍒犻櫎鍚堝悓鑰冩牳缁撴灉淇℃伅
+     * 鍒犻櫎鑰冩牳缁撴灉淇℃伅
      *
-     * @param id 鍚堝悓鑰冩牳缁撴灉涓婚敭
+     * @param id 鑰冩牳缁撴灉涓婚敭
      * @return 缁撴灉
      */
     @Override
-    public int deleteDefaultResultById(Long id)
-    {
-        return contractResultMapper.deleteDefaultResultById(id);
+    public int deleteCheckResultById(Long id) {
+        return checkResultMapper.deleteById(id);
+    }
+
+    @Override
+    public void saveBatchRecord(List<ContractResultRecord> contractResultRecord) {
+        if (!contractResultRecord.isEmpty()) {
+            contractResultRecordMapper.saveBatch(contractResultRecord);
+        }
+    }
+
+    @Override
+    public List<ContractResultRecord> selectCheckResultRecordList(Long resultId, Long contractId) {
+        return checkResultMapper.selectCheckResultRecordList(resultId, contractId);
+    }
+
+    @Override
+    public Boolean publish(Long id) {
+        ContractResult contractResult = checkResultMapper.selectById(id);
+
+        return new LambdaUpdateChainWrapper<>(checkResultMapper)
+                .eq(ContractResult::getId, id)
+                .set(ContractResult::getPublish, contractResult.getPublish() == 0 ? 1 : 0)
+                .set(ContractResult::getPublishId, SecurityUtils.getLoginUser().getUserId())
+                .update();
     }
 }

--
Gitblit v1.8.0