|
|
@@ -1,9 +1,12 @@
|
|
|
package com.nb.web.service.bus.service;
|
|
|
|
|
|
+import cn.hutool.extra.spring.SpringUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.nb.web.api.enums.ClinicManageEnum;
|
|
|
+import com.nb.web.api.event.ClinicFinishedEvent;
|
|
|
+import com.nb.web.api.event.ClinicRestartEvent;
|
|
|
import com.nb.web.service.bus.controller.vo.ClinicStatsVo;
|
|
|
import com.nb.web.api.entity.BusClinicEntity;
|
|
|
import com.nb.web.api.entity.BusInfusionHistoryEntity;
|
|
|
@@ -93,6 +96,13 @@ public class LocalBusClinicService extends BaseService<BusClinicMapper, BusClini
|
|
|
.set(BusClinicEntity::getFinished,true)
|
|
|
.set(BusClinicEntity::getEndTime,finishTime));
|
|
|
wsPublishUtils.publishMonitorTotalCount(tenantId);
|
|
|
+ List<BusClinicEntity> clinics = this.listByIds(clinicIds);
|
|
|
+ clinics.parallelStream()
|
|
|
+ .forEach(clinic->{
|
|
|
+ //管理结束时间
|
|
|
+ ClinicFinishedEvent event = new ClinicFinishedEvent(this, tenantId, clinic.getId(), clinic.getPatientId());
|
|
|
+ SpringUtil.publishEvent(event);
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -229,7 +239,12 @@ public class LocalBusClinicService extends BaseService<BusClinicMapper, BusClini
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void resetClinic(String clinicId) {
|
|
|
- this.update(new UpdateWrapper<BusClinicEntity>().lambda().eq(BusClinicEntity::getId,clinicId).set(BusClinicEntity::getFinished,false));
|
|
|
+ if (this.update(new UpdateWrapper<BusClinicEntity>().lambda().eq(BusClinicEntity::getId,clinicId).set(BusClinicEntity::getFinished,false))) {
|
|
|
+ BusClinicEntity clinic = this.getById(clinicId);
|
|
|
+ //临床重启事件
|
|
|
+ SpringUtil.publishEvent(new ClinicRestartEvent(this,clinic.getTenantId(),clinicId,clinic.getPatientId()));
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
public IPage<ClinicResult> latestQueryPage(ClinicQuery query){
|