using System; using System.Collections.Generic; using System.IO; using System.Data; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Xml; using SuperMap.RealEstate.Web.UI; using SuperMap.RealEstate.Web.UI.WebControls; using SuperMap.RealEstate.Utility; using Business = SuperMap.RealEstate.HighWay.Running.Business; namespace SuperMap.RealEstate.HighWay.Compents.ExpenseBill { public partial class PrintExpenseBill : SuperMap.RealEstate.Web.UI.UserControl { Business.HIGHWAYPROINST _HighWayProInst = null; #region ViewState string XslPath = "/HighWay/Compents/ExpenseBill/ExpenseBill.xslt"; private string ReportXmlPath { get { return ViewState["ExpenseBillXmlPath"] == null ? "" : (string)ViewState["ExpenseBillXmlPath"]; } set { ViewState["ExpenseBillXmlPath"] = value; } } private string ReportXslPath { get { return ViewState["ExpenseBillXslPath"] == null ? XslPath : (string)ViewState["ExpenseBillXslPath"]; } } #endregion protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) { LoadData(); return; } Business.EXPENSEBILL _EXPENSEBILL = new Business.EXPENSEBILL(_HighWayProInst); _EXPENSEBILL.AddSearchParameter("HIGHWAYPROINST_ID", _HighWayProInst.HIGHWAYPROINST_ID); if (_EXPENSEBILL.Search()) { EXPENSEBILL_ID.Text = _EXPENSEBILL.KeyID; ShowImgList(); } else { Business.FUNDAPPLY _FUNDAPPLY = new Business.FUNDAPPLY(_HighWayProInst); _FUNDAPPLY.AddSearchParameter("HIGHWAYPROINST_ID", _HighWayProInst.HIGHWAYPROINST_ID); if (_FUNDAPPLY.Search()) { FUNDAPPLY_ID.Text = _FUNDAPPLY.KeyID; ShowImgList(); } } } #region 初始加载 public override bool LoadData() { string _FileName = "ExpenseBill_" + (string.IsNullOrEmpty(_HighWayProInst.Accept_Code) ? Guid.NewGuid().ToString() : _HighWayProInst.Accept_Code) + ".xml"; CreateDocumentInit(_FileName); return true; } #endregion #region CreateDocumentInit 创建文档 private void CreateDocumentInit(String File_Name) { ReportXmlPath = File_Name; if (!Directory.Exists(EnvironmentHelper.Temp + "HighWay\\")) Directory.CreateDirectory(EnvironmentHelper.Temp + "HighWay\\"); if (File.Exists(EnvironmentHelper.Temp + "HighWay\\" + File_Name)) File.Delete(EnvironmentHelper.Temp + "HighWay\\" + File_Name); using (FileStream _FileStream = new FileStream(EnvironmentHelper.Temp + "HighWay\\" + File_Name, FileMode.OpenOrCreate)) { using (StreamWriter _StreamWriter = new StreamWriter(_FileStream)) { _StreamWriter.Write(CreateXmlBill()); _StreamWriter.Close(); InitXml(); } } } #endregion #region 组件加载扩展 LoadDataEx /// /// 组件加载扩展 /// /// 脚本 /// public override bool LoadDataEx(ClientSetEventArgs ClientSet) { string _FileName = "ExpenseBill_" + (string.IsNullOrEmpty(_HighWayProInst.Accept_Code) ? Guid.NewGuid().ToString() : _HighWayProInst.Accept_Code) + ".xml"; //报表解析 CreateDocumentInit(_FileName); string _Document = Running.Business.HIGHWAYPROINST.Transform(_FileName, ReportXslPath); //执行前端重置 ClientSet.ExcuteClientScript("$('#" + ApproveBillManagement_Report.ClientID + "').html('" + _Document + "');"); return true; } #endregion #region 创建文档 private string CreateXmlBill() { XmlDocument _XmlDocument = new XmlDocument(); #region 文档头 XmlDeclaration _XmlDeclaration = _XmlDocument.CreateXmlDeclaration("1.0", "utf-8", "yes"); _XmlDocument.AppendChild(_XmlDeclaration); XmlProcessingInstruction _XmlProcessingInstruction = _XmlDocument.CreateProcessingInstruction("xml-stylesheet", " type='text/xsl' href='" + XslPath + "'"); _XmlDocument.AppendChild(_XmlProcessingInstruction); XmlElement _XmlElement = null; _XmlElement = _XmlDocument.CreateElement("SuperMapDoucuments"); _XmlDocument.AppendChild(_XmlElement); #endregion #region 枚举 Dictionary _Dictionary = new Dictionary(); _Dictionary.Add("COMPACT_TYPE", "COMPACT_CHARACTER"); _Dictionary.Add("ISFORMAT", "ISYES"); //_Dictionary.Add("RENDTYPE", "RENDTYPE"); //_Dictionary.Add("RENDSTAND", "RENDSTAND"); ////_Dictionary.Add("PROPOSER_TYPE", "PROPOSER_TYPE"); //_Dictionary.Add("REALTYOWNER_CHARACTER", "REALTYOWNER_CHARACTER"); //_Dictionary.Add("BUILDINGAPPROVE", "BUILDINGAPPROVE"); //_Dictionary.Add("APPRIZE_TYPE", "APPRIZE_TYPE"); //_Dictionary.Add("CERTIFICATE_TYPE", "CERTIFICATE_TYPE"); //_Dictionary.Add("APPROVED_TYPE", "APPROVED_TYPE"); //_Dictionary.Add("REFUNDSOURCE_TYPE", "REFUNDSOURCE_TYPE"); //_Dictionary.Add("REFUND_TYPE", "REFUND_TYPE"); #endregion switch (_HighWayProInst.ProInst.Operation_Type) { case Enums.Operation_Type.ExpenseBill: _XmlElement = _XmlDocument.CreateElement("SuperMap"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); GetProInst(_XmlDocument, _XmlElement, _Dictionary, true); GetApproved(_XmlDocument, _XmlElement, _Dictionary, true); break; default: _XmlElement = _XmlDocument.CreateElement("SuperMap"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); GetProInst(_XmlDocument, _XmlElement, _Dictionary, true); GetApproved(_XmlDocument, _XmlElement, _Dictionary, true); break; } #region 根据业务类型执行文档解析 //根据业务类型执行文档解析 switch (_HighWayProInst.ProInst.Operation_Type.Value) { //合同插件 case Enums.Operation_Type.ExpenseBill: InitExpenseBillInsert(_XmlDocument, _XmlElement, _Dictionary); break; } #endregion return _XmlDocument.InnerXml; } #endregion #region 流程信息 private void GetProInst(XmlDocument _XmlDocument, XmlElement _XmlElement, Dictionary _Dictionary, bool isChildNodes = false) { XmlElement _ChildXmlElement = _XmlDocument.CreateElement("ProInst"); if (isChildNodes) _XmlElement.AppendChild(_ChildXmlElement); else _XmlDocument.DocumentElement.AppendChild(_ChildXmlElement); _HighWayProInst.CreateXmlNode(_HighWayProInst.ProInst, _XmlDocument, _ChildXmlElement, _Dictionary); } #endregion #region 审批意见 private void GetApproved(XmlDocument _XmlDocument, XmlElement _XmlElement, Dictionary _Dictionary, bool isChildNodes = false) { //审批意见 foreach (Business.APPROVED _Approved in _HighWayProInst.ApprovedCollection) { XmlElement _ChildXmlElement = _XmlDocument.CreateElement("ApprovedInfo"); if (isChildNodes) _XmlElement.AppendChild(_ChildXmlElement); else _XmlDocument.DocumentElement.AppendChild(_ChildXmlElement); _HighWayProInst.CreateXmlNode(_Approved, _XmlDocument, _ChildXmlElement, _Dictionary); } } #endregion #region 方法 -> 报销单信息 private void InitExpenseBillInsert(XmlDocument _XmlDocument, XmlElement _XmlElement, Dictionary _Dictionary) { if (_XmlElement == null) throw new Exception("首节点不能为空"); int Current_Num = 1; string SqlString = ""; string _EXPENSEBILL_ID = ""; string _EXPENSEBILL_TYPE = ""; DataTable _DataTable = null; XmlElement _ChildInfoXmlElement = null; #region 绑定流程审批人 if (_HighWayProInst.ProInst.ProDef_Name.StartsWith("资金承付")) { #region 资金承付 foreach (Business.APPROVED _Approved in new Business.APPROVED(_HighWayProInst).FillCollection( "WHERE HIGHWAYPROINST_ID = " + _HighWayProInst.HIGHWAYPROINST_ID)) { switch (_Approved.Approved_Type) { case 1010: _XmlElement = _XmlDocument.CreateElement("APPLY_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; case 1020: _XmlElement = _XmlDocument.CreateElement("DEPARTMENT_HEAD"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; case 1030: _XmlElement = _XmlDocument.CreateElement("FINANCE_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; case 1040: _XmlElement = _XmlDocument.CreateElement("STAGNATE_MANAGER"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; case 1050: _XmlElement = _XmlDocument.CreateElement("SERVERPART_MANAGER"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; case 1060: _XmlElement = _XmlDocument.CreateElement("MASTER"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; } } #endregion } else { WorkFlow.Support.Business.ProDefType _ProDefType = new WorkFlow.Support.Business.ProDefType(Transaction); _ProDefType.ProDefType_ID = _HighWayProInst.ProInst.ProDef.ProDefType_ID; if (_ProDefType.Select()) { if (_ProDefType.ProDefType_Name.Contains("西餐")) { #region 西餐公司 if (_HighWayProInst.ProInst.ProDef.ProDef_Name.Contains("本级")) { _XmlElement = _XmlDocument.CreateElement("Bill_Type"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = "2"; } else { _XmlElement = _XmlDocument.CreateElement("Bill_Type"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = "1"; } #endregion } else if (_ProDefType.ProDefType_Name.Contains("中餐")) { #region 中餐公司 if (_HighWayProInst.ProInst.ProDef.ProDef_Name.Contains("本级")) { _XmlElement = _XmlDocument.CreateElement("Bill_Type"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = "3"; } else { _XmlElement = _XmlDocument.CreateElement("Bill_Type"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = "4"; } foreach (Business.APPROVED _Approved in new Business.APPROVED(_HighWayProInst).FillCollection( "WHERE APPROVED_TYPE IN (1060) AND HIGHWAYPROINST_ID = " + _HighWayProInst.HIGHWAYPROINST_ID)) { switch (_Approved.Approved_Type) { case 1060: _XmlElement = _XmlDocument.CreateElement("CHAIRMAN"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; } } #endregion } else if (_HighWayProInst.ProInst.ProDef_Name.Contains("浙商文化")) { _XmlElement = _XmlDocument.CreateElement("Bill_Type"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = "5"; } else if (_ProDefType.ProDefType_Name.Contains("火花文化")) { #region 火花文化 _XmlElement = _XmlDocument.CreateElement("Bill_Type"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = "6"; foreach (Business.APPROVED _Approved in new Business.APPROVED(_HighWayProInst).FillCollection( "WHERE HIGHWAYPROINST_ID = " + _HighWayProInst.HIGHWAYPROINST_ID)) { switch (_Approved.Approved_Type) { case 1010: _XmlElement = _XmlDocument.CreateElement("APPLY_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; case 1020: _XmlElement = _XmlDocument.CreateElement("DEPARTMENT_HEAD"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; case 1030: _XmlElement = _XmlDocument.CreateElement("ACCOUNTANT_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; case 1040: _XmlElement = _XmlDocument.CreateElement("FINANCE_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; case 1050: _XmlElement = _XmlDocument.CreateElement("MANAGER_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; case 1060: _XmlElement = _XmlDocument.CreateElement("CHAIRMAN_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; } } #endregion } else if (_ProDefType.ProDefType_Name.Contains("富春驿商")) { #region 富春驿商 _XmlElement = _XmlDocument.CreateElement("Bill_Type"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = "7"; foreach (Business.APPROVED _Approved in new Business.APPROVED(_HighWayProInst).FillCollection( "WHERE HIGHWAYPROINST_ID = " + _HighWayProInst.HIGHWAYPROINST_ID)) { switch (_Approved.Approved_Type) { case 1010: _XmlElement = _XmlDocument.CreateElement("APPLY_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; case 1020: _XmlElement = _XmlDocument.CreateElement("DEPARTMENT_HEAD"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; #region 大额付款审批意见 _XmlElement = _XmlDocument.CreateElement("APPROVED_INFO_6"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Info; _XmlElement = _XmlDocument.CreateElement("APPROVED_STAFF_6"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; _XmlElement = _XmlDocument.CreateElement("APPROVED_DATE_6"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Date.Value.ToString(); #endregion break; case 1030: _XmlElement = _XmlDocument.CreateElement("ACCOUNTANT_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; #region 大额付款审批意见 _XmlElement = _XmlDocument.CreateElement("APPROVED_INFO_0"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Info; _XmlElement = _XmlDocument.CreateElement("APPROVED_STAFF_0"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; _XmlElement = _XmlDocument.CreateElement("APPROVED_DATE_0"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Date.Value.ToString(); #endregion break; case 1035: _XmlElement = _XmlDocument.CreateElement("GCJYB_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; #region 大额付款审批意见 _XmlElement = _XmlDocument.CreateElement("APPROVED_INFO_1"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Info; _XmlElement = _XmlDocument.CreateElement("APPROVED_STAFF_1"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; _XmlElement = _XmlDocument.CreateElement("APPROVED_DATE_1"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Date.Value.ToString(); #endregion break; case 1040: _XmlElement = _XmlDocument.CreateElement("FINANCE_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; #region 大额付款审批意见 _XmlElement = _XmlDocument.CreateElement("APPROVED_INFO_2"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Info; _XmlElement = _XmlDocument.CreateElement("APPROVED_STAFF_2"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; _XmlElement = _XmlDocument.CreateElement("APPROVED_DATE_2"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Date.Value.ToString(); #endregion break; case 1045: _XmlElement = _XmlDocument.CreateElement("GCB_MANAGER_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; #region 大额付款审批意见 _XmlElement = _XmlDocument.CreateElement("APPROVED_INFO_3"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Info; _XmlElement = _XmlDocument.CreateElement("APPROVED_STAFF_3"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; _XmlElement = _XmlDocument.CreateElement("APPROVED_DATE_3"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Date.Value.ToString(); #endregion break; case 1050: _XmlElement = _XmlDocument.CreateElement("MANAGER_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; #region 大额付款审批意见 _XmlElement = _XmlDocument.CreateElement("APPROVED_INFO_4"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Info; _XmlElement = _XmlDocument.CreateElement("APPROVED_STAFF_4"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; _XmlElement = _XmlDocument.CreateElement("APPROVED_DATE_4"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Date.Value.ToString(); #endregion break; case 1055: _XmlElement = _XmlDocument.CreateElement("FINANCE_CONTROLLER"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; #region 大额付款审批意见 _XmlElement = _XmlDocument.CreateElement("APPROVED_INFO_7"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Info; _XmlElement = _XmlDocument.CreateElement("APPROVED_STAFF_7"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; _XmlElement = _XmlDocument.CreateElement("APPROVED_DATE_7"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Date.Value.ToString(); #endregion break; case 1060: _XmlElement = _XmlDocument.CreateElement("CHAIRMAN_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; #region 大额付款审批意见 _XmlElement = _XmlDocument.CreateElement("APPROVED_INFO_5"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Info; _XmlElement = _XmlDocument.CreateElement("APPROVED_STAFF_5"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; _XmlElement = _XmlDocument.CreateElement("APPROVED_DATE_5"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Date.Value.ToString(); #endregion break; } } #endregion } else if (_ProDefType.ProDefType_Name.Contains("广告")) { #region 广告公司 _XmlElement = _XmlDocument.CreateElement("Bill_Type"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = "8"; foreach (Business.APPROVED _Approved in new Business.APPROVED(_HighWayProInst).FillCollection( "WHERE HIGHWAYPROINST_ID = " + _HighWayProInst.HIGHWAYPROINST_ID)) { switch (_Approved.Approved_Type) { case 1010: _XmlElement = _XmlDocument.CreateElement("APPLY_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; case 1020: _XmlElement = _XmlDocument.CreateElement("DEPARTMENT_HEAD"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; case 1030: _XmlElement = _XmlDocument.CreateElement("CASHIER_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; case 1035: _XmlElement = _XmlDocument.CreateElement("FINANCE_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; case 1040: _XmlElement = _XmlDocument.CreateElement("LEADER_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; case 1045: _XmlElement = _XmlDocument.CreateElement("MANAGER_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; case 1050: _XmlElement = _XmlDocument.CreateElement("CHAIRMAN_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; break; } } #endregion } else if (_HighWayProInst.ProInst.ProDef.ProDef_Name.Contains("服务区")) { //区域分管领导意见 Business.APPROVED _Approved = new Business.APPROVED(Transaction); _Approved.AddSearchParameter("HIGHWAYPROINST_ID", _HighWayProInst.HIGHWAYPROINST_ID); _Approved.AddSearchParameter("APPROVED_TYPE", 1045); if (_Approved.Search()) { _XmlElement = _XmlDocument.CreateElement("LEADER_MANAGER"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; } } else if (_HighWayProInst.ProInst.ProDef.ProDef_Name.Contains("区域")) { //区域分管领导意见 Business.APPROVED _Approved = new Business.APPROVED(Transaction); _Approved.AddSearchParameter("HIGHWAYPROINST_ID", _HighWayProInst.HIGHWAYPROINST_ID); _Approved.AddSearchParameter("APPROVED_TYPE", 1035); if (_Approved.Search()) { _XmlElement = _XmlDocument.CreateElement("LEADER_MANAGER"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _Approved.Approved_Staff; } } } } #endregion _XmlElement = _XmlDocument.CreateElement("PRINT_STAFF"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = Page.PassportInfo.Name; SqlString = "SELECT * FROM HIGHWAY_RUNNING.V_EXPENSEBILL WHERE HIGHWAYPROINST_ID = " + _HighWayProInst.HIGHWAYPROINST_ID; _DataTable = _HighWayProInst.ExecuteDataTable(SqlString); if (_DataTable.Rows.Count > 0 && !string.IsNullOrWhiteSpace(_DataTable.Rows[0]["EXPENSEBILL_ID"].ToString())) { string _EXPENSEBILLTYPE1 = string.Empty; string _EXPENSEBILLTYPE2 = string.Empty; string _EXPENSEBILLTYPE3 = string.Empty; string _EXPENSEBILLVALUE1 = string.Empty; string _EXPENSEBILLVALUE2 = string.Empty; string _EXPENSEBILLVALUE3 = string.Empty; string _EXPENSEBILLTYPE = ""; if (_HighWayProInst.ProInst.ProDef_Name.Contains("富春驿商") && !string.IsNullOrWhiteSpace(_DataTable.Rows[0]["EXPENSEBILL_DESC"].ToString())) { string[] _str = _DataTable.Rows[0]["EXPENSEBILL_DESC"].ToString().Split(','); for (int i = 0; i < _str.Length; i++) { string[] _val = _str[i].Split(':'); if (_val.Length > 1) { switch (_val[0]) { case "1000": _EXPENSEBILLTYPE = "公务卡"; break; case "2000": _EXPENSEBILLTYPE = "工资卡"; break; case "3000": _EXPENSEBILLTYPE = "现金"; break; case "4000": _EXPENSEBILLTYPE = "公对公转账"; break; } if (string.IsNullOrEmpty(_EXPENSEBILLTYPE1)) { _EXPENSEBILLTYPE1 = _EXPENSEBILLTYPE; _EXPENSEBILLVALUE1 = _val[1]; } else if (string.IsNullOrEmpty(_EXPENSEBILLTYPE2)) { _EXPENSEBILLTYPE2 = _EXPENSEBILLTYPE; _EXPENSEBILLVALUE2 = _val[1]; } else if (string.IsNullOrEmpty(_EXPENSEBILLTYPE3)) { _EXPENSEBILLTYPE3 = _EXPENSEBILLTYPE; _EXPENSEBILLVALUE3 = _val[1]; } } } _XmlElement = _XmlDocument.CreateElement("EXPENSEBILL_TYPE1"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _EXPENSEBILLTYPE1; _XmlElement = _XmlDocument.CreateElement("EXPENSEBILL_TYPE2"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _EXPENSEBILLTYPE2; _XmlElement = _XmlDocument.CreateElement("EXPENSEBILL_TYPE3"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _EXPENSEBILLTYPE3; _XmlElement = _XmlDocument.CreateElement("EXPENSEBILL_TYPEVALUE1"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _EXPENSEBILLVALUE1; _XmlElement = _XmlDocument.CreateElement("EXPENSEBILL_TYPEVALUE2"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _EXPENSEBILLVALUE2; _XmlElement = _XmlDocument.CreateElement("EXPENSEBILL_TYPEVALUE3"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = _EXPENSEBILLVALUE3; } _EXPENSEBILL_ID = _DataTable.Rows[0]["EXPENSEBILL_ID"].ToString(); _EXPENSEBILL_TYPE = _DataTable.Rows[0]["EXPENSEBILL_TYPE"].ToString(); //经办人不显示部门信息,要去除【】里的内容 if (!string.IsNullOrWhiteSpace(_DataTable.Rows[0]["APPLY_STAFF"].ToString())) { _DataTable.Rows[0]["APPLY_STAFF"] = _DataTable.Rows[0]["APPLY_STAFF"].ToString().Split('【')[0]; } if (_EXPENSEBILL_TYPE == "4000") { SqlString = "SELECT * FROM HIGHWAY_RUNNING.T_APPROVED WHERE HIGHWAYPROINST_ID = " + _HighWayProInst.HIGHWAYPROINST_ID + " ORDER BY APPROVED_TYPE,APPROVED_DATE"; DataTable ApproveInfo = _HighWayProInst.ExecuteDataTable(SqlString); foreach (DataRow _DataRow in ApproveInfo.Rows) { _XmlElement = _XmlDocument.CreateElement("ApprovedInfo"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); foreach (DataColumn _DataColumn in ApproveInfo.Columns) { _ChildInfoXmlElement = _XmlDocument.CreateElement(_DataColumn.ColumnName); _XmlElement.AppendChild(_ChildInfoXmlElement); try { _ChildInfoXmlElement.InnerText = _DataRow[_DataColumn.ColumnName].ToString(); } catch { } } } } else if (_HighWayProInst.ProInst.ProInst_FinishDate >= DateTime.Parse("2018/3/20")) { _XmlElement = _XmlDocument.CreateElement("ProcessType"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); _XmlElement.InnerText = "1"; } foreach (DataColumn _DataColumn in _DataTable.Columns) { _XmlElement = _XmlDocument.CreateElement(_DataColumn.ColumnName); _XmlDocument.DocumentElement.AppendChild(_XmlElement); try { if ((_EXPENSEBILL_TYPE == "1000" && _DataColumn.ColumnName == "PREPAY_DATE") || _DataColumn.ColumnName == "EXPENSE_DATE") { _XmlElement.InnerText = DateTime.Parse(_DataTable.Rows[0][ _DataColumn.ColumnName].ToString()).ToLongDateString(); } else if (_DataColumn.ColumnName == "PAYMENT_DETAIL") { _XmlElement.InnerText = Storage.Business.CommonHelper.ConvertToHTML( _DataTable.Rows[0][_DataColumn.ColumnName].ToString()); } else if (_DataColumn.ColumnName == "PRINT_COUNT" && _DataTable.Rows[0]["PRINT_COUNT"].ToString() == "") { _XmlElement.InnerText = "0"; } else { _XmlElement.InnerText = _DataTable.Rows[0][_DataColumn.ColumnName].ToString(); } } catch { } } SqlString = "SELECT * FROM HIGHWAY_RUNNING.T_EXPENSEDETAIL WHERE EXPENSEBILL_ID = " + _EXPENSEBILL_ID + " ORDER BY EXPENSEDETAIL_ID"; _DataTable = _HighWayProInst.ExecuteDataTable(SqlString); foreach (DataRow _DataRowShopInfo in _DataTable.Rows) { _XmlElement = _XmlDocument.CreateElement("EXPENSEDETAILCollection"); _XmlDocument.DocumentElement.AppendChild(_XmlElement); //序号 _ChildInfoXmlElement = _XmlDocument.CreateElement("Current_Num"); _XmlElement.AppendChild(_ChildInfoXmlElement); _ChildInfoXmlElement.InnerText = Current_Num++.ToString(); //门店收营信息 foreach (DataColumn _DataColumn in _DataTable.Columns) { _ChildInfoXmlElement = _XmlDocument.CreateElement(_DataColumn.ColumnName); _XmlElement.AppendChild(_ChildInfoXmlElement); try { if (_EXPENSEBILL_TYPE == "1000" && _DataColumn.ColumnName == "START_DATE") { _ChildInfoXmlElement.InnerText = DateTime.Parse(_DataRowShopInfo[_DataColumn.ColumnName].ToString()).Hour > 0 ? DateTime.Parse(_DataRowShopInfo[_DataColumn.ColumnName].ToString()).ToString("MM月dd日 HH时") : DateTime.Parse(_DataRowShopInfo[_DataColumn.ColumnName].ToString()).ToString("MM月dd日"); } else if (_EXPENSEBILL_TYPE == "1000" && _DataColumn.ColumnName == "ARRIVE_DATE") { _ChildInfoXmlElement.InnerText = DateTime.Parse(_DataRowShopInfo[_DataColumn.ColumnName].ToString()).Hour > 0 ? DateTime.Parse(_DataRowShopInfo[_DataColumn.ColumnName].ToString()).ToString("MM月dd日 HH时") : DateTime.Parse(_DataRowShopInfo[_DataColumn.ColumnName].ToString()).ToString("MM月dd日"); } else if (_EXPENSEBILL_TYPE == "3000" && _DataColumn.ColumnName == "EXPENSEDETAIL_DATE") { _ChildInfoXmlElement.InnerText = DateTime.Parse(_DataTable.Rows[0][ _DataColumn.ColumnName].ToString()).ToLongDateString(); } else { _ChildInfoXmlElement.InnerText = _DataRowShopInfo[_DataColumn.ColumnName].ToString(); } } catch { } } } SqlString = @"SELECT SUM(BILL_COUNT) AS TOTALBILL_COUNT,SUM(BILL_AMOUNT) AS TOTALBILL_AMOUNT, SUM(SUBSIDY_POPULATION) AS TOTALSUBSIDY_POPULATION,SUM(SUBSIDY_DAY) AS TOTALSUBSIDY_DAY, SUM(SUBSIDY_AMOUNT) AS TOTALSUBSIDY_AMOUNT,SUM(OTHERBILL_COUNT) AS TOTALOTHERBILL_COUNT, SUM(OTHERBILL_AMOUNT) AS TOTALOTHERBILL_AMOUNT FROM HIGHWAY_RUNNING.T_EXPENSEDETAIL WHERE EXPENSEBILL_ID = " + _EXPENSEBILL_ID; _DataTable = _HighWayProInst.ExecuteDataTable(SqlString); foreach (DataRow _DataRowShopInfo in _DataTable.Rows) { foreach (DataColumn _DataColumn in _DataTable.Columns) { _XmlElement = _XmlDocument.CreateElement(_DataColumn.ColumnName); _XmlDocument.DocumentElement.AppendChild(_XmlElement); try { _XmlElement.InnerText = _DataTable.Rows[0][_DataColumn.ColumnName].ToString(); } catch { } } } } SqlString = "SELECT * FROM HIGHWAY_RUNNING.T_FUNDAPPLY WHERE HIGHWAYPROINST_ID = " + _HighWayProInst.HIGHWAYPROINST_ID; _DataTable = _HighWayProInst.ExecuteDataTable(SqlString); if (_DataTable.Rows.Count > 0) { #region 获取业务详情节点 if (_DataTable.Rows.Count > 0) { foreach (DataColumn _DataColumn in _DataTable.Columns) { _XmlElement = _XmlDocument.CreateElement(_DataColumn.ColumnName); _XmlDocument.DocumentElement.AppendChild(_XmlElement); try { switch (_DataColumn.ColumnName) { case "OBSOLETE_DATE": case "EXPENDBILL_DATE": case "BUY_DATE": case "OPERATE_DATE": case "START_DATE": case "ARRIVE_DATE": case "EXPENSEDETAIL_DATE": case "PAYEE_DATE": case "FUNDAPPLY_CREATEDATE": case "APPLY_DATE": case "VISITOR_DATE": _XmlElement.InnerText = DateTime.Parse(_DataTable.Rows[0][_DataColumn.ColumnName].ToString()).ToLongDateString(); break; default: _XmlElement.InnerText = _DataTable.Rows[0][_DataColumn.ColumnName].ToString(); break; } } catch { _XmlElement.InnerText = _DataTable.Rows[0][_DataColumn.ColumnName].ToString(); } } } #endregion } } #endregion protected override void OnInit(EventArgs e) { base.OnInit(e); Common.PageHelper.CreateHeaderStyle(Page); _HighWayProInst = Business.HIGHWAYPROINST.CreateInstance(Page); this.ButtonVisible = false; InitXml(); } private void InitXml() { if (!string.IsNullOrEmpty(ReportXmlPath)) { Xml1.TransformSource = ReportXslPath; Xml1.DocumentSource = @"/Temporary/Temp/HighWay/" + ReportXmlPath; } } protected void CallBackButton_Print_CallBackClick(object sender, ClientSetEventArgs e) { Business.EXPENSEBILL _EXPENSEBILL = new Business.EXPENSEBILL(_HighWayProInst); _EXPENSEBILL.AddSearchParameter("HIGHWAYPROINST_ID", _HighWayProInst.HIGHWAYPROINST_ID); if (_EXPENSEBILL.Search()) { _EXPENSEBILL.PRINT_COUNT = _EXPENSEBILL.PRINT_COUNT == null ? 1 : (_EXPENSEBILL.PRINT_COUNT + 1); _EXPENSEBILL.Update(); InitXml(); } e.ClientScript = Page.GetOpenPopDialogClientScript("/HighWay/Common/ReportDefault.aspx?ReportXmlPath=" + ReportXmlPath + "&ReportXslPath=/PrintReport/HighWay/ExpenseBill/ExpenseBill.xslt&ProInst_ID=" + _HighWayProInst.ProInst.ProInst_ID_Encrypt.ToString(), "ReportDefault", 1000, 600, true, false, true); } public override bool Save(bool AutoBindData = true) { InitXml(); return true; } public override bool SaveEx(ClientSetEventArgs ClientSet) { return true; } protected void CallBackButton_Reflash_CallBackClick(object sender, ClientSetEventArgs e) { LoadDataEx(e); } protected void Button_Reflash_Click(object sender, EventArgs e) { LoadData(); } #region 显示图片列表 public void ShowImgList() { if (_HighWayProInst != null) { DataTable dt = new DataTable(); if (!string.IsNullOrWhiteSpace(EXPENSEBILL_ID.Text)) { dt = new Storage.Business.IMAGE(this.Transaction).FillDataTable("WHERE TABLE_ID = " + EXPENSEBILL_ID.Text + " AND TABLE_NAME = 'T_EXPENSEBILL' AND ROWNUM <= 1"); } else if (!string.IsNullOrWhiteSpace(FUNDAPPLY_ID.Text)) { dt = new Storage.Business.IMAGE(this.Transaction).FillDataTable("WHERE TABLE_ID = " + FUNDAPPLY_ID.Text + " AND TABLE_NAME = 'T_FUNDAPPLY' AND ROWNUM <= 1"); } ratTable.DataSource = dt; ratTable.DataBind(); } } protected void ratTable_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { if (!string.IsNullOrWhiteSpace(EXPENSEBILL_ID.Text)) { ((ImageButton)e.Item.FindControl("ImgShow")).OnClientClick = Page.GetOpenPopDialogClientScript( "/HighWay/Modules/003_BaoXiao/ExpenseBill/Bill/IMAGEPage.aspx?EXPENSEBILL_ID=" + EXPENSEBILL_ID.Text.ToEncrypt(), "IMAGEPage", 850, 600, true, false, true); } else if (!string.IsNullOrWhiteSpace(FUNDAPPLY_ID.Text)) { ((ImageButton)e.Item.FindControl("ImgShow")).OnClientClick = Page.GetOpenPopDialogClientScript( "/HighWay/Modules/003_BaoXiao/ExpenseBill/Bill/IMAGEPage.aspx?FUNDAPPLY_ID=" + FUNDAPPLY_ID.Text.ToEncrypt(), "IMAGEPage", 850, 600, true, false, true); } } } #endregion } }