using System; using System.Collections.Generic; using System.Data; using System.Drawing; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using SuperMap.RealEstate.Web.UI.WebControls; using HWSB = SuperMap.RealEstate.HighWay.Storage.Business; using Business = SuperMap.RealEstate.ExchangeData.Business; namespace SuperMap.RealEstate.ExchangeData.Modules.UploadStatistics { public partial class UploadStatisticsPage : BasePage { private int _TABLENUMOK = 0, _TABLEMIDDLE = 0, _TABLENUMNO = 0; protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; //注册遮罩式窗口关闭脚本 SetControlClosePopDialog(ButtonClose); Label1.Text = Request["SHOPNAME"] + "数据传输统计"; DataTable _DataTable = new Business.MACHINEINFO(this.Transaction).ExecuteDataTable( @"SELECT C.TRANSFERSTATISTICS_CODE,C.PID_CODE,C.PROVINCE_CODE,C.SERVERPARTCODE,C.SHOPCODE, C.MACHINECODE,C.MACHINE_MACADDRESS,C.UPLOADNUM,C.LOCAL_UPLOADNUM,C.LOCAL_NOTUPLOADNUM, C.LOCAL_UPDATETIME,C.LOCAL_ENDTIME,C.SERVICE_UPLOADNUM, (C.LOCAL_NOTUPLOADNUM + C.SERVICE_NOTUPLOADNUM) AS SERVICE_NOTUPLOADNUM, C.SERVICE_UPDATETIME,C.STAFF_ID,C.STAFF_NAME,C.OPERATE_DATE,C.TRANSFERSTATISTICS_DESC, C.UPLOADED_MACHINE,C.NOTUPLOADED_MACHINE,C.NOTUPLOADED_TABLE,C.TRANSFER_STATE, C.TRANSFER_ID,C.TABLENAME,C.NICKNAME FROM (SELECT A.TRANSFERSTATISTICS_CODE,A.PID_CODE,A.PROVINCE_CODE,A.SERVERPARTCODE,A.SHOPCODE, A.MACHINECODE,A.MACHINE_MACADDRESS,A.UPLOADNUM,A.LOCAL_UPLOADNUM, CASE WHEN B.TABLENAME IN ('HIGHWAY_EXCHANGE.T_PERSONSELL','HIGHWAY_EXCHANGE.T_ENDACCOUNT', 'HIGHWAY_EXCHANGE.T_PERSONSELL_NEW','HIGHWAY_EXCHANGE.T_ENDACCOUNT_NEW', 'HIGHWAY_EXCHANGE.T_BUSINESSTIME') THEN CASE A.LOCAL_NOTUPLOADNUM WHEN 0 THEN A.LOCAL_NOTUPLOADNUM ELSE A.LOCAL_NOTUPLOADNUM - 1 END ELSE A.LOCAL_NOTUPLOADNUM END AS LOCAL_NOTUPLOADNUM, A.LOCAL_UPDATETIME,A.LOCAL_ENDTIME,A.SERVICE_UPLOADNUM,A.SERVICE_NOTUPLOADNUM,A.SERVICE_UPDATETIME,A.STAFF_ID, A.STAFF_NAME,A.OPERATE_DATE,A.TRANSFERSTATISTICS_DESC,A.UPLOADED_MACHINE,A.NOTUPLOADED_MACHINE, A.NOTUPLOADED_TABLE,A.TRANSFER_STATE,A.TRANSFER_ID,B.TABLENAME,B.NICKNAME FROM HIGHWAY_EXCHANGE.T_TRANSFERTABLEINDEX B LEFT JOIN (SELECT T.*, ROW_NUMBER() OVER(PARTITION BY TRANSFERSTATISTICS_CODE ORDER BY T.OPERATE_DATE DESC) AS COLNUM FROM HIGHWAY_EXCHANGE.T_TRANSFERSTATISTICS T WHERE T.PID_CODE <> '-1' ) A ON B.TABLENAME = A.TABLENAME AND A.COLNUM = 1 AND A.PID_CODE = '" + Request["TRANSFERSTATISTICS_CODE"] +"' ORDER BY B.INDEXVALUE ASC) C "); foreach (DataRow _DataRow in _DataTable.Rows) { switch (_DataRow["TABLENAME"].ToString()) { case "HIGHWAY_EXCHANGE.T_PERSONSELL": case "HIGHWAY_EXCHANGE.T_ENDACCOUNT": case "HIGHWAY_EXCHANGE.T_PERSONSELL_NEW": case "HIGHWAY_EXCHANGE.T_ENDACCOUNT_NEW": case "HIGHWAY_EXCHANGE.T_BUSINESSTIME": if ((!string.IsNullOrEmpty(_DataRow["LOCAL_NOTUPLOADNUM"].ToString())) && (!string.IsNullOrEmpty(_DataRow["LOCAL_UPLOADNUM"].ToString())) && (int.Parse(_DataRow["LOCAL_NOTUPLOADNUM"].ToString()) == 1 || int.Parse(_DataRow["LOCAL_NOTUPLOADNUM"].ToString()) == 0)) { if (!string.IsNullOrEmpty(_DataRow["SERVICE_NOTUPLOADNUM"].ToString()) && int.Parse(_DataRow["SERVICE_NOTUPLOADNUM"].ToString()) == 0 && _DataRow["TABLENAME"].ToString() != "HIGHWAY_EXCHANGE.T_BUSINESSTIME") { _TABLEMIDDLE++; } else if (_DataRow["TABLENAME"].ToString() == "HIGHWAY_EXCHANGE.T_BUSINESSTIME") { _TABLEMIDDLE++; } else { if (((!string.IsNullOrEmpty(_DataRow["LOCAL_NOTUPLOADNUM"].ToString())) && int.Parse(_DataRow["LOCAL_NOTUPLOADNUM"].ToString()) > 0) || ((!string.IsNullOrEmpty(_DataRow["SERVICE_NOTUPLOADNUM"].ToString())) && int.Parse(_DataRow["SERVICE_NOTUPLOADNUM"].ToString()) > 0)) { _TABLENUMNO++; } else { _TABLENUMOK++; } } } else { if (((!string.IsNullOrEmpty(_DataRow["LOCAL_NOTUPLOADNUM"].ToString())) && int.Parse(_DataRow["LOCAL_NOTUPLOADNUM"].ToString()) > 0) || ((!string.IsNullOrEmpty(_DataRow["SERVICE_NOTUPLOADNUM"].ToString())) && int.Parse(_DataRow["SERVICE_NOTUPLOADNUM"].ToString()) > 0)) { _TABLENUMNO++; } else { _TABLENUMOK++; } } break; case "HIGHWAY_EXCHANGE.T_EXCEPTION": case "HIGHWAY_EXCHANGE.T_TRANSFERSTATISTICS": case "HIGHWAY_EXCHANGE.T_TRANSMISSIONERROR": _TABLEMIDDLE++; break; default: if (((!string.IsNullOrEmpty(_DataRow["LOCAL_NOTUPLOADNUM"].ToString())) && int.Parse(_DataRow["LOCAL_NOTUPLOADNUM"].ToString()) > 0) || ((!string.IsNullOrEmpty(_DataRow["SERVICE_NOTUPLOADNUM"].ToString())) && int.Parse(_DataRow["SERVICE_NOTUPLOADNUM"].ToString()) > 0)) { _TABLENUMNO++; } else { _TABLENUMOK++; } break; } } Notes.Text = "数据传输表统计:" + //" 已完成上传表 " + _TABLENUMOK + "个,过滤或特殊表" + _TABLEMIDDLE + "个," + "未完成上传表 " + _TABLENUMNO + "个"; //绑定数据 GridViewEx1.DataSource = _DataTable; GridViewEx1.DataBind(); if (Request["OPERATE_DATE"] != null && !string.IsNullOrEmpty(Request["OPERATE_DATE"].ToString())) { try { ENDACCOUNT_DATE.Text = "统计日期:" + DateTime.Parse(Request["OPERATE_DATE"].ToString()).ToShortDateString(); } catch { } } else { ENDACCOUNT_DATE.Text = "统计时间:--"; } if (Request["SERVICE_UPDATETIME"] != null && !string.IsNullOrEmpty(Request["SERVICE_UPDATETIME"].ToString())) { try { SERVICE_UPDATETIME.Text = "区服更新时间:" + DateTime.Parse(Request["SERVICE_UPDATETIME"].ToString()); } catch { } } else { SERVICE_UPDATETIME.Text = "区服更新时间:--"; } #region 表头信息 GridViewEx1.HeaderRow.Cells[0].ColumnSpan = 2; GridViewEx1.HeaderRow.Cells[0].HorizontalAlign = HorizontalAlign.Center; GridViewEx1.HeaderRow.Cells[0].Font.Bold = true; string TmpTd = "传输表信息数据总计" + "区服传输" + "总部传输" + "数据生成时间" + "本地时间"; //TmpTd += "" + // "序列" + // "表名"; //TmpTd += "总计"; //TmpTd += // //"已上传" + // "未上传"; //TmpTd += // //"已上传" + // "未上传"; //TmpTd += // "最近时间"; //TmpTd += // "更新时间"; GridViewEx1.HeaderRow.Cells[0].Text = TmpTd; for (int HeaderRowCount = 1; HeaderRowCount < GridViewEx1.HeaderRow.Cells.Count; HeaderRowCount++) { GridViewEx1.HeaderRow.Cells[HeaderRowCount].Visible = false; } GridViewEx1.Visible = true; #endregion } #region 方法 -> 查询 protected void ButtonStatistics_Click(object sender, EventArgs e) { HideClientMask("正在查询..."); } #endregion #region 方法 -> 绑定列表数据 //查询 protected void ButtonSearch_CallBackClick(object sender, ClientSetEventArgs e) { //GridViewEx1.Selecting(ObjectDataSource1, GridPageEx1); //设置UI变化 e.SetValue(GridViewEx1); //e.SetValue(GridPageEx1); } //翻页事件 protected void GridPageEx1_CallBackPageChanged(object src, ClientSetEventArgs e) { //GridViewEx1.Pagging(ObjectDataSource1, GridPageEx1); //设置UI变化 e.SetValue(GridViewEx1); } //查询SQL设置 protected void GridViewEx1_SelectMethodParameters(object sender, SelectMethodParametersArgs e) { } protected void GridViewEx1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { string _TABLENAME = GridViewEx1.DataKeys[e.Row.RowIndex].Values["TABLENAME"].ToString(); //表名 string _LOCAL_UPLOADNUM = GridViewEx1.DataKeys[e.Row.RowIndex].Values["LOCAL_UPLOADNUM"].ToString(); //本地已上传 string _LOCAL_NOTUPLOADNUM = GridViewEx1.DataKeys[e.Row.RowIndex].Values["LOCAL_NOTUPLOADNUM"].ToString(); //本地未上传 string _SERVICE_UPLOADNUM = GridViewEx1.DataKeys[e.Row.RowIndex].Values["SERVICE_UPLOADNUM"].ToString(); //服务区已上传 string _SERVICE_NOTUPLOADNUM = GridViewEx1.DataKeys[e.Row.RowIndex].Values["SERVICE_NOTUPLOADNUM"].ToString(); //服务区未上传 if (!string.IsNullOrEmpty(_TABLENAME)) { switch (_TABLENAME) { case "HIGHWAY_EXCHANGE.T_PERSONSELL": case "HIGHWAY_EXCHANGE.T_ENDACCOUNT": case "HIGHWAY_EXCHANGE.T_PERSONSELL_NEW": case "HIGHWAY_EXCHANGE.T_ENDACCOUNT_NEW": case "HIGHWAY_EXCHANGE.T_BUSINESSTIME": if ((!string.IsNullOrEmpty(_LOCAL_NOTUPLOADNUM)) && (!string.IsNullOrEmpty(_LOCAL_UPLOADNUM)) && (int.Parse(_LOCAL_NOTUPLOADNUM) == 1 || int.Parse(_LOCAL_NOTUPLOADNUM) == 0)) { e.Row.Cells[3].ForeColor = Color.YellowGreen; if (!string.IsNullOrEmpty(_SERVICE_NOTUPLOADNUM) && int.Parse(_SERVICE_NOTUPLOADNUM) == 0 && _TABLENAME != "HIGHWAY_EXCHANGE.T_BUSINESSTIME") { e.Row.Cells[4].ForeColor = Color.YellowGreen; } else { if (_TABLENAME != "HIGHWAY_EXCHANGE.T_BUSINESSTIME") { e.Row.Cells[4].ForeColor = Color.Red; } } } else { if ((!string.IsNullOrEmpty(_LOCAL_NOTUPLOADNUM)) && int.Parse(_LOCAL_NOTUPLOADNUM) > 0) { e.Row.Cells[3].ForeColor = Color.Red; } if ((!string.IsNullOrEmpty(_SERVICE_NOTUPLOADNUM)) && int.Parse(_SERVICE_NOTUPLOADNUM) > 0) { e.Row.Cells[4].ForeColor = Color.Red; } } break; case "HIGHWAY_EXCHANGE.T_EXCEPTION": case "HIGHWAY_EXCHANGE.T_TRANSFERSTATISTICS": case "HIGHWAY_EXCHANGE.T_TRANSMISSIONERROR": e.Row.Cells[3].ForeColor = Color.YellowGreen; e.Row.Cells[4].ForeColor = Color.YellowGreen; break; default: if ((!string.IsNullOrEmpty(_LOCAL_NOTUPLOADNUM)) && int.Parse(_LOCAL_NOTUPLOADNUM) > 0) { e.Row.Cells[3].ForeColor = Color.Red; } if ((!string.IsNullOrEmpty(_SERVICE_NOTUPLOADNUM)) && int.Parse(_SERVICE_NOTUPLOADNUM) > 0) { e.Row.Cells[4].ForeColor = Color.Red; } break; } } if (!string.IsNullOrEmpty(_TABLENAME)) { switch (_TABLENAME) { case "HIGHWAY_EXCHANGE.T_MOBILE_PAYCHECK": //e.Row.Cells[1].Text = "移动支付校验表"; case "HIGHWAY_EXCHANGE.T_DATACOLLECTION": //e.Row.Cells[1].Text = "数据采集表"; case "HIGHWAY_EXCHANGE.T_SELLMASTER": //e.Row.Cells[1].Text = "触屏版流水主表"; case "HIGHWAY_EXCHANGE.T_SELLDATA": //e.Row.Cells[1].Text = "旧流水表(流水表)"; case "HIGHWAY_EXCHANGE.T_COMMODITYSALE_NEW": //e.Row.Cells[1].Text = "触屏版单品表"; case "HIGHWAY_EXCHANGE.T_COMMODITYEX_NEW": //e.Row.Cells[1].Text = "商品状态表"; case "HIGHWAY_EXCHANGE.T_TRANSMISSIONERROR": //e.Row.Cells[1].Text = "新异常记录表"; case "HIGHWAY_EXCHANGE.T_SELLDETAILS": //e.Row.Cells[1].Text = "触屏版流水详细表"; case "HIGHWAY_EXCHANGE.T_COMMODITYSALE": //e.Row.Cells[1].Text = "旧单品表"; case "HIGHWAY_EXCHANGE.T_BUSINESSTIME": //e.Row.Cells[1].Text = "收银机营业信息表"; if (string.IsNullOrEmpty(_SERVICE_NOTUPLOADNUM) && string.IsNullOrEmpty(_SERVICE_UPLOADNUM)) { e.Row.Cells[4].Text = "一"; } break; } } if (Request["SERVERPARTCODE"] != null && Request["SHOPCODE"] != null && Request["MACHINECODE"] != null) { List _SERVERPARTs = new HWSB.SERVERPART(this.Transaction).FillCollection( " WHERE SERVERPART_CODE = " + Request["SERVERPARTCODE"].ToString()); if (_SERVERPARTs != null && _SERVERPARTs.Count > 0) { string jsonString = "{SERVERPARTCODE:'" + Request["SERVERPARTCODE"].ToString() + "',SHOPCODE:'" + Request["SHOPCODE"].ToString() + "',MACHINECODE:'" + Request["MACHINECODE"].ToString() + "'}"; e.Row.Attributes["onclick"] = GridViewEx1.GetOpenPopDialogClientScript( "TransferErrorList.aspx?tableName=" + _TABLENAME + "&serverpart_id=" + _SERVERPARTs[0].SERVERPART_ID + "&jsonString=" + jsonString, 1400, 700); } else { e.Row.Attributes["onclick"] = GetAlertStr("不支持的服务区!"); } } else { e.Row.Attributes["onclick"] = GetAlertStr("该表无统计记录,无法查看错误信息!"); } } } #endregion } }