Beispiel #1
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            this.Text = "                                     正在加载报表,请稍后.....";
            iLoginEx.WriteUserProfileValue("SO311", "cboReport", cboReport.Text);
            string selectSQL = "select sq.cbustype,sq.cstname,sq.csocode,sq.ddate ,sq.ccuscode,sq.ccusdefine6,sq.cexch_name,convert(varchar(100),convert(money,sq.iexchrate),2) as iexchrate,sq.iTaxRate,sq.cdepname,sq.cpersonname,sq.ccusabbname,sq.cpayname,  \r\n";

            selectSQL += " sq.cmaker,sq.cverifier,sq.cmemo,sq.ccusphone,sq.ccusaddress,sq.ccusdefine8,sq.ccusdefine9,sq.cscname as csccode,   \r\n";
            selectSQL += " sqs.cInvCode,sqs.cInvName,sqs.cInvStd,sqs.cinvm_unit as cinvmunit,convert(varchar(100),convert(money,sqs.iquantity),1) as iquantity, convert(varchar(100),convert(money,sqs.itaxunitprice),2) as itaxunitprice , convert(varchar(100),sqs.isum,1) as isum,sqs.isosid  \r\n";
            selectSQL += " ,sqs.cinvdefine6 as SQ_cinvdefine6,sqs.cinvdefine9,sqs.cdefine33,sqs.cdefine31,sqs.cdefine22,sqs.cdefine23,sqs.irowno,sqs.cmemo as SQ_cmemo,convert(varchar, sqs.dpredate,111) as 'dpredate' ,sqs.cinvdefine4,sqs.cfree4,sqs.cinvdefine7 \r\n";
            selectSQL += "  from SaleOrderQ sq inner join SaleOrderSQ sqs on sq.id=sqs.id where  sq.id=" + SO_SOMain_Id + " order by irowno  \r\n";

            //string selectSQL = "select sq.cbustype,sq.cstname,sq.csocode,sq.ddate ,sq.ccuscode,sq.ccusdefine6,sq.cexch_name,sq.iexchrate,sq.iTaxRate,sq.cdepname,  \r\n";
            //selectSQL += " sq.cpersonname,sq.ccusabbname,sq.cpayname,sq.cmaker,sq.cverifier,sq.cmemo,sq.ccusphone,sq.ccusaddress,sq.ccusdefine8,sq.ccusdefine9,sq.cscname,  \r\n";
            //selectSQL += "   \r\n";
            //selectSQL += " sqs.cInvCode,sqs.cInvName,sqs.cInvStd,sqs.cinvm_unit,sqs.iquantity,sqs.itaxunitprice,sqs.isum,sqs.isosid,sqs.cinvdefine6 as SQ_cinvdefine6,sqs.cinvdefine9,  \r\n";
            //selectSQL += " sqs.cdefine33,sqs.cdefine31,sqs.cdefine22,sqs.cdefine23,sqs.irowno,sqs.cmemo as SQ_cmemo,sqs.dpredate,sqs.cinvdefine4,sqs.cfree4,sqs.cinvdefine7,sqs.cinvdefine8   \r\n";
            //selectSQL += "  from SaleOrderQ sq inner join SaleOrderSQ sqs on sq.id=sqs.id where  sq.id=" + SO_SOMain_Id + " order by irowno     \r\n";
            //selectSQL += "   \r\n";
            try
            {
                OLEDBHelper.iLoginEx = iLoginEx;
                string sql_as = "";
                sql_as  = "if object_id('tempdb..zhrs_t_CB_SG_Info') is not null   \r\n";
                sql_as += " drop table tempdb..zhrs_t_CB_SG_Info  \r\n";
                OLEDBHelper.ExecuteNonQuery(sql_as, CommandType.Text);

                sql_as  = "create table tempdb..zhrs_t_CB_SG_Info  \r\n";
                sql_as += " (  \r\n";
                sql_as += " iRow int,  \r\n";
                sql_as += " Csocode varchar(50),  \r\n";
                sql_as += " Cinvcodes varchar(50),  \r\n";
                sql_as += " Cinvcode varchar(50),  \r\n";
                sql_as += " CinvName varchar(225),  \r\n";
                sql_as += " Cinvstd varchar(225),  \r\n";
                sql_as += " CcomunitName varchar(10),  \r\n";
                sql_as += " BaseQtyND decimal(28,4),  \r\n";
                sql_as += " Ciquantity decimal(28,4),  \r\n";
                sql_as += " SiQuotedPrice decimal(28,4),  \r\n";
                sql_as += " SiSum decimal(28,4)  \r\n";
                sql_as += " )  \r\n";
                OLEDBHelper.ExecuteNonQuery(sql_as, CommandType.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show("发生错误!" + ex.Message);
            }


            string selectSQL_CB = "select zt.iRow, zt.Csocode,zt.Cinvcodes,zt.Cinvcode,zt.CinvName,zt.Cinvstd,zt.CcomunitName,zt.BaseQtyND,zt.Ciquantity,zt.SiQuotedPrice,zt.SiSum   \r\n";

            selectSQL_CB += " from zhrs_t_zzcSO_SOAddSeriesInfo zt   \r\n";
            selectSQL_CB += " where zt.SO_SOMain_Id=" + SO_SOMain_Id + "  \r\n";


            int    n   = cboReport.SelectedIndex;
            string rpt = "";

            switch (n)
            {
            case 0: rpt = "cR96"; break;

            case 1: rpt = "CR30890"; break;

            case 2: rpt = "CR30892"; break;

            case 3: rpt = "CR30895"; break;

            case 4: rpt = "CR30906"; break;

            case 5: rpt = "CR30948"; break;
            }
            DataSet         ds     = new DataSet();
            OleDbConnection sqlCon = new OleDbConnection(iLoginEx.ConnString());

            sqlCon.Open();
            OleDbCommand sqlCmd = new OleDbCommand(selectSQL, sqlCon);

            try
            {
                OleDbDataAdapter sqlAd = new OleDbDataAdapter();
                sqlAd.SelectCommand = new OleDbCommand(selectSQL_CB, sqlCon);
                sqlAd.Fill(ds, "selectSQL_CB");
                sqlAd.SelectCommand = sqlCmd;
                sqlAd.Fill(ds, "sql");



                selectSQL          = "select convert(money,sum(sqs.iquantity),1)as iquantity,sum(isum) as isum from SaleOrderSQ sqs where  sqs.id=" + SO_SOMain_Id + " group by sqs.id";
                sqlCmd.CommandText = selectSQL;
                OleDbDataReader dr           = sqlCmd.ExecuteReader();
                string          sumiquantity = "";
                string          sumIsum      = "";
                if (dr.Read())
                {
                    sumiquantity = String.Format("{0:F}", dr["iquantity"]);
                    sumIsum      = dr["isum"].ToString();
                }
                dr.Close();

                sqlCon.Close();
                GC.Collect();
                //获取报表路径

                string path_CB = Application.StartupPath + "\\zzcReport\\CB_SG_Info.rpt";
                string path    = Application.StartupPath + "\\zzcReport\\" + rpt + ".rpt";
                myReoprts.Close();
                myReop.Load(path_CB);
                myReoprts.Load(path);
                myReoprts.SetDataSource(ds.Tables["sql"]);
                myReop.SetDataSource(ds.Tables["selectSQL_CB"]);


                frmSaleReport frm = new frmSaleReport();
                frm.myReoprts    = myReoprts;
                frm.myReop       = myReop;
                frm.sumiquantity = sumiquantity;
                frm.sumIsum      = sumIsum;
                frm.SO_SOMain_Id = SO_SOMain_Id;
                frm.iLoginEx     = iLoginEx;
                frm.rpt          = rpt;
                this.Close();
                frm.Show();
            }
            catch (Exception ex)
            {
                MessageBox.Show("错误!" + ex.Message);
            }
        }