| | |
| | | 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.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 com.ycl.system.entity.SysUser; |
| | | import com.ycl.utils.DateUtils; |
| | | import com.ycl.utils.SecurityUtils; |
| | | import enumeration.general.AuditingStatus; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import utils.DateUtils; |
| | | |
| | | import java.util.List; |
| | | import java.io.Serializable; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 合同打分Service业务层处理 |
| | |
| | | * @date 2024-04-01 |
| | | */ |
| | | @Service |
| | | public class ContractScoreServiceImpl extends ServiceImpl<ContractScoreMapper, ContractScore> implements IContractScoreService |
| | | { |
| | | @Autowired |
| | | private ContractScoreMapper contractScoreMapper; |
| | | @RequiredArgsConstructor |
| | | public class ContractScoreServiceImpl extends ServiceImpl<ContractScoreMapper, ContractScore> implements IContractScoreService { |
| | | |
| | | /** |
| | | * 查询合同打分 |
| | | * |
| | | * @param id 合同打分主键 |
| | | * @return 合同打分 |
| | | */ |
| | | @Override |
| | | public ContractScore selectDefaultScoreById(Long id) |
| | | { |
| | | return contractScoreMapper.selectDefaultScoreById(id); |
| | | } |
| | | private final ContractScoreMapper contractScoreMapper; |
| | | private final YwUnitMapper ywunitMapper; |
| | | private final TContractMapper contractMapper; |
| | | private final CalculateRuleMapper calculateRuleMapper; |
| | | |
| | | /** |
| | | * 查询合同打分列表 |
| | |
| | | * @return 合同打分 |
| | | */ |
| | | @Override |
| | | public List<ContractScore> selectDefaultScoreList(ContractScore contractScore) |
| | | { |
| | | public List<ContractScore> selectDefaultScoreList(ContractScore contractScore) { |
| | | //避免搜索条件失效 |
| | | if(contractScore.getUnitId()==null) { |
| | | //TODO:数据权限 |
| | | Integer unitId = SecurityUtils.getUnitId(); |
| | | Long uid = null; |
| | | if (Objects.nonNull(unitId)) { |
| | | uid = Long.valueOf(unitId); |
| | | } |
| | | contractScore.setUnitId(uid); |
| | | } |
| | | if(contractScore.getCreateStartTime()!=null) { |
| | | contractScore.setCreateStartTime(DateUtils.getDayStart(contractScore.getCreateStartTime())); |
| | | } |
| | | if(contractScore.getCreateEndTime()!=null) { |
| | | contractScore.setCreateEndTime(DateUtils.getDayStart(contractScore.getCreateEndTime())); |
| | | } |
| | | if(contractScore.getAuditingStartTime()!=null) { |
| | | contractScore.setAuditingStartTime(DateUtils.getDayStart(contractScore.getAuditingStartTime())); |
| | | } |
| | | if(contractScore.getAuditingEndTime()!=null) { |
| | | contractScore.setAuditingEndTime(DateUtils.getDayStart(contractScore.getAuditingEndTime())); |
| | | } |
| | | return contractScoreMapper.selectDefaultScoreList(contractScore); |
| | | } |
| | | |
| | | /** |
| | | * 新增合同打分 |
| | | * |
| | | * @param contractScore 合同打分 |
| | | * @return 结果 |
| | | */ |
| | | @Override |
| | | public int insertDefaultScore(ContractScore contractScore) |
| | | { |
| | | contractScore.setCreateTime(DateUtils.getNowDate()); |
| | | return contractScoreMapper.insertDefaultScore(contractScore); |
| | | public ContractScore getById(Serializable id) { |
| | | //TODO:回显优化 |
| | | ContractScore contractScore = super.getById(id); |
| | | List<String> ruleIds = new ArrayList<>(); |
| | | ruleIds.add(contractScore.getRuleName().split("/")[0].trim()); |
| | | ruleIds.add(contractScore.getRuleId()+""); |
| | | contractScore.setRuleIdsArray(ruleIds); |
| | | return contractScore; |
| | | } |
| | | |
| | | /** |
| | | * 修改合同打分 |
| | | * |
| | | * @param contractScore 合同打分 |
| | | * @return 结果 |
| | | */ |
| | | @Override |
| | | public int updateDefaultScore(ContractScore contractScore) |
| | | { |
| | | contractScore.setUpdateTime(DateUtils.getNowDate()); |
| | | return contractScoreMapper.updateDefaultScore(contractScore); |
| | | public boolean save(ContractScore contractScore) { |
| | | SysUser user = SecurityUtils.getLoginUser().getUser(); |
| | | contractScore.setCreateUserId(user.getUserId()); |
| | | contractScore.setCreateUser(user.getNickName()); |
| | | contractScore.setAuditingStatus(AuditingStatus.WAIT); |
| | | // contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(","))); |
| | | // contractScore.setRuleIdsArray(Arrays.stream(contractScore.getRuleIds().split(",")).map(Long::parseLong).toArray(Long[]::new)); |
| | | contractScore.setUpdateTime(new Date()); |
| | | return super.save(contractScore); |
| | | } |
| | | |
| | | /** |
| | | * 批量删除合同打分 |
| | | * |
| | | * @param ids 需要删除的合同打分主键 |
| | | * @return 结果 |
| | | */ |
| | | @Override |
| | | public int deleteDefaultScoreByIds(Long[] ids) |
| | | { |
| | | return contractScoreMapper.deleteDefaultScoreByIds(ids); |
| | | public boolean updateById(ContractScore contractScore) { |
| | | contractScore.setRuleId(Long.parseLong(contractScore.getRuleIdsArray().get(1))); |
| | | contractScore.setUpdateTime(new Date()); |
| | | contractScore.setAuditingStatus(AuditingStatus.WAIT); |
| | | return super.updateById(contractScore); |
| | | } |
| | | |
| | | /** |
| | | * 删除合同打分信息 |
| | | * |
| | | * @param id 合同打分主键 |
| | | * @return 结果 |
| | | */ |
| | | @Override |
| | | public int deleteDefaultScoreById(Long id) |
| | | { |
| | | return contractScoreMapper.deleteDefaultScoreById(id); |
| | | public boolean audit(ContractScore contractScore) { |
| | | SysUser user = SecurityUtils.getLoginUser().getUser(); |
| | | contractScore.setAuditingTime(com.ycl.utils.DateUtils.getNowDate()); |
| | | contractScore.setAuditingUser(user.getNickName()); |
| | | contractScore.setAuditingUserId(user.getUserId()); |
| | | return super.updateById(contractScore); |
| | | } |
| | | |
| | | @Override |
| | | public List<ContractScore> getDateRangeScoreByContractId(Long id, String startTime, String endTime) { |
| | | return new LambdaQueryChainWrapper<>(contractScoreMapper) |
| | | .eq(ContractScore::getContractId, id) |
| | | .between(ContractScore::getCreateTime, startTime, endTime) |
| | | .eq(ContractScore::getAuditingStatus, AuditingStatus.PASS) |
| | | .list(); |
| | | } |
| | | |
| | | } |