2025-03-27 15:05:14 +08:00

350 lines
18 KiB
C#

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 = "传输表信息</td><td colspan='1'style='FONT-WEIGHT:bold;border:solid #c0c0c0 1px;' align='Center'>数据总计</td>" +
"<td colspan='1'style='FONT-WEIGHT:bold;border:solid #c0c0c0 1px;' align='Center'>区服传输</td>" +
"<td colspan='1'style='FONT-WEIGHT:bold;border:solid #c0c0c0 1px;' align='Center'>总部传输</td>" +
"<td colspan='1'style='FONT-WEIGHT:bold;border:solid #c0c0c0 1px;' align='Center'>数据生成时间</td>" +
"<td colspan='1'style='FONT-WEIGHT:bold;border:solid #c0c0c0 1px;' align='Center'>本地时间</td></tr>";
//TmpTd += "<tr class='item' style='background-color:#F0F0F0;' align='Center'>" +
// "<td nowrap='nowrap' style='border:solid #c0c0c0 1px;'>序列</td>" +
// "<td nowrap='nowrap' style='border:solid #c0c0c0 1px;'>表名</td>";
//TmpTd += "<td nowrap='nowrap' style='border:solid #c0c0c0 1px;'>总计</td>";
//TmpTd +=
// //"<td nowrap='nowrap' style='border:solid #c0c0c0 1px;'>已上传</td>" +
// "<td nowrap='nowrap' style='border:solid #c0c0c0 1px;'>未上传</td>";
//TmpTd +=
// //"<td nowrap='nowrap' style='border:solid #c0c0c0 1px;'>已上传</td>" +
// "<td nowrap='nowrap' style='border:solid #c0c0c0 1px;'>未上传</td>";
//TmpTd +=
// "<td nowrap='nowrap' style='border:solid #c0c0c0 1px;'>最近时间</td>";
//TmpTd +=
// "<td nowrap='nowrap' style='border:solid #c0c0c0 1px;'>更新时间</td>";
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<Business.COMMODITY>(ObjectDataSource1, GridPageEx1);
//设置UI变化
e.SetValue(GridViewEx1);
//e.SetValue(GridPageEx1);
}
//翻页事件
protected void GridPageEx1_CallBackPageChanged(object src, ClientSetEventArgs e)
{
//GridViewEx1.Pagging<Business.COMMODITY>(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<HWSB.SERVERPART> _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
}
}