/// <summary> /// 取消作废 /// </summary> /// <returns>成功返回1 失败返回-1</returns> protected int UnCancelApply() { //Neusoft.FrameWork.Management.Transaction t = new Transaction(Neusoft.FrameWork.Management.Connection.Instance); //t.BeginTransaction(); Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); //itemManager.SetTrans(t.Trans); //{E8849BB0-3C69-4d60-8771-C201E445BD5D} 预扣库存的判断处理 Neusoft.HISFC.BizProcess.Integrate.Common.ControlParam ctrlIntegrate = new Neusoft.HISFC.BizProcess.Integrate.Common.ControlParam(); bool isPreOut = ctrlIntegrate.GetControlParam <bool>(Neusoft.HISFC.BizProcess.Integrate.PharmacyConstant.InDrug_Pre_Out, false, true); string applyID = this.fpCancelApply_Sheet1.Cells[this.fpCancelApply_Sheet1.ActiveRowIndex, (int)ColumnSet.ColID].Text; Neusoft.HISFC.Models.Pharmacy.ApplyOut applyOut = this.hsApply[applyID] as Neusoft.HISFC.Models.Pharmacy.ApplyOut; //取消作废摆药申请 //{E8849BB0-3C69-4d60-8771-C201E445BD5D} 传入参数调整 if (itemManager.UndoCancelApplyOutByID(applyOut.ID, isPreOut) == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Language.Msg("取消作废摆药申请失败")); return(-1); } //取消作废医嘱执行档 Neusoft.FrameWork.Management.PublicTrans.Commit(); MessageBox.Show(Language.Msg("取消作废申请成功")); this.AddRemoveCancelApply(false); return(1); }
/// <summary> /// 初始化 /// </summary> private void Init() { Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); List <Neusoft.HISFC.Models.Pharmacy.Item> itemList = itemManager.QueryItemList(true); if (itemList == null) { MessageBox.Show(Language.Msg("基础数据初始化 加载药品列表发生错误") + itemManager.Err); return; } foreach (Neusoft.HISFC.Models.Pharmacy.Item item in itemList) { item.Memo = item.Specs; } this.cmbDrug.AddItems(new ArrayList(itemList.ToArray())); itemList.Clear(); itemList = null; DateTime sysTime = itemManager.GetDateTimeFromSysDateTime(); this.dtEnd.Value = sysTime.AddHours(1); this.dtBegin.Value = sysTime.AddDays(-7); }
public void AddBackFeeItem(int iIndex, Neusoft.HISFC.Models.Fee.Outpatient.FeeItemList infoItem) { //this.Clear(); Neusoft.HISFC.BizLogic.Pharmacy.Item con = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); Neusoft.HISFC.Models.Pharmacy.Item item = con.GetItem(infoItem.Item.ID); this.GetRecipeLabelItem(infoItem.FeeOper.Dept.ID, infoItem.Item.ID, ref item); //设置患者信息显示、发药信息 this.SetPatiAndSendInfo(infoItem); if (infoItem.Item.Qty < 0) { this.neuLabel1.Text = "无锡市妇幼保健院退药清单"; } //退改药标志 this.fpSpread1_Sheet1.AddRows(iIndex * 2, 2); this.fpSpread1_Sheet1.Rows[this.fpSpread1_Sheet1.Rows.Count - 1].Font = new System.Drawing.Font("宋体", 9.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.fpSpread1_Sheet1.Cells[this.fpSpread1_Sheet1.Rows.Count - 2, 0].Text = item.NameCollection.RegularName; this.fpSpread1_Sheet1.Cells[this.fpSpread1_Sheet1.Rows.Count - 1, 0].Text = " [" + item.Name + "]"; this.fpSpread1_Sheet1.Cells[this.fpSpread1_Sheet1.Rows.Count - 2, 1].Text = item.Specs; this.fpSpread1_Sheet1.Cells[this.fpSpread1_Sheet1.Rows.Count - 1, 1].Text = " "; this.fpSpread1_Sheet1.Cells[this.fpSpread1_Sheet1.Rows.Count - 2, 2].Text = infoItem.Item.Qty + infoItem.Item.PriceUnit; this.fpSpread1_Sheet1.Cells[this.fpSpread1_Sheet1.Rows.Count - 2, 3].Text = " "; this.fpSpread1_Sheet1.Cells[this.fpSpread1_Sheet1.Rows.Count - 2, 4].Text = infoItem.Item.Price.ToString(); this.fpSpread1_Sheet1.Cells[this.fpSpread1_Sheet1.Rows.Count - 2, 5].Text = "80%"; TotCost += infoItem.Item.Qty * infoItem.Item.Price; this.lblTotCost.Text = TotCost.ToString(); }
/// <summary> /// 申请明细信息加载 /// </summary> /// <returns></returns> protected int QueryApplyDetail(int rowIndex) { Neusoft.FrameWork.Models.NeuObject info = this.fsApplyData_List.Rows[rowIndex].Tag as Neusoft.FrameWork.Models.NeuObject; string listNO = this.fsApplyData_List.Cells[rowIndex, 1].Text; Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); ArrayList alDetail = itemManager.QueryApplyOutInfoByListCode(info.Memo, listNO, "0"); if (alDetail == null) { System.Windows.Forms.MessageBox.Show(Language.Msg("未正确获取内部入库申请信息" + itemManager.Err)); return(-1); } this.fsApplyData_Detail.Rows.Count = 0; foreach (Neusoft.HISFC.Models.Pharmacy.ApplyOut applyOut in alDetail) { this.fsApplyData_Detail.Rows.Add(0, 1); this.fsApplyData_Detail.Cells[0, 0].Text = applyOut.Item.Name; this.fsApplyData_Detail.Cells[0, 1].Text = applyOut.Item.Specs; this.fsApplyData_Detail.Cells[0, 2].Text = applyOut.Operation.ApplyQty.ToString(); this.fsApplyData_Detail.Cells[0, 3].Text = applyOut.Operation.ApproveQty.ToString(); this.fsApplyData_Detail.Cells[0, 4].Text = applyOut.Item.MinUnit; } return(1); }
public ucDrugStoreQuery(string drugCode) : this() { this.neuSpread1_Sheet1.Rows.Count = 0; Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); ArrayList alStorage = itemManager.QueryStoreDeptList(drugCode); if (alStorage == null) { MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("根据药品编码检索库存信息失败")); return; } foreach (Neusoft.HISFC.Models.Pharmacy.Storage storage in alStorage) { this.neuSpread1_Sheet1.Rows.Add(0, 1); this.neuSpread1_Sheet1.Cells[0, 0].Text = storage.StockDept.Name; this.neuSpread1_Sheet1.Cells[0, 1].Text = storage.Item.Name; this.neuSpread1_Sheet1.Cells[0, 2].Text = storage.Item.Specs; this.neuSpread1_Sheet1.Cells[0, 3].Text = storage.BatchNO; this.neuSpread1_Sheet1.Cells[0, 4].Text = storage.Item.Product.Producer.ID; this.neuSpread1_Sheet1.Cells[0, 5].Text = storage.StoreQty.ToString("N"); this.neuSpread1_Sheet1.Cells[0, 6].Text = storage.Item.MinUnit; } }
private void neuSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e) { string strCode = this.fpDrugList.Cells[e.Row, 0].Text; Neusoft.HISFC.BizLogic.Pharmacy.Item Pitem = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); Neusoft.HISFC.Models.Pharmacy.Item al = new Neusoft.HISFC.Models.Pharmacy.Item(); al = Pitem.GetItem(strCode); this.neutext.Text = al.Product.Manual; }
/// <summary> /// 初始化基本数据 /// </summary> private void InitConstant( ) { //获取药品简单信息列表 Neusoft.HISFC.BizLogic.Pharmacy.Item item = new Neusoft.HISFC.BizLogic.Pharmacy.Item( ); List <Neusoft.HISFC.Models.Pharmacy.Item> alDrug = item.QueryItemAvailableList( ); if (alDrug == null) { MessageBox.Show(item.Err); return; } else //转换成ArrayList { this.drugItemList = new ArrayList(alDrug.ToArray( )); } //获取科室信息列表 this.deptList = manager.GetDepartment(Neusoft.HISFC.Models.Base.EnumDepartmentType.C); if (deptList == null) { MessageBox.Show(manager.Err); return; } //获取结算类别 //this.feeItemList = manager.GetConstantList( Neusoft.HISFC.Models.Base.EnumConstant.PACTUNIT ); Neusoft.HISFC.BizProcess.Integrate.Fee feeIntegrate = new Neusoft.HISFC.BizProcess.Integrate.Fee(); this.feeItemList = feeIntegrate.QueryPactUnitAll(); if (feeItemList == null) { MessageBox.Show(feeIntegrate.Err); return; } //获取人员列表 ArrayList al = manager.QueryEmployeeAll( ); if (al == null) { MessageBox.Show(manager.Err); return; } this.personHelper.ArrayObject = al; //获取挂号级别(暂时屏蔽) //Neusoft.HISFC.BizLogic.Registration.RegLevel regLevelManager = new Neusoft.HISFC.BizLogic.Registration.RegLevel( ); //this.regLevelList = regLevelManager.Query( ); //if( this.regLevelList == null ) //{ // MessageBox.Show( "获取挂号级别出错" + regLevelManager.Err ); // return -1; //} return; }
/// <summary> /// 入库计划单据列表 /// </summary> /// <param name="privDept">权限科室</param> /// <param name="planState">计划状态</param> public void ShowInPlanList(Neusoft.FrameWork.Models.NeuObject privDept, string planState) { this.Nodes.Clear(); Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); ArrayList alList = itemManager.QueryInPLanList(privDept.ID, "0"); if (alList == null) { System.Windows.Forms.MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("获取入库计划单列表发生错误" + itemManager.Err)); return; } if (alList.Count == 0) { this.Nodes.Add(new System.Windows.Forms.TreeNode("没有入库计划单", 0, 0)); } else { System.Windows.Forms.TreeNode parentNode = new System.Windows.Forms.TreeNode("入库计划单列表", 0, 0); this.Nodes.Add(parentNode); System.Windows.Forms.TreeNode node; string temp = ""; foreach (Neusoft.FrameWork.Models.NeuObject info in alList) { node = new System.Windows.Forms.TreeNode(); if (planState == "0") { node.Text = info.ID + " 【计划单】"; } else { node.Text = info.ID + " 【采购单】"; } node.ImageIndex = 2; node.SelectedImageIndex = 4; info.Memo = planState; node.Tag = info; if (temp != info.ID) { parentNode.Nodes.Add(node); } temp = info.ID; } this.Nodes[0].ExpandAll(); this.SelectedNode = this.Nodes[0]; } }
private void Query() { ArrayList al = new ArrayList(); string state = "1"; switch (this.cmbState.Text) { case "申请": state = "0"; break; case "审批": state = "1"; break; case "核准": state = "2"; break; } Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); if (this.noType == "0") { al = itemManager.QueryInputInfoByInvoice(this.deptInfo.ID, this.txtNO.Text, state); if (al == null) { MessageBox.Show("根据发票号获取入库信息发生错误"); return; } } else { al = itemManager.QueryInputInfoByListID(this.deptInfo.ID, this.txtNO.Text, "AAAA", state); if (al == null) { MessageBox.Show("根据单据号获取入库信息发生错误"); return; } } this.neuSpread1_Sheet1.Rows.Count = 0; foreach (Neusoft.HISFC.Models.Pharmacy.Input info in al) { this.neuSpread1_Sheet1.Rows.Add(0, 1); this.neuSpread1_Sheet1.Cells[0, 0].Value = true; this.neuSpread1_Sheet1.Cells[0, 1].Text = info.InListNO; this.neuSpread1_Sheet1.Cells[0, 2].Text = info.InvoiceNO; this.neuSpread1_Sheet1.Cells[0, 3].Text = this.companyHerlper.GetName(info.Company.ID); this.neuSpread1_Sheet1.Cells[0, 4].Text = info.Item.Name + "【" + info.Item.Specs + "】"; this.neuSpread1_Sheet1.Cells[0, 5].Text = (info.Quantity / info.Item.PackQty).ToString("N"); this.neuSpread1_Sheet1.Cells[0, 6].Text = info.Item.PackUnit; this.neuSpread1_Sheet1.Rows[0].Tag = info; } }
public int GetItemExtendInfo(string ItemID, ref string ExtendInfoTxt, ref System.Collections.ArrayList AlExtendInfo) { string txtReturn = string.Empty; ArrayList al = new ArrayList(); Neusoft.HISFC.BizLogic.Fee.Item itemMgr = new Neusoft.HISFC.BizLogic.Fee.Item(); Neusoft.HISFC.BizLogic.Fee.UndrugPackAge undrugPkgMgr = new Neusoft.HISFC.BizLogic.Fee.UndrugPackAge(); Neusoft.HISFC.BizLogic.Pharmacy.Item phaMgr = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); //{A79FEAFD-BD92-4bff-A74B-A41055D8D15F} Neusoft.HISFC.BizLogic.Fee.Interface feeInterface = new Neusoft.HISFC.BizLogic.Fee.Interface(); if (this.itemType == Neusoft.HISFC.Models.Base.EnumItemType.Drug) { Neusoft.HISFC.Models.Pharmacy.Item drug = null; #region addby xuewj 2010-9-15 {A79FEAFD-BD92-4bff-A74B-A41055D8D15F} drug = phaMgr.GetItem(ItemID); #region addby xuewj 2010-10-1 {EA10BA8E-CBF4-4348-8BCE-9AD0D193CAE1} string rtnindication = feeInterface.ShowItemIndicationByPactAndItemCode(this.pactInfo.ID, ItemID); #endregion string baseDrugInfo = drug.ExtendData2; string rtn = feeInterface.ShowItemGradeByPactAndItemCode(this.pactInfo.ID, ItemID); txtReturn = "药品编码:" + drug.ID + "\r\n" + "药品名称:" + drug.Name + "\r\n" + "自负比例:" + rtn + "\r\n" + "国家基本药物编码:" + baseDrugInfo + "\r\n" + "适应症:" + rtnindication + "\r\n" + "使用限制等级:" + "" + "\r\n" +//{EA10BA8E-CBF4-4348-8BCE-9AD0D193CAE1} "说明书:" + drug.Product.Manual + "\r\n"; #endregion } if (this.itemType == Neusoft.HISFC.Models.Base.EnumItemType.UnDrug) { Neusoft.HISFC.Models.Fee.Item.Undrug undrug = null; undrug = itemMgr.GetValidItemByUndrugCode(ItemID); #region {A79FEAFD-BD92-4bff-A74B-A41055D8D15F} //if (undrug != null && undrug.UnitFlag == "1") //{ // al = undrugPkgMgr.QueryUndrugPackagesBypackageCode(undrug.ID); //} if (undrug != null) { #region addby xuewj 2010-10-1 {EA10BA8E-CBF4-4348-8BCE-9AD0D193CAE1} string rtnindication = feeInterface.ShowItemIndicationByPactAndItemCode(this.pactInfo.ID, ItemID); #endregion string rtn = feeInterface.ShowItemGradeByPactAndItemCode(this.pactInfo.ID, ItemID); txtReturn = "非药品编码:" + undrug.ID.Trim() + " " + "非药品名称:" + undrug.Name.Trim() + " " + "自负比例:" + rtn + " " + "适应症:" + rtnindication.Trim(); } #endregion } ExtendInfoTxt = txtReturn; AlExtendInfo = al; return(1); }
/// <summary> /// ³õʼ»¯ /// </summary> private void Init() { Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); List <Neusoft.HISFC.Models.Pharmacy.Item> itemList = itemManager.QueryItemList(true); //this.cmbDrug.AddItems(new ArrayList(itemList.ToArray())); Neusoft.HISFC.BizLogic.Manager.Department deptManager = new Neusoft.HISFC.BizLogic.Manager.Department(); ArrayList alDept = deptManager.GetDeptmentAll(); this.deptHelper = new Neusoft.FrameWork.Public.ObjectHelper(alDept); #region ¼ÓÔØSql this.sql1 = @" select s.trade_name Ò©Æ·Ãû³Æ,s.specs ¹æ¸ñ, s.pack_unit µ¥Î», s.spell_code Æ´ÒôÂë,s.wb_code Îå±ÊÂë,s.custom_code ×Ô¶¨ÒåÂë, s.DRUG_CODE Ò©Æ·±àÂë, s.valid_state Í£Óà from pha_com_baseinfo s where s.VALID_STATE = '1'"; // this.sql1 = @" //select s.trade_name Ò©Æ·Ãû³Æ,s.specs ¹æ¸ñ,t.drug_dept_code ¿â´æ¿ÆÊÒ, // round(t.store_sum / t.pack_qty,2) ¿â´æÁ¿,s.pack_unit µ¥Î», // s.spell_code Æ´ÒôÂë,s.wb_code Îå±ÊÂë,s.custom_code ×Ô¶¨ÒåÂë, // t.drug_code Ò©Æ·±àÂë,t.drug_dept_code ¿â´æ±àÂë,t.valid_state Í£Óà //from pha_com_stockinfo t,pha_com_baseinfo s //where t.drug_code = s.drug_code"; // this.sql2 = @" //select s.trade_name Ò©Æ·Ãû³Æ,s.specs ¹æ¸ñ,t.drug_dept_code ¿â´æ¿ÆÊÒ, // round(t.store_sum / t.pack_qty,2) ¿â´æÁ¿,s.pack_unit µ¥Î», // s.spell_code Æ´ÒôÂë,s.wb_code Îå±ÊÂë,s.custom_code ×Ô¶¨ÒåÂë, // t.drug_code Ò©Æ·±àÂë,t.drug_dept_code ¿â´æ±àÂë,t.valid_state Í£Óà //from pha_com_stockinfo t,pha_com_baseinfo s //where t.drug_code = '{0}' //and t.drug_code = s.drug_code"; // this.sql3 = @"select t.group_code Åú´Î,t.batch_no ÅúºÅ,s.trade_name Ò©Æ·Ãû³Æ,s.specs ¹æ¸ñ, // round(t.store_sum / t.pack_qty,2) ¿â´æÁ¿,s.pack_unit µ¥Î», // s.spell_code Æ´ÒôÂë,s.wb_code Îå±ÊÂë,s.custom_code ×Ô¶¨ÒåÂë, // t.drug_code Ò©Æ·±àÂë,t.drug_dept_code ¿â´æ±àÂë //from pha_com_storage t,pha_com_baseinfo s //where t.drug_code = '{0}' //and t.drug_dept_code = '{1}' //and t.drug_code = s.drug_code //"; #endregion this.neuSpread1_Sheet1.DefaultStyle.Locked = true; this.neuSpread1_Sheet2.DefaultStyle.Locked = true; }
/// <summary> /// 初始化 外部调用初始化 /// </summary> /// <returns>成功返回1 发生错误返回-1</returns> public int Init() { Neusoft.HISFC.BizLogic.Manager.Department deptMgr = new Neusoft.HISFC.BizLogic.Manager.Department(); ArrayList al = deptMgr.GetDeptmentAll(); if (al == null) { MessageBox.Show(Language.Msg("获取药房列表发生错误" + deptMgr.Err)); return(-1); } ArrayList alDept = new ArrayList(); foreach (Neusoft.HISFC.Models.Base.Department info in al) { if (info.DeptType.ID.ToString() == "P" || info.DeptType.ID.ToString() == "PI") { alDept.Add(info); } } Neusoft.FrameWork.Models.NeuObject deptAll = new Neusoft.FrameWork.Models.NeuObject(); deptAll.ID = "AAAA"; deptAll.Name = "全部"; alDept.Insert(0, deptAll); this.cmbDept.AddItems(alDept); this.deptHelper = new Neusoft.FrameWork.Public.ObjectHelper(alDept); Neusoft.HISFC.BizLogic.Pharmacy.Item itemMgr = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); List <Neusoft.HISFC.Models.Pharmacy.Item> listDrug = itemMgr.QueryItemAvailableList(true); if (listDrug == null) { MessageBox.Show(Language.Msg("获取药品列表发生错误" + itemMgr.Err)); return(-1); } ArrayList alDrug = new ArrayList(); Neusoft.FrameWork.Models.NeuObject drugInfo = new Neusoft.FrameWork.Models.NeuObject(); foreach (Neusoft.HISFC.Models.Pharmacy.Item info in listDrug) { drugInfo = new Neusoft.FrameWork.Models.NeuObject(); drugInfo.ID = info.ID; drugInfo.Name = info.Name; drugInfo.Memo = info.Specs; drugInfo.User01 = info.MinUnit; alDrug.Add(drugInfo); } this.cmbItem.AddItems(alDrug); this.drugHelpter = new Neusoft.FrameWork.Public.ObjectHelper(alDrug); return(1); }
private void neuSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e) { string strCode = this.fpDrugList.Cells[e.Row, 0].Text; Neusoft.HISFC.BizLogic.Pharmacy.Item Pitem = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); Neusoft.HISFC.Models.Pharmacy.Item item = new Neusoft.HISFC.Models.Pharmacy.Item(); item = Pitem.GetItem(strCode); this.tpDescription.Text = item.Name + " [ " + item.Specs + " ] 药品详细信息"; this.neutext.Text = item.Product.Manual; }
/// <summary> /// 向FarPoint内加入数据 /// 添加了货位好的显示 /// add by zengft 2007-4-30 /// </summary> /// <param name="item">药品实体</param> public void AddData(Neusoft.HISFC.Models.Pharmacy.Item item, string deptCode) { if (item == null) { return; } //add by zengft 2007-4-30 Neusoft.HISFC.BizLogic.Pharmacy.Item itm = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); Neusoft.HISFC.Models.Pharmacy.Storage s = new Neusoft.HISFC.Models.Pharmacy.Storage(); s = itm.GetStockInfoByDrugCode(deptCode, item.ID); //end add int iRow = this.fpSpread1_Sheet1.Rows.Count; this.fpSpread1_Sheet1.Rows.Add(iRow, 1); this.fpSpread1_Sheet1.Cells[iRow, (int)ColEnum.ColTradeName].Text = item.Name; this.fpSpread1_Sheet1.Cells[iRow, (int)ColEnum.ColSpecs].Text = item.Specs; if (item.PackQty == 0) { item.PackQty = 1; } if (item.Type.ID == "C") { this.fpSpread1_Sheet1.Cells[iRow, (int)ColEnum.ColPrice].Text = System.Math.Round((item.PriceCollection.RetailPrice / item.PackQty), 4).ToString(); } else { this.fpSpread1_Sheet1.Cells[iRow, (int)ColEnum.ColPrice].Text = System.Math.Round((item.PriceCollection.RetailPrice / item.PackQty), 2).ToString(); } if (IsClinic) { if (item.SplitType.Equals(0)) { this.fpSpread1_Sheet1.Cells[iRow, (int)ColEnum.ColUnit].Text = item.MinUnit; } else { this.fpSpread1_Sheet1.Cells[iRow, (int)ColEnum.ColUnit].Text = item.PackUnit; } } else { this.fpSpread1_Sheet1.Cells[iRow, (int)ColEnum.ColUnit].Text = item.MinUnit; } this.fpSpread1_Sheet1.Rows[iRow].Tag = item; this.fpSpread1_Sheet1.Cells[iRow, (int)ColEnum.ColPlace].Text = s.PlaceNO; }
/// <summary> /// 获取指定行的Item实体 /// </summary> /// <param name="rowIndex">指定行索引</param> /// <returns>成功返回Item实体 失败返回null</returns> protected Item GetItem(int rowIndex) { try { Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); return(itemManager.GetItem(this.neuSpread1_Sheet1.Cells[rowIndex, 0].Text)); } catch (Exception ex) { MessageBox.Show("由FarPoint读取实体信息进行赋值时发生异常\n" + ex.Message); return(null); } }
/// <summary> /// 入库单据查询 /// </summary> protected override void QueryIn() { Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); ArrayList alList = itemManager.QueryInputList(this.DeptInfo.ID, "AAAA", this.State, this.BeginDate, this.EndDate); if (alList == null) { MessageBox.Show(Language.Msg("查询单据列表发生错误" + itemManager.Err)); } this.neuSpread1_Sheet1.Rows.Count = 0; foreach (Neusoft.HISFC.Models.Pharmacy.Input info in alList) { if (this.MarkPrivType != null) { if (this.MarkPrivType.ContainsKey(info.PrivType)) //对于过滤的权限不显示 { continue; } } this.neuSpread1_Sheet1.Rows.Add(0, 1); this.neuSpread1_Sheet1.Cells[0, 0].Text = info.InListNO; this.neuSpread1_Sheet1.Cells[0, 1].Text = info.DeliveryNO; this.neuSpread1_Sheet1.Cells[0, 2].Text = this.inTypeHelper.GetName(info.PrivType); Neusoft.HISFC.Models.Pharmacy.Company company = new Neusoft.HISFC.Models.Pharmacy.Company(); if (info.Company.ID != "None") { Neusoft.HISFC.BizLogic.Pharmacy.Constant constant = new Neusoft.HISFC.BizLogic.Pharmacy.Constant(); company = constant.QueryCompanyByCompanyID(info.Company.ID); if (company == null) { MessageBox.Show(Language.Msg(constant.Err)); return; } } else { company.ID = "None"; company.Name = "无供货公司"; } this.neuSpread1_Sheet1.Cells[0, 3].Text = company.Name; this.neuSpread1_Sheet1.Cells[0, (int)ColumnSet.ColTargetID].Text = company.ID; } }
/// <summary> /// 查询 /// </summary> public int Query() { if (this.dept == null) { MessageBox.Show(Language.Msg("请设置查询药房")); return(-1); } if (this.drug == null) { MessageBox.Show(Language.Msg("请设置查询药品")); return(-1); } if (this.deptHelper != null) { this.dept = this.deptHelper.GetObjectFromID(this.cmbDept.Tag.ToString()); } if (this.drugHelpter != null) { this.drug = this.drugHelpter.GetObjectFromID(this.cmbItem.Tag.ToString()); } int intervalDays = (this.DtEnd - this.DtBegin).Days; this.lbItemInfo.Text = string.Format("药品编码:{0} 规格:{1} 单位:{2}", this.drug.Name, this.drug.Memo, this.drug.User01); Neusoft.HISFC.BizLogic.Pharmacy.Item itemMgr = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); decimal totOutNum = 0; decimal perDayOutNum = 0; if (this.isOnlyPatientInOut) { if (itemMgr.FindByExpand(this.dept.ID, this.drug.ID, intervalDays, this.DtEnd, true, out totOutNum, out perDayOutNum) == -1) { MessageBox.Show("统计药品日消耗信息失败!" + itemMgr.Err); return(-1); } } else { if (itemMgr.FindByExpand(this.dept.ID, this.drug.ID, intervalDays, this.DtEnd, out totOutNum, out perDayOutNum) == -1) { MessageBox.Show("统计药品日消耗信息失败!" + itemMgr.Err); return(-1); } } this.lbExpandInfo.Text = string.Format("参考天数:{0}天 出库总量:{1} 日消耗:{2}", intervalDays.ToString(), totOutNum.ToString("N"), perDayOutNum.ToString("N")); return(1); }
/// <summary> /// 申请信息检索 /// </summary> /// <returns></returns> internal int QueryApply() { if (this.applyPatient == null) { MessageBox.Show(Language.Msg("请输入住院号回车选择退费患者")); return(0); } Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); ArrayList alApply = itemManager.GetPatientApply(this.applyPatient.ID, "AAAA", this.operDept.ID, this.BeginDate, this.EndDate, "0"); if (alApply == null) { MessageBox.Show(Language.Msg("患者获取申请信息失败") + itemManager.Err); return(-1); } this.dtNormalApply.Rows.Clear(); this.dtCancelApply.Rows.Clear(); this.hsApply = new Hashtable(); foreach (Neusoft.HISFC.Models.Pharmacy.ApplyOut applyOut in alApply) { if (applyOut.State != "0") { continue; } //不显示退药申请 if (applyOut.SystemType == Neusoft.HISFC.Models.Base.EnumIMAOutTypeService.GetNameFromEnum(Neusoft.HISFC.Models.Base.EnumIMAOutType.InpatientBackOutput)) { continue; } //1有效 0 无效 if (applyOut.ValidState == Neusoft.HISFC.Models.Base.EnumValidState.Valid) { this.SetNormalApply(applyOut); } else { this.SetCancelApply(applyOut); } this.hsApply.Add(applyOut.ID, applyOut); } return(1); }
private void ucDrugList1_ChooseDataEvent(FarPoint.Win.Spread.SheetView sv, int activeRow) { if (sv != null && activeRow >= 0) { string drugID; drugID = sv.Cells[activeRow, 0].Value.ToString(); //取药品字典信息 Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); this.item = itemManager.GetItem(drugID); if (this.item != null) { //{E49F9CEA-2E6D-4b2e-919F-99145BEE3E68} 协定处方校验 对于未维护明细的协定处方,不能进行入库操作 if (this.item.IsNostrum == true) { List <Neusoft.HISFC.Models.Pharmacy.Nostrum> nostrumList = itemManager.QueryNostrumDetail(this.item.ID); if (nostrumList == null || nostrumList.Count <= 0) { MessageBox.Show(this.item.Name + " 为协定处方,但尚未进行明细内容维护,不能进行入库操作"); return; } } this.Clear(true); //标志是否已新加的药品 this.item.User01 = "1"; if (Function.SetPrice(this.privDept.ID, this.item.ID, ref this.item) == -1) { return; } //添加数据 this.SetItem(this.item); this.ntbInQty.Focus(); //{9E7FB328-89B3-4f43-A417-2EC3ACFC7093} //双击清空键值 if (this.ClearPriKey != null) { Neusoft.FrameWork.Models.NeuObject obj = new Neusoft.FrameWork.Models.NeuObject(); this.ClearPriKey(ref obj); } } else { MessageBox.Show(Language.Msg("检索药品基本信息失败")); this.ucDrugList1.SetFocusSelect(); } } }
/// <summary> /// 删除 /// </summary> /// <param name="sv">需执行删除的Fp</param> /// <param name="delRowIndex">需删除的行索引</param> /// <returns>成功返回1 失败返回-1</returns> public virtual int Delete(FarPoint.Win.Spread.SheetView sv, int delRowIndex) { try { if (sv != null && delRowIndex >= 0) { string[] keys = new string[] { sv.Cells[delRowIndex, (int)ColumnSet.ColDrugID].Text, sv.Cells[delRowIndex, (int)ColumnSet.ColBatchNO].Text }; DataRow dr = this.dt.Rows.Find(keys); if (dr != null) { Neusoft.HISFC.Models.Pharmacy.Input input = this.hsInputData[dr["药品编码"].ToString() + dr["批号"].ToString()] as Neusoft.HISFC.Models.Pharmacy.Input; //增加直接删除外部入库申请功能 by Sunjh 2010-8-23 {EB33BF6F-D122-4330-8D89-BB8695DD5A48} if (MessageBox.Show("是否删除当前申请信息,是则直接提交保存", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes) { Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); if (itemManager.DeleteApplyIn(input.ID) == -1) { MessageBox.Show("删除失败!"); } } else { return(-1); } this.hsInputData.Remove(dr["药品编码"].ToString() + dr["批号"].ToString()); this.dt.Rows.Remove(dr); //合计计算 this.CompuateSum(); } } } catch (System.Data.DataException e) { System.Windows.Forms.MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("对数据表执行删除操作发生错误" + e.Message)); return(-1); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("对数据表执行删除操作发生错误" + ex.Message)); return(-1); } return(1); }
/// <summary> /// 作废用药申请 /// </summary> /// <returns>成功返回1 失败返回-1</returns> internal int CancelApply() { if (this.fpCancelApply_Sheet1.Rows.Count <= 0) { return(0); } Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); //Neusoft.FrameWork.Management.Transaction t = new Transaction(Neusoft.FrameWork.Management.Connection.Instance); //t.BeginTransaction(); Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); //itemManager.SetTrans(t.Trans); //{E8849BB0-3C69-4d60-8771-C201E445BD5D} 预扣库存的判断处理 Neusoft.HISFC.BizProcess.Integrate.Common.ControlParam ctrlIntegrate = new Neusoft.HISFC.BizProcess.Integrate.Common.ControlParam(); bool isPreOut = ctrlIntegrate.GetControlParam <bool>(Neusoft.HISFC.BizProcess.Integrate.PharmacyConstant.InDrug_Pre_Out, false, true); for (int i = 0; i < this.fpCancelApply_Sheet1.Rows.Count; i++) { string applyID = this.fpCancelApply_Sheet1.Cells[i, (int)ColumnSet.ColID].Text; Neusoft.HISFC.Models.Pharmacy.ApplyOut applyOut = this.hsApply[applyID] as Neusoft.HISFC.Models.Pharmacy.ApplyOut; //对已经无效的数据 不重复保存 if (applyOut.ValidState == Neusoft.HISFC.Models.Base.EnumValidState.Invalid) { continue; } //作废摆药申请 //{E8849BB0-3C69-4d60-8771-C201E445BD5D} 传入参数调整 if (itemManager.CancelApplyOutByID(applyOut.ID, isPreOut) == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Language.Msg("作废摆药申请失败")); return(-1); } //作废医嘱执行档 } Neusoft.FrameWork.Management.PublicTrans.Commit(); MessageBox.Show(Language.Msg("作废申请成功")); this.Clear(); return(1); }
/// <summary> /// 根据药品编码加入数据 /// </summary> /// <param name="drugNO">药品编码</param> /// <param name="outBillNO">出库流水号</param> /// <returns></returns> private int AddDrugData(string drugNO, string outBillNO, decimal applyQty) { //取药品字典信息 Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); Neusoft.HISFC.Models.Pharmacy.Item item = itemManager.GetItem(drugNO); if (item == null) { MessageBox.Show(Language.Msg("检索药品基本信息失败")); return(-1); } Neusoft.HISFC.Models.Pharmacy.ApplyOut applyOut = new Neusoft.HISFC.Models.Pharmacy.ApplyOut(); applyOut.Item = item; if (outBillNO != null) { applyOut.OutBillNO = outBillNO; } if (this.hsApplyData.Contains(this.GetKey(applyOut))) { MessageBox.Show(Language.Msg("该药品已添加")); return(0); } applyOut.Days = 1; applyOut.ApplyDept = this.phaInManager.DeptInfo; //申请科室 applyOut.StockDept = this.phaInManager.TargetDept; //库存科室 (目标科室) applyOut.State = "0"; //状态 申请 applyOut.SystemType = this.phaInManager.PrivType.Memo; applyOut.PrivType = this.phaInManager.PrivType.ID; if (applyQty != -1) { applyOut.Operation.ApplyQty = applyQty; } if (this.AddDataToTable(applyOut, "1") == 1) { this.hsApplyData.Add(this.GetKey(applyOut), applyOut); this.SetFormat(); this.SetFocusSelect(); } return(1); }
private void ucDrugList1_ChooseDataEvent(FarPoint.Win.Spread.SheetView sv, int activeRow) { string drugCode = sv.Cells[activeRow, 0].Text; Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); Neusoft.HISFC.Models.Pharmacy.Item item = itemManager.GetItem(drugCode); if (item == null) { MessageBox.Show(Language.Msg("获取药品信息失败") + itemManager.Err); } this.AddItem(item); this.SetFocus(true); }
/// <summary> /// 初始化 /// </summary> /// <returns></returns> private int Init() { Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); List <Neusoft.HISFC.Models.Pharmacy.Item> alList = itemManager.QueryItemList(true); if (alList == null) { MessageBox.Show(Language.Msg("获取药品列表发生错误") + itemManager.Err); return(-1); } foreach (Neusoft.HISFC.Models.Pharmacy.Item item in alList) { item.Memo = item.Specs; } this.alItem = new ArrayList(alList.ToArray()); Neusoft.HISFC.BizLogic.Manager.Department deptManager = new Neusoft.HISFC.BizLogic.Manager.Department(); this.alDept = deptManager.GetDeptmentAll(); if (this.alDept == null) { MessageBox.Show(Language.Msg("获取科室列表发生错误") + deptManager.Err); return(-1); } this.tvDeptList.ImageList = this.tvDeptList.groupImageList; this.parentNode = new TreeNode("基数药病区", 0, 0); this.tvDeptList.Nodes.Add(this.parentNode); #region 屏蔽Fp回车/换行键 FarPoint.Win.Spread.InputMap im; im = this.neuSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused); im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.None); im = this.neuSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused); im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Space, Keys.None), FarPoint.Win.Spread.SpreadActions.None); #endregion this.neuSpread1.EditModeReplace = true; return(1); }
/// <summary> /// 采购计划单据列表 /// </summary> /// <param name="privDept">权限科室</param> /// <param name="stockState">采购状态</param> public void ShowStockPlanList(Neusoft.FrameWork.Models.NeuObject privDept, string stockState) { //清空列表 this.Nodes.Clear(); Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); //显示采购单列表 0 状态为入库计划单 ArrayList alList = itemManager.QueryStockPLanCompanayList(privDept.ID, stockState); if (alList == null) { System.Windows.Forms.MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("获取采购计划单列表发生错误" + itemManager.Err)); return; } if (alList.Count == 0) { this.Nodes.Add(new System.Windows.Forms.TreeNode("没有采购计划单", 0, 0)); } else { this.Nodes.Add(new System.Windows.Forms.TreeNode("采购计划单列表", 0, 0)); foreach (Neusoft.FrameWork.Models.NeuObject info in alList) { System.Windows.Forms.TreeNode node = new System.Windows.Forms.TreeNode(); node.Text = "【" + info.ID + "】" + info.Name;//【入库计划单号】+供货公司名称 node.ImageIndex = 2; node.SelectedImageIndex = 4; //初始入库计划制定时指定供货公司编码为'0000000000' if (info.User01 == null || info.User01.Trim() == "") { info.User01 = "0000000000"; } node.Tag = info; //入库计划单号+供货公司ID this.Nodes[0].Nodes.Add(node); } this.Nodes[0].ExpandAll(); this.SelectedNode = this.Nodes[0]; } }
/// <summary> /// 根据批次流水号检索 /// </summary> /// <param name="compoundGroup">批次流水号</param> protected void QueryCompound(string compoundGroup) { if (compoundGroup == null || compoundGroup == "") { return; } Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); ArrayList alList = itemManager.QueryCompoundApplyOut(compoundGroup); if (alList == null) { MessageBox.Show(Language.Msg("根据批次流水号获取配置数据发生错误") + itemManager.Err); return; } this.AddDataToFp(alList); }
/// <summary> /// 保存申请 /// </summary> /// <returns></returns> public virtual int SaveApply() { ArrayList alCheck = this.GetCheckData(); if (alCheck.Count == 0) { return(0); } Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); DateTime sysTime = itemManager.GetDateTimeFromSysDateTime(); Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); //Neusoft.FrameWork.Management.Transaction t = new Transaction(Neusoft.FrameWork.Management.Connection.Instance); //t.BeginTransaction(); itemManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); //暂时不处理药柜问题 Neusoft.HISFC.Models.Base.OperEnvironment compoundOper = new Neusoft.HISFC.Models.Base.OperEnvironment(); compoundOper.OperTime = sysTime; compoundOper.ID = this.approveOper.ID; foreach (Neusoft.HISFC.Models.Pharmacy.ApplyOut info in alCheck) { if (itemManager.UpdateCompoundApplyOut(info, compoundOper, true) == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Language.Msg("更新配置确认信息发生错误") + itemManager.Err); return(-1); } } Neusoft.FrameWork.Management.PublicTrans.Commit(); MessageBox.Show(Language.Msg("保存成功")); this.ShowList(); return(1); }
/// <summary> /// 增加申请数据 /// </summary> /// <param name="listCode">申请单号</param> /// <param name="state">状态</param> /// <returns>成功返回1 </失败返回-1returns> protected virtual int AddApplyData(string listCode, string state) { Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); ArrayList al = itemManager.QueryApplyIn(this.phaInManager.DeptInfo.ID, listCode, "0"); if (al == null) { System.Windows.Forms.MessageBox.Show(Language.Msg("未正确获取外部入库申请信息" + itemManager.Err)); return(-1); } this.Clear(); Neusoft.FrameWork.Models.NeuObject applyCompany = new Neusoft.FrameWork.Models.NeuObject(); foreach (Neusoft.HISFC.Models.Pharmacy.Input input in al) { Neusoft.HISFC.Models.Pharmacy.Item tempItem = itemManager.GetItem(input.Item.ID); input.Item = tempItem; //药品实体信息 input.Quantity = input.Operation.ApplyQty; if (this.AddDataToTable(input) == 1) { this.hsInputData.Add(input.Item.ID + input.BatchNO, input); } applyCompany = input.Company; } Neusoft.HISFC.BizLogic.Pharmacy.Constant consManager = new Neusoft.HISFC.BizLogic.Pharmacy.Constant(); Neusoft.HISFC.Models.Pharmacy.Company compay = consManager.QueryCompanyByCompanyID(applyCompany.ID); applyCompany.Name = compay.Name; applyCompany.Memo = "1"; this.phaInManager.TargetDept = applyCompany; this.CompuateSum(); this.SetFormat(); return(1); }
protected override void OnAfterLabelEdit(System.Windows.Forms.NodeLabelEditEventArgs e) { if (e.Label != null) { if (e.Label.Length > 0) { if (e.Label.IndexOfAny(new char[] { '@', '.', ',', '!' }) == -1) { e.Node.EndEdit(false); } else { e.CancelEdit = true; System.Windows.Forms.MessageBox.Show(Language.Msg("存在无效字符!请重新命名")); e.Node.BeginEdit(); } } else { e.CancelEdit = true; System.Windows.Forms.MessageBox.Show(Language.Msg("模板名称不能为空")); e.Node.BeginEdit(); } Neusoft.HISFC.Models.Pharmacy.Check check = e.Node.Tag as Neusoft.HISFC.Models.Pharmacy.Check; Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); check.CheckName = e.Label; if (check.CheckNO != "") { if (itemManager.UpdateCheckListName(this.privDept.ID, check.CheckNO, e.Label) == -1) { System.Windows.Forms.MessageBox.Show(Language.Msg("更新盘点统计信息中盘点单名称出错")); return; } } } base.OnAfterLabelEdit(e); }
/// <summary> /// 确认参数设置 日消耗处理 /// /// {F4D82F23-CCDC-45a6-86A1-95D41EF856B8} 更改函数名称及调用函数 /// </summary> protected void QueryDayAlterList() { if (this.SaveValid()) { Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm("正在按照日消耗进行检索 请稍候..."); Application.DoEvents(); Neusoft.HISFC.BizLogic.Pharmacy.Item itemMgr = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); this.alInfo = itemMgr.QueryDrugListByDayAlter(this.deptCode, this.DtBegin, this.DtEnd, this.MaxAlterDays, this.MinAlterDays, this.rbAllDept.Checked); if (this.alInfo == null) { Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm(); MessageBox.Show("检索日消耗信息发生错误" + itemMgr.Err); return; } Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm(); } }