Beispiel #1
0
        private void CreateReportThread(object ParaObject)
        {
            //开箱
            object[] o           = (object[])ParaObject;
            string   sSelItems   = (string)o[0];
            string   sSelTypeIDs = (string)o[1];
            long     lID         = Convert.ToInt64(o[2]);
            long     lGxID       = Convert.ToInt64(o[3]);
            int      nStartYear  = Convert.ToInt32(o[4]);
            int      nEndYear    = Convert.ToInt32(o[5]);
            int      nChartType  = 0;

            if ((o[6].ToString() != ""))
            {
                nChartType = Convert.ToInt32(o[6]);
            }
            long ReportTypeID = Convert.ToInt16(o[7]);

            GetGxName(lGxID);
            try
            {
                clsExcelApp.Create();
                for (int i = nStartYear; i <= nEndYear; i++)
                {
                    Worksheet ws = new Worksheet();
                    ws = clsExcelApp.AddSheet(i.ToString());//sTableName
                    WriteDataToExcel(ws, sSelItems, sSelTypeIDs, lGxID, i, i, ReportTypeID);
                    if (nChartType != 0)
                    {
                        CreateChart(ws, sSelTypeIDs, nChartType, ReportTypeID);
                    }
                }
                if (nStartYear < nEndYear)
                {
                    Worksheet ws = new Worksheet();
                    ws = clsExcelApp.AddSheet(nStartYear.ToString() + "-" + nEndYear.ToString());
                    WriteDataToExcel(ws, sSelItems, sSelTypeIDs, lGxID, nStartYear, nEndYear, ReportTypeID);
                    if (nChartType != 0)
                    {
                        CreateChart(ws, sSelTypeIDs, nChartType, ReportTypeID);
                    }
                }
                clsExcelApp.DelSheet("Sheet1");
            }
            catch (Exception e)//这一部分可能会报错,原因通常是excel的权限问题
            {
                clsExcelApp.Close();
                return;
            }
            clsExcelApp.SaveAs(sFileAddress + lID + ".xls");
            clsExcelApp.Close();
            tblReportInfo model = GetOneRecordbyID <tblReportInfo, string>(lID.ToString());

            model.HandleFlag = "处理完成";
            string[] EditColumn = { "HandleFlag" };
            SaveOneRecord(model, EditColumn);
        }
Beispiel #2
0
        public ActionResult WindowSaveClick(tblReportInfo mo, string PanelID, string ParentVariable)
        {
            GetParentVariable(ParentVariable);
            ReportInfoDataListManage smpDlgMan = new ReportInfoDataListManage();

            string[] EditColumn = { "Name", "Remark" };
            long     nNewID     = smpDlgMan.SaveOneSimpleRecord(mo, null, EditColumn);

            SetHiddenValue(PanelID + "_ExitCode", "1");
            return(this.Direct());
        }
Beispiel #3
0
        public override ActionResult WindowCommonShow(string PanelID, string ParentVariable, string ParentKey)
        {
            GetParentVariable(ParentVariable);
            ReportInfoDataListManage man = new ReportInfoDataListManage();

            man.InitSelection(ParentVar.transValue);
            tblReportInfo model = man.GetSpecialModelFromCurrentID(man.sRowNowID);
            var           form  = this.GetCmp <FormPanel>(PanelID + "_Form");

            form.SetValues(model);
            return(this.Direct());
        }
Beispiel #4
0
        public override ActionResult WindowCommonShow(string PanelID, string ParentVariable, string ParentKey)
        {
            GetParentVariable(ParentVariable);
            tblReportInfo model     = new tblReportInfo();
            var           form      = this.GetCmp <FormPanel>(PanelID + "_Form");
            var           loginUser = System.Web.HttpContext.Current.Request.Cookies.Get("LoginUser");
            CryptManage   crypt     = new CryptManage();
            string        sGxID     = crypt.Decrypto(loginUser.Values["UserGxID"]);

            model.GxID = Convert.ToInt64(sGxID);
            form.SetValues(model);
            return(this.Direct());
        }
