xiaochan 3 gadi atpakaļ
vecāks
revīzija
b90375afc3

+ 1 - 1
src/main/java/thyyxxk/webserver/dao/his/medicalinsurance/UpIdCollectionDao.java

@@ -175,7 +175,7 @@ public interface UpIdCollectionDao {
             "rtrim(yb_code) as yb_code" +
             " from " +
             "(SELECT ROW_NUMBER() OVER(ORDER BY code) AS Number,  * " +
-            "from zd_icd9_cm3 where (code like #{content} or name like #{content} or py_code like #{content})) a " +
+            "from zd_icd9_cm3 where (code like #{content} or name like #{content} or yb_code like #{content})) a " +
             "where Number > (${page}-1) * 10 ")
     List<GetDropdownBox> searchSurgeryByAlpha(@Param("content") String content, @Param("page") long page);
 

+ 35 - 20
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/CaoYaoYiZhuServer.java

@@ -84,14 +84,14 @@ public class CaoYaoYiZhuServer {
         String name = StringUtil.EnglishToCapital(queryName);
         QueryWrapper<?> qw = new QueryWrapper<>();
         qw.and(QueryWrapper -> QueryWrapper
-                .like("py_code", name)
-                .or()
-                .like("name", name)
-                .or()
-                .like("d_code", name)
-                .or()
-                .like("code", name)
-        )
+                        .like("py_code", name)
+                        .or()
+                        .like("name", name)
+                        .or()
+                        .like("d_code", name)
+                        .or()
+                        .like("code", name)
+                )
                 .eq("group_no", groupNo);
         dao.huoQuCaoYao(page, qw);
         return ResultVoUtil.success(page);
@@ -161,24 +161,39 @@ public class CaoYaoYiZhuServer {
         return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION);
     }
 
+    /**
+     * 删除草药模板
+     * 管理员和有医嘱模板编辑,权限的可以直接删除
+     * 科室主任有权限删除本科室的模板
+     *
+     * @param name     模板名称
+     * @param deptCode 科室编码
+     * @return 返回提示
+     */
     public ResultVo<String> shanChuMuBan(String name, String deptCode) {
         YzOrderPatternCy mb = dao.caoYaoMuBanXiangQing(name);
         List<Integer> rolse = publicServer.getRoleCode().getData();
-        boolean flag;
-        if (publicServer.noNeedRule(rolse, 1, 38)) {
-            flag = mb.getCreateId().equals(TokenUtil.getTokenUserId());
-            if (!publicServer.noNeedRule(rolse, 11)) {
-                flag = mb.getDeptCode().trim().equals(deptCode);
+        // 如果有这个权限直接删除
+        if (publicServer.noNeedRule(rolse, YiZhuPublic.MU_BAN_BIAN_JI_QUAN_XIAN)) {
+            // 本人创建的也可以直接删除
+            if (mb.getCreateId().equals(TokenUtil.getTokenUserId())) {
+                return shanChuCaoYaoMuBan(name);
+            }
+            // 科主任 可以删除自己科室的模板
+            if (publicServer.needRule(rolse, YiZhuPublic.KE_ZHU_REN_BIAN_MA)) {
+                if (mb.getDeptCode().trim().equals(deptCode)) {
+                    return shanChuCaoYaoMuBan(name);
+                }
             }
         } else {
-            flag = true;
-        }
-        if (flag) {
-            dao.shanChuMuBan(name);
-            return ResultVoUtil.success();
-        } else {
-            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "您没有权限删除。");
+            return shanChuCaoYaoMuBan(name);
         }
+        return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "您没有权限删除。");
+    }
+
+    private ResultVo<String> shanChuCaoYaoMuBan(String name) {
+        dao.shanChuMuBan(name);
+        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION);
     }
 
     public ResultVo<String> shanChuCaoYao(String patNo, Integer times, BigDecimal orderNo) {

+ 9 - 0
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/YiZhuPublic.java

@@ -0,0 +1,9 @@
+package thyyxxk.webserver.service.zhuyuanyisheng;
+
+public class YiZhuPublic {
+    // 模板编辑
+    public static final int MU_BAN_BIAN_JI_QUAN_XIAN = 43;
+    // 科室主任编码
+    public static final int KE_ZHU_REN_BIAN_MA = 11;
+
+}

+ 5 - 0
src/main/java/thyyxxk/webserver/utils/StringUtil.java

@@ -94,6 +94,11 @@ public class StringUtil {
         if (m.find()) {
             return "%" + str + "%";
         }
+        Pattern p1 = Pattern.compile(".*\\d+.*");
+        Matcher m1 = p1.matcher(str);
+        if (m1.matches()) {
+            return "%" + str + "%";
+        }
         return "%" + str.toUpperCase() + "%";
     }