| 
					
				 | 
			
			
				@@ -8,6 +8,7 @@ import cn.hnthyy.thmz.entity.his.mz.Employee; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hnthyy.thmz.entity.his.mz.MzBlRecord; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hnthyy.thmz.entity.his.mz.MzChargeDetail; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hnthyy.thmz.entity.his.mz.MzDrugTracCodg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import cn.hnthyy.thmz.entity.his.mz.MzOrderDetail; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hnthyy.thmz.entity.his.mz.MzOrderFrequency; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hnthyy.thmz.entity.his.mz.MzPatientMi; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hnthyy.thmz.entity.his.mz.MzVisitTable; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -28,6 +29,7 @@ import cn.hnthyy.thmz.service.his.mz.EmployeeService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hnthyy.thmz.service.his.mz.MzBlRecordService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hnthyy.thmz.service.his.mz.MzChargeDetailService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hnthyy.thmz.service.his.mz.MzDrugTracCodgService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import cn.hnthyy.thmz.service.his.mz.MzOrderDetailService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hnthyy.thmz.service.his.mz.MzOrderFrequencyService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hnthyy.thmz.service.his.mz.MzPatientMiService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hnthyy.thmz.service.his.mz.MzPharmacyService; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -131,6 +133,9 @@ public class MzPharmacyController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private YbController ybController; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private MzOrderDetailService mzOrderDetailService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 查询处方信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -480,14 +485,30 @@ public class MzPharmacyController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        // 获取医院审批标志(从mz_charge_detail表获取) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if (mzChargeDetail.getHospApprFlag() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            // 映射医院审批标志到就诊结算类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if (mzChargeDetail.getHospApprFlag() == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                mzChargeDetail.setMdtrtSetlType(1); // 医保结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } else if (mzChargeDetail.getHospApprFlag() == 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                mzChargeDetail.setMdtrtSetlType(2); // 自费结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        // 根据处方类型设置就诊结算类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        MzOrderDetail mzOrderDetail = mzOrderDetailService.queryByEntity(MzOrderDetail.builder() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                .patientId(mzChargeDetail.getPatientId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                .times(mzChargeDetail.getTimes()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                .receiptNo(mzChargeDetail.getReceiptNo()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                .build()).stream().findFirst().orElse(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (mzOrderDetail != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            // 根据处方类型设置就诊结算类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (mzOrderDetail.getOrderType() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                if (mzOrderDetail.getOrderType() == 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    // 门诊统筹 - 医保结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    mzChargeDetail.setMdtrtSetlType(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    // 普通处方、特门处方、GCP实验等 - 自费结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    mzChargeDetail.setMdtrtSetlType(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                // 默认自费结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                mzChargeDetail.setMdtrtSetlType(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            // 查询不到处方类型信息,默认自费结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            mzChargeDetail.setMdtrtSetlType(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         // 查询今日排队发药状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         YpPdQueue pdQueue = ypPdQueueService.selectYpPdQueueByPatientId(mzChargeDetail.getPatientId()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -557,14 +578,30 @@ public class MzPharmacyController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    // 获取医院审批标志(从mz_charge_detail表获取) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (chargeDetailInfoVo.getHospApprFlag() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        // 映射医院审批标志到就诊结算类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if (chargeDetailInfoVo.getHospApprFlag() == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            chargeDetailInfoVo.setMdtrtSetlType(1); // 医保结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } else if (chargeDetailInfoVo.getHospApprFlag() == 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            chargeDetailInfoVo.setMdtrtSetlType(2); // 自费结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    // 根据处方类型设置就诊结算类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    MzOrderDetail mzOrderDetail = mzOrderDetailService.queryByEntity(MzOrderDetail.builder() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            .patientId(chargeDetailInfoVo.getPatientId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            .times(chargeDetailInfoVo.getTimes()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            .receiptNo(chargeDetailInfoVo.getReceiptNo()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            .build()).stream().findFirst().orElse(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (mzOrderDetail != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        // 根据处方类型设置就诊结算类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (mzOrderDetail.getOrderType() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (mzOrderDetail.getOrderType() == 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                // 门诊统筹 - 医保结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                chargeDetailInfoVo.setMdtrtSetlType(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                // 普通处方、特门处方、GCP实验等 - 自费结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                chargeDetailInfoVo.setMdtrtSetlType(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            // 默认自费结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            chargeDetailInfoVo.setMdtrtSetlType(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        // 查询不到处方类型信息,默认自费结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        chargeDetailInfoVo.setMdtrtSetlType(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     // 查询今日排队发药状态 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -726,14 +763,30 @@ public class MzPharmacyController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // 获取医院审批标志(从mz_charge_detail表获取) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (mzSendMedicineVo.getHospApprFlag() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    // 映射医院审批标志到就诊结算类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (mzSendMedicineVo.getHospApprFlag() == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        mzSendMedicineVo.setMdtrtSetlType(1); // 医保结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } else if (mzSendMedicineVo.getHospApprFlag() == 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        mzSendMedicineVo.setMdtrtSetlType(2); // 自费结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // 根据处方类型设置就诊结算类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                MzOrderDetail mzOrderDetail = mzOrderDetailService.queryByEntity(MzOrderDetail.builder() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .patientId(mzSendMedicineVo.getPatientId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .times(mzSendMedicineVo.getTimes()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .receiptNo(mzSendMedicineVo.getReceiptNo()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .build()).stream().findFirst().orElse(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (mzOrderDetail != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    // 根据处方类型设置就诊结算类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (mzOrderDetail.getOrderType() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (mzOrderDetail.getOrderType() == 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            // 门诊统筹 - 医保结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            mzSendMedicineVo.setMdtrtSetlType(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            // 普通处方、特门处方、GCP实验等 - 自费结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            mzSendMedicineVo.setMdtrtSetlType(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        // 默认自费结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        mzSendMedicineVo.setMdtrtSetlType(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    // 查询不到处方类型信息,默认自费结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    mzSendMedicineVo.setMdtrtSetlType(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             resultMap.put("code", 0); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2098,7 +2151,28 @@ public class MzPharmacyController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     selinfoSold.setPharName(getCurrentUserName(params)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     selinfoSold.setPharPracCertNo(getPharPracCertNo(params)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     selinfoSold.setSelRetnOpterName(getCurrentUserName(params)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    selinfoSold.setMdtrtSetlType(item.get("mdtrtSetlType") != null ? (String) item.get("mdtrtSetlType") : "2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    // 根据处方类型设置就诊结算类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String patientId = (String) item.get("patient_id"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Integer times = timesObj instanceof Short ? ((Short) timesObj).intValue() : (Integer) timesObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Integer receiptNo = itemReceiptNoObj instanceof Short ? ((Short) itemReceiptNoObj).intValue() : (Integer) itemReceiptNoObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    MzOrderDetail mzOrderDetail = mzOrderDetailService.queryByEntity(MzOrderDetail.builder() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            .patientId(patientId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            .times(times) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            .receiptNo(receiptNo) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            .build()).stream().findFirst().orElse(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String mdtrtSetlType = "2"; // 默认自费结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (mzOrderDetail != null && mzOrderDetail.getOrderType() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (mzOrderDetail.getOrderType() == 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            // 门诊统筹 - 医保结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            mdtrtSetlType = "1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            // 普通处方、特门处方、GCP实验等 - 自费结算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            mdtrtSetlType = "2"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    selinfoSold.setMdtrtSetlType(mdtrtSetlType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     selinfoSold.setRxFlag(item.get("rx_flag") != null ? (String) item.get("rx_flag") : "0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //selinfoSold.setTrdnFlag(item.get("cl_flag") != null ? (String) item.get("cl_flag") : "0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     // 基于serial字段正确判断拆零标志 
			 |