From 1dc040a15692730e3e2a32992e48d3950fb61444 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 05 十一月 2025 18:03:38 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/domain/PatArchiveReq.java                                        |    7 
 smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java         |   79 ++
 ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml                                    |   17 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java                    |   15 
 ruoyi-admin/src/main/resources/application-sltd.yml                                                |    4 
 ruoyi-admin/src/main/resources/application-xh.yml                                                  |    4 
 smartor/src/main/java/com/smartor/domain/PatArchive.java                                           |    7 
 smartor/src/main/java/com/smartor/domain/PatArchiveOthreInfo.java                                  |    6 
 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUserDept.java                    |    7 
 ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml                                    |   12 
 smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml                                   |   14 
 ruoyi-common/src/main/java/com/ruoyi/common/dx/MessageSend.java                                    |    5 
 smartor/src/main/java/com/smartor/domain/ServiceSLTDInhospReqVO.java                               |    1 
 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java                        |    7 
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java                      |   23 
 smartor/src/main/java/com/smartor/service/impl/PatMedOuthospProvisionalServiceImpl.java            |   96 +++
 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java                        |   16 
 smartor/src/main/java/com/smartor/domain/PatArchiveVO.java                                         |    6 
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java                |    1 
 ruoyi-admin/src/main/resources/application-ls.yml                                                  |    4 
 smartor/src/main/resources/mapper/smartor/SysDeptMapper.xml                                        |   12 
 smartor/src/main/resources/mapper/smartor/SysUserMapper.xml                                        |   20 
 ruoyi-admin/src/main/resources/application-hn.yml                                                  |    4 
 smartor/src/main/java/com/smartor/domain/ServiceSLTDInhospResDTO.java                              |    3 
 smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml                                  |    9 
 smartor/src/main/java/com/smartor/domain/PatMedOuthospProvisional.java                             |  258 +++++++++
 smartor/src/main/java/com/smartor/mapper/PatMedOuthospProvisionalMapper.java                       |   64 ++
 smartor/src/main/java/com/smartor/mapper/SysUserRole2Mapper.java                                   |    7 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedOuthospProvisionalController.java |  113 ++++
 smartor/src/main/java/com/smartor/domain/PatMedOuthosp.java                                        |    7 
 smartor/src/main/java/com/smartor/service/IPatMedOuthospProvisionalService.java                    |   62 ++
 smartor/src/main/java/com/smartor/domain/PatMedInhospVO.java                                       |    7 
 smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml                                     |   29 +
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java                                       |  155 ++++-
 smartor/src/main/java/com/smartor/domain/PatMedInhosp.java                                         |    7 
 smartor/src/main/resources/mapper/smartor/PatMedOuthospProvisionalMapper.xml                       |  456 ++++++++++++++++
 smartor/src/main/resources/mapper/smartor/SysUserDeptMapper.xml                                    |   16 
 ruoyi-admin/src/main/resources/application-druid.yml                                               |   26 
 ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java                             |    9 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java               |    2 
 smartor/src/main/resources/mapper/smartor/SysUserRole2Mapper.xml                                   |   12 
 41 files changed, 1,514 insertions(+), 95 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
index 0a856e8..7ad1320 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -265,6 +265,7 @@
                 serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
 
             } else if (descByCode.equals("鐭俊")) {
+                log.info("----active鐨勫�间负锛歿}", active);
                 //鐭俊
                 //瀵箄rl涓袱涓弬鏁板姞瀵�
                 RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
@@ -352,7 +353,7 @@
                             } else if (active.equals("xh")) {
                                 sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
                             }
-                        } else {
+                        } else if (heLibrary.getHetype().equals("2")) {
                             //閫氱煡
                             sendMagParam.setPhone(serviceSubtask.getPhone());
                             sendMagParam.setContent(heLibrary.getPreachcontent());
@@ -396,10 +397,10 @@
                             throw new BaseException("鐭俊鍙戦�佸け璐�");
                         }
                     } else if (active.equals("sltd")) {
+                        log.info("-------杩涙潵浜嗕笉锛燂紵");
                         //鐪佺珛鍚屽痉鐨勭煭淇″彂閫佹柟寮�
-                        JSONObject data = MessageSend.sendMsg(sendMagParam.getContent(), "2", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
-                        String code = data.get("code").toString();
-                        if (StringUtils.isNotEmpty(code) && code.equals("00000")) {
+                        String data = MessageSend.sendMsg(sendMagParam.getContent(), "2", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
+                        if (StringUtils.isNotEmpty(data) && data.contains("result=0")) {
                             s = "true";
                         } else {
                             setFailPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佸け璐�", "5");
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
index bc0e282..9786459 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
@@ -64,6 +64,15 @@
     @Value("${uploadSwitch}")
     private Integer uploadSwitch;
 
+    @Value("${fileUpload}")
+    private String fileUpload;
+
+    @Value("${profile}")
+    private String profile;
+
+    @Value("${spring.profiles.active}")
+    private String active;
+
     /**
      * 閫氱敤涓嬭浇璇锋眰
      *
@@ -112,8 +121,8 @@
             // 涓婁紶骞惰繑鍥炴柊鏂囦欢鍚嶇О
             String fileName = FileUploadUtils.uploadSort(filePath, file);
             String url = null;
-            //鏂板崕鍖婚櫌鐗规畩锛岃繖涓棰戠殑璁块棶寰楄浆
-            String xhPath = "http://218.108.11.22:8093/profile-api";
+            String xhPath = fileUpload + profile;
+
             if (uploadSwitch == 1) {
                 String fn = fileName.replaceAll("/profile", "");
                 url = xhPath + fn;
@@ -276,7 +285,7 @@
             e.printStackTrace();
         }
         String url = null;
-        String xhPath = "http://218.108.11.22:8093/profile-api";
+        String xhPath = fileUpload + profile;
         if (uploadSwitch == 1) {
             url = xhPath + "/upload/show/" + fileName.split("\\.", 2)[0] + "/" + fileName;
         } else {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java
index f04d30c..88f998c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java
@@ -249,7 +249,7 @@
         patArchiveReq.setPageNum(null);
         patArchiveReq.setPageSize(null);
         List<PatArchiveOthreInfo> count = patArchiveService.getPatientInfo(patArchiveReq);
-        map.put("total", count);
+        map.put("total", count.size());
         return map;
     }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedOuthospProvisionalController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedOuthospProvisionalController.java
new file mode 100644
index 0000000..a05b287
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedOuthospProvisionalController.java
@@ -0,0 +1,113 @@
+package com.ruoyi.web.controller.smartor;
+
+import java.util.List;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.smartor.domain.PatMedOuthospProvisional;
+import com.smartor.service.IPatMedOuthospProvisionalService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 鎮h�呴棬璇婅褰曪紙杩囨浮锛塁ontroller
+ *
+ * @author ls
+ * @date 2025-11-04
+ */
+@Api("鎮h�呴棬璇婅褰曪紙杩囨浮锛�")
+@RestController
+@RequestMapping("/smartor/provisional")
+public class PatMedOuthospProvisionalController extends BaseController
+{
+    @Autowired
+    private IPatMedOuthospProvisionalService patMedOuthospProvisionalService;
+
+    /**
+     * 鏌ヨ鎮h�呴棬璇婅褰曪紙杩囨浮锛夊垪琛�
+     */
+    @ApiOperation("鏌ヨ鎮h�呴棬璇婅褰曪紙杩囨浮锛夊垪琛�")
+    //@PreAuthorize("@ss.hasPermi('smartor:provisional:list')")
+    @PostMapping("/list")
+    public TableDataInfo list(@RequestBody PatMedOuthospProvisional patMedOuthospProvisional)
+    {
+        startPage();
+        List<PatMedOuthospProvisional> list = patMedOuthospProvisionalService.selectPatMedOuthospProvisionalList(patMedOuthospProvisional);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭鎮h�呴棬璇婅褰曪紙杩囨浮锛夊垪琛�
+     */
+    @ApiOperation("瀵煎嚭鎮h�呴棬璇婅褰曪紙杩囨浮锛夊垪琛�")
+    //@PreAuthorize("@ss.hasPermi('smartor:provisional:export')")
+    @Log(title = "鎮h�呴棬璇婅褰曪紙杩囨浮锛�", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, PatMedOuthospProvisional patMedOuthospProvisional)
+    {
+        List<PatMedOuthospProvisional> list = patMedOuthospProvisionalService.selectPatMedOuthospProvisionalList(patMedOuthospProvisional);
+        ExcelUtil<PatMedOuthospProvisional> util = new ExcelUtil<PatMedOuthospProvisional>(PatMedOuthospProvisional.class);
+        util.exportExcel(response, list, "鎮h�呴棬璇婅褰曪紙杩囨浮锛夋暟鎹�");
+    }
+
+    /**
+     * 鑾峰彇鎮h�呴棬璇婅褰曪紙杩囨浮锛夎缁嗕俊鎭�
+     */
+    @ApiOperation("鑾峰彇鎮h�呴棬璇婅褰曪紙杩囨浮锛夎缁嗕俊鎭�")
+    //@PreAuthorize("@ss.hasPermi('smartor:provisional:query')")
+    @GetMapping(value = "/getInfo/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(patMedOuthospProvisionalService.selectPatMedOuthospProvisionalById(id));
+    }
+
+    /**
+     * 鏂板鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     */
+    @ApiOperation("鏂板鎮h�呴棬璇婅褰曪紙杩囨浮锛�")
+    //@PreAuthorize("@ss.hasPermi('smartor:provisional:add')")
+    @Log(title = "鎮h�呴棬璇婅褰曪紙杩囨浮锛�", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody PatMedOuthospProvisional patMedOuthospProvisional)
+    {
+        return toAjax(patMedOuthospProvisionalService.insertPatMedOuthospProvisional(patMedOuthospProvisional));
+    }
+
+    /**
+     * 淇敼鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     */
+    @ApiOperation("淇敼鎮h�呴棬璇婅褰曪紙杩囨浮锛�")
+    //@PreAuthorize("@ss.hasPermi('smartor:provisional:edit')")
+    @Log(title = "鎮h�呴棬璇婅褰曪紙杩囨浮锛�", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody PatMedOuthospProvisional patMedOuthospProvisional)
+    {
+        return toAjax(patMedOuthospProvisionalService.updatePatMedOuthospProvisional(patMedOuthospProvisional));
+    }
+
+    /**
+     * 鍒犻櫎鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     */
+    @ApiOperation("鍒犻櫎鎮h�呴棬璇婅褰曪紙杩囨浮锛�")
+    //@PreAuthorize("@ss.hasPermi('smartor:provisional:remove')")
+    @Log(title = "鎮h�呴棬璇婅褰曪紙杩囨浮锛�", businessType = BusinessType.DELETE)
+	@GetMapping("/remove/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(patMedOuthospProvisionalService.deletePatMedOuthospProvisionalByIds(ids));
+    }
+}
diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml
index 37110f0..745cadd 100644
--- a/ruoyi-admin/src/main/resources/application-druid.yml
+++ b/ruoyi-admin/src/main/resources/application-druid.yml
@@ -29,12 +29,12 @@
         #        driverClassName: com.mysql.cj.jdbc.Driver
 
         #  鍏徃浜�
-#        url: jdbc:mysql://116.62.18.175:6002/smartor_xinhua?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-#        username: hxsoft
-#        password: Hxerp2000
-#        driverClassName: com.mysql.cj.jdbc.Driver
+        #        url: jdbc:mysql://116.62.18.175:6002/smartor_xinhua?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+        #        username: hxsoft
+        #        password: Hxerp2000
+        #        driverClassName: com.mysql.cj.jdbc.Driver
         #  鍏徃鏈湴
-        url: jdbc:mysql://haiershi.a1.luyouxia.net:23844/smartor_lishui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+        url: jdbc:mysql://haiershi.a1.luyouxia.net:23844/smartor_sltd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
         username: smartor
         password: Smartor.2023
         driverClassName: com.mysql.cj.jdbc.Driver
@@ -58,11 +58,11 @@
       #        password: Smartor.2023
       #        driverClassName: com.mysql.cj.jdbc.Driver
       # 浠庢暟鎹簮寮�鍏�/榛樿鍏抽棴(鍏徃)
-#       enabled: true
-#       url: jdbc:sqlserver://116.62.18.175:6001;DatabaseName=iv-ywey;encrypt=false;SelectMethod=cursor
-#       username: sa
-#       password: Hxerp2000
-#       driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
+      #       enabled: true
+      #       url: jdbc:sqlserver://116.62.18.175:6001;DatabaseName=iv-ywey;encrypt=false;SelectMethod=cursor
+      #       username: sa
+      #       password: Hxerp2000
+      #       driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
 
       # 浠庢暟鎹簮寮�鍏�/榛樿鍏抽棴(涔変箤浜岄櫌)
       # enabled: true
@@ -113,7 +113,7 @@
             multi-statement-allow: true
   # redis 閰嶇疆
   redis:
-    host: 192.168.100.10
+    host: 127.0.0.1
     port: 6020
     database: 0
     password: Smartor
@@ -270,3 +270,7 @@
 isEncryp:
 
 dealDeptCode:
+
+#鏂囦欢涓婁紶鍦板潃
+fileUpload:
+profile:
diff --git a/ruoyi-admin/src/main/resources/application-hn.yml b/ruoyi-admin/src/main/resources/application-hn.yml
index 0e263c9..a97f6ac 100644
--- a/ruoyi-admin/src/main/resources/application-hn.yml
+++ b/ruoyi-admin/src/main/resources/application-hn.yml
@@ -259,3 +259,7 @@
 
 #鏄惁鍔犲瘑  0涓嶅姞   1鍔犲瘑
 isEncryp: 0
+
+#鏂囦欢涓婁紶鍦板潃
+fileUpload:
+profile:
diff --git a/ruoyi-admin/src/main/resources/application-ls.yml b/ruoyi-admin/src/main/resources/application-ls.yml
index b0fb629..4353cb7 100644
--- a/ruoyi-admin/src/main/resources/application-ls.yml
+++ b/ruoyi-admin/src/main/resources/application-ls.yml
@@ -248,3 +248,7 @@
 
 #鏄惁鍔犲瘑  0涓嶅姞   1鍔犲瘑
 isEncryp: 0
+
+#鏂囦欢涓婁紶鍦板潃
+fileUpload:
+profile:
diff --git a/ruoyi-admin/src/main/resources/application-sltd.yml b/ruoyi-admin/src/main/resources/application-sltd.yml
index 3891972..c97807b 100644
--- a/ruoyi-admin/src/main/resources/application-sltd.yml
+++ b/ruoyi-admin/src/main/resources/application-sltd.yml
@@ -241,4 +241,6 @@
 #鏄惁鍔犲瘑  0涓嶅姞   1鍔犲瘑
 isEncryp: 0
 
-
+#鏂囦欢涓婁紶鍦板潃
+fileUpload: http://192.88.117.236:8090
+profile: /prod-api/profile
diff --git a/ruoyi-admin/src/main/resources/application-xh.yml b/ruoyi-admin/src/main/resources/application-xh.yml
index 663631f..a3afd8a 100644
--- a/ruoyi-admin/src/main/resources/application-xh.yml
+++ b/ruoyi-admin/src/main/resources/application-xh.yml
@@ -235,3 +235,7 @@
 
 #鏄惁鍔犲瘑  0涓嶅姞   1鍔犲瘑
 isEncryp: 0
+
+#鏂囦欢涓婁紶鍦板潃
+fileUpload: http://218.108.11.22:8093
+profile: /profile-api
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java
index 63c17b2..8665f11 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java
@@ -1,5 +1,6 @@
 package com.ruoyi.common.core.domain.entity;
 
+import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.common.core.domain.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -124,5 +125,11 @@
     @ApiModelProperty("閮ㄩ棬缂栫爜")
     private String type;
 
+    /**
+     * 鏈烘瀯ID
+     */
+    @ApiModelProperty("闄㈠尯")
+    @Excel(name = " 闄㈠尯 ")
+    private String campusid;
 
 }
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
index b59dcb3..feb1aa4 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
@@ -256,6 +256,22 @@
     private List<Map<String, Object>> belongDepts = new ArrayList();
 
 
+    public String getCampusid() {
+        return campusid;
+    }
+
+    public void setCampusid(String campusid) {
+        this.campusid = campusid;
+    }
+
+    /**
+     * 鏈烘瀯ID
+     */
+    @ApiModelProperty("闄㈠尯")
+    @Excel(name = " 闄㈠尯 ")
+    private String campusid;
+
+
     public SysUser() {
 
     }
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUserDept.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUserDept.java
index f8b00b9..2494d6a 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUserDept.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUserDept.java
@@ -74,5 +74,12 @@
     private Long delFlag;
 
 
+    /**
+     * 鏈烘瀯ID
+     */
+    @ApiModelProperty("闄㈠尯")
+    @Excel(name = " 闄㈠尯 ")
+    private String campusid;
+
 }
 
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/dx/MessageSend.java b/ruoyi-common/src/main/java/com/ruoyi/common/dx/MessageSend.java
index f7c359f..764936c 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/dx/MessageSend.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/dx/MessageSend.java
@@ -20,11 +20,12 @@
      * @param sScheduleTime 棰勭害鍙戦�佹椂闂�
      * @return
      */
-    public static JSONObject sendMsg(String sMessageContent, String sMessageType, String sUserNumber, String sScheduleTime) {
+    public static String sendMsg(String sMessageContent, String sMessageType, String sUserNumber, String sScheduleTime) {
         log.info("--sMessageContent鐨勫�间负锛歿}   ,--sMessageType鐨勫�间负锛歿},   --sUserNumber鐨勫�间负锛歿},   --sScheduleTime鐨勫�间负锛歿}", sMessageContent, sMessageType, sUserNumber, sScheduleTime);
         com.ruoyi.common.dx.SmsService service = new SmsService();
         SmsServiceSoap soap = service.getSmsServiceSoap();
         String result = soap.i5GSend("202508291634227086", "T202508291635259440", UUID.randomUUID().toString(), sMessageContent, sMessageType, sUserNumber, sScheduleTime);
-        return JSONObject.parseObject(result);
+        log.info("----鐭俊杩斿洖鐨勬暟鎹负锛歿}", result);
+        return result;
     }
 }
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
index 0d9072d..36599c4 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -16,6 +16,7 @@
 import com.ruoyi.common.utils.http.HttpUtils;
 import com.ruoyi.common.utils.sms.smsUtils;
 import com.ruoyi.quartz.service.ICollectHISService;
+import com.ruoyi.system.domain.SysConfig;
 import com.ruoyi.system.service.ISysConfigService;
 import com.smartor.common.LSHospTokenUtil;
 import com.smartor.domain.*;
@@ -34,12 +35,14 @@
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.security.MessageDigest;
+import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
+import java.util.stream.Collectors;
 
 import static cn.hutool.core.convert.Convert.toHex;
 
@@ -262,45 +265,96 @@
             }
         } else if (active.trim().equals("sltd")) {
             try {
+                //鑾峰彇鏄惁闇�瑕侀噰闆嗙敤鎴枫�侀儴闂ㄤ俊鎭�
+                SysConfig config = new SysConfig();
+                config.setConfigKey("sltd.gather.sysuser");
+                config.setOrgid("20001001");
+                List<SysConfig> sysConfigs = configService.selectConfigList(config);
+
+                //鑾峰彇鐪佺珛鍚屽痉瑕侀噰闆嗙殑闄㈠尯
+                SysConfig cf = new SysConfig();
+                cf.setConfigKey("sltd.gather.campusid");
+                cf.setOrgid("20001001");
+                List<SysConfig> sysConfigcampusids = configService.selectConfigList(cf);
+
+                List<Long> campusidList = new ArrayList<>();
+                if (CollectionUtils.isNotEmpty(sysConfigcampusids)) {
+                    String[] split = sysConfigcampusids.get(0).getConfigValue().split(",");
+                    campusidList = Arrays.stream(split).map(Long::valueOf).collect(Collectors.toList());
+                } else {
+                    log.error("SysConfig涓殑闄㈠尯ID涓虹┖锛�");
+                    return;
+                }
+
+                //configValue = 1 涓嶉渶瑕侀噰闆�       configValue = 2闇�瑕侀噰闆�
+                if (CollectionUtils.isNotEmpty(sysConfigs) && sysConfigs.get(0).getConfigValue().equals("2")) {
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈儴闂ㄤ俊鎭�濆紑濮嬮噰闆嗘暟鎹�");
+                    ServiceSLTDDeptReqVO serviceSLTDDeptReqVO = new ServiceSLTDDeptReqVO();
+                    serviceSLTDDeptReqVO.setOrgId("20001001");
+                    serviceSLTDDeptReqVO.setCampusIds(campusidList);
+                    Boolean aBoolean1 = serviceSLTDHealthcareRecordService.queryDeptWardAreaInfoList(serviceSLTDDeptReqVO);
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈儴闂ㄤ俊鎭�濈粨鏉熼噰闆嗘暟鎹細{}", aBoolean1);
+
+                    Boolean aBoolean = false;
+                    for (Long cid : campusidList) {
+                        log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滅敤鎴蜂俊鎭�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                        ServiceSLTDInhospReqVO reqVO = new ServiceSLTDInhospReqVO();
+                        reqVO.setOrgId("20001001");
+                        reqVO.setCampusId(cid);
+                        ArrayList<String> statusList = new ArrayList<>();
+                        statusList.add("1");
+                        reqVO.setStatusList(statusList);
+                        aBoolean = serviceSLTDHealthcareRecordService.queryHospUserInfoList(reqVO);
+                    }
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滅敤鎴蜂俊鎭�濈粨鏉熼噰闆嗘暟鎹細{}", aBoolean);
+                }
+
                 // 鐪佺珛鍚屽痉鏁版嵁閲囬泦
-                log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濆紑濮嬮噰闆嗘暟鎹�");
-                String yesterday = LocalDate.now().minusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
-                ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO();
-                serviceSLTDInhospReqVO.setOrgId("20001001");
-                serviceSLTDInhospReqVO.setCampusId(30001002L);
-                serviceSLTDInhospReqVO.setStartHeadTime(yesterday);
-                serviceSLTDInhospReqVO.setStartTailTime(yesterday);
-                List<String> list = new ArrayList<>();
-                list.add("FH0108.02");
-                serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list);
-                serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
-                log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濈祼鏉熼噰闆嗘暟鎹�");
+                for (Long cid : campusidList) {
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                    String nowTime = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+                    ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO();
+                    serviceSLTDInhospReqVO.setOrgId("20001001");
+                    serviceSLTDInhospReqVO.setCampusId(cid);
+                    serviceSLTDInhospReqVO.setStartHeadTime(nowTime);
+                    serviceSLTDInhospReqVO.setStartTailTime(nowTime);
+                    List<String> list = new ArrayList<>();
+                    list.add("FH0108.02");
+                    serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list);
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+                    serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濈祼鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
 
-                log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濆紑濮嬮噰闆嗘暟鎹�");
-                serviceSLTDInhospReqVO.setStartHeadTime(null);
-                serviceSLTDInhospReqVO.setStartTailTime(null);
-                serviceSLTDInhospReqVO.setEncounterTimeStart(yesterday);
-                serviceSLTDInhospReqVO.setEncounterTimeEnd(yesterday);
-                List<String> list1 = new ArrayList<>();
-                list1.add("FH0108.01");
-                list1.add("FH0108.03");
-                serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list1);
-                serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
-                log.info("銆恉ealHisData銆戞渤鍗楃粨鈥滈棬鎬ヨ瘖鈥濇潫閲囬泦鏁版嵁");
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                    serviceSLTDInhospReqVO.setStartHeadTime(null);
+                    serviceSLTDInhospReqVO.setStartTailTime(null);
+                    serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime);
+                    serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime);
+                    List<String> list1 = new ArrayList<>();
+                    list1.add("FH0108.01");
+                    list1.add("FH0108.03");
+                    serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list1);
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+                    serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
 
