/// <summary> /// 得到到要调价的信息 返回列表 准备插入操作 /// </summary> /// <returns></returns> private ArrayList GetInfo(string SequenceNo) { ArrayList ItemList = new ArrayList(); if (AdjustTable == null) { return(null); } Neusoft.HISFC.Models.Fee.Item.AdjustPrice item = null; //循环取数据 foreach (DataRow row in AdjustTable.Rows) { item = new Neusoft.HISFC.Models.Fee.Item.AdjustPrice(); item.AdjustPriceNO = SequenceNo; item.OrgItem.ID = row["编码"].ToString(); item.OrgItem.Price = Neusoft.FrameWork.Function.NConvert.ToDecimal(row["调前默认价"].ToString()); item.OrgItem.ChildPrice = Neusoft.FrameWork.Function.NConvert.ToDecimal(row["调前儿童价"].ToString()); item.OrgItem.SpecialPrice = Neusoft.FrameWork.Function.NConvert.ToDecimal(row["调前特诊价"].ToString()); item.NewItem.Price = Neusoft.FrameWork.Function.NConvert.ToDecimal(row["调后默认价"].ToString()); item.NewItem.ChildPrice = Neusoft.FrameWork.Function.NConvert.ToDecimal(row["调后儿童价"].ToString()); item.NewItem.SpecialPrice = Neusoft.FrameWork.Function.NConvert.ToDecimal(row["调后特诊价"].ToString()); item.BeginTime = this.dtpImmediate.Value; if (this.ckbImmediate.Checked) //是否即时生效 { item.User03 = "已生效"; // 即时生效 则置成未生效 } else { item.User03 = "未生效"; //非即时生效 ,则置成已生效 } ItemList.Add(item); item = null; } return(ItemList); }
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); }
private void SaveInfo() { try { this.neuSpread1.StopCellEditing(); Neusoft.HISFC.BizLogic.Manager.AdjustPrice price = new Neusoft.HISFC.BizLogic.Manager.AdjustPrice(); //获取调价单流水号 string SequenceNo = price.GetAdjustPriceSequence(); Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); //Neusoft.FrameWork.Management.Transaction Addtrans = new Neusoft.FrameWork.Management.Transaction(price.Connection); //Addtrans.BeginTransaction(); price.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); #region 判断时间是否有效 if (!ckbImmediate.Checked) //定时生效 { if (this.dtpImmediate.Value < System.DateTime.Now) { this.dtpImmediate.Focus(); Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("生效的时间不能小于当前时间")); return; } } #endregion //获取要调价的信息 ArrayList list = GetInfo(SequenceNo); if (list == null) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("获取调价信息出错")); return; } #region 调价头表和明细表 保存调价信息 foreach (Neusoft.HISFC.Models.Fee.Item.AdjustPrice info in list) { //如果有以前调价还没有生效的 ,跟这次调价有冲突的 ,作废以前的调价记录 int temp = price.UpdateAdjustPriceDetail(info.OrgItem.ID); } //插入调价头表 //插入调价明细表 bool PriceHead = false; bool Result = true; foreach (Neusoft.HISFC.Models.Fee.Item.AdjustPrice info in list) { if (!PriceHead) { //向调价头表中插入一条新的记录 fin_com_adjustundrugpricehead if (price.InsertAdjustPrice(info) <= 0) { Result = false; break; } else { PriceHead = true; } } //向调价明细中插入新的记录 fin_com_adjustundrugpricedetai if (price.InsertAdjustPriceDetail(info) <= 0) { Result = false; break; } } if (Result) { //提交数据 Neusoft.FrameWork.Management.PublicTrans.Commit(); MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("保存成功")); if (AdjustTable != null) { AdjustTable.Clear(); } } else { //回退信息 Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("保存调价信息失败")); } #endregion #region 如果是立即生效 保存非药品 价格 if (ckbImmediate.Checked) //立即生效 { Neusoft.HISFC.BizLogic.Fee.Item manItem = new Neusoft.HISFC.BizLogic.Fee.Item(); manItem.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); Neusoft.HISFC.Models.Fee.Item.Undrug temItem = null; foreach (Neusoft.HISFC.Models.Fee.Item.AdjustPrice info in list) { //先转化成ITEM然后执行更新操作 temItem = new Neusoft.HISFC.Models.Fee.Item.Undrug(); //药品编码 temItem.ID = info.OrgItem.ID; //默认价 temItem.Price = info.NewItem.Price; //儿童价 temItem.ChildPrice = info.NewItem.ChildPrice; //特诊价 temItem.SpecialPrice = info.NewItem.SpecialPrice; //执行更新操作。 if (manItem.AdjustPrice(temItem) < 1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg(manItem.Err)); return; } //{6DF09817-9532-4129-BE60-DED731C7E5B9} 更新所有含有该项目的复合项目价格 //manItem.QueryZTListByDetailItem(temItem); } } #endregion } catch (Exception ex) { MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg(ex.Message)); } }
/// <summary> /// 住院检查 /// </summary> /// <param name="patient"></param> /// <param name="orderList"></param> public void ControlValue(Neusoft.HISFC.Models.RADT.Patient patient, List <Neusoft.HISFC.Models.Order.Inpatient.Order> orderList) { this.neuSpread1_Sheet1.Cells[0, 0].Value = this.mgrIntegrate.GetHospitalName() + orderList[0].Item.Name.ToString() + "检查申请单"; if (orderList[0].IsEmergency) { this.neuSpread1_Sheet1.Cells[0, 9].Value = "加 急";//加急 this.neuSpread1_Sheet1.Cells.Get(0, 9).ForeColor = System.Drawing.Color.Red; } if (orderList[0].BeginTime != null) { this.neuSpread1_Sheet1.Cells[2, 1].Value = orderList[0].BeginTime.ToString();//申请日期 } if (patient.PID.PatientNO != null) { this.neuSpread1_Sheet1.Cells[2, 5].Value = patient.PID.PatientNO.ToString();//住院号 } if (patient.Pact.Name != null) { this.neuSpread1_Sheet1.Cells[2, 9].Value = patient.Pact.Name.ToString();//费用类别 } if (patient.Name != null) { this.neuSpread1_Sheet1.Cells[3, 1].Value = patient.Name.ToString();//姓名 } if (patient.Sex != null) { this.neuSpread1_Sheet1.Cells[3, 3].Value = patient.Sex.ToString();//性别 } if (patient.Age != null) { this.neuSpread1_Sheet1.Cells[3, 5].Value = patient.Age.ToString();//年龄 } if (orderList[0].NurseStation.Name != null) { this.neuSpread1_Sheet1.Cells[3, 7].Value = orderList[0].NurseStation.Name.ToString();//病区 } if (orderList[0].Patient.PVisit.PatientLocation.Bed.ID != null) { this.neuSpread1_Sheet1.Cells[3, 9].Value = orderList[0].Patient.PVisit.PatientLocation.Bed.ID.ToString();//床号 } Neusoft.HISFC.Models.Fee.Item.Undrug undrug = new Neusoft.HISFC.Models.Fee.Item.Undrug(); Neusoft.HISFC.BizLogic.Fee.Item item = new Neusoft.HISFC.BizLogic.Fee.Item(); undrug = item.GetValidItemByUndrugCode(orderList[0].Item.ID.ToString()); if (undrug.CheckRequest != null) { this.neuSpread1_Sheet1.Cells[4, 1].Value = undrug.CheckRequest.ToString();//检查部位/要求 } #region 诊断(代码摘自ucDiagnosis FillList()) Neusoft.HISFC.BizProcess.Integrate.HealthRecord.HealthRecordBaseMC diagnoseMgrMc = new Neusoft.HISFC.BizProcess.Integrate.HealthRecord.HealthRecordBaseMC(); Neusoft.HISFC.BizProcess.Integrate.Manager managerIntegrate = new Neusoft.HISFC.BizProcess.Integrate.Manager(); Neusoft.HISFC.Models.HealthRecord.Diagnose diagns = null; Neusoft.HISFC.Models.Base.Spell dsType = null; Neusoft.HISFC.Models.Base.Employee emp = null; //ArrayList diagnoseList = diagnoseMgrMc.QueryDiagnoseBoth(orderList[0].Patient.PVisit.PatientLocation.Bed.InpatientNO.ToString()); ArrayList diagnoseList = diagnoseMgrMc.QueryDiagnoseBoth(orderList[0].Patient.ID); ArrayList dsTypeList = Neusoft.HISFC.Models.HealthRecord.DiagnoseType.SpellList(); ArrayList drList = managerIntegrate.QueryEmployee(Neusoft.HISFC.Models.Base.EnumEmployeeType.D); String strDsType = ""; String strDrName = ""; string diag = string.Empty; if (diagnoseList != null) { for (int i = 0; i < diagnoseList.Count; i++) { diagns = (Neusoft.HISFC.Models.HealthRecord.Diagnose)diagnoseList[i]; for (int j = 0; j < dsTypeList.Count; j++) { dsType = (Neusoft.HISFC.Models.Base.Spell)dsTypeList[j]; if (dsType.ID.ToString() == diagns.DiagInfo.DiagType.ID) { strDsType = dsType.Name;//诊断类型 break; } } //填入诊断医生姓名 for (int j = 0; j < drList.Count; j++) { emp = (Neusoft.HISFC.Models.Base.Employee)drList[j]; if (emp.ID.ToString() == diagns.DiagInfo.Doctor.ID) { strDrName = emp.Name; break; } } if (i == 0) { diag = "[" + strDsType + "-" + diagns.DiagInfo.ICD10.Name.ToString() + "-" + strDrName + "]"; } else { diag = diag + "[" + strDsType + "-" + diagns.DiagInfo.ICD10.Name.ToString() + "-" + strDrName + "]"; } } } this.neuSpread1_Sheet1.Cells[9, 1].Value = diag; #endregion if (orderList[0].ReciptDoctor.Name != null) { this.neuSpread1_Sheet1.Cells[19, 1].Value = orderList[0].Memo.ToString();//备注 } if (orderList[0].Memo != null) { this.neuSpread1_Sheet1.Cells[25, 9].Value = orderList[0].ReciptDoctor.Name.ToString();//医师 } if (undrug.Notice != null) { this.neuSpread1_Sheet1.Cells[22, 1].Value = undrug.Notice.ToString();//注意事项 } }