|
|
@@ -1,6 +1,14 @@
|
|
|
package cn.tr.module.smart.common.service.impl;
|
|
|
|
|
|
import cn.tr.core.exception.TRExcCode;
|
|
|
+import cn.tr.module.smart.common.controller.vo.BizReasearchQueueClinicVO;
|
|
|
+import cn.tr.module.smart.common.controller.vo.BizReasearchQueueQuestionAnswerVO;
|
|
|
+import cn.tr.module.smart.common.dto.BizReasearchQueueAddClinicDTO;
|
|
|
+import cn.tr.module.smart.common.dto.BizReasearchQueueClinicQuestionAnswerRecordQueryDTO;
|
|
|
+import cn.tr.module.smart.common.mapper.BizQuestionAnswerMapper;
|
|
|
+import cn.tr.module.smart.common.po.BizQuestionAnswerPO;
|
|
|
+import cn.tr.module.smart.common.repository.BizQuestionAnswerRepository;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
@@ -9,11 +17,11 @@ import cn.tr.core.exception.ServiceException;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import cn.tr.module.smart.common.repository.BizReasearchQueueClinicRepository;
|
|
|
import cn.tr.module.smart.common.po.BizReasearchQueueClinicPO;
|
|
|
-import cn.tr.module.smart.common.dto.BizReasearchQueueClinicDTO;
|
|
|
import cn.tr.module.smart.common.dto.BizReasearchQueueClinicQueryDTO;
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
import cn.tr.module.smart.common.service.IBizReasearchQueueClinicService;
|
|
|
-import cn.tr.module.smart.common.mapper.BizReasearchQueueClinicMapper;
|
|
|
/**
|
|
|
* 队列-临床手术关联表Service接口实现类
|
|
|
*
|
|
|
@@ -21,72 +29,79 @@ import cn.tr.module.smart.common.mapper.BizReasearchQueueClinicMapper;
|
|
|
* @date 2025/10/15 08:27
|
|
|
**/
|
|
|
@Service
|
|
|
-public class BizReasearchQueueClinicServiceImpl implements IBizReasearchQueueClinicService {
|
|
|
+public class BizReasearchQueueClinicServiceImpl extends ServiceImpl<BizReasearchQueueClinicRepository,BizReasearchQueueClinicPO> implements IBizReasearchQueueClinicService {
|
|
|
@Autowired
|
|
|
- private BizReasearchQueueClinicRepository baseRepository;
|
|
|
+ private BizQuestionAnswerRepository questionAnswerRepository;
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * 根据条件查询队列-临床手术关联表
|
|
|
- * @param query 查询参数
|
|
|
- * @author lf
|
|
|
- * @date 2025/10/15 08:27
|
|
|
- */
|
|
|
+ * 根据条件查询队列-临床手术关联表
|
|
|
+ * @param query 查询参数
|
|
|
+ * @author lf
|
|
|
+ * @date 2025/10/15 08:27
|
|
|
+ */
|
|
|
@Override
|
|
|
- public List<BizReasearchQueueClinicDTO> selectBizReasearchQueueClinicList(BizReasearchQueueClinicQueryDTO query){
|
|
|
- return BizReasearchQueueClinicMapper.INSTANCE.convertDtoList(
|
|
|
- baseRepository.selectList(new LambdaQueryWrapper<BizReasearchQueueClinicPO>()
|
|
|
- )
|
|
|
- );
|
|
|
+ public List<BizReasearchQueueClinicVO> stdSelectBizReasearchQueueClinicList(BizReasearchQueueClinicQueryDTO query){
|
|
|
+ return baseMapper.stdSelectBizReasearchQueueClinicList(query);
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
- * 根据id查询队列-临床手术关联表
|
|
|
- * @param id 主键id
|
|
|
- * @author lf
|
|
|
- * @date 2025/10/15 08:27
|
|
|
- */
|
|
|
+ * 新增队列-临床手术关联表
|
|
|
+ * @param source 新增实体类
|
|
|
+ * @author lf
|
|
|
+ * @date 2025/10/15 08:27
|
|
|
+ */
|
|
|
@Override
|
|
|
- public BizReasearchQueueClinicDTO selectBizReasearchQueueClinicById(String id){
|
|
|
- return BizReasearchQueueClinicMapper.INSTANCE.convertDto(baseRepository.selectById(id));
|
|
|
- };
|
|
|
-
|
|
|
- /**
|
|
|
- * 编辑队列-临床手术关联表
|
|
|
- * @param source 编辑实体类
|
|
|
- * @author lf
|
|
|
- * @date 2025/10/15 08:27
|
|
|
- */
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- @Override
|
|
|
- public boolean updateBizReasearchQueueClinicById(BizReasearchQueueClinicDTO source){
|
|
|
- return baseRepository.updateById(BizReasearchQueueClinicMapper.INSTANCE.convertPO(source))!=0;
|
|
|
- };
|
|
|
-
|
|
|
- /**
|
|
|
- * 新增队列-临床手术关联表
|
|
|
- * @param source 新增实体类
|
|
|
- * @author lf
|
|
|
- * @date 2025/10/15 08:27
|
|
|
- */
|
|
|
- @Override
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
- public boolean insertBizReasearchQueueClinic(BizReasearchQueueClinicDTO source){
|
|
|
- return baseRepository.insert(BizReasearchQueueClinicMapper.INSTANCE.convertPO(source))!=0;
|
|
|
+ public Boolean insertBizReasearchQueueClinic(BizReasearchQueueAddClinicDTO source){
|
|
|
+ List<String> clinicIds = source.getClinicIds();
|
|
|
+ String id = source.getId();
|
|
|
+ List<BizReasearchQueueClinicPO> existClinic = baseMapper.selectList(new LambdaQueryWrapper<BizReasearchQueueClinicPO>()
|
|
|
+ .in(BizReasearchQueueClinicPO::getClinicRoomId, clinicIds)
|
|
|
+ .eq(BizReasearchQueueClinicPO::getQueueId, id));
|
|
|
+ if(CollectionUtil.isNotEmpty(existClinic)){
|
|
|
+ clinicIds.removeAll(existClinic
|
|
|
+ .stream()
|
|
|
+ .map(BizReasearchQueueClinicPO::getClinicRoomId)
|
|
|
+ .collect(Collectors.toList()));
|
|
|
+ }
|
|
|
+ List<BizReasearchQueueClinicPO> insertBatch = clinicIds.stream()
|
|
|
+ .map(clinicId -> {
|
|
|
+ BizReasearchQueueClinicPO result = new BizReasearchQueueClinicPO();
|
|
|
+ result.setClinicRoomId(clinicId);
|
|
|
+ result.setQueueId(id);
|
|
|
+ result.setPushCount(0);
|
|
|
+ result.setAnswerCount(0);
|
|
|
+ return result;
|
|
|
+ })
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ this.saveBatch(insertBatch);
|
|
|
+ //todo 运行任务
|
|
|
+ return Boolean.TRUE;
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
- * 删除队列-临床手术关联表详情
|
|
|
- * @param ids 删除主键集合
|
|
|
- * @author lf
|
|
|
- * @date 2025/10/15 08:27
|
|
|
- */
|
|
|
+ * 删除队列-临床手术关联表详情
|
|
|
+ * @param ids 删除主键集合
|
|
|
+ * @author lf
|
|
|
+ * @date 2025/10/15 08:27
|
|
|
+ */
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public int removeBizReasearchQueueClinicByIds(Collection<String> ids){
|
|
|
+ public Integer removeBizReasearchQueueClinicByIds(Collection<String> ids){
|
|
|
if(CollectionUtil.isEmpty(ids)){
|
|
|
throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001,"请选择要删除的数据");
|
|
|
}
|
|
|
- return baseRepository.deleteBatchIds(ids);
|
|
|
- };
|
|
|
+ return baseMapper.deleteBatchIds(ids);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<BizReasearchQueueQuestionAnswerVO> stdSelectQuestionAnswerList(BizReasearchQueueClinicQuestionAnswerRecordQueryDTO query){
|
|
|
+ return BizQuestionAnswerMapper.INSTANCE.convertCommonVOList(questionAnswerRepository.selectList(new LambdaQueryWrapper<BizQuestionAnswerPO>()
|
|
|
+ .eq(BizQuestionAnswerPO::getClinicId, query.getClinicId())
|
|
|
+ .eq(BizQuestionAnswerPO::getReasearchQueueId, query.getQueueId())
|
|
|
+ .orderByDesc(BizQuestionAnswerPO::getAnswerTime)));
|
|
|
+ }
|
|
|
+
|
|
|
+ ;
|
|
|
}
|