public void m_getData() { DataTable dtCheckOut; DataTable dtCheckOutDe; startDate = this.m_objViewer.startDate.Value.ToShortDateString(); EndDate = this.m_objViewer.endDate.Value.ToShortDateString(); doMain.m_lngGetIatrical(startDate, EndDate, out dtPayType, out dtCheckOut, out dtCheckOutDe, out dtEmp, this.m_objViewer.m_CboSeleChargeMan.Item.sValue[this.m_objViewer.m_CboSeleChargeMan.SelectedIndex].ToString(), this.m_objViewer.m_getData); switch (this.m_objViewer.m_getData) { case "-1": strIsOur = "2"; strIsMB = "-1"; this.m_objViewer.Text = "医保统计报表"; break; case "0": strIsMB = "0"; strIsOur = "2"; this.m_objViewer.Text = "医保统计报表(慢病)"; break; case "1": strIsMB = "1"; strIsOur = "2"; this.m_objViewer.Text = "医保统计报表(红会)"; break; case "2": strIsMB = "-1"; strIsOur = "1"; this.m_objViewer.Text = "公费统计报表"; break; case "3": strIsMB = "0"; strIsOur = "1"; this.m_objViewer.Text = "公费统计报表(慢病)"; break; case "4": strIsMB = "1"; strIsOur = "1"; this.m_objViewer.Text = "公费统计报表(红会)"; break; case "5": strIsMB = "-1"; strIsOur = "0"; this.m_objViewer.Text = "自费统计报表"; break; case "6": strIsMB = "0"; strIsOur = "0"; this.m_objViewer.Text = "自费统计报表(慢病)"; break; case "7": strIsMB = "1"; strIsOur = "0"; this.m_objViewer.Text = "自费统计报表(红会)"; break; case "8": strIsMB = "-1"; strIsOur = "3"; this.m_objViewer.Text = "其它统计报表"; break; case "9": strIsMB = "0"; this.m_objViewer.Text = "其它统计报表(慢病)"; strIsOur = "3"; break; case "10": strIsMB = "1"; strIsOur = "3"; this.m_objViewer.Text = "其它统计报表(红会)"; break; case "11": strIsMB = "-1"; strIsOur = "4"; this.m_objViewer.Text = "公费(自费部分)报表"; break; case "12": strIsMB = "0"; this.m_objViewer.Text = "公费(自费部分)报表(慢病)"; strIsOur = "4"; break; case "13": strIsMB = "1"; strIsOur = "4"; this.m_objViewer.Text = "公费(自费部分)报表(红会)"; break; case "14": strIsMB = "-1"; strIsOur = "5"; this.m_objViewer.Text = "医保记帐及刷卡报表"; break; case "15": strIsMB = "0"; this.m_objViewer.Text = "医保记帐及刷卡报表"; strIsOur = "5"; break; case "16": strIsMB = "1"; strIsOur = "5"; this.m_objViewer.Text = "医保记帐及刷卡报表"; break; } #region 统计各种收费类型的金额 dtPayType.Columns.Add("tolMoney"); double data3; double data4; if (dtCheckOutDe.Rows.Count >= 0) { for (int i1 = 0; i1 < dtPayType.Rows.Count; i1++) { Double tolMoney = 0; for (int f2 = 0; f2 < dtCheckOutDe.Rows.Count; f2++) { if (dtCheckOutDe.Rows[f2]["ITEMOPCALCTYPE_CHR"].ToString().Trim() == dtPayType.Rows[i1]["TYPEID_CHR"].ToString().Trim()) { if (strIsOur == "1" || strIsOur == "2" || strIsOur == "3") { data3 = Convert.ToDouble(dtCheckOutDe.Rows[f2]["TOLPRICE_MNY"].ToString().Trim()); data4 = Convert.ToDouble(dtCheckOutDe.Rows[f2]["TOLFEE_MNY"].ToString().Trim()); tolMoney = tolMoney + data4 - data3; } else if (strIsOur == "5") { if (dtCheckOutDe.Rows[f2]["PAYTYPE_INT"].ToString() == "1") { tolMoney += Convert.ToDouble(dtCheckOutDe.Rows[f2]["TOLPRICE_MNY"].ToString().Trim()); } if (dtCheckOutDe.Rows[f2]["INTERNALFLAG_INT"].ToString() == "2") { data3 = Convert.ToDouble(dtCheckOutDe.Rows[f2]["TOLPRICE_MNY"].ToString().Trim()); data4 = Convert.ToDouble(dtCheckOutDe.Rows[f2]["TOLFEE_MNY"].ToString().Trim()); tolMoney = tolMoney + data4 - data3; } } else { if (strIsOur == "0") { if (dtCheckOutDe.Rows[f2]["PAYTYPE_INT"].ToString() != "1" && dtCheckOutDe.Rows[f2]["PAYTYPE_INT"].ToString() != "3") { tolMoney += Convert.ToDouble(dtCheckOutDe.Rows[f2]["TOLPRICE_MNY"].ToString().Trim()); } } else { if (dtCheckOutDe.Rows[f2]["PAYTYPE_INT"].ToString() != "1" && dtCheckOutDe.Rows[f2]["PAYTYPE_INT"].ToString() != "3") { tolMoney += Convert.ToDouble(dtCheckOutDe.Rows[f2]["TOLPRICE_MNY"].ToString().Trim()); } } } } } dtPayType.Rows[i1]["tolMoney"] = tolMoney.ToString("0.00"); } } #endregion dtEmp.Columns.Add("医保记帐合计金额"); dtEmp.Columns.Add("医保人次数"); decimal data1; decimal data2; for (int i1 = 0; i1 < dtCheckOut.Rows.Count; i1++) { for (int f2 = 0; f2 < dtEmp.Rows.Count; f2++) { if (dtEmp.Rows[f2]["医保记帐合计金额"].ToString() == "") { dtEmp.Rows[f2]["医保记帐合计金额"] = 0; } if (dtEmp.Rows[f2]["医保人次数"].ToString() == "") { dtEmp.Rows[f2]["医保人次数"] = 0; } if (dtCheckOut.Rows[i1]["BALANCEEMP_CHR"].ToString() == dtEmp.Rows[f2]["BALANCEEMP_CHR"].ToString()) { if (strIsOur == "1" || strIsOur == "2" || strIsOur == "3") { data1 = decimal.Parse(dtEmp.Rows[f2]["医保记帐合计金额"].ToString()); data2 = decimal.Parse(dtCheckOut.Rows[i1]["ACCTSUM_MNY"].ToString()); dtEmp.Rows[f2]["医保记帐合计金额"] = data1 + data2; } else if (strIsOur == "5") { if (dtCheckOut.Rows[i1]["PAYTYPE_INT"].ToString() == "1") { data1 = decimal.Parse(dtCheckOut.Rows[i1]["SBSUM_MNY"].ToString().Trim()); data2 = decimal.Parse(dtEmp.Rows[f2]["医保记帐合计金额"].ToString()); dtEmp.Rows[f2]["医保记帐合计金额"] = data1 + data2; } if (dtCheckOut.Rows[i1]["INTERNALFLAG_INT"].ToString() == "2") { data1 = decimal.Parse(dtEmp.Rows[f2]["医保记帐合计金额"].ToString()); data2 = decimal.Parse(dtCheckOut.Rows[i1]["ACCTSUM_MNY"].ToString()); dtEmp.Rows[f2]["医保记帐合计金额"] = data1 + data2; } } else { if (strIsOur == "0") { if (dtCheckOut.Rows[i1]["PAYTYPE_INT"].ToString() != "1" && dtCheckOut.Rows[i1]["PAYTYPE_INT"].ToString() != "3") { data1 = decimal.Parse(dtEmp.Rows[f2]["医保记帐合计金额"].ToString()); data2 = decimal.Parse(dtCheckOut.Rows[i1]["TOTALSUM_MNY"].ToString()); dtEmp.Rows[f2]["医保记帐合计金额"] = data1 + data2; } } else { if (dtCheckOut.Rows[i1]["PAYTYPE_INT"].ToString() != "1" && dtCheckOut.Rows[i1]["PAYTYPE_INT"].ToString() != "3") { data1 = decimal.Parse(dtEmp.Rows[f2]["医保记帐合计金额"].ToString()); data2 = decimal.Parse(dtCheckOut.Rows[i1]["SBSUM_MNY"].ToString()); dtEmp.Rows[f2]["医保记帐合计金额"] = data1 + data2; } } } dtEmp.Rows[f2]["医保人次数"] = Convert.ToInt32(dtEmp.Rows[f2]["医保人次数"]) + 1; } } } #region 添加合计行 int totalNumber = 0; double tolalMoney = 0; if (dtEmp.Rows.Count > 0) { for (int i1 = 0; i1 < dtEmp.Rows.Count; i1++) { if (dtEmp.Rows[i1]["医保记帐合计金额"].ToString() != "0") { tolalMoney += Convert.ToDouble(dtEmp.Rows[i1]["医保记帐合计金额"]); totalNumber += Convert.ToInt32(dtEmp.Rows[i1]["医保人次数"]); } } } DataRow newRow = dtEmp.NewRow(); newRow["BALANCEEMP_CHR"] = "11111"; newRow["LASTNAME_VCHR"] = "统计行"; newRow["医保记帐合计金额"] = tolalMoney; newRow["医保人次数"] = totalNumber; dtEmp.Rows.Add(newRow); #endregion }