490 lines
25 KiB
C#
490 lines
25 KiB
C#
using System;
|
|
using System.Data;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
using SuperMap.RealEstate.CoreFrameWork;
|
|
using SuperMap.RealEstate.CoreFrameWork.Dictionary.Business;
|
|
using SuperMap.RealEstate.Web.UI.WebControls;
|
|
using EDB = SuperMap.RealEstate.ExchangeData.Business;
|
|
using HWSDB = SuperMap.RealEstate.HighWay.SellData.Business;
|
|
using Business = SuperMap.RealEstate.HighWay.Storage.Business;
|
|
using HZQR.Common;
|
|
|
|
namespace SuperMap.RealEstate.HighWay.Modules.SellData
|
|
{
|
|
public partial class SaleDataCompare : BasePage
|
|
{
|
|
#region 方法 -> 页面加载
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (IsPostBack) return;
|
|
|
|
InitControls();
|
|
//设置回车焦点按钮
|
|
SetControlClientAction(ButtonStatistics, false);
|
|
SetControlClientAction(ButtonSearch);
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 初始化页面控件
|
|
private void InitControls()
|
|
{
|
|
PROVINCE_CODE.Items.Clear();
|
|
ListItemEx _ListItemEx = new ListItemEx();
|
|
_ListItemEx.Text = "所有省份";
|
|
_ListItemEx.Value = "1=1";
|
|
PROVINCE_CODE.Items.Add(_ListItemEx);
|
|
FieldExplain _FieldExplain = DictionaryHelper.GetFieldExplain("DIVISION_CODE", Transaction);
|
|
foreach (FieldEnum _FieldEnum in new FieldEnum(Transaction).FillCollection("WHERE FIELDEXPLAIN_ID = " +
|
|
_FieldExplain.FieldExplain_ID + " AND FIELDENUM_STATUS = 1 AND FIELDENUM_PID = -1 ORDER BY FIELDENUM_INDEX"))
|
|
{
|
|
_ListItemEx = new ListItemEx();
|
|
_ListItemEx.Text = _FieldEnum.FieldEnum_Name;
|
|
_ListItemEx.Value = _FieldEnum.KeyID;
|
|
_ListItemEx.Level = 1;
|
|
PROVINCE_CODE.Items.Add(_ListItemEx);
|
|
}
|
|
PROVINCE_CODE.SelectedValue = "1=1";
|
|
|
|
SERVERPART_ID.Items.Clear();
|
|
_ListItemEx = new ListItemEx();
|
|
_ListItemEx.Text = "所有服务区";
|
|
_ListItemEx.Value = "1=1";
|
|
SERVERPART_ID.Items.Add(_ListItemEx);
|
|
|
|
SERVERPART_ID.SelectedValue = "1=1";
|
|
|
|
SERVERPARTSHOP_ID.Items.Clear();
|
|
_ListItemEx = new ListItemEx();
|
|
_ListItemEx.Text = "所有门店";
|
|
_ListItemEx.Value = "1=1";
|
|
SERVERPARTSHOP_ID.Items.Add(_ListItemEx);
|
|
|
|
SERVERPARTSHOP_ID.SelectedValue = "1=1";
|
|
|
|
StatisticsDay.Text = DateTime.Now.Date.AddDays(-1).ToString();
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 绑定下拉框门店
|
|
protected void PROVINCE_CODE_CallBackSetControl(object sender, ClientSetEventArgs e)
|
|
{
|
|
SERVERPART_ID.Items.Clear();
|
|
ListItemEx _ListItemEx = new ListItemEx();
|
|
_ListItemEx.Text = "所有服务区";
|
|
_ListItemEx.Value = "1=1";
|
|
SERVERPART_ID.Items.Add(_ListItemEx);
|
|
if (!string.IsNullOrWhiteSpace(e.Argument) && e.Argument != "1=1")
|
|
{
|
|
foreach (Business.SERVERPART _SERVERPART in new Business.SERVERPART(Transaction).FillCollection(
|
|
"WHERE STATISTICS_TYPE IN (1000) AND PROVINCE_CODE = " + e.Argument +
|
|
" ORDER BY SPREGIONTYPE_INDEX,SPREGIONTYPE_ID,SERVERPART_INDEX,SERVERPART_CODE"))
|
|
{
|
|
_ListItemEx = new ListItemEx();
|
|
_ListItemEx.Value = _SERVERPART.KeyID;
|
|
_ListItemEx.Text = _SERVERPART.SERVERPART_NAME;
|
|
_ListItemEx.Level = 1;
|
|
SERVERPART_ID.Items.Add(_ListItemEx);
|
|
}
|
|
}
|
|
SERVERPART_ID.SelectedValue = "1=1";
|
|
|
|
SERVERPARTSHOP_ID.Items.Clear();
|
|
_ListItemEx = new ListItemEx();
|
|
_ListItemEx.Text = "所有门店";
|
|
_ListItemEx.Value = "1=1";
|
|
SERVERPARTSHOP_ID.Items.Add(_ListItemEx);
|
|
|
|
SERVERPARTSHOP_ID.SelectedValue = "1=1";
|
|
|
|
e.SetDropDownListEx(SERVERPART_ID);
|
|
e.SetDropDownListEx(SERVERPARTSHOP_ID);
|
|
}
|
|
|
|
protected void SERVERPART_ID_CallBackSetControl(object sender, ClientSetEventArgs e)
|
|
{
|
|
SERVERPARTSHOP_ID.Items.Clear();
|
|
ListItemEx _ListItemEx = new ListItemEx();
|
|
_ListItemEx.Text = "所有门店";
|
|
_ListItemEx.Value = "1=1";
|
|
SERVERPARTSHOP_ID.Items.Add(_ListItemEx);
|
|
//绑定对应的商家统计
|
|
if (!string.IsNullOrEmpty(e.Argument) && e.Argument != "1=1")
|
|
{
|
|
foreach (Business.SERVERPARTSHOP _SERVERPARTSHOP in new Business.SERVERPARTSHOP(Transaction).FillCollection(
|
|
"WHERE ISVALID = 1 AND SHOPTRADE NOT IN ('9032','9999') AND SERVERPART_ID = " + SERVERPART_ID.SelectedValue +
|
|
" AND SHOPCODE IS NOT NULL AND NVL(STATISTIC_TYPE,1000) IN (1000,2000) ORDER BY SHOPREGION,SHOPTRADE,SHOPCODE"))
|
|
{
|
|
_ListItemEx = new ListItemEx();
|
|
_ListItemEx.Text = _SERVERPARTSHOP.SHOPNAME;
|
|
_ListItemEx.Value = _SERVERPARTSHOP.SHOPCODE;
|
|
_ListItemEx.Level = 1;
|
|
SERVERPARTSHOP_ID.Items.Add(_ListItemEx);
|
|
}
|
|
}
|
|
e.SetDropDownListEx(SERVERPARTSHOP_ID);
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 查询
|
|
protected void ButtonStatistics_Click(object sender, EventArgs e)
|
|
{
|
|
LoadData(null);
|
|
|
|
#region 表头信息
|
|
GridViewEx1.HeaderRow.Cells[0].ColumnSpan = 4;
|
|
GridViewEx1.HeaderRow.Cells[0].HorizontalAlign = HorizontalAlign.Center;
|
|
GridViewEx1.HeaderRow.Cells[0].Font.Bold = true;
|
|
string TmpTd = "服务区信息" +
|
|
"<td colspan='3' style='FONT-WEIGHT:bold;border:solid #c0c0c0 1px;' align='Center'>对客营收</td>" +
|
|
"<td colspan='2' style='FONT-WEIGHT:bold;border:solid #c0c0c0 1px;' align='Center'>收银系统</td></tr>";
|
|
|
|
TmpTd += "<td nowrap='nowrap' style='border:solid #c0c0c0 1px;' align='Center'>序号</td>" +
|
|
"<td nowrap='nowrap' style='border:solid #c0c0c0 1px;' align='Center'>服务区</td>" +
|
|
"<td nowrap='nowrap' style='border:solid #c0c0c0 1px;' align='Center'>门店名称</td>" +
|
|
"<td nowrap='nowrap' style='border:solid #c0c0c0 1px;' align='Center'>机器编号</td>";
|
|
|
|
TmpTd += "<td nowrap='nowrap' style='border:solid #c0c0c0 1px;' align='Center'>销售流水</td>" +
|
|
"<td nowrap='nowrap' style='border:solid #c0c0c0 1px;' align='Center'>自然日报表</td>" +
|
|
"<td nowrap='nowrap' style='border:solid #c0c0c0 1px;' align='Center'>差异金额</td>";
|
|
|
|
TmpTd += "<td nowrap='nowrap' style='border:solid #c0c0c0 1px;' align='Center'>机器版本</td>" +
|
|
"<td nowrap='nowrap' style='border:solid #c0c0c0 1px;' align='Center'>心跳时间</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
|
|
|
|
//绑定统计日期、制单人、制单时间
|
|
ENDACCOUNT_DATE.Visible = true;
|
|
ENDACCOUNT_DATE.Text = "统计时间:" + StatisticsDay.Text;
|
|
div_sign.Attributes["style"] = "display:block";
|
|
lblStaffName.Visible = true;
|
|
lblStaffName.Text = "制单人:" + PassportInfo.Name;
|
|
lblDate.Visible = true;
|
|
lblDate.Text = "制单时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
ButtonSearch.Visible = true;
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 搜索按钮事件
|
|
protected void ButtonSearch_Click(object sender, EventArgs e)
|
|
{
|
|
DataTable dataTable = null;
|
|
if (!string.IsNullOrWhiteSpace(hdData.Value))
|
|
{
|
|
dataTable = QRWL.Common.JsonHelper.JsonToDataTable(hdData.Value);
|
|
}
|
|
|
|
LoadData(dataTable);
|
|
|
|
#region 表头信息
|
|
GridViewEx1.HeaderRow.Cells[0].ColumnSpan = 4;
|
|
GridViewEx1.HeaderRow.Cells[0].HorizontalAlign = HorizontalAlign.Center;
|
|
GridViewEx1.HeaderRow.Cells[0].Font.Bold = true;
|
|
string TmpTd = "服务区信息" +
|
|
"<td colspan='3' style='FONT-WEIGHT:bold;border:solid #c0c0c0 1px;' align='Center'>对客营收</td>" +
|
|
"<td colspan='2' style='FONT-WEIGHT:bold;border:solid #c0c0c0 1px;' align='Center'>收银系统</td></tr>";
|
|
|
|
TmpTd += "<td nowrap='nowrap' style='border:solid #c0c0c0 1px;' align='Center'>序号</td>" +
|
|
"<td nowrap='nowrap' style='border:solid #c0c0c0 1px;' align='Center'>服务区</td>" +
|
|
"<td nowrap='nowrap' style='border:solid #c0c0c0 1px;' align='Center'>门店名称</td>" +
|
|
"<td nowrap='nowrap' style='border:solid #c0c0c0 1px;' align='Center'>机器编号</td>";
|
|
|
|
TmpTd += "<td nowrap='nowrap' style='border:solid #c0c0c0 1px;' align='Center'>销售流水</td>" +
|
|
"<td nowrap='nowrap' style='border:solid #c0c0c0 1px;' align='Center'>自然日报表</td>" +
|
|
"<td nowrap='nowrap' style='border:solid #c0c0c0 1px;' align='Center'>差异金额</td>";
|
|
|
|
TmpTd += "<td nowrap='nowrap' style='border:solid #c0c0c0 1px;' align='Center'>机器版本</td>" +
|
|
"<td nowrap='nowrap' style='border:solid #c0c0c0 1px;' align='Center'>心跳时间</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
|
|
|
|
//绑定统计日期、制单人、制单时间
|
|
ENDACCOUNT_DATE.Visible = true;
|
|
ENDACCOUNT_DATE.Text = "统计时间:" + StatisticsDay.Text;
|
|
div_sign.Attributes["style"] = "display:block";
|
|
lblStaffName.Visible = true;
|
|
lblStaffName.Text = "制单人:" + PassportInfo.Name;
|
|
lblDate.Visible = true;
|
|
lblDate.Text = "制单时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
ButtonSearch.Visible = true;
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 获取列表数据
|
|
private void LoadData(DataTable dataTable)
|
|
{
|
|
if (dataTable == null)
|
|
{
|
|
#region 定义列表内容
|
|
dataTable = new DataTable();
|
|
dataTable.Columns.Add("SERVERPARTCODE", typeof(string));
|
|
dataTable.Columns.Add("SERVERPART_NAME", typeof(string));
|
|
dataTable.Columns.Add("SHOPCODE", typeof(string));
|
|
dataTable.Columns.Add("SHOPNAME", typeof(string));
|
|
dataTable.Columns.Add("MACHINECODE", typeof(string));
|
|
dataTable.Columns.Add("SELLMASTER_AMOUNT", typeof(string));
|
|
dataTable.Columns.Add("TOTALSELLAMOUNT", typeof(string));
|
|
dataTable.Columns.Add("SELLMASTER_AMOUNT_DF", typeof(string));
|
|
dataTable.Columns.Add("VERSION_NUM", typeof(string));
|
|
dataTable.Columns.Add("CONNECT_DATE", typeof(string));
|
|
#endregion
|
|
|
|
#region 获取数据
|
|
string SQLString = "", WhereSQL = "", WhereSQL_State = "";
|
|
|
|
if (!string.IsNullOrEmpty(SERVERPARTSHOP_ID.SelectedValue) && SERVERPARTSHOP_ID.SelectedValue != "1=1")
|
|
{
|
|
WhereSQL += " AND SHOPCODE = '" + SERVERPARTSHOP_ID.SelectedValue + "'";
|
|
WhereSQL_State += " AND B.SHOPCODE = '" + SERVERPARTSHOP_ID.SelectedValue + "'";
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(SERVERPART_ID.SelectedValue) && SERVERPART_ID.SelectedValue != "1=1")
|
|
{
|
|
Label1.Text = SERVERPART_ID.SelectedItem.Text + "门店销售流水汇总表";
|
|
|
|
WhereSQL += " AND SERVERPART_ID = " + SERVERPART_ID.SelectedValue;
|
|
WhereSQL_State += " AND A.SERVERPART_ID = " + SERVERPART_ID.SelectedValue;
|
|
}
|
|
else if (!string.IsNullOrWhiteSpace(PROVINCE_CODE.SelectedValue) && PROVINCE_CODE.SelectedValue != "1=1")
|
|
{
|
|
DataTable dtServerpart = new Business.SERVERPART(Transaction).ExecuteDataTable(
|
|
"SELECT WM_CONCAT(SERVERPART_ID) FROM T_SERVERPART WHERE PROVINCE_CODE = " + PROVINCE_CODE.SelectedValue);
|
|
if (dtServerpart.Rows.Count > 0 && dtServerpart.Rows[0][0].ToString() != "")
|
|
{
|
|
WhereSQL += " AND SERVERPART_ID IN (" + dtServerpart.Rows[0][0].ToString() + ")";
|
|
}
|
|
WhereSQL_State += " AND A.PROVINCE_CODE = " + PROVINCE_CODE.SelectedValue;
|
|
}
|
|
|
|
if (!string.IsNullOrEmpty(StatisticsDay.Text.Trim()))
|
|
{
|
|
WhereSQL += " AND {0} >= TO_DATE('" + StatisticsDay.Text.Trim() +
|
|
"','YYYY/MM/DD') AND {0} < TO_DATE('" + StatisticsDay.Text.Trim() + "','YYYY/MM/DD') + 1";
|
|
}
|
|
//查询销售流水汇总数据
|
|
SQLString = string.Format(@"SELECT
|
|
TRUNC(A.SELLMASTER_DATE) AS SELLMASTER_DATE,A.SERVERPARTCODE,
|
|
B.SERVERPART_NAME,A.SHOPCODE,MAX(A.SHOPNAME) AS SHOPNAME,MACHINECODE,
|
|
SUM(A.SELLMASTER_COUNT) AS SELLMASTER_COUNT,SUM(A.SELLMASTER_AMOUNT) AS SELLMASTER_AMOUNT,
|
|
SUM(A.SELLMASTER_OFFPRICE) AS SELLMASTER_OFFPRICE,
|
|
SUM(A.CASHPAY) AS CASHPAY,SUM(A.MOBILEPAY) AS MOBILEPAY
|
|
FROM
|
|
HIGHWAY_SELLDATA.T_SELLMASTER A,
|
|
HIGHWAY_STORAGE.T_SERVERPART B
|
|
WHERE
|
|
A.SERVERPARTCODE = B.SERVERPART_CODE AND A.SELLMASTER_STATE IN (1,9){0}
|
|
GROUP BY
|
|
A.SERVERPARTCODE,A.SHOPCODE,B.SERVERPART_NAME,A.MACHINECODE,TRUNC(A.SELLMASTER_DATE)",
|
|
string.Format(WhereSQL, "A.SELLMASTER_DATE"));
|
|
DataTable dtSaleStatistics = new EDB.SELLDATA(Transaction).ExecuteDataTable(SQLString);
|
|
//查询自然日报表数据
|
|
SQLString = string.Format(@"SELECT
|
|
ENDACCOUNT_DATE,SERVERPARTCODE,SERVERPART_NAME,SHOPCODE,SHOPNAME,MACHINECODE,
|
|
TOTALCOUNT,TOTALSELLAMOUNT,TOTALOFFAMOUNT,CASH,TICKETBILL + OTHERPAY AS MOBILEPAYMENT
|
|
FROM
|
|
HIGHWAY_SELLDATA.T_ENDACCOUNT_DAILY A
|
|
WHERE
|
|
VALID = 1 AND MACHINECODE IS NOT NULL{0}", string.Format(WhereSQL, "ENDACCOUNT_DATE"));
|
|
DataTable dtDailyEndaccount = new HWSDB.ENDACCOUNT(Transaction).ExecuteDataTable(SQLString);
|
|
//查询门店心跳数据
|
|
SQLString = string.Format(@"SELECT
|
|
C.SERVERPARTCODE,A.SERVERPART_NAME,C.SHOPCODE,B.SHOPNAME,C.MACHINECODE,D.FIELDENUM_NAME,
|
|
MAX(C.CONNECT_DATE) AS CONNECT_DATE,MAX(VERSION_NUM) AS VERSION_NUM
|
|
FROM
|
|
HIGHWAY_STORAGE.T_SERVERPART A,
|
|
HIGHWAY_STORAGE.T_SERVERPARTSHOP B,
|
|
HIGHWAY_STORAGE.T_STATEFEEDBACK C,
|
|
PLATFORM_DICTIONARY.T_FIELDENUM D
|
|
WHERE
|
|
A.SERVERPART_ID = B.SERVERPART_ID AND B.SHOPCODE = C.SHOPCODE AND
|
|
A.SERVERPART_CODE = C.SERVERPARTCODE AND A.PROVINCE_CODE = D.FIELDENUM_ID AND
|
|
C.CONNECT_DATE > TRUNC(SYSDATE) - 1{0}
|
|
GROUP BY
|
|
C.SERVERPARTCODE,A.SERVERPART_NAME,C.SHOPCODE,B.SHOPNAME,C.MACHINECODE,D.FIELDENUM_NAME", WhereSQL_State);
|
|
DataTable dtShop = new Business.SERVERPARTSHOP(Transaction).ExecuteDataTable(SQLString);
|
|
#endregion
|
|
|
|
#region 统计数据
|
|
DataTable dtMerge = dtDailyEndaccount.Copy();
|
|
//将dtSaleStatistics和dtDailyEndaccount合并至一起
|
|
if (dtSaleStatistics.Rows.Count > 0)
|
|
{
|
|
dtMerge.Merge(dtSaleStatistics);
|
|
DataView dv = new DataView(dtMerge);
|
|
dtMerge = dv.ToTable(true, "SERVERPARTCODE", "SHOPCODE", "MACHINECODE");
|
|
}
|
|
if (dtShop.Rows.Count > 0)
|
|
{
|
|
dtMerge.Merge(dtShop);
|
|
DataView dv = new DataView(dtMerge);
|
|
dtMerge = dv.ToTable(true, "SERVERPARTCODE", "SHOPCODE", "MACHINECODE");
|
|
}
|
|
//插入Datatable
|
|
foreach (DataRow drMerge in dtMerge.Select("", "SERVERPARTCODE,SHOPCODE,MACHINECODE"))
|
|
{
|
|
//判断门店信息是否已经插入
|
|
DataRow[] DataRowList = dataTable.Select("SERVERPARTCODE = '" + drMerge["SERVERPARTCODE"].ToString() + "' AND SHOPCODE = '" +
|
|
drMerge["SHOPCODE"].ToString() + "' AND MACHINECODE = '" + drMerge["MACHINECODE"].ToString() + "'");
|
|
//获取门店信息
|
|
DataRow[] drShop = dtShop.Select("SERVERPARTCODE = '" + drMerge["SERVERPARTCODE"].ToString() + "' AND SHOPCODE = '" +
|
|
drMerge["SHOPCODE"].ToString() + "' AND MACHINECODE = '" + drMerge["MACHINECODE"].ToString() + "'");
|
|
//判断自然日报表是否有数据
|
|
DataRow[] drDailyEndaccount = dtDailyEndaccount.Rows.Count == 0 ? null : dtDailyEndaccount.Select(
|
|
"SERVERPARTCODE = '" + drMerge["SERVERPARTCODE"].ToString() + "' AND SHOPCODE = '" +
|
|
drMerge["SHOPCODE"].ToString() + "' AND MACHINECODE = '" + drMerge["MACHINECODE"].ToString() + "'");
|
|
//判断销售流水中是否有数据
|
|
DataRow[] drSaleStatistics = dtSaleStatistics.Rows.Count == 0 ? null : dtSaleStatistics.Select(
|
|
"SERVERPARTCODE = '" + drMerge["SERVERPARTCODE"].ToString() + "' AND SHOPCODE = '" +
|
|
drMerge["SHOPCODE"].ToString() + "' AND MACHINECODE = '" + drMerge["MACHINECODE"].ToString() + "'");
|
|
|
|
DataRow dataRow = DataRowList.Length > 0 ? DataRowList[0] : dataTable.NewRow();
|
|
|
|
dataRow["SERVERPARTCODE"] = drMerge["SERVERPARTCODE"].ToString(); //服务区编码
|
|
dataRow["SHOPCODE"] = drMerge["SHOPCODE"].ToString(); //门店编码
|
|
dataRow["MACHINECODE"] = drMerge["MACHINECODE"].ToString(); //机器编码
|
|
if (string.IsNullOrWhiteSpace(dataRow["CONNECT_DATE"].ToString()) && drShop.Length > 0)
|
|
{
|
|
//省份+服务区名称
|
|
dataRow["SERVERPART_NAME"] = "【" + drShop[0]["FIELDENUM_NAME"].ToString().Replace(
|
|
"省", "").Replace("自治区", "") + "】" + drShop[0]["SERVERPART_NAME"].ToString();
|
|
//门店名称
|
|
dataRow["SHOPNAME"] = drShop[0]["SHOPNAME"].ToString();
|
|
//收银版本号
|
|
dataRow["VERSION_NUM"] = drShop[0]["VERSION_NUM"].ToString();
|
|
//心跳时间
|
|
dataRow["CONNECT_DATE"] = drShop[0]["CONNECT_DATE"].ToString();
|
|
}
|
|
else if (dtShop.Select("SERVERPARTCODE = '" + drMerge["SERVERPARTCODE"].ToString() + "'").Length > 0)
|
|
{
|
|
drShop = dtShop.Select("SERVERPARTCODE = '" + drMerge["SERVERPARTCODE"].ToString() + "'");
|
|
//省份+服务区名称
|
|
dataRow["SERVERPART_NAME"] = "【" + drShop[0]["FIELDENUM_NAME"].ToString().Replace(
|
|
"省", "").Replace("自治区", "") + "】" + drShop[0]["SERVERPART_NAME"].ToString();
|
|
}
|
|
|
|
//收银端失败,通道有流水,则标识收银机端有误
|
|
if (drDailyEndaccount != null && drDailyEndaccount.Length > 0)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(dataRow["SERVERPART_NAME"].ToString()))
|
|
{
|
|
dataRow["SERVERPART_NAME"] = drDailyEndaccount[0]["SERVERPART_NAME"].ToString();
|
|
}
|
|
if (string.IsNullOrWhiteSpace(dataRow["SHOPNAME"].ToString()))
|
|
{
|
|
dataRow["SHOPNAME"] = drDailyEndaccount[0]["SHOPNAME"].ToString();
|
|
}
|
|
|
|
dataRow["TOTALSELLAMOUNT"] = drDailyEndaccount[0]["TOTALSELLAMOUNT"];
|
|
}
|
|
else
|
|
{
|
|
dataRow["TOTALSELLAMOUNT"] = "";
|
|
}
|
|
|
|
if (drSaleStatistics != null && drSaleStatistics.Length > 0)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(dataRow["SERVERPART_NAME"].ToString()))
|
|
{
|
|
dataRow["SERVERPART_NAME"] = drDailyEndaccount[0]["SERVERPART_NAME"].ToString();
|
|
}
|
|
if (string.IsNullOrWhiteSpace(dataRow["SHOPNAME"].ToString()))
|
|
{
|
|
dataRow["SHOPNAME"] = drSaleStatistics[0]["SHOPNAME"].ToString();
|
|
}
|
|
|
|
dataRow["SELLMASTER_AMOUNT"] = drSaleStatistics[0]["SELLMASTER_AMOUNT"];
|
|
}
|
|
else
|
|
{
|
|
dataRow["SELLMASTER_AMOUNT"] = "";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(dataRow["SELLMASTER_AMOUNT"].ToString()) &&
|
|
!string.IsNullOrWhiteSpace(dataRow["TOTALSELLAMOUNT"].ToString()))
|
|
{
|
|
dataRow["SELLMASTER_AMOUNT_DF"] = dataRow["SELLMASTER_AMOUNT"].TryParseToDecimal() -
|
|
dataRow["TOTALSELLAMOUNT"].TryParseToDecimal();
|
|
}
|
|
|
|
if (DataRowList.Length == 0)
|
|
{
|
|
dataTable.Rows.Add(dataRow);
|
|
}
|
|
}
|
|
|
|
hdData.Value = QRWL.Common.JsonHelper.DataTableToJson(dataTable);
|
|
|
|
#endregion
|
|
}
|
|
|
|
string SelectSQL = "", searchInfo = "";
|
|
foreach (SearchItem searchItem in GridViewSearch1.Items)
|
|
{
|
|
if (searchItem.Checked && !string.IsNullOrWhiteSpace(TextBox_Search.Text.Trim()))
|
|
{
|
|
searchInfo += (searchInfo == "" ? "" : " OR ") + searchItem.FieldName +
|
|
" LIKE '%" + TextBox_Search.Text.Trim() + "%'";
|
|
}
|
|
}
|
|
switch (DATA_TYPE.SelectedValue)
|
|
{
|
|
case "1":
|
|
SelectSQL = "((SELLMASTER_AMOUNT = '' and TOTALSELLAMOUNT <> '0') or " +
|
|
"(SELLMASTER_AMOUNT <> '' and SELLMASTER_AMOUNT <> TOTALSELLAMOUNT))";
|
|
break;
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(searchInfo))
|
|
{
|
|
SelectSQL += SelectSQL == "" ? searchInfo : " and (" + searchInfo + ")";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(SelectSQL))
|
|
{
|
|
dataTable.DefaultView.RowFilter = SelectSQL;
|
|
}
|
|
dataTable.DefaultView.Sort = "SERVERPARTCODE,SHOPCODE,MACHINECODE";
|
|
dataTable = dataTable.DefaultView.ToTable();
|
|
|
|
GridViewEx1.DataSource = dataTable;
|
|
GridViewEx1.DataBind();
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 行绑定事件
|
|
protected void GridViewEx1_RowDataBound(object sender, GridViewRowEventArgs e)
|
|
{
|
|
if (e.Row.RowType == DataControlRowType.DataRow)
|
|
{
|
|
if (DATA_TYPE.SelectedValue != "1")
|
|
{
|
|
if (e.Row.Cells[e.Row.Cells.Count - 3].Text.TryParseToDecimal() != 0)
|
|
{
|
|
e.Row.ForeColor = System.Drawing.Color.Red;
|
|
}
|
|
}
|
|
|
|
if (e.Row.Cells[e.Row.Cells.Count - 1].Text.TryParseToDateTime() < DateTime.Now.Date)
|
|
{
|
|
e.Row.Cells[e.Row.Cells.Count - 1].ForeColor = System.Drawing.Color.LightGray;
|
|
}
|
|
else if (e.Row.Cells[e.Row.Cells.Count - 1].Text.TryParseToDateTime() > DateTime.Now.AddMinutes(-20))
|
|
{
|
|
e.Row.Cells[e.Row.Cells.Count - 1].ForeColor = System.Drawing.Color.DeepSkyBlue;
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
} |