/// <summary> /// 获得update或者insert库存表的传入参数数组 /// </summary> /// <param name="dayReport">库存类</param> /// <returns>字符串数组</returns> private string[] myGetParmInpatientDayReport(Neusoft.HISFC.Models.HealthRecord.InpatientDayReport dayReport) { string[] strParm = { dayReport.DateStat.ToString(), //0 统计日期 dayReport.ID, //1 科室编码 dayReport.NurseStation.ID, //2 护士站编码 dayReport.BedStand.ToString(), //3 编制内病床数 dayReport.BedAdd.ToString(), //4 加床数 dayReport.BedFree.ToString(), //5 空床数 dayReport.BeginningNum.ToString(), //6 期初病人数 dayReport.InNormal.ToString(), //7 常规入院数 dayReport.InEmergency.ToString(), //8 急诊入院数 dayReport.InTransfer.ToString(), //9 其他科转入数 dayReport.InReturn.ToString(), //10 招回入院人数 dayReport.OutNormal.ToString(), //11 常规出院数 dayReport.OutTransfer.ToString(), //12 转出其他科数 dayReport.OutWithdrawal.ToString(), //13 退院人数 dayReport.EndNum.ToString(), //14 期末病人数 dayReport.DeadIn24.ToString(), //15 24小时内死亡数 dayReport.DeadOut24.ToString(), //16 24小时外死亡数 dayReport.BedRate.ToString(), //17 床位使用率 dayReport.Other1Num.ToString(), //18 其他1数量 dayReport.Other2Num.ToString(), //19 其他2数量 dayReport.Memo.ToString(), //20 备注 this.Operator.ID, //21 操作员编码 dayReport.InTransferInner.ToString(), //22 内部转入数 (中山需求) dayReport.OutTransferInner.ToString() //23 内部转出数 (中山需求) }; return(strParm); }
/// <summary> /// 先更新住院日报,如果没有找到数据则插入一条新数据 /// </summary> /// <returns></returns> public int SetDayReportDetail(Neusoft.HISFC.Models.HealthRecord.InpatientDayReport dayReport) { //根据dayReport中的user01来区分是何种类型 //1 K -接珍, //2 RB-转入, //3 RD-转出, //4 O -出院登记, //5 C -召回, //6 OF-无费退院 // switch (dayReport.User01) { // case "K": //接诊 // dayReport.User01 = "I_NORMAL"; // break; // case "RI": //转入 // dayReport.User01 = "I_TRANSFER"; // break; // case "C": //召回 // dayReport.User01 = "I_RETURN"; // break; // case "RO": //转出 // dayReport.User01 = "O_TRANSFER"; // break; // case "O": //出院登记 // dayReport.User01 = "O_NORMAL"; // break; // case "OF": //无费退院 // dayReport.User01 = "O_WITHDRAWAL"; // break; // } // int parm; // //先更新住院日报 // parm = this.InsertInpatientDayReportDetail(dayReport); // return parm; return(this.InsertDayReportDetail(dayReport)); }
private int AddDataToFp(int rowIndex, Neusoft.HISFC.Models.HealthRecord.InpatientDayReport info) { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColDeptCode].Text = info.ID; this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColDeptName].Text = info.Name; this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text = info.BedStand.ToString(); this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColAddNum].Text = info.BedAdd.ToString(); this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColFreeNum].Text = info.BedFree.ToString(); this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColBeginNum].Text = info.BeginningNum.ToString(); // this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColInNum].Text = info.InNormal.ToString(); 随志芳 {C4E9B22C-A959-40e8-BCD1-0796F0EE0F4E} 入院人数等于常规入院人数加上门急诊入院人数 this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColInNum].Text = (info.InNormal + info.InEmergency).ToString(); this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferIn].Text = info.InTransfer.ToString(); this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferOut].Text = info.OutTransfer.ToString(); // this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutNu].Text = info.OutNormal.ToString(); 随志芳 {C4E9B22C-A959-40e8-BCD1-0796F0EE0F4E} 出院人数等于常规出院人数减去召回人数加上退院人数 this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutNu].Text = (info.OutNormal - info.InReturn + info.OutWithdrawal).ToString(); this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColEndNum].Text = info.EndNum.ToString(); //if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text == "0") // this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text == ""; if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text == "0") { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text = ""; } if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColAddNum].Text == "0") { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColAddNum].Text = ""; } if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColFreeNum].Text == "0") { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColFreeNum].Text = ""; } if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColBeginNum].Text == "0") { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColBeginNum].Text = ""; } if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColInNum].Text == "0") { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColInNum].Text = ""; } if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferIn].Text == "0") { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferIn].Text = ""; } if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferOut].Text == "0") { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferOut].Text = ""; } if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutNu].Text == "0") { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutNu].Text = ""; } if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColEndNum].Text == "0") { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColEndNum].Text = ""; } this.neuSpread1_Sheet1.Rows[rowIndex].Tag = info; return(1); }
/// <summary> /// 由Fp内获取日报数据 /// </summary> /// <param name="rowIndex"></param> /// <returns></returns> protected Neusoft.HISFC.Models.HealthRecord.InpatientDayReport GetDayReport(int rowIndex) { Neusoft.HISFC.Models.HealthRecord.InpatientDayReport info = this.neuSpread1_Sheet1.Rows[rowIndex].Tag as Neusoft.HISFC.Models.HealthRecord.InpatientDayReport; if (info == null) { return(null); } info.ID = this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColDeptCode].Text; info.Name = this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColDeptName].Text; info.BedStand = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text); info.BedAdd = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColAddNum].Text); info.BedFree = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColFreeNum].Text); info.BeginningNum = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColBeginNum].Text); info.InNormal = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColInNum].Text); //{C4E9B22C-A959-40e8-BCD1-0796F0EE0F4E} 随志芳 设置常规入院人数 info.InNormal = info.InNormal - info.InEmergency; info.InTransfer = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferIn].Text); info.OutTransfer = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferOut].Text); info.OutNormal = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutNu].Text); //{C4E9B22C-A959-40e8-BCD1-0796F0EE0F4E} 随志芳 设置常规出院人数 info.OutNormal = info.OutNormal + info.InReturn - info.OutWithdrawal; info.EndNum = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColEndNum].Text); return(info); }
/// <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> /// <returns></returns> public int SetInpatientDayReport(Neusoft.HISFC.Models.HealthRecord.InpatientDayReport dayReport) { int parm; //先更新住院日报 parm = this.UpdateInpatientDayReport(dayReport); if (parm == 0) { //如果没有找到数据则插入一条新数据 parm = this.InsertInpatientDayReport(dayReport); } return(parm); }
/// <summary> /// 根据日报实体中的各分项数据计算期初人数 /// </summary> /// <param name="dayReport"></param> /// <returns></returns> public void ComputeBeginingNum(ref Neusoft.HISFC.Models.HealthRecord.InpatientDayReport dayReport) { if (dayReport == null) { return; } dayReport.BeginningNum = dayReport.EndNum - dayReport.InNormal - dayReport.InEmergency - dayReport.InReturn - dayReport.InTransfer + dayReport.OutNormal + dayReport.OutTransfer + dayReport.OutWithdrawal; }
/// <summary> /// 获得update或者insert库存表的传入参数数组 /// </summary> /// <param name="reportDetail">库存类</param> /// <returns>字符串数组</returns> private string[] myGetParmDayReportDetail(Neusoft.HISFC.Models.HealthRecord.InpatientDayReport reportDetail) { string[] strParm = { reportDetail.DateStat.ToString(), //0 统计日期 reportDetail.ID, //1 科室编码 reportDetail.NurseStation.ID, //2 护士站编码 reportDetail.User02, //3 住院流水号 reportDetail.User03, //4 床号 reportDetail.User01, //5 统计类型 this.Operator.ID, //6 操作员编码 reportDetail.Memo //7 备注 }; return(strParm); }
/// <summary> /// 清空日报中的各项数值(除了期初数,期末数等于期初数) /// </summary> /// <param name="dayReport"></param> public void Clear(ref Neusoft.HISFC.Models.HealthRecord.InpatientDayReport dayReport) { if (dayReport == null) { return; } dayReport.InNormal = 0; dayReport.InEmergency = 0; dayReport.InReturn = 0; dayReport.InTransfer = 0; dayReport.OutNormal = 0; dayReport.OutTransfer = 0; dayReport.OutWithdrawal = 0; dayReport.EndNum = dayReport.BeginningNum; }
/// <summary> /// 取日报明细信息列表,可能是一条或者多条库存记录 /// 私有方法,在其他方法中调用 /// writed by cuipeng /// 2006-3 /// </summary> /// <param name="SQLString">SQL语句</param> /// <returns>NeuObject对象数组</returns> private ArrayList myGetDayReportDetail(string SQLString) { ArrayList al = new ArrayList(); Neusoft.HISFC.Models.HealthRecord.InpatientDayReport reportDetail; //住院日报信息实体 this.ProgressBarText = "正在检索住院日报单信息..."; this.ProgressBarValue = 0; //执行查询语句 if (this.ExecQuery(SQLString) == -1) { this.Err = "获得库存信息时,执行SQL语句出错!" + this.Err; this.ErrCode = "-1"; return(null); } try { while (this.Reader.Read()) { //取查询结果中的记录 reportDetail = new Neusoft.HISFC.Models.HealthRecord.InpatientDayReport(); reportDetail.DateStat = NConvert.ToDateTime(this.Reader[0].ToString()); //0 统计日期 reportDetail.ID = this.Reader[1].ToString(); //1 科室编码 reportDetail.NurseStation.ID = this.Reader[2].ToString(); //2 护理站编码 reportDetail.User01 = this.Reader[3].ToString(); //3 统计类型 reportDetail.User02 = this.Reader[4].ToString(); //4 住院流水号 reportDetail.User03 = this.Reader[5].ToString(); //5 床号 reportDetail.Memo = this.Reader[6].ToString(); //6 备注 reportDetail.OperInfo.ID = this.Reader[7].ToString(); //7 操作员 reportDetail.OperInfo.OperTime = NConvert.ToDateTime(this.Reader[8].ToString()); //8 操作时间 this.ProgressBarValue++; al.Add(reportDetail); } } //抛出错误 catch (Exception ex) { this.Err = "获得住院日报信息时出错!" + ex.Message; this.ErrCode = "-1"; return(null); } this.Reader.Close(); this.ProgressBarValue = -1; return(al); }
/// <summary> /// 由Fp内获取日报数据 /// </summary> /// <param name="rowIndex"></param> /// <returns></returns> protected Neusoft.HISFC.Models.HealthRecord.InpatientDayReport GetDayReport(int rowIndex) { Neusoft.HISFC.Models.HealthRecord.InpatientDayReport info = this.neuSpread1_Sheet1.Rows[rowIndex].Tag as Neusoft.HISFC.Models.HealthRecord.InpatientDayReport; if (info == null) { return(null); } info.ID = this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColDeptCode].Text; info.Name = this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColDeptName].Text; info.BedStand = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text); info.BedAdd = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColAddNum].Text); info.BedFree = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColFreeNum].Text); info.BeginningNum = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColBeginNum].Text); info.InNormal = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColInNum].Text); info.InTransfer = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferIn].Text); info.OutTransfer = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferOut].Text); info.OutNormal = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutNu].Text); info.User01 = (NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutDeathNu].Text)).ToString(); info.EndNum = NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColEndNum].Text); //{32357656-B32A-4fcc-BE5D-6FA1789CD5C9} 床位日报审核功能 //info.Memo = this.neuSpread1_Sheet1.Cells[rowIndex,(int)ColumnSet.ColMemo].Tag.ToString(); bool isConfirm = NConvert.ToBoolean(this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Text); if (isConfirm) { if (this.deptZone1 == DeptZone.ALL) { info.Memo = "2"; } else { info.Memo = "1"; } } else { info.Memo = this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Tag.ToString(); } return(info); }
private void neuSpread1_Sheet1_CellChanged(object sender, FarPoint.Win.Spread.SheetViewEventArgs e) { if (e.Column == (int)ColumnSet.ColBeginNum || e.Column == (int)ColumnSet.ColInNum || e.Column == (int)ColumnSet.ColTransferIn || e.Column == (int)ColumnSet.ColTransferOut || e.Column == (int)ColumnSet.ColOutNu) { int beginNum = FrameWork.Function.NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[e.Row, (int)ColumnSet.ColBeginNum].Text); int tnNum = FrameWork.Function.NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[e.Row, (int)ColumnSet.ColInNum].Text); int transferIn = FrameWork.Function.NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[e.Row, (int)ColumnSet.ColTransferIn].Text); int transferOut = FrameWork.Function.NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[e.Row, (int)ColumnSet.ColTransferOut].Text); int outNum = FrameWork.Function.NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[e.Row, (int)ColumnSet.ColOutNu].Text); this.neuSpread1_Sheet1.Cells[e.Row, (int)ColumnSet.ColEndNum].Text = (beginNum + tnNum + transferIn - transferOut - outNum).ToString(); } else if (e.Column == (int)ColumnSet.ColEndNum) { Neusoft.HISFC.Models.HealthRecord.InpatientDayReport info = this.neuSpread1_Sheet1.Rows[e.Row].Tag as Neusoft.HISFC.Models.HealthRecord.InpatientDayReport; if (info == null) { return; } int endNum = FrameWork.Function.NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[e.Row, (int)ColumnSet.ColEndNum].Text); string deptCode = info.ID; //DateTime lastDate = info.DateStat.Date; for (int i = e.Row + 1; i < this.neuSpread1_Sheet1.Rows.Count; i++) { Neusoft.HISFC.Models.HealthRecord.InpatientDayReport tmpInfo = this.neuSpread1_Sheet1.Rows[i].Tag as Neusoft.HISFC.Models.HealthRecord.InpatientDayReport; if (tmpInfo == null) { continue; } string tmpDeptCode = tmpInfo.ID; //DateTime tmpDate = tmpInfo.DateStat.Date; if (tmpDeptCode == deptCode) { int tmpEndNum = FrameWork.Function.NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[i, (int)ColumnSet.ColEndNum].Text); int tmpBeginNum = FrameWork.Function.NConvert.ToInt32(this.neuSpread1_Sheet1.Cells[i, (int)ColumnSet.ColBeginNum].Text); this.neuSpread1_Sheet1.Cells[i, (int)ColumnSet.ColBeginNum].Text = endNum.ToString(); this.neuSpread1_Sheet1.Cells[i, (int)ColumnSet.ColEndNum].Text = (tmpEndNum + (endNum - tmpBeginNum)).ToString(); break; } } } }
/// <summary> /// 日报保存 /// </summary> /// <returns></returns> protected int SaveDayReport() { Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); //Neusoft.FrameWork.Management.Transaction t = new Transaction(Neusoft.FrameWork.Management.Connection.Instance); //t.BeginTransaction(); this.dayReportManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); this.zzReportManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); for (int i = 0; i < this.neuSpread1_Sheet1.Rows.Count; i++) { Neusoft.HISFC.Models.HealthRecord.InpatientDayReport info = this.GetDayReport(i); if (this.zzReportManager.UpdateAfterDayReportDetail(info) < 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Language.Msg("后续床位日报更新失败:" + this.dayReportManager.Err)); return(-1); } int param = this.zzReportManager.UpdateInpatientDayReport(info); if (param == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Language.Msg("床位日报更新失败")); return(-1); } else if (param == 0) { if (this.dayReportManager.InsertInpatientDayReport(info) == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Language.Msg("床位日报更新失败")); return(-1); } } } Neusoft.FrameWork.Management.PublicTrans.Commit(); MessageBox.Show("保存成功"); return(1); }
/// <summary> /// 获取床位日报 /// </summary> protected void QueryDayReport() { ArrayList alStatList = integrateManager.GetInpatientDayReportList(this.StatDate); if (alStatList == null) { MessageBox.Show("获取床位日报统计汇总信息发生错误"); return; } this.neuSpread1_Sheet1.Rows.Count = 0; Hashtable hsDayReportDept = new Hashtable(); foreach (Neusoft.HISFC.Models.HealthRecord.InpatientDayReport info in alStatList) { hsDayReportDept.Add(info.ID, null); this.neuSpread1_Sheet1.Rows.Add(0, 1); this.AddDataToFp(0, info); } ArrayList al = this.QueryDeptStat(); if (al != null) { foreach (Neusoft.FrameWork.Models.NeuObject tempStat in al) { if (!hsDayReportDept.ContainsKey(tempStat.ID)) { Neusoft.HISFC.Models.HealthRecord.InpatientDayReport temp = new Neusoft.HISFC.Models.HealthRecord.InpatientDayReport(); temp.ID = tempStat.ID; temp.Name = tempStat.Name; temp.DateStat = this.StatDate; this.neuSpread1_Sheet1.Rows.Add(0, 1); this.AddDataToFp(0, temp); } } } }
/// <summary> /// 作废日报明细表中一条记录 /// </summary> /// <param name="reportDetail">住院日报实体</param> /// <returns>0没有更新 1成功 -1失败</returns> public int CancelDayReportDetail(Neusoft.HISFC.Models.HealthRecord.InpatientDayReport reportDetail) { string strSQL = ""; if (this.Sql.GetSql("Case.DayReport.CancelDayReportDetail", ref strSQL) == -1) { this.Err = "没有找到Case.DayReport.CancelDayReportDetail字段!"; return(-1); } try { //参数说明:0患者住院流水号,1日报统计类型(目前只有出院可以作废),2统计日期 strSQL = string.Format(strSQL, reportDetail.User02, "O", reportDetail.DateStat.ToString()); //替换SQL语句中的参数。 } catch (Exception ex) { this.Err = "格式化SQL语句时出错Case.DayReport.CancelDayReportDetail:" + ex.Message; this.WriteErr(); return(-1); } return(this.ExecNoQuery(strSQL)); }
/// <summary> /// 更新日报明细表中一条记录 /// </summary> /// <param name="reportDetail">住院日报实体</param> /// <returns>0没有更新 1成功 -1失败</returns> public int UpdateDayReportDetail(Neusoft.HISFC.Models.HealthRecord.InpatientDayReport reportDetail) { string strSQL = ""; if (this.Sql.GetSql("Case.DayReport.UpdateDayReportDetail", ref strSQL) == -1) { this.Err = "没有找到Case.DayReport.UpdateDayReportDetail字段!"; return(-1); } try { string[] strParm = myGetParmDayReportDetail(reportDetail); //取参数列表 strSQL = string.Format(strSQL, strParm); //替换SQL语句中的参数。 } catch (Exception ex) { this.Err = "格式化SQL语句时出错Case.DayReport.UpdateDayReportDetail:" + ex.Message; this.WriteErr(); return(-1); } return(this.ExecNoQuery(strSQL)); }
/// <summary> /// 获取床位日报 /// </summary> protected void QueryDayReport() { #region {32357656-B32A-4fcc-BE5D-6FA1789CD5C9} 床位日报审核功能 /// <summary> /// 查询科室条件限制 /// </summary> if (this.deptZone1 == DeptZone.ALL) //全部科室 { deptID = this.cmbDept.Tag.ToString(); //neuSpread1_Sheet1.Columns[(int)ColumnSet.ColStarandNum].Locked = false; neuSpread1_Sheet1.Columns[(int)ColumnSet.ColBeginNum].Locked = false; } else //单科室 { deptID = ((Neusoft.HISFC.Models.Base.Employee)Neusoft.FrameWork.Management.Connection.Operator).Dept.ID.ToString(); neuSpread1_Sheet1.Columns[(int)ColumnSet.ColStarandNum].Locked = true; neuSpread1_Sheet1.Columns[(int)ColumnSet.ColBeginNum].Locked = true; } ArrayList alStatList = zzReportManager.GetInpatientDayReportList(this.BeginDate, this.EndDate, deptID); //ArrayList alStatList = dayReportManager.GetInpatientDayReportList(this.StatDate); #endregion {32357656-B32A-4fcc-BE5D-6FA1789CD5C9} 床位日报审核功能 if (alStatList == null) { MessageBox.Show("获取床位日报统计汇总信息发生错误"); return; } this.neuSpread1_Sheet1.Rows.Count = 0; Hashtable hsDayReportDept = new Hashtable(); foreach (Neusoft.HISFC.Models.HealthRecord.InpatientDayReport info in alStatList) { //CommitNum = GetDayReportCount(this.StatDate,info.ID); //if (CommitNum > 0) //{ // info.Memo = "1"; //}else //{ // info.Memo = "0"; //} if (!hsDayReportDept.ContainsKey(info.ID)) { hsDayReportDept.Add(info.ID, null); } this.neuSpread1_Sheet1.Rows.Add(0, 1); this.AddDataToFp(0, info); } ArrayList al = this.QueryDeptStat(); if (al != null) { foreach (Neusoft.FrameWork.Models.NeuObject tempStat in al) { if (!hsDayReportDept.ContainsKey(tempStat.ID)) { Neusoft.HISFC.Models.HealthRecord.InpatientDayReport temp = new Neusoft.HISFC.Models.HealthRecord.InpatientDayReport(); temp.ID = tempStat.ID; temp.Name = tempStat.Name; temp.DateStat = this.BeginDate; this.neuSpread1_Sheet1.Rows.Add(0, 1); this.AddDataToFp(0, temp); } } } this.SetSum(alStatList); }
private int AddDataToFp(int rowIndex, Neusoft.HISFC.Models.HealthRecord.InpatientDayReport info) { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColDateStat].Text = info.DateStat.ToString("yyyy-MM-dd"); this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColDeptCode].Text = info.ID; //{32357656-B32A-4fcc-BE5D-6FA1789CD5C9} 床位日报审核功能 this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColDeptName].Text = this.deptHelper.GetName(info.ID); this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text = info.BedStand.ToString(); this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColAddNum].Text = info.BedAdd.ToString(); this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColFreeNum].Text = info.BedFree.ToString(); this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColBeginNum].Text = info.BeginningNum.ToString(); this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColInNum].Text = info.InNormal.ToString(); this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferIn].Text = info.InTransfer.ToString(); this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferOut].Text = info.OutTransfer.ToString(); this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutNu].Text = info.OutNormal.ToString(); //死亡数 this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutDeathNu].Text = info.User01.ToString(); this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColEndNum].Text = info.EndNum.ToString(); //if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text == "0") // this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text == ""; if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text == "0") { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Text = ""; } if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColAddNum].Text == "0") { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColAddNum].Text = ""; } if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColFreeNum].Text == "0") { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColFreeNum].Text = ""; } if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColBeginNum].Text == "0") { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColBeginNum].Text = ""; } if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColInNum].Text == "0") { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColInNum].Text = ""; } if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferIn].Text == "0") { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferIn].Text = ""; } if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferOut].Text == "0") { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColTransferOut].Text = ""; } if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutNu].Text == "0") { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutNu].Text = ""; } if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutDeathNu].Text == "0") { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColOutDeathNu].Text = " "; } if (this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColEndNum].Text == "0") { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColEndNum].Text = ""; } #region {32357656-B32A-4fcc-BE5D-6FA1789CD5C9} 床位日报审核功能 //if (info.Memo == "1") //{ // this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Text = "已提交"; // this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Tag = "1"; //} //else //{ //this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Locked = false; this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].BackColor = Color.White; this.neuSpread1_Sheet1.Rows[rowIndex].Locked = false; if (info.Memo == "0" || string.IsNullOrEmpty(info.Memo)) { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Text = "FALSE"; if (this.deptZone1 == DeptZone.ALL) { //暂时护士站未提交病案室也可以修改 //this.neuSpread1_Sheet1.Rows[rowIndex].Locked = true; this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].BackColor = Color.LightGray; } } else if (info.Memo == "1") { if (this.deptZone1 == DeptZone.ALL) { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Text = "FALSE"; } else { this.neuSpread1_Sheet1.Rows[rowIndex].Locked = true; this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].BackColor = Color.LightGray; this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Text = "TRUE"; } } else if (info.Memo == "2") { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Text = "TRUE"; this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].BackColor = Color.LightPink; if (this.deptZone1 == DeptZone.DEPT) { this.neuSpread1_Sheet1.Rows[rowIndex].Locked = true; } else { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Locked = true; } } #region {5DC8523F-9E2A-413a-B77E-C62165F30C05} 上线初期病案室允许修改期初数 if (this.deptZone1 == DeptZone.DEPT) //单科室 { this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColStarandNum].Locked = true; this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColBeginNum].Locked = true; } //this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColBeginNum].Locked = true; #endregion {5DC8523F-9E2A-413a-B77E-C62165F30C05} this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColEndNum].Locked = true; this.neuSpread1_Sheet1.Cells[rowIndex, (int)ColumnSet.ColMemo].Tag = info.Memo; //} #endregion {32357656-B32A-4fcc-BE5D-6FA1789CD5C9} 床位日报审核功能 this.neuSpread1_Sheet1.Rows[rowIndex].Tag = info; return(1); }
/// <summary> /// 取住院日报信息列表,可能是一条或者多条库存记录 /// 私有方法,在其他方法中调用 /// writed by cuipeng /// 2005-1 /// </summary> /// <param name="SQLString">SQL语句</param> /// <returns>住院日报信息对象数组</returns> private ArrayList myGetInpatientDayReport(string SQLString) { ArrayList al = new ArrayList(); Neusoft.HISFC.Models.HealthRecord.InpatientDayReport dayReport; //住院日报信息实体 this.ProgressBarText = "正在检索住院日报单信息..."; this.ProgressBarValue = 0; //执行查询语句 if (this.ExecQuery(SQLString) == -1) { this.Err = "获得库存信息时,执行SQL语句出错!" + this.Err; this.ErrCode = "-1"; return(null); } try { while (this.Reader.Read()) { //取查询结果中的记录 dayReport = new Neusoft.HISFC.Models.HealthRecord.InpatientDayReport(); dayReport.DateStat = NConvert.ToDateTime(this.Reader[0].ToString()); //0 统计日期 dayReport.ID = this.Reader[1].ToString(); //1 住院日报单号 dayReport.BedStand = NConvert.ToInt32(this.Reader[2].ToString()); //2 编制内病床数 dayReport.BedAdd = NConvert.ToInt32(this.Reader[3].ToString()); //3 加床数 dayReport.BedFree = NConvert.ToInt32(this.Reader[4].ToString()); //4 空床数 dayReport.BeginningNum = NConvert.ToInt32(this.Reader[5].ToString()); //5 期初病人数 dayReport.InNormal = NConvert.ToInt32(this.Reader[6].ToString()); //6 常规入院数 dayReport.InEmergency = NConvert.ToInt32(this.Reader[7].ToString()); //7 急诊入院数 dayReport.InTransfer = NConvert.ToInt32(this.Reader[8].ToString()); //8 其他科转入数 dayReport.InReturn = NConvert.ToInt32(this.Reader[9].ToString()); //9 招回入院人数 dayReport.OutNormal = NConvert.ToInt32(this.Reader[10].ToString()); //10 常规出院数 dayReport.OutTransfer = NConvert.ToInt32(this.Reader[11].ToString()); //11 转出其他科数 dayReport.OutWithdrawal = NConvert.ToInt32(this.Reader[12].ToString()); //12 退院人数 dayReport.EndNum = NConvert.ToInt32(this.Reader[13].ToString()); //13 期末病人数 dayReport.DeadIn24 = NConvert.ToInt32(this.Reader[14].ToString()); //14 24小时内死亡数 dayReport.DeadOut24 = NConvert.ToInt32(this.Reader[15].ToString()); //15 24小时外死亡数 dayReport.BedRate = NConvert.ToDecimal(this.Reader[16].ToString()); //16 床位使用率 dayReport.Other1Num = NConvert.ToInt32(this.Reader[17].ToString()); //17 其他1数量 dayReport.Other2Num = NConvert.ToInt32(this.Reader[18].ToString()); //18 其他2数量 dayReport.OperInfo.ID = this.Reader[19].ToString(); //19 操作员编码 dayReport.OperInfo.OperTime = NConvert.ToDateTime(this.Reader[20].ToString()); //20 操作时间 dayReport.Memo = this.Reader[21].ToString(); //21 备注 dayReport.NurseStation.ID = this.Reader[22].ToString(); //22 护士站编码 dayReport.Name = this.Reader[23].ToString(); //23 科室名称 dayReport.InTransferInner = NConvert.ToInt32(this.Reader[24].ToString()); //24 内部转入数 dayReport.OutTransferInner = NConvert.ToInt32(this.Reader[25].ToString()); //25 内部转出数 this.ProgressBarValue++; al.Add(dayReport); } } //抛出错误 catch (Exception ex) { this.Err = "获得住院日报信息时出错!" + ex.Message; this.ErrCode = "-1"; return(null); } this.Reader.Close(); this.ProgressBarValue = -1; return(al); }