-                log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濆紑濮嬮噰闆嗘暟鎹�");
-                serviceSLTDInhospReqVO.setStartHeadTime(null);
-                serviceSLTDInhospReqVO.setStartTailTime(null);
-                serviceSLTDInhospReqVO.setEncounterTimeStart(null);
-                serviceSLTDInhospReqVO.setEncounterTimeEnd(null);
-                serviceSLTDInhospReqVO.setPreOutHospitalHeadDate(yesterday);
-                serviceSLTDInhospReqVO.setPreOutHospitalTailDate(yesterday);
-                List<String> list2 = new ArrayList<>();
-                list2.add("FH0108.02");
-                serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list2);
-                serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
-                log.info("銆恉ealHisData銆戞渤鍗楃粨鈥滃嚭闄⑩�濇潫閲囬泦鏁版嵁");
-
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                    serviceSLTDInhospReqVO.setStartHeadTime(null);
+                    serviceSLTDInhospReqVO.setStartTailTime(null);
+                    serviceSLTDInhospReqVO.setEncounterTimeStart(null);
+                    serviceSLTDInhospReqVO.setEncounterTimeEnd(null);
+                    serviceSLTDInhospReqVO.setPreOutHospitalHeadDate(nowTime);
+                    serviceSLTDInhospReqVO.setPreOutHospitalTailDate(nowTime);
+                    List<String> list2 = new ArrayList<>();
+                    list2.add("FH0108.02");
+                    serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list2);
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+                    serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
+                }
+//                SysConfig sysConfig = sysConfigs.get(0);
+//                sysConfig.setConfigValue(nowTime);
+//                configService.updateConfig(sysConfig);
             } catch (Exception e) {
                 log.error("銆恉ealHisData銆戠渷绔嬪悓寰锋暟鎹噰闆嗗紓甯�", e);
             }
@@ -579,12 +633,23 @@
                         sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
                     } else {
                         HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(serviceSubtask.getLibtemplateid());
-                        if ("2".equals(heLibrary.getHetype())) {
+                        if (heLibrary.getHetype().equals("1")) {
+                            sendMagParam.setPhone(serviceSubtask.getPhone());
+                            sendMagParam.setUrl(localIP + ":" + req_path + "/xj?p=" + format);
+                            if (active.equals("ls") || active.equals("sltd")) {
+                                sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+                            } else if (active.equals("xh")) {
+                                sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+                            }
+                        } else if (heLibrary.getHetype().equals("2")) {
+                            //閫氱煡
                             sendMagParam.setPhone(serviceSubtask.getPhone());
                             sendMagParam.setContent(heLibrary.getPreachcontent());
                         }
+
                     }
                     String isSuccess = null;
+                    log.info("active鐨勫�间负锛歿}", active);
                     if (active.equals("xh")) {
                         Map<String, String> req = new HashMap<>();
                         req.put("phone", sendMagParam.getPhone());
@@ -609,10 +674,10 @@
                             isSuccess = "true";
                         }
                     } else if (active.equals("sltd")) {
+                        log.info("sltd杩涙潵浜嗗悧锛焮}   ,---sendMagParam.getContent()鐨勫弬鏁颁负锛歿}", active, sendMagParam.getContent());
                         //鐪佺珛鍚屽痉鐨勭煭淇″彂閫佹柟寮�
-                        JSONObject data = MessageSend.sendMsg(sendMagParam.getContent(), "2", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
-                        String code = data.get("code").toString();
-                        if (StringUtils.isNotEmpty(code) && code.equals("00000")) {
+                        String data = MessageSend.sendMsg(sendMagParam.getContent(), "2", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
+                        if (StringUtils.isNotEmpty(data) && data.contains("result=0")) {
                             isSuccess = "true";
                         }
                     } else if (active.equals("hzszlyy")) {//甯備竴鍖婚櫌
@@ -908,6 +973,10 @@
         if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) {
             ServiceSubtaskPreachform serviceSubtaskPreachform1 = serviceSubtaskPreachforms.get(0);
             serviceSubtaskPreachform1.setSendstate(failSendstate);
+            if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) {
+                //濡傛灉鏄鏁欐垨閫氱煡锛屽苟涓斿彂閫佹垚鍔燂紝鐩存帴灏嗗彂閫佺姸鎬佹敼鎴�9
+                if (failSendstate.equals("2")) serviceSubtaskPreachform1.setSendstate("9");
+            }
             serviceSubtaskPreachform1.setRemark(remark);
             serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform1);
 
@@ -928,6 +997,12 @@
         serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime()));
         serviceSubtask.setCurrentPreachform(preachform);
         serviceSubtask.setSendstate(3L);
+        if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) {
+            //濡傛灉鏄鏁欐垨閫氱煡锛屽苟涓斿彂閫佹垚鍔燂紝鍒欑洿鎺ュ皢serviceSubtask鐘舵�佹敼鎴�6L锛堣繖涓偅鑰呮槸娌℃湁棰樺仛鐨勶紝涓嶄細鍐嶈Е鍙戞帴鍙h繘琛岀姸鎬佷慨鏀癸級
+            if (failSendstate.equals("2")) {
+                serviceSubtask.setSendstate(6L);
+            }
+        }
         serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
         return true;
     }
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
index 3b91c20..ed674cf 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -26,11 +26,13 @@
         <result property="deptType" column="dept_type"/>
         <result property="guid" column="guid"/>
         <result property="orgid" column="orgid"/>
+        <result property="campusid" column="campusid"/>
     </resultMap>
 
     <sql id="selectDeptVo">
         select d.dept_id,
                d.dept_code,
+               d.campusid,
                d.parent_id,
                d.ancestors,
                d.dept_name,
@@ -71,13 +73,16 @@
         <if test="deptType != null and deptType != ''">
             AND dept_type = #{deptType}
         </if>
+        <if test="campusid != null and campusid != ''">
+            AND campusid = #{campusid}
+        </if>
         <if test="hisDeptId != null and hisDeptId != ''">
             AND his_dept_id = #{hisDeptId}
         </if>
         <if test="hisParentId != null and hisParentId != ''">
             AND his_parent_id = #{hisParentId}
         </if>
