From 3b0516a2959e25576e4f3fda697a3b025d06c8c9 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期二, 24 六月 2025 14:09:07 +0800 Subject: [PATCH] 每日录像可用指标添加日志,修改大屏为查看当前月平均 --- 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