//瓶贴打印 private void printLabel_Click(object sender, EventArgs e) { this.OnQueryLabelDetailsInfo(null, null); CJia.PIVAS.App.UI.Label.PrintLabelReport labelReport = new CJia.PIVAS.App.UI.Label.PrintLabelReport(); labelReport.allLabel = 1; DataRow label = cardView1.GetFocusedDataRow(); string labelId = label["LABEL_ID"].ToString(); CJia.PIVAS.Views.Label.QueryLabelViewEventArgs queryLabelViewEventArgs = new Views.Label.QueryLabelViewEventArgs() { LabelId = labelId }; this.OnUpdateBarCode(null, queryLabelViewEventArgs); DataRow[] labelInfos = this.LabelDetailInfo.Select("LABEL_ID = " + labelId); int allLabelCount = (labelInfos.Length - 1) / 4 + 1; for (int j = 1; j <= allLabelCount; j++) { DataTable reportDataSource = this.GetDataSource(labelInfos, j); DataTable barCode = (DataTable)this.OnGetLabelBarcode(labelId, j, allLabelCount); labelReport.DataBind(reportDataSource, allLabelCount, j, barCode.Rows[0]["LABEL_BAR_ID"].ToString(), (DateTime)barCode.Rows[0]["CREATE_DATE"]); labelReport.LabelPrint(); this.OnUpdateLabelPrintStatus(labelId); } if (labelReport.PringedLabel > 0) { Message.Show("因为该瓶贴对应的医嘱停用或未通过审核!所以不能打印该瓶贴!"); } }
//查询摆药单事件绑定方法 void View_QueryArrangeEvent(object sender, Views.Label.QueryLabelViewEventArgs e) { CJia.PIVAS.Tools.LabelFilter.SelectDate = e.QueryTime; DataTable result = this.Model.QueryArrangeCollect(e.QueryTime); this.View.ExeBindingArrange(result); }
//刷新按钮单机事件绑定方法 private void btnRefresh_Click(object sender, EventArgs e) { CJia.PIVAS.Views.Label.QueryLabelViewEventArgs eventArge = new Views.Label.QueryLabelViewEventArgs() { QueryTime = this.dtpQueryTime.Value }; this.OnQueryArrangeEvent(null, eventArge); }
//打印瓶贴 private void btnPrintLabel_Click(object sender, EventArgs e) { if (this.LabelDetail == null || this.LabelDetail.Rows == null || this.LabelDetail.Rows.Count == 0) { Message.Show("没有要打印的瓶贴!"); } else { Form form = new Form(); form.Size = new System.Drawing.Size(300, 200); form.AutoSize = true; form.FormBorderStyle = FormBorderStyle.FixedDialog; form.MaximizeBox = false; CJia.PIVAS.App.UI.Label.PrintLabelView printLabel = new PrintLabelView(this.LabelDetail); form.Controls.Add(printLabel); printLabel.Dock = DockStyle.Fill; form.StartPosition = FormStartPosition.CenterParent; form.ShowDialog(); if (printLabel.IsPrint) { int startPage = printLabel.StartNum; int stopPage = printLabel.EndNum; this.OnQueryLabelDetailsInfo(null, null); CJia.PIVAS.App.UI.Label.PrintLabelReport labelReport = new CJia.PIVAS.App.UI.Label.PrintLabelReport(); labelReport.allLabel = stopPage - startPage + 1; DateTime now = CJia.PIVAS.Tools.Helper.Sysdate; for (int i = startPage; i <= stopPage; i++) { string labelId = this.LabelDetail.Rows[i - 1]["LABEL_ID"].ToString(); CJia.PIVAS.Views.Label.QueryLabelViewEventArgs queryLabelViewEventArgs = new Views.Label.QueryLabelViewEventArgs() { LabelId = labelId }; this.OnUpdateBarCode(null, queryLabelViewEventArgs); DataRow[] labelInfos = this.LabelDetailInfo.Select("LABEL_ID = " + labelId); if (labelInfos != null && labelInfos.Length != 0) { string GroupIndex = this.LabelDetail.Rows[i - 1]["GROUP_INDEX"].ToString(); this.SendPharm(GroupIndex); } int allLabelCount = (labelInfos.Length - 1) / 4 + 1; for (int j = 1; j <= allLabelCount; j++) { DataTable reportDataSource = this.GetDataSource(labelInfos, j); DataTable barCode = (DataTable)this.OnGetLabelBarcode(labelId, j, allLabelCount); labelReport.DataBind(reportDataSource, allLabelCount, j, barCode.Rows[0]["LABEL_BAR_ID"].ToString(), (DateTime)barCode.Rows[0]["CREATE_DATE"]); labelReport.LabelPrint(); this.OnUpdateLabelPrintStatus(labelId); } } if (labelReport.PringedLabel > 0) { Message.Show("成功打印" + (labelReport.allLabel - labelReport.PringedLabel) + "张瓶贴!忽略" + labelReport.PringedLabel + "张瓶贴!" + "因为这些瓶贴对应的医嘱未通过审核!"); } } } }
//查询瓶贴汇总 void View_QueryLabelCollect(object sender, Views.Label.QueryLabelViewEventArgs e) { List <object> SelectArrangeIdList = CJia.PIVAS.Tools.LabelFilter.ArrangeIds; List <object> PharmTypes = this.GetPharmTypeFilter(); List <object> Bacths = this.GetBacthsFilter(); List <object> Bens = this.GetBensFilter(); DataTable result = this.Model.QueryLabelCollectByArrangeId(SelectArrangeIdList, PharmTypes, Bacths, Bens); this.View.ExeBindingLabelCollect(result); }
//查询药品汇总信息 void View_OnQueryPharmCollect(object sender, Views.Label.QueryLabelViewEventArgs e) { List <object> SelectArrangeIdList = CJia.PIVAS.Tools.LabelFilter.ArrangeIds; List <object> PharmTypes = this.GetPharmTypeFilter(); List <object> Bacths = this.GetBacthsFilter(); List <object> Bens = this.GetBensFilter(); List <object> OrderBy = this.GetOrderByFilter(); OrderBy.Add(" spl.LABEL_ID asc "); DataTable result = this.Model.QueryPharmCollect(SelectArrangeIdList, PharmTypes, Bacths, Bens, OrderBy); this.View.ExeBindingPharmCollect(result); }
//摆药单选着双击事件绑定方法 private void gdcArrange_DoubleClick(object sender, EventArgs e) { DataRow selectRow = this.gdvArrange.GetFocusedDataRow(); object selectCol = this.gdvArrange.GetFocusedValue(); List <object> selectArrangeIdList = this.GetSelectArrangeIdList(selectRow, selectCol); CJia.PIVAS.Views.Label.QueryLabelViewEventArgs eventArgs = new Views.Label.QueryLabelViewEventArgs() { SelectArrangeIdList = selectArrangeIdList }; this.OnModifFilterArrange(null, eventArgs); this.OnQueryLabelCollect(null, null); this.OnQueryLabelDetails(null, null); }
//查询所有病区批次的摆药单信息 void View_QueryAlllIffieldBachLabelCollect(object sender, Views.Label.QueryLabelViewEventArgs e) { List <object> SelectArrangeIdList = CJia.PIVAS.Tools.LabelFilter.ArrangeIds; List <object> PharmTypes = new List <object>(); if (CJia.PIVAS.Tools.LabelFilter.PharmType != null) { foreach (CheckedListBoxItem a in CJia.PIVAS.Tools.LabelFilter.PharmType.Items) { if (a.CheckState == System.Windows.Forms.CheckState.Checked) { PharmTypes.Add(a.Value); } } } List <object> Bacths = new List <object>(); if (CJia.PIVAS.Tools.LabelFilter.LabelBacth != null) { foreach (CheckedListBoxItem a in CJia.PIVAS.Tools.LabelFilter.LabelBacth.Items) { if (a.CheckState == System.Windows.Forms.CheckState.Checked) { Bacths.Add(a.Value); } } } List <object> Bens = new List <object>(); if (CJia.PIVAS.Tools.LabelFilter.IllfileBens != null) { foreach (CheckedListBoxItem a in CJia.PIVAS.Tools.LabelFilter.IllfileBens.Items) { if (a.CheckState == System.Windows.Forms.CheckState.Checked) { Bens.Add(a.Value); } } } List <object> OrderBy = new List <object>(); if (CJia.PIVAS.Tools.LabelFilter.UseOrderBy != null) { foreach (string a in CJia.PIVAS.Tools.LabelFilter.UseOrderBy.Items) { if (a == "药品类型[升序]") { OrderBy.Add(" spl.pivas_pharm_type asc "); } else if (a == "药品类型[倒序]") { OrderBy.Add(" spl.pivas_pharm_type desc "); } else if (a == "瓶贴批次[升序]") { OrderBy.Add(" spl.batch_id asc "); } else if (a == "瓶贴批次[倒序]") { OrderBy.Add(" spl.batch_id desc "); } else if (a == "病区名称[升序]") { OrderBy.Add(" spl.illfield_name asc "); } else if (a == "病区名称[倒序]") { OrderBy.Add(" spl.illfield_name desc "); } } } OrderBy.Add(" spl.LABEL_ID asc "); DataTable result = this.Model.QueryAllIllfieldBacthLabelCollectByArrangeId(SelectArrangeIdList, PharmTypes, Bacths, Bens, OrderBy); this.View.ExeBindingAlllIffieldBachLabelCollect(result); }
//修改过滤条件 void View_ModifFilterArrange(object sender, Views.Label.QueryLabelViewEventArgs e) { CJia.PIVAS.Tools.LabelFilter.ArrangeIds = e.SelectArrangeIdList; this.InitIffieldBen(this.Model.QuseryIffieldBed(e.SelectArrangeIdList)); }
//修改条形码状态 void View_OnUpdateBarCode(object sender, Views.Label.QueryLabelViewEventArgs e) { this.Model.UpdateBarCodeStatus(e.LabelId); }