/// <summary> /// 日报动态更新,在每次发生床位变动的时候更新 /// 先更新住院日报,如果没有找到数据则找昨天日报中的期末数和固定床位数,插入一条新数据 /// </summary> /// <returns></returns> public int DynamicUpdate(Neusoft.HISFC.Models.HealthRecord.InpatientDayReport dayReport) { try { int parm; //更新住院日报 parm = this.UpdateInpatientDayReport(dayReport); //如果没有找到当天数据,说明是本日第一次更新,则取昨日日报的期末数作为今日期初数和固定床位数等数据插入数据库 if (parm == 0) { //取昨日住院日报的期末数 Neusoft.HISFC.Models.HealthRecord.InpatientDayReport lastReport = this.GetInpatientDayReport(dayReport.DateStat.AddDays(-1), dayReport.ID, dayReport.NurseStation.ID); if (lastReport == null) { return(-1); } //如果没有找到昨天的数据则认为昨日期末数为0 if (lastReport.ID == "") { lastReport.EndNum = GetDeptPatientNum(dayReport.ID, dayReport.NurseStation.ID); } //今天期初数=昨日期末数 dayReport.BeginningNum = lastReport.EndNum; //今天期末数=今日期末数 + 昨日期末数(今日期初数) dayReport.EndNum = dayReport.EndNum + lastReport.EndNum; //取固定床位数 Neusoft.HISFC.Models.Base.ExtendInfo deptExt = managerExtendParam.GetComExtInfo(Neusoft.HISFC.Models.Base.EnumExtendClass.DEPT, "CASE_BED_STAND", dayReport.ID); if (deptExt == null) { return(-1); } dayReport.BedStand = Convert.ToInt32(deptExt.NumberProperty); //插入住院日报表中一条新记录 parm = this.InsertDayReportDetail(dayReport); } if (parm == -1) { return(parm); } //调用日报明细插入函数 return(this.SetDayReportDetail(dayReport)); //return parm; } catch (Exception ex) { this.Err = ex.Message; return(-1); } }
/// <summary> /// 是否集中发送过 /// </summary> /// <param name="DeptCode">科室编码</param> /// <returns>返回科室扩展实体</returns> public static Neusoft.HISFC.Models.Base.ExtendInfo IsDeptHaveDruged(string DeptCode) { Neusoft.FrameWork.Management.ExtendParam m = new Neusoft.FrameWork.Management.ExtendParam(); Neusoft.HISFC.Models.Base.ExtendInfo obj = m.GetComExtInfo(Neusoft.HISFC.Models.Base.EnumExtendClass.DEPT, "ORDER_ISDRUGED", DeptCode); if (obj == null) { return(null); } return(obj); }
/// <summary> /// 初始化 /// </summary> public virtual void Init() { Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm(Neusoft.FrameWork.Management.Language.Msg("正在加载单据打印基础数据...")); Application.DoEvents(); #region 获取常数信息 用于界面数据显示 //获得所有频次信息 Neusoft.HISFC.BizLogic.Manager.Frequency frequencyManagement = new Neusoft.HISFC.BizLogic.Manager.Frequency(); ArrayList alFrequency = frequencyManagement.GetAll("Root"); this.frequencyHelper = new Neusoft.FrameWork.Public.ObjectHelper(alFrequency); //获取所用用法 Neusoft.HISFC.BizLogic.Manager.Constant c = new Neusoft.HISFC.BizLogic.Manager.Constant(); ArrayList alUsage = c.GetList(Neusoft.HISFC.Models.Base.EnumConstant.USAGE); if (alUsage == null) { MessageBox.Show("获取用法列表出错!"); return; } this.usageHelper = new Neusoft.FrameWork.Public.ObjectHelper(alUsage); Neusoft.HISFC.BizProcess.Integrate.Manager managerIntegrate = new Neusoft.HISFC.BizProcess.Integrate.Manager(); //获取所有人员 ArrayList alEmployee = managerIntegrate.QueryEmployeeAll(); this.personHelper = new Neusoft.FrameWork.Public.ObjectHelper(alEmployee); //获取所有科室 ArrayList alDept = managerIntegrate.GetDepartment(); this.deptHelper = new Neusoft.FrameWork.Public.ObjectHelper(alDept); //获取所有门诊终端 Neusoft.HISFC.BizLogic.Pharmacy.DrugStore drugStoreManager = new Neusoft.HISFC.BizLogic.Pharmacy.DrugStore(); ArrayList alDruged = drugStoreManager.QueryDrugTerminalByDeptCode(this.OperDept.ID, "0"); ArrayList alSend = drugStoreManager.QueryDrugTerminalByDeptCode(this.OperDept.ID, "1"); alDruged.AddRange(alSend); this.terminalHelper = new Neusoft.FrameWork.Public.ObjectHelper(alDruged); #endregion #region 获取控制参数信息 用于控制调剂参数更新方式 Neusoft.FrameWork.Management.ExtendParam extManager = new Neusoft.FrameWork.Management.ExtendParam(); try { Neusoft.HISFC.Models.Base.ExtendInfo deptExt = extManager.GetComExtInfo(Neusoft.HISFC.Models.Base.EnumExtendClass.DEPT, "AdjustGist", this.OperDept.ID); if (deptExt == null) { MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("获取科室扩展属性内配药调剂参数失败!")); } if (deptExt.StringProperty == "1") //发药 { this.isAdjustInDrug = false; } else { this.isAdjustInDrug = true; //配药 } } catch { } #endregion Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm(); this.IntiControlParam(); }