From cc479e6a056785103996cc7ea67dbd5faa3e800e Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 19 十月 2026 18:07:22 +0800
Subject: [PATCH] 数据采集模块

---
 ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/controller/InhospVisitDataController.java |   59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 58 insertions(+), 1 deletions(-)

diff --git a/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/controller/InhospVisitDataController.java b/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/controller/InhospVisitDataController.java
index 51270c8..ade956e 100644
--- a/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/controller/InhospVisitDataController.java
+++ b/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/controller/InhospVisitDataController.java
@@ -11,6 +11,7 @@
 import com.ruoyi.common.core.service.dto.PatMedReq;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.PageUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.inhospvisit.api.InhospVisitFacade;
 import com.ruoyi.inhospvisit.domain.PatMedInhosp;
@@ -79,7 +80,10 @@
     /**
      * 鏌ヨ鎮h�呬綇闄㈣褰曞垪琛ㄣ��
      * <p>
-     * 鍘� {@code PatMedInhospController#selectPatMedInhosplist}锛圠77-87锛夐�愯瀵瑰簲銆�
+     * 鍘� {@code PatMedInhospController#selectPatMedInhosplist}锛圠77-87锛夐�愯瀵瑰簲锛�
+     * 鍞竴澶氬嚭鏉ョ殑涓�琛屾槸 {@link #normalizeBedSort} 鈥斺�� 瑙佽鏂规硶娉ㄩ噴锛�
+     * 鍘熷疄鐜伴噷杩欐褰掍竴鍖栧湪 {@code PatMedInhospServiceImpl} 閲岋紝杩佸埌鏈ā鍧楀悗杩欐潯閾�
+     * 鐩存帴璋冮棬闈紝蹇呴』鎶婂畠璺熺潃鎼繃鏉ワ紝鍚﹀垯 {@code bedSort} 闈欓粯澶辨晥銆�
      */
     @ApiOperation("鏌ヨ鎮h�呬綇闄㈣褰曞垪琛�")
     //@PreAuthorize("@ss.hasPermi('smartor:patinhosp:list')")
@@ -89,6 +93,8 @@
         PageUtils.startPageByPost(patMedInhosp.getPageNum(), patMedInhosp.getPageSize());
         SysUser user = getLoginUser().getUser();
         patMedInhosp.setOrgid(user.getOrgid());
+        // 鍓嶇浼犵殑鏄暟瀛� 1 / 2锛孲QL 鍙 "asc" / "desc"锛涗笉鍦ㄨ繖閲屽綊涓�灏辩瓑浜庢病浼�
+        patMedInhosp.setBedSort(normalizeBedSort(patMedInhosp.getCry(), patMedInhosp.getBedSort()));
         List<PatMedInhosp> list = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
         // startPage 涔嬪悗 PageHelper 宸茬粡鑷姩鎵ц杩囦竴娆� count 鏌ヨ锛岀洿鎺ュ鐢� Page 閲岀殑 total锛�
         // 閬垮厤鐢� PageUtils.count 鎶婂甫 JOIN 鐨勭粺璁¤鍙ュ啀璺戜竴閬�
