Browse Source

优化检验检查列表功能

hurugang 3 years ago
parent
commit
fbdb2f549f

+ 116 - 0
src/main/java/cn/hnthyy/thmz/Utils/EntityStringTrim.java

@@ -0,0 +1,116 @@
+package cn.hnthyy.thmz.Utils;
+
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.List;
+
+/**
+ * <p>
+ * 描述: 实体类中去掉字符传的前后空格
+ * </p>
+ *
+ * @author xc
+ * @date 2022-01-07 14:51
+ */
+public class EntityStringTrim {
+
+    /**
+     * 去掉bean中所有属性为字符串的前后空格
+     *
+     * @param bean 实体类
+     * @throws Exception 错误信息
+     */
+    public static void beanAttributeValueTrim(Object bean) {
+        if (bean != null) {
+            //获取所有的字段包括public,private,protected,private
+            Field[] fields = bean.getClass().getDeclaredFields();
+            for (Field f : fields) {
+                // 判断这个字段是不是 string 类型
+                if (f.getType().equals(String.class)) {
+                    try {
+                        // 获取字段名 在实体类中是什么样子这里就是什么样子
+                        String key = f.getName();
+                        Object value = getFieldValue(bean, key);
+                        if (value != null) {
+                            // 值为 true 则指示反射的对象在使用时应该取消 Java 语言访问检查。
+                            // 值为 false 则指示反射的对象应该实施 Java 语言访问检查
+                            // 由于JDK的安全检查耗时较多.所以通过setAccessible(true)的方式关闭安全检查就可以达到提升反射速度的目的
+                            f.setAccessible(true);
+                            // set 新的值
+                            f.set(bean, value.toString().trim());
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * list 类型取 前后空格
+     *
+     * @param list list
+     */
+    public static void beanAttributeValueTrimList(List<?> list) {
+        if (list != null && !list.isEmpty()) {
+            for (Object o : list) {
+                beanAttributeValueTrim(o);
+            }
+        }
+    }
+
+    /**
+     * 利用反射通过get方法获取bean中字段fieldName的值
+     *
+     * @param bean      实体类
+     * @param fieldName 实体类中的字段名称
+     * @return 返回 实体类的值
+     * @throws Exception 捕获异常
+     */
+    private static Object getFieldValue(Object bean, String fieldName)
+            throws Exception {
+
+        // 在这里 拼接 get 方法
+        // 如 private String id
+        // 转化成 getId
+        String methodName = "get" +
+                fieldName.substring(0, 1).toUpperCase() +
+                fieldName.substring(1);
+
+        Method method = null;
+
+        // 当你的编码可能存在警告时,比如安全警告,可以用它来消除
+        @SuppressWarnings("rawtypes")
+        Class[] classArr = new Class[0];
+        // 获取到这个类的 public 方法
+        method = bean.getClass().getMethod(methodName, classArr);
+        return method.invoke(bean);
+    }
+
+    /**
+     * 利用发射调用bean.set方法将value设置到字段
+     * <p>
+     * 这个暂时时没有用到
+     *
+     * @param bean
+     * @param fieldName
+     * @param value
+     * @throws Exception
+     */
+    private static void setFieldValue(Object bean, String fieldName, Object value)
+            throws Exception {
+        String methodName = "set" +
+                fieldName.substring(0, 1).toUpperCase() +
+                fieldName.substring(1);
+        /*
+          利用发射调用bean.set方法将value设置到字段
+         */
+        @SuppressWarnings("rawtypes")
+        Class[] classArr = new Class[1];
+        classArr[0] = "java.lang.String".getClass();
+        Method method = bean.getClass().getMethod(methodName, classArr);
+        method.invoke(bean, value);
+    }
+}

+ 9 - 4
src/main/java/cn/hnthyy/thmz/Utils/PyWbUtil.java

@@ -67,8 +67,11 @@ public class PyWbUtil {
      * @return
      */
     public static String toBigFirstChar(String chines) {
-        if(StringUtils.isNotBlank(chines)&& chines.length()>8){
-            chines = chines.substring(0,8);
+        if(StringUtils.isNotBlank(chines)){
+            chines=chines.replaceAll("(","(").replaceAll(")",")");
+            if(chines.length()>8){
+                chines = chines.substring(0,8);
+            }
         }
         String pinyinName = "";
         char[] nameChar = chines.toCharArray();
@@ -97,9 +100,11 @@ public class PyWbUtil {
      * @return
      */
     public static String getWBCode(String str) {
-        if(StringUtils.isNotBlank(str)&& str.length()>8){
-            str = str.substring(0,8);
+        if(StringUtils.isNotBlank(str)){
             str=str.replaceAll("(","(").replaceAll(")",")");
+            if(str.length()>8){
+                str = str.substring(0,8);
+            }
         }
         StringBuffer result = new StringBuffer();
         //用char循环取得每一个String的 字符

+ 24 - 0
src/main/java/cn/hnthyy/thmz/controller/mz/ZdChargeItemController.java

@@ -378,6 +378,30 @@ public class ZdChargeItemController {
         }
     }
 
+
+    /**
+     * 查询所有的收费项目字典列表(包含停用)
+     * @return
+     */
+    @UserLoginToken
+    @RequestMapping(value = "/getAllZdCharge", method = {RequestMethod.GET})
+    public Map<String, Object> getAllZdCharge() {
+        Map<String, Object> resultMap = new HashMap<>();
+        try {
+            List<ZdChargeItem> list = zdChargeItemService.queryAllZdCharge();
+            resultMap.put("code", 0);
+            resultMap.put("message", "查询所有的收费项目字典列表(包含停用)成功");
+            resultMap.put("total", list);
+            resultMap.put("data", list);
+            return resultMap;
+        }catch (Exception e){
+            log.error("查询所有的收费项目字典列表(包含停用)失败,错误信息{}", e);
+            resultMap.put("code", -1);
+            resultMap.put("message", "查询所有的收费项目字典列表(包含停用)失败");
+            return resultMap;
+        }
+    }
+
     /**
      *  判断是否加收,根据项目编码或者检查检验项目编码查询对应的收费项目.医剂项目返回第一个加收的
      * @param code

+ 3 - 3
src/main/java/cn/hnthyy/thmz/mapper/his/mz/YpZdClassMapper.java

@@ -20,7 +20,7 @@ public interface YpZdClassMapper {
      *
      * @return
      */
-    @Select("SELECT dl_code=a.code,dl_name=a.name,xl_code=b.code,xl_name=b.name FROM jy_zd_class  a WITH(NOLOCK),jy_zd_item b WITH(NOLOCK) where  a.code*=b.class and isnull(b.del_flag,'') <> '1'  order  by a.code ")
+    @Select("SELECT dl_code=a.code,dl_name=a.name,xl_code=b.code,xl_name=b.name FROM jy_zd_class  a WITH(NOLOCK),jy_zd_item b WITH(NOLOCK) where  a.code*=b.class and isnull(b.del_flag,'') <> '1'  and isnull(b.mz_flag,'') <> '1'  order  by a.code ")
     List<Map<String, Object>> selectJyZdClasses();
 
 
@@ -30,8 +30,8 @@ public interface YpZdClassMapper {
      * @return
      */
     @Select("SELECT dl_code=a.code+b.bw_code,dl_name=rtrim(a.name)+' '+ltrim(c.name),xl_code=b.code,xl_name=b.name FROM jc_zd_class a WITH(NOLOCK),jc_zd_item b WITH(NOLOCK),ysh_zd_part_code c WITH(NOLOCK) " +
-            "where a.code*=b.class and isnull(b.del_flag,'') <> '1' and b.bw_code=c.code union SELECT dl_code=a.code,dl_name=rtrim(a.name),xl_code=b.code,xl_name=b.name FROM jc_zd_class " +
-            " a WITH(NOLOCK),jc_zd_item b WITH(NOLOCK) where a.code*=b.class and isnull(b.del_flag,'') <> '1' and (b.bw_code is null or b.bw_code='') order by dl_name,xl_name ")
+            "where a.code*=b.class and isnull(b.del_flag,'') <> '1' and isnull(b.mz_flag,'') <> '1' and b.bw_code=c.code union SELECT dl_code=a.code,dl_name=rtrim(a.name),xl_code=b.code,xl_name=b.name FROM jc_zd_class " +
+            " a WITH(NOLOCK),jc_zd_item b WITH(NOLOCK) where a.code*=b.class and isnull(b.del_flag,'') <> '1' and isnull(b.mz_flag,'') <> '1' and (b.bw_code is null or b.bw_code='') order by dl_name,xl_name ")
     List<Map<String, Object>> selectJcZdClasses();
 
     /**

+ 13 - 0
src/main/java/cn/hnthyy/thmz/mapper/his/zd/ZdChargeItemMapper.java

@@ -261,6 +261,19 @@ public interface ZdChargeItemMapper {
     List<ZdChargeItem> selectAllInUsedZdCharge();
 
 
+    /**
+     * 查询所有收费项目字典列表
+     *
+     * @return
+     */
+    @Select({"<script>",
+            "SELECT  rtrim(code) code,name,exec_unit,audit_code,charge_amount,effective_date,effective_amount,percentag1,percentag2,percentag3,percentag4,percentag5," +
+                    "            rtrim(self_flag) self_flag,rtrim(separate_flag) separate_flag,rtrim(suppress_flag) suppress_flag,py_code,d_code wb_code,bill_item_zy,bill_item_mz," +
+                    "            charge_unit,percent_group_zy,percent_group_mz,rtrim(case  when in_out_flag ='' then null else in_out_flag end) in_out_flag,n_code yn_code,class_code,s_code bz_code,discription,rtrim(del_flag) del_flag," +
+                    "            rtrim(yp_flag) yp_flag,bill_item_code,rtrim(xnh_flag) xnh_flag,add_date,hnsyb_code,hnsyb_name,xnh_code,xnh_name,xnh_ratio,xnh_quotamoney,rtrim(xnh_status) xnh_status," +
+                    "            yb_flag_new,yb_comment_new,yb_bl_new,charge_amount_lwg,percent_group_1  percent_group1,yb_name,yb_comment,cl_code,e_code yb_code,co,xl_code FROM zd_charge_item WITH(NOLOCK)  ",
+            "</script>"})
+    List<ZdChargeItem> selectAllZdCharge();
 
     /**
      * 根据通用查询参数查询诊疗项目  诊查费 治疗费 手术费

+ 7 - 0
src/main/java/cn/hnthyy/thmz/service/his/zd/ZdChargeItemService.java

@@ -68,4 +68,11 @@ public interface ZdChargeItemService {
      * @return
      */
     List<ZdChargeItem> queryAllInUsedZdCharge();
+
+    /**
+     * 查询所有的收费项目字典列表 包含停用的
+     *
+     * @return
+     */
+    List<ZdChargeItem> queryAllZdCharge();
 }

+ 5 - 0
src/main/java/cn/hnthyy/thmz/service/impl/his/zd/ZdChargeItemServiceImpl.java

@@ -57,4 +57,9 @@ public class ZdChargeItemServiceImpl implements ZdChargeItemService {
     public List<ZdChargeItem> queryAllInUsedZdCharge() {
         return zdChargeItemMapper.selectAllInUsedZdCharge();
     }
+
+    @Override
+    public List<ZdChargeItem> queryAllZdCharge() {
+        return zdChargeItemMapper.selectAllZdCharge();
+    }
 }

+ 35 - 17
src/main/resources/static/js/mz/jc_jy_zd_item.js

@@ -319,11 +319,11 @@ function clearJcInput() {
     $("#execUnit").selectpicker('refresh');
     $("#bwCode").selectpicker('val', null);//默认不选中
     $("#bwCode").selectpicker('refresh');
-    $("#delFlag").selectpicker('val', null);//默认不选中
+    $("#delFlag").selectpicker('val', 0);//默认不选中
     $("#delFlag").selectpicker('refresh');
-    $("#zyFlag").selectpicker('val', null);//默认不选中
+    $("#zyFlag").selectpicker('val', 0);//默认不选中
     $("#zyFlag").selectpicker('refresh');
-    $("#mzFlag").selectpicker('val', null);//默认不选中
+    $("#mzFlag").selectpicker('val', 0);//默认不选中
     $("#mzFlag").selectpicker('refresh');
 }
 
@@ -336,9 +336,9 @@ function clearJcChargeItemInput() {
     $("#chargeAmount").val(null);
     $("#chargeItem").selectpicker('val', null);//默认不选中
     $("#chargeItem").selectpicker('refresh');
-    $("#zyFlagJcCharge").selectpicker('val', null);//默认不选中
+    $("#zyFlagJcCharge").selectpicker('val', 0);//默认不选中
     $("#zyFlagJcCharge").selectpicker('refresh');
-    $("#mzFlagJcCharge").selectpicker('val', null);//默认不选中
+    $("#mzFlagJcCharge").selectpicker('val', 0);//默认不选中
     $("#mzFlagJcCharge").selectpicker('refresh');
 }
 
@@ -351,9 +351,9 @@ function clearJyChargeItemInput() {
     $("#chargeAmountJy").val(null);
     $("#chargeItemJy").selectpicker('val', null);//默认不选中
     $("#chargeItemJy").selectpicker('refresh');
-    $("#zyFlagJyCharge").selectpicker('val', null);//默认不选中
+    $("#zyFlagJyCharge").selectpicker('val', 0);//默认不选中
     $("#zyFlagJyCharge").selectpicker('refresh');
-    $("#mzFlagJyCharge").selectpicker('val', null);//默认不选中
+    $("#mzFlagJyCharge").selectpicker('val', 0);//默认不选中
     $("#mzFlagJyCharge").selectpicker('refresh');
 }
 
@@ -371,11 +371,11 @@ function clearJyInput() {
     $("#sampleCode").selectpicker('refresh');
     $("#vessel").selectpicker('val', null);//默认不选中
     $("#vessel").selectpicker('refresh');
-    $("#delFlagJy").selectpicker('val', null);//默认不选中
+    $("#delFlagJy").selectpicker('val', 0);//默认不选中
     $("#delFlagJy").selectpicker('refresh');
-    $("#zyFlagJy").selectpicker('val', null);//默认不选中
+    $("#zyFlagJy").selectpicker('val', 0);//默认不选中
     $("#zyFlagJy").selectpicker('refresh');
-    $("#mzFlagJy").selectpicker('val', null);//默认不选中
+    $("#mzFlagJy").selectpicker('val', 0);//默认不选中
     $("#mzFlagJy").selectpicker('refresh');
 }
 
@@ -527,8 +527,8 @@ function getJcItemChargesByItemCode(code) {
                     if (row.code == null || row.code == "") {
                         return "";
                     }
-                    var str = '<button type="button" class="btn btn-primary  btn-sm" onclick="editJcChargeItem(' + row.code + ',\'' + row.charge_code + '\')">编辑</button>';
-                    str += '<button type="button" class="btn btn-warning  btn-sm" onclick="deleteJcChargeItem(' + row.code + ',\'' + row.charge_code + '\')">删除</button>';
+                    var str = '<button type="button" class="btn btn-primary  btn-sm" onclick="editJcChargeItem(\'' + row.code + '\',\'' + row.charge_code + '\')">编辑</button>';
+                    str += '<button type="button" class="btn btn-warning  btn-sm" onclick="deleteJcChargeItem(\'' + row.code + '\',\'' + row.charge_code + '\')">删除</button>';
                     return [str].join('');
                 }
             },
@@ -808,8 +808,8 @@ function getJyItemChargesByItemCode(code) {
                     if (row.code == null || row.code == "") {
                         return "";
                     }
-                    var str = '<button type="button" class="btn btn-primary  btn-sm" onclick="editJyChargeItem(' + row.code + ',\'' + row.charge_code + '\')">编辑</button>';
-                    str += '<button type="button" class="btn btn-warning  btn-sm" onclick="deleteJyChargeItem(' + row.code + ',\'' + row.charge_code + '\')">删除</button>';
+                    var str = '<button type="button" class="btn btn-primary  btn-sm" onclick="editJyChargeItem(\'' + row.code + '\',\'' + row.charge_code + '\')">编辑</button>';
+                    str += '<button type="button" class="btn btn-warning  btn-sm" onclick="deleteJyChargeItem(\'' + row.code + '\',\'' + row.charge_code + '\')">删除</button>';
                     return [str].join('');
                 }
             },
@@ -1108,7 +1108,6 @@ function editJcChargeItem(code, chargeCode) {
                 $("#mzFlagJcCharge").selectpicker('refresh');
                 setChargeAmount();
                 $("#editJcChargeItemModal").modal();
-                successMesage(res);
             } else {
                 errorMesage(res);
             }
@@ -1186,7 +1185,6 @@ function editJyChargeItem(code, chargeCode) {
                 $("#mzFlagJyCharge").selectpicker('refresh');
                 setChargeAmountJy();
                 $("#editJyChargeItemModal").modal();
-                successMesage(res);
             } else {
                 errorMesage(res);
             }
@@ -1304,25 +1302,45 @@ function initSelect() {
     var yesNo = '<option value="1">是</option><option value="0">否</option>';
     $('#delFlag').html(yesNo);
     $('#delFlag').selectpicker('refresh');
+    $("#delFlag").selectpicker('val', 0);
+    $("#delFlag").selectpicker('refresh');
     $('#zyFlag').html(yesNo);
     $('#zyFlag').selectpicker('refresh');
+    $("#zyFlag").selectpicker('val', 0);
+    $("#delFlag").selectpicker('refresh');
     $('#mzFlag').html(yesNo);
     $('#mzFlag').selectpicker('refresh');
+    $("#mzFlag").selectpicker('val', 0);
+    $("#mzFlag").selectpicker('refresh');
     $('#zyFlagJcCharge').html(yesNo);
     $('#zyFlagJcCharge').selectpicker('refresh');
+    $("#zyFlagJcCharge").selectpicker('val', 0);
+    $("#zyFlagJcCharge").selectpicker('refresh');
     $('#mzFlagJcCharge').html(yesNo);
     $('#mzFlagJcCharge').selectpicker('refresh');
+    $("#mzFlagJcCharge").selectpicker('val', 0);
+    $("#mzFlagJcCharge").selectpicker('refresh');
 
     $('#delFlagJy').html(yesNo);
     $('#delFlagJy').selectpicker('refresh');
+    $("#delFlagJy").selectpicker('val', 0);
+    $("#delFlagJy").selectpicker('refresh');
     $('#zyFlagJy').html(yesNo);
     $('#zyFlagJy').selectpicker('refresh');
+    $("#zyFlagJy").selectpicker('val', 0);
+    $("#zyFlagJy").selectpicker('refresh');
     $('#mzFlagJy').html(yesNo);
     $('#mzFlagJy').selectpicker('refresh');
+    $("#mzFlagJy").selectpicker('val', 0);
+    $("#mzFlagJy").selectpicker('refresh');
     $('#zyFlagJyCharge').html(yesNo);
     $('#zyFlagJyCharge').selectpicker('refresh');
+    $("#zyFlagJyCharge").selectpicker('val', 0);
+    $("#zyFlagJyCharge").selectpicker('refresh');
     $('#mzFlagJyCharge').html(yesNo);
     $('#mzFlagJyCharge').selectpicker('refresh');
+    $("#mzFlagJyCharge").selectpicker('val', 0);
+    $("#mzFlagJyCharge").selectpicker('refresh');
     $.ajax({
         type: "GET",
         url: '/thmz/getAllJcZdClass',
@@ -1436,7 +1454,7 @@ function initZdChargeSelect() {
     //科室列表
     $.ajax({
         type: "GET",
-        url: '/thmz/getAllInUsedZdCharge',
+        url: '/thmz/getAllZdCharge',
         dataType: "json",
         headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
         // async: false,