예제 #1
0
        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
        }