From f8889f7364adae89e45a5ec3fcf4b38e430cf389 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 10 九月 2024 10:41:18 +0800
Subject: [PATCH] 工单详情

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateRuleServiceImpl.java |   69 +++++++++++-----------------------
 1 files changed, 23 insertions(+), 46 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateRuleServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateRuleServiceImpl.java
index 39896a1..078814f 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateRuleServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateRuleServiceImpl.java
@@ -1,27 +1,20 @@
 package com.ycl.platform.service.impl;
 
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.context.AnalysisContext;
-import com.alibaba.excel.enums.CellExtraTypeEnum;
-import com.alibaba.excel.metadata.CellExtra;
-import com.alibaba.excel.read.listener.ReadListener;
-import com.alibaba.fastjson2.JSON;
 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.TContract;
+import com.ycl.platform.domain.vo.CalculateRuleCascaderVO;
 import com.ycl.platform.mapper.CalculateRuleMapper;
+import com.ycl.platform.mapper.TContractMapper;
 import com.ycl.platform.service.ICalculateRuleService;
-import com.ycl.system.domain.TreeNode;
-import com.ycl.system.domain.TreeUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
 import utils.DateUtils;
 
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 杩濈害瑙勫垯Service涓氬姟灞傚鐞�
@@ -33,6 +26,8 @@
 public class CalculateRuleServiceImpl extends ServiceImpl<CalculateRuleMapper, CalculateRule> implements ICalculateRuleService {
     @Autowired
     private CalculateRuleMapper calculateRuleMapper;
+    @Autowired
+    private TContractMapper contractMapper;
 
     /**
      * 鏌ヨ杩濈害瑙勫垯
@@ -42,7 +37,7 @@
      */
     @Override
     public CalculateRule selectDefaultRuleById(Long id) {
-        return calculateRuleMapper.selectDefaultRuleById(id);
+        return calculateRuleMapper.selectById(id);
     }
 
     /**
@@ -102,43 +97,25 @@
         return calculateRuleMapper.deleteDefaultRuleById(id);
     }
 
-    /**
-     * 鑾峰彇鍚堝悓Excel瑙勫垯
-     *
-     * @param file 鍚堝悓Excel鏂囦欢
-     * @return 瑙勫垯
-     */
-
     @Override
-    public List<CalculateRule> readExcel(MultipartFile file) {
-        List<CalculateRule> calculateRuleList = new ArrayList<>();
-        try {
-            EasyExcel.read(file.getInputStream(), CalculateRule.class, new ReadListener<CalculateRule>() {
-                        @Override
-                        public void invoke(CalculateRule calculateRule, AnalysisContext analysisContext) {
-                            calculateRule.setId(null);
-                            calculateRuleList.add(calculateRule);
-                        }
-
-                        @Override
-                        public void doAfterAllAnalysed(AnalysisContext analysisContext) {
-                        }
-
-                    })
-                    .head(CalculateRule.class)
-                    .sheet()
-                    .doRead();
-        } catch (IOException e) {
-            throw new RuntimeException(e);
-        }
-        return calculateRuleList;
+    public List<CalculateRule> getRuleListByContractId(Integer contractId) {
+        return new LambdaQueryChainWrapper<>(calculateRuleMapper)
+                .eq(CalculateRule::getContractId, contractId)
+                .list();
     }
 
     @Override
-    public List<CalculateRule> getRuleListByContractId(Integer contractId) {
-        List<CalculateRule> list = new LambdaQueryChainWrapper<>(calculateRuleMapper)
-                .eq(CalculateRule::getContractId, contractId)
-                .list();
-        return TreeUtils.build(list, 0L);
+    public  List<CalculateRuleCascaderVO> getRuleListByUnitId(Integer unitId) {
+        List<CalculateRuleCascaderVO> ruleListByUnitId = calculateRuleMapper.getRuleListByUnitId(unitId, DateUtils.getDate());
+        Map<String, List<CalculateRuleCascaderVO>> map = ruleListByUnitId.stream().collect(Collectors.groupingBy(CalculateRuleCascaderVO::getRuleName));
+        List<CalculateRuleCascaderVO> result = new ArrayList<>();
+        map.forEach((str,list)->{
+            CalculateRuleCascaderVO vo = new CalculateRuleCascaderVO();
+            vo.setValue(str);
+            vo.setLabel(str);
+            vo.setChildren(list);
+            result.add(vo);
+        });
+        return result;
     }
 }

--
Gitblit v1.8.0