package com.ycl.platform.service.impl;
|
|
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;
|
import com.ycl.platform.mapper.TContractMapper;
|
import com.ycl.platform.mapper.YwUnitMapper;
|
import com.ycl.platform.service.IContractScoreService;
|
import org.apache.commons.lang3.ObjectUtils;
|
import org.aspectj.weaver.ast.Var;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import utils.DateUtils;
|
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.List;
|
|
/**
|
* 合同打分Service业务层处理
|
*
|
* @author ruoyi
|
* @date 2024-04-01
|
*/
|
@Service
|
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;
|
|
/**
|
* 查询合同打分
|
*
|
* @param id 合同打分主键
|
* @return 合同打分
|
*/
|
@Override
|
public ContractScore selectDefaultScoreById(Long id)
|
{
|
return contractScoreMapper.selectDefaultScoreById(id);
|
}
|
|
/**
|
* 查询合同打分列表
|
*
|
* @param contractScore 合同打分
|
* @return 合同打分
|
*/
|
@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();
|
}
|
|
/**
|
* 新增合同打分
|
*
|
* @param contractScore 合同打分
|
* @return 结果
|
*/
|
@Override
|
public int insertDefaultScore(ContractScore contractScore)
|
{
|
contractScore.setCreateTime(DateUtils.getNowDate());
|
return contractScoreMapper.insertDefaultScore(contractScore);
|
}
|
|
/**
|
* 修改合同打分
|
*
|
* @param contractScore 合同打分
|
* @return 结果
|
*/
|
@Override
|
public int updateDefaultScore(ContractScore contractScore)
|
{
|
contractScore.setUpdateTime(DateUtils.getNowDate());
|
return contractScoreMapper.updateDefaultScore(contractScore);
|
}
|
|
/**
|
* 批量删除合同打分
|
*
|
* @param ids 需要删除的合同打分主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteDefaultScoreByIds(Long[] ids)
|
{
|
return contractScoreMapper.deleteDefaultScoreByIds(ids);
|
}
|
|
/**
|
* 删除合同打分信息
|
*
|
* @param id 合同打分主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteDefaultScoreById(Long id)
|
{
|
return contractScoreMapper.deleteDefaultScoreById(id);
|
}
|
}
|