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); }
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()); }
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()); }
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()); }
//生产报表这一部分开启一个新的线程 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); }
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()); }
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()); }