312 lines
14 KiB
C#
312 lines
14 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Drawing;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
using SuperMap.RealEstate.CoreFrameWork;
|
|
using SuperMap.RealEstate.ServiceModel;
|
|
using SuperMap.RealEstate.Utility;
|
|
using SuperMap.RealEstate.Web.UI;
|
|
using SuperMap.RealEstate.Web.UI.WebControls;
|
|
using SuperMap.RealEstate.Web.Utility;
|
|
using SuperMap.RealEstate.HighWay.SellData.Business;
|
|
using Business = SuperMap.RealEstate.HighWay.Storage.Business;
|
|
using HZQR.Common;
|
|
|
|
namespace SuperMap.RealEstate.HighWay.Modules.ProblemDeal
|
|
{
|
|
public partial class Default : BasePage
|
|
{
|
|
#region 方法 -> 页面加载
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (IsPostBack) return;
|
|
InitWebControls();
|
|
//初始化并加载列表
|
|
GridViewEx1.SelectingWithInit<ENDACCOUNT>(ObjectDataSource1, GridPageEx1,
|
|
DictionaryHelper.GetDictionary(Transaction, "TREATMENT_MARK"));
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 初始化页面
|
|
private void InitWebControls()
|
|
{
|
|
SERVERPART_ID.Items.Clear();
|
|
ListItemEx _ListItemEx = new ListItemEx();
|
|
_ListItemEx.Text = "公司本部";
|
|
_ListItemEx.Value = "1=1";
|
|
SERVERPART_ID.Items.Add(_ListItemEx);
|
|
foreach (Storage.Business.SERVERPART _SERVERPART in (new Storage.Business.SERVERPART()).GetPassportServerPart(this.PassportInfo.CityAuthority))
|
|
{
|
|
_ListItemEx = new ListItemEx();
|
|
|
|
_ListItemEx.Value = _SERVERPART.SERVERPART_ID_Encrypt;
|
|
//查看是否具有销售数据
|
|
string SqlStr = "SELECT COUNT(*) FROM HIGHWAY_SELLDATA.T_ENDACCOUNT WHERE SERVERPART_ID=" + _SERVERPART.SERVERPART_ID;
|
|
if ((int.Parse(_SERVERPART.ExecuteDataTable(SqlStr).Rows[0][0].ToString())) > 0)
|
|
{
|
|
_ListItemEx.Text = _SERVERPART.SERVERPART_NAME;
|
|
}
|
|
else
|
|
{
|
|
_ListItemEx.Text = "[无售]" + _SERVERPART.SERVERPART_NAME;
|
|
_ListItemEx.ColorStringEx = "#ff6600";
|
|
}
|
|
SERVERPART_ID.Items.Add(_ListItemEx);
|
|
}
|
|
|
|
//处理标记
|
|
TREATMENT_MARK.Clear();
|
|
TREATMENT_MARK.Items.Add(new ListItemEx("全部", "1=1"));
|
|
DictionaryHelper.BindingDropDownList("TREATMENT_MARK", TREATMENT_MARK.Items, this.Transaction);
|
|
TREATMENT_MARK.SelectedValue = "1";
|
|
|
|
StatisticsStartDay.Text = DateTime.Now.Date.AddDays(-1).ToString();
|
|
StatisticsEndDay.Text = DateTime.Now.Date.AddDays(-1).ToString();
|
|
//绑定业态
|
|
//BusinessType.Items.Clear();
|
|
//ListItemEx _ListItemFirst = new ListItemEx();
|
|
//_ListItemFirst.Text = "全部";
|
|
//_ListItemFirst.Value = "1=1";
|
|
//BusinessType.Items.Insert(0, _ListItemFirst);
|
|
//DictionaryHelper.BindingDropDownList("BUSINESSTYPE", BusinessType.Items, this.Transaction);
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 绑定下拉框服务区
|
|
protected void SERVERPART_ID_CallBackSetControl(object sender, ClientSetEventArgs e)
|
|
{
|
|
string StrSql = string.Empty;
|
|
ShopCode.Items.Clear();
|
|
ListItemEx _ListItemEx = new ListItemEx();
|
|
_ListItemEx.Text = "所有门店";
|
|
_ListItemEx.Value = "1=1";
|
|
ShopCode.Items.Add(_ListItemEx);
|
|
ShopCode.Items.Add(new ListItemEx("A区", "10"));
|
|
ShopCode.Items.Add(new ListItemEx("B区", "20"));
|
|
//绑定对应的商家统计
|
|
if (SERVERPART_ID.SelectedValue == "1=1" || SERVERPART_ID.SelectedIndex == -1)
|
|
{
|
|
StrSql = "SELECT DISTINCT SHOPNAME,SHOPCODE FROM HIGHWAY_SELLDATA.T_ENDACCOUNT";
|
|
}
|
|
else
|
|
{
|
|
StrSql = "SELECT DISTINCT SHOPNAME,SHOPCODE FROM HIGHWAY_SELLDATA.T_ENDACCOUNT WHERE SERVERPART_ID=" + e.Argument.ToDecrypt();
|
|
}
|
|
foreach (DataRow _DataRow in (new Storage.Business.SERVERPART()).ExecuteDataTable(StrSql + " ORDER BY SHOPNAME").Rows)
|
|
{
|
|
_ListItemEx = new ListItemEx();
|
|
_ListItemEx.Text = _DataRow["SHOPNAME"].ToString();
|
|
_ListItemEx.Value = _DataRow["SHOPCODE"].ToString();
|
|
ShopCode.Items.Add(_ListItemEx);
|
|
}
|
|
|
|
e.SetDropDownListEx(ShopCode);
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 查询
|
|
protected void ButtonStatistics_Click(object sender, EventArgs e)
|
|
{
|
|
//绑定数据
|
|
GridViewEx1.SelectingWithInit<ENDACCOUNT>(ObjectDataSource1, GridPageEx1);
|
|
GridViewEx1.Visible = true;
|
|
//查询数据
|
|
string WhereSql = string.Empty;
|
|
if (SERVERPART_ID.SelectedValue != "1=1")
|
|
{
|
|
WhereSql += " AND SERVERPART_ID = " + SERVERPART_ID.SelectedValue.ToDecrypt();
|
|
}
|
|
if (ShopCode.SelectedIndex < 3 && ShopCode.SelectedIndex > 0)
|
|
{
|
|
WhereSql += " AND SHOPREGION = " + ShopCode.SelectedValue;
|
|
}
|
|
else if (ShopCode.SelectedValue != "1=1" && ShopCode.SelectedIndex > -1)
|
|
{
|
|
WhereSql += " AND SHOPCODE = " + ShopCode.SelectedValue;
|
|
}
|
|
if (TREATMENT_MARK.SelectedValue != "1=1")
|
|
{
|
|
WhereSql += " AND TREATMENT_MARK = " + TREATMENT_MARK.SelectedValue;
|
|
}
|
|
if (StatisticsStartDay.Text != "")
|
|
{
|
|
WhereSql += " AND ENDACCOUNT_DATE >= TO_DATE('" + StatisticsStartDay.Text + "','YYYY-MM-DD')";
|
|
}
|
|
if (StatisticsEndDay.Text != "")
|
|
{
|
|
WhereSql += " AND ENDACCOUNT_DATE < TO_DATE('" + StatisticsEndDay.Text + "','YYYY-MM-DD') + 1 ";
|
|
}
|
|
string sqlString = @"SELECT SUM(TOTALSELLAMOUNT),SUM(CASHPAY),NVL(SUM(DIFFERENT_PRICE),0)
|
|
FROM HIGHWAY_SELLDATA.V_PROBLEM_ENDACCOUNT WHERE " + (WhereSql.StartsWith(" AND ") ? WhereSql.Substring(4) :
|
|
(WhereSql == "" ? "1=1" : WhereSql));
|
|
|
|
DataTable _DataTable = (new ENDACCOUNT()).ExecuteDataTable(sqlString);
|
|
if (_DataTable.Rows.Count > 0)
|
|
{
|
|
TOTALSELLAMOUNT.Text = _DataTable.Rows[0][0].ToString();
|
|
CASHPAY.Text = _DataTable.Rows[0][1].ToString();
|
|
sqlString = @"SELECT NVL(SUM(DIFFERENT_PRICE),0) FROM HIGHWAY_SELLDATA.V_PROBLEM_ENDACCOUNT WHERE DIFFERENT_PRICE > 0" + WhereSql;
|
|
DIFFERENT_PRICE_MORE.Text = (new ENDACCOUNT()).ExecuteDataTable(sqlString).Rows[0][0].ToString();
|
|
sqlString = @"SELECT NVL(SUM(DIFFERENT_PRICE),0) FROM HIGHWAY_SELLDATA.V_PROBLEM_ENDACCOUNT WHERE DIFFERENT_PRICE < 0" + WhereSql;
|
|
DIFFERENT_PRICE_LESS.Text = (new ENDACCOUNT()).ExecuteDataTable(sqlString).Rows[0][0].ToString();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 绑定列表数据
|
|
//查询
|
|
protected void ButtonSearch_CallBackClick(object sender, ClientSetEventArgs e)
|
|
{
|
|
GridViewEx1.Selecting<ENDACCOUNT>(ObjectDataSource1, GridPageEx1);
|
|
//设置UI变化
|
|
e.SetValue(GridViewEx1);
|
|
e.SetValue(GridPageEx1);
|
|
}
|
|
|
|
//翻页事件
|
|
protected void GridPageEx1_CallBackPageChanged(object src, ClientSetEventArgs e)
|
|
{
|
|
GridViewEx1.Pagging<ENDACCOUNT>(ObjectDataSource1, GridPageEx1);
|
|
//设置UI变化
|
|
e.SetValue(GridViewEx1);
|
|
}
|
|
|
|
//查询SQL设置
|
|
protected void GridViewEx1_SelectMethodParameters(object sender, SelectMethodParametersArgs e)
|
|
{
|
|
string WhereSql = string.Empty;
|
|
e.SetOtherUserCustomWhereSqlString = "";
|
|
if (SERVERPART_ID.SelectedValue != "1=1")
|
|
{
|
|
WhereSql += " AND SERVERPART_ID = " + SERVERPART_ID.SelectedValue.ToDecrypt();
|
|
}
|
|
if (ShopCode.SelectedIndex < 3 && ShopCode.SelectedIndex > 0)
|
|
{
|
|
WhereSql += " AND SHOPREGION = " + ShopCode.SelectedValue;
|
|
}
|
|
else if (ShopCode.SelectedValue != "1=1" && ShopCode.SelectedIndex > -1)
|
|
{
|
|
WhereSql += " AND SHOPCODE = " + ShopCode.SelectedValue;
|
|
}
|
|
if (TREATMENT_MARK.SelectedValue != "1=1")
|
|
{
|
|
WhereSql += " AND TREATMENT_MARK = " + TREATMENT_MARK.SelectedValue;
|
|
}
|
|
if (StatisticsStartDay.Text != "")
|
|
{
|
|
WhereSql += " AND ENDACCOUNT_DATE >= TO_DATE('" + StatisticsStartDay.Text + "','YYYY-MM-DD')";
|
|
}
|
|
if (StatisticsEndDay.Text != "")
|
|
{
|
|
WhereSql += " AND ENDACCOUNT_DATE < TO_DATE('" + StatisticsEndDay.Text + "','YYYY-MM-DD') + 1 ";
|
|
}
|
|
e.SetOtherUserCustomWhereSqlString = WhereSql.StartsWith(" AND ") ? WhereSql.Substring(4) : WhereSql;
|
|
e.AddOrderByParams("SERVERPART_NAME,SHOPNAME,ENDACCOUNT_DATE", true);
|
|
}
|
|
|
|
string OnClickString = "RealEstate.GridView.PopDialog(event,\"/HighWay/Modules/Statistics/EndAccount/ENDACCOUNTList.aspx?SHOPCODE={0}&SERVERPART_ID={1}&ENDACCOUNT_DATE={2}\",null,null,null);return false;";
|
|
protected void GridViewEx1_RowDataBound(object sender, GridViewRowEventArgs e)
|
|
{
|
|
if (e.Row.RowType == DataControlRowType.DataRow)
|
|
{
|
|
string _SHOPCODE = GridViewEx1.DataKeys[e.Row.RowIndex].Values["SHOPCODE"].ToString().ToEncrypt();
|
|
string _SERVERPART_ID = GridViewEx1.DataKeys[e.Row.RowIndex].Values["SERVERPART_ID"].ToString().ToEncrypt();
|
|
|
|
//LinkButton MoreInfo = (LinkButton)e.Row.FindControl("MoreInfo");
|
|
|
|
//MoreInfo.OnClientClick = GridViewEx1.GetOpenPopDialogClientScript("ENDACCOUNTList.aspx?SHOPCODE=" +
|
|
// _SHOPCODE + "&SERVERPART_ID=" + _SERVERPART_ID + "&ENDACCOUNT_DATE=" +
|
|
// e.Row.Cells[e.Row.Cells.Count - 3].Text.ToEncrypt(), 1000, 700);
|
|
e.Row.Attributes["onclick"] = string.Format(OnClickString, _SHOPCODE, _SERVERPART_ID, e.Row.Cells[e.Row.Cells.Count - 3].Text.ToEncrypt());
|
|
|
|
foreach (ListItemEx _ListItemEx in TREATMENT_MARK.Items)
|
|
{
|
|
if (_ListItemEx.Value == e.Row.Cells[e.Row.Cells.Count - 1].Text)
|
|
{
|
|
e.Row.Cells[e.Row.Cells.Count - 1].Text = _ListItemEx.Text;
|
|
if (_ListItemEx.Value == "1")
|
|
e.Row.Cells[e.Row.Cells.Count - 1].ForeColor = Color.Red;
|
|
}
|
|
}
|
|
if (e.Row.Cells[8].Text == "" || e.Row.Cells[8].Text == " ")
|
|
{
|
|
e.Row.Cells[8].Text = (double.Parse(e.Row.Cells[7].Text) - double.Parse(e.Row.Cells[6].Text)).ToString();
|
|
}
|
|
if (e.Row.Cells[8].Text != "" && e.Row.Cells[8].Text != " " && e.Row.Cells[8].Text != "0" &&
|
|
double.Parse(e.Row.Cells[8].Text) > 0)
|
|
{
|
|
e.Row.Cells[7].ForeColor = Color.Green;
|
|
e.Row.Cells[8].ForeColor = Color.Green;
|
|
}
|
|
else if (e.Row.Cells[8].Text != "" && e.Row.Cells[8].Text != " " && e.Row.Cells[8].Text != "0" &&
|
|
double.Parse(e.Row.Cells[8].Text) < 0)
|
|
{
|
|
e.Row.Cells[7].ForeColor = Color.Red;
|
|
e.Row.Cells[8].ForeColor = Color.Red;
|
|
}
|
|
if (e.Row.Cells[4].Text == "0")
|
|
{
|
|
e.Row.Cells[9].Text = "?";
|
|
e.Row.Cells[9].ForeColor = Color.Red;
|
|
}
|
|
else
|
|
{
|
|
e.Row.Cells[9].Text = (double.Parse(e.Row.Cells[6].Text) - double.Parse(e.Row.Cells[4].Text)).Round(2).ToString();
|
|
if (double.Parse(e.Row.Cells[9].Text) > 20)
|
|
{
|
|
e.Row.Cells[9].Text += "?";
|
|
e.Row.Cells[9].ForeColor = Color.Red;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 导出对应的Excel
|
|
protected void ButtonExport_Click(object sender, EventArgs e)
|
|
{
|
|
string WhereSql = string.Empty;
|
|
string StrSql = @"SELECT SERVERPART_NAME as 服务区, SHOPNAME as 门店名称,TICKETCOUNT as 总单据数,
|
|
TOTALCOUNT as 总销售数量,TOTALSELLAMOUNT as 总销售额,CASHPAY as 缴款金额,
|
|
WORKER_NAME as 结账人名称,CASHIER_NAME AS 收银员名称,DIFFERENT_PRICE AS 长短款,
|
|
ENDACCOUNT_DATE as 结账时间,DIFFERENCE_REASON as 产生原因,TREATMENT_MARK as 处理标记
|
|
FROM HIGHWAY_SELLDATA.T_ENDACCOUNT WHERE 1=1";
|
|
if (SERVERPART_ID.SelectedValue != "1=1")
|
|
{
|
|
WhereSql += " AND SERVERPART_ID = " + SERVERPART_ID.SelectedValue.ToDecrypt();
|
|
}
|
|
if (ShopCode.SelectedIndex == 1)
|
|
{
|
|
WhereSql += " AND SHOPCODE LIKE '01%'";
|
|
}
|
|
else if (ShopCode.SelectedIndex == 2)
|
|
{
|
|
WhereSql += " AND SHOPCODE LIKE '02%'";
|
|
}
|
|
else if (ShopCode.SelectedValue != "1=1" && ShopCode.SelectedIndex > -1)
|
|
{
|
|
WhereSql += " AND SHOPCODE = " + ShopCode.SelectedValue;
|
|
}
|
|
if (TREATMENT_MARK.SelectedValue != "1=1")
|
|
{
|
|
WhereSql += " AND TREATMENT_MARK = " + TREATMENT_MARK.SelectedValue;
|
|
}
|
|
if (StatisticsStartDay.Text != "")
|
|
{
|
|
WhereSql += " AND ENDACCOUNT_DATE >= TO_DATE('" + StatisticsStartDay.Text + "','YYYY-MM-DD')";
|
|
}
|
|
if (StatisticsEndDay.Text != "")
|
|
{
|
|
WhereSql += " AND ENDACCOUNT_DATE <= TO_DATE('" + StatisticsEndDay.Text + "','YYYY-MM-DD') + 1 ";
|
|
}
|
|
DataTable _DataTable = (new Storage.Business.COMMODITY()).ExecuteDataTable(StrSql + WhereSql + " ORDER BY SERVERPART_NAME,SHOPNAME,ENDACCOUNT_DATE DESC");
|
|
ExcelHelper _ExcelHelper = new ExcelHelper();
|
|
_ExcelHelper.DataTableToExcel("结账数据导出", _DataTable, "结账数据", true);
|
|
}
|
|
#endregion
|
|
}
|
|
} |