|
@@ -16,9 +16,11 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import thyyxxk.webserver.config.exception.BizException;
|
|
|
import thyyxxk.webserver.config.exception.ExceptionEnum;
|
|
|
+import thyyxxk.webserver.constants.BedStatusEnum;
|
|
|
import thyyxxk.webserver.constants.Message;
|
|
|
import thyyxxk.webserver.dao.his.medicaladvice.patientinfo.AdjustBedDao;
|
|
|
import thyyxxk.webserver.dao.his.medicaladvice.patientinfo.ZyBedPreMsgDao;
|
|
|
+import thyyxxk.webserver.dao.his.zygl.ZyBedMiDao;
|
|
|
import thyyxxk.webserver.entity.dictionary.CodeName;
|
|
|
import thyyxxk.webserver.entity.ResultVo;
|
|
|
import thyyxxk.webserver.entity.inpatient.ZyActpatient;
|
|
@@ -35,16 +37,9 @@ import thyyxxk.webserver.service.autocreateemr.AutoCreateEmrServer;
|
|
|
import thyyxxk.webserver.service.externalhttp.WxServer;
|
|
|
import thyyxxk.webserver.service.hutoolcache.DeptCache;
|
|
|
import thyyxxk.webserver.service.hutoolcache.UserCache;
|
|
|
-import thyyxxk.webserver.utils.AssertUtil;
|
|
|
-import thyyxxk.webserver.utils.CommonUtil;
|
|
|
-import thyyxxk.webserver.utils.ResultVoUtil;
|
|
|
-import thyyxxk.webserver.utils.SocketMsg;
|
|
|
+import thyyxxk.webserver.utils.*;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* @Description:
|
|
@@ -62,6 +57,7 @@ public class AdjustBedService {
|
|
|
private final UserCache userCache;
|
|
|
private final DeptCache deptCache;
|
|
|
private final AutoCreateEmrServer autoCreateEmrServer;
|
|
|
+ private final ZyBedMiDao zyBedMiDao;
|
|
|
|
|
|
|
|
|
public ResultVo<String> preAllocationBed(MzZyReq mzZyReq) {
|
|
@@ -171,13 +167,27 @@ public class AdjustBedService {
|
|
|
return dao.getPreAdmPatients(ward);
|
|
|
}
|
|
|
|
|
|
- public void receivePatient(ZyActpatient actpatient) {
|
|
|
+ public void receivePatient(ZyActpatient act) {
|
|
|
+ ZyBedMi zyBedMi = zyBedMiDao.selectZyBedMi(act.getWard(), act.getWard(), act.getBedNo());
|
|
|
+ if (StringUtil.notBlank(zyBedMi.getInpatientNo()) &&
|
|
|
+ !Objects.equals(zyBedMi.getInpatientNo(), act.getInpatientNo())) {
|
|
|
+ String freeBedNo = zyBedMiDao.selectMaxFreeBedNo(act.getWard(), act.getWard());
|
|
|
+ if (StringUtil.isBlank(freeBedNo)) {
|
|
|
+ throw new BizException(ExceptionEnum.LOGICAL_ERROR, "接收失败,没有空闲床位!");
|
|
|
+ }
|
|
|
+ zyBedMi.setBedNo(freeBedNo);
|
|
|
+ }
|
|
|
+ zyBedMi.setInpatientNo(act.getInpatientNo());
|
|
|
+ zyBedMi.setAdmissTimes(act.getAdmissTimes());
|
|
|
+ zyBedMi.setBedStatus(BedStatusEnum.ARRANGE.code);
|
|
|
+ zyBedMiDao.updateZyBedMi(zyBedMi);
|
|
|
+
|
|
|
AutoCreateEmrParams.Params params = new AutoCreateEmrParams.Params();
|
|
|
- params.setPatNo(actpatient.getInpatientNo());
|
|
|
- params.setTimes(actpatient.getAdmissTimes());
|
|
|
+ params.setPatNo(act.getInpatientNo());
|
|
|
+ params.setTimes(act.getAdmissTimes());
|
|
|
// 自动创建病程记录
|
|
|
autoCreateEmrServer.createEmrAsync(params);
|
|
|
- dao.updateBedStatus(actpatient.getInpatientNo(), actpatient.getPhry());
|
|
|
+ dao.updateBedStatus(act.getInpatientNo(), act.getPhry());
|
|
|
}
|
|
|
|
|
|
public ResultVo<List<Map>> getIdleBedNoList(ZyBedPreMsg msg) {
|