-            <if test="orgid != null and orgid != ''">
+        <if test="orgid != null and orgid != ''">
             AND orgid = #{orgid}
         </if>
         <!-- 鏁版嵁鑼冨洿杩囨护 -->
@@ -108,6 +113,7 @@
                d.leader,
                d.phone,
                d.email,
+               d.campusid,
                d.status,
                d.his_dept_id,
                d.his_parent_id,
@@ -119,6 +125,7 @@
     <select id="selectDeptByCode" parameterType="string" resultMap="SysDeptResult">
         select d.dept_id,
                d.parent_id,
+               d.campusid,
                d.dept_code,
                d.dept_type,
                d.ancestors,
@@ -185,6 +192,7 @@
         <if test="hisDeptId != null and hisDeptId != ''">his_dept_id,</if>
         <if test="hisParentId != null and hisParentId != ''">his_parent_id,</if>
         <if test="orgid != null and orgid != ''">orgid,</if>
+        <if test="campusid != null and campusid != ''">campusid,</if>
         create_time
         )values(
         <if test="deptId != null and deptId != 0">#{deptId},</if>
@@ -202,6 +210,7 @@
         <if test="hisDeptId != null and hisDeptId != ''">#{hisDeptId},</if>
         <if test="hisParentId != null and hisParentId != ''">#{hisParentId},</if>
         <if test="orgid != null and orgid != ''">#{orgid},</if>
+        <if test="campusid != null and campusid != ''">#{campusid},</if>
         sysdate()
         )
     </insert>
@@ -223,6 +232,7 @@
             <if test="hisParentId != null and hisParentId != ''">his_parent_id = #{hisParentId},</if>
             <if test="hisDeptId != null and hisDeptId != ''">his_dept_id = #{hisDeptId},</if>
             <if test="orgid != null and orgid != ''">orgid = #{orgid},</if>
+            <if test="campusid != null and campusid != ''">campusid = #{campusid},</if>
             update_time = sysdate()
         </set>
         where dept_id = #{deptId}
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
index 20ff6a8..3c24a94 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -36,6 +36,7 @@
         <result property="searchscope" column="searchscope"/>
         <result property="guid" column="guid"/>
         <result property="orgid" column="orgid"/>
+        <result property="campusid" column="campusid"/>
         <association property="dept" column="dept_id" javaType="com.ruoyi.common.core.domain.entity.SysDept"
                      resultMap="deptResult"/>
         <collection property="roles" javaType="java.util.List" resultMap="RoleResult"/>
@@ -49,6 +50,7 @@
         <result property="orderNum" column="order_num"/>
         <result property="leader" column="leader"/>
         <result property="status" column="dept_status"/>
+        <result property="campusid" column="campusid"/>
     </resultMap>
 
     <resultMap id="RoleResult" type="com.ruoyi.common.core.domain.entity.SysRole">
@@ -65,6 +67,7 @@
                u.dept_id,
                u.id_card,
                u.hosp_info,
+               u.campusid,
                u.dept_info,
                u.searchscope,
                u.user_name,
@@ -114,6 +117,7 @@
         u.nick_name, u.user_name,
         u.email,u.id_card,
         u.avatar,
+        u.campusid,
         u.dept_name,
         u.dept_code,
         u.birthday,
@@ -137,6 +141,9 @@
         </if>
         <if test="status != null and status != ''">
             AND u.status = #{status}
+        </if>
+        <if test="campusid != null and campusid != ''">
+            AND u.campusid = #{campusid}
         </if>
         <if test="idCard != null and idCard != ''">
             AND u.id_card = #{idCard}
@@ -177,7 +184,7 @@
     </select>
     <select id="getUserList" parameterType="com.ruoyi.common.core.domain.entity.SysUser" resultMap="SysUserResult">
         select u.user_id,u.title,u.his_user_id,u.hosp_info,u.dept_info, u.searchscope, u.dept_id, u.user_type,
-        u.nick_name, u.user_name,
+        u.nick_name, u.user_name,u.campusid,
         u.email,u.id_card,
         u.avatar,
         u.dept_name,
@@ -192,6 +199,9 @@
         </if>
         <if test="orgid != null and orgid != ''">
             AND u.orgid = #{orgid}
+        </if>
+        <if test="campusid != null and campusid != ''">
+            AND u.campusid = #{campusid}
         </if>
         <if test="userName != null and userName != ''">
             AND u.user_name like concat('%', #{userName}, '%')
@@ -247,6 +257,7 @@
         u.email,
         u.dept_code,
         u.dept_name,
+        u.campusid,
         u.birthday,
         u.job_phone,
         u.phonenumber, u.status,u.id_card,
@@ -276,6 +287,7 @@
             resultMap="SysUserResult">
         select distinct u.user_id, u.dept_id, u.hosp_info, u.dept_info,u.searchscope, u.user_name, u.user_type,
         u.nick_name,
+        u.campusid,
         u.email,
         u.his_user_id,
         u.title,
@@ -377,6 +389,7 @@
         <if test="orgid != null and orgid != ''">orgid,</if>
         <if test="deptCode != null and deptCode != ''">dept_code,</if>
         <if test="deptName != null and deptName != ''">dept_name,</if>
+        <if test="campusid != null and campusid != ''">campusid,</if>
         create_time
         )values(
         <if test="userId != null and userId != ''">#{userId},</if>
@@ -403,6 +416,7 @@
         <if test="orgid != null and orgid != ''">#{orgid},</if>
         <if test="deptCode != null and deptCode != ''">#{deptCode},</if>
         <if test="deptName != null and deptName != ''">#{deptName},</if>
+        <if test="campusid != null and campusid != ''">#{campusid},</if>
         sysdate()
         )
     </insert>
@@ -439,6 +453,7 @@
             </if>
             <if test="deptCode != null and deptCode != ''">dept_code=#{deptCode},</if>
             <if test="deptName != null and deptName != ''">dept_name=#{deptName},</if>
+            <if test="campusid != null and campusid != ''">campusid=#{campusid},</if>
             update_time = sysdate()
         </set>
         where user_id = #{userId}
diff --git a/smartor/src/main/java/com/smartor/domain/PatArchive.java b/smartor/src/main/java/com/smartor/domain/PatArchive.java
index 0481c35..7cb6c29 100644
--- a/smartor/src/main/java/com/smartor/domain/PatArchive.java
+++ b/smartor/src/main/java/com/smartor/domain/PatArchive.java
@@ -227,6 +227,13 @@
     private String orgid;
 
     /**
+     * 鏈烘瀯ID
+     */
+    @ApiModelProperty("闄㈠尯")
+    @Excel(name = " 闄㈠尯 ")
+    private String campusid;
+
+    /**
      * 寰俊openid
      */
     @ApiModelProperty("寰俊openid")
diff --git a/smartor/src/main/java/com/smartor/domain/PatArchiveOthreInfo.java b/smartor/src/main/java/com/smartor/domain/PatArchiveOthreInfo.java
index 6da1123..25ac419 100644
--- a/smartor/src/main/java/com/smartor/domain/PatArchiveOthreInfo.java
+++ b/smartor/src/main/java/com/smartor/domain/PatArchiveOthreInfo.java
@@ -96,6 +96,12 @@
     private String guid;
 
     /**
+     * 闄㈠尯
+     */
+    @ApiModelProperty("闄㈠尯")
+    private String campusid;
+
+    /**
      * GUID
      */
     @ApiModelProperty("鍑洪櫌璇婃柇")
diff --git a/smartor/src/main/java/com/smartor/domain/PatArchiveReq.java b/smartor/src/main/java/com/smartor/domain/PatArchiveReq.java
index d4cd505..ab80bd9 100644
--- a/smartor/src/main/java/com/smartor/domain/PatArchiveReq.java
+++ b/smartor/src/main/java/com/smartor/domain/PatArchiveReq.java
@@ -225,4 +225,11 @@
      */
     @ApiModelProperty("鍑哄叆闄㈡爣璇嗭細0鍏ラ櫌  1鍑洪櫌  ")
     private Integer cry;
+
+    /**
+     * 鏈烘瀯ID
+     */
+    @ApiModelProperty("闄㈠尯")
+    @Excel(name = " 闄㈠尯 ")
+    private String campusid;
 }
diff --git a/smartor/src/main/java/com/smartor/domain/PatArchiveVO.java b/smartor/src/main/java/com/smartor/domain/PatArchiveVO.java
index 700b972..a40b10a 100644
--- a/smartor/src/main/java/com/smartor/domain/PatArchiveVO.java
+++ b/smartor/src/main/java/com/smartor/domain/PatArchiveVO.java
@@ -317,4 +317,10 @@
     @Excel(name = "涓昏鐓ф姢浜哄勾榫�")
     private String casePersonAge;
 
+    /**
+     * 鏈烘瀯ID
+     */
+    @ApiModelProperty("闄㈠尯")
+    @Excel(name = " 闄㈠尯 ")
+    private String campusid;
 }
diff --git a/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java b/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
index 69b3d78..ee5065a 100644
--- a/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
+++ b/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
@@ -469,4 +469,11 @@
 
     @ApiModelProperty(value = "鏈�鍚庣粨鏉熸椂闂�")
     private String lastEndTime;
+
+    /**
+     * 鏈烘瀯ID
+     */
+    @ApiModelProperty("闄㈠尯")
+    @Excel(name = " 闄㈠尯 ")
+    private String campusid;
 }
diff --git a/smartor/src/main/java/com/smartor/domain/PatMedInhospVO.java b/smartor/src/main/java/com/smartor/domain/PatMedInhospVO.java
index 8d37b1a..a725272 100644
--- a/smartor/src/main/java/com/smartor/domain/PatMedInhospVO.java
+++ b/smartor/src/main/java/com/smartor/domain/PatMedInhospVO.java
@@ -377,5 +377,12 @@
     @ApiModelProperty("缁忕鍖荤敓")
     @Excel(name = " 缁忕鍖荤敓 ")
     private String managementDoctorCode;
+
+    /**
+     * 鏈烘瀯ID
+     */
+    @ApiModelProperty("闄㈠尯")
+    @Excel(name = " 闄㈠尯 ")
+    private String campusid;
 }
 
diff --git a/smartor/src/main/java/com/smartor/domain/PatMedOuthosp.java b/smartor/src/main/java/com/smartor/domain/PatMedOuthosp.java
index 9aa0cc8..6ad2c36 100644
--- a/smartor/src/main/java/com/smartor/domain/PatMedOuthosp.java
+++ b/smartor/src/main/java/com/smartor/domain/PatMedOuthosp.java
@@ -242,4 +242,11 @@
     @ApiModelProperty(value = "鏈�鍚庣粨鏉熸椂闂�")
     private String lastEndTime;
 
+    /**
+     * 鏈烘瀯ID
+     */
+    @ApiModelProperty("闄㈠尯")
+    @Excel(name = " 闄㈠尯 ")
+    private String campusid;
+
 }
