| 
					
				 | 
			
			
				@@ -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; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 |