|
@@ -8,6 +8,7 @@ import com.lantone.qc.pub.model.doc.operation.OperationDiscussionDoc;
|
|
|
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.apache.commons.lang3.time.DateUtils;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.util.Date;
|
|
@@ -42,46 +43,49 @@ public class OPE02930 extends QCCatalogue {
|
|
|
if (StringUtil.isEmpty(operationStartDateStr) || StringUtil.isEmpty(operationEndDateStr)) {
|
|
|
continue;
|
|
|
}
|
|
|
- Date operationStartDate = StringUtil.parseDateTime(operationStartDateStr);
|
|
|
- Date operationEndDate = StringUtil.parseDateTime(operationEndDateStr);
|
|
|
- if (operationStartDate == null || operationEndDate == null) {
|
|
|
+ if (!isDate(operationStartDateStr) || !isDate(operationEndDateStr)) {
|
|
|
continue;
|
|
|
}
|
|
|
+ Date operationStartDate = StringUtil.parseDateTime(operationStartDateStr);
|
|
|
+ Date operationEndDate = StringUtil.parseDateTime(operationEndDateStr);
|
|
|
for (OperationDoc o : operationDocs) {
|
|
|
OperationDiscussionDoc operationDiscussionDoc = o.getOperationDiscussionDoc();
|
|
|
if (operationDiscussionDoc == null) {
|
|
|
continue;
|
|
|
}
|
|
|
Map<String, String> structureMap = operationDiscussionDoc.getStructureMap();
|
|
|
- String discussionStartDateStr = structureMap.get("手术开始时间");
|
|
|
- String discussionEndDateStr = structureMap.get("手术结束时间");
|
|
|
- if (StringUtil.isBlank(discussionStartDateStr) || StringUtil.isBlank(discussionEndDateStr)) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- Date discussionStartDate = StringUtil.parseDateTime(discussionStartDateStr);
|
|
|
- Date discussionEndDate = StringUtil.parseDateTime(discussionEndDateStr);
|
|
|
- if (discussionStartDate == null || discussionEndDate == null) {
|
|
|
- continue;
|
|
|
+ String discussionRecordDateStr = structureMap.get("病历日期");
|
|
|
+ if (StringUtil.isBlank(discussionRecordDateStr)) {
|
|
|
+ status.set("0");
|
|
|
+ return;
|
|
|
}
|
|
|
- if (operationStartDate.equals(discussionStartDate) && operationEndDate.equals(discussionEndDate)) {
|
|
|
- String discussionRecordDateStr = structureMap.get("记录时间");
|
|
|
- if (StringUtil.isBlank(discussionRecordDateStr)) {
|
|
|
- status.set("0");
|
|
|
- return;
|
|
|
- }
|
|
|
- Date discussionRecordDate = StringUtil.parseDateTime(discussionRecordDateStr);
|
|
|
- if (discussionRecordDate == null) {
|
|
|
- status.set("0");
|
|
|
- return;
|
|
|
- }
|
|
|
|
|
|
- if (CatalogueUtil.compareTime(discussionEndDate, discussionRecordDate, 15 * 60L)) {
|
|
|
+ if (!isDate(discussionRecordDateStr)) {
|
|
|
+ status.set("0");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Date discussionRecordDate = StringUtil.parseDateTime(discussionRecordDateStr);
|
|
|
+ if (operationEndDate.before(discussionRecordDate) || DateUtils.isSameDay(operationEndDate, discussionRecordDate)) {
|
|
|
+ if (CatalogueUtil.compareTime(operationEndDate, discussionRecordDate, 2 * 60L)) {
|
|
|
status.set("-1");
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- // }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 判断是否为日期
|
|
|
+ *
|
|
|
+ * @param dateStr
|
|
|
+ */
|
|
|
+ private boolean isDate(String dateStr) {
|
|
|
+ try {
|
|
|
+ StringUtil.parseDateTime(dateStr);
|
|
|
+ return true;
|
|
|
+ } catch (IllegalArgumentException e) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
}
|
|
|
}
|