123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- package com.xjrsoft.module.evaluate.service.impl;
- import cn.dev33.satoken.stp.StpUtil;
- import cn.hutool.core.bean.BeanUtil;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.core.toolkit.Wrappers;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.github.yulichang.base.MPJBaseServiceImpl;
- import com.xjrsoft.common.exception.MyException;
- import com.xjrsoft.module.evaluate.dto.EvaluateManagePageDto;
- import com.xjrsoft.module.evaluate.dto.EvaluateWritePageDto;
- import com.xjrsoft.module.evaluate.entity.EvaluateExecuter;
- import com.xjrsoft.module.evaluate.entity.EvaluateItem;
- import com.xjrsoft.module.evaluate.entity.EvaluateManage;
- import com.xjrsoft.module.evaluate.entity.EvaluateManageItem;
- import com.xjrsoft.module.evaluate.entity.EvaluateObject;
- import com.xjrsoft.module.evaluate.mapper.EvaluateExecuterMapper;
- import com.xjrsoft.module.evaluate.mapper.EvaluateItemMapper;
- import com.xjrsoft.module.evaluate.mapper.EvaluateManageItemMapper;
- import com.xjrsoft.module.evaluate.mapper.EvaluateManageMapper;
- import com.xjrsoft.module.evaluate.mapper.EvaluateObjectMapper;
- import com.xjrsoft.module.evaluate.service.IEvaluateManageService;
- import com.xjrsoft.module.evaluate.vo.EvaluateManageItemVo;
- import com.xjrsoft.module.evaluate.vo.EvaluateManagePageVo;
- import com.xjrsoft.module.evaluate.vo.EvaluateManageScoreVo;
- import com.xjrsoft.module.evaluate.vo.EvaluateWritePageVo;
- import com.xjrsoft.module.evaluate.vo.EvaluateWriteVo;
- import lombok.AllArgsConstructor;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.util.List;
- /**
- * @title: 评价管理
- * @Author dzx
- * @Date: 2024-01-16
- * @Version 1.0
- */
- @Service
- @AllArgsConstructor
- public class EvaluateManageServiceImpl extends MPJBaseServiceImpl<EvaluateManageMapper, EvaluateManage> implements IEvaluateManageService {
- private final EvaluateManageMapper evaluateManageMapper;
- private final EvaluateObjectMapper evaluateObjectMapper;
- private final EvaluateExecuterMapper evaluateExecuterMapper;
- private final EvaluateItemMapper evaluateItemMapper;
- private final EvaluateManageItemMapper evaluateManageItemMapper;
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Boolean add(EvaluateManage evaluateManage) {
- evaluateManage.setStatus(-1);
- evaluateManageMapper.insert(evaluateManage);
- return true;
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Boolean update(EvaluateManage evaluateManage) {
- evaluateManageMapper.updateById(evaluateManage);
- return true;
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Boolean delete(List<Long> ids) {
- evaluateManageMapper.deleteBatchIds(ids);
- evaluateObjectMapper.delete(Wrappers.lambdaQuery(EvaluateObject.class).in(EvaluateObject::getEvaluateManageId, ids));
- evaluateExecuterMapper.delete(Wrappers.lambdaQuery(EvaluateExecuter.class).in(EvaluateExecuter::getEvaluateManageId, ids));
- return true;
- }
- @Override
- public Page<EvaluateManagePageVo> getPage(Page<EvaluateManagePageDto> page, EvaluateManagePageDto dto) {
- return evaluateManageMapper.getPage(page, dto);
- }
- @Override
- public Boolean release(Long id) {
- EvaluateManage evaluateManage = evaluateManageMapper.selectById(id);
- if(evaluateManage == null){
- throw new MyException("未查询到数据,请检查传入的id是否正确");
- }
- // evaluateManageItemMapper.cloneItems(evaluateManage.getEvaluateTemplateId(), evaluateManage.getId(), StpUtil.getLoginIdAsLong());
- //查询模板中的评价项
- List<EvaluateItem> evaluateItemList = evaluateItemMapper.selectList(
- new QueryWrapper<EvaluateItem>().lambda()
- .eq(EvaluateItem::getEvaluateTemplateId, evaluateManage.getEvaluateTemplateId())
- );
- //克隆一份,存到评价管理下面,可以采用sql语句
- for (EvaluateItem evaluateItem : evaluateItemList) {
- EvaluateManageItem manageItem = BeanUtil.toBean(evaluateItem, EvaluateManageItem.class);
- manageItem.setEvaluateManageId(evaluateManage.getId());
- manageItem.setEvaluateItemId(manageItem.getId());
- evaluateManageItemMapper.insert(manageItem);
- }
- //将评价管理状态改为进行中
- evaluateManage.setStatus(1);
- evaluateManageMapper.updateById(evaluateManage);
- return true;
- }
- @Override
- public Page<EvaluateWritePageVo> getMobilePage(Page<EvaluateWritePageDto> page, EvaluateWritePageDto dto) {
- Page<EvaluateWritePageVo> mobilePage = evaluateManageMapper.getMobilePage(page, dto);
- if(dto.getStatus() == 1){
- List<EvaluateManageScoreVo> scoreList = evaluateManageMapper.getScoreList();
- for (EvaluateWritePageVo record : mobilePage.getRecords()) {
- for (EvaluateManageScoreVo evaluateManageScoreVo : scoreList) {
- if(!record.getId().equals(evaluateManageScoreVo.getEvaluateManageId())){
- continue;
- }
- record.setTotalScore(evaluateManageScoreVo.getScore());
- }
- }
- }
- return mobilePage;
- }
- @Override
- public EvaluateWriteVo getWriteInfo(Long id) {
- return evaluateManageMapper.getWriteInfo(id);
- }
- @Override
- public List<EvaluateManageItemVo> getItemList(Long id) {
- return evaluateManageMapper.getItemList(id);
- }
- @Override
- public List<EvaluateManageItemVo> getResultList(Long id) {
- return evaluateManageMapper.getResultList(id, StpUtil.getLoginIdAsLong());
- }
- }
|