fuliqi
2024-04-26 7a7dbbd34179b79caf3b74dedf2d5b84f30d0c05
ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java
New file
@@ -0,0 +1,128 @@
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);
    }
}