|
|
@@ -7,8 +7,13 @@ import cn.tr.core.utils.ValidationUtils;
|
|
|
import cn.tr.module.smart.common.controller.vo.BizReasearchQueueVO;
|
|
|
import cn.tr.module.smart.common.dto.BizReasearchQueueAddClinicDTO;
|
|
|
import cn.tr.module.smart.common.entity.BizReasearchPushPointEntity;
|
|
|
+import cn.tr.module.smart.common.po.BizClinicRoomPO;
|
|
|
+import cn.tr.module.smart.common.po.BizReasearchQueueClinicPO;
|
|
|
+import cn.tr.module.smart.common.repository.BizClinicRoomRepository;
|
|
|
import cn.tr.module.smart.common.repository.BizReasearchQueueClinicRepository;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
+import org.checkerframework.checker.units.qual.A;
|
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -38,6 +43,9 @@ public class BizReasearchQueueServiceImpl implements IBizReasearchQueueService {
|
|
|
@Autowired
|
|
|
private BizReasearchQueueClinicRepository queueClinicRepository;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private BizClinicRoomRepository clinicRoomRepository;
|
|
|
+
|
|
|
/**
|
|
|
* 根据条件查询研究队列
|
|
|
* @param query 查询参数
|
|
|
@@ -112,9 +120,22 @@ public class BizReasearchQueueServiceImpl implements IBizReasearchQueueService {
|
|
|
throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001,"请选择要删除的数据");
|
|
|
}
|
|
|
String currentUserId = LoginUserStrategy.tr.getCurrentUserId();
|
|
|
- return baseRepository.delete(new LambdaQueryWrapper<BizReasearchQueuePO>()
|
|
|
- .in(BizReasearchQueuePO::getId,ids)
|
|
|
- .eq(BizReasearchQueuePO::getOwner,currentUserId));
|
|
|
+ int delete = baseRepository.delete(new LambdaQueryWrapper<BizReasearchQueuePO>()
|
|
|
+ .in(BizReasearchQueuePO::getId, ids)
|
|
|
+ .eq(BizReasearchQueuePO::getOwner, currentUserId));
|
|
|
+ if(delete !=0){
|
|
|
+ //更新手术表中各个手术得统计数
|
|
|
+ List<BizReasearchQueueClinicPO> bizReasearchQueueClinicPOS = queueClinicRepository.selectList(new LambdaQueryWrapper<BizReasearchQueueClinicPO>()
|
|
|
+ .in(BizReasearchQueueClinicPO::getQueueId, ids));
|
|
|
+ List<String> clinicIds = bizReasearchQueueClinicPOS.stream().map(BizReasearchQueueClinicPO::getClinicRoomId)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if(CollectionUtil.isNotEmpty(clinicIds)){
|
|
|
+ clinicRoomRepository.update(null,new LambdaUpdateWrapper<BizClinicRoomPO>()
|
|
|
+ .setSql("queue_count = queue_count - 1")
|
|
|
+ .in(BizClinicRoomPO::getId,clinicIds));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return delete;
|
|
|
}
|
|
|
|
|
|
private void validateSource(BizReasearchQueueDTO source){
|