From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master

---
 jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsMapper/LimsBaogaoShouquanMapper.java |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 46 insertions(+), 0 deletions(-)

diff --git a/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsMapper/LimsBaogaoShouquanMapper.java b/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsMapper/LimsBaogaoShouquanMapper.java
new file mode 100644
index 0000000..3c6c320
--- /dev/null
+++ b/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsMapper/LimsBaogaoShouquanMapper.java
@@ -0,0 +1,46 @@
+package jnpf.limsMapper;
+
+import jnpf.base.mapper.SuperMapper;
+import jnpf.limsEntity.LimsBaogaoShouquanEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+@Mapper
+public interface LimsBaogaoShouquanMapper extends SuperMapper<LimsBaogaoShouquanEntity> {
+
+    /**
+     * 鏄惁瀛樺湪涓�鏉°�屾湭杞垹 + 鍚敤 + 绾у埆鍛戒腑 + 鐢ㄦ埛鍦ㄨ鎺堟潈鍒楄〃 + 鍒嗙被鍦ㄦ巿鏉冩竻鍗曘�嶇殑璁板綍銆�
+     *
+     * <p>涓変釜鍒ゅ畾鍒楀潎涓� JSON 鏁扮粍锛�
+     * <ul>
+     *   <li>{@code bei_shouquanren}锛氳鎺堟潈鐢ㄦ埛鍒楄〃 ["userId1","userId2"]</li>
+     *   <li>{@code shenhe_jibie}锛氭巿鏉冪殑瀹℃牳绾у埆闆嗗悎 ["baogao_zhizhuo","baogao_shenhe","baogao_qianfa"]</li>
+     *   <li>{@code shenhe_fenlei}锛氭巿鏉冪殑鍒嗙被闆嗗悎 ["CP","ZJP","YY",...]</li>
+     * </ul>
+     * 鐢� {@code haystack::jsonb @> to_jsonb(needle::text)} 缁熶竴鍒ゆ柇"鍗曞�� needle 鏄惁鍦ㄦ暟缁� haystack 涓�"
+     * 锛圥ostgreSQL 鍐欐硶锛汳ySQL 鏃朵唬涓� {@code JSON_CONTAINS(haystack, JSON_QUOTE(needle))}锛夈��
+     *
+     * <p><b>鍘嗗彶鍙樻洿锛�2026-05-21锛�</b>锛氭棭鏈� {@code shenhe_jibie} 鏄� PLAIN 鍗曢�夊瓧绗︿覆
+     * 锛坆aogao_zhizhuo / baogao_shenhe / baogao_qianfa 涓夐�変竴锛夛紝SQL 鐢� {@code = #{jibie}} 鐩存帴绛夊�煎尮閰嶃��
+     * 涓氬姟鏂瑰悗缁皢璇ュ瓧娈佃皟鏁翠负澶氶�� JSON 鏁扮粍锛堜竴鏉℃巿鏉冭褰曞彲鍚屾椂瑕嗙洊澶氫釜瀹℃牳绾у埆锛夛紝
+     * 宸茬粺涓�涓烘暟缁勫寘鍚垽鏂��<b>涓嶈鍐嶉��鍥炲埌绛夊�煎尮閰�</b>锛屽惁鍒欎細婕忓垽鏁扮粍褰㈡�佺殑鐜扮綉鏁版嵁锛�
+     * 鍘嗗彶 PLAIN 鍗曞�兼暟鎹凡琚笟鍔′晶閫昏緫鍒犻櫎锛坽@code f_delete_mark=1}锛夛紝涓嶅奖鍝嶃��
+     * 娉ㄦ剰锛氫笁鍒楁槸 varchar 瀛� JSON 鏂囨湰锛寋@code ::jsonb} 閬囬潪娉� JSON 浼氭姏閿欌�斺�旇嫢鍥炲綊鏃惰俯鍒拌剰鏁版嵁锛�
+     * 鏀圭敤 {@code CASE WHEN pg_input_is_valid(col,'jsonb') THEN ... END} 鍏滃簳銆�
+     *
+     * <p>鏌� 1 鏉� LIMIT 1锛岄伩鍏嶉噸澶嶆巿鏉冭褰曟妸 count 鎷夊ぇ銆�
+     */
+    @Select("SELECT COUNT(*) FROM (" +
+            " SELECT 1 FROM lims_baogao_shouquan" +
+            "  WHERE (f_delete_mark IS NULL OR f_delete_mark <> 1)" +
+            "    AND biz_enabled = 'yes'" +
+            "    AND shenhe_jibie::jsonb @> to_jsonb(#{jibie}::text)" +
+            "    AND bei_shouquanren::jsonb @> to_jsonb(#{userId}::text)" +
+            "    AND shenhe_fenlei::jsonb @> to_jsonb(#{bizType}::text)" +
+            "  LIMIT 1" +
+            ") AS t")
+    int countAuthority(@Param("userId") String userId,
+                       @Param("jibie") String jibie,
+                       @Param("bizType") String bizType);
+}

--
Gitblit v1.8.0