@@ -172,12 +178,17 @@
      * 瀵煎嚭鎮h�呬綇闄㈣褰曞垪琛ㄣ��
      * <p>
      * 鍘� {@code PatMedInhospController#export}锛圠165-173锛夐�愯瀵瑰簲銆�
+     * <p>
+     * {@code bedSort} 涔熻褰掍竴锛氳縼鍑哄墠鐨� export 鍚屾牱璧�
+     * {@code patMedInhospService.selectPatMedInhospList(...)}锛堣 {@code ccf5fc76} 鐗堟湰锛夛紝
+     * 褰掍竴鍖栨槸闅忛偅娆¤皟鐢ㄧ敓鏁堢殑銆備笉琛ヨ繖涓�琛屽氨浼氬嚭鐜�"鍒楄〃鎸夊簥鍙锋帓濂戒簡銆佸鍑洪『搴忓張鍙樺洖鍘�"銆�
      */
     @ApiOperation("瀵煎嚭鎮h�呬綇闄㈣褰曞垪琛�")
     //@PreAuthorize("@ss.hasPermi('smartor:patinhosp:export')")
     @Log(title = "鎮h�呬綇闄㈣褰�", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, PatMedInhosp patMedInhosp) {
+        patMedInhosp.setBedSort(normalizeBedSort(patMedInhosp.getCry(), patMedInhosp.getBedSort()));
         List<PatMedInhosp> list = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
         ExcelUtil<PatMedInhosp> util = new ExcelUtil<PatMedInhosp>(PatMedInhosp.class);
         util.exportExcel(response, list, "鎮h�呬綇闄㈣褰曟暟鎹�");
@@ -237,4 +248,50 @@
     public AjaxResult remove(@PathVariable Long[] inhospids) {
         return toAjax(inhospVisitFacade.deletePatMedInhospByInhospids(inhospids));
     }
+
+    /**
+     * 褰掍竴鍖�"鍏ラ櫌搴婁綅鎺掑簭"鍙傛暟銆�
+     * <p>
+     * 琛屼负涓� <b>{@code 鎺ュ彛鏂囨。/PatMedInhosp 鎮h�呬綇闄㈣褰曟帴鍙f枃妗�.md} 閲� bedSort 鐨勮鏄�</b>
+     * 浠ュ強杩佸嚭鍓嶇殑 {@code PatMedInhospServiceImpl#normalizeBedSort}锛坰martor锛孡213-219锛�
+     * 瀹屽叏涓�鑷达細
+     * <pre>
+     *   asc  / 1 -> "asc"   搴婁綅姝e簭
+     *   desc / 2 -> "desc"  搴婁綅鍊掑簭
+     *   鍏朵綑锛堝惈涓嶄紶銆佺┖涓层�侀潪娉曞�硷級-> null  涓嶆帓搴忥紝淇濇寔鍘熸湁榛樿鎺掑簭
+     *   鍙銆屽湪闄€�嶆煡璇紙cry=0锛夌敓鏁堬紱鍑洪櫌 / 杞 / 棰勫叆闄� 涓�寰嬪拷鐣ヨ鍙傛暟
+     * </pre>
+     * <p>
+     * 鈿狅笍 <b>涓轰粈涔堝繀椤诲湪 Java 渚у綊涓�锛岃�屼笉鏄 SQL 涔熻 "1"/"2"</b>锛�
+     * <ul>
+     *   <li>鍓嶇浼犵殑鏄� <b>鏁板瓧</b> {@code bedSort:1}锛孞ackson 钀藉埌 {@code String} 瀛楁鏄�
+     *       {@code "1"}锛岃�� mapper 鐨� {@code <choose>} 鍙尮閰嶅瓧绗︿覆 {@code "asc"/"desc"}
+     *       鈥斺�� 涓嶅綊涓�灏遍潤榛樿惤鍥為粯璁ゆ帓搴忥紝"鎸夊簥浣嶆帓搴�"杩欎釜鍔熻兘绛変簬娌$敓鏁堬紙鐪熷疄绾夸笂缂洪櫡锛夛紱</li>
+     *   <li>鍚屼竴涓帓搴忓绾﹁繕鍑虹幇鍦� {@code VisitInhospMapper.xml}锛堥殢璁挎壂鎻忛偅鏉¢摼锛�
+     *       鍏ュ弬鏄� {@code VisitInhospRow}锛夛紝鎶�"鍙 asc/desc"鐣欏湪 SQL 閲岋紝
+     *       涓ゆ潯閾惧澶栫殑绾﹀畾鎵嶆槸涓�鑷寸殑锛�</li>
+     *   <li>杩佸埌鏈ā鍧楀悗杩欐潯閾�<b>涓嶅啀缁忚繃</b> {@code PatMedInhospServiceImpl}锛�
+     *       鍘熷綊涓�鍖栦細闅忚縼鍑轰竴璧蜂涪鎺夛紝鎵�浠ユ惉鍒拌繖閲岃ˉ鍥炴潵銆�</li>
+     * </ul>
+     * 鐢� {@code sql/_probe/verify_patinhosp_bedsort.py} 鎶婂叧銆�
+     *
+     * @param cry     鍑哄叆闄㈡爣璇嗭細0 鍏ラ櫌(鍦ㄩ櫌) 1 鍑洪櫌 2 杞 3 棰勫叆闄�
+     * @param bedSort 鍓嶇浼犲叆鐨勫簥浣嶆帓搴忓�硷紙"asc"/"1"/"desc"/"2"/绌猴級
+     * @return {@code "asc"} / {@code "desc"} / {@code null}锛堜笉鎺掑簭锛�
+     */
+    private static String normalizeBedSort(Integer cry, String bedSort) {
+        // 鍙銆屽湪闄€�嶆煡璇㈢敓鏁堬細cry != 0 涓�寰嬬疆绌猴紝淇濊瘉鍑洪櫌绛夊満鏅帓搴忎笉鍙�
+        if (cry == null || cry != 0 || StringUtils.isEmpty(bedSort)) {
+            return null;
+        }
+        String value = bedSort.trim().toLowerCase();
+        if ("asc".equals(value) || "1".equals(value)) {
+            return "asc";
+        }
+        if ("desc".equals(value) || "2".equals(value)) {
+            return "desc";
+        }
+        // 闈炴硶鍊硷細涓嶆帓搴忥紙涓�"涓嶄紶"鍚屼箟锛夛紝閬垮厤钀藉埌 XML 鐨� <otherwise> 涔嬪鐨勮涓�
+        return null;
+    }
 }

--
Gitblit v1.9.3