Beispiel #5
0
        //生产报表这一部分开启一个新的线程
        public virtual void CreateReport(string sSelItems, string sSelTypeIDs, string sID, string sGxID, string sStartYear, string sEndYear, string sChartType, long ReportTypeID)
        {
            //ParameterizedThreadStart ParStart = new ParameterizedThreadStart(CreateReportThread);
            //Thread myThread = new Thread(ParStart);
            string        returnMsg = "正在创建...";
            tblReportInfo model     = GetOneRecordbyID <tblReportInfo, string>(sID);

            if (model.HandleFlag == "创建完成")
            {
                returnMsg = "该报表已经创建完成!";
            }
            else
            {
                object[] o = new object[] { sSelItems, sSelTypeIDs, sID, sGxID, sStartYear, sEndYear, sChartType, ReportTypeID };//装箱
                CreateReportThread(o);
            }

            //myThread.Start(o);
        }
Beispiel #6
0
        public ActionResult WindowSaveClick(string PanelID, string ParentVariable, string ChartType)
        {
            tblReportInfo mo = new tblReportInfo();     //mo.Create\Delflag\remark都已经有值了经过这一步

            mo.CreateDate = DateTime.Now;
            string[]      key       = { CookieKeys.ID, CookieKeys.USERGXID };
            List <string> sUserInfo = (new UserInfoManage()).GetLoginUserInfo(key);

            mo.UserID = Convert.ToInt64(sUserInfo[0]);
            mo.GxID   = Convert.ToInt64(sUserInfo[1]);
            GetParentVariable(ParentVariable);       //获取传过来的参数ParentVariable
            mo.ReportTypeID = Convert.ToInt16(ParentVar.transValue);



            if (!mo.HandleWay)
            {
                mo.HandleFlag = "尚未处理";
            }
            ReportInfoManage reInfoMan = new ReportInfoManage();
            //ReportManage reportMan = new ReportManage();
            long lNewID = reInfoMan.AddOneRecord(mo);

            //if (mo.HandleWay)
            //    reportMan.InportData(lNewID.ToString());

            SetHiddenValue(PanelID + "_ExitCode", "1");

            GetParentVariable(ParentVariable);
            setParentVariable(ParentVar.areaName, ParentVar.controlName, ParentVar.actionName, lNewID.ToString(), ParentVar.KeyWords);
            SetHiddenValue(PanelID + "_ParentVariable", ParentVar.DefaultVal);

            string sScripts = "var i = 0; var sSelItems = \"\";var sSelTypeIDs = \"\";";

            sScripts += "while (i < App." + PanelID + "_NowItemsStore" + ".getCount()) { sSelTypeIDs = sSelTypeIDs + App." + PanelID + "_NowItemsStore" + ".getAt(i).get('TypeID') + \",\"; sSelItems = sSelItems + App." + PanelID + "_NowItemsStore" + ".getAt(i).get('ID') + \",\"; i++; }";
            sScripts += " sSelItems = sSelItems.slice(0, sSelItems.length - 1); sSelTypeIDs = sSelTypeIDs.slice(0, sSelTypeIDs.length - 1);";
            sScripts += "App.direct.UserControl.WinCreateReport_CreateReportDirectMethod(sSelItems,sSelTypeIDs,\"" + PanelID + "\",App." + PanelID + "_SelGxdm.getValue(),App." + PanelID + "_OperateStartYear.getValue(),App." + PanelID + "_OperateEndYear.getValue(),\"" + ParentVariable + "\",\"" + ChartType + "\",\"" + lNewID.ToString() + "\");";
            X.AddScript(sScripts);
            return(this.Direct());
        }
