/// <summary> /// 新增模版 /// </summary> public void New() { if (this.ucChooseList1.TvList.SelectedNode != null && this.ucChooseList1.TvList.SelectedNode.Parent == null) { TreeNode node = new TreeNode(); Neusoft.HISFC.Models.Pharmacy.DrugStencil drugStencil = new Neusoft.HISFC.Models.Pharmacy.DrugStencil(); drugStencil.Dept = this.privDept; drugStencil.OpenType.ID = this.stencilTypeID; this.stencil = new Neusoft.FrameWork.Models.NeuObject(); this.stencil.Name = "新建模版"; drugStencil.Stencil = this.stencil; node.Text = "新建模板"; node.Tag = drugStencil; node.ImageIndex = 1; node.SelectedImageIndex = 1; this.ucChooseList1.TvList.SelectedNode.Nodes.Add(node); this.ucChooseList1.TvList.SelectedNode = node; this.ucChooseList1.TvList.LabelEdit = true; node.BeginEdit(); } }
/// <summary> /// 添加数据 /// </summary> /// <param name="item">需添加的药品信息</param> /// <returns>成功返回1 失败返回-1</returns> private int AddData(Neusoft.HISFC.Models.Pharmacy.Item item) { try { string[] keys = new string[] { item.ID }; if (this.dt.Rows.Find(keys) != null) { MessageBox.Show(Language.Msg(item.Name + "已添加到模版内")); this.SetFocus(false); return(-1); } Neusoft.HISFC.Models.Pharmacy.DrugStencil drugStencil = new Neusoft.HISFC.Models.Pharmacy.DrugStencil(); drugStencil.Dept = this.privDept; drugStencil.OpenType.ID = this.stencilTypeID; drugStencil.Item = item; this.dt.Rows.Add(this.GetDataRow(drugStencil)); this.SetFocus(true); } catch (Exception ex) { MessageBox.Show(Language.Msg(ex.Message)); return(-1); } return(1); }
/// <summary> /// 根据数据集信息获取模版实体信息 /// </summary> /// <param name="dr">数据表信息</param> /// <returns>成功返回模版实体信息</returns> private Neusoft.HISFC.Models.Pharmacy.DrugStencil GetDrugStencil(DataRow dr) { Neusoft.HISFC.Models.Pharmacy.DrugStencil drugStencil = new Neusoft.HISFC.Models.Pharmacy.DrugStencil(); drugStencil.Dept = this.privDept; drugStencil.OpenType.ID = this.stencilTypeID; drugStencil.Stencil = this.stencil; drugStencil.Item.ID = dr["药品编码"].ToString(); drugStencil.Item.Name = dr["商品名称"].ToString(); drugStencil.Item.Specs = dr["规格"].ToString(); drugStencil.SortNO = Neusoft.FrameWork.Function.NConvert.ToInt32(dr["顺序号"]); return(drugStencil); }
/// <summary> /// 根据药品信息 生成DataRow /// </summary> /// <param name="drugStencil">药品信息</param> /// <returns>成功返回一行DataRow信息</returns> private System.Data.DataRow GetDataRow(Neusoft.HISFC.Models.Pharmacy.DrugStencil drugStencil) { Neusoft.HISFC.Models.Pharmacy.Item item = this.itemManager.GetItem(drugStencil.Item.ID); DataRow dr = this.dt.NewRow(); if (item != null) { dr["药品编码"] = item.ID; dr["商品名称"] = item.Name; dr["规格"] = item.Specs; dr["顺序号"] = drugStencil.SortNO; dr["操作员"] = drugStencil.Oper.ID; dr["操作时间"] = drugStencil.Oper.OperTime.ToString(); dr["拼音码"] = item.NameCollection.SpellCode; dr["五笔码"] = item.NameCollection.WBCode; dr["自定义码"] = item.NameCollection.UserCode; dr["通用名拼音码"] = item.NameCollection.RegularSpell.SpellCode; dr["通用名五笔码"] = item.NameCollection.RegularSpell.WBCode; } else { MessageBox.Show("药品列表中找不到模板中的" + drugStencil.Item.ID + drugStencil.Item.Name + "数据,请手工删除!"); dr["药品编码"] = drugStencil.Item.ID; dr["商品名称"] = drugStencil.Item.Name; dr["规格"] = drugStencil.Item.Specs; dr["顺序号"] = drugStencil.SortNO; dr["操作员"] = drugStencil.Oper.ID; dr["操作时间"] = drugStencil.Oper.OperTime.ToString(); dr["拼音码"] = drugStencil.Item.NameCollection.SpellCode; dr["五笔码"] = drugStencil.Item.NameCollection.WBCode; dr["自定义码"] = drugStencil.Item.NameCollection.UserCode; dr["通用名拼音码"] = drugStencil.Item.NameCollection.RegularSpell.SpellCode; dr["通用名五笔码"] = drugStencil.Item.NameCollection.RegularSpell.WBCode; } return(dr); }
/// <summary> /// 保存 /// </summary> public void Save() { if (this.dt.Rows.Count <= 0) { return; } Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); //Neusoft.FrameWork.Management.Transaction t = new Neusoft.FrameWork.Management.Transaction(Neusoft.FrameWork.Management.Connection.Instance); //t.BeginTransaction(); this.neuSpread1.StopCellEditing(); for (int i = 0; i < this.dt.DefaultView.Count; i++) { this.dt.DefaultView[i].EndEdit(); } this.itemManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); this.consManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); if (this.stencil == null || this.stencil.ID == "") { this.stencil.ID = this.consManager.GetNewStencilNO(); } Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm("正在保存模版 请稍候..."); Application.DoEvents(); DataTable dtChange = this.dt.GetChanges(System.Data.DataRowState.Modified | System.Data.DataRowState.Added); if (dtChange != null && dtChange.Rows.Count > 0) { foreach (DataRow dr in dtChange.Rows) { Neusoft.HISFC.Models.Pharmacy.DrugStencil temp = this.GetDrugStencil(dr); if (temp == null) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm(); MessageBox.Show(Language.Msg("由DataSet内获取变化后信息发生错误")); return; } if (temp.Stencil.Name.Length > 20)//{CFEA5C18-AA93-4687-97FB-96BB7D51A620} { Neusoft.FrameWork.Management.PublicTrans.RollBack(); Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm(); MessageBox.Show(Language.Msg("长度大于20,请重新录入")); return; } if (this.consManager.SetDrugStencil(temp) == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm(); MessageBox.Show(Language.Msg("更新模版信息失败" + this.consManager.Err)); return; } } } this.dt.AcceptChanges(); Neusoft.FrameWork.Management.PublicTrans.Commit(); Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm(); MessageBox.Show(Language.Msg("保存成功")); this.IsShowList = true; this.Clear(); this.ShowList(); if (this.ucChooseList1.TvList.SelectedNode != null) { if (this.ucChooseList1.TvList.SelectedNode.Parent != null) { this.ucChooseList1.TvList.SelectedNode = this.ucChooseList1.TvList.SelectedNode.Parent; } } }