From c83101eb62f5d4906b9c01ceea6b21a37f9e84d8 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 18 十一月 2025 09:24:53 +0800
Subject: [PATCH] bug修复
---
ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java | 180 ++++++++++++++++++++++++++++-------------------------------
1 files changed, 86 insertions(+), 94 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 441b357..22527b6 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,22 +2,23 @@
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 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.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import java.io.Serializable;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* 鍚堝悓鎵撳垎Service涓氬姟灞傚鐞�
@@ -26,28 +27,13 @@
* @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;
+@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;
/**
* 鏌ヨ鍚堝悓鎵撳垎鍒楄〃
@@ -56,73 +42,79 @@
* @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);
+ }
+
+ @Override
+ 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;
+ }
+
+ @Override
+ 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);
+ }
+
+ @Override
+ 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);
+ }
+
+ @Override
+ 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(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();
+ .eq(ContractScore::getContractId, id)
+ .between(ContractScore::getCreateTime, startTime, endTime)
+ .eq(ContractScore::getAuditingStatus, AuditingStatus.PASS)
+ .list();
}
- /**
- * 鏂板鍚堝悓鎵撳垎
- *
- * @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);
- }
}
--
Gitblit v1.8.0