Bläddra i källkod

医材处方自动打印

WANGJIALIANG 3 år sedan
förälder
incheckning
6b9aadd492

+ 28 - 14
src/main/java/cn/hnthyy/thmz/service/impl/thmz/DispensingSocketServiceImpl.java

@@ -68,29 +68,43 @@ public class DispensingSocketServiceImpl implements DispensingSocketService {
         MzChargeDetail mzChargeDetail = new MzChargeDetail();
         mzChargeDetail.setPatientId(patientId);
         mzChargeDetail.setTimes(times);
-        mzChargeDetail.setGroupNo("71");
-        List<MzChargeDetail> chargeDetail = mzChargeDetailService.getMzChargeDetailList(mzChargeDetail);
-        for (int i = 0; i < chargeDetail.size(); i++) {
-            if(chargeDetail.get(i).getIsHide() == 1){
-                chargeDetail.remove(i);
-                i--;
+        List<MzChargeDetail> chargeDetails = mzChargeDetailService.getMzChargeDetailList(mzChargeDetail);
+        List<MzChargeDetail> xyChargeDetail = new ArrayList<>();
+        List<MzChargeDetail> ycChargeDetail = new ArrayList<>();
+        for (int i = 0; i < chargeDetails.size(); i++) {
+            MzChargeDetail chargeDetail = chargeDetails.get(i);
+            if(chargeDetail.getGroupNo().equals("71") && chargeDetail.getIsHide() != 1){
+                xyChargeDetail.add(chargeDetail);
+            }else if(chargeDetail.getGroupNo().equals("91")){
+                ycChargeDetail.add(chargeDetail);
             }
         }
-        if(chargeDetail.size() > 0){
-            Set<Integer> orderNos = chargeDetail.stream().map(MzChargeDetail::getOrderNo).collect(Collectors.toSet());
+        if(xyChargeDetail.size() > 0 || ycChargeDetail.size() > 0){
             Map<String,Object> msgMap = new HashMap();
             msgMap.put("patient_id",patientId);
             MzPatientMi mzPatientMi = mzPatientMiService.queryByPatientId(patientId);
             msgMap.put("name",mzPatientMi.getName());
             msgMap.put("times",times);
-            msgMap.put("orderNos",orderNos);
             msgMap.put("type",SocketSenderTypeEnum.PAY.code);
-            List<String> objTypes = new ArrayList<>();
-            if(!chargeDetail.get(0).getWarnDept().equals("1020510")){
-                objTypes.add(SocketSenderTypeEnum.CALL_NUMBER.code);
+            if(xyChargeDetail.size() > 0){
+                Set<Integer> orderNos = xyChargeDetail.stream().map(MzChargeDetail::getOrderNo).collect(Collectors.toSet());
+                msgMap.put("orderNos",orderNos);
+                msgMap.put("groupNo",xyChargeDetail.get(0).getGroupNo());
+                List<String> objTypes = new ArrayList<>();
+                if(!xyChargeDetail.get(0).getWarnDept().equals("1020510")){
+                    objTypes.add(SocketSenderTypeEnum.CALL_NUMBER.code);
+                }
+                objTypes.add(SocketSenderTypeEnum.DISPENSING_MEDICINE.code);
+                prescriptionPrintSocket.sendMessage(msgMap,objTypes);
+            }
+            if(ycChargeDetail.size() > 0){
+                Set<Integer> orderNos = ycChargeDetail.stream().map(MzChargeDetail::getOrderNo).collect(Collectors.toSet());
+                msgMap.put("orderNos",orderNos);
+                msgMap.put("groupNo",ycChargeDetail.get(0).getGroupNo());
+                List<String> objTypes = new ArrayList<>();
+                objTypes.add(SocketSenderTypeEnum.DISPENSING_MEDICINE.code);
+                prescriptionPrintSocket.sendMessage(msgMap,objTypes);
             }
-            objTypes.add(SocketSenderTypeEnum.DISPENSING_MEDICINE.code);
-            return prescriptionPrintSocket.sendMessage(msgMap,objTypes);
         }
         return 0;
     }

+ 5 - 4
src/main/resources/static/js/common/socket-com.js

@@ -30,12 +30,13 @@ function openSocket(type) {
 
 //接收到消息的回调方法
     prescriptionPrintWebsocket.onmessage = function (event) {
-        if (type == 'PY') {
-            dispensingMessage(JSON.parse(event.data));
+        var data = JSON.parse(event.data);
+        if (type == 'PY' && data.groupNo == groupNo) {
+            dispensingMessage(data);
         }else if(type == 'FY'){
-            sendMedicineMessage(JSON.parse(event.data));
+            sendMedicineMessage(data);
         }else if(type == 'JH'){
-            cellNumberMessage(JSON.parse(event.data));
+            cellNumberMessage(data);
         }
     };