From e32fc76d4159be3e9a6fc37f64d84c5942abe136 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 13 八月 2024 09:48:13 +0800 Subject: [PATCH] 空单生成空指针异常处理 --- ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java | 37 +++++++++++++++++-------------------- 1 files changed, 17 insertions(+), 20 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java index c979ea1..7e46a9c 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java @@ -2,7 +2,6 @@ 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; @@ -12,13 +11,13 @@ import com.ycl.system.entity.SysUser; import com.ycl.utils.SecurityUtils; import enumeration.general.AuditingStatus; -import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.io.Serializable; import java.util.Arrays; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -46,22 +45,7 @@ */ @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(); + return contractScoreMapper.selectDefaultScoreList(contractScore); } @Override @@ -77,8 +61,8 @@ contractScore.setCreateUserId(user.getUserId()); contractScore.setCreateUser(user.getNickName()); contractScore.setAuditingStatus(AuditingStatus.WAIT); - contractScore.setDeleted("0"); 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)); return super.save(contractScore); } @@ -91,10 +75,23 @@ @Override public boolean audit(ContractScore contractScore) { SysUser user = SecurityUtils.getLoginUser().getUser(); - contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(","))); 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(); + } + + @Override + public List<Map<String, Object>> calculate() { + return contractScoreMapper.calculate(); + } } -- Gitblit v1.8.0