Beispiel #7
0
        public ActionResult WinCreateReport_CreateReportDirectMethod(string sSelItems, string sSelTypeIDs, string PanelID, string sGxID, string sStartYear, string sEndYear, string ParentVariable, string sChartType, string sID)
        {
            if (sSelItems == "")
            {
                X.Msg.Alert("注意!", "已选项不能为空!").Show();
                return(this.Direct());
            }

            ReportInfoManage man = new ReportInfoManage();
            tblReportInfo    mo  = man.GetOneRecordbyID <tblReportInfo, string>(sID);

            string GxName = "", FileName = "";
            DepartmentInfoManage Deman         = new DepartmentInfoManage();
            tblDepartmentInfo    model         = Deman.GetOneRecordbyID <tblDepartmentInfo, string>(sGxID); //获取数据库表中的一条记录

            if (model != null)
            {
                GxName = model.Name;
            }
            Expression <Func <tblReportType, bool> > where = (c => c.ID == mo.ReportTypeID && c.DelFlag == false);
            ReportTypeDataListManage reMan     = new ReportTypeDataListManage();
            List <tblReportType>     list      = reMan.GetRecord(where); //获取数据库表中的多条记录

            if (sEndYear == sStartYear)
            {
                FileName = GxName + sStartYear + "年" + list[0].Name;
            }
            else
            {
                FileName = GxName + sStartYear + "-" + sEndYear + "年" + list[0].Name;
            }
            mo.Name = FileName;

            ReportInfoDataListManage smpDlgMan = new ReportInfoDataListManage();

            string[] EditColumn                = { "Name" };
            long     nNewID                    = smpDlgMan.SaveOneSimpleRecord(mo, null, EditColumn);

            SetHiddenValue(PanelID + "_ExitCode", "1");

            switch (mo.ReportTypeID)
            {
            case 1:
                JHReportManage JHReport = new JHReportManage();
                JHReport.CreateReport(sSelItems, sSelTypeIDs, sID, sGxID, sStartYear, sEndYear, sChartType, mo.ReportTypeID);
                break;

            case 2:
                LQReportManage LQReport = new LQReportManage();
                LQReport.CreateReport(sSelItems, sSelTypeIDs, sID, sGxID, sStartYear, sEndYear, sChartType, mo.ReportTypeID);
                break;

            case 3:
                if (!sSelTypeIDs.Contains("pcdmTable"))
                {
                    X.Msg.Alert("注意", "招生批次必须选择,生成报表失败!").Show();
                    return(this.Direct());
                }
                PCReportManage PCReport = new PCReportManage();
                PCReport.CreateReport(sSelItems, sSelTypeIDs, sID, sGxID, sStartYear, sEndYear, sChartType, mo.ReportTypeID);
                break;

            case 4:
                if (!sSelTypeIDs.Contains("Department"))
                {
                    X.Msg.Alert("注意", "院系必须选择,生成报表失败!").Show();
                    return(this.Direct());
                }
                DYZYReportManage DYZYReport = new DYZYReportManage();
                DYZYReport.CreateReport(sSelItems, sSelTypeIDs, sID, sGxID, sStartYear, sEndYear, sChartType, mo.ReportTypeID);
                break;

            //    case "5":
            //FSReportManage FSReport = new FSReportManage();
            //FSReport.CreateReport(sSelItems, sSelTypeIDs, sID, sGxID, sStartYear, sEndYear, sChartType);
            //        break;
            case 6:
                SYDReportManage SYDReport = new SYDReportManage();
                SYDReport.CreateReport(sSelItems, sSelTypeIDs, sID, sGxID, sStartYear, sEndYear, sChartType, mo.ReportTypeID);
                break;

            case 7:
                FSReportManage FSReport = new FSReportManage();
                FSReport.CreateReport(sSelItems, sSelTypeIDs, sID, sGxID, sStartYear, sEndYear, sChartType, mo.ReportTypeID);
                break;
            }

            //JHReportManage manReport = new JHReportManage();
            //manReport.CreateReport(sSelItems, sSelTypeIDs, sID, sGxID, sYear);


            //SetHiddenValue(PanelID + "_ExitCode", "1");


            return(this.Direct());
        }