|  | @@ -428,6 +428,28 @@ public class MzPharmacyController {
 | 
	
		
			
				|  |  |                                  mzChargeDetail.setPharPracCertNo(pharPracCertNo);
 | 
	
		
			
				|  |  |                              }
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  | +                        
 | 
	
		
			
				|  |  | +                        // 获取药品相关信息
 | 
	
		
			
				|  |  | +                        if (StringUtils.isNotBlank(mzChargeDetail.getChargeItemCode())) {
 | 
	
		
			
				|  |  | +                            // 获取药品字典信息
 | 
	
		
			
				|  |  | +                            YpZdDict ypZdDict = ypZdDictService.queryYpZdDictByCodeAndSerial(mzChargeDetail.getChargeItemCode(), mzChargeDetail.getSerial());
 | 
	
		
			
				|  |  | +                            if (ypZdDict != null) {
 | 
	
		
			
				|  |  | +                                // 设置拆零标志
 | 
	
		
			
				|  |  | +                                mzChargeDetail.setClFlag(ypZdDict.getClFlag());
 | 
	
		
			
				|  |  | +                                // 暂时设置处方药标志为空,因为数据库中可能没有这个字段
 | 
	
		
			
				|  |  | +                                mzChargeDetail.setRxFlag("");
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        
 | 
	
		
			
				|  |  | +                        // 获取医院审批标志(从mz_charge_detail表获取)
 | 
	
		
			
				|  |  | +                        if (mzChargeDetail.getHospApprFlag() != null) {
 | 
	
		
			
				|  |  | +                            // 映射医院审批标志到就诊结算类型
 | 
	
		
			
				|  |  | +                            if (mzChargeDetail.getHospApprFlag() == 0) {
 | 
	
		
			
				|  |  | +                                mzChargeDetail.setMdtrtSetlType(1); // 医保结算
 | 
	
		
			
				|  |  | +                            } else if (mzChargeDetail.getHospApprFlag() == 2) {
 | 
	
		
			
				|  |  | +                                mzChargeDetail.setMdtrtSetlType(2); // 自费结算
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  |                          // 查询今日排队发药状态
 | 
	
		
			
				|  |  |                          YpPdQueue pdQueue = ypPdQueueService.selectYpPdQueueByPatientId(mzChargeDetail.getPatientId());
 | 
	
		
			
				|  |  |                          if(null != pdQueue){
 | 
	
	
		
			
				|  | @@ -462,6 +484,28 @@ public class MzPharmacyController {
 | 
	
		
			
				|  |  |                              chargeDetailInfoVo.setPharPracCertNo(pharPracCertNo);
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  | +                    
 | 
	
		
			
				|  |  | +                    // 获取药品相关信息
 | 
	
		
			
				|  |  | +                    if (StringUtils.isNotBlank(chargeDetailInfoVo.getChargeItemCode())) {
 | 
	
		
			
				|  |  | +                        // 获取药品字典信息
 | 
	
		
			
				|  |  | +                        YpZdDict ypZdDict = ypZdDictService.queryYpZdDictByCodeAndSerial(chargeDetailInfoVo.getChargeItemCode(), chargeDetailInfoVo.getSerial());
 | 
	
		
			
				|  |  | +                        if (ypZdDict != null) {
 | 
	
		
			
				|  |  | +                            // 设置拆零标志
 | 
	
		
			
				|  |  | +                            chargeDetailInfoVo.setClFlag(ypZdDict.getClFlag());
 | 
	
		
			
				|  |  | +                            // 暂时设置处方药标志为空,因为数据库中可能没有这个字段
 | 
	
		
			
				|  |  | +                            chargeDetailInfoVo.setRxFlag("");
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    
 | 
	
		
			
				|  |  | +                    // 获取医院审批标志(从mz_charge_detail表获取)
 | 
	
		
			
				|  |  | +                    if (chargeDetailInfoVo.getHospApprFlag() != null) {
 | 
	
		
			
				|  |  | +                        // 映射医院审批标志到就诊结算类型
 | 
	
		
			
				|  |  | +                        if (chargeDetailInfoVo.getHospApprFlag() == 0) {
 | 
	
		
			
				|  |  | +                            chargeDetailInfoVo.setMdtrtSetlType(1); // 医保结算
 | 
	
		
			
				|  |  | +                        } else if (chargeDetailInfoVo.getHospApprFlag() == 2) {
 | 
	
		
			
				|  |  | +                            chargeDetailInfoVo.setMdtrtSetlType(2); // 自费结算
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                      // 查询今日排队发药状态
 | 
	
		
			
				|  |  |                      YpPdQueue pdQueue = ypPdQueueService.selectYpPdQueueByPatientId(chargeDetailInfoVo.getPatientId());
 | 
	
	
		
			
				|  | @@ -568,6 +612,39 @@ public class MzPharmacyController {
 | 
	
		
			
				|  |  |                      MzZdSupplyType mzZdSupplyType = mzZdSupplyTypeService.selectMzZdSupplyTypeByCode(mzSendMedicineVo.getSupplyCode());
 | 
	
		
			
				|  |  |                      mzSendMedicineVo.setPrintName(mzZdSupplyType.getPrintName());
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | +                
 | 
	
		
			
				|  |  | +                // 获取药品相关信息
 | 
	
		
			
				|  |  | +                if (StringUtils.isNotBlank(mzSendMedicineVo.getChargeItemCode())) {
 | 
	
		
			
				|  |  | +                    // 获取药品字典信息
 | 
	
		
			
				|  |  | +                    YpZdDict ypZdDict = ypZdDictService.queryYpZdDictByCodeAndSerial(mzSendMedicineVo.getChargeItemCode(), mzSendMedicineVo.getSerial());
 | 
	
		
			
				|  |  | +                    if (ypZdDict != null) {
 | 
	
		
			
				|  |  | +                        // 设置处方药标志
 | 
	
		
			
				|  |  | +                        mzSendMedicineVo.setRxFlag(ypZdDict.getRxFlag());
 | 
	
		
			
				|  |  | +                        
 | 
	
		
			
				|  |  | +                        // 设置拆零标志:优先使用cl_flag,如果为空则根据serial判断
 | 
	
		
			
				|  |  | +                        String clFlag = ypZdDict.getClFlag();
 | 
	
		
			
				|  |  | +                        if (StringUtils.isBlank(clFlag)) {
 | 
	
		
			
				|  |  | +                            // 如果cl_flag为空,根据serial字段判断
 | 
	
		
			
				|  |  | +                            String serial = ypZdDict.getSerial();
 | 
	
		
			
				|  |  | +                            if ("99".equals(serial)) {
 | 
	
		
			
				|  |  | +                                clFlag = "0"; // 否
 | 
	
		
			
				|  |  | +                            } else {
 | 
	
		
			
				|  |  | +                                clFlag = "1"; // 是
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        mzSendMedicineVo.setClFlag(clFlag);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                
 | 
	
		
			
				|  |  | +                // 获取医院审批标志(从mz_charge_detail表获取)
 | 
	
		
			
				|  |  | +                if (mzSendMedicineVo.getHospApprFlag() != null) {
 | 
	
		
			
				|  |  | +                    // 映射医院审批标志到就诊结算类型
 | 
	
		
			
				|  |  | +                    if (mzSendMedicineVo.getHospApprFlag() == 0) {
 | 
	
		
			
				|  |  | +                        mzSendMedicineVo.setMdtrtSetlType(1); // 医保结算
 | 
	
		
			
				|  |  | +                    } else if (mzSendMedicineVo.getHospApprFlag() == 2) {
 | 
	
		
			
				|  |  | +                        mzSendMedicineVo.setMdtrtSetlType(2); // 自费结算
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              resultMap.put("code", 0);
 | 
	
		
			
				|  |  |              resultMap.put("message", "查询发药处理的处方详细信息成功");
 |