diff --git a/smartor/src/main/java/com/smartor/domain/PatMedOuthospProvisional.java b/smartor/src/main/java/com/smartor/domain/PatMedOuthospProvisional.java
new file mode 100644
index 0000000..e56d65a
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/PatMedOuthospProvisional.java
@@ -0,0 +1,258 @@
+package com.smartor.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 鎮h�呴棬璇婅褰曪紙杩囨浮锛夊璞� pat_med_outhosp_provisional
+ *
+ * @author ls
+ * @date 2025-11-04
+ */
+@Data
+@ApiModel("鎮h�呴棬璇婅褰曪紙杩囨浮锛�")
+public class PatMedOuthospProvisional extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 鑷ID
+     */
+    @ApiModelProperty("鑷ID")
+    //鏁版嵁搴撹嚜澧炴敼鎴怈TableId(type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 闂ㄨ瘖缂栧彿
+     */
+    @ApiModelProperty("闂ㄨ瘖缂栧彿")
+    @Excel(name = "闂ㄨ瘖缂栧彿")
+    private String outhospno;
+
+    /**
+     * 娴佹按鍙�
+     */
+    @ApiModelProperty("娴佹按鍙�")
+    @Excel(name = "娴佹按鍙�")
+    private String serialnum;
+
+    /**
+     * 鎮h�呮。妗圛D
+     */
+    @ApiModelProperty("鎮h�呮。妗圛D")
+    @Excel(name = "鎮h�呮。妗圛D")
+    private Long patid;
+
+    /**
+     * 鐥呬汉濮撳悕
+     */
+    @ApiModelProperty("鐥呬汉濮撳悕")
+    @Excel(name = "鐥呬汉濮撳悕")
+    private String patname;
+
+    /**
+     * 鎮h�呮。妗堢紪鍙�
+     */
+    @ApiModelProperty("鎮h�呮。妗堢紪鍙�")
+    @Excel(name = "鎮h�呮。妗堢紪鍙�")
+    private String patno;
+
+    /**
+     * 鍖婚櫌鍚嶇О
+     */
+    @ApiModelProperty("鍖婚櫌鍚嶇О")
+    @Excel(name = "鍖婚櫌鍚嶇О")
+    private String hospitalname;
+
+    /**
+     * 鍖婚櫌缂栧彿
+     */
+    @ApiModelProperty("鍖婚櫌缂栧彿")
+    @Excel(name = "鍖婚櫌缂栧彿")
+    private String hospitalcode;
+
+    /**
+     * 璇婃柇ICD鍊�
+     */
+    @ApiModelProperty("璇婃柇ICD鍊�")
+    @Excel(name = "璇婃柇ICD鍊�")
+    private String icd10code;
+
+    /**
+     * 璇婃柇鍚嶇О
+     */
+    @ApiModelProperty("璇婃柇鍚嶇О")
+    @Excel(name = "璇婃柇鍚嶇О")
+    private String diagname;
+
+    /**
+     * 绉戝ID
+     */
+    @ApiModelProperty("绉戝ID")
+    @Excel(name = "绉戝ID")
+    private Long deptid;
+
+    /**
+     * 绉戝浠g爜
+     */
+    @ApiModelProperty("绉戝浠g爜")
+    @Excel(name = "绉戝浠g爜")
+    private String deptcode;
+
+    /**
+     * 绉戝鍚嶇О
+     */
+    @ApiModelProperty("绉戝鍚嶇О")
+    @Excel(name = "绉戝鍚嶇О")
+    private String deptname;
+
+    /**
+     * 鍖荤敓宸ュ彿
+     */
+    @ApiModelProperty("鍖荤敓宸ュ彿")
+    @Excel(name = "鍖荤敓宸ュ彿")
+    private String drcode;
+
+    /**
+     * 鍖荤敓鍚嶇О
+     */
+    @ApiModelProperty("鍖荤敓鍚嶇О")
+    @Excel(name = "鍖荤敓鍚嶇О")
+    private String drname;
+
+    /**
+     * 灏辫瘖鏃ユ湡
+     */
+    @ApiModelProperty("灏辫瘖鏃ユ湡")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "灏辫瘖鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date admitdate;
+
+    /**
+     * 鍖婚櫌鏈烘瀯ID
+     */
+    @ApiModelProperty("鍖婚櫌鏈烘瀯ID")
+    @Excel(name = "鍖婚櫌鏈烘瀯ID")
+    private String orgid;
+
+    /**
+     * 鍒犻櫎鏍囧織锛�0锛氭湭鍒犻櫎 1锛氬凡鍒犻櫎锛�
+     */
+    @ApiModelProperty("鍒犻櫎鏍囧織锛�0锛氭湭鍒犻櫎 1锛氬凡鍒犻櫎锛�")
+    private String delFlag;
+
+    /**
+     * 涓婁紶鏍囧織锛�0锛氭湭涓婁紶 1锛氬凡涓婁紶锛�
+     */
+    @ApiModelProperty("涓婁紶鏍囧織锛�0锛氭湭涓婁紶 1锛氬凡涓婁紶锛�")
+    @Excel(name = "涓婁紶鏍囧織", readConverterExp = "0=锛氭湭涓婁紶,1=锛氬凡涓婁紶")
+    private Long isupload;
+
+    /**
+     * 涓婁紶鏃堕棿
+     */
+    @ApiModelProperty("涓婁紶鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "涓婁紶鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date uploadTime;
+
+    /**
+     * 鏄惁鐢熸垚鏂规鐘舵��;0鏈敓鎴� 1鐢熸垚灏辫瘖 9鏃犲尮閰嶆柟妗�
+     */
+    @ApiModelProperty("鏄惁鐢熸垚鏂规鐘舵��;0鏈敓鎴� 1鐢熸垚灏辫瘖 9鏃犲尮閰嶆柟妗�")
+    @Excel(name = "鏄惁鐢熸垚鏂规鐘舵��;0鏈敓鎴� 1鐢熸垚灏辫瘖 9鏃犲尮閰嶆柟妗�")
+    private Long schemestatus;
+
+    /**
+     * 鏂规鐘舵�佹搷浣滄椂闂�
+     */
+    @ApiModelProperty("鏂规鐘舵�佹搷浣滄椂闂�")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "鏂规鐘舵�佹搷浣滄椂闂�", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date schemetime;
+
+    /**
+     * 鐜扮梾鍙�
+     */
+    @ApiModelProperty("鐜扮梾鍙�")
+    @Excel(name = "鐜扮梾鍙�")
+    private String hpi;
+
+    /**
+     * 涓昏堪
+     */
+    @ApiModelProperty("涓昏堪")
+    @Excel(name = "涓昏堪")
+    private String mainsuit;
+
+    /**
+     * 鐖禝D
+     */
+    @ApiModelProperty("鐖禝D")
+    @Excel(name = "鐖禝D")
+    private Long pid;
+
+    /**
+     * GUID
+     */
+    @ApiModelProperty("GUID")
+    @Excel(name = "GUID")
+    private String guid;
+
+    /**
+     * 鐖禛UID
+     */
+    @ApiModelProperty("鐖禛UID")
+    @Excel(name = "鐖禛UID")
+    private String pguid;
+
+    /**
+     * 闄㈠尯缂栧彿
+     */
+    @ApiModelProperty("闄㈠尯缂栧彿")
+    @Excel(name = "闄㈠尯缂栧彿")
+    private String hospitaldistrictcode;
+
+    /**
+     * 闄㈠尯鍚嶇О
+     */
+    @ApiModelProperty("闄㈠尯鍚嶇О")
+    @Excel(name = "闄㈠尯鍚嶇О")
+    private String hospitaldistrictname;
+
+    /**
+     * 鐤剧梾闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞�   1澶勭悊鎴愬姛    2澶勭悊澶辫触
+     */
+    @ApiModelProperty("鐤剧梾闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞�   1澶勭悊鎴愬姛    2澶勭悊澶辫触")
+    @Excel(name = "鐤剧梾闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞�   1澶勭悊鎴愬姛    2澶勭悊澶辫触")
+    private String diagcheckFlag;
+
+    /**
+     * 闅忚鏃ユ湡
+     */
+    @ApiModelProperty("闅忚鏃ユ湡")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "闅忚鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date fudate;
+
+    /**
+     * 闅忚鏍囪瘑
+     */
+    @ApiModelProperty("闅忚鏍囪瘑")
+    @Excel(name = "闅忚鏍囪瘑")
+    private String fuflag;
+
+    /**
+     * 闄㈠尯
+     */
+    @ApiModelProperty("闄㈠尯")
+    @Excel(name = "闄㈠尯")
+    private String campusid;
+
+}
+
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSLTDInhospReqVO.java b/smartor/src/main/java/com/smartor/domain/ServiceSLTDInhospReqVO.java
index 5257de7..fd3f5b3 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSLTDInhospReqVO.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSLTDInhospReqVO.java
@@ -1,5 +1,6 @@
 package com.smartor.domain;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSLTDInhospResDTO.java b/smartor/src/main/java/com/smartor/domain/ServiceSLTDInhospResDTO.java
index c8cf65d..9ed805b 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSLTDInhospResDTO.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSLTDInhospResDTO.java
@@ -12,6 +12,9 @@
     @ApiModelProperty(value = "鏈烘瀯ID 鏈烘瀯鍞竴缂栧彿")
     private String orgId;
 
+    @ApiModelProperty(value = "鏈烘瀯ID 鏈烘瀯鍞竴缂栧彿")
+    private String campusId;
+
     @ApiModelProperty(value = "璇婄枟璁板綍id  鎮h�呮瘡娆″氨璇婇兘涓嶇浉鍚�")
     private Long healthcareRecordId;
 
