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

982 lines
54 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Configuration;
using System.Data;
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 HWSB = SuperMap.RealEstate.HighWay.Storage.Business;
using Business = SuperMap.RealEstate.HighWay.SellData.Business;
using MSPB = SuperMap.RealEstate.MobileServicePlatform.Business;
using HZQR.Common;
namespace SuperMap.RealEstate.HighWay.Module.ProblemDeal
{
/// <summary>
/// T_ENDACCOUNT_结账表 的WebUserControl
/// <summary>
public partial class ENDACCOUNT : UserControl<Business.ENDACCOUNT>
{
protected string _CigaretteTrade = ConfigurationManager.AppSettings["CigaretteTrade"];
protected string _UmiformCommodity = ConfigurationManager.AppSettings["UmiformCommodity"];
protected string _PROVINCE_CODE = ConfigurationManager.AppSettings["PROVINCE_CODE"];
#region ->
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack) return;
string _SALE_SELLCOUNT = "0", _SALE_SUPPLEMENT = "0", _CIGARETTE_SELLCOUNT = "0", _CIGARETTE_SUPPLEMENT = "0";
//获取香烟类别编码
DataTable CigaretteTypeTable = new HWSB.COMMODITYTYPE(Transaction).ExecuteDataTable(
"SELECT WM_CONCAT(COMMODITYTYPE_CODE) AS COMMODITYTYPE_CODE FROM T_COMMODITYTYPE WHERE PROVINCE_ID = " +
PROVINCE_CODE.Text + " AND CIGARETTE_TYPE = 1");
if (CigaretteTypeTable.Rows.Count > 0 && CigaretteTypeTable.Rows[0][0].ToString() != "")
{
CigaretteType.Value = CigaretteTypeTable.Rows[0][0].ToString();
//隐藏香烟列表
HWSB.SERVERPARTSHOP _SERVERPARTSHOP = new HWSB.SERVERPARTSHOP(Transaction);
_SERVERPARTSHOP.AddSearchParameter("SERVERPART_ID", SERVERPART_ID.Text);
_SERVERPARTSHOP.AddSearchParameter("SHOPCODE", SHOPCODE.Text);
if (_SERVERPARTSHOP.Search())
{
if (string.IsNullOrWhiteSpace(_CigaretteTrade) || !_CigaretteTrade.Contains(_SERVERPARTSHOP.SHOPTRADE))
{
fieldset_Cigarette.Visible = false;
}
}
}
else
{
fieldset_Cigarette.Visible = false;
}
//初始化并加载列表
//GridViewEx1.SelectingWithInit<Business.SUPPLEMENT>(ObjectDataSource1, GridPageEx1);
if (TREATMENT_MARK.SelectedValue == "0" && string.IsNullOrWhiteSpace(DIFFERENCE_REASON.Text))
{
//CASHPAY.Enabled = false;
//DIFFERENCE_REASON.Enabled = false;
DIFFERENCE_REASON.Text = "已确认";
}
if (string.IsNullOrEmpty(CurrObject.CHECK_INFO) && !string.IsNullOrEmpty(CurrObject.APPROVED_INFO))
{
APPROVED_INFO.Visible = true;
}
DataTable dt = CurrObject.ExecuteDataTable(
"SELECT * FROM HIGHWAY_SELLDATA.V_SUPPLEMENT WHERE TICKETCODE = '" + Request["ID"] + "'");
//COMMODITY_NAME = '补充销售流水' AND
if (dt.Rows.Count > 0)
{
if (string.IsNullOrEmpty(MOBILE_CORRECT.Text.Trim()))
{
MOBILE_CORRECT.Text = dt.Rows[0]["MOBILE_CORRECT"].ToString();
}
if (string.IsNullOrEmpty(SALE_CORRECT.Text.Trim()))
{
SALE_CORRECT.Text = dt.Rows[0]["DIFFERENT_CORRECT"].ToString();
}
if (string.IsNullOrEmpty(CASH_CORRECT.Text.Trim()))
{
CASH_CORRECT.Text = dt.Rows[0]["CASH_CORRECT"].ToString();
}
_SALE_SELLCOUNT = dt.Rows[0]["SALE_SELLCOUNT"].ToString();
_SALE_SUPPLEMENT = dt.Rows[0]["SALE_SUPPLEMENT"].ToString();
_CIGARETTE_SELLCOUNT = dt.Rows[0]["CIGARETTE_SELLCOUNT"].ToString();
_CIGARETTE_SUPPLEMENT = dt.Rows[0]["CIGARETTE_SUPPLEMENT"].ToString();
}
else
{
if (string.IsNullOrEmpty(MOBILE_CORRECT.Text.Trim()))
{
MOBILE_CORRECT.Text = "0.00";
}
if (string.IsNullOrEmpty(SALE_CORRECT.Text.Trim()))
{
SALE_CORRECT.Text = "0.00";
}
if (string.IsNullOrEmpty(CASH_CORRECT.Text.Trim()))
{
CASH_CORRECT.Text = "0.00";
}
}
CORRECT_AMOUNT.Text = (string.IsNullOrEmpty(CORRECT_AMOUNT.Text.Trim()) ? (decimal.Parse(MOBILE_CORRECT.Text) +
decimal.Parse(CASH_CORRECT.Text)).ToString() : CORRECT_AMOUNT.Text) + "/" + MOBILE_CORRECT.Text;
SELLCOUNT.Text = _SALE_SELLCOUNT;
FACTAMOUNT.Text = _SALE_SUPPLEMENT;
try
{
AVERAGEPRICE.Text = TICKETCOUNT.Text == "0" || TICKETCOUNT.Text == "" ? "0" :
(double.Parse(TOTALSELLAMOUNT.Text) / double.Parse(TICKETCOUNT.Text)).ToString("0.00");
}
catch { }
try
{
MOBILEPAYMENT.Text = (CurrObject.OTHERPAY.Value + CurrObject.TICKETBILL.Value).ToString("0.00");
//如果是扫码或者接口上传的数据,移动支付金额默认相同
if (!string.IsNullOrWhiteSpace(CurrObject.WORKER_NAME) &&
(CurrObject.WORKER_NAME.Contains("【接口】") || CurrObject.WORKER_NAME.Contains("【扫码】")))
{
FACT_AMOUNT.Text = MOBILEPAYMENT.Text;
SearchBtn_Sale.Enabled = false;
SearchBtn_Cigarette.Enabled = false;
SearchBtn_Mobile.Enabled = false;
SearchBtnPromotion.Enabled = false;
SearchOnlineBill.Enabled = false;
GetSaleData.Enabled = false;
GetCigaretteData.Enabled = false;
//GetMobileData.Enabled = false;
BtnGetPromotion.Enabled = false;
GetOnlineBill.Enabled = false;
}
}
catch { }
if (!string.IsNullOrEmpty(Request["CASHPAY"]))
{
CASHPAY.Text = Request["CASHPAY"].ToDecrypt();
}
#region
if (CurrObject != null && CurrObject.PropertyObject != null && CurrObject.ENDACCOUNT_ID != null)
{
bool Flag = CurrObject.ENDACCOUNT_STARTDATE > DateTime.Now.Date.AddDays(-9) ? true : false;
SearchBtnPromotion.OnClientClick = Page.GetOpenPopDialogClientScript(
"/MemberShip/Modules/101_Search/Consumption/ConsumptionList.aspx?SERVERPART_ID=" +
CurrObject.SERVERPART_ID.ToEncrypt() + "&SHOPCODE=" + CurrObject.SHOPCODE.ToEncrypt() +
"&MACHINECODE=" + CurrObject.MACHINECODE.ToEncrypt() + "&StatisticsEndDay=" +
CurrObject.ENDACCOUNT_DATE.ToEncrypt() + "&StatisticsStartDay=" +
CurrObject.ENDACCOUNT_STARTDATE.ToEncrypt(), "ConsumptionList", 1000, 600);
//绑定稽核列表
GridViewEx1.SelectingWithInit<Business.CHECKACCOUNT>(ObjectDataSource1, GridPageEx1,
DictionaryHelper.GetDictionary(Transaction, "TREATMENT_MARK"));
if (GridViewEx1.Rows.Count > 0 && string.IsNullOrWhiteSpace(CHECK_NAME.Text))
{
int _XCCHECK = 0, _QYCHECK = 0, _GSCHECK = 0;
foreach (Business.CHECKACCOUNT _CHECKACCOUNT in new Business.CHECKACCOUNT(this.Transaction).FillCollection(
"WHERE SERVERPART_ID = " + SERVERPART_ID.Text + " AND SHOPCODE = '" + SHOPCODE.Text + "' AND MACHINECODE = '" +
MACHINECODE.Text + "' AND CHECK_ENDDATE BETWEEN TO_DATE('" + ENDACCOUNT_STARTDATE.Text +
"','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('" + ENDACCOUNT_DATE.Text + "','YYYY/MM/DD HH24:MI:SS')"))
{
if (string.IsNullOrWhiteSpace(CHECK_NAME.Text) || !("," + CHECK_NAME.Text + ",").Contains(
"," + _CHECKACCOUNT.WORKER_NAME + ","))
{
CHECK_NAME.Text += (string.IsNullOrEmpty(CHECK_NAME.Text.Trim()) ? "" : ",") + _CHECKACCOUNT.WORKER_NAME;
}
switch (_CHECKACCOUNT.CHECK_TYPE)
{
case "智能稽查":
case "现场稽查":
_XCCHECK++;
break;
case "区域稽查":
_QYCHECK++;
break;
case "公司稽查":
_GSCHECK++;
break;
}
}
XCCHECK.Text = _XCCHECK.ToString();
QYCHECK.Text = _QYCHECK.ToString();
GSCHECK.Text = _GSCHECK.ToString();
CHECK_COUNT.Text = (_XCCHECK + _QYCHECK + _GSCHECK).ToString();
}
else
{
Fieldset_Check.Visible = false;
}
if (OnlineBill.Visible)
{
SearchOnlineBill.OnClientClick = Page.GetOpenPopDialogClientScript("SearchList/ConsumptionList.aspx?SERVERPART_CODE=" +
CurrObject.SERVERPARTCODE.ToEncrypt() + "&SHOPCODE=" + CurrObject.SHOPCODE.ToEncrypt() +
"&MACHINECODE=" + CurrObject.MACHINECODE.ToEncrypt() + "&STARTDATE=" + CurrObject.ENDACCOUNT_STARTDATE.ToEncrypt() +
"&ENDDATE=" + CurrObject.ENDACCOUNT_DATE.ToEncrypt(), "ConsumptionList", 900, 600);
}
if (string.IsNullOrEmpty(CurrObject.CASHIER_NAME))
{
DataTable _DataTable = CurrObject.ExecuteDataTable(@"SELECT WM_CONCAT(DISTINCT CASHIER_NAME)
FROM HIGHWAY_SELLDATA.T_PERSONSELL WHERE SERVERPART_ID = " + SERVERPART_ID.Text +
" AND SHOPCODE = '" + SHOPCODE.Text + "' AND SELL_STARTDATE >= TO_DATE('" +
ENDACCOUNT_STARTDATE.Text + "','YYYY/MM/DD HH24:MI:SS') AND MACHINECODE = '" + MACHINECODE.Text +
"' AND SELL_ENDDATE <= TO_DATE('" + ENDACCOUNT_DATE.Text + "','YYYY/MM/DD HH24:MI:SS')");
if (_DataTable.Rows.Count > 0)
{
CASHIER_NAME.Text = _DataTable.Rows[0][0].ToString();
}
}
}
else
{
SearchOnlineBill.Enabled = false;
}
#endregion
#region
Transaction transaction = new Transaction();
MSPB.CONSUMPTIONRECORD _CONSUMPTIONRECORD = new MSPB.CONSUMPTIONRECORD(transaction);
string SQLString = string.Format(@"SELECT COUNT(1),SUM(COUPON_AMOUNT)
FROM MOBILESERVICE_PLATFORM.T_CONSUMPTIONRECORD
WHERE SERVERPART_CODE = '{0}' AND SHOPCODE = '{1}' AND MACHINECODE = '{2}' AND
CONSUMPTIONRECORD_DATE >= TO_DATE('{3}','YYYY/MM/DD HH24:MI:SS') AND
CONSUMPTIONRECORD_DATE <= TO_DATE('{4}','YYYY/MM/DD HH24:MI:SS') AND
CONSUMPTIONRECORD_STATE >= 1010 AND CONSUMPTIONRECORD_STATE < 9000 AND
COUPON_SEND_ID IS NOT NULL",
SERVERPARTCODE.Text, SHOPCODE.Text, MACHINECODE.Text, ENDACCOUNT_STARTDATE.Text, ENDACCOUNT_DATE.Text);
DataTable dtCoupon = _CONSUMPTIONRECORD.ExecuteDataTable(SQLString);
if (dtCoupon.Rows.Count > 0 && dtCoupon.Rows[0][0].ToString() != "0")
{
CouponCount.Text = dtCoupon.Rows[0][0].ToString();
CouponAmount.Text = dtCoupon.Rows[0][1].ToString();
SearchCoupon.OnClientClick = Page.GetOpenPopDialogClientScript(
"SearchList/ECouponList.aspx?SERVERPART_CODE=" + SERVERPARTCODE.Text.ToEncrypt() +
"&SHOPCODE=" + SHOPCODE.Text.ToEncrypt() + "&MACHINECODE=" + MACHINECODE.Text.ToEncrypt() +
"&STARTDATE=" + ENDACCOUNT_STARTDATE.Text.ToEncrypt() +
"&ENDDATE=" + ENDACCOUNT_DATE.Text.ToEncrypt(), "ECouponList", 1150, 600);
}
else
{
Coupon.Visible = false;
}
#endregion
SearchBtn.OnClientClick = Page.GetOpenPopDialogClientScript(
"SearchList/SellDataList.aspx?ENDACCOUNT_ID=" + Request["ID"], "SellDataList", 900, 600);
SearchBtn_Mobile.OnClientClick = Page.GetOpenPopDialogClientScript(
"SearchList/MobilePayList.aspx?ENDACCOUNT_ID=" + Request["ID"] + "&MOBILEPAYMENT=" +
MOBILEPAYMENT.Text.ToEncrypt() + "&FACT_AMOUNT=" + FACT_AMOUNT.Text.ToEncrypt(), "MobilePayList", 1150, 600);
SearchBtn_Sale.OnClientClick = Page.GetOpenPopDialogClientScript(
"SearchList/CommoditySaleList.aspx?ENDACCOUNT_ID=" + Request["ID"], "CommoditySaleList", 900, 600);
SearchBtn_Cigarette.OnClientClick = Page.GetOpenPopDialogClientScript(
"SearchList/CigaretteSaleList.aspx?ENDACCOUNT_ID=" + Request["ID"], "CigaretteSaleList", 900, 600);
BtnHelp.OnClientClick = Page.GetOpenPopDialogClientScript(
"/HighWay/Modules/Statistics/EndAccount/Help.aspx", "Help", 700, 150);
Page.SetControlClientAction(GetSaleData, false);
Page.SetControlClientAction(GetCigaretteData, false);
//Page.SetControlClientAction(GetMobileData, false);
}
#endregion
#region -> (Page_Load之前)DropDownList的数据源绑定等
public override void InitializeWebControl()
{
//处理标记
TREATMENT_MARK.Clear();
DictionaryHelper.BindingDropDownList("TREATMENT_MARK", TREATMENT_MARK.Items, this.Transaction);
}
#endregion
#region ->
public override bool LoadData()
{
bool flag = false;
//如果是工作流组件请自行修改载入的逻辑,以下是功能模块的默认代码
if (!String.IsNullOrEmpty(Request["ID"]))
{
CurrObject.ENDACCOUNT_ID_Encrypt = Request["ID"];
flag = this.Select();
if (CurrObject.DESCRIPTION_STAFF == null || CurrObject.DESCRIPTION_DATE == null)
{
DESCRIPTION_STAFF.Text = this.Page.PassportInfo.Name;
DESCRIPTION_DATE.Text = DateTime.Now.ToString();
}
}
//默认返回值工作流组件返回True,功能模块返回False。
return (WorkFlowPage != null);
}
#endregion
#region ->
//OnDataAction_XXXXX 有一个系列可用,在此加入界面的逻辑处理
//e.CancelDataAction 来处理是否取消该动作;
//失败的原因可以用Page.Alert()传递到页面
public override void OnDataAction_BeforeSave(DataActionEventArgs<Business.ENDACCOUNT> e)
{
bool ReviewFlag = false;
//稽核异常未做说明,则不允许校验通过
if (GridViewEx1.Rows.Count > 0)
{
foreach (GridViewRow _GridViewRow in GridViewEx1.Rows)
{
if (_GridViewRow.RowType == DataControlRowType.DataRow)
{
string _CHECKACCOUNT_DESC = GridViewEx1.DataKeys[_GridViewRow.RowIndex]["CHECKACCOUNT_DESC"].ToString();
string _CHECK_STATE = GridViewEx1.DataKeys[_GridViewRow.RowIndex]["CHECK_STATE"].ToString();
if (_GridViewRow.Cells[5].Text.Trim('%').TryParseToDecimal() * 10 > 2)
{
if (string.IsNullOrWhiteSpace(_CHECKACCOUNT_DESC))
{
throw new Exception("请填写稽核异常反馈后,保存结账信息!");
}
if (_CHECK_STATE.TryParseToDecimal() == 0)
{
ReviewFlag = true;
}
}
}
}
}
//获取门店配置信息,数据校验是否需要限制保存事件
DataTable RTLIMITTable = new HWSB.RTBUSINESSLIMIT(Transaction).FillDataTable(
"WHERE SERVERPART_ID = " + e.CurrObject.SERVERPART_ID + " AND SHOPCODE = '" + e.CurrObject.SHOPCODE + "'");
//判断门店进行校验是否需要完成近10日内的账单校验
if (RTLIMITTable.Select("DATA_TYPE = 2010 AND DATA_VALUE = 2000").Length == 0 && (_UmiformCommodity.Split('|').Length < 5 ||
(_UmiformCommodity.Split('|').Length > 4 && _UmiformCommodity.Split('|')[4] == "1")))
{
string SQLString = string.Format(@"SELECT SHOPNAME,NVL(STATISTICS_DATE,ENDACCOUNT_DATE) AS ENDACCOUNT_DATE,
TO_CHAR(NVL(STATISTICS_DATE,ENDACCOUNT_DATE),'YYYY/MM/DD') AS STATISTICSDATE
FROM HIGHWAY_SELLDATA.V_ENDACCOUNT_TEMP
WHERE {0} AND SERVERPART_ID = {1} AND NVL(STATISTICS_TYPE,'0') NOT LIKE '%1020%' AND
NVL(STATISTICS_DATE,ENDACCOUNT_DATE) < TRUNC(TO_DATE('{2}','YYYY/MM/DD HH24:MI:SS'))
ORDER BY ENDACCOUNT_DATE", "CHECK_INFO IS NULL", e.CurrObject.SERVERPART_ID,
(e.CurrObject.STATISTICS_DATE == null ? e.CurrObject.ENDACCOUNT_DATE : e.CurrObject.STATISTICS_DATE));
DataTable _DataTable = e.CurrObject.ExecuteDataTable(SQLString);
if (_DataTable.Rows.Count > 0)
{
throw new Exception(_DataTable.Rows[0]["STATISTICSDATE"].ToString().Split(' ')[0] +
_DataTable.Rows[0]["SHOPNAME"].ToString() + "等有" + _DataTable.Select("STATISTICSDATE = '" +
_DataTable.Rows[0]["STATISTICSDATE"].ToString().Split(' ')[0] + "'").Length +
"条未完成数据校验,请先完成数据校验后进行本次账期的校验!");
}
}
e.CurrObject.CORRECT_AMOUNT = double.Parse(CORRECT_AMOUNT.Text.Split('/')[0]).Round(2);
if ((e.CurrObject.TOTALSELLAMOUNT + e.CurrObject.CORRECT_AMOUNT).Value.Round(2) != e.CurrObject.CASHPAY.Value.Round(2))
{
throw new Exception("日结营收信息不符,请先进行流水冲正处理...");
}
if (new HWSB.SERVERPARTSHOP(Transaction).GetCount("WHERE SERVERPART_ID = " + e.CurrObject.SERVERPART_ID +
" AND SHOPCODE = '" + e.CurrObject.SHOPCODE + "' AND STATISTICS_TYPE LIKE '%1020%'") == 0)
{
if (RTLIMITTable.Select("DATA_TYPE = 2012 AND DATA_VALUE = 2000").Length == 0 &&
((decimal.Parse(FACT_AMOUNT.Text) + decimal.Parse(SALE_CORRECT.Text) !=
decimal.Parse(MOBILEPAYMENT.Text) + decimal.Parse(MOBILE_CORRECT.Text)) &&
(decimal.Parse(FACT_AMOUNT.Text) + decimal.Parse(SALE_CORRECT.Text) + OnlineAmount.Text.TryParseToDecimal() !=
decimal.Parse(MOBILEPAYMENT.Text) + decimal.Parse(MOBILE_CORRECT.Text))))
{
throw new Exception("移动支付金额与系统不一致,请确认一致后进行保存!");
}
else if (e.CurrObject.FACT_AMOUNT == 0 && decimal.Parse(MOBILEPAYMENT.Text) != 0 &&
decimal.Parse(SALE_CORRECT.Text) == 0 && decimal.Parse(MOBILE_CORRECT.Text) == 0 &&
RTLIMITTable.Select("DATA_TYPE = 2012 AND DATA_VALUE = 2000").Length > 0)
{
e.CurrObject.FACT_AMOUNT = double.Parse(MOBILEPAYMENT.Text).Round(2);
FACT_AMOUNT.Text = e.CurrObject.FACT_AMOUNT.Value.ToString("0.00");
}
//单品金额≠销售金额,单品金额≠实收金额,单品金额≠销售金额+单品冲正,则校验不能通过
//if (RTLIMITTable.Select("DATA_TYPE = 2011 AND DATA_VALUE = 2000").Length == 0 &&
// FACTAMOUNT_SALE.Text.TryParseToDecimal() != TOTALSELLAMOUNT.Text.TryParseToDecimal() &&
// FACTAMOUNT_SALE.Text.TryParseToDecimal() != CASHPAY.Text.TryParseToDecimal() &&
// FACTAMOUNT_SALE.Text.TryParseToDecimal() + FACTAMOUNT.Text.TryParseToDecimal() != TOTALSELLAMOUNT.Text.TryParseToDecimal() &&
// TOTALSELLAMOUNT.Text.TryParseToDecimal() + FACTAMOUNT.Text.TryParseToDecimal() != FACTAMOUNT_SALE.Text.TryParseToDecimal())
//{
// throw new Exception("单品金额与销售金额不一致,请核对后进行保存!");
//}
}
if (e.CurrObject.DESCRIPTION_STAFF == null || e.CurrObject.DESCRIPTION_STAFF == "")
{
e.CurrObject.DESCRIPTION_STAFF = Page.PassportInfo.Name;
}
if (e.CurrObject.DESCRIPTION_DATE == null)
{
e.CurrObject.DESCRIPTION_DATE = DateTime.Now;
}
e.CurrObject.CHECK_INFO = "Checked";
//2021.8 商业集团要求取消财务审核环节,账单状态变为已审结
e.CurrObject.TREATMENT_MARK = 2;
//若对客营收大于0且长短按照小金额计算或是实收金额小于对客营收或是金额误差率大于3‰或是异常稽核数据未按常规处理
if (e.CurrObject.TOTALSELLAMOUNT != 0 && (e.CurrObject.TOTALSELLAMOUNT > e.CurrObject.CASHPAY ||
(Math.Abs(e.CurrObject.DIFFERENT_PRICE.Value / e.CurrObject.TOTALSELLAMOUNT.Value) > 0.003) ||
ReviewFlag || e.CurrObject.DIFFERENT_PRICE < 0 || (e.CurrObject.DIFFERENT_PRICE > 0 &&
e.CurrObject.TOTALSELLAMOUNT + e.CurrObject.DIFFERENT_PRICE > e.CurrObject.CASHPAY)))
{
e.CurrObject.REVIEW_STATE = 1;
ISPush.Text = "1";
}
base.OnDataAction_BeforeSave(e);
}
public override void OnDataAction_AfterSave(DataActionEventArgs<Business.ENDACCOUNT> e)
{
base.OnDataAction_AfterSave(e);
Business.ENDACCOUNT_TEMP _ENDACCOUNT_TEMP = new Business.ENDACCOUNT_TEMP(Transaction);
if (((e.CurrObject.STATISTICS_DATE != null && e.CurrObject.STATISTICS_DATE > DateTime.Now.Date.AddDays(-10)) ||
e.CurrObject.ENDACCOUNT_DATE > DateTime.Now.Date.AddDays(-10)) && _ENDACCOUNT_TEMP.GetCount(
"WHERE ENDACCOUNT_ID = " + e.CurrObject.ENDACCOUNT_ID) > 0)
{
_ENDACCOUNT_TEMP.CopyFrom(CurrObject);
_ENDACCOUNT_TEMP.Update();
}
e.CurrObject.UpdateRevenues(e.CurrObject.ENDACCOUNT_DATE, e.CurrObject.SERVERPART_ID, e.CurrObject.SHOPCODE);
//调用js同步结账数据到云端
Page.ExecClientScript("SyncToCloud()");
}
#endregion
#region ->
protected void GetCigaretteData_Click(object sender, EventArgs e)
{
Business.ENDACCOUNT _ENDACCOUNT = new Business.ENDACCOUNT(this.Transaction);
_ENDACCOUNT.ENDACCOUNT_ID = Request["ID"].ToDecryptInt32();
if (_ENDACCOUNT.Select())
{
bool Flag = _ENDACCOUNT.ENDACCOUNT_STARTDATE > DateTime.Now.Date.AddDays(-10) ? true : false;
string NoWhereSql = string.Empty;
if (_ENDACCOUNT.ENDACCOUNT_STARTDATE != null)
{
NoWhereSql += " AND SELLDATA_DATE > TO_DATE('" + _ENDACCOUNT.ENDACCOUNT_STARTDATE +
"','YYYY-MM-DD HH24:MI:SS')";
}
if (_ENDACCOUNT.ENDACCOUNT_DATE != null)
{
NoWhereSql += " AND SELLDATA_DATE <= TO_DATE('" + _ENDACCOUNT.ENDACCOUNT_DATE +
"','YYYY-MM-DD HH24:MI:SS')";
}
//香烟合计
DataTable _DataTable = _ENDACCOUNT.ExecuteDataTable(
"SELECT * FROM HIGHWAY_SELLDATA.V_SUPPLEMENT WHERE TICKETCODE = '" + Request["ID"] + "'");
DataTable dt = new DataTable();
#region
string _COMMODITY_TYPENAME = "", _COMMODITYTYPE_ID = "";
foreach (Storage.Business.COMMODITYTYPE _COMMODITYTYPE in new Storage.Business.COMMODITYTYPE(CurrObject).FillCollection(
"WHERE COMMODITYTYPE_CODE IN ('" + CigaretteType.Value.Replace(",", "','") + "') AND PROVINCE_ID = " + PROVINCE_CODE.Text))
{
_COMMODITY_TYPENAME += (_COMMODITY_TYPENAME == "" ? "" : ",") + "'" + _COMMODITYTYPE.COMMODITYTYPE_NAME + "'";
_COMMODITYTYPE_ID += (_COMMODITYTYPE_ID == "" ? "" : ",") + _COMMODITYTYPE.COMMODITYTYPE_ID;
}
if (!string.IsNullOrEmpty(_COMMODITY_TYPENAME))
{
dt = CurrObject.ExecuteDataTable(string.Format(@"SELECT
NVL(SUM(TICKETCOUNT),0),NVL(SUM(TOTALCOUNT),0),NVL(SUM(TOTALSELLAMOUNT),0)
FROM HIGHWAY_EXCHANGE.{0} A
WHERE
A.SERVERPARTCODE = '{1}' AND A.SHOPCODE = '{2}' AND
A.MACHINECODE = '{3}' AND A.COMMODITYTYPE_ID IN ({4}) AND
A.ENDDATE <= TO_DATE('{5}','YYYY-MM-DD HH24:MI:SS') AND
A.STARTDATE >= TO_DATE('{6}','YYYY-MM-DD HH24:MI:SS')",
"T_COMMODITYSALE_" + SERVERPARTCODE.Text, SERVERPARTCODE.Text, SHOPCODE.Text, MACHINECODE.Text,
_COMMODITYTYPE_ID, ENDACCOUNT_DATE.Text, ENDACCOUNT_STARTDATE.Text));
}
#endregion
//if (dt.Rows.Count > 0)
//{
// TICKETCODE_CIGARETTE.Text = dt.Rows[0][0].ToString();
// SELLCOUNT_CIGARETTE.Text = (decimal.Parse(dt.Rows[0][1].ToString()) + (_DataTable.Rows.Count > 0 ?
// decimal.Parse(_DataTable.Rows[0]["CIGARETTE_SELLCOUNT"].ToString()) : 0)).ToString();
// FACTAMOUNT_CIGARETTE.Text = (decimal.Parse(dt.Rows[0][2].ToString()) + (_DataTable.Rows.Count > 0 ?
// decimal.Parse(_DataTable.Rows[0]["CIGARETTE_SUPPLEMENT"].ToString()) : 0)).ToString();
// CIGARETTEAMOUNT.Text = FACTAMOUNT_CIGARETTE.Text;
//}
//Page.Alert("获取成功!香烟金额为" + FACTAMOUNT_CIGARETTE.Text);
decimal _SELLCOUNT_CIGARETTE = 0, _FACTAMOUNT_CIGARETTE = 0;
if (dt.Rows.Count > 0)
{
TICKETCODE_CIGARETTE.Text = dt.Rows[0][0].ToString();
_SELLCOUNT_CIGARETTE = decimal.Parse(dt.Rows[0][1].ToString());
_FACTAMOUNT_CIGARETTE = decimal.Parse(dt.Rows[0][2].ToString());
}
_FACTAMOUNT_CIGARETTE = _FACTAMOUNT_CIGARETTE + (_DataTable.Rows.Count > 0 ?
decimal.Parse(_DataTable.Rows[0]["CIGARETTE_SUPPLEMENT"].ToString()) : 0);
SELLCOUNT_CIGARETTE.Text = (_SELLCOUNT_CIGARETTE + (_DataTable.Rows.Count > 0 ?
decimal.Parse(_DataTable.Rows[0]["CIGARETTE_SELLCOUNT"].ToString()) : 0)).ToString();
FACTAMOUNT_CIGARETTE.Text = _FACTAMOUNT_CIGARETTE.ToString();
CIGARETTEAMOUNT.Text = FACTAMOUNT_CIGARETTE.Text;
Page.Alert("获取成功!香烟金额为" + FACTAMOUNT_CIGARETTE.Text);
}
}
#endregion
#region ->
protected void GetSaleData_Click(object sender, EventArgs e)
{
Business.ENDACCOUNT _ENDACCOUNT = new Business.ENDACCOUNT(this.Transaction);
_ENDACCOUNT.ENDACCOUNT_ID_Encrypt = Request["ID"];
if (_ENDACCOUNT.Select())
{
bool Flag = _ENDACCOUNT.ENDACCOUNT_STARTDATE > DateTime.Now.Date.AddDays(-10) ? true : false;
string NoWhereSql = string.Empty;
if (_ENDACCOUNT.ENDACCOUNT_STARTDATE != null)
{
NoWhereSql += " AND SELLDATA_DATE > TO_DATE('" + _ENDACCOUNT.ENDACCOUNT_STARTDATE +
"','YYYY-MM-DD HH24:MI:SS')";
}
if (_ENDACCOUNT.ENDACCOUNT_DATE != null)
{
NoWhereSql += " AND SELLDATA_DATE <= TO_DATE('" + _ENDACCOUNT.ENDACCOUNT_DATE +
"','YYYY-MM-DD HH24:MI:SS')";
}
DataTable _DataTable = _ENDACCOUNT.ExecuteDataTable(
"SELECT * FROM HIGHWAY_SELLDATA.V_SUPPLEMENT WHERE TICKETCODE = '" + Request["ID"] + "'");
DataTable dt = new DataTable();
try
{
dt = CurrObject.ExecuteDataTable(string.Format(@"SELECT
NVL(SUM(TICKETCOUNT),0),NVL(SUM(TOTALCOUNT),0),NVL(SUM(TOTALSELLAMOUNT),0)
FROM (SELECT A.TICKETCOUNT,A.TOTALCOUNT,A.TOTALSELLAMOUNT
FROM HIGHWAY_EXCHANGE.{0} A
WHERE
A.SERVERPARTCODE = '{1}' AND A.SHOPCODE = '{2}' AND
A.MACHINECODE = '{3}' AND A.MACHINECODE IS NOT NULL AND
A.ENDDATE <= TO_DATE('{4}','YYYY-MM-DD HH24:MI:SS') AND
A.STARTDATE >= TO_DATE('{5}','YYYY-MM-DD HH24:MI:SS')
UNION ALL
SELECT A.TICKETCOUNT,A.TOTALCOUNT,A.TOTALSELLAMOUNT
FROM
HIGHWAY_EXCHANGE.{0} A,
HIGHWAY_SELLDATA.T_PERSONSELL B
WHERE
A.ENDDATE = B.SELL_ENDDATE AND A.STARTDATE = B.SELL_STARTDATE AND
A.SERVERPARTCODE = B.SERVERPARTCODE AND A.SHOPCODE = B.SHOPCODE AND
A.SERVERPARTCODE = '{1}' AND A.SHOPCODE = '{2}' AND
B.MACHINECODE = '{3}' AND A.MACHINECODE IS NULL AND
B.SELL_ENDDATE <= TO_DATE('{4}','YYYY-MM-DD HH24:MI:SS') AND
B.SELL_STARTDATE >= TO_DATE('{5}','YYYY-MM-DD HH24:MI:SS'))",
"T_COMMODITYSALE_" + SERVERPARTCODE.Text, SERVERPARTCODE.Text, SHOPCODE.Text,
MACHINECODE.Text, ENDACCOUNT_DATE.Text, ENDACCOUNT_STARTDATE.Text));
}
catch
{
dt = CurrObject.ExecuteDataTable(string.Format(@"SELECT
NVL(SUM(A.TICKETCOUNT),0),NVL(SUM(A.TOTALCOUNT),0),NVL(SUM(A.TOTALSELLAMOUNT),0)
FROM
HIGHWAY_EXCHANGE.{0} A,
HIGHWAY_SELLDATA.T_PERSONSELL B
WHERE
A.ENDDATE = B.SELL_ENDDATE AND A.STARTDATE = B.SELL_STARTDATE AND
A.SERVERPARTCODE = B.SERVERPARTCODE AND A.SHOPCODE = B.SHOPCODE AND
B.MACHINECODE = '" + MACHINECODE.Text + "' AND A.ENDDATE <= TO_DATE('" +
ENDACCOUNT_DATE.Text + "','YYYY-MM-DD HH24:MI:SS') AND A.STARTDATE >= TO_DATE('" +
ENDACCOUNT_STARTDATE.Text + "','YYYY-MM-DD HH24:MI:SS') AND B.SERVERPART_ID = " +
SERVERPART_ID.Text + " AND A.SHOPCODE = '" + SHOPCODE.Text + "'", "T_COMMODITYSALE_" + SERVERPARTCODE.Text));
}
//if (dt.Rows.Count > 0)
//{
// TICKETCODE_SALE.Text = dt.Rows[0][0].ToString();
// SELLCOUNT_SALE.Text = (decimal.Parse(dt.Rows[0][1].ToString()) + (_DataTable.Rows.Count > 0 ?
// decimal.Parse(_DataTable.Rows[0]["SALE_SELLCOUNT"].ToString()) : 0)).ToString();
// FACTAMOUNT_SALE.Text = (decimal.Parse(dt.Rows[0][2].ToString()) + (_DataTable.Rows.Count > 0 ?
// decimal.Parse(_DataTable.Rows[0]["SALE_SUPPLEMENT"].ToString()) : 0)).ToString();
// SALEAMOUNT.Text = FACTAMOUNT_SALE.Text;
//}
//Page.Alert("获取成功!单品金额为" + FACTAMOUNT_SALE.Text);
decimal _factAmountSale = 0, _sale_supplement = 0;
if (dt.Rows.Count > 0)
{
_factAmountSale = decimal.Parse(dt.Rows[0][2].ToString());
}
_sale_supplement = (_DataTable.Rows.Count > 0 ? decimal.Parse(_DataTable.Rows[0]["SALE_SUPPLEMENT"].ToString()) : 0);
_factAmountSale = _factAmountSale + (_DataTable.Rows.Count > 0 ?
decimal.Parse(_DataTable.Rows[0]["SALE_SUPPLEMENT"].ToString()) : 0);
if (decimal.Parse(FACTAMOUNT_SALE.Text) > _factAmountSale && _factAmountSale < decimal.Parse(TOTALSELLAMOUNT.Text) &&
decimal.Parse(TOTALSELLAMOUNT.Text) + _sale_supplement > _factAmountSale)
{
Page.Alert("获取完成!单品金额为" + _factAmountSale + ",数据正在解析请5分钟后重新获取");
}
else
{
TICKETCODE_SALE.Text = dt.Rows[0][0].ToString();
SELLCOUNT_SALE.Text = (decimal.Parse(dt.Rows[0][1].ToString()) + (_DataTable.Rows.Count > 0 ?
decimal.Parse(_DataTable.Rows[0]["SALE_SELLCOUNT"].ToString()) : 0)).ToString();
FACTAMOUNT_SALE.Text = _factAmountSale.ToString();
SALEAMOUNT.Text = FACTAMOUNT_SALE.Text;
Page.Alert("获取完成!单品金额为" + FACTAMOUNT_SALE.Text);
}
}
else
{
Page.Alert("获取失败!");
}
}
#endregion
#region ->
protected void BtnGetPromotion_Click(object sender, EventArgs e)
{
Business.ENDACCOUNT _ENDACCOUNT = new Business.ENDACCOUNT(this.Transaction);
_ENDACCOUNT.ENDACCOUNT_ID = Request["ID"].ToDecryptInt32();
if (_ENDACCOUNT.Select())
{
DataTable dt = _ENDACCOUNT.ExecuteDataTable(@"SELECT NVL(SUM(CONSUME_COUNT),0),NVL(SUM(CONSUME_PRICE),0)
FROM MEMBERSHIP_STORAGE.T_CONSUMPTIONRECORD WHERE SERVERPART_ID = " + _ENDACCOUNT.SERVERPART_ID +
" AND SHOPCODE = '" + _ENDACCOUNT.SHOPCODE + "' AND MACHINECODE = '" + _ENDACCOUNT.MACHINECODE +
"' AND CONSUMPTIONRECORD_DATE BETWEEN TO_DATE('" + _ENDACCOUNT.ENDACCOUNT_STARTDATE +
"','YYYY-MM-DD HH24:MI:SS') AND TO_DATE('" + _ENDACCOUNT.ENDACCOUNT_DATE + "','YYYY-MM-DD HH24:MI:SS')");
SELLCOUNT_PROMOTION.Text = dt.Rows[0][0].ToString();
FACTAMOUNT_PROMOTION.Text = dt.Rows[0][1].ToString();
Page.Alert("获取成功!促销金额为" + FACTAMOUNT_PROMOTION.Text);
}
}
#endregion
#region ->
public bool CorrectPrice()
{
bool flag = true;
double _CorrectPrice = 0.00;
try
{
Business.SUPPLEMENT _SUPPLEMENT = new Business.SUPPLEMENT(Transaction);
if (decimal.Parse(FACT_AMOUNT.Text) != decimal.Parse(MOBILEPAYMENT.Text) + decimal.Parse(MOBILE_CORRECT.Text))
{
_SUPPLEMENT.ResetProperty();
_CorrectPrice = double.Parse(FACT_AMOUNT.Text) - double.Parse(MOBILEPAYMENT.Text) -
double.Parse(MOBILE_CORRECT.Text);
_SUPPLEMENT.SERVERPART_ID = int.Parse(SERVERPART_ID.Text);
_SUPPLEMENT.SERVERPART_NAME = SERVERPART_NAME.Text;
_SUPPLEMENT.PROVINCE_CODE = int.Parse(PROVINCE_CODE.Text);
_SUPPLEMENT.COMMODITY_NAME = "补充销售流水";
_SUPPLEMENT.COMMODITY_DESC = "移动支付冲正金额";
_SUPPLEMENT.OPERATE_DATE = System.DateTime.Now;
_SUPPLEMENT.SELLDATA_DATE = DateTime.Parse(ENDACCOUNT_DATE.Text);
_SUPPLEMENT.SERVERPARTCODE = SERVERPARTCODE.Text;
_SUPPLEMENT.SHOPCODE = SHOPCODE.Text;
_SUPPLEMENT.SHOPNAME = SHOPNAME.Text;
_SUPPLEMENT.MACHINECODE = MACHINECODE.Text;
_SUPPLEMENT.TICKETCODE = ENDACCOUNT_ID.Text.ToEncrypt();
_SUPPLEMENT.SELLCOUNT = 1;
_SUPPLEMENT.SELLPRICE = _CorrectPrice;
_SUPPLEMENT.OFFPRICE = 0;
_SUPPLEMENT.FACTAMOUNT = _CorrectPrice;
_SUPPLEMENT.VALID = 1;
_SUPPLEMENT.SELLDESC = "一键移动支付冲正";
_SUPPLEMENT.Insert();
MOBILE_CORRECT.Text = (double.Parse(MOBILE_CORRECT.Text) + _CorrectPrice).ToString("0.00");
CORRECT_AMOUNT.Text = (double.Parse(CORRECT_AMOUNT.Text.Split('/')[0]) +
_CorrectPrice).ToString("0.00") + "/" + MOBILE_CORRECT.Text;
}
if (decimal.Parse(CASHPAY.Text) != decimal.Parse(TOTALSELLAMOUNT.Text) +
decimal.Parse(CORRECT_AMOUNT.Text.Split('/')[0]))
{
_SUPPLEMENT.ResetProperty();
_CorrectPrice = double.Parse(CASHPAY.Text) - double.Parse(TOTALSELLAMOUNT.Text) -
double.Parse(CORRECT_AMOUNT.Text.Split('/')[0]);
_SUPPLEMENT.SERVERPART_ID = int.Parse(SERVERPART_ID.Text);
_SUPPLEMENT.SERVERPART_NAME = SERVERPART_NAME.Text;
_SUPPLEMENT.PROVINCE_CODE = int.Parse(PROVINCE_CODE.Text);
_SUPPLEMENT.COMMODITY_NAME = "补充销售流水";
_SUPPLEMENT.COMMODITY_DESC = "销售流水冲正金额";
_SUPPLEMENT.OPERATE_DATE = System.DateTime.Now;
_SUPPLEMENT.SELLDATA_DATE = DateTime.Parse(ENDACCOUNT_DATE.Text);
_SUPPLEMENT.SERVERPARTCODE = SERVERPARTCODE.Text;
_SUPPLEMENT.SHOPCODE = SHOPCODE.Text;
_SUPPLEMENT.SHOPNAME = SHOPNAME.Text;
_SUPPLEMENT.MACHINECODE = MACHINECODE.Text;
_SUPPLEMENT.TICKETCODE = ENDACCOUNT_ID.Text.ToEncrypt();
_SUPPLEMENT.SELLCOUNT = 1;
_SUPPLEMENT.SELLPRICE = _CorrectPrice;
_SUPPLEMENT.OFFPRICE = 0;
_SUPPLEMENT.FACTAMOUNT = _CorrectPrice;
_SUPPLEMENT.VALID = 1;
_SUPPLEMENT.SELLDESC = "一键销售流水冲正";
_SUPPLEMENT.Insert();
CASH_CORRECT.Text = (double.Parse(CASH_CORRECT.Text) + _CorrectPrice).ToString("0.00");
CORRECT_AMOUNT.Text = (double.Parse(CORRECT_AMOUNT.Text.Split('/')[0]) +
_CorrectPrice).ToString("0.00") + "/" + MOBILE_CORRECT.Text;
}
}
catch
{
Transaction.Rollback();
flag = false;
}
return flag;
}
#endregion
#region ->
protected void CallBackButton_Add_CallBackClick(object sender, ClientSetEventArgs e)
{
if (TREATMENT_MARK.SelectedValue == "2")
{
e.ExcuteClientScript(Page.GetOpenPopDialogClientScript("SaleData/SUPPLEMENTPage.aspx?ENDACCOUNT_ID=" +
Request["ID"] + "&FACT_AMOUNT=" + FACT_AMOUNT.Text.Trim().ToEncrypt() + "&MOBILEPAYMENT=" +
MOBILEPAYMENT.Text.Trim().ToEncrypt() + "&MOBILE_CORRECT=" + MOBILE_CORRECT.Text.Trim().ToEncrypt() +
"&CORRECT_AMOUNT=" + CORRECT_AMOUNT.Text.Trim().Split('/')[0].ToEncrypt() + "&FACTAMOUNT_SALE=" +
FACTAMOUNT_SALE.Text.Trim().ToEncrypt() + "&SALE_CORRECT=" + SALE_CORRECT.Text.Trim().ToEncrypt() +
"&CASH_CORRECT=" + CASH_CORRECT.Text.Trim().ToEncrypt() + "&CASHPAY=" + CASHPAY.Text.Trim().ToEncrypt() +
"&SELLCOUNT_SALE=" + SELLCOUNT_SALE.Text.ToEncrypt() + "&TICKET_COUNT=" + TICKET_COUNT.Text.ToEncrypt() +
"&SELLCOUNT_CIGARETTE=" + SELLCOUNT_CIGARETTE.Text.ToEncrypt() + "&FACTAMOUNT_CIGARETTE=" +
FACTAMOUNT_CIGARETTE.Text.ToEncrypt() + "&readonly=true", "SUPPLEMENTPage", 1100, 800, true, false, true));
}
else
{
e.ExcuteClientScript(Page.GetOpenPopDialogClientScript("SaleData/SUPPLEMENTPage.aspx?ENDACCOUNT_ID=" +
Request["ID"] + "&FACT_AMOUNT=" + FACT_AMOUNT.Text.Trim().ToEncrypt() + "&MOBILEPAYMENT=" +
MOBILEPAYMENT.Text.Trim().ToEncrypt() + "&MOBILE_CORRECT=" + MOBILE_CORRECT.Text.Trim().ToEncrypt() +
"&CORRECT_AMOUNT=" + CORRECT_AMOUNT.Text.Trim().Split('/')[0].ToEncrypt() + "&FACTAMOUNT_SALE=" +
FACTAMOUNT_SALE.Text.Trim().ToEncrypt() + "&SALE_CORRECT=" + SALE_CORRECT.Text.Trim().ToEncrypt() +
"&CASH_CORRECT=" + CASH_CORRECT.Text.Trim().ToEncrypt() + "&CASHPAY=" + CASHPAY.Text.Trim().ToEncrypt() +
"&SELLCOUNT_SALE=" + SELLCOUNT_SALE.Text.ToEncrypt() + "&TICKET_COUNT=" + TICKET_COUNT.Text.ToEncrypt() +
"&SELLCOUNT_CIGARETTE=" + SELLCOUNT_CIGARETTE.Text.ToEncrypt() + "&FACTAMOUNT_CIGARETTE=" +
FACTAMOUNT_CIGARETTE.Text.ToEncrypt(), "SUPPLEMENTPage", 1100, 800, true, false, true));
}
}
#endregion
#region ->
protected void CallBtn_Mobile_CallBackClick(object sender, ClientSetEventArgs e)
{
e.ExcuteClientScript(Page.GetOpenPopDialogClientScript("SearchList/MobilePayList.aspx?ENDACCOUNT_ID=" +
Request["ID"] + "&MOBILEPAYMENT=" + MOBILEPAYMENT.Text.ToEncrypt() + "&FACT_AMOUNT=" +
FACT_AMOUNT.Text.ToEncrypt(), "MobilePayList", 1150, 600, true, false, true));
}
#endregion
#region -> 线
protected void GetOnlineBill_Click(object sender, EventArgs e)
{
DataTable _DataTable = new MSPB.CONSUMPTIONRECORD(CurrObject).ExecuteDataTable(@"SELECT
COUNT(CONSUMPTIONRECORD_ID) AS ONLINETICKET,NVL(SUM(CONSUME_PRICE),0) AS CONSUME_PRICE,
NVL(SUM(COUPON_AMOUNT),0) AS COUPON_AMOUNT,NVL(SUM(PAY_AMOUNT),0) AS PAY_AMOUNT
FROM MOBILESERVICE_PLATFORM.T_CONSUMPTIONRECORD WHERE CONSUMPTIONRECORD_TYPE IN (5020,5030,6000) AND
CONSUMPTIONRECORD_STATE BETWEEN 1010 AND 5000 AND SERVERPART_CODE = '" + SERVERPARTCODE.Text +
"' AND SHOPCODE = '" + SHOPCODE.Text + "' AND MACHINECODE = '" + MACHINECODE.Text +
"' AND CONSUMPTIONRECORD_DATE BETWEEN TO_DATE('" + ENDACCOUNT_STARTDATE.Text +
"','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('" + ENDACCOUNT_DATE.Text + "','YYYY/MM/DD HH24:MI:SS')");
if (_DataTable.Rows.Count > 0 && _DataTable.Rows[0][0].ToString() != "")
{
OnlineTicket.Text = _DataTable.Rows[0]["ONLINETICKET"].ToString();
OnlineAmount.Text = _DataTable.Rows[0]["CONSUME_PRICE"].ToString();
}
else
{
OnlineTicket.Text = "0";
OnlineAmount.Text = "0.00";
}
Page.Alert("获取成功!在线订单金额为" + OnlineAmount.Text);
}
#endregion
#region ->
//查询
protected void ButtonSearch_CallBackClick(object sender, ClientSetEventArgs e)
{
GridViewEx1.Selecting<Business.CHECKACCOUNT>(ObjectDataSource1, GridPageEx1);
//设置UI变化
e.SetValue(GridViewEx1);
e.SetValue(GridPageEx1);
}
//翻页事件
protected void GridPageEx1_CallBackPageChanged(object src, ClientSetEventArgs e)
{
GridViewEx1.Pagging<Business.CHECKACCOUNT>(ObjectDataSource1, GridPageEx1);
//设置UI变化
e.SetValue(GridViewEx1);
}
//查询SQL设置
protected void GridViewEx1_SelectMethodParameters(object sender, SelectMethodParametersArgs e)
{
//且搜索条件
string NoWhereSql = "";
if (!string.IsNullOrEmpty(SERVERPART_ID.Text))
{
e.AddAndParams("SERVERPART_ID", SERVERPART_ID.Text);
if (!string.IsNullOrEmpty(SHOPCODE.Text))
{
e.AddAndParams("SHOPCODE", SHOPCODE.Text);
if (!string.IsNullOrEmpty(MACHINECODE.Text))
{
e.AddAndParams("MACHINECODE", MACHINECODE.Text);
}
//稽核补录数据不显示在列表上,体现在对应稽核数据中
NoWhereSql = "CHECK_TYPE <> '稽核补录'";
//开始时间
if (!string.IsNullOrWhiteSpace(ENDACCOUNT_STARTDATE.Text))
{
NoWhereSql += " AND CHECK_STARTDATE = TO_DATE('" +
ENDACCOUNT_STARTDATE.Text + "','YYYY/MM/DD HH24:MI:SS')";
}
e.SetOtherUserCustomWhereSqlString = NoWhereSql;
}
else
{
e.AddAndParams("1", 2);
}
}
else
{
e.AddAndParams("1", 2);
}
e.AddOrderByParams("CHECK_ENDDATE", false);
}
#endregion
#region ->
DataTable SupplementTable = null;
protected void GridViewEx1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
SupplementTable = new Business.CHECKACCOUNT(Transaction).ExecuteDataTable(string.Format(
@"SELECT SERVERPART_ID,PROVINCE_CODE,SHOPCODE,MACHINECODE,
CHECK_STARTDATE,CHECK_ENDDATE,TOTALSELLAMOUNT
FROM {1} WHERE CHECK_TYPE = '稽核补录'{0}", GetWhereSql(), GridViewEx1.DataTableName));
}
else if (e.Row.RowType == DataControlRowType.DataRow)
{
string _SUPPLEMENT = ""; //显示补录金额
string _TICKETBILL = GridViewEx1.DataKeys[e.Row.RowIndex].Values["TICKETBILL"].ToString();
string _OTHERPAY = GridViewEx1.DataKeys[e.Row.RowIndex].Values["OTHERPAY"].ToString();
string _SERVERPART_ID = GridViewEx1.DataKeys[e.Row.RowIndex].Values["SERVERPART_ID"].ToEncrypt();
string _SHOPCODE = GridViewEx1.DataKeys[e.Row.RowIndex].Values["SHOPCODE"].ToEncrypt();
string _MACHINECODE = GridViewEx1.DataKeys[e.Row.RowIndex].Values["MACHINECODE"].ToEncrypt();
string _PROVINCE_CODE = GridViewEx1.DataKeys[e.Row.RowIndex].Values["PROVINCE_CODE"].ToString();
string _CHECK_STARTDATE = GridViewEx1.DataKeys[e.Row.RowIndex].Values["CHECK_STARTDATE"].ToString();
string _CHECK_ENDDATE = GridViewEx1.DataKeys[e.Row.RowIndex].Values["CHECK_ENDDATE"].ToString();
string _CHECKACCOUNT_ID = GridViewEx1.DataKeys[e.Row.RowIndex].Values["CHECKACCOUNT_ID"].ToEncrypt();
string _CASH = GridViewEx1.DataKeys[e.Row.RowIndex].Values["CASH"].ToString();
string _CASHPAY = GridViewEx1.DataKeys[e.Row.RowIndex].Values["CASHPAY"].ToString();
string _REPLENISH_AMOUNT = GridViewEx1.DataKeys[e.Row.RowIndex].Values["REPLENISH_AMOUNT"].ToString();
e.Row.Cells[e.Row.Cells.Count - 6].Text = (_TICKETBILL.TryParseToDecimal() + _OTHERPAY.TryParseToDecimal()).ToString("0.00");
decimal.TryParse(e.Row.Cells[7].Text.Replace("&nbsp;", "0"), out decimal _Price);
if (_Price != 0 && e.Row.Cells[4].Text.Replace("&nbsp;", "").Trim() == "")
{
//e.Row.Cells[3].ForeColor = Color.Red;
}
if (_Price > 0)
{
DataRow[] dataRow = SupplementTable.Select(string.Format(
@"SERVERPART_ID = '{0}' AND PROVINCE_CODE = '{1}' AND SHOPCODE = '{2}' AND
MACHINECODE = '{3}' AND CHECK_STARTDATE = '{4}' AND CHECK_ENDDATE >= '{5}'",
_SERVERPART_ID.ToDecrypt(), _PROVINCE_CODE, _SHOPCODE.ToDecrypt(),
_MACHINECODE.ToDecrypt(), _CHECK_STARTDATE, _CHECK_ENDDATE));
if (dataRow.Length > 0)
{
decimal SupplementAmount = 0;
DataTable dtCheckAccount = new Business.CHECKACCOUNT(Transaction).FillDataTable(string.Format(
@"WHERE CHECK_TYPE <> '稽核补录' AND PROVINCE_CODE = '{1}' AND SERVERPART_ID = '{0}' AND
SHOPCODE = '{2}' AND CHECK_STARTDATE = TO_DATE('{4}','YYYY/MM/DD HH24:MI:SS') AND
MACHINECODE = '{3}' AND CHECK_ENDDATE > TO_DATE('{5}','YYYY/MM/DD HH24:MI:SS')",
_SERVERPART_ID.ToDecrypt(), _PROVINCE_CODE, _SHOPCODE.ToDecrypt(),
_MACHINECODE.ToDecrypt(), _CHECK_STARTDATE, _CHECK_ENDDATE));
if (dtCheckAccount.Rows.Count > 0)
{
foreach (DataRow drSupplement in SupplementTable.Select(string.Format(
@"SERVERPART_ID = '{0}' AND PROVINCE_CODE = '{1}' AND SHOPCODE = '{2}' AND
MACHINECODE = '{3}' AND CHECK_STARTDATE = '{4}' AND CHECK_ENDDATE >= '{5}' AND CHECK_ENDDATE < '{6}'",
_SERVERPART_ID.ToDecrypt(), _PROVINCE_CODE, _SHOPCODE.ToDecrypt(),
_MACHINECODE.ToDecrypt(), _CHECK_STARTDATE, _CHECK_ENDDATE,
dtCheckAccount.Select("", "CHECK_ENDDATE")[0]["CHECK_ENDDATE"].ToString())))
{
SupplementAmount += drSupplement["TOTALSELLAMOUNT"].TryParseToDecimal();
}
}
else
{
foreach (DataRow drSupplement in dataRow)
{
SupplementAmount += drSupplement["TOTALSELLAMOUNT"].TryParseToDecimal();
}
}
e.Row.Cells[7].Text += "/" + SupplementAmount.ToString();
e.Row.Cells[7].ForeColor = Color.Green;
e.Row.Cells[7].Font.Bold = true;
_SUPPLEMENT = SupplementAmount.ToString();
}
else
{
e.Row.Cells[7].Text += "/0";
_SUPPLEMENT = "0";
e.Row.Cells[7].ForeColor = Color.Green;
e.Row.Cells[7].Font.Bold = true;
//e.Row.Cells[3].ForeColor = Color.Red;
}
}
else if (_Price < 0)
{
e.Row.Cells[7].Font.Bold = true;
if (_REPLENISH_AMOUNT != "0")
{
e.Row.Cells[7].Text += "/" + _REPLENISH_AMOUNT;
}
_SUPPLEMENT = _REPLENISH_AMOUNT;
e.Row.Cells[7].ForeColor = Color.Red;
}
e.Row.Cells[8].Text = _CASHPAY + "/" + _CASH;
if (!string.IsNullOrEmpty(e.Row.Cells[4].Text) && e.Row.Cells[4].Text.Length > 45)
{
e.Row.ToolTip = e.Row.Cells[4].Text;
e.Row.Cells[4].Text = e.Row.Cells[4].Text.Substring(0, 45) + "...";
}
if (e.Row.Cells[5].Text.TryParseToDecimal() * 10 > 2)
{
e.Row.Cells[5].Font.Bold = true;
e.Row.Cells[5].ForeColor = Color.Red;
}
e.Row.Cells[5].Text += "%";
e.Row.Attributes["onclick"] = GridViewEx1.GetOpenPopDialogClientScript(
"/HighWay/Modules/Statistics/CheckInfo/CHECKACCOUNTPage.aspx?ID=" + _CHECKACCOUNT_ID +
"&ERRORRATE=" + e.Row.Cells[5].Text.ToEncrypt() + "&SUPPLEMENT=" + _SUPPLEMENT.ToEncrypt() +
"&ENDACCOUNT_ID=" + Request["ID"] + "&TYPE=ENDACCOUNT");
}
}
#endregion
#region ->
private string GetWhereSql()
{
string WhereSql = "";
if (!string.IsNullOrEmpty(SERVERPART_ID.Text))
{
WhereSql += " AND SERVERPART_ID = " + SERVERPART_ID.Text;
if (!string.IsNullOrEmpty(SHOPCODE.Text))
{
WhereSql += " AND SHOPCODE = '" + SHOPCODE.Text + "'";
//开始时间
if (!string.IsNullOrWhiteSpace(ENDACCOUNT_STARTDATE.Text))
{
WhereSql += " AND CHECK_STARTDATE = TO_DATE('" + ENDACCOUNT_STARTDATE.Text + "','YYYY/MM/DD HH24:MI:SS')";
}
else
{
WhereSql = " AND 1 = 2";
}
}
else
{
WhereSql = " AND 1 = 2";
}
}
else
{
WhereSql = " AND 1 = 2";
}
return WhereSql;
}
#endregion
}
}