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 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 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 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); } }