diff --git a/smartor/src/main/java/com/smartor/mapper/PatMedOuthospProvisionalMapper.java b/smartor/src/main/java/com/smartor/mapper/PatMedOuthospProvisionalMapper.java
new file mode 100644
index 0000000..7a61caa
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/PatMedOuthospProvisionalMapper.java
@@ -0,0 +1,64 @@
+package com.smartor.mapper;
+
+import com.smartor.domain.PatMedOuthospProvisional;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 鎮h�呴棬璇婅褰曪紙杩囨浮锛塎apper鎺ュ彛
+ *
+ * @author ls
+ * @date 2025-11-04
+ */
+@Mapper
+public interface PatMedOuthospProvisionalMapper
+{
+    /**
+     * 鏌ヨ鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     *
+     * @param id 鎮h�呴棬璇婅褰曪紙杩囨浮锛変富閿�
+     * @return 鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     */
+    public PatMedOuthospProvisional selectPatMedOuthospProvisionalById(Long id);
+
+    /**
+     * 鏌ヨ鎮h�呴棬璇婅褰曪紙杩囨浮锛夊垪琛�
+     *
+     * @param patMedOuthospProvisional 鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     * @return 鎮h�呴棬璇婅褰曪紙杩囨浮锛夐泦鍚�
+     */
+    public List<PatMedOuthospProvisional> selectPatMedOuthospProvisionalList(PatMedOuthospProvisional patMedOuthospProvisional);
+
+    /**
+     * 鏂板鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     *
+     * @param patMedOuthospProvisional 鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     * @return 缁撴灉
+     */
+    public int insertPatMedOuthospProvisional(PatMedOuthospProvisional patMedOuthospProvisional);
+
+    /**
+     * 淇敼鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     *
+     * @param patMedOuthospProvisional 鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     * @return 缁撴灉
+     */
+    public int updatePatMedOuthospProvisional(PatMedOuthospProvisional patMedOuthospProvisional);
+
+    /**
+     * 鍒犻櫎鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     *
+     * @param id 鎮h�呴棬璇婅褰曪紙杩囨浮锛変富閿�
+     * @return 缁撴灉
+     */
+    public int deletePatMedOuthospProvisionalById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deletePatMedOuthospProvisionalByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/SysUserRole2Mapper.java b/smartor/src/main/java/com/smartor/mapper/SysUserRole2Mapper.java
index faf1a55..cc9d9a8 100644
--- a/smartor/src/main/java/com/smartor/mapper/SysUserRole2Mapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/SysUserRole2Mapper.java
@@ -12,8 +12,7 @@
  * @author ruoyi
  */
 @Mapper
-public interface SysUserRole2Mapper
-{
+public interface SysUserRole2Mapper {
     /**
      * 閫氳繃鐢ㄦ埛ID鍒犻櫎鐢ㄦ埛鍜岃鑹插叧鑱�
      *
@@ -38,6 +37,8 @@
      */
     public int countUserRoleByRoleId(Long roleId);
 
+    public SysUserRole selectUserRoleByRoleIdAndUserId(@Param("roleId") Long roleId, @Param("userId") Long userId);
+
     /**
      * 鎵归噺鏂板鐢ㄦ埛瑙掕壊淇℃伅
      *
@@ -57,7 +58,7 @@
     /**
      * 鎵归噺鍙栨秷鎺堟潈鐢ㄦ埛瑙掕壊
      *
-     * @param roleId 瑙掕壊ID
+     * @param roleId  瑙掕壊ID
      * @param userIds 闇�瑕佸垹闄ょ殑鐢ㄦ埛鏁版嵁ID
      * @return 缁撴灉
      */
diff --git a/smartor/src/main/java/com/smartor/service/IPatMedOuthospProvisionalService.java b/smartor/src/main/java/com/smartor/service/IPatMedOuthospProvisionalService.java
new file mode 100644
index 0000000..32896ea
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/IPatMedOuthospProvisionalService.java
@@ -0,0 +1,62 @@
+package com.smartor.service;
+
+import com.smartor.domain.PatMedOuthospProvisional;
+
+import java.util.List;
+
+/**
+ * 鎮h�呴棬璇婅褰曪紙杩囨浮锛塖ervice鎺ュ彛
+ *
+ * @author ls
+ * @date 2025-11-04
+ */
+public interface IPatMedOuthospProvisionalService
+{
+    /**
+     * 鏌ヨ鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     *
+     * @param id 鎮h�呴棬璇婅褰曪紙杩囨浮锛変富閿�
+     * @return 鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     */
+    public PatMedOuthospProvisional selectPatMedOuthospProvisionalById(Long id);
+
+    /**
+     * 鏌ヨ鎮h�呴棬璇婅褰曪紙杩囨浮锛夊垪琛�
+     *
+     * @param patMedOuthospProvisional 鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     * @return 鎮h�呴棬璇婅褰曪紙杩囨浮锛夐泦鍚�
+     */
+    public List<PatMedOuthospProvisional> selectPatMedOuthospProvisionalList(PatMedOuthospProvisional patMedOuthospProvisional);
+
+    /**
+     * 鏂板鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     *
+     * @param patMedOuthospProvisional 鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     * @return 缁撴灉
+     */
+    public int insertPatMedOuthospProvisional(PatMedOuthospProvisional patMedOuthospProvisional);
+
+    /**
+     * 淇敼鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     *
+     * @param patMedOuthospProvisional 鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     * @return 缁撴灉
+     */
+    public int updatePatMedOuthospProvisional(PatMedOuthospProvisional patMedOuthospProvisional);
+
+    /**
+     * 鎵归噺鍒犻櫎鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑鎮h�呴棬璇婅褰曪紙杩囨浮锛変富閿泦鍚�
+     * @return 缁撴灉
+     */
+    public int deletePatMedOuthospProvisionalByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎鎮h�呴棬璇婅褰曪紙杩囨浮锛変俊鎭�
+     *
+     * @param id 鎮h�呴棬璇婅褰曪紙杩囨浮锛変富閿�
+     * @return 缁撴灉
+     */
+    public int deletePatMedOuthospProvisionalById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospProvisionalServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospProvisionalServiceImpl.java
new file mode 100644
index 0000000..95aa860
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospProvisionalServiceImpl.java
@@ -0,0 +1,96 @@
+package com.smartor.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.smartor.mapper.PatMedOuthospProvisionalMapper;
+import com.smartor.domain.PatMedOuthospProvisional;
+import com.smartor.service.IPatMedOuthospProvisionalService;
+
+/**
+ * 鎮h�呴棬璇婅褰曪紙杩囨浮锛塖ervice涓氬姟灞傚鐞�
+ *
+ * @author ls
+ * @date 2025-11-04
+ */
+@Service
+public class PatMedOuthospProvisionalServiceImpl implements IPatMedOuthospProvisionalService
+{
+    @Autowired
+    private PatMedOuthospProvisionalMapper patMedOuthospProvisionalMapper;
+
+    /**
+     * 鏌ヨ鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     *
+     * @param id 鎮h�呴棬璇婅褰曪紙杩囨浮锛変富閿�
+     * @return 鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     */
+    @Override
+    public PatMedOuthospProvisional selectPatMedOuthospProvisionalById(Long id)
+    {
+        return patMedOuthospProvisionalMapper.selectPatMedOuthospProvisionalById(id);
+    }
+
+    /**
+     * 鏌ヨ鎮h�呴棬璇婅褰曪紙杩囨浮锛夊垪琛�
+     *
+     * @param patMedOuthospProvisional 鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     * @return 鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     */
+    @Override
+    public List<PatMedOuthospProvisional> selectPatMedOuthospProvisionalList(PatMedOuthospProvisional patMedOuthospProvisional)
+    {
+        return patMedOuthospProvisionalMapper.selectPatMedOuthospProvisionalList(patMedOuthospProvisional);
+    }
+
+    /**
+     * 鏂板鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     *
+     * @param patMedOuthospProvisional 鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertPatMedOuthospProvisional(PatMedOuthospProvisional patMedOuthospProvisional)
+    {
+        patMedOuthospProvisional.setCreateTime(DateUtils.getNowDate());
+        return patMedOuthospProvisionalMapper.insertPatMedOuthospProvisional(patMedOuthospProvisional);
+    }
+
+    /**
+     * 淇敼鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     *
+     * @param patMedOuthospProvisional 鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     * @return 缁撴灉
+     */
+    @Override
+    public int updatePatMedOuthospProvisional(PatMedOuthospProvisional patMedOuthospProvisional)
+    {
+        patMedOuthospProvisional.setUpdateTime(DateUtils.getNowDate());
+        return patMedOuthospProvisionalMapper.updatePatMedOuthospProvisional(patMedOuthospProvisional);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鎮h�呴棬璇婅褰曪紙杩囨浮锛�
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑鎮h�呴棬璇婅褰曪紙杩囨浮锛変富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deletePatMedOuthospProvisionalByIds(Long[] ids)
+    {
+        return patMedOuthospProvisionalMapper.deletePatMedOuthospProvisionalByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎鎮h�呴棬璇婅褰曪紙杩囨浮锛変俊鎭�
+     *
+     * @param id 鎮h�呴棬璇婅褰曪紙杩囨浮锛変富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deletePatMedOuthospProvisionalById(Long id)
+    {
+        return patMedOuthospProvisionalMapper.deletePatMedOuthospProvisionalById(id);
+    }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
index 408e684..2c40db6 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
@@ -6,6 +6,7 @@
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.entity.SysUserDept;
 import com.ruoyi.common.core.domain.entity.SysUserRole;
+import com.ruoyi.common.utils.DtoConversionUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.http.HttpUtils;
 import com.smartor.domain.*;
@@ -16,6 +17,7 @@
 import com.sun.org.apache.bcel.internal.generic.NEW;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
@@ -123,7 +125,8 @@
             log.info("-----------dataList鎺ュ彛鍝嶅簲缁撴灉锛歿}", dataList.size());
             for (Map<String, Object> dataItem : dataList) {
                 SysDept sysDept = new SysDept();
-                sysDept.setOrgid("" + serviceSLTDDeptReqVO.getCampusIds().get(0));
+                sysDept.setOrgid("" + getLongValue(dataItem, "orgId"));
+                sysDept.setCampusid("" + getLongValue(dataItem, "campusId"));
                 sysDept.setHisDeptId("" + getLongValue(dataItem, "deptId"));
                 sysDept.setHisParentId(getStringValue(dataItem, "parentDeptId"));
                 //閫氳繃his鐨勭埗绉戝ID鍘绘壘鍒扮瀹D,濉厖parentId
@@ -222,27 +225,38 @@
             sysUser.setUpdateBy("admin");
             sysUser.setCreateBy("admin");
             sysUser.setCreateBy("admin");
-            sysUser.setOrgid(reqVO.getCampusId().toString());
+            sysUser.setOrgid("" + getLongValue(dataItem, "orgId"));
+//            sysUser.setCampusid("" + getLongValue(dataItem, "cmpusId"));
             BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
             sysUser.setPassword(passwordEncoder.encode(userPwd));
 
-            sysUser2Mapper.insertUser(sysUser);
+            SysUser sysUser1 = sysUser2Mapper.selectUserByUserName(sysUser.getUserName());
+            if (ObjectUtils.isNotEmpty(sysUser1)) {
+                sysUser.setUserId(sysUser1.getUserId());
+                sysUser2Mapper.updateUser(sysUser);
+            } else {
+                sysUser2Mapper.insertUser(sysUser);
+            }
 
             // 澶勭悊鐢ㄦ埛涓庨儴闂ㄧ殑鍏崇郴
-            List personnelDepts = (List<?>) dataItem.get("personnelDepts");
-            if (CollectionUtils.isEmpty(personnelDepts)) {
+            List businessDepts = (List<?>) dataItem.get("businessDepts");
+            if (CollectionUtils.isEmpty(businessDepts)) {
                 continue;
             }
 
             List<List<String>> deptInfoList = new ArrayList<>();
             List<List<String>> hospInfoList = new ArrayList<>();
-            for (Object personnelDept : personnelDepts) {
-                if (personnelDept instanceof Map) {
-                    Map<String, Object> personnelDeptMap = (Map<String, Object>) personnelDept;
+            log.info("------businessDepts鏄惁鏈夊�硷細{}", businessDepts.size());
+            for (Object businessDept : businessDepts) {
+                if (businessDept instanceof Map) {
+                    Map<String, Object> businessDeptMap = (Map<String, Object>) businessDept;
+                    log.info("------businessDeptMap鏄惁鏈夊�硷細{}", businessDeptMap);
 //                    Long hisDeptId = (Long) personnelDeptMap.get("deptId");
-                    String hisDeptId = getStringValue(personnelDeptMap, "deptId");
+                    String hisDeptId = getStringValue(businessDeptMap, "deptId");
+                    log.info("------hisDeptId鏄惁鏈夊�硷細{}, reqVO.getOrgId()鐨勫�间负:{}", hisDeptId, reqVO.getCampusId());
                     //鍦ㄨ繖閲岋紝hisDeptId灏辨槸deptCode
-                    SysDept sysDept = sysDeptMapper.selectDeptByCode(hisDeptId, reqVO.getCampusId().toString());
+                    SysDept sysDept = sysDeptMapper.selectDeptByCode(hisDeptId, reqVO.getOrgId());
+                    log.info("------hisDeptId鏄惁鏈夊�硷細{}, reqVO.getCampusId()鐨勫�间负:{}", hisDeptId, reqVO.getCampusId());
                     if (Objects.isNull(sysDept)) continue;
                     SysUserDept sysUserDept = new SysUserDept();
                     sysUserDept.setUserId(sysUser.getUserId());
@@ -253,7 +267,21 @@
                     sysUserDept.setOrgid(sysDept.getOrgid());
                     sysUserDept.setCreateTime(new Date());
                     sysUserDept.setDelFlag(0L);
-                    sysUserDeptMapper.insertSysUserDept(sysUserDept);
+
+                    //鍒ゆ柇涓�涓嬫槸涓嶆槸宸茬粡瀛樺湪浜�
+                    if (ObjectUtils.isNotEmpty(sysUser1) && ObjectUtils.isNotEmpty(sysDept)) {
+                        SysUserDept sud = new SysUserDept();
+                        sud.setUserId(sysUser1.getUserId());
+                        sud.setDeptId(sysDept.getDeptId());
+                        List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sud);
+                        if (CollectionUtils.isNotEmpty(sysUserDepts)) {
+                            sysUserDept.setId(sysUserDepts.get(0).getId());
+                            sysUserDeptMapper.updateSysUserDept(sysUserDept);
+                        }
+                    } else {
+                        //涓嶅瓨鍦紝鍒欐柊澧�
+                        sysUserDeptMapper.insertSysUserDept(sysUserDept);
+                    }
                     if (StringUtils.isNotEmpty(sysDept.getDeptType()) && sysDept.getDeptType().equals("1")) {
                         hospInfoList.add(Arrays.asList(sysDept.getDeptCode()));
                     } else if (StringUtils.isNotEmpty(sysDept.getDeptType()) && sysDept.getDeptType().equals("2")) {
@@ -273,9 +301,13 @@
             sur.setUserId(sysUser.getUserId());
             sur.setRoleId(3L);
             sur.setOrgid(sysUser.getOrgid());
+
+            //鍏堟煡璇竴涓嬶紝鏄惁瀛樺湪
+            SysUserRole sysUserRole = sysUserRoleMapper.selectUserRoleByRoleIdAndUserId(sysUser.getUserId(), 3L);
+            if (ObjectUtils.isNotEmpty(sysUserRole)) continue;
+
             userRoleList.add(sur);
             sysUserRoleMapper.batchUserRole(userRoleList);
-
         }
 
         return true;
@@ -409,6 +441,10 @@
             if (Objects.isNull(dto)) continue;
             PatArchive patArchive = processPatientArchive(dto, orgid);
             PatMedOuthosp patMedOuthosp = buildPatMedOuthosp(dto, patArchive, orgid);
+            //鏌ヨ褰撳墠鏂板鐨勯棬鎬ヨ瘖鏁版嵁锛屾槸鍚﹀湪杩囨浮琛ㄤ腑鏄惁瀛樺湪锛屽鏋滃瓨鍦紝灏变笉寰�闂ㄦ�ヨ瘖琛ㄩ噷鏂板浜�
+            PatMedOuthospProvisional pmop = DtoConversionUtils.sourceToTarget(patMedOuthosp, PatMedOuthospProvisional.class);
+
+
             patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp);
         }
         return true;
@@ -432,7 +468,8 @@
         patMedOuthosp.setMainsuit(dto.getDiagnosisName());
         patMedOuthosp.setHpi(null);
         patMedOuthosp.setCreateTime(new Date());
-        patMedOuthosp.setOrgid("" + orgid);
+        patMedOuthosp.setOrgid(dto.getOrgId());
+        patMedOuthosp.setCampusid(dto.getCampusId());
         return patMedOuthosp;
     }
 
@@ -462,9 +499,16 @@
         PatMedInhosp queryInhosp = new PatMedInhosp();
         queryInhosp.setPatno(patArchive.getPatientno());
         queryInhosp.setSerialnum(patMedInhosp.getSerialnum());
-        queryInhosp.setOrgid("" + orgid);
+        queryInhosp.setOrgid(dto.getOrgId());
+        queryInhosp.setCampusid(dto.getCampusId());
+        queryInhosp.setInhospstate(cry);
         log.info("----------------杩欓噷鐨勫叆鍙備负锛歿}", queryInhosp);
         List<PatMedInhosp> existingInhosps = patMedInhospService.selectPatMedInhospList(queryInhosp);
+
+        if (cry.equals("0") && CollectionUtils.isNotEmpty(existingInhosps)) {
+            //鏂板杩囩殑鍏ラ櫌鏁版嵁锛屼笉鍐嶅鐞�
+            return;
+        }
 
         log.info("----------------杩欓噷鐨勮繑鍙備负锛歿}", existingInhosps);
         if (CollectionUtils.isNotEmpty(existingInhosps)) {
@@ -504,7 +548,8 @@
         patMedInhosp.setDrcode("" + dto.getDoctorId());
         patMedInhosp.setSchemestatus("0".equals(cry) ? 1L : 2L);
         patMedInhosp.setDelFlag("0");
-        patMedInhosp.setOrgid("" + orgid);
+        patMedInhosp.setOrgid(dto.getOrgId());
+        patMedInhosp.setCampusid(dto.getCampusId());
         return patMedInhosp;
     }
 
@@ -569,13 +614,15 @@
         patArchive.setDelFlag("0");
         patArchive.setCreateTime(new Date());
         patArchive.setUpdateTime(new Date());
-        patArchive.setOrgid("" + orgid);
+        patArchive.setOrgid("" + dto.getOrgId());
+        patArchive.setCampusid(dto.getCampusId());
         return patArchive;
     }
 
     private ServiceSLTDInhospResDTO convertToDTO(Map<String, Object> dataItem) {
         ServiceSLTDInhospResDTO dto = new ServiceSLTDInhospResDTO();
         dto.setOrgId(getStringValue(dataItem, "orgId"));
+        dto.setCampusId(getStringValue(dataItem, "campusId"));
         dto.setHealthcareRecordId(getLongValue(dataItem, "healthcareRecordId"));
         dto.setHealthcareRecordNo(getStringValue(dataItem, "healthcareRecordNo"));
         dto.setPatientId(getLongValue(dataItem, "patientId"));
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
index fe021e6..6379265 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
@@ -134,7 +134,6 @@
         return serviceSubtaskAnswerMapper.deleteServiceSubtaskAnswerById(id);
     }
 
-
     @Override
     public Integer saveQuestionAnswer(ServiceSubTaskAnswerReq serviceSubTaskAnswerReq, Long flag) {
         Long tid = null;
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index 370d592..3b0edd9 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -572,6 +572,8 @@
             serviceSubtask.setTaskid(serviceTask.getTaskid().longValue());
             serviceSubtask.setTemplatename(tempName);
             serviceSubtask.setTemplateid(tempid);
+            serviceSubtask.setLibtemplateid(ObjectUtils.isEmpty(serviceTaskVO.getLibtemplateid()) ? null : Long.valueOf(serviceTaskVO.getLibtemplateid()));
+            serviceSubtask.setLibtemplatename(serviceTaskVO.getLibtemplatename());
             //鏂板
             if (CollectionUtils.isNotEmpty(serviceTaskVO.getPatTaskRelevances())) {
                 for (PatTaskRelevance patTaskRelevance : serviceTaskVO.getPatTaskRelevances()) {
@@ -647,6 +649,18 @@
                 if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList.addAll(serviceSubtaskList1);
             } else {
                 if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList = serviceSubtaskList1;
+            }
+            if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+                for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+                    log.error("sfSend闇�瑕佺Щ闄ょ殑subId涓猴細{}", serviceSubtask.getId().toString());
+                    serviceSubtaskMapper.deleteServiceSubtaskById(serviceSubtask.getId());
+                    redisCache.removeElementFromList("cache-exist", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-0", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-1", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-2", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-3", serviceSubtask.getId().toString());
+                    redisCache.removeElementFromList("cache-4", serviceSubtask.getId().toString());
+                }
             }
 
             if (serviceTaskVO.getLibtemplateid() != null)
@@ -786,6 +800,8 @@
             if (CollectionUtils.isNotEmpty(serviceTaskVO.getPatTaskRelevances())) {
                 for (PatTaskRelevance patTaskRelevance : serviceTaskVO.getPatTaskRelevances()) {
                     ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceSubtask.class);
+                    serviceSubtask.setLibtemplateid(ObjectUtils.isEmpty(serviceTaskVO.getLibtemplateid()) ? null : Long.valueOf(serviceTaskVO.getLibtemplateid()));
+                    serviceSubtask.setLibtemplatename(serviceTaskVO.getLibtemplatename());
                     serviceSubtask.setSendname(patTaskRelevance.getName());
                     serviceSubtask.setAge(patTaskRelevance.getAge());
                     serviceSubtask.setSfzh(patTaskRelevance.getSfzh());
@@ -2097,12 +2113,11 @@
                 stringBuilder.append(patArchiveSrmVO.getName() + ",鎮ㄥソ锛佷富绠″尰鐢熷凡涓烘偍瀹夋帓浣忛櫌鍓嶆鏌ワ紝璇峰綋澶╃┖鑵瑰苟浜�");
             }
 
-            stringBuilder.append(timestamp + ",涔嬪墠鎼哄甫鍖讳繚鍗℃垨鐢靛瓙鍖讳繚鍗¤韩浠借瘉鍑鏉$煭淇″埌1鍙锋ゼ3妤煎崡鍏ラ櫌鍑嗗涓績鍏ラ櫌鐧昏绐楀彛锛屽姙鐞嗘寮忎綇闄㈡墜缁紝瀹屾垚鍚勯」妫�鏌ュ悗鍐嶅埌鐩稿簲鐥呭尯鎶ゅ+绔欐姤鍒般��");
+            stringBuilder.append(timestamp + "涔嬪墠鎼哄甫鍖讳繚鍗℃垨鐢靛瓙鍖讳繚鍗¤韩浠借瘉鍑鏉$煭淇″埌1鍙锋ゼ3妤煎崡鍏ラ櫌鍑嗗涓績鍏ラ櫌鐧昏绐楀彛锛屽姙鐞嗘寮忎綇闄㈡墜缁紝瀹屾垚鍚勯」妫�鏌ュ悗鍐嶅埌鐩稿簲鐥呭尯鎶ゅ+绔欐姤鍒般��");
             stringBuilder.append("鍏ラ櫌鍑嗗涓績鐢佃瘽锛�89975977銆傚叆闄㈠姙鐞嗛』鐭�:https://mp.weixin.qq.com/s/OCkotuRyQ8Ld2owFF0YErw");
 
-            JSONObject data = MessageSend.sendMsg(stringBuilder.toString(), "2", patArchiveSrmVO.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
-            String code = data.get("code").toString();
-            if (StringUtils.isNotEmpty(code) && !code.equals("00000")) {
+            String data = MessageSend.sendMsg(stringBuilder.toString(), "2", patArchiveSrmVO.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
+            if (StringUtils.isNotEmpty(data) && data.contains("result=0")) {
                 sendError.add(patArchiveSrmVO);
             }
         }
diff --git a/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml b/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml
index 11c69e2..d10139b 100644
--- a/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml
@@ -62,6 +62,7 @@
         <result property="guid" column="guid"/>
         <result property="filterDrname" column="filter_drname"/>
         <result property="filterDrcode" column="filter_drcode"/>
+        <result property="campusid" column="campusid"/>
     </resultMap>
 
 
@@ -123,6 +124,7 @@
         <result property="leaveicd10code" column="leaveicd10code"/>
         <result property="filterDrname" column="filter_drname"/>
         <result property="filterDrcode" column="filter_drcode"/>
+        <result property="campusid" column="campusid"/>
     </resultMap>
 
     <sql id="selectPatArchiveVo">
@@ -130,6 +132,7 @@
                notrequired_flag,
                notrequiredreason,
                patientno,
+               campusid,
                filter_drname,
                filter_drcode,
                patid_his,
@@ -208,6 +211,7 @@
             <if test="casePersonAge != null ">and case_person_age = #{casePersonAge}</if>
             <if test="filterDrname != null ">and filter_drname = #{filterDrname}</if>
             <if test="filterDrcode != null ">and filter_drcode = #{filterDrcode}</if>
+            <if test="campusid != null ">and campusid = #{campusid}</if>
         </where>
     </select>
 
@@ -218,6 +222,7 @@
         a.age_unit,
         a.age_unit2,
         a.notrequired_flag,
+        a.campusid,
         a.notrequiredreason,
         a.patientno,
         a.patid_his,
@@ -253,6 +258,7 @@
             <if test="name != null  and name != ''">and a.name like concat('%', #{name}, '%')</if>
             <if test="idcardno != null  and idcardno != ''">and idcardno = #{idcardno}</if>
             <if test="telcode != null  and telcode != ''">and telcode = #{telcode}</if>
+            <if test="campusid != null  and campusid != ''">and campusid = #{campusid}</if>
             <if test="tagIds != null  and tagIds != ''">and c.tagid in
                 <foreach collection="tagIds" item="tagId" open="(" separator="," close=")">
                     #{tagId}
@@ -326,6 +332,7 @@
             <if test="casePersonAge != null ">case_person_age,</if>
             <if test="filterDrname != null ">filter_drname,</if>
             <if test="filterDrcode != null ">filter_drcode,</if>
+            <if test="campusid != null ">campusid,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="patientno != null">#{patientno},</if>
@@ -375,6 +382,7 @@
             <if test="casePersonAge != null ">#{casePersonAge},</if>
             <if test="filterDrname != null ">#{filterDrname},</if>
             <if test="filterDrcode != null ">#{filterDrcode},</if>
+            <if test="campusid != null ">#{campusid},</if>
         </trim>
     </insert>
 
@@ -382,14 +390,14 @@
         insert into
         pat_archive(name,viptype,sex,idcardno,birthdate,place_of_residence,age,age2,sourcefrom,archivetime,archiveby,telcode,relativetelcode,idcardtype,orgid,openid,dduserid,update_by,update_time
         ,create_by,create_time,isupload,upload_time,pattype,nation,birthplace,native_place,patientno,patid_his,sd_flag,age_unit,age_unit2,notrequired_flag,notrequiredreason,care_facilities,case_path,
-        degree_of_education,marital_status,income,medicare_type,care_person,case_person_age,filter_drname,filter_drcode)
+        degree_of_education,marital_status,income,medicare_type,care_person,case_person_age,filter_drname,filter_drcode,campusid)
         values
         <foreach item="item" index="index" collection="list" separator=",">
             (#{item.name},#{item.viptype},#{item.sex},#{item.idcardno},#{item.birthdate},#{item.placeOfResidence},#{item.age},#{item.age2},#{item.sourcefrom},#{item.archivetime},#{item.archiveby}
             ,#{item.telcode},#{item.archiveby},#{item.idcardtype},#{item.orgid},#{item.openid},#{item.dduserid},#{item.updateBy},
             #{item.updateTime},#{item.createBy},#{item.createTime},#{item.isupload},#{item.uploadTime},#{item.pattype},#{item.nation},#{item.birthplace},#{item.nativePlace},#{item.patientno},
             #{item.patidHis},#{item.sdFlag},#{item.ageUnit},#{item.ageUnit2},#{item.notrequiredFlag},#{item.notrequiredreason}
-            ,#{item.careFacilities},#{item.casePath},#{item.degreeOfEducation},#{item.maritalStatus},#{item.income},#{item.medicareType},#{item.carePerson},#{item.casePersonAge},#{item.filterDrname},#{item.filterDrcode})
+            ,#{item.careFacilities},#{item.casePath},#{item.degreeOfEducation},#{item.maritalStatus},#{item.income},#{item.medicareType},#{item.carePerson},#{item.casePersonAge},#{item.filterDrname},#{item.filterDrcode},#{item.campusid})
         </foreach>
     </insert>
 
@@ -438,6 +446,7 @@
             <if test="guid != null ">guid = #{guid},</if>
             <if test="filterDrname != null ">filter_drname = #{filterDrname},</if>
             <if test="filterDrcode != null ">filter_drcode = #{filterDrcode},</if>
+            <if test="campusid != null ">campusid = #{campusid},</if>
         </trim>
         where id = #{id}
     </update>
@@ -498,6 +507,7 @@
         a.pattype,
         a.filter_drname,
         a.filter_drcode,
+        a.campusid,
         b.tagname AS tag,
         b.tagid AS tagid
         FROM
@@ -511,6 +521,7 @@
             <if test="notrequiredFlag != null  and notrequiredFlag != ''">and a.notrequired_flag = #{notrequiredFlag}
             </if>
             <if test="pid != null  and pid != ''">and a.id = #{pid}</if>
+            <if test="campusid != null  and campusid != ''">and a.campusid = #{campusid}</if>
             <if test="telcode != null  and telcode != ''">and a.telcode = #{telcode}</if>
             <if test="tagIds != null  and tagIds != ''">and b.tagid in
                 <foreach collection="tagIds" item="tagId" open="(" separator="," close=")">
@@ -530,6 +541,7 @@
         a.id,
         a.age_unit,
         a.age_unit2,
+        a.campusid,
         a.inhospno,
         a.notrequired_flag,
         a.notrequiredreason,
@@ -591,6 +603,7 @@
             <if test="name != null  and name != ''">and a.name like concat('%', #{name}, '%')</if>
             <if test="idcardno != null  and idcardno != ''">and a.idcardno = #{idcardno}</if>
             <if test="pid != null  and pid != ''">and a.id = #{id}</if>
+            <if test="campusid != null  and campusid != ''">and a.campusid = #{campusid}</if>
             <if test="telcode != null  and telcode != ''">and a.telcode = #{telcode}</if>
             <if test="notrequiredFlag != null  and notrequiredFlag != ''">and a.notrequired_flag = #{notrequiredFlag}
             </if>
@@ -672,6 +685,7 @@
         a.age_unit,
         a.age_unit2,
         a.patid_his,
+        a.campusid,
         a.sd_flag,
         a.patientno,
         a.notrequired_flag,
@@ -719,6 +733,7 @@
             AND a.del_flag != 1
             and d.orgid = #{orgid}
             <if test="pid != null  and pid != ''">and a.id = #{pid}</if>
+            <if test="campusid != null  and campusid != ''">and a.campusid = #{campusid}</if>
             <if test="name != null  and name != ''">and a.name like concat('%', #{name}, '%')</if>
             <if test="idcardno != null  and idcardno != ''">and a.idcardno = #{idcardno}</if>
             <if test="telcode != null  and telcode != ''">and a.telcode = #{telcode}</if>
@@ -768,6 +783,7 @@
         a.notrequiredreason,
         a.patid_his,
         a.sd_flag,
+        a.campusid,
         a.patientno,
         a.sex,
         d.deptname,
@@ -811,6 +827,7 @@
             AND a.del_flag != 1
             and d.orgid = #{orgid}
             <if test="pid != null  and pid != ''">and a.id = #{pid}</if>
+            <if test="campusid != null  and campusid != ''">and a.campusid = #{campusid}</if>
             <if test="name != null  and name != ''">and a.name like concat('%', #{name}, '%')</if>
             <if test="idcardno != null  and idcardno != ''">and a.idcardno = #{idcardno}</if>
             <if test="telcode != null  and telcode != ''">and a.telcode = #{telcode}</if>
@@ -858,6 +875,7 @@
         a.age_unit,
         a.age_unit2,
         a.inhospno,
+        a.campusid,
         a.notrequired_flag,
         a.notrequiredreason,
         a.patid_his,
@@ -940,6 +958,9 @@
             <if test="drcode != null">
                 AND d.drcode = #{drcode}
             </if>
+            <if test="campusid != null">
+                AND d.campusid = #{campusid}
+            </if>
             <if test="allhosp != null and allhosp == 1 ">and d.endtime is null</if>
             <if test="allhosp != null and allhosp == 4 ">and d.endtime is not null</if>
             <if test="visitno != null and visitno != ''">
@@ -1004,6 +1025,7 @@
         a.age_unit2,
         a.patid_his,
         a.sd_flag,
+        a.campusid,
         a.patientno,
         a.notrequired_flag,
         a.notrequiredreason,
@@ -1049,6 +1071,7 @@
             AND a.del_flag != 1
             and d.orgid = #{orgid}
             <if test="pid != null  and pid != ''">and a.id = #{pid}</if>
+            <if test="campusid != null  and campusid != ''">and a.campusid = #{campusid}</if>
             <if test="name != null  and name != ''">and a.name like concat('%', #{name}, '%')</if>
             <if test="idcardno != null  and idcardno != ''">and a.idcardno = #{idcardno}</if>
             <if test="telcode != null  and telcode != ''">and a.telcode = #{telcode}</if>
@@ -1094,6 +1117,7 @@
         select
         a.idcardno,
         a.id,
+        a.campusid,
         a.age_unit,
         a.age_unit2,
         a.name,
@@ -1143,6 +1167,7 @@
             AND a.del_flag != 1
             and d.orgid = #{orgid}
             <if test="pid != null  and pid != ''">and a.id = #{pid}</if>
+            <if test="campusid != null  and campusid != ''">and a.campusid = #{campusid}</if>
             <if test="name != null  and name != ''">and a.name like concat('%', #{name}, '%')</if>
             <if test="idcardno != null  and idcardno != ''">and a.idcardno = #{idcardno}</if>
             <if test="telcode != null  and telcode != ''">and a.telcode = #{telcode}</if>
diff --git a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
index 032b5b7..820d717 100644
--- a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
@@ -72,11 +72,13 @@
         <result property="fuspecialadvice" column="fuspecialadvice"/>
         <result property="managementDoctor" column="management_doctor"/>
         <result property="managementDoctorCode" column="management_doctor_code"/>
+        <result property="campusid" column="campusid"/>
     </resultMap>
 
     <sql id="selectPatMedInhospVo">
         select inhospid,
                patname,
+               campusid,
                fuflag,
                management_doctor,
                management_doctor_code,
@@ -169,6 +171,7 @@
         b.starttime,
         b.endtime,
         b.deptcode,
+        b.campusid,
         b.deptname,
         b.roomno,
         b.bed_no,
@@ -251,6 +254,7 @@
             <if test="cry != null and cry == 0 ">and b.endtime is null</if>
             <if test="cry != null and cry == 1 ">and b.inhospstate=1</if>
             <if test="inhospstate != null ">and b.inhospstate = #{inhospstate}</if>
+            <if test="campusid != null ">and b.campusid = #{campusid}</if>
             <if test="schemestatus != null ">and b.schemestatus = #{schemestatus}</if>
             <if test="outWayId != null ">and b.out_way_id = #{outWayId}</if>
             <if test="outWayName != null ">and b.out_way_name = #{outWayName}</if>
@@ -310,6 +314,7 @@
         b.management_doctor,
         b.management_doctor_code,
         b.out_way_id,
+        b.campusid,
         b.out_way_name,
         b.deptcheck_flag,
         b.wardcheck_flag,
@@ -382,6 +387,7 @@
         b.patname,
         b.operator_id,
         b.operator,
+        b.campusid,
         b.remark,
         b.out_way_id,
         b.out_way_name,
@@ -461,6 +467,7 @@
             <if test="nurseId != null ">and b.nurse_id = #{nurseId}</if>
             <if test="nurseName != null ">and b.nurse_name = #{nurseName}</if>
             <if test="patno != null ">and b.patno = #{patno}</if>
+            <if test="campusid != null ">and b.campusid = #{campusid}</if>
             <if test="diagcheckFlag != null ">and b.diagcheck_flag = #{diagcheckFlag}</if>
             <if test="deptcheckFlag != null ">and b.deptcheck_flag = #{deptcheckFlag}</if>
             <if test="wardcheckFlag != null ">and b.wardcheck_flag = #{wardcheckFlag}</if>
@@ -569,6 +576,7 @@
             <if test="fuspecialadvice != null ">fuspecialadvice,</if>
             <if test="managementDoctor != null ">management_doctor,</if>
             <if test="managementDoctorCode != null ">management_doctor_code,</if>
+            <if test="campusid != null ">campusid,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="serialnum != null">#{serialnum},</if>
@@ -633,6 +641,7 @@
             <if test="fuspecialadvice != null ">#{fuspecialadvice},</if>
             <if test="managementDoctor != null ">#{managementDoctor},</if>
             <if test="managementDoctorCode != null ">#{managementDoctorCode},</if>
+            <if test="campusid != null ">#{campusid},</if>
         </trim>
     </insert>
 
@@ -651,7 +660,7 @@
         nurse_id, nurse_name, out_way_id, out_way_name, guid,
         operator, operator_id, inhospno, remark,
         fuflag, fudate, fuperiod, futypecode, futypedesc, fuadvice, fuspecialadvice, management_doctor,
-        management_doctor_doctor
+        management_doctor_doctor,campusid
         )
         values
         <foreach collection="list" item="item" separator=",">
@@ -673,7 +682,7 @@
             #{item.nurseId}, #{item.nurseName}, #{item.outWayId}, #{item.outWayName}, #{item.guid},
             #{item.operator}, #{item.operatorId}, #{item.inhospno}, #{item.remark},
             #{item.fuflag}, #{item.fudate}, #{item.fuperiod}, #{item.futypecode}, #{item.futypedesc}, #{item.fuadvice},
-            #{item.fuspecialadvice}, #{item.managementDoctor}, #{item.managementDoctorCode}
+            #{item.fuspecialadvice}, #{item.managementDoctor}, #{item.managementDoctorCode}, #{item.campusid}
             )
         </foreach>
     </insert>
@@ -743,6 +752,7 @@
             <if test="fuspecialadvice != null ">fuspecialadvice = #{fuspecialadvice},</if>
             <if test="managementDoctor != null ">management_doctor = #{managementDoctor},</if>
             <if test="managementDoctorCode != null ">management_doctor_code = #{managementDoctorCode}</if>
+            <if test="campusid != null ">campusid = #{campusid}</if>
 
         </trim>
         where inhospid = #{inhospid}
diff --git a/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml
index 039bc61..50b0bf2 100644
--- a/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml
@@ -39,11 +39,13 @@
         <result property="idcardno" column="idcardno"/>
         <result property="remark" column="remark"/>
         <result property="fudate" column="fudate"/>
+        <result property="campusid" column="campusid"/>
     </resultMap>
 
     <sql id="selectPatMedOuthospVo">
         select id,
                outhospno,
+               campusid,
                diagcheck_flag,
                patno,
                remark,
@@ -82,6 +84,7 @@
             resultMap="PatMedOuthospResult">
         select
         pmo.id,
+        pmo.campusid,
         pmo.remark,
         pmo.fudate,
         pmo.outhospno,
@@ -141,6 +144,7 @@
                 date_format(#{endTime},'%y%m%d')
             </if>
             <if test="patid != null ">and pmo.patid = #{patid}</if>
+            <if test="campusid != null ">and pmo.campusid = #{campusid}</if>
             <if test="fuflag != null ">and pmo.fuflag = #{fuflag}</if>
             <if test="patno != null ">and pmo.patno = #{patno}</if>
             <if test="outhospno != null  and outhospno != ''">and pmo.outhospno = #{outhospno}</if>
@@ -191,6 +195,7 @@
             <if test="remark != null">remark,</if>
             <if test="fuflag != null">fuflag,</if>
             <if test="fudate != null">fudate,</if>
+            <if test="campusid != null">campusid,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="serialnum != null">#{serialnum},</if>
@@ -225,6 +230,7 @@
             <if test="remark != null">#{remark},</if>
             <if test="fuflag != null">#{fuflag},</if>
             <if test="fudate != null">#{fudate},</if>
+            <if test="campusid != null">#{campusid},</if>
         </trim>
     </insert>
 
@@ -262,6 +268,7 @@
         diagcheck_flag,
         fuflag,
         fudate,
+        campusid,
         remark)
         values
         <foreach collection="list" item="item" separator=",">
@@ -297,6 +304,7 @@
             #{item.diagcheckFlag},
             #{item.fuflag},
             #{item.fudate},
+            #{item.campusid},
             #{item.remark}
             )
         </foreach>
@@ -338,6 +346,7 @@
             <if test="remark != null">remark = #{remark},</if>
             <if test="fuflag != null">fuflag = #{fuflag},</if>
             <if test="fudate != null">fudate = #{fudate},</if>
+            <if test="campusid != null">campusid = #{campusid},</if>
         </trim>
         where id = #{id}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/PatMedOuthospProvisionalMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedOuthospProvisionalMapper.xml
new file mode 100644
index 0000000..c2d0e9c
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/PatMedOuthospProvisionalMapper.xml
@@ -0,0 +1,456 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.smartor.mapper.PatMedOuthospProvisionalMapper">
+
+    <resultMap type="com.smartor.domain.PatMedOuthospProvisional" id="PatMedOuthospProvisionalResult">
+            <result property="id" column="id"/>
+            <result property="outhospno" column="outhospno"/>
+            <result property="serialnum" column="serialnum"/>
+            <result property="patid" column="patid"/>
+            <result property="patname" column="patname"/>
+            <result property="patno" column="patno"/>
+            <result property="hospitalname" column="hospitalname"/>
+            <result property="hospitalcode" column="hospitalcode"/>
+            <result property="icd10code" column="icd10code"/>
+            <result property="diagname" column="diagname"/>
+            <result property="deptid" column="deptid"/>
+            <result property="deptcode" column="deptcode"/>
+            <result property="deptname" column="deptname"/>
+            <result property="drcode" column="drcode"/>
+            <result property="drname" column="drname"/>
+            <result property="admitdate" column="admitdate"/>
+            <result property="orgid" column="orgid"/>
+            <result property="delFlag" column="del_flag"/>
+            <result property="updateBy" column="update_by"/>
+            <result property="updateTime" column="update_time"/>
+            <result property="createBy" column="create_by"/>
+            <result property="createTime" column="create_time"/>
+            <result property="isupload" column="isupload"/>
+            <result property="uploadTime" column="upload_time"/>
+            <result property="schemestatus" column="schemestatus"/>
+            <result property="schemetime" column="schemetime"/>
+            <result property="hpi" column="hpi"/>
+            <result property="mainsuit" column="mainsuit"/>
+            <result property="pid" column="pid"/>
+            <result property="guid" column="guid"/>
+            <result property="pguid" column="pguid"/>
+            <result property="hospitaldistrictcode" column="hospitaldistrictcode"/>
+            <result property="hospitaldistrictname" column="hospitaldistrictname"/>
+            <result property="diagcheckFlag" column="diagcheck_flag"/>
+            <result property="remark" column="remark"/>
+            <result property="fudate" column="fudate"/>
+            <result property="fuflag" column="fuflag"/>
+            <result property="campusid" column="campusid"/>
+    </resultMap>
+
+    <sql id="selectPatMedOuthospProvisionalVo">
+        select id, outhospno, serialnum, patid, patname, patno, hospitalname, hospitalcode, icd10code, diagname, deptid, deptcode, deptname, drcode, drname, admitdate, orgid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, schemestatus, schemetime, hpi, mainsuit, pid, guid, pguid, hospitaldistrictcode, hospitaldistrictname, diagcheck_flag, remark, fudate, fuflag, campusid
+        from pat_med_outhosp_provisional
+    </sql>
+
+    <select id="selectPatMedOuthospProvisionalList" parameterType="com.smartor.domain.PatMedOuthospProvisional"
+            resultMap="PatMedOuthospProvisionalResult">
+        <include refid="selectPatMedOuthospProvisionalVo"/>
+        <where>
+            del_flag=0
+                        <if test="outhospno != null  and outhospno != ''">
+                            and outhospno = #{outhospno}
+                        </if>
+                        <if test="serialnum != null  and serialnum != ''">
+                            and serialnum = #{serialnum}
+                        </if>
+                        <if test="patid != null ">
+                            and patid = #{patid}
+                        </if>
+                        <if test="patname != null  and patname != ''">
+                            and patname like concat('%', #{patname}, '%')
+                        </if>
+                        <if test="patno != null  and patno != ''">
+                            and patno = #{patno}
+                        </if>
+                        <if test="hospitalname != null  and hospitalname != ''">
+                            and hospitalname like concat('%', #{hospitalname}, '%')
+                        </if>
+                        <if test="hospitalcode != null  and hospitalcode != ''">
+                            and hospitalcode = #{hospitalcode}
+                        </if>
+                        <if test="icd10code != null  and icd10code != ''">
+                            and icd10code = #{icd10code}
+                        </if>
+                        <if test="diagname != null  and diagname != ''">
+                            and diagname like concat('%', #{diagname}, '%')
+                        </if>
+                        <if test="deptid != null ">
+                            and deptid = #{deptid}
+                        </if>
+                        <if test="deptcode != null  and deptcode != ''">
+                            and deptcode = #{deptcode}
+                        </if>
+                        <if test="deptname != null  and deptname != ''">
+                            and deptname like concat('%', #{deptname}, '%')
+                        </if>
+                        <if test="drcode != null  and drcode != ''">
+                            and drcode = #{drcode}
+                        </if>
+                        <if test="drname != null  and drname != ''">
+                            and drname like concat('%', #{drname}, '%')
+                        </if>
+                        <if test="admitdate != null ">
+                            and admitdate = #{admitdate}
+                        </if>
+                        <if test="orgid != null  and orgid != ''">
+                            and orgid = #{orgid}
+                        </if>
+                        <if test="isupload != null ">
+                            and isupload = #{isupload}
+                        </if>
+                        <if test="uploadTime != null ">
+                            and upload_time = #{uploadTime}
+                        </if>
+                        <if test="schemestatus != null ">
+                            and schemestatus = #{schemestatus}
+                        </if>
+                        <if test="schemetime != null ">
+                            and schemetime = #{schemetime}
+                        </if>
+                        <if test="hpi != null  and hpi != ''">
+                            and hpi = #{hpi}
+                        </if>
+                        <if test="mainsuit != null  and mainsuit != ''">
+                            and mainsuit = #{mainsuit}
+                        </if>
+                        <if test="pid != null ">
+                            and pid = #{pid}
+                        </if>
+                        <if test="guid != null  and guid != ''">
+                            and guid = #{guid}
+                        </if>
+                        <if test="pguid != null  and pguid != ''">
+                            and pguid = #{pguid}
+                        </if>
+                        <if test="hospitaldistrictcode != null  and hospitaldistrictcode != ''">
+                            and hospitaldistrictcode = #{hospitaldistrictcode}
+                        </if>
+                        <if test="hospitaldistrictname != null  and hospitaldistrictname != ''">
+                            and hospitaldistrictname like concat('%', #{hospitaldistrictname}, '%')
+                        </if>
+                        <if test="diagcheckFlag != null  and diagcheckFlag != ''">
+                            and diagcheck_flag = #{diagcheckFlag}
+                        </if>
+                        <if test="fudate != null ">
+                            and fudate = #{fudate}
+                        </if>
+                        <if test="fuflag != null  and fuflag != ''">
+                            and fuflag = #{fuflag}
+                        </if>
+                        <if test="campusid != null  and campusid != ''">
+                            and campusid = #{campusid}
+                        </if>
+        </where>
+    </select>
+
+    <select id="selectPatMedOuthospProvisionalById" parameterType="Long"
+            resultMap="PatMedOuthospProvisionalResult">
+            <include refid="selectPatMedOuthospProvisionalVo"/>
+            where id = #{id}
+    </select>
+
+    <insert id="insertPatMedOuthospProvisional" parameterType="com.smartor.domain.PatMedOuthospProvisional"            useGeneratedKeys="true" keyProperty="id">
+        insert into pat_med_outhosp_provisional
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+                    <if test="outhospno != null">outhospno,
+                    </if>
+                    <if test="serialnum != null">serialnum,
+                    </if>
+                    <if test="patid != null">patid,
+                    </if>
+                    <if test="patname != null">patname,
+                    </if>
+                    <if test="patno != null">patno,
+                    </if>
+                    <if test="hospitalname != null">hospitalname,
+                    </if>
+                    <if test="hospitalcode != null">hospitalcode,
+                    </if>
+                    <if test="icd10code != null">icd10code,
+                    </if>
+                    <if test="diagname != null">diagname,
+                    </if>
+                    <if test="deptid != null">deptid,
+                    </if>
+                    <if test="deptcode != null">deptcode,
+                    </if>
+                    <if test="deptname != null">deptname,
+                    </if>
+                    <if test="drcode != null">drcode,
+                    </if>
+                    <if test="drname != null">drname,
+                    </if>
+                    <if test="admitdate != null">admitdate,
+                    </if>
+                    <if test="orgid != null">orgid,
+                    </if>
+                    <if test="delFlag != null">del_flag,
+                    </if>
+                    <if test="updateBy != null">update_by,
+                    </if>
+                    <if test="updateTime != null">update_time,
+                    </if>
+                    <if test="createBy != null">create_by,
+                    </if>
+                    <if test="createTime != null">create_time,
+                    </if>
+                    <if test="isupload != null">isupload,
+                    </if>
+                    <if test="uploadTime != null">upload_time,
+                    </if>
+                    <if test="schemestatus != null">schemestatus,
+                    </if>
+                    <if test="schemetime != null">schemetime,
+                    </if>
+                    <if test="hpi != null">hpi,
+                    </if>
+                    <if test="mainsuit != null">mainsuit,
+                    </if>
+                    <if test="pid != null">pid,
+                    </if>
+                    <if test="guid != null">guid,
+                    </if>
+                    <if test="pguid != null">pguid,
+                    </if>
+                    <if test="hospitaldistrictcode != null">hospitaldistrictcode,
+                    </if>
+                    <if test="hospitaldistrictname != null">hospitaldistrictname,
+                    </if>
+                    <if test="diagcheckFlag != null">diagcheck_flag,
+                    </if>
+                    <if test="remark != null">remark,
+                    </if>
+                    <if test="fudate != null">fudate,
+                    </if>
+                    <if test="fuflag != null">fuflag,
+                    </if>
+                    <if test="campusid != null">campusid,
+                    </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+                    <if test="outhospno != null">#{outhospno},
+                    </if>
+                    <if test="serialnum != null">#{serialnum},
+                    </if>
+                    <if test="patid != null">#{patid},
+                    </if>
+                    <if test="patname != null">#{patname},
+                    </if>
+                    <if test="patno != null">#{patno},
+                    </if>
+                    <if test="hospitalname != null">#{hospitalname},
+                    </if>
+                    <if test="hospitalcode != null">#{hospitalcode},
+                    </if>
+                    <if test="icd10code != null">#{icd10code},
+                    </if>
+                    <if test="diagname != null">#{diagname},
+                    </if>
+                    <if test="deptid != null">#{deptid},
+                    </if>
+                    <if test="deptcode != null">#{deptcode},
+                    </if>
+                    <if test="deptname != null">#{deptname},
+                    </if>
+                    <if test="drcode != null">#{drcode},
+                    </if>
+                    <if test="drname != null">#{drname},
+                    </if>
+                    <if test="admitdate != null">#{admitdate},
+                    </if>
+                    <if test="orgid != null">#{orgid},
+                    </if>
+                    <if test="delFlag != null">#{delFlag},
+                    </if>
+                    <if test="updateBy != null">#{updateBy},
+                    </if>
+                    <if test="updateTime != null">#{updateTime},
+                    </if>
+                    <if test="createBy != null">#{createBy},
+                    </if>
+                    <if test="createTime != null">#{createTime},
+                    </if>
+                    <if test="isupload != null">#{isupload},
+                    </if>
+                    <if test="uploadTime != null">#{uploadTime},
+                    </if>
+                    <if test="schemestatus != null">#{schemestatus},
+                    </if>
+                    <if test="schemetime != null">#{schemetime},
+                    </if>
+                    <if test="hpi != null">#{hpi},
+                    </if>
+                    <if test="mainsuit != null">#{mainsuit},
+                    </if>
+                    <if test="pid != null">#{pid},
+                    </if>
+                    <if test="guid != null">#{guid},
+                    </if>
+                    <if test="pguid != null">#{pguid},
+                    </if>
+                    <if test="hospitaldistrictcode != null">#{hospitaldistrictcode},
+                    </if>
+                    <if test="hospitaldistrictname != null">#{hospitaldistrictname},
+                    </if>
+                    <if test="diagcheckFlag != null">#{diagcheckFlag},
+                    </if>
+                    <if test="remark != null">#{remark},
+                    </if>
+                    <if test="fudate != null">#{fudate},
+                    </if>
+                    <if test="fuflag != null">#{fuflag},
+                    </if>
+                    <if test="campusid != null">#{campusid},
+                    </if>
+        </trim>
+    </insert>
+
+    <update id="updatePatMedOuthospProvisional" parameterType="com.smartor.domain.PatMedOuthospProvisional">
+        update pat_med_outhosp_provisional
+        <trim prefix="SET" suffixOverrides=",">
+                    <if test="outhospno != null">outhospno =
+                        #{outhospno},
+                    </if>
+                    <if test="serialnum != null">serialnum =
+                        #{serialnum},
+                    </if>
+                    <if test="patid != null">patid =
+                        #{patid},
+                    </if>
+                    <if test="patname != null">patname =
+                        #{patname},
+                    </if>
+                    <if test="patno != null">patno =
+                        #{patno},
+                    </if>
+                    <if test="hospitalname != null">hospitalname =
+                        #{hospitalname},
+                    </if>
+                    <if test="hospitalcode != null">hospitalcode =
+                        #{hospitalcode},
+                    </if>
+                    <if test="icd10code != null">icd10code =
+                        #{icd10code},
+                    </if>
+                    <if test="diagname != null">diagname =
+                        #{diagname},
+                    </if>
+                    <if test="deptid != null">deptid =
+                        #{deptid},
+                    </if>
+                    <if test="deptcode != null">deptcode =
+                        #{deptcode},
+                    </if>
+                    <if test="deptname != null">deptname =
+                        #{deptname},
+                    </if>
+                    <if test="drcode != null">drcode =
+                        #{drcode},
+                    </if>
+                    <if test="drname != null">drname =
+                        #{drname},
+                    </if>
+                    <if test="admitdate != null">admitdate =
+                        #{admitdate},
+                    </if>
+                    <if test="orgid != null">orgid =
+                        #{orgid},
+                    </if>
+                    <if test="delFlag != null">del_flag =
+                        #{delFlag},
+                    </if>
+                    <if test="updateBy != null">update_by =
+                        #{updateBy},
+                    </if>
+                    <if test="updateTime != null">update_time =
+                        #{updateTime},
+                    </if>
+                    <if test="createBy != null">create_by =
+                        #{createBy},
+                    </if>
+                    <if test="createTime != null">create_time =
+                        #{createTime},
+                    </if>
+                    <if test="isupload != null">isupload =
+                        #{isupload},
+                    </if>
+                    <if test="uploadTime != null">upload_time =
+                        #{uploadTime},
+                    </if>
+                    <if test="schemestatus != null">schemestatus =
+                        #{schemestatus},
+                    </if>
+                    <if test="schemetime != null">schemetime =
+                        #{schemetime},
+                    </if>
+                    <if test="hpi != null">hpi =
+                        #{hpi},
+                    </if>
+                    <if test="mainsuit != null">mainsuit =
+                        #{mainsuit},
+                    </if>
+                    <if test="pid != null">pid =
+                        #{pid},
+                    </if>
+                    <if test="guid != null">guid =
+                        #{guid},
+                    </if>
+                    <if test="pguid != null">pguid =
+                        #{pguid},
+                    </if>
+                    <if test="hospitaldistrictcode != null">hospitaldistrictcode =
+                        #{hospitaldistrictcode},
+                    </if>
+                    <if test="hospitaldistrictname != null">hospitaldistrictname =
+                        #{hospitaldistrictname},
+                    </if>
+                    <if test="diagcheckFlag != null">diagcheck_flag =
+                        #{diagcheckFlag},
+                    </if>
+                    <if test="remark != null">remark =
+                        #{remark},
+                    </if>
+                    <if test="fudate != null">fudate =
+                        #{fudate},
+                    </if>
+                    <if test="fuflag != null">fuflag =
+                        #{fuflag},
+                    </if>
+                    <if test="campusid != null">campusid =
+                        #{campusid},
+                    </if>
+        </trim>
+        where id = #{id}
+    </update>
+
+                <update id="deletePatMedOuthospProvisionalById" parameterType="Long">
+        update pat_med_outhosp_provisional
+        <trim prefix="SET" suffixOverrides=",">
+            del_flag =1
+        </trim>
+        where  id = #{id}
+    </update>
+
+                            <update id="deletePatMedOuthospProvisionalByIds" parameterType="String">
+        update  pat_med_outhosp_provisional
+        <trim prefix="SET" suffixOverrides=",">
+            del_flag =1
+        </trim>
+        where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+
+
+
+</mapper>
diff --git a/smartor/src/main/resources/mapper/smartor/SysDeptMapper.xml b/smartor/src/main/resources/mapper/smartor/SysDeptMapper.xml
index cebb745..d17ca0c 100644
--- a/smartor/src/main/resources/mapper/smartor/SysDeptMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/SysDeptMapper.xml
@@ -27,6 +27,7 @@
         <result property="guid" column="guid"/>
         <result property="orgid" column="orgid"/>
         <result property="type" column="type"/>
+        <result property="campusid" column="campusid"/>
     </resultMap>
 
     <sql id="selectDeptVo">
@@ -34,6 +35,7 @@
                d.dept_code,
                d.type,
                d.orgid,
+               d.campusid,
                d.parent_id,
                d.ancestors,
                d.dept_name,
@@ -82,6 +84,9 @@
         <if test="hisParentId != null and hisParentId != ''">
             AND his_parent_id = #{hisParentId}
         </if>
+        <if test="campusid != null and campusid != ''">
+            AND campusid = #{campusid}
+        </if>
         order by d.parent_id, d.order_num
     </select>
 
@@ -100,6 +105,7 @@
     <select id="selectDeptById" parameterType="Long" resultMap="SysDeptResult">
         select d.dept_id,
                d.parent_id,
+               d.campusid,
                d.dept_code,
                d.type,
                d.dept_type,
@@ -122,6 +128,7 @@
         select d.dept_id,
         d.parent_id,
         d.type,
+        d.campusid,
         d.dept_code,
         d.dept_type,
         d.ancestors,
@@ -197,6 +204,7 @@
         type,
         guid,
         orgid,
+        campusid,
         create_time
         ) values
         <foreach collection="list" item="item" separator=",">
@@ -218,6 +226,7 @@
             #{item.type},
             #{item.guid},
             #{item.orgid},
+            #{item.campusid},
             now()
             )
         </foreach>
@@ -243,6 +252,7 @@
         <if test="type != null and type != ''">type,</if>
         <if test="guid != null and guid != ''">guid,</if>
         <if test="orgid != null and orgid != ''">orgid,</if>
+        <if test="campusid != null and campusid != ''">campusid,</if>
         create_time
         )values(
         <if test="deptId != null and deptId != 0">#{deptId},</if>
@@ -262,6 +272,7 @@
         <if test="type != null and type != ''">#{type},</if>
         <if test="guid != null and guid != ''">#{guid},</if>
         <if test="orgid != null and orgid != ''">#{orgid},</if>
+        <if test="campusid != null and campusid != ''">#{campusid},</if>
         sysdate()
         )
     </insert>
@@ -284,6 +295,7 @@
             <if test="hisParentId != null and hisParentId != ''">his_parent_id = #{hisParentId},</if>
             <if test="hisDeptId != null and hisDeptId != ''">his_dept_id = #{hisDeptId},</if>
             <if test="type != null and type != ''">type = #{type},</if>
+            <if test="campusid != null and campusid != ''">campusid = #{campusid},</if>
             update_time = sysdate()
         </set>
         where dept_id = #{deptId}
diff --git a/smartor/src/main/resources/mapper/smartor/SysUserDeptMapper.xml b/smartor/src/main/resources/mapper/smartor/SysUserDeptMapper.xml
index dbdef40..0c57056 100644
--- a/smartor/src/main/resources/mapper/smartor/SysUserDeptMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/SysUserDeptMapper.xml
@@ -15,6 +15,7 @@
         <result property="deptType" column="dept_type"/>
         <result property="createTime" column="create_time"/>
         <result property="updateTime" column="update_time"/>
+        <result property="campusid" column="campusid"/>
     </resultMap>
 
     <resultMap id="deptResult" type="com.ruoyi.common.core.domain.entity.SysDept">
@@ -25,6 +26,7 @@
         <result property="orderNum" column="order_num"/>
         <result property="leader" column="leader"/>
         <result property="status" column="dept_status"/>
+        <result property="campusid" column="campusid"/>
     </resultMap>
 
     <sql id="selectSysUserDeptVo">
@@ -32,6 +34,7 @@
                user_id,
                dept_id,
                del_flag,
+               campusid,
                orgid,
                create_time,
                update_time,
@@ -67,6 +70,9 @@
             </if>
             <if test="deptCode != null ">
                 and dept_code = #{deptCode}
+            </if>
+            <if test="campusid != null ">
+                and campusid = #{campusid}
             </if>
         </where>
     </select>
@@ -109,6 +115,9 @@
             <if test="userCode != null ">
                 user_code,
             </if>
+            <if test="campusid != null ">
+                campusid,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="userId != null">#{userId},
@@ -138,6 +147,9 @@
             </if>
             <if test="userCode != null ">
                 #{userCode},
+            </if>
+            <if test="campusid != null ">
+                #{campusid},
             </if>
         </trim>
     </insert>
@@ -172,6 +184,9 @@
             <if test="orgid != null ">
                 orgid = #{orgid},
             </if>
+            <if test="campusid != null ">
+                campusid = #{campusid},
+            </if>
         </trim>
         where id = #{id}
     </update>
@@ -191,6 +206,7 @@
                d.ancestors,
                d.dept_name,
                d.order_num,
+               d.campusid,
                d.leader,
                d.orgid,
                d.status as dept_status
diff --git a/smartor/src/main/resources/mapper/smartor/SysUserMapper.xml b/smartor/src/main/resources/mapper/smartor/SysUserMapper.xml
index 1085485..478b758 100644
--- a/smartor/src/main/resources/mapper/smartor/SysUserMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/SysUserMapper.xml
@@ -35,6 +35,7 @@
         <result property="userType" column="user_type"/>
         <result property="searchscope" column="searchscope"/>
         <result property="guid" column="guid"/>
+        <result property="campusid" column="campusid"/>
         <association property="dept" column="dept_id" javaType="com.ruoyi.common.core.domain.entity.SysDept"
                      resultMap="deptResult"/>
         <collection property="roles" javaType="java.util.List" resultMap="RoleResult"/>
@@ -48,6 +49,7 @@
         <result property="orderNum" column="order_num"/>
         <result property="leader" column="leader"/>
         <result property="status" column="dept_status"/>
+        <result property="campusid" column="campusid"/>
     </resultMap>
 
     <resultMap id="RoleResult" type="com.ruoyi.common.core.domain.entity.SysRole">
@@ -66,6 +68,7 @@
                u.id_card,
                u.hosp_info,
                u.dept_info,
+               u.campusid,
                u.searchscope,
                u.user_name,
                u.user_type,
@@ -110,6 +113,7 @@
     <select id="selectUserList" parameterType="com.ruoyi.common.core.domain.entity.SysUser" resultMap="SysUserResult">
         select u.user_code,u.user_id,u.title,u.his_user_id,u.hosp_info,u.dept_info, u.searchscope, u.dept_id,
         u.user_type,
+        u.campusid,
         u.nick_name, u.user_name,
         u.email,u.id_card,
         u.avatar,
@@ -127,7 +131,7 @@
         <if test="userName != null and userName != ''">
             AND u.user_name = #{userName}
         </if>
-          <if test="orgid != null and orgid != ''">
+        <if test="orgid != null and orgid != ''">
             AND u.orgid = #{orgid}
         </if>
         <if test="nickName != null and nickName != ''">
@@ -144,6 +148,9 @@
         </if>
         <if test="jobPhone != null and jobPhone != ''">
             AND u.job_phone = #{jobPhone}
+        </if>
+        <if test="campusid != null and campusid != ''">
+            AND u.campusid = #{campusid}
         </if>
         <if test="birthday != null and birthday != ''">
             AND u.birthday = #{birthday}
@@ -177,6 +184,7 @@
         u.birthday,
         u.job_phone,
         u.orgid,
+        u.campusid,
         u.phonenumber, u.status,u.id_card,
         u.create_time
         from sys_user u
@@ -196,6 +204,9 @@
         <if test="hisUserId != null and hisUserId != ''">
             AND u.his_user_id = #{hisUserId}
         </if>
+        <if test="campusid != null and campusid != ''">
+            AND u.campusid = #{campusid}
+        </if>
         <!-- 鏁版嵁鑼冨洿杩囨护 -->
         ${params.dataScope}
     </select>
@@ -206,6 +217,7 @@
         u.nick_name,
         u.user_code,
         u.email,
+        u.campusid,
         u.his_user_id,
         u.title,
         u.orgid,
@@ -290,6 +302,7 @@
         <if test="deptCode != null and deptCode != ''">dept_code,</if>
         <if test="deptName != null and deptName != ''">dept_name,</if>
         <if test="userCode != null and userCode != ''">user_code,</if>
+        <if test="campusid != null and campusid != ''">campusid,</if>
         create_time
         )values(
         <if test="userId != null and userId != ''">#{userId},</if>
@@ -318,6 +331,7 @@
         <if test="deptCode != null and deptCode != ''">#{deptCode},</if>
         <if test="deptName != null and deptName != ''">#{deptName},</if>
         <if test="userCode != null and userCode != ''">#{userCode},</if>
+        <if test="campusid != null and campusid != ''">#{campusid},</if>
         sysdate()
         )
     </insert>
@@ -327,7 +341,7 @@
         insert into sys_user(
         user_id, dept_id, user_name, nick_name, email, avatar, phonenumber, sex, password, status, create_by, remark,
         user_type, dept_info, hosp_info, searchscope, id_card, title, job_phone, birthday, his_user_id, guid,
-        orgid,user_code,
+        orgid,user_code,campusid,
         create_time
         ) values
         <foreach collection="list" item="item" separator=",">
@@ -356,6 +370,7 @@
             #{item.guid},
             #{item.orgid},
             #{item.userCode},
+            #{item.campusid},
             now()
             )
         </foreach>
@@ -386,6 +401,7 @@
             <if test="birthday != null ">birthday=#{birthday},</if>
             <if test="orgid != null ">orgid=#{orgid},</if>
             <if test="userCode != null ">user_code=#{userCode},</if>
+            <if test="campusid != null ">campusid=#{campusid},</if>
             <if test="title != null and title != ''">
                 title = #{title},
             </if>
diff --git a/smartor/src/main/resources/mapper/smartor/SysUserRole2Mapper.xml b/smartor/src/main/resources/mapper/smartor/SysUserRole2Mapper.xml
index f77a682..8f4154a 100644
--- a/smartor/src/main/resources/mapper/smartor/SysUserRole2Mapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/SysUserRole2Mapper.xml
@@ -4,7 +4,7 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.smartor.mapper.SysUserRole2Mapper">
 
-    <resultMap type="SysUserRole" id="SysUserRoleResult">
+    <resultMap type="com.ruoyi.common.core.domain.entity.SysUserRole" id="SysUserRoleResult">
         <result property="userId" column="user_id"/>
         <result property="roleId" column="role_id"/>
         <result property="guid" column="guid"/>
@@ -23,6 +23,16 @@
         where role_id = #{roleId}
     </select>
 
+    <select id="selectUserRoleByRoleIdAndUserId" resultMap="SysUserRoleResult">
+        select user_id,role_id,guid,orgid
+        from sys_user_role
+        <where>
+            <if test="roleId != null ">and role_id = #{roleId}</if>
+            <if test="userId != null ">and user_id = #{userId}</if>
+
+        </where>
+    </select>
+
     <delete id="deleteUserRole" parameterType="Long">
         delete from sys_user_role where user_id in
         <foreach collection="array" item="userId" open="(" separator="," close=")">

--
Gitblit v1.9.3