| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package com.coffee.bus.service;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
- import com.coffee.bus.entity.BusClinicEntity;
- import com.coffee.bus.mapper.BusClinicMapper;
- import com.coffee.bus.registry.patient.PatientOperator;
- import com.coffee.bus.registry.patient.PatientRegistry;
- import com.coffee.bus.registry.patient.bean.PatientCacheInfo;
- import com.coffee.common.crud.BaseService;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.util.Date;
- /**
- * @author lifang
- * @version 1.0.0
- * @ClassName LocalBusHospitalService.java
- * @Description TODO
- * @createTime 2022年03月19日 09:27:00
- */
- @Service
- @Slf4j
- public class LocalBusClinicService extends BaseService<BusClinicMapper, BusClinicEntity,String> {
- @Autowired
- private PatientRegistry patientRegistry;
- @Override
- public void validateBeforeSave(BusClinicEntity entity) {
- }
- @Override
- public void validateBeforeUpdate(BusClinicEntity entity) {
- }
- @Override
- public void validateBeforeDelete(String id) {
- }
- /**
- * 判断当前病人是否存在临床信息
- * @param hospitalId 医院id
- * @param patientCode 病号
- * @return
- */
- public boolean existClinic(String hospitalId,String patientCode){
- return this.getOne(new QueryWrapper<BusClinicEntity>().lambda()
- .eq(BusClinicEntity::getPatientCode, patientCode)
- .eq(BusClinicEntity::getTenantId,hospitalId)
- .eq(BusClinicEntity::getFinished, 0)) == null;
- }
- /**
- * 获取当前病号的临床信息
- * @param hospitalId
- * @param patientCode
- * @return
- */
- public BusClinicEntity getCurrentClinic(String hospitalId,String patientCode){
- return this.baseMapper.getCurrentClinic(hospitalId,patientCode);
- }
- @Override
- public boolean save(BusClinicEntity entity) {
- return super.save(entity);
- }
- /**
- * 结束当前医院病号的临床数据
- * @param patientCode 病号
- * @param tenantId 医院id
- */
- @Transactional(rollbackFor = Exception.class)
- public void finish(String patientCode, String tenantId) {
- this.update(new UpdateWrapper<BusClinicEntity>().lambda().eq(BusClinicEntity::getPatientCode,patientCode)
- .eq(BusClinicEntity::getTenantId,tenantId)
- .eq(BusClinicEntity::getFinished,false)
- .set(BusClinicEntity::getFinished,true)
- .set(BusClinicEntity::getEndTime,new Date()));
- //更新病人缓存 todo
- PatientOperator<PatientCacheInfo> patient = patientRegistry.getPatient(tenantId, patientCode);
- patient.setFinished(true);
- }
- }
|