|
@@ -11,6 +11,7 @@ import org.springframework.stereotype.Component;
|
|
|
import java.text.ParseException;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
|
|
|
/**
|
|
|
* @ClassName : CON0528
|
|
@@ -24,36 +25,18 @@ public class CON0528 extends QCCatalogue {
|
|
|
public void start(InputInfo inputInfo, OutputInfo outputInfo) throws ParseException {
|
|
|
status.set("0");
|
|
|
List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
|
|
|
- List<DoctorAdviceDoc> doctorAdviceDocs = inputInfo.getDoctorAdviceDocs();
|
|
|
- if (doctorAdviceDocs.size() == 0) {
|
|
|
+ if (consultationDocs.size() == 0) {
|
|
|
return;
|
|
|
}
|
|
|
- boolean findConsultation = false, findConsultationRemove = false;
|
|
|
- for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocs) {
|
|
|
- Map<String, String> doctStructureMap = doctorAdviceDoc.getStructureMap();
|
|
|
- if (doctStructureMap.get("医嘱项目名称") != null) {
|
|
|
- if (doctStructureMap.get("医嘱项目名称").contains("会诊")) {
|
|
|
- findConsultation = true;
|
|
|
- }
|
|
|
- if (doctStructureMap.get("医嘱项目名称").contains("会诊")
|
|
|
- && doctStructureMap.get("医嘱项目名称").contains("取消")) {
|
|
|
- findConsultationRemove = true;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- //医嘱有会诊但没有取消会诊
|
|
|
- if (findConsultation && !findConsultationRemove) {
|
|
|
- if (consultationDocs.size() > 0) {
|
|
|
- for (ConsultationDoc consulation : consultationDocs) {
|
|
|
- ConsultationRecordDoc consultationRecordDoc = consulation.getConsultationRecordDoc();
|
|
|
- if (consultationRecordDoc == null) {
|
|
|
- status.set("-1");
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- status.set("0");
|
|
|
+ long consultationRecordCount = consultationDocs
|
|
|
+ .stream().map(ConsultationDoc::getConsultationRecordDoc).filter(Objects::nonNull).count();
|
|
|
+
|
|
|
+ long consultationResultsCount = consultationDocs
|
|
|
+ .stream().map(ConsultationDoc::getConsultationResultsDoc).filter(Objects::nonNull).count();
|
|
|
+
|
|
|
+ if (consultationRecordCount < consultationResultsCount) {
|
|
|
+ status.set("-1");
|
|
|
+ info.set("会诊记录病程数:" + consultationRecordCount + ",会诊结果数:" + consultationResultsCount);
|
|
|
}
|
|
|
}
|
|
|
}
|