浏览代码

Merge branch 'dev-1.1.4' into 'dev-1.1.4'

药房发药打印日志优化

See merge request lihong/thmz_system!10
huangshuhua 2 年之前
父节点
当前提交
db8c5b2bfd

+ 34 - 0
src/main/java/cn/hnthyy/thmz/Utils/ListSizeControlUtil.java

@@ -0,0 +1,34 @@
+package cn.hnthyy.thmz.Utils;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @Description: list分割大小控制(太长会导致数据库存储sql参数超长异常)
+ * @Author: hsh
+ * @CreateTime: 2023-08-09  09:43
+ * @Version: 1.0
+ */
+public class ListSizeControlUtil {
+
+    public static <T> List<List<T>> splitList(List<T> list, int len) {
+        if (list == null || list.isEmpty() || len < 1) {
+            return Collections.emptyList();
+        }
+
+        List<List<T>> result = new ArrayList<>();
+
+        int size = list.size();
+        int count = (size + len - 1) / len;
+
+        for (int i = 0; i < count; i++) {
+            List<T> subList = list.subList(i * len, (Math.min((i + 1) * len, size)));
+            result.add(subList);
+        }
+
+        return result;
+    }
+
+
+}

+ 39 - 1
src/main/java/cn/hnthyy/thmz/service/impl/his/yf/YfWardPrescriptionServiceImpl.java

@@ -1,5 +1,6 @@
 package cn.hnthyy.thmz.service.impl.his.yf;
 
+import cn.hnthyy.thmz.Utils.ListSizeControlUtil;
 import cn.hnthyy.thmz.common.Constants;
 import cn.hnthyy.thmz.entity.MzException;
 import cn.hnthyy.thmz.entity.his.YzActOrder;
@@ -582,6 +583,19 @@ public class YfWardPrescriptionServiceImpl implements YfWardPrescriptionService
             }
         }
 
+        // 发药记录存根日志,以备查验记录
+        if(yyzos != null && yyzos.size() > 0){
+            // 目前开放长期,临时医嘱单存放日志
+            if("5".equals(yyzos.get(0).getPageClass()) || "6".equals(yyzos.get(0).getPageClass())){
+                List<YzYpZyOrder> yzYpList = new ArrayList<>(yyzos);
+                try {
+                    callSaveSendOrPrintYpYzDetail(yzYpList, "1");
+                } catch (Exception e) {
+                    log.error("发药记录存根日志出错--1");
+                    e.printStackTrace();
+                }
+            }
+        }
         resultMap.put("code", 0);
         resultMap.put("message", "保存领药单发药数据成功");
         return resultMap;
@@ -609,7 +623,12 @@ public class YfWardPrescriptionServiceImpl implements YfWardPrescriptionService
                 record.setStatusFlag("0");
                 list.add(record);
             }
-            ypYzSendRecordMapper.insertYpYzSendRecordList(list);
+
+            log.info("---------------入库数量:" + list.size());
+            List<List<YpYzSendRecord>> result = ListSizeControlUtil.splitList(list, 100);
+            for (List<YpYzSendRecord> record: result) {
+                ypYzSendRecordMapper.insertYpYzSendRecordList(record);
+            }
         }
     }
 
@@ -968,6 +987,25 @@ public class YfWardPrescriptionServiceImpl implements YfWardPrescriptionService
             }
         }
 
+        // 保存口服药打印查询记录信息
+        if(yfWardVos.size() > 0){
+            // 目前开放长期,临时医嘱单存放日志
+            if("5".equals(yfWardVos.get(0).getPageClass()) || "6".equals(yfWardVos.get(0).getPageClass())){
+                List<YzYpZyOrder> yzYpList = new ArrayList<>();
+                for (YfWardVo vo: yfWardVos) {
+                    YzYpZyOrder yz = new YzYpZyOrder();
+                    BeanUtils.copyProperties(vo, yz);
+                    yzYpList.add(yz);
+                }
+                try {
+                    callSaveSendOrPrintYpYzDetail(yzYpList, "2");
+                } catch (Exception e) {
+                    log.error("发药打印存根日志出错--2");
+                    e.printStackTrace();
+                }
+            }
+        }
+
         return yfWardVos;
     }
 

+ 1 - 1
src/main/java/cn/hnthyy/thmz/service/impl/his/yf/YpOutDetlYfServiceImpl.java

@@ -153,7 +153,7 @@ public class YpOutDetlYfServiceImpl implements YpOutDetlYfService {
                     ypOutDetlYf.getGroupNo(),-outAmt, multiply.negate())){
                 log.info("药房出库药品成功[单号:{},编码:{},规格:{},数量:{}]", drawNo,ypOutDetlYf.getChargeCode(),ypOutDetlYf.getSerial(),-ypOutDetlYf.getOutAmt());
             }else{
-                new MzException("药房出库药品审核失败,药房扣库异常,单号:"+drawNo);
+                throw new MzException("药房出库药品审核失败,药房扣库异常,单号:"+drawNo);
             }
             if(StringUtils.isNotBlank(ypOutDetlYf.getGroupNoOut())){
                 YpBaseYf ypBaseYf = ypBaseYfMapper.selectYpBaseYf(chargeCode, serial, ypOutDetlYf.getGroupNoOut(), null);

+ 21 - 1
src/main/resources/static/js/common/socket-com.js

@@ -174,7 +174,7 @@ function cellNumberMessage(data) {
                 break
             }
         }
-        $('#rightPerson').html(rightPersonName);
+        $('#rightPerson').html(getName(rightPersonName));
         rightPerson = data;
         currentList = removeObjArrayByProperty(currentList, data, 'patient_id');
         pastList = removeObjArrayByProperty(pastList, data, 'patient_id');
@@ -276,4 +276,24 @@ function getLineUpData(data) {
         }
     }
     return data.sort(compare('lineUp'));
+}
+
+// 姓名脱敏
+function getName(name) {
+  let newStr
+  if (!name) {
+      return name
+  }
+  if (name.length === 2) {
+     newStr = name.substr(0, 1) + '*'
+  } else if (name.length > 2) {
+     let char = ''
+     for (let i = 0, len = name.length - 2; i < len; i++) {
+        char += '*'
+     }
+     newStr = name.substr(0, 1) + char + name.substr(-1, 1)
+  } else {
+     newStr = name
+  }
+  return newStr
 }