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

169 lines
7.1 KiB
C#
Raw Permalink 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.Web.UI.WebControls;
using SuperMap.RealEstate.Web.UI;
using SuperMap.RealEstate.Utility;
using SuperMap.RealEstate.Web.UI.WebControls;
using Business = SuperMap.RealEstate.HighWay.SellData.Business;
namespace SuperMap.RealEstate.HighWay.Modules.EndAccountRollback
{
/// <summary>
/// T_ENDACCOUNT_结账表 的WebUserControl
/// <summary>
public partial class ENDACCOUNT : UserControl<Business.ENDACCOUNT>
{
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack) return;
if (MACHINECODE.Text != "")
{
MACHINECODE.Enabled = false;
}
if (SHOPCODE.Text != "")
{
//自营的餐饮类门店才执行下放的判断事件
Storage.Business.SERVERPARTSHOP _SERVERPARTSHOP = new Storage.Business.SERVERPARTSHOP(Transaction);
_SERVERPARTSHOP.AddSearchParameter("SERVERPART_ID", SERVERPART_ID.Text);
_SERVERPARTSHOP.AddSearchParameter("SHOPCODE", SHOPCODE.Text);
if (_SERVERPARTSHOP.Search() && _SERVERPARTSHOP.BUSINESS_TYPE == 1000 && _SERVERPARTSHOP.SHOPTRADE != "1000")
{
//如果片区已完成凭证审核,则不允许无效账期和调整统计日期
Storage.Business.SERVERPART _SERVERPART = new Storage.Business.SERVERPART(Transaction);
_SERVERPART.SERVERPART_ID = CurrObject.SERVERPART_ID;
if (_SERVERPART.Select() && _SERVERPART.SPREGIONTYPE_ID != null)
{
//获取审批人意见
string SQLString = "SELECT * FROM HIGHWAY_SELLDATA.T_EVIDENCEAPPROVE WHERE SPREGIONTYPE_ID = " +
_SERVERPART.SPREGIONTYPE_ID + " AND EVIDENCEAPPROVE_TYPE = 1000 AND STATISTICS_DATE = " +
DateTime.Parse(STATISTICS_DATE.Text).ToString("yyyyMMdd");
if (_SERVERPART.ExecuteDataTable(SQLString).Rows.Count > 0)
{
STATISTICS_DATE.Enabled = false;
STATISTICS_DATE.ValidType = ValidTypeEnum.NoSet;
VALID.Enabled = false;
}
}
}
}
//绑定操作记录列表
GridViewEx1.SelectingWithInit<Business.CHECKACCOUNT>(ObjectDataSource1, null);
}
//在此加入界面的数据初始化(Page_Load之前)如DropDownList的数据源绑定等
public override void InitializeWebControl()
{
//处理标记
//TREATMENT_MARK.Clear();
//DictionaryHelper.BindingDropDownList("TREATMENT_MARK", TREATMENT_MARK.Items, this.Transaction);
}
//载入数据
public override bool LoadData()
{
//如果是工作流组件请自行修改载入的逻辑,以下是功能模块的默认代码
if (!String.IsNullOrEmpty(Request["ID"]))
{
CurrObject.ENDACCOUNT_ID_Encrypt = Request["ID"];
return this.Select();
}
//默认返回值工作流组件返回True,功能模块返回False。
return (WorkFlowPage != null);
}
//OnDataAction_XXXXX 有一个系列可用,在此加入界面的逻辑处理
//e.CancelDataAction 来处理是否取消该动作;
//失败的原因可以用Page.Alert()传递到页面
public override void OnDataAction_BeforeSave(DataActionEventArgs<Business.ENDACCOUNT> e)
{
Business.ENDACCOUNT _ENDACCOUNT = new Business.ENDACCOUNT(this.Transaction);
if (_ENDACCOUNT.Select(e.CurrObject.ENDACCOUNT_ID))
{
if (_ENDACCOUNT.TREATMENT_MARK != e.CurrObject.TREATMENT_MARK)
{
if (TREATMENT_MARK.SelectedValue != "1")
{
throw new Exception("此模块只支持回退至待处理状态!");
}
else
{
e.CurrObject.CHECK_INFO = null;
}
}
}
if (TREATMENT_MARK.SelectedValue == "1")
{
e.CurrObject.CHECK_INFO = null;
}
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();
}
//存储日结账期状态变更日志
Business.ENDACCOUNT.SaveStateChangeLog(Transaction, e.CurrObject.KeyID,
e.CurrObject.STATISTICS_DATE.Value.ToString("yyyyMMddHHmmss"),
e.CurrObject.SERVERPART_ID, e.CurrObject.SHOPCODE,
VALID.SelectedValue == "0" ? 3000 : TREATMENT_MARK.SelectedValue == "1" ? 3001 : 3002,
OPERATELOG_DESC.Text, Page.PassportInfo.ID, Page.PassportInfo.Name,
Page.PassportInfo.UserName, Request["MODULE_ID"].ToDecrypt());
e.CurrObject.UpdateRevenues(e.CurrObject.ENDACCOUNT_DATE, e.CurrObject.SERVERPART_ID, e.CurrObject.SHOPCODE);
}
#region ->
//查询SQL设置
protected void GridViewEx1_SelectMethodParameters(object sender, SelectMethodParametersArgs e)
{
if (string.IsNullOrWhiteSpace(ENDACCOUNT_ID.Text))
{
//若没有稽核数据,则返回空列表
e.AddAndParams("1", 2);
}
else
{
//且搜索条件
e.AddAndParams("MODULE_ID", ENDACCOUNT_ID.Text);
e.SetOtherUserCustomWhereSqlString = "OPERATELOG_TYPE IN (3000,3001,3002)";
e.AddOrderByParams("OPERATE_DATE", true);
}
}
#endregion
#region ->
protected void GridViewEx1_RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
switch (e.Row.Cells[1].Text)
{
case "3000":
e.Row.Cells[1].Text = "无效数据";
break;
case "3001":
e.Row.Cells[1].Text = "回退数据";
break;
case "3002":
e.Row.Cells[1].Text = "设置日期";
break;
}
}
}
#endregion
}
}