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 { /// /// T_ENDACCOUNT_结账表 的WebUserControl /// public partial class ENDACCOUNT : UserControl { 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(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 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 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 } }