protected override int OnPrint(object sender, object neuObject) { if (this.isPrintRecipe) { this.ucClinicDrug1.Print(); } else { if (this.uc == null) { this.uc = new ucClinicTree(); this.uc.Init(); this.uc.OperDept = this.privDept; this.uc.OperInfo = this.privOper; } this.uc.terminal.ID = this.cmbSendTerminal.Tag.ToString(); Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRecipe = this.tvClinicTree1.SelectedNode.Tag as Neusoft.HISFC.Models.Pharmacy.DrugRecipe; List <Neusoft.HISFC.Models.Pharmacy.ApplyOut> alList = this.ucClinicDrug1.GetData(); this.uc.Print(drugRecipe, new ArrayList(alList.ToArray())); } return(base.OnPrint(sender, neuObject)); }
public override int Print(object sender, object neuObject) { Neusoft.HISFC.BizLogic.Pharmacy.DrugStore drugManager = new Neusoft.HISFC.BizLogic.Pharmacy.DrugStore(); if (this.neuSpread1_Sheet1.ActiveCell == null) { MessageBox.Show("没有查询出相关数据,打印无效!..."); return(1); } else { Neusoft.HISFC.Models.Pharmacy.DrugRecipe info = drugManager.GetDrugRecipe(this.operDept.ID, this.neuSpread1_Sheet1.Cells[this.neuSpread1_Sheet1.ActiveRow.Index, 0].Text); string detailState = "0"; if (info.RecipeState == "0" || info.RecipeState == "1") { detailState = "0"; } else if (info.RecipeState == "2") { detailState = "1"; } else { detailState = "2"; } ArrayList alInfo = new ArrayList(); alInfo = this.itemManager.QueryApplyOutListForClinic(this.operDept.ID, "M1", detailState, info.RecipeNO); Print(info, alInfo); return(base.Print(sender, neuObject)); } }
public virtual int AutoPrint() { if (this.tvList.Nodes.Count <= 0) { return(-1); } try { foreach (TreeNode deptNode in this.tvList.Nodes) { foreach (TreeNode terminalNode in deptNode.Nodes) { foreach (TreeNode recipeNode in terminalNode.Nodes) { Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRecipe = recipeNode.Tag as Neusoft.HISFC.Models.Pharmacy.DrugRecipe; if (drugRecipe.RecipeState != "0") { continue; } this.PrintLabel(recipeNode); } } } } catch (Exception ex) { MessageBox.Show(ex.Message); } return(1); }
protected TreeNode AddRecipeNode(Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRcipe) { TreeNode recipeNode = new TreeNode(drugRcipe.PatientName); recipeNode.Tag = drugRcipe; recipeNode.ImageIndex = 2; return(recipeNode); }
protected TreeNode AddTerminalNode(Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRecipe) { TreeNode terminalNode = new TreeNode(this.terminalHelper.GetName(drugRecipe.SendTerminal.ID)); terminalNode.Tag = drugRecipe.SendTerminal.ID; terminalNode.ImageIndex = 1; return(terminalNode); }
/// <summary> /// 添加科室节点 /// </summary> /// <param name="drugRecipe"></param> protected TreeNode AddDeptNode(Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRecipe) { TreeNode deptNode = new TreeNode(this.deptHelper.GetName(drugRecipe.StockDept.ID)); deptNode.ImageIndex = 0; deptNode.Tag = drugRecipe.StockDept.ID; this.tvList.Nodes.Add(deptNode); return(deptNode); }
/// <summary> /// 查找终端节点 /// </summary> /// <param name="drugRecipe"></param> /// <param name="deptNode"></param> /// <returns></returns> protected TreeNode FindTerminalNode(Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRecipe, TreeNode deptNode) { foreach (TreeNode terminalNode in deptNode.Nodes) { if (terminalNode.Tag.ToString() == drugRecipe.SendTerminal.ID) { return(terminalNode); } } return(null); }
protected TreeNode FindDeptNode(Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRecipe) { foreach (TreeNode node in this.tvList.Nodes) { if (node.Tag.ToString() == drugRecipe.StockDept.ID) { return(node); } } return(null); }
private void tvList_AfterSelect(object sender, TreeViewEventArgs e) { TreeNode selectNode = this.tvList.SelectedNode; if (selectNode.Tag is Neusoft.HISFC.Models.Pharmacy.DrugRecipe) { Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRecipe = selectNode.Tag as Neusoft.HISFC.Models.Pharmacy.DrugRecipe; this.ucClinicDrug1.OperDept = drugRecipe.StockDept; this.ucClinicDrug1.ShowData(drugRecipe); } }
/// <summary> /// 查找患者节点 /// </summary> /// <param name="drugRecipe"></param> /// <param name="deptNode"></param> /// <returns></returns> protected TreeNode FindPatientNode(Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRecipe, TreeNode terminalNode) { foreach (TreeNode patientNode in terminalNode.Nodes) { Neusoft.HISFC.Models.Pharmacy.DrugRecipe tempRecipe = patientNode.Tag as Neusoft.HISFC.Models.Pharmacy.DrugRecipe; if (tempRecipe.RecipeNO == drugRecipe.RecipeNO) { return(patientNode); } } return(null); }
/// <summary> /// 获取当前选中患者 /// </summary> /// <returns>成功返回当前选中患者信息 失败返回null</returns> protected List <Neusoft.HISFC.Models.Pharmacy.DrugRecipe> GetCheckPatient() { List <Neusoft.HISFC.Models.Pharmacy.DrugRecipe> alCheckPatient = new List <Neusoft.HISFC.Models.Pharmacy.DrugRecipe>(); //{021613AF-A133-46eb-9680-ACDBDF058FAE} 科室摆药 从二级节点获取患者 foreach (TreeNode node in this.tvClinicTree1.Nodes[0].Nodes) { if (node.Checked) { Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRecipe = node.Tag as Neusoft.HISFC.Models.Pharmacy.DrugRecipe; alCheckPatient.Add(drugRecipe); } } return(alCheckPatient); }
/// <summary> /// 申请信息显示 /// </summary> /// <param name="drugRecipe">门诊处方调剂信息</param> /// <param name="state">门诊处方状态</param> public virtual void ShowData(Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRecipe) { if (drugRecipe == null) { return; } this.tempDrugRecipe = drugRecipe; this.ShowPatientInfo(drugRecipe); string state = ""; switch (drugRecipe.RecipeState) { case "0": case "1": state = "0"; break; case "2": state = "1"; break; case "3": state = "2"; break; } Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); ArrayList al = itemManager.QueryApplyOutListForClinic(this.OperDept.ID, "M1", state, drugRecipe.RecipeNO); if (al == null) { MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("根据调剂信息获取申请明细信息发生错误") + itemManager.Err); return; } this.ShowData(al); }
private void tvClinicTree1_AfterSelect(object sender, TreeViewEventArgs e) { if (e.Node.Parent == null) { ArrayList alDeptDrug = this.itemManager.QueryClinicUnSendList(this.cmbRecipeDept.Tag.ToString()); if (alDeptDrug == null) { MessageBox.Show(Language.Msg("获取药品申请信息失败")); return; } this.ucClinicDrug1.ShowData(alDeptDrug); } if (e.Node != null && e.Node.Tag != null) { Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRecipe = e.Node.Tag as Neusoft.HISFC.Models.Pharmacy.DrugRecipe; if (drugRecipe != null) { this.ucClinicDrug1.ShowData(drugRecipe); } } }
void Neusoft.HISFC.BizProcess.Interface.Pharmacy.IDrugPrint.AddAllData(System.Collections.ArrayList al, Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRecipe) { throw new Exception("The method or operation is not implemented."); }
public void AddAllData(System.Collections.ArrayList al, Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRecipe) { throw new Exception("The method or operation is not implemented."); }
public void ShowInfo(Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRecipe) { this.neuLabel1.Text = drugRecipe.PatientName; }
void Neusoft.HISFC.BizProcess.Interface.Pharmacy.IDrugPrint.AddAllData(ArrayList al, Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRecipe) { if (al != null && al.Count > 0) { this.PatientInfo = reg.GetByClinic(drugRecipe.ClinicNO);//获取患者基本信息 this.SetRecipeByApplyOut(al); this.SetPatientInfo(this.PatientInfo); } }
private void ucClinicTree1_MyTreeSelectEvent(Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRecipe) { this.ucClinicDrug1.ShowData(drugRecipe); }
public override int Print(object sender, object neuObject) { Neusoft.HISFC.BizLogic.Pharmacy.DrugStore drugManager = new Neusoft.HISFC.BizLogic.Pharmacy.DrugStore(); Neusoft.HISFC.Models.Pharmacy.DrugRecipe info = drugManager.GetDrugRecipe(this.operDept.ID, this.neuSpread1_Sheet1.Cells[this.neuSpread1_Sheet1.ActiveRow.Index, 0].Text); string detailState = "0"; if (info.RecipeState == "0" || info.RecipeState == "1") { detailState = "0"; } else if (info.RecipeState == "2") { detailState = "1"; } else { detailState = "2"; } ArrayList alInfo = new ArrayList(); alInfo = this.itemManager.QueryApplyOutListForClinic(this.operDept.ID, "M1", detailState, info.RecipeNO); if (alInfo == null) { MessageBox.Show(itemManager.Err); return(-1); } //{9FA792B0-A60F-48d8-A3F5-1C52450C44A5} 获取打印类型 Neusoft.HISFC.Models.Pharmacy.DrugTerminal terminal = drugManager.GetDrugTerminal(info.DrugTerminal.ID); if (terminal == null) { MessageBox.Show("获取配药终端信息发生错误" + drugManager.Err); return(-1); } if (terminal.TerimalPrintType == Neusoft.HISFC.Models.Pharmacy.EnumClinicPrintType.标签) { this.isSendAllData = false; } else { this.isSendAllData = true; } if (this.factory == null) { MessageBox.Show("未设置配药台补打单据方式,无法进行打印", "", MessageBoxButtons.OK, MessageBoxIcon.Information); return(-1); } Neusoft.HISFC.Components.DrugStore.Function.IDrugPrint = factory.GetInstance(terminal); if (Neusoft.HISFC.Components.DrugStore.Function.IDrugPrint == null) { MessageBox.Show("未设置当前选择配药台的打印方式,无法进行打印", "", MessageBoxButtons.OK, MessageBoxIcon.Information); return(-1); } //{F1C6EB10-A23D-4249-BD0C-47329421B78B} 发药窗口号赋值 string sendWindow = ""; Neusoft.HISFC.Models.Pharmacy.DrugTerminal sendTerminal = drugManager.GetDrugTerminal(info.SendTerminal.ID); if (sendTerminal != null) { sendWindow = sendTerminal.Name; } ////{9FA792B0-A60F-48d8-A3F5-1C52450C44A5} 获取打印类型 Print(info, alInfo, sendWindow); return(base.Print(sender, neuObject)); }
/// <summary> /// 患者信息显示 /// </summary> protected virtual void ShowPatientInfo(Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRecipe) { try { if (this.IPatientShow != null) { this.IPatientShow.ShowInfo(drugRecipe); return; } //该处方的发票号,诊卡号,病人姓名(加粗放大),性别,年龄,收费员工号,医生姓名,收费时间 string strBase = ""; string strFee = ""; #region 设置显示信息初始字符串 string strDrugSend = " 配药时间:{0} 配药人:{1} 配药台:{2} 发药时间:{3} 发药人:{4} 发药台:{5}"; if (this.isPatientDetail) { strBase = " 发 票 号:{0} 门 诊 号:{1} 姓 名:{2} 性 别:{3} 年 龄:{4} 联系方式:{5} 家庭住址:{6}"; strFee = " 挂号日期:{0} 收费人:{1} 收费时间:{2} 看诊科室:{3} 医 生:{4} 诊断:{5}"; } else { strBase = " 发 票 号:{0} 门诊号:{1} 姓名:{2} 性别:{3} 年龄:{4}"; strFee = " 挂号日期:{0} 收费人:{1} 收费时间:{2} 看诊科室:{3} 医 生:{4}"; } #endregion Neusoft.FrameWork.Management.DataBaseManger dataBase = new Neusoft.FrameWork.Management.DataBaseManger(); string strAge = dataBase.GetAge(drugRecipe.Age); if (drugRecipe.RecipeNO != "" && drugRecipe.RecipeNO != null) { drugRecipe.Doct.Name = this.personHelper.GetName(drugRecipe.Doct.ID); drugRecipe.DoctDept.Name = this.deptHelper.GetName(drugRecipe.PatientDept.ID); drugRecipe.DrugTerminal.Name = this.terminalHelper.GetName(drugRecipe.DrugTerminal.ID); drugRecipe.SendTerminal.Name = this.terminalHelper.GetName(drugRecipe.SendTerminal.ID); if (this.isPatientDetail) { #region 显示患者明细信息 涉及挂号/病案业务层的 暂时先不写 //neusoft.HISFC.Management.Registration.Register regMgr = new neusoft.HISFC.Management.Registration.Register(); //neusoft.HISFC.Object.Registration.Register register = regMgr.QueryByClinic(drugRecipe.ClinicCode); //if (register != null) // this.lbBasePatientInfo.Text = string.Format(strBase, drugRecipe.InvoiceNo, drugRecipe.CardNo, drugRecipe.PatientName, drugRecipe.Sex.Name, strAge, register.Phone, register.Address); //else // this.lbBasePatientInfo.Text = string.Format(strBase, drugRecipe.InvoiceNo, drugRecipe.CardNo, drugRecipe.PatientName, drugRecipe.Sex.Name, strAge); //neusoft.HISFC.Management.Case.Diagnose diagnoseMgr = new neusoft.HISFC.Management.Case.Diagnose(); //ArrayList alDiagnose = diagnoseMgr.QueryCaseDiagnoseForClinic(drugRecipe.ClinicCode, neusoft.HISFC.Management.Case.frmTypes.DOC); //string diagnose = ""; //if (alDiagnose != null && alDiagnose.Count > 0) //{ // neusoft.HISFC.Object.Case.Diagnose diagnoseObj = alDiagnose[0] as neusoft.HISFC.Object.Case.Diagnose; // diagnose = diagnoseObj.DiagInfo.ICD10.Name; //} //this.lblPatientInfo.Text = string.Format(strFee, drugRecipe.RegDate.ToString(), drugRecipe.FeeOper, drugRecipe.FeeDate.ToString(), drugRecipe.DoctDept.Name, drugRecipe.Doct.Name, diagnose); #endregion } else { this.lbBasePatientInfo.Text = string.Format(strBase, drugRecipe.InvoiceNO, drugRecipe.CardNO, drugRecipe.PatientName, drugRecipe.Sex.Name, strAge); this.lblPatientInfo.Text = string.Format(strFee, drugRecipe.RegTime.ToString(), this.personHelper.GetName(drugRecipe.FeeOper.ID), drugRecipe.FeeOper.OperTime.ToString(), drugRecipe.DoctDept.Name, drugRecipe.Doct.Name); } this.lbDrugSendInfo.Text = string.Format(strDrugSend, drugRecipe.DrugedOper.OperTime.ToString(), this.personHelper.GetName(drugRecipe.DrugedOper.ID), drugRecipe.DrugTerminal.Name, drugRecipe.SendOper.OperTime.ToString(), this.personHelper.GetName(drugRecipe.SendOper.ID), drugRecipe.SendTerminal.Name); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// 执行打印 /// </summary> /// <param name="al">打印数据</param> /// <returns>成功返回1 失败返回-1</returns> internal int Print(Neusoft.HISFC.Models.Pharmacy.DrugRecipe drugRecipe, ArrayList al) { //一次只打印一个处方号的 //传入的时候按照组合号、院注标记分组 便于打印 //applyOut.User01 发药窗口号 applyOut.User02 院注次数 if (al.Count <= 0) { return(1); } Neusoft.HISFC.Models.Registration.Register patientInfo = null; //患者信息 #region 患者信息获取 //获取患者信息 Neusoft.HISFC.BizProcess.Integrate.Registration.Registration regManager = new Neusoft.HISFC.BizProcess.Integrate.Registration.Registration(); patientInfo = regManager.GetByClinic(drugRecipe.ClinicNO); #endregion #region 中药房草药、成药打印 if (this.isHerbalPrint) { patientInfo.User01 = drugRecipe.FeeOper.OperTime.ToString(); patientInfo.DoctorInfo.Templet.Doct.Name = this.personHelper.GetName(drugRecipe.Doct.ID); Function.IDrugPrint.OutpatientInfo = patientInfo; Function.IDrugPrint.AddAllData(al); Function.IDrugPrint.Print(); return(1); } #endregion #region 获取标签总页数 string privCombo = ""; //上次医嘱组合号 int iRecipeTotNum = 0; //本次需打印标签总页数 string recipeNo = ""; //处方号 foreach (Neusoft.HISFC.Models.Pharmacy.ApplyOut temp in al) { //temp.SendWindow = this.terminal.SendWindow.Name; if (privCombo == temp.CombNO && temp.CombNO != "") { continue; } else { iRecipeTotNum = iRecipeTotNum + 1; privCombo = temp.CombNO; } recipeNo = temp.RecipeNO; } #endregion Function.IDrugPrint.LabelTotNum = iRecipeTotNum; Function.IDrugPrint.DrugTotNum = al.Count; if (patientInfo != null) { patientInfo.User02 = al.Count.ToString(); patientInfo.User01 = drugRecipe.FeeOper.OperTime.ToString(); patientInfo.DoctorInfo.Templet.Doct.Name = this.personHelper.GetName(drugRecipe.Doct.ID); patientInfo.User03 = drugRecipe.RecipeNO; Function.IDrugPrint.OutpatientInfo = patientInfo; } privCombo = "-1"; ArrayList alCombo = new ArrayList(); if (true) { #region 标签打印 foreach (Neusoft.HISFC.Models.Pharmacy.ApplyOut info in al) { //info.SendWindow = this.terminal.SendWindow.Name; if (privCombo == "-1" || (privCombo == info.CombNO && info.CombNO != "")) { alCombo.Add(info); privCombo = info.CombNO; continue; } else //不同处方号 { if (alCombo.Count == 1) { Function.IDrugPrint.AddSingle(alCombo[0] as Neusoft.HISFC.Models.Pharmacy.ApplyOut); } else { Function.IDrugPrint.AddCombo(alCombo); } Function.IDrugPrint.Print(); privCombo = info.CombNO; alCombo = new ArrayList(); alCombo.Add(info); } } if (alCombo.Count == 0) { return(1); } if (alCombo.Count > 1) { Function.IDrugPrint.AddCombo(alCombo); } else { Function.IDrugPrint.AddSingle(alCombo[0] as Neusoft.HISFC.Models.Pharmacy.ApplyOut); } Function.IDrugPrint.Print(); #endregion } //else //{ // Function.IDrugPrint.AddAllData(al); // Function.IDrugPrint.Print(); //} return(1); }
/// <summary> /// 节点数据打印 /// </summary> /// <param name="printNode"></param> protected virtual int PrintLabel(TreeNode printNode) { ArrayList alValidate = new ArrayList(); Neusoft.HISFC.Models.Pharmacy.DrugRecipe info = printNode.Tag as Neusoft.HISFC.Models.Pharmacy.DrugRecipe; if (info == null) //点击药房或窗口时 该值为null { return(-1); } string detailState = "0"; if (info.RecipeState == "0" || info.RecipeState == "1") { detailState = "0"; } else if (info.RecipeState == "2") { detailState = "1"; } else { detailState = "2"; } ArrayList alInfo = this.itemManager.QueryApplyOutListForClinic(info.StockDept.ID, "M1", detailState, info.RecipeNO); if (alInfo == null) { MessageBox.Show(Language.Msg("打印摆药单 获取待摆药明细出错!") + itemManager.Err); return(-1); } //只取有效记录 alValidate = new ArrayList(); foreach (Neusoft.HISFC.Models.Pharmacy.ApplyOut applyOutTemp in alInfo) { if (applyOutTemp.ValidState != Neusoft.HISFC.Models.Base.EnumValidState.Invalid) { alValidate.Add(applyOutTemp); } } if (alValidate.Count > 0) { if (this.Print(info, alValidate) == -1) { return(-1); } } //更新打印标记 //对状态为0的数据更新打印标记 if (info.RecipeState == "0") { int parm = this.drugStoreManager.UpdateDrugRecipeState(info.StockDept.ID, info.RecipeNO, "M1", "0", "1"); if (parm == -1) { MessageBox.Show(Language.Msg("更新摆药单明细 未打印状态为已打印状态失败!") + this.drugStoreManager.Err); return(-1); } info.RecipeState = "1"; } return(1); }