@@ -6,6 +6,7 @@ import com.core.common.core.domain.R;
|
|||||||
import com.core.common.utils.AssignSeqUtil;
|
import com.core.common.utils.AssignSeqUtil;
|
||||||
import com.core.common.utils.MessageUtils;
|
import com.core.common.utils.MessageUtils;
|
||||||
import com.core.common.utils.SecurityUtils;
|
import com.core.common.utils.SecurityUtils;
|
||||||
|
import com.core.common.utils.StringUtils;
|
||||||
import com.healthlink.his.common.constant.CommonConstants;
|
import com.healthlink.his.common.constant.CommonConstants;
|
||||||
import com.healthlink.his.common.constant.PromptMsgConstant;
|
import com.healthlink.his.common.constant.PromptMsgConstant;
|
||||||
import com.healthlink.his.common.enums.*;
|
import com.healthlink.his.common.enums.*;
|
||||||
@@ -18,7 +19,13 @@ import com.healthlink.his.web.regdoctorstation.dto.*;
|
|||||||
import com.healthlink.his.web.regdoctorstation.mapper.SpecialAdviceAppMapper;
|
import com.healthlink.his.web.regdoctorstation.mapper.SpecialAdviceAppMapper;
|
||||||
import com.healthlink.his.workflow.domain.ServiceRequest;
|
import com.healthlink.his.workflow.domain.ServiceRequest;
|
||||||
import com.healthlink.his.workflow.service.IActivityDefinitionService;
|
import com.healthlink.his.workflow.service.IActivityDefinitionService;
|
||||||
|
import com.healthlink.his.administration.domain.Encounter;
|
||||||
|
import com.healthlink.his.administration.domain.Organization;
|
||||||
|
import com.healthlink.his.administration.service.IEncounterService;
|
||||||
|
import com.healthlink.his.administration.service.IOrganizationService;
|
||||||
import com.healthlink.his.workflow.service.IServiceRequestService;
|
import com.healthlink.his.workflow.service.IServiceRequestService;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@@ -56,6 +63,12 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService {
|
|||||||
@Resource
|
@Resource
|
||||||
IOrderProcessService iOrderProcessService;
|
IOrderProcessService iOrderProcessService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
IEncounterService iEncounterService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
IOrganizationService iOrganizationService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询护理医嘱信息
|
* 查询护理医嘱信息
|
||||||
*
|
*
|
||||||
@@ -351,6 +364,20 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService {
|
|||||||
AdviceBaseDto activityAdviceBaseDto = iDoctorStationAdviceAppService
|
AdviceBaseDto activityAdviceBaseDto = iDoctorStationAdviceAppService
|
||||||
.getAdviceBaseInfo(adviceBaseDto, null, null, null, null, 1, 1, null, List.of(3), null, null, null)
|
.getAdviceBaseInfo(adviceBaseDto, null, null, null, null, 1, 1, null, List.of(3), null, null, null)
|
||||||
.getRecords().get(0);
|
.getRecords().get(0);
|
||||||
|
// 查询患者当前科室(从就诊记录获取)
|
||||||
|
Encounter encounter = iEncounterService.getById(encounterId);
|
||||||
|
Long currentOrgId = encounter != null ? encounter.getOrganizationId() : activityAdviceBaseDto.getPositionId();
|
||||||
|
|
||||||
|
// 查询转入科室名称,用于医嘱名称拼接
|
||||||
|
String targetOrgName = "";
|
||||||
|
Long targetOrgId = transferOrganizationParam.getTargetOrganizationId();
|
||||||
|
if (targetOrgId != null) {
|
||||||
|
Organization targetOrg = iOrganizationService.getById(targetOrgId);
|
||||||
|
if (targetOrg != null && StringUtils.isNotEmpty(targetOrg.getName())) {
|
||||||
|
targetOrgName = targetOrg.getName();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 保存转科医嘱请求
|
// 保存转科医嘱请求
|
||||||
ServiceRequest serviceRequest = new ServiceRequest();
|
ServiceRequest serviceRequest = new ServiceRequest();
|
||||||
serviceRequest.setStatusEnum(RequestStatus.DRAFT.getValue());// 请求状态
|
serviceRequest.setStatusEnum(RequestStatus.DRAFT.getValue());// 请求状态
|
||||||
@@ -366,9 +393,18 @@ public class SpecialAdviceAppServiceImpl implements ISpecialAdviceAppService {
|
|||||||
serviceRequest.setPatientId(patientId); // 患者
|
serviceRequest.setPatientId(patientId); // 患者
|
||||||
serviceRequest.setRequesterId(practitionerId); // 开方医生
|
serviceRequest.setRequesterId(practitionerId); // 开方医生
|
||||||
serviceRequest.setEncounterId(encounterId); // 就诊id
|
serviceRequest.setEncounterId(encounterId); // 就诊id
|
||||||
serviceRequest.setOrgId(activityAdviceBaseDto.getPositionId()); // 执行科室
|
serviceRequest.setOrgId(currentOrgId); // 执行科室(患者当前科室)
|
||||||
serviceRequest.setConditionId(conditionId); // 诊断id
|
serviceRequest.setConditionId(conditionId); // 诊断id
|
||||||
serviceRequest.setEncounterDiagnosisId(encounterDiagnosisId); // 就诊诊断id
|
serviceRequest.setEncounterDiagnosisId(encounterDiagnosisId); // 就诊诊断id
|
||||||
|
// 设置医嘱名称:转科-转入科室名称
|
||||||
|
try {
|
||||||
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
|
ObjectNode contentNode = objectMapper.createObjectNode();
|
||||||
|
contentNode.put("adviceName", "转科" + (StringUtils.isNotEmpty(targetOrgName) ? "-" + targetOrgName : ""));
|
||||||
|
serviceRequest.setContentJson(objectMapper.writeValueAsString(contentNode));
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.warn("设置转科医嘱名称失败", e);
|
||||||
|
}
|
||||||
iServiceRequestService.save(serviceRequest);
|
iServiceRequestService.save(serviceRequest);
|
||||||
|
|
||||||
// 保存转科医嘱请求的过程数据
|
// 保存转科医嘱请求的过程数据
|
||||||
|
|||||||
@@ -306,7 +306,7 @@
|
|||||||
null AS skin_test_flag,
|
null AS skin_test_flag,
|
||||||
null AS inject_flag,
|
null AS inject_flag,
|
||||||
null AS group_id,
|
null AS group_id,
|
||||||
COALESCE(T2.NAME, T1.content_json::jsonb->>'surgeryName', T1.content_json::jsonb->>'adviceName') AS advice_name,
|
COALESCE(T1.content_json::jsonb->>'adviceName', T2.NAME, T1.content_json::jsonb->>'surgeryName') AS advice_name,
|
||||||
'' AS volume,
|
'' AS volume,
|
||||||
'' AS lot_number,
|
'' AS lot_number,
|
||||||
T1.quantity AS quantity,
|
T1.quantity AS quantity,
|
||||||
|
|||||||
Reference in New Issue
Block a user