From 4da3b0321291a1ad8a1341f8f843a41d4b516903 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期三, 24 四月 2024 18:09:11 +0800 Subject: [PATCH] 合同规则分三层、合同积分新增 --- ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateRuleServiceImpl.java | 149 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 149 insertions(+), 0 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 new file mode 100644 index 0000000..0283e71 --- /dev/null +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateRuleServiceImpl.java @@ -0,0 +1,149 @@ +package com.ycl.platform.service.impl; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.read.listener.ReadListener; +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.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; + +/** + * 杩濈害瑙勫垯Service涓氬姟灞傚鐞� + * + * @author ruoyi + * @date 2024-04-01 + */ +@Service +public class CalculateRuleServiceImpl extends ServiceImpl<CalculateRuleMapper, CalculateRule> implements ICalculateRuleService { + @Autowired + private CalculateRuleMapper calculateRuleMapper; + @Autowired + private TContractMapper contractMapper; + + /** + * 鏌ヨ杩濈害瑙勫垯 + * + * @param id 杩濈害瑙勫垯涓婚敭 + * @return 杩濈害瑙勫垯 + */ + @Override + public CalculateRule selectDefaultRuleById(Long id) { + return calculateRuleMapper.selectDefaultRuleById(id); + } + + /** + * 鏌ヨ杩濈害瑙勫垯鍒楄〃 + * + * @param calculateRule 杩濈害瑙勫垯 + * @return 杩濈害瑙勫垯 + */ + @Override + public List<CalculateRule> selectDefaultRuleList(CalculateRule calculateRule) { + return calculateRuleMapper.selectDefaultRuleList(calculateRule); + } + + /** + * 鏂板杩濈害瑙勫垯 + * + * @param calculateRule 杩濈害瑙勫垯 + * @return 缁撴灉 + */ + @Override + public int insertDefaultRule(CalculateRule calculateRule) { + calculateRule.setCreateTime(DateUtils.getNowDate()); + return calculateRuleMapper.insertDefaultRule(calculateRule); + } + + /** + * 淇敼杩濈害瑙勫垯 + * + * @param calculateRule 杩濈害瑙勫垯 + * @return 缁撴灉 + */ + @Override + public int updateDefaultRule(CalculateRule calculateRule) { + calculateRule.setUpdateTime(DateUtils.getNowDate()); + return calculateRuleMapper.updateDefaultRule(calculateRule); + } + + /** + * 鎵归噺鍒犻櫎杩濈害瑙勫垯 + * + * @param ids 闇�瑕佸垹闄ょ殑杩濈害瑙勫垯涓婚敭 + * @return 缁撴灉 + */ + @Override + public int deleteDefaultRuleByIds(Long[] ids) { + return calculateRuleMapper.deleteDefaultRuleByIds(ids); + } + + /** + * 鍒犻櫎杩濈害瑙勫垯淇℃伅 + * + * @param id 杩濈害瑙勫垯涓婚敭 + * @return 缁撴灉 + */ + @Override + public int deleteDefaultRuleById(Long id) { + 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; + } + + @Override + public List<CalculateRule> getRuleListByContractId(Integer contractId) { + List<CalculateRule> list = new LambdaQueryChainWrapper<>(calculateRuleMapper) + .eq(CalculateRule::getContractId, contractId) + .list(); + return TreeUtils.build(list, 0L); + } + + @Override + public List<CalculateRuleCascaderVO> getRuleListByUnitId(Integer unitId) { + return TreeUtils.build(calculateRuleMapper.getRuleListByUnitId(unitId), 0L); + } +} -- Gitblit v1.8.0