|
@@ -0,0 +1,70 @@
|
|
|
+package com.lantone.qc.kernel.catalogue.operationdiscussion;
|
|
|
+
|
|
|
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
|
|
|
+import com.lantone.qc.pub.model.InputInfo;
|
|
|
+import com.lantone.qc.pub.model.OutputInfo;
|
|
|
+import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
|
|
|
+import com.lantone.qc.pub.model.doc.operation.OperationDoc;
|
|
|
+import com.lantone.qc.pub.model.doc.operation.OperationRecordDoc;
|
|
|
+import com.lantone.qc.pub.util.StringUtil;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import java.text.ParseException;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @author 贺聪聪
|
|
|
+ * @Description: 手术记录中手术日期填写错误
|
|
|
+ * @data 2022/5/24 10:42
|
|
|
+ */
|
|
|
+@Component
|
|
|
+public class OPE03235 extends QCCatalogue {
|
|
|
+ @Override
|
|
|
+ protected void start(InputInfo inputInfo, OutputInfo outputInfo) throws ParseException {
|
|
|
+ status.set("0");
|
|
|
+ List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
|
|
|
+ LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
|
|
|
+ if (operationDocs == null || operationDocs.size() == 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (leaveHospitalDoc != null) {
|
|
|
+ for (OperationDoc operationDoc : operationDocs) {
|
|
|
+ OperationRecordDoc operationRecordDoc = operationDoc.getOperationRecordDoc();
|
|
|
+ if (operationRecordDoc == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Map<String, String> structureMap = operationRecordDoc.getStructureMap();
|
|
|
+ String operationDayStr = structureMap.get("手术日期");
|
|
|
+ if (StringUtil.isBlank(operationDayStr)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ String operationDatesStr = operationDayStr.substring(0,10);//截取手术日期
|
|
|
+ String operationTimeStr = structureMap.get("开始时间").substring(0,5);//截取开始时间
|
|
|
+ String operationDateStr = operationDatesStr + " " + operationTimeStr;//拼接
|
|
|
+
|
|
|
+ String beginDateStr = leaveHospitalDoc.getStructureMap().get("入院日期");
|
|
|
+ String endDateStr = leaveHospitalDoc.getStructureMap().get("出院时间");
|
|
|
+ if (StringUtil.isBlank(beginDateStr) || StringUtil.isBlank(endDateStr) || StringUtil.isBlank(operationDateStr)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Date beginDate = StringUtil.parseDateTime(beginDateStr);
|
|
|
+ Date endDate = StringUtil.parseDateTime(endDateStr);
|
|
|
+ Date operationDate = StringUtil.parseDateTime(operationDateStr);
|
|
|
+
|
|
|
+ if (operationDate.before(beginDate) || operationDate.after(endDate)) {
|
|
|
+ status.set("-1");
|
|
|
+ return;
|
|
|
+ } else {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|