protected void ToExcel_Click(object sender, EventArgs e) { string json = ExcelGridData.Value.ToString(); StoreSubmitDataEventArgs eSubmit = new StoreSubmitDataEventArgs(json, null); XmlNode xml = eSubmit.Xml; this.Response.Clear(); this.Response.ContentType = "application/vnd.ms-excel"; this.Response.AddHeader("Content-Disposition", "attachment; filename=SaleRank.xls"); XslCompiledTransform xtExcel = new XslCompiledTransform(); xtExcel.Load(Server.MapPath("./Styles/Excel.xsl")); xtExcel.Transform(xml, null, this.Response.OutputStream); this.Response.End(); }
protected void ToCsv(object sender, EventArgs e) { string json = GridData.Value.ToString(); StoreSubmitDataEventArgs eSubmit = new StoreSubmitDataEventArgs(json, null); XmlNode xml = eSubmit.Xml; this.Response.Clear(); this.Response.ContentType = "application/octet-stream"; this.Response.AddHeader("Content-Disposition", "attachment; filename=Reporte.csv"); XslCompiledTransform xtCsv = new XslCompiledTransform(); xtCsv.Load(Server.MapPath("/Docs/XSL/Csv.xsl")); xtCsv.Transform(xml, null, this.Response.OutputStream); this.Response.End(); }
protected void ToXml(object sender, EventArgs e) { string json = GridData.Value.ToString(); StoreSubmitDataEventArgs eSubmit = new StoreSubmitDataEventArgs(json, null); XmlNode xml = eSubmit.Xml; string strXml = xml.OuterXml; this.Response.Clear(); this.Response.AddHeader("Content-Disposition", "attachment; filename=Reporte.xml"); this.Response.AddHeader("Content-Length", strXml.Length.ToString()); this.Response.ContentType = "application/xml"; this.Response.Write(strXml); this.Response.End(); }
protected void SubmitData(object sender, StoreSubmitDataEventArgs e) { string json = e.Json; XmlNode xml = e.Xml; List<Country> countries = e.Object<Country>(); StringBuilder sb = new StringBuilder(255); sb.Append("<h3>Selected Countries</h3>"); foreach (Country country in countries) { sb.AppendFormat("{0}<br />", country.Name); } this.Label1.Html = sb.ToString(); }
protected void SubmitData(object sender, StoreSubmitDataEventArgs e) { string json = e.Json; XmlNode xml = e.Xml; List<Country> countries = e.Object<Country>(); StringBuilder sb = new StringBuilder(255); sb.Append("Selected:"); foreach (Country country in countries) { sb.AppendFormat("{0},", country.ID); } this.txtTo1.Text = sb.ToString().Substring(0, sb.ToString().Length - 1); }
protected void btnExport_Click(object sender, EventArgs e) { XlsDocument xls = new XlsDocument();//新建一个xls文档 xls.FileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"; Worksheet sheet; sheet = xls.Workbook.Worksheets.Add(DateTime.Now.ToString("yyyyMMddHHmmss")); XF titleXF = xls.NewXF(); // 为xls生成一个XF实例,XF是单元格格式对象 titleXF.HorizontalAlignment = HorizontalAlignments.Left; // 设定文字居中 titleXF.VerticalAlignment = VerticalAlignments.Centered; // 垂直居中 titleXF.UseBorder = false; // 使用边框 titleXF.Font.Height = 12 * 20; // 字大小(字体大小是以 1/20 point 为单位的) XF titleXF1 = xls.NewXF(); // 为xls生成一个XF实例,XF是单元格格式对象 titleXF1.HorizontalAlignment = HorizontalAlignments.Left; // 设定文字居中 titleXF1.VerticalAlignment = VerticalAlignments.Centered; // 垂直居中 titleXF1.UseBorder = false; // 使用边框 titleXF1.Font.Bold = true; titleXF1.Font.Height = 12 * 20; // 字大小(字体大小是以 1/20 point 为单位的) // 开始填充数据到单元格 org.in2bits.MyXls.Cells cells = sheet.Cells; cells.Add(1, 1, "NO#", titleXF1); cells.Add(1, 2, "Claim Type", titleXF1); cells.Add(1, 3, "Amount", titleXF1); cells.Add(1, 4, "Owner", titleXF1); cells.Add(1, 5, "Process", titleXF1); cells.Add(1, 6, "Current Approver", titleXF1); cells.Add(1, 7, "Submit Date", titleXF1); cells.Add(1, 8, "Remark", titleXF1); //添加数据 string json = GridData.Value.ToString(); StoreSubmitDataEventArgs eSubmit = new StoreSubmitDataEventArgs(json, null); XmlNode xml = eSubmit.Xml; XmlDocument doc = new XmlDocument(); doc.LoadXml(xml.InnerXml); for (int i = 0; i < doc.SelectNodes("records").Item(0).SelectNodes("record").Count; i++) { if (!string.IsNullOrEmpty(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).SelectNodes("Tamount").Item(0).InnerXml)) { cells.Add(2 + i, 3, Convert.ToDouble(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).SelectNodes("Tamount").Item(0).InnerXml), titleXF); } else { cells.Add(2 + i, 3, "", titleXF); } cells.Add(2 + i, 1, doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).SelectNodes("No").Item(0).InnerXml, titleXF); cells.Add(2 + i, 2, doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).SelectNodes("Type1").Item(0).InnerXml, titleXF); cells.Add(2 + i, 4, doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).SelectNodes("Person").Item(0).InnerXml, titleXF); cells.Add(2 + i, 5, doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).SelectNodes("Status1").Item(0).InnerXml, titleXF); cells.Add(2 + i, 6, doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).SelectNodes("Approver").Item(0).InnerXml, titleXF); cells.Add(2 + i, 7, doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).SelectNodes("CreadedDate").Item(0).InnerXml, titleXF); cells.Add(2 + i, 8, doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).SelectNodes("Remark").Item(0).InnerXml, titleXF); } xls.Send(); }
protected bool SaveDetail(string detail, string header0string, string header1string, string header2string, string Cur, string dept) { cs.DBCommand dbc = new cs.DBCommand(); //删除现有数据 string deletesql = "delete from ETraveleDetail where [No]='" + hdTravelRequestID.Value.ToString() + "'"; string newid1 = dbc.UpdateData("eReimbursement", deletesql, "Update"); SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["eReimbursement"].ConnectionString); //如果出差站点为空,则不保存信息 StoreSubmitDataEventArgs eSubmit = new StoreSubmitDataEventArgs(detail, null); XmlNode xml = eSubmit.Xml; XmlDocument doc = new XmlDocument(); doc.LoadXml(xml.InnerXml); int dtcol = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes.Count; //doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).ChildNodes[j].InnerText; int dtrow = doc.SelectNodes("records").Item(0).SelectNodes("record").Count; int groupcount = (dtcol - 3) / 2;//多少个站点会被更新,如果站点为空则不更新 decimal psum = 0, csum = 0;//记录该申请单的费用合计 for (int i = 0; i < groupcount; i++) { if (header0string.Split(',')[i] != "NA")//站点为空则不更新 { DataSet ds2 = DIMERCO.SDK.Utilities.LSDK.getUserProfilebyUserList(hdOwnerID.Value.ToString()); string station = "",Tstation=""; if (ds2.Tables[0].Rows.Count == 1) { DataTable dt1 = ds2.Tables[0]; station = dt1.Rows[0]["stationCode"].ToString(); DataTable dttemp = new DataTable(); string sqltemp = "select * from ESUSER where Userid='" + hdOwnerID.Value.ToString() + "'"; dttemp = dbc.GetData("eReimbursement", sqltemp); if (dttemp.Rows.Count > 0) { station = dttemp.Rows[0]["Station"].ToString(); } } Tstation = header1string.Split(',')[i] == "NA" ? station : header1string.Split(',')[i]; double re = System.Math.Round(DIMERCO.SDK.Utilities.LSDK.GetLatestStationUSDConvertRate(station) / DIMERCO.SDK.Utilities.LSDK.GetLatestStationUSDConvertRate(Tstation), 4); //共新增11行固定数据 for (int j = 0; j < 11; j++) { try { SqlCommand scdetail = sqlConn.CreateCommand(); scdetail.CommandText = "insert into ETraveleDetail ([No],[Tocity],[AccountCode],[Cur],[Pamount],[Camount],[TSation],[Createdby],[CreadedDate],[Tdate],[Department1],[DetailCode],[Tdate0],[CenterAmountP],[CenterAmountC]) values (@No,@Tocity,@AccountCode,@Cur,@Pamount,@Camount,@TSation,@Createdby,@CreadedDate,@Tdate,@Department1,@DetailCode,@Tdate0,@CenterAmountP,@CenterAmountC)"; SqlParameter spdetail = new SqlParameter("@No", SqlDbType.VarChar, 50); spdetail.Value = hdTravelRequestID.Value.ToString(); scdetail.Parameters.Add(spdetail); spdetail = new SqlParameter("@Tocity", SqlDbType.VarChar, 10); spdetail.Value = header0string.Split(',')[i]; scdetail.Parameters.Add(spdetail); spdetail = new SqlParameter("@AccountCode", SqlDbType.VarChar, 50); switch (j) { case 4: spdetail.Value = "62010900"; break; case 5: spdetail.Value = "62011900"; break; case 6: spdetail.Value = "62010500"; break; default: spdetail.Value = "62012000"; break; } scdetail.Parameters.Add(spdetail); spdetail = new SqlParameter("@Cur", SqlDbType.VarChar, 50); spdetail.Value = Cur; scdetail.Parameters.Add(spdetail); spdetail = new SqlParameter("@Pamount", SqlDbType.Decimal); if (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(j).ChildNodes[1 + i * 2].InnerText != "") { spdetail.Value = System.Math.Round(Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(j).ChildNodes[1 + i * 2].InnerText), 2); psum += System.Math.Round(Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(j).ChildNodes[1 + i * 2].InnerText), 2); } else { spdetail.Value = DBNull.Value; } scdetail.Parameters.Add(spdetail); spdetail = new SqlParameter("@CenterAmountP", SqlDbType.Decimal); if (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(j).ChildNodes[1 + i * 2].InnerText != "") { spdetail.Value = Convert.ToDecimal(System.Math.Round(Convert.ToDouble(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(j).ChildNodes[1 + i * 2].InnerText) * re, 2)); } else { spdetail.Value = DBNull.Value; } scdetail.Parameters.Add(spdetail); spdetail = new SqlParameter("@Camount", SqlDbType.Decimal); if (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(j).ChildNodes[2 + i * 2].InnerText != "") { spdetail.Value = System.Math.Round(Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(j).ChildNodes[2 + i * 2].InnerText), 2); csum += System.Math.Round(Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(j).ChildNodes[2 + i * 2].InnerText), 2); } else { spdetail.Value = DBNull.Value; } scdetail.Parameters.Add(spdetail); spdetail = new SqlParameter("@CenterAmountC", SqlDbType.Decimal); if (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(j).ChildNodes[2 + i * 2].InnerText != "") { spdetail.Value = Convert.ToDecimal(System.Math.Round(Convert.ToDouble(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(j).ChildNodes[2 + i * 2].InnerText) * re, 2)); } else { spdetail.Value = DBNull.Value; } scdetail.Parameters.Add(spdetail); spdetail = new SqlParameter("@TSation", SqlDbType.VarChar, 50); spdetail.Value = header1string.Split(',')[i] == "NA" ? "" : header1string.Split(',')[i]; scdetail.Parameters.Add(spdetail); spdetail = new SqlParameter("@Createdby", SqlDbType.VarChar, 50); spdetail.Value = hdOwnerID.Value.ToString(); scdetail.Parameters.Add(spdetail); spdetail = new SqlParameter("@CreadedDate", SqlDbType.DateTime); spdetail.Value = DateTime.Now; scdetail.Parameters.Add(spdetail); spdetail = new SqlParameter("@Tdate", SqlDbType.DateTime); if (header2string.Split(',')[i * 2 + 1] == "NA") { spdetail.Value = DBNull.Value; } else { spdetail.Value = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]); } scdetail.Parameters.Add(spdetail); spdetail = new SqlParameter("@Tdate0", SqlDbType.DateTime); if (header2string.Split(',')[i * 2] == "NA") { spdetail.Value = DBNull.Value; } else { spdetail.Value = Convert.ToDateTime(header2string.Split(',')[i * 2]); } scdetail.Parameters.Add(spdetail); spdetail = new SqlParameter("@Department1", SqlDbType.VarChar, 50); spdetail.Value = dept; scdetail.Parameters.Add(spdetail); spdetail = new SqlParameter("@DetailCode", SqlDbType.Int); spdetail.Value = j; scdetail.Parameters.Add(spdetail); sqlConn.Open(); int row = scdetail.ExecuteNonQuery(); sqlConn.Close(); } catch (Exception er) { throw er; } } } } try { SqlCommand scdetail = sqlConn.CreateCommand(); scdetail.CommandText = "update ETravel set Pamout=@Pamout,Camount=@Camount,Tamount=@Tamount where [ID]=@ID"; SqlParameter spdetail = new SqlParameter("@ID", SqlDbType.VarChar, 50); spdetail.Value = hdTravelRequestID.Value.ToString(); scdetail.Parameters.Add(spdetail); spdetail = new SqlParameter("@Pamout", SqlDbType.Decimal); spdetail.Value = psum; scdetail.Parameters.Add(spdetail); spdetail = new SqlParameter("@Camount", SqlDbType.Decimal); spdetail.Value = csum; scdetail.Parameters.Add(spdetail); spdetail = new SqlParameter("@Tamount", SqlDbType.Decimal); spdetail.Value = psum + csum; scdetail.Parameters.Add(spdetail); sqlConn.Open(); int row = scdetail.ExecuteNonQuery(); sqlConn.Close(); } catch (Exception) { throw; } return true; }
public void SaveAll(string type, string detail, string MailList, string header0string, string header1string, string header2string, string Cur, string dept) { if (Request.Cookies.Get("eReimUserID") == null || hdUser.Value.ToString() != Request.Cookies.Get("eReimUserID").Value) { if (Request.Cookies["lang"] != null && Request.Cookies["lang"].Value.ToLower() == "zh-cn") { X.AddScript("Ext.Msg.show({ title: '提示', msg: '已切换用户,将刷新页面.', buttons: { ok: 'Ok' }, fn: function (btn) { window.location.reload(); } });"); } else { X.AddScript("Ext.Msg.show({ title: 'Message', msg: 'Current user changed,reloading...', buttons: { ok: 'Ok' }, fn: function (btn) { window.location.reload(); } });"); } return; } DateTime dtnull = new DateTime(1, 1, 1, 0, 0, 0); cs.DBCommand dbc = new cs.DBCommand(); ////检查是否已经为该申请人设置过审批人 string sqlCheckFlow = ""; //if (Radio1.Checked) ////if (cbxBudget.Value.ToString() == "YES")//使用Budget审批流程 //{ sqlCheckFlow = "select * from GroupFlow where [Type]!=2 and GID=(select GID from GroupUsers where UserID='" + hdOwnerID.Value.ToString() + "')"; //} //else//使用unBudget审批流程 //{ // sqlCheckFlow = "select * from GroupFlow where [Type]=2 and GID=(select GID from GroupUsers where UserID='" + hdOwnerID.Value.ToString() + "')"; //} DataTable dtGroupFlowData = dbc.GetData("eReimbursement", sqlCheckFlow); //if (dtGroupFlowData.Rows.Count < 1) //{ // if (Request.Cookies["lang"] != null && Request.Cookies["lang"].Value.ToLower() == "zh-cn") // { // ErrorHandle("请先设置审批人."); // } // else // { // ErrorHandle("Not set Approve flow,please contact with Local MIS."); // } // return; //} //处理抄送人列表 string CCMailList = ""; JavaScriptSerializer ser = new JavaScriptSerializer(); List<CCMailList> CCMailList1 = ser.Deserialize<List<CCMailList>>(MailList); foreach (CCMailList mail in CCMailList1) { CCMailList += mail.Email + ","; } CCMailList = CCMailList.Length > 0 ? CCMailList.Substring(0, CCMailList.Length - 1) : ""; string userid = hdOwnerID.Value.ToString(); string ostation = ""; string station = ""; string department = ""; DataSet ds2 = DIMERCO.SDK.Utilities.LSDK.getUserProfilebyUserList(userid); if (ds2.Tables[0].Rows.Count == 1) { DataTable dt1 = ds2.Tables[0]; //dpt = dt1.Rows[0]["DepartmentName"].ToString(); ostation = dt1.Rows[0]["CostCenter"].ToString(); station = dt1.Rows[0]["stationCode"].ToString(); department = dt1.Rows[0]["CRPDepartmentName"].ToString(); //DataTable dttemp = new DataTable(); //string sqltemp = "select * from ESUSER where Userid='" + userid + "'"; //dttemp = dbc.GetData("eReimbursement", sqltemp); //if (dttemp.Rows.Count > 0) //{ // ostation = dttemp.Rows[0]["Station"].ToString(); //} } string para = type; for (int i = 0; i < header0string.Split(',').Length; i++) { //判断出差站点名称是否合法 //if (header0string.Split(',')[i] != "NA")//站点为空则不更新 //{ // bool isstation = DIMERCO.SDK.Utilities.LSDK.isStationExist(header0string.Split(',')[i]); // if (!isstation)//如果不是合法站点,提示可选站点 // { // DataSet GetCityInfo = DIMERCO.SDK.Utilities.LSDK.GetCityInfo(header0string.Split(',')[i], 5); // DataTable dtGetCityInfo = (DataTable)GetCityInfo.Tables[0]; // string suggestStation = ""; // for (int j = 0; j < dtGetCityInfo.Rows.Count; j++) // { // suggestStation += dtGetCityInfo.Rows[j]["CityCode"].ToString() + ","; // } // if (suggestStation.Trim()!="") // { // suggestStation = suggestStation.Substring(0, suggestStation.Length - 1); // X.AddScript("Ext.Msg.show({ title: 'Message', msg: 'Invalid DSTN(" + header0string.Split(',')[i] + ").Suggestion:" + suggestStation + ".', buttons: { ok: 'Ok' }, fn: function (btn) { } });"); // return; // } // else // { // X.AddScript("Ext.Msg.show({ title: 'Message', msg: 'Please input valid DSTN.', buttons: { ok: 'Ok' }, fn: function (btn) { } });"); // return; // } // } //} //判断成本中心名称是否合法 if (header0string.Split(',')[i] != "NA" && header1string.Split(',')[i]!="NA")//站点为空则不更新 { bool isstation = DIMERCO.SDK.Utilities.LSDK.isCostCenterExist(header1string.Split(',')[i]); if (!isstation)//如果不是合法站点,提示可选站点 { DataSet GetCityInfo = DIMERCO.SDK.Utilities.LSDK.getCostCenterBYStationCode(header1string.Split(',')[i], 5); DataTable dtGetCityInfo = (DataTable)GetCityInfo.Tables[0]; string suggestStation = ""; for (int j = 0; j < dtGetCityInfo.Rows.Count; j++) { suggestStation += dtGetCityInfo.Rows[j]["StationCode"].ToString() + ","; } if (suggestStation.Trim() != "") { suggestStation = suggestStation.Substring(0, suggestStation.Length - 1); X.AddScript("Ext.Msg.show({ title: 'Message', msg: 'Invalid Cost Center(" + header1string.Split(',')[i] + ").Suggestion:" + suggestStation + ".', buttons: { ok: 'Ok' }, fn: function (btn) { } });"); return; } else { X.AddScript("Ext.Msg.show({ title: 'Message', msg: 'Please input valid Cost Center.', buttons: { ok: 'Ok' }, fn: function (btn) { } });"); return; } } } } //140306 if (true) { DataTable dtbudget = new DataTable(); dtbudget.Columns.Add("EName", typeof(System.String)); dtbudget.Columns.Add("COACode", typeof(System.String)); dtbudget.Columns.Add("Current", typeof(System.Decimal)); dtbudget.Columns.Add("PU", typeof(System.Decimal)); dtbudget.Columns.Add("PB", typeof(System.Decimal)); dtbudget.Columns.Add("PPercent", typeof(System.Decimal)); dtbudget.Columns.Add("DU", typeof(System.Decimal)); dtbudget.Columns.Add("DB", typeof(System.Decimal)); dtbudget.Columns.Add("DPercent", typeof(System.Decimal)); dtbudget.Columns.Add("SU", typeof(System.Decimal)); dtbudget.Columns.Add("SB", typeof(System.Decimal)); dtbudget.Columns.Add("SPercent", typeof(System.Decimal)); DataTable dtA = new DataTable(); dtA.Columns.Add("COACode", typeof(System.String)); dtA.Columns.Add("Amount", typeof(System.Decimal)); dtA.Columns.Add("Date", typeof(System.DateTime)); StoreSubmitDataEventArgs eSubmit = new StoreSubmitDataEventArgs(detail, null); XmlNode xml = eSubmit.Xml; XmlDocument doc = new XmlDocument(); doc.LoadXml(xml.InnerXml); int dtcol = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes.Count; int dtrow = doc.SelectNodes("records").Item(0).SelectNodes("record").Count; int groupcount = (dtcol - 3) / 2;//多少个站点会被更新,如果站点为空则不更新 //string tstation = "", year = "", month = "", coacode = ""; for (int i = 0; i < groupcount; i++) { if (header0string.Split(',')[i] != "NA")//站点为空则不更新 { //1. Air Ticket - Int'l if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtA.NewRow(); drnew["COACode"] = "62012000"; drnew["Date"] = Convert.ToDateTime(header2string.Split(',')[i * 2]); decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtA.Rows.Add(drnew); } //Domestic if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(1).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(1).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(1).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(1).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtA.NewRow(); drnew["COACode"] = "62012000"; drnew["Date"] = Convert.ToDateTime(header2string.Split(',')[i * 2]); decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(1).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(1).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(1).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(1).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtA.Rows.Add(drnew); } //2. Hotel Bill if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(2).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(2).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(2).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(2).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtA.NewRow(); drnew["COACode"] = "62012000"; drnew["Date"] = Convert.ToDateTime(header2string.Split(',')[i * 2]); decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(2).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(2).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(2).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(2).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtA.Rows.Add(drnew); } //3. Meals if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(3).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(3).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(3).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(3).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtA.NewRow(); drnew["COACode"] = "62012000"; drnew["Date"] = Convert.ToDateTime(header2string.Split(',')[i * 2]); decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(3).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(3).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(3).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(3).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtA.Rows.Add(drnew); } //4. Entertainment if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(4).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(4).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(4).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(4).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtA.NewRow(); drnew["COACode"] = "62010900"; drnew["Date"] = Convert.ToDateTime(header2string.Split(',')[i * 2]); decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(4).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(4).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(4).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(4).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtA.Rows.Add(drnew); } //5. Car Rental/Transportation if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(5).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(5).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(5).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(5).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtA.NewRow(); drnew["COACode"] = "62011900"; drnew["Date"] = Convert.ToDateTime(header2string.Split(',')[i * 2]); decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(5).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(5).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(5).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(5).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtA.Rows.Add(drnew); } //6. Communication if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(6).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(6).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(6).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(6).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtA.NewRow(); drnew["COACode"] = "62010500"; drnew["Date"] = Convert.ToDateTime(header2string.Split(',')[i * 2]); decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(6).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(6).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(6).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(6).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtA.Rows.Add(drnew); } //7. Local Trip if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(7).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(7).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(7).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(7).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtA.NewRow(); drnew["COACode"] = "62012000"; drnew["Date"] = Convert.ToDateTime(header2string.Split(',')[i * 2]); decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(7).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(7).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(7).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(7).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtA.Rows.Add(drnew); } //8. Overseas Trip USD15/day if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(8).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(8).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(8).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(8).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtA.NewRow(); drnew["COACode"] = "62012000"; drnew["Date"] = Convert.ToDateTime(header2string.Split(',')[i * 2]); decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(8).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(8).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(8).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(8).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtA.Rows.Add(drnew); } //9. Airport Tax/Travel Insurance if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(9).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(9).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(9).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(9).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtA.NewRow(); drnew["COACode"] = "62012000"; drnew["Date"] = Convert.ToDateTime(header2string.Split(',')[i * 2]); decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(9).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(9).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(9).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(9).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtA.Rows.Add(drnew); } //10. Others if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(10).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(10).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(10).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(10).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtA.NewRow(); drnew["COACode"] = "62012000"; drnew["Date"] = Convert.ToDateTime(header2string.Split(',')[i * 2]); decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(10).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(10).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(10).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(10).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtA.Rows.Add(drnew); } } } //合计 DataTable dtB = new DataTable(); dtB.Columns.Add("COACode", typeof(System.String)); dtB.Columns.Add("Amount", typeof(System.Decimal)); if (dtA.Compute("Sum(Amount)", "COACode = 62010900").ToString() != "" && Convert.ToDecimal(dtA.Compute("Sum(Amount)", "COACode = 62010900").ToString()) != 0) { DataRow dr = dtB.NewRow(); dr["COACode"] = "62010900"; dr["Amount"] = Convert.ToDecimal(dtA.Compute("Sum(Amount)", "COACode = 62010900").ToString()); dtB.Rows.Add(dr); } if (dtA.Compute("Sum(Amount)", "COACode = 62011900").ToString() != "" && Convert.ToDecimal(dtA.Compute("Sum(Amount)", "COACode = 62011900").ToString()) != 0) { DataRow dr = dtB.NewRow(); dr["COACode"] = "62011900"; dr["Amount"] = Convert.ToDecimal(dtA.Compute("Sum(Amount)", "COACode = 62011900").ToString()); dtB.Rows.Add(dr); } if (dtA.Compute("Sum(Amount)", "COACode = 62010500").ToString() != "" && Convert.ToDecimal(dtA.Compute("Sum(Amount)", "COACode = 62010500").ToString()) != 0) { DataRow dr = dtB.NewRow(); dr["COACode"] = "62010500"; dr["Amount"] = Convert.ToDecimal(dtA.Compute("Sum(Amount)", "COACode = 62010500").ToString()); dtB.Rows.Add(dr); } if (dtA.Compute("Sum(Amount)", "COACode = 62012000").ToString() != "" && Convert.ToDecimal(dtA.Compute("Sum(Amount)", "COACode = 62012000").ToString()) != 0) { DataRow dr = dtB.NewRow(); dr["COACode"] = "62012000"; dr["Amount"] = Convert.ToDecimal(dtA.Compute("Sum(Amount)", "COACode = 62012000").ToString()); dtB.Rows.Add(dr); } ////取得传递预算的参数 //string userid = dt.Rows[0]["PersonID"].ToString(); //string dpt = dt.Rows[0]["Department"].ToString(); //string ostation = dt.Rows[0]["CostCenter"].ToString();//预算站点,与基本信息中的CostCenter一致(Station2) string tstation = ostation;//Etravel表中的Station2,目前与预算站点一致,不允许更改 string year = Convert.ToDateTime(dtA.Compute("Min(Date)", "").ToString()).Year.ToString(); string month = Convert.ToDateTime(dtA.Compute("Min(Date)", "").ToString()).Month.ToString(); //string accountcode = ""; //for (int g = 0; g < dtB.Rows.Count; g++) //{ // if (Convert.ToDecimal(dtB.Rows[g]["Amount"].ToString()) != 0) // { // DataRow dr = dtbudget.NewRow(); // dr["Current"] = Convert.ToDecimal(dtB.Rows[g]["Amount"].ToString()); // dr["Type"] = dtB.Rows[g]["Type"].ToString(); // accountcode = dtB.Rows[g]["Type"].ToString(); // DataTable dtC = new DataTable(); // dtC = Comm.RtnEB(userid, dpt, ostation, tstation, accountcode, year, month); // for (int i = 0; i < dtC.Rows.Count; i++) // { // if (dtC.Rows[i]["Type"].ToString() == "全年个人") // { // dr["PU"] = Convert.ToDecimal(dtC.Rows[i]["Used"].ToString()); // dr["PB"] = Convert.ToDecimal(dtC.Rows[i]["Budget"].ToString()); // } // else if (dtC.Rows[i]["Type"].ToString() == "全年部门") // { // dr["DU"] = Convert.ToDecimal(dtC.Rows[i]["Used"].ToString()); // dr["DB"] = Convert.ToDecimal(dtC.Rows[i]["Budget"].ToString()); // } // else if (dtC.Rows[i]["Type"].ToString() == "全年站点") // { // dr["SU"] = Convert.ToDecimal(dtC.Rows[i]["Used"].ToString()); // dr["SB"] = Convert.ToDecimal(dtC.Rows[i]["Budget"].ToString()); // } // } // dtbudget.Rows.Add(dr); // } //} ////计算%,取得名称 //for (int i = 0; i < dtbudget.Rows.Count; i++) //{ // if (Convert.ToDecimal(dtbudget.Rows[i]["PB"].ToString()) != 0)//如果Budget不为0,则计算% // { // dtbudget.Rows[i]["PPercent"] = System.Math.Round(Convert.ToDecimal(dtbudget.Rows[i]["PU"].ToString()) / Convert.ToDecimal(dtbudget.Rows[i]["PB"].ToString()), 4) * 100; // } // if (Convert.ToDecimal(dtbudget.Rows[i]["DB"].ToString()) != 0)//如果Budget不为0,则计算% // { // dtbudget.Rows[i]["DPercent"] = System.Math.Round(Convert.ToDecimal(dtbudget.Rows[i]["DU"].ToString()) / Convert.ToDecimal(dtbudget.Rows[i]["DB"].ToString()), 4) * 100; // } // if (Convert.ToDecimal(dtbudget.Rows[i]["SB"].ToString()) != 0)//如果Budget不为0,则计算% // { // dtbudget.Rows[i]["SPercent"] = System.Math.Round(Convert.ToDecimal(dtbudget.Rows[i]["SU"].ToString()) / Convert.ToDecimal(dtbudget.Rows[i]["SB"].ToString()), 4) * 100; // } // if (dtbudget.Rows[i]["Type"].ToString() == "62010900") // { // dtbudget.Rows[i]["EName"] = "Travel expense"; // } // else if (dtbudget.Rows[i]["Type"].ToString() == "62011900") // { // dtbudget.Rows[i]["EName"] = "Entertainment"; // } // else if (dtbudget.Rows[i]["Type"].ToString() == "62010500") // { // dtbudget.Rows[i]["EName"] = "Transportation"; // } // else if (dtbudget.Rows[i]["Type"].ToString() == "62012000") // { // dtbudget.Rows[i]["EName"] = "Communication"; // } //} //bool PB = false, DB = false, SB = false; //for (int i = 0; i < dtbudget.Rows.Count; i++) //{ // if (Convert.ToDecimal(dtbudget.Rows[i]["PB"].ToString()) != 0)//是否显示个人预算列 // { // PB = true; // } // if (Convert.ToDecimal(dtbudget.Rows[i]["DB"].ToString()) != 0)//是否显示部门预算列 // { // DB = true; // } // if (Convert.ToDecimal(dtbudget.Rows[i]["SB"].ToString()) != 0)//是否显示站点预算列 // { // SB = true; // } //} ////添加数据列 //var cm = GridPanelBudget.ColumnModel; //cm.Columns.Add(new Column //{ // DataIndex = "EName", // Header = "Expense Item", // Sortable = false, // Resizable = false, // MenuDisabled = true, // Width = 100 //}); //cm.Columns.Add(new Column //{ // DataIndex = "Current", // Header = "Current", // Renderer = new Renderer { Fn = "GetNumber" }, // Sortable = false, // Resizable = false, // MenuDisabled = true, // Width = 100 //}); ////显示个人预算部分 //if (PB) //{ // cm.Columns.Add(new Column // { // DataIndex = "PU", // Header = "Personal Used", // Renderer = new Renderer { Fn = "GetNumber" }, // Sortable = false, // Resizable = false, // MenuDisabled = true, // Width = 100 // }); // cm.Columns.Add(new Column // { // DataIndex = "PB", // Header = "Personal Budget", // Renderer = new Renderer { Fn = "GetNumber" }, // Sortable = false, // Resizable = false, // MenuDisabled = true, // Width = 100 // }); // cm.Columns.Add(new Column // { // DataIndex = "PPercent", // Header = "%(Used/Budget)", // Renderer = new Renderer { Fn = "GetNumberPercent" }, // Sortable = false, // Resizable = false, // MenuDisabled = true, // Width = 100 // }); //} //if (DB) //{ // cm.Columns.Add(new Column // { // DataIndex = "DU", // Header = "Department Used", // Renderer = new Renderer { Fn = "GetNumber" }, // Sortable = false, // Resizable = false, // MenuDisabled = true, // Width = 100 // }); // cm.Columns.Add(new Column // { // DataIndex = "DB", // Header = "Department Budget", // Renderer = new Renderer { Fn = "GetNumber" }, // Sortable = false, // Resizable = false, // MenuDisabled = true, // Width = 100 // }); // cm.Columns.Add(new Column // { // DataIndex = "DPercent", // Header = "%(Used/Budget)", // Renderer = new Renderer { Fn = "GetNumberPercent" }, // Sortable = false, // Resizable = false, // MenuDisabled = true, // Width = 100 // }); //} //if (SB) //{ // cm.Columns.Add(new Column // { // DataIndex = "SU", // Header = "Unit Used", // Renderer = new Renderer { Fn = "GetNumber" }, // Sortable = false, // Resizable = false, // MenuDisabled = true, // Width = 100 // }); // cm.Columns.Add(new Column // { // DataIndex = "SB", // Header = "Unit Budget", // Renderer = new Renderer { Fn = "GetNumber" }, // Sortable = false, // Resizable = false, // MenuDisabled = true, // Width = 100 // }); // cm.Columns.Add(new Column // { // DataIndex = "SPercent", // Header = "%(Used/Budget)", // Renderer = new Renderer { Fn = "GetNumberPercent" }, // Sortable = false, // Resizable = false, // MenuDisabled = true, // Width = 100 // }); //} //StoreBudget.DataSource = dtbudget; //StoreBudget.DataBind(); } string srr = ""; return; //判断Budget下是否符合预算要求 DataTable dtlocal = new DataTable(); dtlocal.Columns.Add(new DataColumn("Station", typeof(System.String))); dtlocal.Columns.Add(new DataColumn("COACode", typeof(System.String))); dtlocal.Columns.Add(new DataColumn("Year", typeof(System.Int16))); dtlocal.Columns.Add(new DataColumn("Month", typeof(System.Int16))); dtlocal.Columns.Add(new DataColumn("Amount", typeof(System.Decimal))); if (Radio1.Checked) //if (cbxBudget.Value.ToString() == "YES") { StoreSubmitDataEventArgs eSubmit = new StoreSubmitDataEventArgs(detail, null); XmlNode xml = eSubmit.Xml; XmlDocument doc = new XmlDocument(); doc.LoadXml(xml.InnerXml); int dtcol = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes.Count; //doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).ChildNodes[j].InnerText; int dtrow = doc.SelectNodes("records").Item(0).SelectNodes("record").Count; int groupcount = (dtcol - 3) / 2;//多少个站点会被更新,如果站点为空则不更新 //string tstation = "", year = "", month = "", coacode = ""; for (int i = 0; i < groupcount; i++) { if (header0string.Split(',')[i] != "NA")//站点为空则不更新 { //处理数据,准备合并后比较预算 string costcenter = header1string.Split(',')[i] == "NA" ? ostation : header1string.Split(',')[i]; //1. Air Ticket - Int'l if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtlocal.NewRow(); drnew["Station"] = costcenter; drnew["Year"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Year.ToString(); drnew["Month"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Month.ToString(); drnew["COACode"] = "62012000"; decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtlocal.Rows.Add(drnew); } //Domestic if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(1).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(1).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(1).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(1).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtlocal.NewRow(); drnew["Station"] = costcenter; drnew["Year"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Year.ToString(); drnew["Month"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Month.ToString(); drnew["COACode"] = "62012000"; decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(1).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(1).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(1).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(1).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtlocal.Rows.Add(drnew); } //2. Hotel Bill if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(2).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(2).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(2).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(2).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtlocal.NewRow(); drnew["Station"] = costcenter; drnew["Year"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Year.ToString(); drnew["Month"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Month.ToString(); drnew["COACode"] = "62012000"; decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(2).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(2).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(2).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(2).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtlocal.Rows.Add(drnew); } //3. Meals if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(3).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(3).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(3).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(3).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtlocal.NewRow(); drnew["Station"] = costcenter; drnew["Year"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Year.ToString(); drnew["Month"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Month.ToString(); drnew["COACode"] = "62012000"; decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(3).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(3).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(3).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(3).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtlocal.Rows.Add(drnew); } //4. Entertainment if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(4).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(4).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(4).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(4).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtlocal.NewRow(); drnew["Station"] = costcenter; drnew["Year"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Year.ToString(); drnew["Month"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Month.ToString(); drnew["COACode"] = "62010900"; decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(4).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(4).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(4).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(4).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtlocal.Rows.Add(drnew); } //5. Car Rental/Transportation if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(5).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(5).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(5).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(5).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtlocal.NewRow(); drnew["Station"] = costcenter; drnew["Year"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Year.ToString(); drnew["Month"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Month.ToString(); drnew["COACode"] = "62011900"; decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(5).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(5).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(5).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(5).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtlocal.Rows.Add(drnew); } //6. Communication if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(6).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(6).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(6).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(6).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtlocal.NewRow(); drnew["Station"] = costcenter; drnew["Year"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Year.ToString(); drnew["Month"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Month.ToString(); drnew["COACode"] = "62010500"; decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(6).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(6).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(6).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(6).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtlocal.Rows.Add(drnew); } //7. Local Trip if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(7).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(7).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(7).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(7).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtlocal.NewRow(); drnew["Station"] = costcenter; drnew["Year"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Year.ToString(); drnew["Month"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Month.ToString(); drnew["COACode"] = "62012000"; decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(7).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(7).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(7).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(7).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtlocal.Rows.Add(drnew); } //8. Overseas Trip USD15/day if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(8).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(8).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(8).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(8).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtlocal.NewRow(); drnew["Station"] = costcenter; drnew["Year"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Year.ToString(); drnew["Month"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Month.ToString(); drnew["COACode"] = "62012000"; decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(8).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(8).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(8).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(8).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtlocal.Rows.Add(drnew); } //9. Airport Tax/Travel Insurance if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(9).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(9).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(9).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(9).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtlocal.NewRow(); drnew["Station"] = costcenter; drnew["Year"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Year.ToString(); drnew["Month"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Month.ToString(); drnew["COACode"] = "62012000"; decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(9).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(9).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(9).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(9).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtlocal.Rows.Add(drnew); } //10. Others if ((doc.SelectNodes("records").Item(0).SelectNodes("record").Item(10).ChildNodes[1 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(10).ChildNodes[1 + i * 2].InnerText) != 0) || (doc.SelectNodes("records").Item(0).SelectNodes("record").Item(10).ChildNodes[2 + i * 2].InnerText != "" && Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(10).ChildNodes[2 + i * 2].InnerText) != 0)) { DataRow drnew = dtlocal.NewRow(); drnew["Station"] = costcenter; drnew["Year"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Year.ToString(); drnew["Month"] = Convert.ToDateTime(header2string.Split(',')[i * 2 + 1]).Month.ToString(); drnew["COACode"] = "62012000"; decimal r1 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(10).ChildNodes[1 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(10).ChildNodes[1 + i * 2].InnerText); decimal r2 = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(10).ChildNodes[2 + i * 2].InnerText == "" ? 0 : Convert.ToDecimal(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(10).ChildNodes[2 + i * 2].InnerText); drnew["Amount"] = r1 + r2; dtlocal.Rows.Add(drnew); } } } } decimal sum1 = 0M; DataTable dt3 = new DataTable(); dt3.Columns.Add(new DataColumn("Station",typeof(System.String))); dt3.Columns.Add(new DataColumn("Year", typeof(System.Int16))); dt3.Columns.Add(new DataColumn("COACode", typeof(System.String))); dt3.Columns.Add(new DataColumn("Amount", typeof(System.Decimal))); DataTable drnw = new DataTable(); dtlocal.DefaultView.Sort = "Station ASC,Year ASC,COACode ASC"; drnw = dtlocal.DefaultView.ToTable(); for (int i = 0; i < drnw.Rows.Count; i++) { sum1 += Convert.ToDecimal(drnw.Rows[i]["Amount"].ToString()); if (i == drnw.Rows.Count - 1)//第一行,也是最后一行 { DataRow dr3 = dt3.NewRow(); dr3["Station"] = drnw.Rows[i]["Station"].ToString(); dr3["Year"] = Convert.ToInt16(drnw.Rows[i]["Year"].ToString()); dr3["COACode"] = drnw.Rows[i]["COACode"].ToString(); dr3["Amount"] = sum1; dt3.Rows.Add(dr3); } else { if ((drnw.Rows[i]["Station"].ToString() != drnw.Rows[i + 1]["Station"].ToString()) || (drnw.Rows[i]["Year"].ToString() != drnw.Rows[i + 1]["Year"].ToString()) || (drnw.Rows[i]["COACode"].ToString() != drnw.Rows[i + 1]["COACode"].ToString())) { //与下一行内容不同,新增一行合计后重置sum1 DataRow dr3 = dt3.NewRow(); dr3["Station"] = drnw.Rows[i]["Station"].ToString(); dr3["Year"] = Convert.ToInt16(drnw.Rows[i]["Year"].ToString()); dr3["COACode"] = drnw.Rows[i]["COACode"].ToString(); dr3["Amount"] = sum1; dt3.Rows.Add(dr3); sum1 = 0M; } } } string warningmsg = ""; for (int i = 0; i < dt3.Rows.Count; i++) { decimal budgetstation = 0M, budgetusedstation = 0M; DataTable dt4 = new DataTable(); dt4 = Comm.RtnEB(userid, department, ostation, dt3.Rows[i]["Station"].ToString(), dt3.Rows[i]["COACode"].ToString(), dt3.Rows[i]["Year"].ToString(), "1"); for (int j = 0; j < dt4.Rows.Count; j++) { if (dt4.Rows[j]["Type"].ToString() == "全年站点") { budgetstation = Convert.ToDecimal(dt4.Rows[j]["Budget"].ToString()); budgetusedstation = Convert.ToDecimal(dt4.Rows[j]["Used"].ToString()); if (ostation!=dt3.Rows[i]["Station"].ToString()) { budgetstation = Convert.ToDecimal(System.Math.Round(Convert.ToDouble(dt4.Rows[j]["Budget"].ToString()) * (DIMERCO.SDK.Utilities.LSDK.GetLatestStationUSDConvertRate(dt3.Rows[i]["Station"].ToString()) / DIMERCO.SDK.Utilities.LSDK.GetLatestStationUSDConvertRate(ostation)), 2)); budgetusedstation = Convert.ToDecimal(System.Math.Round(Convert.ToDouble(dt4.Rows[j]["Used"].ToString()) * (DIMERCO.SDK.Utilities.LSDK.GetLatestStationUSDConvertRate(dt3.Rows[i]["Station"].ToString()) / DIMERCO.SDK.Utilities.LSDK.GetLatestStationUSDConvertRate(ostation)), 2)); } break; } } if (dt3.Rows[i]["COACode"].ToString() == "62012000") { if (Convert.ToDecimal(dt3.Rows[i]["Amount"].ToString()) + budgetusedstation - budgetstation > Convert.ToDecimal(6.01)*500) { X.AddScript("Ext.Msg.show({ title: 'Message', msg: '差旅费部分超出 " + dt3.Rows[i]["Station"].ToString() + " 全年预算总额500美元以上,仅可按<a style=\"color:Red\">Un-Budget</a>流程申请,是否接受?', buttons: { ok: 'Ok',cancel:'No' }, fn: function (btn) { if(btn=='ok'){Radio2.setValue(true);}else{return false;} } });"); //X.AddScript("Ext.Msg.show({ title: 'Message', msg: '差旅费部分超出 " + dt3.Rows[i]["Station"].ToString() + " 全年预算总额500美元以上,仅可按<a style=\"color:Red\">Un-Budget</a>流程申请.', buttons: { ok: 'Ok' }, fn: function (btn) { return false; } });"); return; } } else { if (Convert.ToDecimal(dt3.Rows[i]["Amount"].ToString()) + budgetusedstation - budgetstation > Convert.ToDecimal(6.01) * 500) { string rw = ""; switch (dt3.Rows[i]["COACode"].ToString()) { case "62010900": rw = "交际费"; break; case "62011900": rw = "交通费"; break; case "62010500": rw = "通讯费"; break; default: break; } warningmsg += rw + "部分超出 " + dt3.Rows[i]["Station"].ToString() + " 全年预算总额500美元以上."; } } } if (warningmsg.Length>0) { //X.AddScript("Ext.Msg.show({ title: 'Message', msg: '" + warningmsg + "', buttons: { ok: 'Ok' }, fn: function (btn) { RM.SaveAll1('" + type + "','" + detail + "','" + MailList + "','" + header0string + "','" + header1string + "','" + header2string + "','" + Cur + "','" + dept + "',{eventMask:{showMask:true,target:'Page'}}); } });"); X.AddScript("Ext.Msg.show({ title: 'Message', msg: '" + warningmsg + "', buttons: { ok: 'Ok' }, fn: function (btn) { SaveAll1('" + type + "','" + warningmsg + "')} });"); } else { if (para == "ND")//保存并申请 { if (hdTravelRequestID.Value.ToString() == "")//直接新增申请,不通过草稿 { string word = "[No],[Person],[Station],[Department],[ReportFile],[Tamount],[Pamout],[Camount],[CreadedBy],[CreadedDate],[Attach],[Remark],[Bdate],[Edate],[PersonID],[CreadedByID],[ApplyDate],[CCMailList],[Budget],[Station2]"; string value = ""; value += "'" + station + DateTime.Now.Year.ToString().Substring(2, 2) + DateTime.Now.Month.ToString().PadLeft(2, '0') + "',";//edit value += "'" + hdOwner.Value.ToString() + "',"; value += "'" + station + "',"; value += "'" + department + "',";//edit value += "'" + hdReport.Value.ToString() + "',"; value += hdSum.Value.ToString() == "" ? "null" : hdSum.Value.ToString(); value += "," + (hdPamountSum.Value.ToString() == "" ? "null" : hdPamountSum.Value.ToString()); value += "," + (hdCamountSum.Value.ToString() == "" ? "null" : hdCamountSum.Value.ToString()); value += ",'" + Request.Cookies.Get("eReimUserName").Value + "'";//edit value += ",'" + DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + "',"; value += "'" + hdScanFile.Value.ToString() + "',"; value += "'" + txtRemark.Text.Replace("'", "''") + "',"; value += "null,null"; value += ",'" + hdOwnerID.Value.ToString() + "'"; value += ",'" + Request.Cookies.Get("eReimUserID").Value + "'"; value += ",'" + DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + "'"; value += ",'" + CCMailList + "'"; value += "," + (Radio1.Checked ? "1" : "0"); //value += "," + (cbxBudget.Value.ToString() == "YES" ? "1" : "0"); value += ",'" + ostation + "'"; string updatesql = "insert into ETravel (" + word + ") values(" + value + ");update ETravel set [No]=[No]+(select [MonthCount]=right('0000'+cast(count(ID) as varchar(10)),4) from ETravel where (month(ApplyDate) in (select month(ApplyDate) from ETravel where [ID]=@@IDENTITY) and (year(ApplyDate) in (select year(ApplyDate) from ETravel where [ID]=@@IDENTITY)) and Station=(select Station from ETravel where ID=@@IDENTITY)))+'T' where ID=@@IDENTITY;select [msg]=convert(varchar,ID)+','+[No] from ETravel where ID=@@IDENTITY"; string newid = dbc.UpdateData("eReimbursement", updatesql, "Insert"); string rows = ""; for (int i = 0; i < dtGroupFlowData.Rows.Count; i++) { string wordflow = "[No],[Type],[Station],[Department],[Person],[CreadedBy],[CreatedDate],[Tamount],[Step],[Status],[Approver],[ApproverID],[RequestID],[FlowFn]"; if (dtGroupFlowData.Rows[i]["FlowNo"].ToString() == "1") { wordflow += ",[Active]"; } string valueflow = ""; valueflow += "'" + newid.Split(',')[1] + "',"; valueflow += "'T',"; valueflow += "'" + station + "',"; valueflow += "'" + department + "',"; valueflow += "'" + hdOwner.Value.ToString() + "',"; valueflow += "'" + Request.Cookies.Get("eReimUserName").Value + "',"; valueflow += "'" + DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + "',"; valueflow += hdSum.Value.ToString() == "" ? "null," : hdSum.Value.ToString() + ","; valueflow += dtGroupFlowData.Rows[i]["FlowNo"].ToString() + ","; valueflow += "1,"; valueflow += "'" + dtGroupFlowData.Rows[i]["FlowUser"].ToString() + "',"; valueflow += "'" + dtGroupFlowData.Rows[i]["FlowUserid"].ToString() + "',"; valueflow += "'" + newid.Split(',')[0] + "'"; valueflow += ",'" + (dtGroupFlowData.Rows[i]["Fn"].ToString() == "" ? "Approver" : dtGroupFlowData.Rows[i]["Fn"].ToString()) + "'"; if (dtGroupFlowData.Rows[i]["FlowNo"].ToString() == "1") { valueflow += ",1"; } string sqlupdateEFlow = "insert into Eflow (" + wordflow + ") values(" + valueflow + ")"; rows = dbc.UpdateData("eReimbursement", sqlupdateEFlow, "Update"); } if (newid == "-1" || rows == "-1" || rows == "") { ErrorHandle("Data Error."); return; } else { hdTravelRequestID.Value = newid.Split(',')[0];//新增后记录ID hdTravelRequestNo.Value = newid.Split(',')[1];//新增后记录No if (!SaveDetail(detail, header0string, header1string, header2string, Cur, dept) || !SendMail(warningmsg)) { ErrorHandle("Data Error."); return; } if (Request.Cookies["lang"] != null && Request.Cookies["lang"].Value.ToLower() == "zh-cn") { Panel3.Title = "差旅费申请单: " + newid.Split(',')[1]; UpdateMSG("保存申请单:" + newid.Split(',')[1] + "成功."); } else { Panel3.Title = "Travel Expense Form: " + newid.Split(',')[1]; UpdateMSG("Saved Travel Expense Form: " + newid.Split(',')[1] + " successfully."); } } // } else//由草稿升级为正式申请 { string updatesql = "update ETravel set [Person]='" + hdOwner.Value.ToString(); updatesql += "',[Station]='" + station; updatesql += "',[Department]='" + department; updatesql += "',[ReportFile]='" + hdReport.Value.ToString(); updatesql += "',[Tamount]=" + (hdSum.Value.ToString() == "" ? "null" : hdSum.Value.ToString()); updatesql += ",[Pamout]=" + (hdPamountSum.Value.ToString() == "" ? "null" : hdPamountSum.Value.ToString()); updatesql += ",[Camount]=" + (hdCamountSum.Value.ToString() == "" ? "null" : hdCamountSum.Value.ToString()); updatesql += ",[Remark]='" + txtRemark.Text.Replace("'", "''") + "'"; updatesql += ",[Attach]='" + hdScanFile.Value.ToString() + "'"; updatesql += ",[Type]=0"; updatesql += ",[PersonID]='" + hdOwnerID.Value.ToString() + "'"; string oldno = hdTravelRequestNo.Value.ToString(); string newno = hdTravelRequestNo.Value.ToString().Substring(0, hdTravelRequestNo.Value.ToString().Length - 1); updatesql += ",[No]='" + newno + "',"; updatesql += "[CreadedDate]='" + DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + "',"; updatesql += "[CreadedBy]='" + Request.Cookies.Get("eReimUserName").Value + "',"; updatesql += "[CreadedByID]='" + Request.Cookies.Get("eReimUserID").Value + "'"; updatesql += ",[CCMailList]='" + CCMailList + "'"; updatesql += ",[Budget]=" + (Radio1.Checked ? "1" : "0"); //updatesql += ",[Budget]=" + (cbxBudget.Value.ToString() == "YES" ? "1" : "0"); updatesql += ",[Station2]='" + ostation + "'"; updatesql += " where ID=" + hdTravelRequestID.Value.ToString(); string newid = dbc.UpdateData("eReimbursement", updatesql, "Update"); //操作Flow表 string sqlDeleteEflow = "delete from Eflow where [Type]='T' and [RequestID]='" + hdTravelRequestID.Value.ToString() + "'"; string deleterows = dbc.UpdateData("eReimbursement", sqlDeleteEflow, "Update"); string rows = ""; for (int i = 0; i < dtGroupFlowData.Rows.Count; i++) { string wordflow = "[No],[Type],[Station],[Department],[Person],[CreadedBy],[CreatedDate],[Tamount],[Step],[Status],[Approver],[ApproverID],[RequestID],[FlowFn]"; if (dtGroupFlowData.Rows[i]["FlowNo"].ToString() == "1") { wordflow += ",[Active]"; } string valueflow = ""; valueflow += "'" + newno + "',"; valueflow += "'T',"; valueflow += "'" + station + "',"; valueflow += "'" + department + "',"; valueflow += "'" + hdOwner.Value.ToString() + "',"; valueflow += "'" + Request.Cookies.Get("eReimUserName").Value + "',"; valueflow += "'" + DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + "',"; valueflow += hdSum.Value.ToString() == "" ? "null," : hdSum.Value.ToString() + ","; valueflow += dtGroupFlowData.Rows[i]["FlowNo"].ToString() + ","; valueflow += "1,"; valueflow += "'" + dtGroupFlowData.Rows[i]["FlowUser"].ToString() + "',"; valueflow += "'" + dtGroupFlowData.Rows[i]["FlowUserid"].ToString() + "',"; valueflow += hdTravelRequestID.Value.ToString(); valueflow += ",'" + (dtGroupFlowData.Rows[i]["Fn"].ToString() == "" ? "Approver" : dtGroupFlowData.Rows[i]["Fn"].ToString()) + "'"; if (dtGroupFlowData.Rows[i]["FlowNo"].ToString() == "1") { valueflow += ",1"; } string sqlupdateEFlow = "insert into Eflow (" + wordflow + ") values(" + valueflow + ")"; rows = dbc.UpdateData("eReimbursement", sqlupdateEFlow, "Update"); } // if (newid == "-1" || rows == "-1" || rows == "") { ErrorHandle("Data Error."); return; } else { hdTravelRequestNo.Value = newno; if (!SaveDetail(detail, header0string, header1string, header2string, Cur, dept) || !SendMail(warningmsg)) { ErrorHandle("Data Error."); return; } if (Request.Cookies["lang"] != null && Request.Cookies["lang"].Value.ToLower() == "zh-cn") { Panel3.Title = "差旅费申请单:" + newno; UpdateMSG("保存差旅费申请单:" + hdTravelRequestNo.Value.ToString() + "成功."); } else { Panel3.Title = "Travel Expense Form: " + newno; UpdateMSG("Saved Travel Expense Form: " + hdTravelRequestNo.Value.ToString() + " successfully."); } } } X.AddScript("btnAddDSTN.disable();btnGeteLeave.disable();btnSaveDraft.disable();btnSaveAndSend.disable();Radio1.disable();Radio2.disable();btnExport.enable();btnCC.disable();"); //X.AddScript("btnAddDSTN.disable();btnGeteLeave.disable();btnSaveDraft.disable();btnSaveAndSend.disable();cbxBudget.setReadOnly(true);btnExport.enable();btnCC.disable();"); } else//保存草稿 { if (hdTravelRequestID.Value.ToString() != "")//由链接进入的草稿更新 { string updatesql = "update ETravel set [Person]='" + hdOwner.Value.ToString(); updatesql += "',[Station]='" + station; updatesql += "',[Department]='" + department; updatesql += "',[ReportFile]='" + hdReport.Value.ToString(); updatesql += "',[Tamount]=" + (hdSum.Value.ToString() == "" ? "null" : hdSum.Value.ToString()); updatesql += ",[Pamout]=" + (hdPamountSum.Value.ToString() == "" ? "null" : hdPamountSum.Value.ToString()); updatesql += ",[Camount]=" + (hdCamountSum.Value.ToString() == "" ? "null" : hdCamountSum.Value.ToString()); updatesql += ",[Remark]='" + txtRemark.Text.Replace("'", "''") + "'"; updatesql += ",[Attach]='" + hdScanFile.Value.ToString() + "'"; updatesql += ",[PersonID]='" + hdOwnerID.Value.ToString() + "'"; updatesql += ",[CCMailList]='" + CCMailList + "'"; updatesql += ",[Budget]=" + (Radio1.Checked ? "1" : "0"); //updatesql += ",[Budget]=" + (cbxBudget.Value.ToString() == "YES" ? "1" : "0"); updatesql += ",[Station2]='" + ostation + "'"; updatesql += " where ID=" + hdTravelRequestID.Value.ToString(); string newid = dbc.UpdateData("eReimbursement", updatesql, "Update"); if (newid == "-1") { ErrorHandle("Data Error."); return; } else { if (!SaveDetail(detail, header0string, header1string, header2string, Cur, dept)) { ErrorHandle("Data Error."); return; } //hdTravelRequestID.Value = newid.Split(',')[0];//新增后记录ID //Panel3.Title = "差旅费申请单:" + newid.Split(',')[1]; //X.AddScript("GridPanel2.submitData();"); if (Request.Cookies["lang"] != null && Request.Cookies["lang"].Value.ToLower() == "zh-cn") { UpdateMSG("保存差旅费申请单草稿: " + hdTravelRequestNo.Value.ToString() + "成功."); } else { UpdateMSG("Saved Travel Expense Draft: " + hdTravelRequestNo.Value.ToString() + " successfully."); } } } else//如果ID为空则判断为新增草稿 { string word = "[No],[Person],[Station],[Department],[ReportFile],[Tamount],[Pamout],[Camount],[Attach],[Remark],[Bdate],[Edate],[Type],[PersonID],[ApplyDate],[CCMailList],[Station2],[Budget]"; string value = ""; value += "'" + station + DateTime.Now.Year.ToString().Substring(2, 2) + DateTime.Now.Month.ToString().PadLeft(2, '0') + "',";//edit value += "'" + hdOwner.Value.ToString() + "',"; value += "'" + station + "',"; value += "'" + department + "',";//edit value += "'" + hdReport.Value.ToString() + "',"; value += (hdSum.Value.ToString() == "" ? "null" : hdSum.Value.ToString()); value += "," + (hdPamountSum.Value.ToString() == "" ? "null" : hdPamountSum.Value.ToString()); value += "," + (hdCamountSum.Value.ToString() == "" ? "null" : hdCamountSum.Value.ToString()); value += ",'" + hdScanFile.Value.ToString() + "',"; value += "'" + txtRemark.Text.Replace("'", "''") + "',"; value += "null,null,"; value += "1";//标识为草稿 value += ",'" + hdOwnerID.Value.ToString() + "'"; value += ",'" + DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + "'"; value += ",'" + CCMailList + "'"; value += ",'" + ostation + "'"; value += "," + (Radio1.Checked ? "1" : "0"); //value += "," + (cbxBudget.Value.ToString() == "YES" ? "1" : "0"); string updatesql = "insert into ETravel (" + word + ") values(" + value + ");update ETravel set [No]=[No]+(select [MonthCount]=right('0000'+cast(count(ID) as varchar(10)),4) from ETravel where (month(ApplyDate) in (select month(ApplyDate) from ETravel where [ID]=@@IDENTITY) and (year(ApplyDate) in (select year(ApplyDate) from ETravel where [ID]=@@IDENTITY)) and Station=(select Station from ETravel where ID=@@IDENTITY)))+'TD' where ID=@@IDENTITY;select [msg]=convert(varchar,ID)+','+[No] from ETravel where ID=@@IDENTITY"; string newid = dbc.UpdateData("eReimbursement", updatesql, "Insert"); //操作Flow表 string wordflow = "[No],[Type],[Station],[Department],[Person],[CreadedBy],[CreatedDate],[Tamount],[RequestID],[Active]"; string valueflow = ""; valueflow += "'" + newid.Split(',')[1] + "',"; valueflow += "'T',"; valueflow += "'" + station + "',"; valueflow += "'" + department + "',"; valueflow += "'" + hdOwner.Value.ToString() + "',"; valueflow += "'" + Request.Cookies.Get("eReimUserName").Value + "',"; valueflow += "'" + DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + "',"; valueflow += hdSum.Value.ToString() == "" ? "null," : hdSum.Value.ToString() + ","; valueflow += "'" + newid.Split(',')[0] + "'"; valueflow += ",1"; string sqlupdateEFlow = "insert into Eflow (" + wordflow + ") values(" + valueflow + ")"; string rows = dbc.UpdateData("eReimbursement", sqlupdateEFlow, "Update"); // if (newid == "-1" || rows == "-1") { ErrorHandle("Data Error."); return; } else { hdTravelRequestID.Value = newid.Split(',')[0];//新增后记录ID hdTravelRequestNo.Value = newid.Split(',')[1];//新增后记录No if (!SaveDetail(detail, header0string, header1string, header2string, Cur, dept)) { ErrorHandle("Data Error."); return; } if (Request.Cookies["lang"] != null && Request.Cookies["lang"].Value.ToLower() == "zh-cn") { Panel3.Title = "差旅费申请单草稿: " + newid.Split(',')[1]; UpdateMSG("新增差旅费申请单草稿: " + newid.Split(',')[1] + "成功."); } else { Panel3.Title = "Travel Expense Draft: " + newid.Split(',')[1]; UpdateMSG("Added Travel Expense Draft: " + newid.Split(',')[1] + " successfully."); } } } } } }
public void AddCol(string StoreData, string header0string, string header1string, string header2string, string DSTN, string LeaveDate1, string LeaveDate2) { StoreSubmitDataEventArgs eSubmit = new StoreSubmitDataEventArgs(StoreData, null); XmlNode xml = eSubmit.Xml; XmlDocument doc = new XmlDocument(); doc.LoadXml(xml.InnerXml); int dtcol = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes.Count; int colc = (dtcol - 3) / 2; DataTable dt = new DataTable(); Store2.Reader[0].Fields.Add("Category", RecordFieldType.String); dt.Columns.Add(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(0).ChildNodes[0].Name, typeof(String)); for (int i = 0; i < (dtcol - 3) / 2; i++) { Store2.Reader[0].Fields.Add("Station_" + i.ToString() + "_P", RecordFieldType.String); Store2.Reader[0].Fields.Add("Station_" + i.ToString() + "_C", RecordFieldType.String); dt.Columns.Add("Station_" + i.ToString() + "_P", typeof(String)); dt.Columns.Add("Station_" + i.ToString() + "_C", typeof(String)); } string fieldPNameNew = "Station_" + colc.ToString() + "_P"; Store2.Reader[0].Fields.Add(fieldPNameNew, RecordFieldType.String); string fieldCNameNew = "Station_" + colc.ToString() + "_C"; Store2.Reader[0].Fields.Add(fieldCNameNew, RecordFieldType.String); dt.Columns.Add(fieldPNameNew, typeof(String)); dt.Columns.Add(fieldCNameNew, typeof(String)); //合计列 Store2.Reader[0].Fields.Add("TotalP", RecordFieldType.String); Store2.Reader[0].Fields.Add("TotalC", RecordFieldType.String); dt.Columns.Add("TotalP", typeof(String)); dt.Columns.Add("TotalC", typeof(String)); //decimal row0Psum = 0, row0Csum = 0, row1Psum = 0, row1Csum = 0, row2Psum = 0, row2Csum = 0, row3Psum = 0, row3Csum = 0, row4Psum = 0, row4Csum = 0, row5Psum = 0, row5Csum = 0, row6Psum = 0, row6Csum = 0, row7Psum = 0, row7Csum = 0, row8Psum = 0, row8Csum = 0, row9Psum = 0, row9Csum = 0, row10Psum = 0, row10Csum = 0; for (int i = 0; i < doc.SelectNodes("records").Item(0).SelectNodes("record").Count - 1; i++) { DataRow dr = dt.NewRow(); dt.Rows.Add(dr); for (int j = 0; j < dtcol - 3; j++) { string wr = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).ChildNodes[j].InnerText; dt.Rows[i][j] = doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).ChildNodes[j].InnerText; } } dt.Rows.Add(dt.NewRow()); dt.Rows[11][0] = "Total"; for (int i = 0; i < 11; i++) { for (int j = 1; j < dtcol - 3; j++) { if (j % 2 == 1) { dt.Rows[i][dtcol - 1] = (Convert.ToDecimal(dt.Rows[i][dtcol - 1].ToString() == "" ? "0" : dt.Rows[i][dtcol - 1].ToString()) + Convert.ToDecimal(dt.Rows[i][j].ToString() == "" ? "0" : dt.Rows[i][j].ToString())).ToString() == "0" ? "" : (Convert.ToDecimal(dt.Rows[i][dtcol - 1].ToString() == "" ? "0" : dt.Rows[i][dtcol - 1].ToString()) + Convert.ToDecimal(dt.Rows[i][j].ToString() == "" ? "0" : dt.Rows[i][j].ToString())).ToString(); dt.Rows[11][dtcol - 1] = (Convert.ToDecimal(dt.Rows[11][dtcol - 1].ToString() == "" ? "0" : dt.Rows[11][dtcol - 1].ToString()) + Convert.ToDecimal(dt.Rows[i][j].ToString() == "" ? "0" : dt.Rows[i][j].ToString())).ToString() == "0" ? "" : (Convert.ToDecimal(dt.Rows[11][dtcol - 1].ToString() == "" ? "0" : dt.Rows[11][dtcol - 1].ToString()) + Convert.ToDecimal(dt.Rows[i][j].ToString() == "" ? "0" : dt.Rows[i][j].ToString())).ToString(); } else { dt.Rows[i][dtcol] = (Convert.ToDecimal(dt.Rows[i][dtcol].ToString() == "" ? "0" : dt.Rows[i][dtcol].ToString()) + Convert.ToDecimal(dt.Rows[i][j].ToString() == "" ? "0" : dt.Rows[i][j].ToString())).ToString() == "0" ? "" : (Convert.ToDecimal(dt.Rows[i][dtcol].ToString() == "" ? "0" : dt.Rows[i][dtcol].ToString()) + Convert.ToDecimal(dt.Rows[i][j].ToString() == "" ? "0" : dt.Rows[i][j].ToString())).ToString(); dt.Rows[11][dtcol] = (Convert.ToDecimal(dt.Rows[11][dtcol].ToString() == "" ? "0" : dt.Rows[11][dtcol].ToString()) + Convert.ToDecimal(dt.Rows[i][j].ToString() == "" ? "0" : dt.Rows[i][j].ToString())).ToString() == "0" ? "" : (Convert.ToDecimal(dt.Rows[11][dtcol].ToString() == "" ? "0" : dt.Rows[11][dtcol].ToString()) + Convert.ToDecimal(dt.Rows[i][j].ToString() == "" ? "0" : dt.Rows[i][j].ToString())).ToString(); } dt.Rows[11][j] = (Convert.ToDecimal(dt.Rows[11][j].ToString() == "" ? "0" : dt.Rows[11][j].ToString()) + Convert.ToDecimal(dt.Rows[i][j].ToString() == "" ? "0" : dt.Rows[i][j].ToString())).ToString() == "0" ? "" : (Convert.ToDecimal(dt.Rows[11][j].ToString() == "" ? "0" : dt.Rows[11][j].ToString()) + Convert.ToDecimal(dt.Rows[i][j].ToString() == "" ? "0" : dt.Rows[i][j].ToString())).ToString(); } } Store2.DataSource = dt; Store2.DataBind(); var TitleCol = new Column(); TitleCol.DataIndex = "Category"; TitleCol.Sortable = false; TitleCol.Resizable = false; TitleCol.MenuDisabled = true; TitleCol.Width = 180; this.GridPanel2.ColumnModel.Columns.Add(TitleCol); var Title1 = new Ext.Net.Label(); Title1.Text = "Destination:"; HeaderColumn hcTitle1 = new HeaderColumn(); hcTitle1.Component.Add(Title1); this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcTitle1); var Title2 = new Ext.Net.Label(); Title2.Text = "Cost Center:"; HeaderColumn hcTitle2 = new HeaderColumn(); hcTitle2.Component.Add(Title2); this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcTitle2); var Title3 = new Ext.Net.Label(); Title3.Text = "Travel Period:"; HeaderColumn hcTitle3 = new HeaderColumn(); hcTitle3.Component.Add(Title3); this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTitle3); //取得出差站点列表 DataSet GetCityInfo = DIMERCO.SDK.Utilities.LSDK.GetCityInfo("", 8000); DataTable dtstation = GetCityInfo.Tables[0]; //取得成本中心列表 DataSet GetCCInfo = DIMERCO.SDK.Utilities.LSDK.getCostCenterBYStationCode("", 8000); DataTable dtCC = GetCCInfo.Tables[0]; for (int i = 0; i < colc; i++)//准备复制已有信息 { string fieldPName = "Station_" + i.ToString() + "_P"; //RecordField field1 = new RecordField(fieldAName, RecordFieldType.Float); //Store2.Reader[0].Fields.Add(fieldPName, RecordFieldType.Float); //this.Store2.AddField(field1, columncount); string fieldCName = "Station_" + i.ToString() + "_C"; //RecordField field1 = new RecordField(fieldAName, RecordFieldType.Float); //Store2.Reader[0].Fields.Add(fieldCName, RecordFieldType.Float); var txtP = new Ext.Net.NumberField(); //txtP.Listeners.Blur.Fn = "Cal"; var colP = new Column(); colP.Header = "Person Pay"; colP.DataIndex = fieldPName; colP.Sortable = false; colP.Resizable = false; colP.MenuDisabled = true; colP.Width = 110; colP.Editor.Add(txtP); this.GridPanel2.ColumnModel.Columns.Add(colP); var txtC = new Ext.Net.NumberField(); //txtC.Listeners.Blur.Fn = "Cal"; var colC = new Column(); colC.Header = "Company Pay"; colC.DataIndex = fieldCName; colC.Sortable = false; colC.Resizable = false; colC.MenuDisabled = true; colC.Width = 110; colC.Editor.Add(txtC); this.GridPanel2.ColumnModel.Columns.Add(colC); var Station = new Ext.Net.TextField(); if (header0string.Split(',')[i] != "NA") { Station.Text = header0string.Split(',')[i]; } HeaderColumn hcStation = new HeaderColumn(); hcStation.Component.Add(Station); this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcStation); var Button = new Ext.Net.Button(); Button.Text = "Remove"; Button.Listeners.Click.Handler = "removecol(this," + i.ToString() + ");"; Button.Listeners.Click.Delay = 50; HeaderColumn hcButton = new HeaderColumn(); hcButton.Component.Add(Button); this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcButton); var CostCenter = new Ext.Net.TextField(); CostCenter.Disabled = true; CostCenter.EmptyText = "Station Code"; if (header1string.Split(',')[i] != "NA") { CostCenter.Text = header1string.Split(',')[i]; } HeaderColumn hcCostCenter = new HeaderColumn(); hcCostCenter.Component.Add(CostCenter); this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcCostCenter); var ButtonGetSum = new Ext.Net.Button(); ButtonGetSum.Text = "Calculate"; ButtonGetSum.Listeners.Click.Handler = "GetSum();"; ButtonGetSum.Listeners.Click.Delay = 50; HeaderColumn hcButtonGetSum = new HeaderColumn(); hcButtonGetSum.Component.Add(ButtonGetSum); this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcButtonGetSum); var datefrom = new DateField(); if (header2string.Split(',')[i * 2] != "NA") { datefrom.SetValue(header2string.Split(',')[i * 2]); } datefrom.EmptyText = "yyyy/MM/dd"; datefrom.Format = "yyyy/MM/dd"; HeaderColumn Date1 = new HeaderColumn(); Date1.Component.Add(datefrom); this.GridPanel2.GetView().HeaderRows[2].Columns.Add(Date1); var dateto = new DateField(); if (header2string.Split(',')[i * 2 + 1] != "NA") { dateto.SetValue(header2string.Split(',')[i * 2 + 1]); } dateto.EmptyText = "yyyy/MM/dd"; dateto.Format = "yyyy/MM/dd"; HeaderColumn Date2 = new HeaderColumn(); Date2.Component.Add(dateto); this.GridPanel2.GetView().HeaderRows[2].Columns.Add(Date2); } var txtPNew = new Ext.Net.NumberField(); //txtPNew.Listeners.Blur.Fn = "Cal"; var colPNew = new Column(); colPNew.Header = "Person Pay"; colPNew.DataIndex = fieldPNameNew; colPNew.Sortable = false; colPNew.Resizable = false; colPNew.MenuDisabled = true; colPNew.Width = 110; colPNew.Editor.Add(txtPNew); this.GridPanel2.ColumnModel.Columns.Add(colPNew); var txtCNew = new Ext.Net.NumberField(); //txtCNew.Listeners.Blur.Fn = "Cal"; var colCNew = new Column(); colCNew.Header = "Company Pay"; colCNew.DataIndex = fieldCNameNew; colCNew.Sortable = false; colCNew.Resizable = false; colCNew.MenuDisabled = true; colCNew.Width = 110; colCNew.Editor.Add(txtCNew); this.GridPanel2.ColumnModel.Columns.Add(colCNew); var TotalP = new Ext.Net.TextField(); TotalP.ReadOnly = true; TotalP.Cls = "custom-row"; var colTotalP = new Column(); colTotalP.DataIndex = "TotalP"; colTotalP.Sortable = false; colTotalP.Resizable = false; colTotalP.MenuDisabled = true; colTotalP.Width = 110; colTotalP.Locked = true; colTotalP.Editor.Add(TotalP); this.GridPanel2.ColumnModel.Columns.Add(colTotalP); var TotalC = new Ext.Net.TextField(); TotalC.ReadOnly = true; TotalC.Cls = "custom-row"; var colTotalC = new Column(); colTotalC.DataIndex = "TotalC"; colTotalC.Sortable = false; colTotalC.Resizable = false; colTotalC.MenuDisabled = true; colTotalC.Width = 110; colTotalC.Locked = true; colTotalC.Editor.Add(TotalC); this.GridPanel2.ColumnModel.Columns.Add(colTotalC); var StationNew = new Ext.Net.TextField(); StationNew.Text = DSTN; HeaderColumn hcStationNew = new HeaderColumn(); hcStationNew.Component.Add(StationNew); this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcStationNew); var ButtonNew = new Ext.Net.Button(); ButtonNew.Text = "Remove"; ButtonNew.Listeners.Click.Handler = "removecol(this," + colc.ToString() + ");"; ButtonNew.Listeners.Click.Delay = 50; HeaderColumn hcButtonNew = new HeaderColumn(); hcButtonNew.Component.Add(ButtonNew); this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcButtonNew); HeaderColumn hcTotal1 = new HeaderColumn(); this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcTotal1); HeaderColumn hcTotal2 = new HeaderColumn(); this.GridPanel2.GetView().HeaderRows[0].Columns.Add(hcTotal2); var CostCenterNew = new Ext.Net.TextField(); CostCenterNew.Disabled = true; CostCenterNew.EmptyText = "Station Code"; HeaderColumn hcCostCenterNew = new HeaderColumn(); hcCostCenterNew.Component.Add(CostCenterNew); this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcCostCenterNew); //HeaderColumn hcCostCenter1New = new HeaderColumn(); //this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcCostCenter1New); var ButtonGetSumNew = new Ext.Net.Button(); ButtonGetSumNew.Text = "Calculate"; ButtonGetSumNew.Listeners.Click.Handler = "GetSum();"; ButtonGetSumNew.Listeners.Click.Delay = 50; HeaderColumn hcButtonGetSumNew = new HeaderColumn(); hcButtonGetSumNew.Component.Add(ButtonGetSumNew); this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcButtonGetSumNew); HeaderColumn hcTotal3 = new HeaderColumn(); this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcTotal3); HeaderColumn hcTotal4 = new HeaderColumn(); this.GridPanel2.GetView().HeaderRows[1].Columns.Add(hcTotal4); var dateFromNew = new DateField(); dateFromNew.EmptyText = "yyyy/MM/dd"; dateFromNew.Format = "yyyy/MM/dd"; dateFromNew.SetValue(LeaveDate1); HeaderColumn Date1New = new HeaderColumn(); Date1New.Component.Add(dateFromNew); this.GridPanel2.GetView().HeaderRows[2].Columns.Add(Date1New); var datetoNew = new DateField(); datetoNew.EmptyText = "yyyy/MM/dd"; datetoNew.Format = "yyyy/MM/dd"; datetoNew.SetValue(LeaveDate2); HeaderColumn Date2New = new HeaderColumn(); Date2New.Component.Add(datetoNew); this.GridPanel2.GetView().HeaderRows[2].Columns.Add(Date2New); var TitleTotalP = new Ext.Net.Label(); TitleTotalP.Text = "Total(Person)"; TitleTotalP.Cls = "custom-row"; HeaderColumn hcTitleTotalP = new HeaderColumn(); hcTitleTotalP.Component.Add(TitleTotalP); this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTitleTotalP); var TitleTotalC = new Ext.Net.Label(); TitleTotalC.Text = "Total(Comp)"; TitleTotalC.Cls = "custom-row"; HeaderColumn hcTitleTotalC = new HeaderColumn(); hcTitleTotalC.Component.Add(TitleTotalC); this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTitleTotalC); //HeaderColumn hcTotal5 = new HeaderColumn(); //this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTotal5); //HeaderColumn hcTotal6 = new HeaderColumn(); //this.GridPanel2.GetView().HeaderRows[2].Columns.Add(hcTotal6); this.GridPanel2.Render(); //Store store2 = this.GridPanel2.GetStore(); //this.GridPanel2.RefreshView(); GridPanel2.Reconfigure(); //string last = (dtcol - 1).ToString(); //string sf = "$(\"#\"+$('#GridPanel2 .x-grid3-col-" + last + " input')[0].id).css('font-weight','bold')"; //X.AddScript(sf); }
protected void btnExport_Click(object sender, EventArgs e) { XlsDocument xls = new XlsDocument();//新建一个xls文档 xls.FileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"; Worksheet sheet; sheet = xls.Workbook.Worksheets.Add(DateTime.Now.ToString("yyyyMMddHHmmss")); XF titleXF = xls.NewXF(); // 为xls生成一个XF实例,XF是单元格格式对象 titleXF.HorizontalAlignment = HorizontalAlignments.Left; // 设定文字居中 titleXF.VerticalAlignment = VerticalAlignments.Centered; // 垂直居中 titleXF.UseBorder = false; // 使用边框 titleXF.Font.Height = 12 * 20; // 字大小(字体大小是以 1/20 point 为单位的) XF titleXF1 = xls.NewXF(); // 为xls生成一个XF实例,XF是单元格格式对象 titleXF1.HorizontalAlignment = HorizontalAlignments.Left; // 设定文字居中 titleXF1.VerticalAlignment = VerticalAlignments.Centered; // 垂直居中 titleXF1.UseBorder = false; // 使用边框 titleXF1.Font.Bold = true; titleXF1.Font.Height = 12 * 20; // 字大小(字体大小是以 1/20 point 为单位的) // 开始填充数据到单元格 org.in2bits.MyXls.Cells cells = sheet.Cells; cells.Add(1, 1, "NO#", titleXF1); cells.Add(1, 2, "Status", titleXF1); cells.Add(1, 3, "Claim Type", titleXF1); cells.Add(1, 4, "Amount", titleXF1); cells.Add(1, 5, "Process", titleXF1); cells.Add(1, 6, "Current Approver", titleXF1); cells.Add(1, 7, "Owner", titleXF1); cells.Add(1, 8, "Submitted by", titleXF1); cells.Add(1, 9, "Submit date", titleXF1); cells.Add(1, 10, "Remark", titleXF1); //添加数据 string json = GridData.Value.ToString(); StoreSubmitDataEventArgs eSubmit = new StoreSubmitDataEventArgs(json, null); XmlNode xml = eSubmit.Xml; XmlDocument doc = new XmlDocument(); doc.LoadXml(xml.InnerXml); for (int i = 0; i < doc.SelectNodes("records").Item(0).SelectNodes("record").Count; i++) { if (!string.IsNullOrEmpty(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).SelectNodes("Tamount").Item(0).InnerXml)) { cells.Add(2 + i, 4, Convert.ToDouble(doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).SelectNodes("Tamount").Item(0).InnerXml), titleXF); } else { cells.Add(2 + i, 4, "", titleXF); } cells.Add(2 + i, 1, doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).SelectNodes("No").Item(0).InnerXml, titleXF); cells.Add(2 + i, 2, doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).SelectNodes("Draft1").Item(0).InnerXml, titleXF); cells.Add(2 + i, 3, doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).SelectNodes("Type1").Item(0).InnerXml, titleXF); cells.Add(2 + i, 5, doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).SelectNodes("Status1").Item(0).InnerXml, titleXF); cells.Add(2 + i, 6, doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).SelectNodes("Approver").Item(0).InnerXml, titleXF); cells.Add(2 + i, 7, doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).SelectNodes("Person").Item(0).InnerXml, titleXF); cells.Add(2 + i, 8, doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).SelectNodes("CreadedBy").Item(0).InnerXml, titleXF); cells.Add(2 + i, 9, doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).SelectNodes("CreadedDate").Item(0).InnerXml, titleXF); cells.Add(2 + i, 10, doc.SelectNodes("records").Item(0).SelectNodes("record").Item(i).SelectNodes("Remark").Item(0).InnerXml, titleXF); } xls.Send(); }
private void RaiseAjaxPostBackEvent(string eventArgument) { try { if (eventArgument.IsEmpty()) { throw new ArgumentNullException("eventArgument"); } string data = null; JToken parametersToken = null; if (this.DirectConfig != null) { parametersToken = this.DirectConfig.SelectToken("config.extraParams", false); JToken serviceToken = this.DirectConfig.SelectToken("config.serviceParams", false); if (serviceToken != null) { data = JSON.ToString(serviceToken); } } string action = eventArgument; BeforeDirectEventArgs e = new BeforeDirectEventArgs(action, data, parametersToken); this.OnAjaxPostBack(e); if (this.AutoDecode && data.IsNotEmpty()) { data = HttpUtility.HtmlDecode(data); } switch (action) { case "create": case "destroy": case "update": case "batch": if (data == null) { throw new InvalidOperationException("No data in request"); } this.DoSaving(action, data, parametersToken); break; case "read": StoreReadDataEventArgs refreshArgs = new StoreReadDataEventArgs(parametersToken); this.OnReadData(refreshArgs); PageProxy dsp = this.Proxy.Primary as PageProxy; if (dsp != null) { if (refreshArgs.Total > -1) { dsp.Total = refreshArgs.Total; } } break; case "submit": if (data == null) { throw new InvalidOperationException("No data in request"); } StoreSubmitDataEventArgs args = new StoreSubmitDataEventArgs(data, parametersToken); this.OnSubmitData(args); break; } } catch (Exception ex) { success = false; msg = this.IsDebugging ? ex.ToString() : ex.Message; if (this.ResourceManager.RethrowAjaxExceptions) { throw; } } AfterDirectEventArgs eAjaxPostBackResult = new AfterDirectEventArgs(new Response(success, msg)); this.OnAjaxPostBackResult(eAjaxPostBackResult); StoreResponseData response = new StoreResponseData(); if (eAjaxPostBackResult.Response.Success) { switch (eventArgument) { case "read": if (this.RequiresDataBinding) { this.DataBind(); } response.Data = this.GetAjaxDataJson(); PageProxy dsp = this.Proxy.Primary as PageProxy; response.Total = dsp != null ? dsp.Total : -1; break; case "create": case "destroy": case "update": response.Data = JSON.Serialize(this.responseRecords); break; } } eAjaxPostBackResult.Response.Data = response.ToString(); ResourceManager.ServiceResponse = eAjaxPostBackResult.Response; }
protected void BtnSaveToExcel(object sender, EventArgs e) { string json = ExcelGridData.Value.ToString(); json = json.Replace("d_name", "店铺"); json = json.Replace("name4", "虚拟结构"); json = json.Replace("name5", "虚拟结构"); json = json.Replace("styleid", "款号"); json = json.Replace("colorid", "颜色"); json = json.Replace("s2s", "2"); json = json.Replace("s3s", "3"); json = json.Replace("s4s", "4"); json = json.Replace("s5s", "5"); json = json.Replace("s6s", "6"); json = json.Replace("total", "合计"); StoreSubmitDataEventArgs eSubmit = new StoreSubmitDataEventArgs(json, null); XmlNode xml = eSubmit.Xml; this.Response.Clear(); this.Response.ContentType = "application/vnd.ms-excel"; this.Response.AddHeader("Content-Disposition", "attachment; filename=Report.xls"); XslCompiledTransform xtExcel = new XslCompiledTransform(); xtExcel.Load(Server.MapPath("ExcelTemp/Excel.xsl")); xtExcel.Transform(xml, null, this.Response.OutputStream); this.Response.End(); }
protected void SubmitData(object sender, StoreSubmitDataEventArgs e) { if (dfbegin.SelectedDate > dfend.SelectedDate) { Ext.Msg.Alert("提示", "请重新选择时间!").Show(); return; } if (GridData.Value == null || GridData.Value.ToString() == "-1") { if (selectedDept.Value == null || selectedDept.Value.ToString() == "-1" || selectedDept.Value.ToString() == SessionBox.GetUserSession().DeptNumber) { Ext.Msg.Alert("提示", "请选择人员或部门!").Show(); return; } else { XmlNode xml = e.Xml; XmlNode rxml = xml.SelectSingleNode("records"); XmlNodeList uRecords = rxml.SelectNodes("record"); if (uRecords.Count > 0) { List <string> pers = new List <string>(); var per = (from p in dc.Person from v in dc.Vgetpl where p.Personnumber == v.Personnumber && p.Areadeptid == selectedDept.Value.ToString() && v.Operatortag == "YH_fcfk" && v.Moduletag == "HiddenDanage_HDprocess" select new { p.Personnumber, p.Name }).Distinct(); foreach (var r in per) { pers.Add(r.Personnumber); } decimal[,] place = new decimal[uRecords.Count, 2]; int i = 0; foreach (XmlNode record in uRecords) { if (record != null) { place[i, 0] = decimal.Parse(record.SelectSingleNode("Placeid").InnerText.Trim()); place[i, 1] = decimal.Parse(record.SelectSingleNode("Zdcs").InnerText.Trim() == "" ? "1" : record.SelectSingleNode("Zdcs").InnerText.Trim()); i++; } } PlanCreate(place, pers); } else { Ext.Msg.Alert("提示", "请选择地点!").Show(); } } } else { XmlNode xml = e.Xml; XmlNode rxml = xml.SelectSingleNode("records"); XmlNodeList uRecords = rxml.SelectNodes("record"); if (uRecords.Count > 0) { decimal[,] place = new decimal[uRecords.Count, 2]; int i = 0; foreach (XmlNode record in uRecords) { if (record != null) { place[i, 0] = decimal.Parse(record.SelectSingleNode("Placeid").InnerText.Trim()); place[i, 1] = decimal.Parse(record.SelectSingleNode("Zdcs").InnerText.Trim() == "" ? "1" : record.SelectSingleNode("Zdcs").InnerText.Trim()); i++; } } PlanCreate(place, GridData.Value.ToString()); } else { Ext.Msg.Alert("提示", "请选择地点!").Show(); } } }
protected void MonthlyReportsStore_SubmitData(object sender, StoreSubmitDataEventArgs e) { DateTime beginningOfTheMonth; DateTime endOfTheMonth; Document pdfDocument; Dictionary <string, string> pdfDocumentHeaders; Dictionary <string, Dictionary <string, object> > UsersCollection; JavaScriptSerializer jSerializer; int SiteID; Site SelectedSite; //These are created to hold the data submitted through the grid as JSON List <LyncBillingBase.DataModels.User> usersData; Dictionary <string, object> tempUserDataContainer; XmlNode xml = e.Xml; string format = this.FormatType.Value.ToString(); string pdfReportFileName = string.Empty; SiteID = Convert.ToInt32(FilterReportsBySite.SelectedItem.Value); SelectedSite = Global.DATABASE.Sites.GetById(SiteID); int callsType = Convert.ToInt32(CallsTypesComboBox.SelectedItem.Value); string callsTypeString = string.Empty; // FIRST // CLEAR THE PAGE'S RESPONSE this.Response.Clear(); switch (callsType) { case 1: callsTypeString = "Not Charged"; break; case 2: callsTypeString = "Pending Charges"; break; case 3: callsTypeString = "Charged"; break; default: callsTypeString = "Not Charged"; break; } switch (format) { // --------------------------- // CASE OF XLS SUMMARIZED REPORT case "xls": this.Response.Clear(); this.Response.ContentType = "application/vnd.ms-excel"; this.Response.AddHeader("Content-Disposition", "attachment; filename=MonthlyReport_Summary.xls"); XslCompiledTransform xtExcel = new XslCompiledTransform(); xtExcel.Load(Server.MapPath("~/Resources/excel.xsl")); xtExcel.Transform(xml, null, Response.OutputStream); break; // --------------------------- // CASE OF SUMMARIZED PDF REPORT case "pdf": UsersCollection = new Dictionary <string, Dictionary <string, object> >(); jSerializer = new JavaScriptSerializer(); usersData = jSerializer.Deserialize <List <LyncBillingBase.DataModels.User> >(e.Json); foreach (var user in usersData) { tempUserDataContainer = new Dictionary <string, object>(); //tempUserDataContainer.Add(Enums.GetDescription(Enums.PhoneCallSummary.DisplayName), user.FullName); //tempUserDataContainer.Add(Enums.GetDescription(Enums.PhoneCallSummary.EmployeeID), user.EmployeeID); //tempUserDataContainer.Add(Enums.GetDescription(Enums.PhoneCallSummary.ChargingParty), user.SipAccount); if (!UsersCollection.Keys.Contains(user.SipAccount)) { UsersCollection.Add(user.SipAccount, tempUserDataContainer); } } beginningOfTheMonth = new DateTime(ReportDateField.SelectedDate.Year, ReportDateField.SelectedDate.Month, 1); endOfTheMonth = beginningOfTheMonth.AddMonths(1).AddDays(-1); //Initialize the response. pdfReportFileName = string.Format( "{0}_Monthly_Summary_Report_{1}_{2}.pdf", SelectedSite.Name.ToUpper(), beginningOfTheMonth.Month + "-" + beginningOfTheMonth.Year, callsTypeString.Replace(' ', '_') ); pdfDocumentHeaders = new Dictionary <string, string>() { { "siteName", SelectedSite.Name }, { "title", "Accounting Monthly Report [Summary]" }, { "subTitle", String.Format("As Per: {0}; {1}", beginningOfTheMonth.Month + "-" + beginningOfTheMonth.Year, callsTypeString) } }; pdfDocument = new Document(); //if (callsType == 1) // Global.DATABASE.UsersCallsSummaries.ExportUsersCallsSummaryToPDF(SelectedSite.Name, beginningOfTheMonth, endOfTheMonth, UsersCollection, Response, out pdfDocument, pdfDocumentHeaders, notChargedCalls: true); //else if (callsType == 2) // Global.DATABASE.UsersCallsSummaries.ExportUsersCallsSummaryToPDF(SelectedSite.Name, beginningOfTheMonth, endOfTheMonth, UsersCollection, Response, out pdfDocument, pdfDocumentHeaders, pendingChargesCalls: true); //else if (callsType == 3) // Global.DATABASE.UsersCallsSummaries.ExportUsersCallsSummaryToPDF(SelectedSite.Name, beginningOfTheMonth, endOfTheMonth, UsersCollection, Response, out pdfDocument, pdfDocumentHeaders, chargedCalls: true); Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "attachment;filename=" + pdfReportFileName); Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Write(pdfDocument); break; // --------------------------- // CASE OF DETAILED PDF REPORT case "pdf-d": UsersCollection = new Dictionary <string, Dictionary <string, object> >(); jSerializer = new JavaScriptSerializer(); usersData = jSerializer.Deserialize <List <LyncBillingBase.DataModels.User> >(e.Json); foreach (var user in usersData) { tempUserDataContainer = new Dictionary <string, object>(); //tempUserDataContainer.Add(Enums.GetDescription(Enums.PhoneCallSummary.DisplayName), user.FullName); //tempUserDataContainer.Add(Enums.GetDescription(Enums.PhoneCallSummary.EmployeeID), user.EmployeeID); //tempUserDataContainer.Add(Enums.GetDescription(Enums.PhoneCallSummary.ChargingParty), user.SipAccount); if (!UsersCollection.Keys.Contains(user.SipAccount)) { UsersCollection.Add(user.SipAccount, tempUserDataContainer); } } beginningOfTheMonth = new DateTime(ReportDateField.SelectedDate.Year, ReportDateField.SelectedDate.Month, 1); endOfTheMonth = beginningOfTheMonth.AddMonths(1).AddDays(-1); //Initialize the response. pdfReportFileName = string.Format( "{0}_Monthly_Detailed_Report_{1}_{2}.pdf", SelectedSite.Name.ToUpper(), beginningOfTheMonth.Month + "-" + beginningOfTheMonth.Year, callsTypeString.Replace(' ', '_') ); pdfDocumentHeaders = new Dictionary <string, string>() { { "siteName", SelectedSite.Name }, { "title", "Accounting Monthly Report [Detailed]" }, { "subTitle", String.Format("As Per: {0}; {1}", beginningOfTheMonth.Month + "-" + beginningOfTheMonth.Year, callsTypeString) } }; pdfDocument = new Document(); //if (callsType == 1) // Global.DATABASE.UsersCallsSummaries.ExportUsersCallsDetailedToPDF(SelectedSite.Name, beginningOfTheMonth, endOfTheMonth, UsersCollection, Response, out pdfDocument, pdfDocumentHeaders, notChargedCalls: true); //else if (callsType == 2) // Global.DATABASE.UsersCallsSummaries.ExportUsersCallsDetailedToPDF(SelectedSite.Name, beginningOfTheMonth, endOfTheMonth, UsersCollection, Response, out pdfDocument, pdfDocumentHeaders, pendingChargesCalls: true); //else if (callsType == 3) // Global.DATABASE.UsersCallsSummaries.ExportUsersCallsDetailedToPDF(SelectedSite.Name, beginningOfTheMonth, endOfTheMonth, UsersCollection, Response, out pdfDocument, pdfDocumentHeaders, chargedCalls: true); Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "attachment;filename=" + pdfReportFileName); Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Write(pdfDocument); break; } this.Response.End(); }//End-function
//用于保存差旅费明细 protected void SubmitData(object sender, StoreSubmitDataEventArgs e) { DateTime dtnull = new DateTime(1, 1, 1, 0, 0, 0); cs.DBCommand dbc = new cs.DBCommand(); //检查是否已经被该人设置过审批人 string sqlCheckFlow = "select * from GroupFlow where GID=(select GID from GroupUsers where UserID='" + cbxOwner.Text + "')"; DataTable dtCheckFlow = dbc.GetData("eReimbursement", sqlCheckFlow); if (dtCheckFlow.Rows.Count < 1) { return; } string json = e.Json; XmlNode xml = e.Xml; List<Detail> Details = e.Object<Detail>(); //删除现有数据 string deletesql = "delete from ETraveleDetail where [No]='" + hdTravelRequestID.Value.ToString() + "'"; string newid1 = dbc.UpdateData("eReimbursement", deletesql, "Update"); foreach (Detail detail in Details) { if (newid1 == "-1") { ErrorHandle("Data Error."); return; } //新增 string word = "[No],[Tocity],[AccountName],[AccountCode],[AccountDes],[Cur],[Pamount],[Camount],[TSation],[Createdby],[CreadedDate],[Tdate]"; string value = ""; value += "'" + hdTravelRequestID.Value.ToString() + "',"; value += "'" + detail.Tocity + "',"; value += "'" + detail.AccountName + "',"; value += "'" + detail.AccountCode + "',"; value += "'" + detail.AccountDes + "',"; value += "'" + detail.Cur + "',"; value += detail.Pamount == "" ? "null," : detail.Pamount + ","; value += detail.Camount == "" ? "null," : detail.Camount + ","; value += "'" + detail.TSation + "',"; value += "'" + cbxOwner.Text + "',";//edit value += "'" + DateTime.Now.ToString() + "',"; value += detail.Tdate == "" ? "null" : "'" + detail.Tdate + "'"; string updatesql = "insert into ETraveleDetail (" + word + ") values(" + value + ");select [ID]=@@IDENTITY from ETraveleDetail"; string newid = dbc.UpdateData("eReimbursement", updatesql, "Insert"); if (newid == "-1") { ErrorHandle("Data Error."); return; } } //发送提醒邮件 string sql = "select * from V_Eflow_ETravel where [Type]='T' and Step!=0 and RequestID=" + hdTravelRequestID.Value.ToString() + " order by Step,FlowID"; DataTable dtMail = new DataTable(); dtMail = dbc.GetData("eReimbursement", sql); if (dtMail != null && dtMail.Rows.Count > 0) { DIMERCO.SDK.MailMsg mail = new DIMERCO.SDK.MailMsg(); mail.Title = "Dimerco eReimbursement (" + dtMail.Rows[0]["Person"].ToString() + ") - Seek For Your Approval"; mail.FromDispName = "eReimbursement"; mail.From = "*****@*****.**"; string mailto = ""; DataSet dsTo = DIMERCO.SDK.Utilities.LSDK.getUserProfilebyUserList(dtMail.Rows[0]["ApproverID"].ToString()); if (dsTo.Tables[0].Rows.Count == 1) { mailto += dsTo.Tables[0].Rows[0]["eMail"].ToString() + ","; } else { ErrorHandle("Error mail address of Approver."); return; } string mailcc = ""; DataSet dsCC = DIMERCO.SDK.Utilities.LSDK.getUserProfilebyUserList(dtMail.Rows[0]["PersonID"].ToString()); if (dsCC.Tables[0].Rows.Count == 1) { mailcc += dsCC.Tables[0].Rows[0]["eMail"].ToString() + ","; } else { ErrorHandle("Error mail address of Owner."); return; } if (dtMail.Rows[0]["CreadedByID"].ToString() != "" && dtMail.Rows[0]["CreadedByID"].ToString() != dtMail.Rows[0]["PersonID"].ToString())//代理人 { dsCC = DIMERCO.SDK.Utilities.LSDK.getUserProfilebyUserList(dtMail.Rows[0]["CreadedByID"].ToString()); mailcc += dsCC.Tables[0].Rows[0]["eMail"].ToString() + ","; } mail.To = mailto; mail.Cc = mailcc; string divstyle = "style='font-size:small;'"; string divstyleCurrent = "style='font-size:small;color:blue;'"; string tdstyle = "style='border:silver 1px ridge; font-size:small;background-color: #FFFFFF'"; StringBuilder sb = new StringBuilder(); sb.Append("<div>"); sb.Append("<div " + divstyle + "> Dear " + dtMail.Rows[0]["Approver"].ToString() + ",</div><br />"); sb.Append("<div " + divstyle + ">The following eReimbursement application for your approval:</div><br /><br />"); sb.Append("<div " + divstyle + ">eReimbursement Approval Remarks :</div><br />"); sb.Append("<div " + divstyle + ">Owner:" + dtMail.Rows[0]["Person"].ToString() + "</div>"); sb.Append("<div " + divstyle + ">Station:" + dtMail.Rows[0]["Station"].ToString() + "</div>"); sb.Append("<div " + divstyle + ">Department:" + dtMail.Rows[0]["Department"].ToString() + "</div>"); string period = ""; period += dtMail.Rows[0]["Bdate"].ToString() == "" ? "From NA " : ("From " + Convert.ToDateTime(dtMail.Rows[0]["Bdate"].ToString()).ToString("yyyy/MM/dd") + " "); period += dtMail.Rows[0]["Edate"].ToString() == "" ? "To NA" : "To " + Convert.ToDateTime(dtMail.Rows[0]["Edate"].ToString()).ToString("yyyy/MM/dd"); sb.Append("<div " + divstyle + ">Period:" + period + "</div><br />"); sb.Append("<div><table><thead><tr><th colspan=\"9\" " + tdstyle + ">Expense Detail</th></tr><tr>"); sb.Append("<th " + tdstyle + "></th>"); sb.Append("<th " + tdstyle + ">Location</th>"); sb.Append("<th " + tdstyle + ">Date</th>"); sb.Append("<th " + tdstyle + ">Expense Type</th>"); sb.Append("<th " + tdstyle + ">Currency</th>"); sb.Append("<th " + tdstyle + ">Employee Pay</th>"); sb.Append("<th " + tdstyle + ">Company Pay</th>"); sb.Append("<th " + tdstyle + ">Collection Station</th>"); sb.Append("<th " + tdstyle + ">Remark</th></tr></thead>"); sb.Append("<tbody>"); decimal ptotal = 0; decimal ctotal = 0; string sqldetail = "select t2.SAccountName,t1.* from ETraveleDetail t1 left join AccoundCode t2 on t2.SAccountCode=t1.AccountCode where t1.[No]='" + hdTravelRequestID.Value.ToString() + "'"; DataTable dtdetail = new DataTable(); dtdetail = dbc.GetData("eReimbursement", sqldetail); for (int i = 0; i < dtdetail.Rows.Count; i++) { sb.Append("<tr><th " + tdstyle + ">" + (i + 1).ToString() + "</th>"); sb.Append("<td " + tdstyle + ">" + dtdetail.Rows[i]["Tocity"].ToString() + "</td>"); string tdate = dtdetail.Rows[i]["Tdate"].ToString() == "" ? "" : Convert.ToDateTime(dtdetail.Rows[i]["Tdate"].ToString()).ToString("yyyy/MM/dd"); sb.Append("<td " + tdstyle + ">" + tdate + "</td>"); sb.Append("<td " + tdstyle + ">" + dtdetail.Rows[i]["SAccountName"].ToString() + "</td>"); sb.Append("<td " + tdstyle + ">" + dtdetail.Rows[i]["Cur"].ToString() + "</td>"); sb.Append("<td " + tdstyle + ">" + dtdetail.Rows[i]["Pamount"].ToString() + "</td>"); sb.Append("<td " + tdstyle + ">" + dtdetail.Rows[i]["Camount"].ToString() + "</td>"); sb.Append("<td " + tdstyle + ">" + dtdetail.Rows[i]["TSation"].ToString() + "</td>"); sb.Append("<td " + tdstyle + ">" + dtdetail.Rows[i]["AccountDes"].ToString() + "</td></tr>"); ptotal += dtdetail.Rows[i]["Pamount"].ToString() == "" ? 0 : Convert.ToDecimal(dtdetail.Rows[i]["Pamount"].ToString()); ctotal += dtdetail.Rows[i]["Camount"].ToString() == "" ? 0 : Convert.ToDecimal(dtdetail.Rows[i]["Camount"].ToString()); } sb.Append("</tbody>"); sb.Append("<tfoot><tr>"); sb.Append("<th " + tdstyle + ">Total:</th>"); sb.Append("<td " + tdstyle + "></td>"); sb.Append("<td " + tdstyle + "></td>"); sb.Append("<td " + tdstyle + "></td>"); sb.Append("<td " + tdstyle + ">" + dtdetail.Rows[0]["Cur"].ToString() + "</td>"); sb.Append("<td " + tdstyle + ">" + ptotal.ToString() + "</td>"); sb.Append("<td " + tdstyle + ">" + ctotal.ToString() + "</td>"); sb.Append("<td " + tdstyle + "></td>"); sb.Append("<td " + tdstyle + "></td>"); sb.Append("</tr></tfoot></table></div><br />"); StringBuilder sb1 = new StringBuilder(); sb1.Append("<div><span " + divstyle + ">Approval Flow:</span>"); for (int i = 0; i < dtMail.Rows.Count; i++) { if (i == 0) { sb1.Append("<div " + divstyleCurrent + ">" + (i + 1).ToString() + ".Current Approver:" + dtMail.Rows[i]["Approver"].ToString() + "</div>"); } else { sb1.Append("<div " + divstyle + ">" + (i + 1).ToString() + ".Approver:" + dtMail.Rows[i]["Approver"].ToString() + "</div>"); } } sb1.Append("</div><br />"); sb.Append(sb1.ToString()); string url = "http://" + Request.Url.Authority + "/Approve.aspx"; sb.Append("<div><a href=\"" + url + "?FlowID=" + dtMail.Rows[0]["FlowID"].ToString() + "\" style=\"color: #0000FF\">Click here to visit Dimerco eReimbursement.</a></div>"); sb.Append("</div>"); mail.Body = sb.ToString(); mail.Send(); } }
protected void BtnSaveToExcel(object sender, EventArgs e) { string json = ExcelGridData.Value.ToString(); json = json.Replace("vipcode", "VIP卡号"); json = json.Replace("vipname", "姓名"); json = json.Replace("vipsex", "性别"); json = json.Replace("mobtel", "手机"); json = json.Replace("vipbirth", "生日"); json = json.Replace("tz_name", "拓展人"); json = json.Replace("vipstate", "状态"); json = json.Replace("centum", "积分"); json = json.Replace("p积分", "上季积分"); json = json.Replace("FBuyID", "首单"); json = json.Replace("vipoccupation", "职业"); json = json.Replace("FBuyID", "职业"); json = json.Replace("crdate", "创建时间"); json = json.Replace("viplastdate", "最近消费日期"); json = json.Replace("lastSums", "消费金额"); StoreSubmitDataEventArgs eSubmit = new StoreSubmitDataEventArgs(json, null); XmlNode xml = eSubmit.Xml; this.Response.Clear(); this.Response.ContentType = "application/vnd.ms-excel"; this.Response.AddHeader("Content-Disposition", "attachment; filename=Report.xls"); XslCompiledTransform xtExcel = new XslCompiledTransform(); xtExcel.Load(Server.MapPath("ExcelTemp/Excel.xsl")); xtExcel.Transform(xml, null, this.Response.OutputStream); this.Response.End(); }
private void RaiseAjaxPostBackEvent(string eventArgument) { bool needConfirmation = false; try { if (eventArgument.IsEmpty()) { throw new ArgumentNullException("eventArgument"); } XmlNode xmlData = this.SubmitConfig; string data = null; XmlNode parametersNode = null; if (xmlData != null) { parametersNode = xmlData.SelectSingleNode("config/extraParams"); XmlNode serviceNode = xmlData.SelectSingleNode("config/serviceParams"); if (serviceNode != null) { data = serviceNode.InnerText; } } string action = eventArgument; BeforeDirectEventArgs e = new BeforeDirectEventArgs(action, data, parametersNode); this.OnAjaxPostBack(e); PageProxy dsp = this.Proxy.Proxy as PageProxy; if (this.AutoDecode && data.IsNotEmpty()) { data = HttpUtility.HtmlDecode(data); } switch(action) { case "update": if (data == null) { throw new InvalidOperationException("No data in request"); } needConfirmation = this.UseIdConfirmation; this.DoSaving(data, parametersNode); if (this.RefreshAfterSaving == RefreshAfterSavingMode.None || dsp != null) { needRetrieve = false; } break; case "refresh": needRetrieve = true; StoreRefreshDataEventArgs refreshArgs = new StoreRefreshDataEventArgs(parametersNode); this.OnRefreshData(refreshArgs); if (dsp != null) { if (refreshArgs.Total > -1) { dsp.Total = refreshArgs.Total; } } break; case "submit": needRetrieve = false; if (data == null) { throw new InvalidOperationException("No data in request"); } StoreSubmitDataEventArgs args =new StoreSubmitDataEventArgs(data, parametersNode); this.OnSubmitData(args); break; } } catch (Exception ex) { success = false; msg = this.IsDebugging ? ex.ToString() : ex.Message; if (this.ResourceManager.RethrowAjaxExceptions) { throw; } } AfterDirectEventArgs eAjaxPostBackResult = new AfterDirectEventArgs(new Response(success, msg)); this.OnAjaxPostBackResult(eAjaxPostBackResult); StoreResponseData response = new StoreResponseData(); if (needRetrieve && eAjaxPostBackResult.Response.Success) { if (this.RequiresDataBinding) { this.DataBind(); } response.Data = this.GetAjaxDataJson(); PageProxy dsp = this.Proxy.Proxy as PageProxy; response.Total = dsp != null ? dsp.Total : 0; } if (needConfirmation) { response.Confirmation = changingEventArgs.ConfirmationList; } eAjaxPostBackResult.Response.Data = response.ToString(); ResourceManager.ServiceResponse = eAjaxPostBackResult.Response; }
protected void BtnSaveToExcel(object sender, EventArgs e) { string json = ExcelGridData.Value.ToString(); json = json.Replace("retailid", "单据号"); json = json.Replace("setdate", "销售日期"); json = json.Replace("znums", "数量"); json = json.Replace("zxsums", "现价金额"); json = json.Replace("zssums", "结算金额"); json = json.Replace("FCalcSums", "实销金额"); json = json.Replace("yhsum", "优惠金额"); json = json.Replace("s_sums", "实收金额"); json = json.Replace("vipcode", "VIP卡号"); json = json.Replace("s_name", "营业员"); json = json.Replace("x_name", "班组"); json = json.Replace("crdate", "制单日期"); json = json.Replace("cr_name", "制单人"); json = json.Replace("comment", "备注"); StoreSubmitDataEventArgs eSubmit = new StoreSubmitDataEventArgs(json, null); XmlNode xml = eSubmit.Xml; this.Response.Clear(); this.Response.ContentType = "application/vnd.ms-excel"; this.Response.AddHeader("Content-Disposition", "attachment; filename=Retail" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"); XslCompiledTransform xtExcel = new XslCompiledTransform(); xtExcel.Load(Server.MapPath("ExcelTemp/Excel.xsl")); xtExcel.Transform(xml, null, this.Response.OutputStream); this.Response.End(); }
protected virtual void OnSubmitData(StoreSubmitDataEventArgs e) { AjaxSubmitDataEventHandler handler = (AjaxSubmitDataEventHandler)Events[EventSubmitData]; if (handler != null) { handler(this, e); } }
/// <summary> /// SubmitData /// </summary> protected void CalendarEventStore_SubmitData(object sender, StoreSubmitDataEventArgs e) { //var events = e.Object<Event>(); }