New file |
| | |
| | | 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.selectById(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, DateUtils.getDate()), 0L); |
| | | } |
| | | } |