792 【住院管理-护士工作站】在入出转管理的床位10号床位和11号床位有2个重复的
This commit is contained in:
@@ -168,11 +168,12 @@
|
||||
ON ward.bus_no = SPLIT_PART(bed.bus_no,'.',1)
|
||||
AND ward.form_enum = #{ward}
|
||||
AND ward.delete_flag = '0'
|
||||
LEFT JOIN adm_encounter_location aelb
|
||||
ON bed.id = aelb.location_id
|
||||
AND aelb.delete_flag = '0'
|
||||
AND aelb.status_enum = #{active}
|
||||
AND bed.form_enum = #{bed}
|
||||
LEFT JOIN ( SELECT DISTINCT ON (location_id) location_id, encounter_id
|
||||
FROM adm_encounter_location
|
||||
WHERE delete_flag = '0'
|
||||
AND status_enum = #{active}
|
||||
ORDER BY location_id, id DESC
|
||||
) aelb ON bed.id = aelb.location_id
|
||||
LEFT JOIN adm_encounter ae
|
||||
ON aelb.encounter_id = ae.id
|
||||
AND ae.delete_flag = '0'
|
||||
|
||||
@@ -70,6 +70,18 @@ public class EncounterLocationServiceImpl extends ServiceImpl<EncounterLocationM
|
||||
* @param locationForm 位置类型
|
||||
*/
|
||||
public void creatEncounterLocation(Long encounterId, Date startTime, Long locationId, Integer locationForm) {
|
||||
// 床位级别(form_enum=8):先将该床位上其他活跃记录置为已完成,防止同一床位出现多条活跃记录
|
||||
// 病区/病房级别允许多患者共存,不做去重处理
|
||||
if (locationForm != null && locationForm.equals(LocationForm.BED.getValue())) {
|
||||
LambdaUpdateWrapper<EncounterLocation> deactivateWrapper = new LambdaUpdateWrapper<>();
|
||||
deactivateWrapper.set(EncounterLocation::getStatusEnum, EncounterActivityStatus.COMPLETED.getValue())
|
||||
.eq(EncounterLocation::getLocationId, locationId)
|
||||
.eq(EncounterLocation::getFormEnum, locationForm)
|
||||
.eq(EncounterLocation::getStatusEnum, EncounterActivityStatus.ACTIVE.getValue())
|
||||
.eq(EncounterLocation::getDeleteFlag, DelFlag.NO.getCode());
|
||||
baseMapper.update(null, deactivateWrapper);
|
||||
}
|
||||
|
||||
EncounterLocation encounterLocation = new EncounterLocation();
|
||||
encounterLocation.setEncounterId(encounterId).setStartTime(startTime).setLocationId(locationId)
|
||||
.setFormEnum(locationForm).setStatusEnum(EncounterActivityStatus.ACTIVE.getValue());
|
||||
|
||||
Reference in New Issue
Block a user