From 85183ce29f27f67edf9b80d9b15efff48091449f Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 09 四月 2026 13:49:42 +0800
Subject: [PATCH] 省立同德门急诊采集功能提交

---
 smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java |   26 ++++++++++++++++++--------
 1 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java
index 6d833d5..f5bd02f 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java
@@ -74,6 +74,8 @@
     @Override
     public List<PatMedOuthosp> selectPatMedOuthospList(PatMedOuthosp patMedOuthosp) {
         PatMedOuthospQueryReq patMedOuthospQueryReq = DtoConversionUtils.sourceToTarget(patMedOuthosp, PatMedOuthospQueryReq.class);
+        patMedOuthospQueryReq.setBeginAdmitdate(patMedOuthosp.getBeginTime());
+        patMedOuthospQueryReq.setEndAdmitdate(patMedOuthosp.getEndTime());
         List<PatMedOuthosp> patMedOuthospQueryResps = patMedOuthospMapper.callSpQueryOuthosp(patMedOuthospQueryReq);
         if (patMedOuthosp.getPageNum() != null) {
             for (PatMedOuthosp patMedOuthosp1 : patMedOuthospQueryResps) {
@@ -166,20 +168,28 @@
      */
     @Override
     public int insertPatMedOuthosp(PatMedOuthosp patMedOuthosp) {
-        if (patMedOuthosp.getAdmitdate() != null) {
+        if (patMedOuthosp.getAdmitdate() == null) {
             log.error("闂ㄦ�ュ氨璇婃椂闂翠笉鑳戒负绌�");
             return 0;
+        }
+        // 闇�瑕佹彃鍏ュ埌鍝釜琛紝鏍规嵁灏辫瘖鏃堕棿鐨勬棩鏈熸潵瀹氾紝濡傛灉鏍规嵁灏辫瘖鏃堕棿鏉ョ‘瀹氱殑琛ㄤ笉瀛樺湪锛屽垯瀛樺湪pat_med_outhosp琛ㄤ腑
+        String targetTable = resolveTargetTable(patMedOuthosp.getAdmitdate());
+        if (targetTable == null) {
+            return 0;
+        }
+        // 鎻掑叆鍓嶆寜 serialnum 鏌ラ噸锛岄槻姝㈤噸澶嶉噰闆嗗鑷撮噸澶嶅叆搴�
+        if (org.apache.commons.lang3.StringUtils.isNotBlank(patMedOuthosp.getSerialnum())) {
+            int exists = patMedOuthospMapper.countBySerialnum(targetTable, patMedOuthosp.getSerialnum());
+            if (exists > 0) {
+                log.debug("[insert] serialnum={} 宸插瓨鍦ㄤ簬琛� {}锛岃烦杩囨彃鍏�", patMedOuthosp.getSerialnum(), targetTable);
+                return 0;
+            }
         }
         patMedOuthosp.setCreateTime(DateUtils.getNowDate());
         patMedOuthosp.setUpdateTime(DateUtils.getNowDate());
         patMedOuthosp.setGuid(UUID.randomUUID().toString());
-        //闇�瑕佹彃鍏ュ埌鍝釜琛紝鏍规嵁灏辫瘖鏃堕棿鐨勬棩鏈熸潵瀹氾紝濡傛灉鏍规嵁灏辫瘖鏃堕棿鏉ョ‘瀹氱殑琛ㄤ笉瀛樺湪锛屽垯瀛樺湪pat_med_outhosp琛ㄤ腑
-        String targetTable = resolveTargetTable(patMedOuthosp.getAdmitdate());
-        if (targetTable != null) {
-            log.info("[insert] 璺敱鍒板垎琛�: {}", targetTable);
-            return patMedOuthospMapper.insertIntoTable(targetTable, patMedOuthosp);
-        }
-        return 0;
+        log.info("[insert] 璺敱鍒板垎琛�: {}", targetTable);
+        return patMedOuthospMapper.insertIntoTable(targetTable, patMedOuthosp);
     }
 
     /**

--
Gitblit v1.9.3