using System; using System.Collections; using System.Configuration; using System.Data; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using DSWeb.Models; using DSWeb.EntityDA; using System.Text; using DSWeb.Authority; namespace DSWeb.SeaiFee { public partial class SeaiFeeGridSource : System.Web.UI.Page { private int iType;//费用类型 应收类型值1 应付类型值 2 private string strReadXmlType = "";//读取xml串方式 "init"-初始化获取所有费用信息;"add"-添加新的费用信息;"delete"-删除费用信息;"exist"查看是否有与委托相关费用 private int iShowCount;//每页显示数据量 private string strBSNO;//委托编号 private string strUserID;//用户GID private string strCompanyID;//公司GID private string strShowName;//用户显示名 private string strDeptName;//部门名称 protected void Page_Load(object sender, EventArgs e) { #region 判断参数是否正确 if (Session["USERID"] != null) { strUserID = Session["USERID"].ToString(); } if (Session["SHOWNAME"] != null) { strShowName = Session["SHOWNAME"].ToString(); } if (Session["COMPANYID"] != null) { strCompanyID = Session["COMPANYID"].ToString(); } if (Session["DEPTNAME"] != null) { strDeptName = Session["DEPTNAME"].ToString(); } if (Request.QueryString["type"] != null) { iType = int.Parse(Request.QueryString["type"].ToString().Trim()); } if (Request.QueryString["read"] != null) { strReadXmlType = Request.QueryString["read"].ToString().Trim(); } if (Request.QueryString["showcount"] != null) { iShowCount = int.Parse(Request.QueryString["showcount"].ToString()); } if (Request.QueryString["bsno"] != null) { strBSNO = Request.QueryString["bsno"].ToString(); } #endregion if (iType > 0 && !strReadXmlType.Equals("")) { string strOutputXml = ""; //获取ch_fee费用信息,返回xml格式数据 strOutputXml = GetCells(iShowCount, iType, strReadXmlType); //输出XML字符串 Response.ContentType = "text/xml"; strOutputXml.Replace("&", "&"); Response.Write(strOutputXml); } else { //访问参数不正确 Response.ContentType = "text/xml"; Response.Write("-2"); } } #region 获取ch_fee费用信息,返回xml格式数据 /// /// 获取ch_fee费用信息 /// /// 返回xml格式数据 private string GetCells(int iShowCount, int Type, string strReadXmlType) { FeeEntity feeEntity = new FeeEntity(); FeeDA feeDA = new FeeDA(); FeeEntity existFeeEntity = new FeeEntity(); existFeeEntity = feeDA.GetFeeByBSNOAndType(strBSNO, Type); //通过委托编号BSNO与费用类型(1应收2应付)获取费用信息,返回FeeEntity if (existFeeEntity != null && !strReadXmlType.Equals("exist")) { //获取所有费用信息,用做Grid显示 DataTable feeTable = new DataTable(); string strInitSql = ""; strInitSql = " SELECT {0} A.GID,A.FEESTATUS, A.FEENAME, A.CUSTOMERNAME, A.UNIT, A.UNITPRICE, A.QUANTITY,A.COMMISSIONRATE,A.AMOUNT, A.CURRENCY, " + " A.EXCHANGERATE,A.FEEFRT,A.REMARK,A.ISADVANCEDPAY{4} FROM ch_fee as A LEFT JOIN [user] as B ON A.ENTEROPERATOR = B.GID WHERE 1> 0 {1} {2} {3}"; string strSql = ""; if (iType == 1) { string strAuthorityCondition = ""; UserAuthorityManage userAuthorityManage = new UserAuthorityManage(strUserID, "modRecvFeeManagement"); if (userAuthorityManage.VisibleType != AuthorityType.NULL) { strAuthorityCondition = userAuthorityManage.GetVisibleRangeSql(userAuthorityManage.VisibleType, ModuleType.SEAIRECVFEE, strShowName, strCompanyID, strDeptName, strUserID); } if (iShowCount > 0) { //strSql = string.Format(strInitSql, "top " + iShowCount, " AND FEETYPE like '%收%' ", " ORDER BY ENTERDATE DESC "); strSql = string.Format(strInitSql, "", " AND A.FEETYPE = 1 ", "AND A.BSNO = '" + strBSNO + "' " + strAuthorityCondition, " ORDER BY A.ENTERDATE ASC ", ",ISNULL(A.SETTLEMENT,0),ISNULL(A.INVOICE,0),ISNULL(A.INVOICENUM,''),B.SHOWNAME,A.ENTERDATE,'0' AS TID "); } else { strSql = string.Format(strInitSql, "", " AND A.FEETYPE = 1 ", "AND A.BSNO = '" + strBSNO + "' " + strAuthorityCondition, " ORDER BY A.ENTERDATE ASC ", ",ISNULL(SETTLEMENT,0),ISNULL(A.INVOICE,0),ISNULL(A.INVOICENUM,''),B.SHOWNAME,A.ENTERDATE,'0' AS TID "); } } else { string strAuthorityCondition = ""; //UserAuthorityManage userAuthorityManage = new UserAuthorityManage(strUserID, "modPayFeeManagement"); UserAuthorityManage userSeaiPayAuthorityManage = new UserAuthorityManage(strUserID, "modSeaiPayFeeManagement"); if (userSeaiPayAuthorityManage.VisibleType != AuthorityType.NULL) { strAuthorityCondition = userSeaiPayAuthorityManage.GetVisibleRangeSql(userSeaiPayAuthorityManage.VisibleType, ModuleType.SEAIPAYFEE, strShowName, strCompanyID, strDeptName, strUserID); } if (iShowCount > 0) { //strSql = string.Format(strInitSql, "top " + iShowCount, " AND FEETYPE like '%付%' ", " ORDER BY ENTERDATE DESC "); strSql = string.Format(strInitSql, "", " AND A.FEETYPE = 2 ", "AND A.BSNO = '" + strBSNO + "' " + strAuthorityCondition, " ORDER BY A.ENTERDATE ASC ", ",ISNULL(A.SETTLEMENT,0),ISNULL(A.ORDERAMOUNT,0),ISNULL(A.CHEQUENUM,''),B.SHOWNAME,A.ENTERDATE,'0' AS TID "); } else { strSql = string.Format(strInitSql, "", " AND A.FEETYPE = 2 ", "AND A.BSNO = '" + strBSNO + "' " + strAuthorityCondition, " ORDER BY A.ENTERDATE ASC ", ",ISNULL(A.SETTLEMENT,0),ISNULL(A.ORDERAMOUNT,0),ISNULL(A.CHEQUENUM,''),B.SHOWNAME,A.ENTERDATE,'0' AS TID "); } } feeTable = getStatusNameTable(feeDA.GetExcuteSql(strSql).Tables[0]); //编排字符串 xml串 StringBuilder dataBuilder = new StringBuilder(); dataBuilder.Append(""); dataBuilder.Append(""); int iCount = feeTable.Rows.Count; for (int i = 0; i < iCount; i++) { int jCount = feeTable.Columns.Count; dataBuilder.Append(""); dataBuilder.Append("0"); for (int j = 1; j < jCount; j++) { switch (j) { case 2://FEENAME dataBuilder.Append(GetFeeCodeCells(feeTable.Rows[i][j].ToString().Trim())); break; case 3://CUSTOMERNAME dataBuilder.Append(GetCRMClientCells(feeTable.Rows[i][j].ToString().Trim())); break; case 4: dataBuilder.Append(GetUnitCells(feeTable.Rows[i][j].ToString().Trim())); break; case 9: dataBuilder.Append(GetCurrencyCells(feeTable.Rows[i][j].ToString().Trim())); break; case 10: dataBuilder.Append("" + feeTable.Rows[i][j].ToString() + ""); break; case 11: dataBuilder.Append(GetFRTCells(feeTable.Rows[i][j].ToString())); break; case 13: string strIsAdvancedPay = feeTable.Rows[i][j].ToString().Trim().ToLower(); if (strIsAdvancedPay.Equals("true")) { dataBuilder.Append("1"); } else { dataBuilder.Append("0"); } break; default: string ls = feeTable.Rows[i][j].ToString(); ls = ls.Replace("\r\n", " "); ls = ls.Replace("\n", " "); // dataBuilder.Append("" + ls + ""); break; } } dataBuilder.Append(""); } dataBuilder.Append(""); return dataBuilder.ToString(); } else if (existFeeEntity != null && strReadXmlType.Equals("exist")) { return "1";//存在费用 } else if (existFeeEntity == null && strReadXmlType.Equals("add")) { StringBuilder dataBuilder = new StringBuilder(); dataBuilder.Append(""); dataBuilder.Append(""); dataBuilder.Append(""); dataBuilder.Append("录入状态"); dataBuilder.Append(GetFeeCodeCells("")); dataBuilder.Append(GetCRMClientCells("")); dataBuilder.Append(GetUnitCells("")); dataBuilder.Append("0"); dataBuilder.Append("0"); dataBuilder.Append("0"); dataBuilder.Append("0"); dataBuilder.Append(GetCurrencyCells("RMB")); dataBuilder.Append("0"); dataBuilder.Append(GetFRTCells("PP")); dataBuilder.Append(""); dataBuilder.Append("0"); dataBuilder.Append(""); dataBuilder.Append(""); return dataBuilder.ToString(); } else { return "-3";//没有相关的费用 } } #endregion #region 获取CRM系统客户信息下拉列表 /// /// 获取CRM系统客户信息下拉列表 /// /// 当前列表客户信息值 /// public string GetCRMClientCells(string strClientValue) { CRMClientDA crmClientDA = new CRMClientDA(); //DataTable clientTable = crmClientDA.GetCRMClientList().Tables[0]; StringBuilder clientBuilder = new StringBuilder(); clientBuilder.Append("" + strClientValue); //for (int i = 0; i < clientTable.Rows.Count; i++) //{ // if (!clientTable.Rows[i]["SHORTNAME"].ToString().Trim().Equals("")) // { // clientBuilder.Append(""); // } //} clientBuilder.Append(""); return clientBuilder.ToString(); } #endregion #region 获取币别信息下拉列表 /// /// 获取币别信息下拉列表 /// /// public string GetCurrencyCells(string strCurrencyValue) { CurrencyDA currencyDA = new CurrencyDA(); //DataTable currencyTable = currencyDA.GetCurrencyList().Tables[0]; StringBuilder currencyBuilder = new StringBuilder(); currencyBuilder.Append("" + strCurrencyValue); //for (int i = 0; i < currencyTable.Rows.Count; i++) //{ // if (!currencyTable.Rows[i]["DESCRIPTION"].ToString().Trim().Equals("")) // { // currencyBuilder.Append(""); // } //} currencyBuilder.Append(""); return currencyBuilder.ToString(); } #endregion #region 获取费用代码信息下拉列表 /// /// 获取费用代码信息下拉列表 /// /// /// public string GetFeeCodeCells(string strFeeCodeValue) { FeeCodeDA feeCodeDA = new FeeCodeDA(); //DataTable feeCodeTable = feeCodeDA.GetFeeCodeList().Tables[0]; StringBuilder feeCodeBuilder = new StringBuilder(); feeCodeBuilder.Append("" + strFeeCodeValue); //for (int i = 0; i < feeCodeTable.Rows.Count; i++) //{ // if (!feeCodeTable.Rows[i]["NAME"].ToString().Trim().Equals("")) // { // feeCodeBuilder.Append(""); // } //} feeCodeBuilder.Append(""); return feeCodeBuilder.ToString(); } #endregion #region 获取标准信息下拉列表 /// /// 获取标准信息下拉列表 /// /// /// public string GetUnitCells(string strUnitValue) { StringBuilder unitBuilder = new StringBuilder(); unitBuilder.Append("" + strUnitValue); unitBuilder.Append(""); unitBuilder.Append(""); //unitBuilder.Append(""); unitBuilder.Append(""); unitBuilder.Append(""); unitBuilder.Append(""); unitBuilder.Append(""); unitBuilder.Append(""); unitBuilder.Append(""); return unitBuilder.ToString(); } #endregion #region 获取引入类型信息下拉列表 /// /// 获取引入类型信息下拉列表 /// /// /// public string GetFRTCells(string strFRTValue) { StringBuilder frtBuilder = new StringBuilder(); frtBuilder.Append("" + strFRTValue); frtBuilder.Append(""); frtBuilder.Append(""); frtBuilder.Append(""); return frtBuilder.ToString(); } #endregion #region 将数据集表中费用状态FeeStatus和应收应付类型FeeType的数字状态位转换成文字 /// /// 将数据集表中费用状态FeeStatus和应收应付类型FeeType的数字状态位转换成文字 /// /// 原数据源DataTable /// 返回新数据源DataTable private DataTable getStatusNameTable(DataTable tempTable) { DataTable sourceTable = tempTable; DataTable cloneTable = new DataTable(); int iSwitch = 0; for (int i = 0; i < sourceTable.Rows.Count; i++) { if (iSwitch == 0) { for (int j = 0; j < sourceTable.Columns.Count; j++) { if (sourceTable.Columns[j].ColumnName.Equals("FEESTATUS")) { DataColumn newColumn = new DataColumn(); newColumn.ColumnName = sourceTable.Columns[j].ColumnName; newColumn.DataType = System.Type.GetType("System.String"); cloneTable.Columns.Add(newColumn); } else { DataColumn newColumn = new DataColumn(); newColumn.ColumnName = sourceTable.Columns[j].ColumnName; newColumn.DataType = sourceTable.Columns[j].DataType; cloneTable.Columns.Add(newColumn); } } iSwitch = 1; } DataRow cloneRow = cloneTable.NewRow(); for (int k = 0; k < sourceTable.Columns.Count; k++) { if (sourceTable.Columns[k].ColumnName.Equals("FEESTATUS")) { int iFeeStatus = int.Parse(sourceTable.Rows[i][k].ToString()); string strFeeStatus = ""; switch (iFeeStatus) { case 0: strFeeStatus = "审核通过"; break; case 1: strFeeStatus = "录入状态"; break; case 2: strFeeStatus = "提交审核"; break; case 3: strFeeStatus = "申请修改"; break; case 4: strFeeStatus = "申请删除"; break; case 5: strFeeStatus = "取消申请"; break; case 6: strFeeStatus = "驳回提交"; break; case 7: strFeeStatus = "驳回申请"; break; case 8: strFeeStatus = "部分结算"; break; case 9: strFeeStatus = "结算完毕"; break; case 10: strFeeStatus = "申请通过"; break; default: break; } cloneRow[sourceTable.Columns[k].ColumnName] = strFeeStatus; } else { cloneRow[sourceTable.Columns[k].ColumnName] = sourceTable.Rows[i][k]; } } cloneTable.Rows.Add(cloneRow); } //cloneTable.Columns.Remove("FEESTATUS"); //cloneTable.Columns.Add(new DataColumn("FEESTATUS", System.Type.GetType("System.String"))); return cloneTable; } #endregion #region 用Session缓存数据 //如果页面请求add,则执行从Session中读取之前的table数据信息,将新添加的行数据追加到table末尾 //if (strReadXmlType == "add" && iType == 1) //{ // if (Session["CacheRecvTable"] != null) // { // DataTable cacheTable = (DataTable)Session["CacheRecvTable"]; // if (cacheTable.Rows.Count > 0) // { // //添加缓存表 // DataRow newRow = cacheTable.NewRow(); // newRow["GID"] = Guid.NewGuid().ToString(); // newRow["FEESTATUS"] = "输入状态"; // newRow["FEENAME"] = ""; // newRow["CUSTOMERNAME"] = ""; // newRow["UNIT"] = ""; // newRow["UNITPRICE"] = 0; // newRow["QUANTITY"] = 0; // newRow["COMMISSIONRATE"] = 0; // newRow["AMOUNT"] = 0; // newRow["CURRENCY"] = 0; // newRow["EXCHANGERATE"] = 0; // newRow["REMARK"] = 0; // newRow["ISADVANCEDPAY"] = 0; // cacheTable.Rows.Add(newRow); // //添加数据源表 // DataRow newFeeRow = feeTable.NewRow(); // newFeeRow["GID"] = Guid.NewGuid().ToString(); // newFeeRow["FEESTATUS"] = "输入状态"; // newFeeRow["FEENAME"] = ""; // newFeeRow["CUSTOMERNAME"] = ""; // newFeeRow["UNIT"] = ""; // newFeeRow["UNITPRICE"] = 0; // newFeeRow["QUANTITY"] = 0; // newFeeRow["COMMISSIONRATE"] = 0; // newFeeRow["AMOUNT"] = 0; // newFeeRow["CURRENCY"] = 0; // newFeeRow["EXCHANGERATE"] = 0; // newFeeRow["REMARK"] = 0; // newFeeRow["ISADVANCEDPAY"] = 0; // feeTable.Rows.Add(newFeeRow); // } // Session["CacheRecvTable"] = cacheTable; // } // else // { // DataTable cacheTable = feeTable.Clone(); // DataRow newRow = cacheTable.NewRow(); // newRow["GID"] = Guid.NewGuid().ToString(); // newRow["FEESTATUS"] = "输入状态"; // newRow["FEENAME"] = ""; // newRow["CUSTOMERNAME"] = ""; // newRow["UNIT"] = ""; // newRow["UNITPRICE"] = 0; // newRow["QUANTITY"] = 0; // newRow["COMMISSIONRATE"] = 0; // newRow["AMOUNT"] = 0; // newRow["CURRENCY"] = 0; // newRow["EXCHANGERATE"] = 0; // newRow["REMARK"] = 0; // newRow["ISADVANCEDPAY"] = 0; // cacheTable.Rows.Add(newRow); // //添加数据源表 // DataRow newFeeRow = feeTable.NewRow(); // newFeeRow["GID"] = Guid.NewGuid().ToString(); // newFeeRow["FEESTATUS"] = "输入状态"; // newFeeRow["FEENAME"] = ""; // newFeeRow["CUSTOMERNAME"] = ""; // newFeeRow["UNIT"] = ""; // newFeeRow["UNITPRICE"] = 0; // newFeeRow["QUANTITY"] = 0; // newFeeRow["COMMISSIONRATE"] = 0; // newFeeRow["AMOUNT"] = 0; // newFeeRow["CURRENCY"] = 0; // newFeeRow["EXCHANGERATE"] = 0; // newFeeRow["REMARK"] = 0; // newFeeRow["ISADVANCEDPAY"] = 0; // feeTable.Rows.Add(newFeeRow); // Session["CacheRecvTable"] = cacheTable; // } //} //else if (strReadXmlType == "add" && iType == 2)//应付费用 //{ // if (Session["CachePayTable"] != null) // { // DataTable cacheTable = (DataTable)Session["CachePayTable"]; // if (cacheTable.Rows.Count > 0) // { // DataRow newRow = cacheTable.NewRow(); // newRow["GID"] = Guid.NewGuid().ToString(); // newRow["FEESTATUS"] = "输入状态"; // newRow["FEENAME"] = ""; // newRow["CUSTOMERNAME"] = ""; // newRow["UNIT"] = ""; // newRow["UNITPRICE"] = 0; // newRow["QUANTITY"] = 0; // newRow["COMMISSIONRATE"] = 0; // newRow["AMOUNT"] = 0; // newRow["CURRENCY"] = 0; // newRow["EXCHANGERATE"] = 0; // newRow["REMARK"] = 0; // newRow["ISADVANCEDPAY"] = 0; // cacheTable.Rows.Add(newRow); // //添加数据源表 // DataRow newFeeRow = feeTable.NewRow(); // newFeeRow["GID"] = Guid.NewGuid().ToString(); // newFeeRow["FEESTATUS"] = "输入状态"; // newFeeRow["FEENAME"] = ""; // newFeeRow["CUSTOMERNAME"] = ""; // newFeeRow["UNIT"] = ""; // newFeeRow["UNITPRICE"] = 0; // newFeeRow["QUANTITY"] = 0; // newFeeRow["COMMISSIONRATE"] = 0; // newFeeRow["AMOUNT"] = 0; // newFeeRow["CURRENCY"] = 0; // newFeeRow["EXCHANGERATE"] = 0; // newFeeRow["REMARK"] = 0; // newFeeRow["ISADVANCEDPAY"] = 0; // feeTable.Rows.Add(newFeeRow); // } // Session["CachePayTable"] = cacheTable; // } // else // { // DataTable cacheTable = feeTable.Clone(); // DataRow newRow = cacheTable.NewRow(); // newRow["GID"] = Guid.NewGuid().ToString(); // newRow["FEESTATUS"] = "输入状态"; // newRow["FEENAME"] = ""; // newRow["CUSTOMERNAME"] = ""; // newRow["UNIT"] = ""; // newRow["UNITPRICE"] = 0; // newRow["QUANTITY"] = 0; // newRow["COMMISSIONRATE"] = 0; // newRow["AMOUNT"] = 0; // newRow["CURRENCY"] = 0; // newRow["EXCHANGERATE"] = 0; // newRow["REMARK"] = 0; // newRow["ISADVANCEDPAY"] = 0; // cacheTable.Rows.Add(newRow); // //添加数据源表 // DataRow newFeeRow = feeTable.NewRow(); // newFeeRow["GID"] = Guid.NewGuid().ToString(); // newFeeRow["FEESTATUS"] = "输入状态"; // newFeeRow["FEENAME"] = ""; // newFeeRow["CUSTOMERNAME"] = ""; // newFeeRow["UNIT"] = ""; // newFeeRow["UNITPRICE"] = 0; // newFeeRow["QUANTITY"] = 0; // newFeeRow["COMMISSIONRATE"] = 0; // newFeeRow["AMOUNT"] = 0; // newFeeRow["CURRENCY"] = 0; // newFeeRow["EXCHANGERATE"] = 0; // newFeeRow["REMARK"] = 0; // newFeeRow["ISADVANCEDPAY"] = 0; // feeTable.Rows.Add(newFeeRow); // Session["CachePayTable"] = cacheTable; // } //} #endregion } }