using System; using System.IO; using System.Data; using System.Linq; 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.Storage.Business; using Business = SuperMap.RealEstate.HighWay.SellData.Business; namespace SuperMap.RealEstate.HighWay.Modules.EndAccountSeparate { /// /// T_ENDACCOUNT_结账表 的WebUserControl /// public partial class ENDACCOUNT : UserControl { protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; InitControls(); //初始化并加载列表 GridViewEx1.SelectingWithInit(ObjectDataSource1, GridPageEx1, DictionaryHelper.GetDictionary(Transaction, "ISVALID")); //设置回车焦点按钮 Page.SetControlClientAction(ButtonSearch); } #region InitControls -> 初始化页面信息 private void InitControls() { SERVERPART_ID.Items.Clear(); ListItemEx _ListItemEx = new ListItemEx(); foreach (SERVERPART _SERVERPART in (new SERVERPART(this.Transaction)).GetPassportServerPart(Page.PassportInfo.CityAuthority)) { _ListItemEx = new ListItemEx(); _ListItemEx.Value = _SERVERPART.SERVERPART_ID.ToString(); _ListItemEx.Text = _SERVERPART.SERVERPART_NAME; SERVERPART_ID.Items.Add(_ListItemEx); } if (CurrObject.ENDACCOUNT_ID != 0 && CurrObject.ENDACCOUNT_ID != null) { SERVERPART_ID.SelectedValue = CurrObject.SERVERPART_ID.ToString(); } else if (Request["SERVERPART_ID"] != null) SERVERPART_ID.SelectedValue = Request["SERVERPART_ID"].ToDecrypt(); if (SERVERPART_ID.SelectedIndex > -1) { SERVERPART _SERVERPART = new SERVERPART(this.Transaction); _SERVERPART.SERVERPART_ID_Encrypt = SERVERPART_ID.SelectedValue.ToEncrypt(); if (_SERVERPART.Select()) { SERVERPARTCODE.Text = _SERVERPART.SERVERPART_CODE; SERVERPART_NAME.Text = _SERVERPART.SERVERPART_NAME; PROVINCE_CODE.Text = _SERVERPART.PROVINCE_CODE.ToString(); } SHOPCODE.Items.Clear(); _ListItemEx = new ListItemEx(); foreach (SERVERPARTSHOP _SERVERPARTSHOP in (new SERVERPARTSHOP(this.Transaction)).FillCollection( "where SERVERPART_ID = " + SERVERPART_ID.SelectedValue + " AND ISVALID = 1 ORDER BY SHOPCODE")) { _ListItemEx = new ListItemEx(); _ListItemEx.Text = _SERVERPARTSHOP.SHOPNAME; _ListItemEx.Value = _SERVERPARTSHOP.SHOPCODE; SHOPCODE.Items.Add(_ListItemEx); } //结账人员 ENDPERSONCODE.Items.Clear(); foreach (CASHWORKER _CASHWORKER in (new CASHWORKER(this.Transaction)).FillCollection( "where LENGTH(CASHWORKER_LOGINNAME) = 4 AND WORKER_VALID = 1 AND SERVERPART_ID = " + SERVERPART_ID.SelectedValue + " and SUBSTR(NVL(WORKER_OTHER,'0000'),3,1) = '1' ORDER BY CASHWORKER_LOGINNAME")) { _ListItemEx = new ListItemEx(); _ListItemEx.Text = _CASHWORKER.CASHWORKER_NAME; _ListItemEx.Value = _CASHWORKER.CASHWORKER_LOGINNAME; ENDPERSONCODE.Items.Add(_ListItemEx); } //收银人员 CASHIER_NAME.Items.Clear(); foreach (CASHWORKER _CASHWORKER in (new CASHWORKER(this.Transaction)).FillCollection( "where LENGTH(CASHWORKER_LOGINNAME) = 4 AND WORKER_VALID = 1 AND SERVERPART_ID = " + SERVERPART_ID.SelectedValue + " and WORKER_OTHER LIKE '1%' ORDER BY CASHWORKER_LOGINNAME")) { _ListItemEx = new ListItemEx(); _ListItemEx.Text = _CASHWORKER.CASHWORKER_NAME; _ListItemEx.Value = _CASHWORKER.CASHWORKER_NAME; CASHIER_NAME.Items.Add(_ListItemEx); } if (ENDPERSONCODE.SelectedIndex > -1) { WORKER_NAME.Text = ENDPERSONCODE.SelectedItem.Text; } if (CurrObject.ENDACCOUNT_ID != 0 && CurrObject.ENDACCOUNT_ID != null) { SHOPCODE.SelectedValue = CurrObject.SHOPCODE; ENDPERSONCODE.SelectedValue = CurrObject.ENDPERSONCODE; CASHIER_NAME.SelectedValue = CurrObject.CASHIER_NAME; } else if (Request["SHOPCODE"] != null) SHOPCODE.SelectedValue = Request["SHOPCODE"].ToDecrypt(); if (SHOPCODE.SelectedIndex > -1) { SHOPNAME.Text = SHOPCODE.SelectedItem.Text; //ENDACCOUNT_STARTDATE.Items.Clear(); //foreach (Business.ENDACCOUNT _ENDACCOUNT in (new Business.ENDACCOUNT(this.Transaction)).FillCollection( // "where SERVERPART_ID = " + SERVERPART_ID.SelectedValue + " AND SHOPCODE = '" + SHOPCODE.SelectedValue + // "' AND VALID = 1 ORDER BY ENDACCOUNT_DATE DESC")) //{ // _ListItemEx = new ListItemEx(); // _ListItemEx.Text = _ENDACCOUNT.ENDACCOUNT_DATE.ToString(); // _ListItemEx.Value = _ENDACCOUNT.ENDACCOUNT_DATE.ToString(); // ENDACCOUNT_STARTDATE.Items.Add(_ListItemEx); //} //if (CurrObject.ENDACCOUNT_ID != 0 && CurrObject.ENDACCOUNT_ID != null) //{ // ENDACCOUNT_STARTDATE.SelectedValue = CurrObject.ENDACCOUNT_STARTDATE.ToString(); //} } } } #endregion #region 方法 -> 绑定下拉框 protected void SERVERPART_ID_CallBackSetControl(object sender, ClientSetEventArgs e) { SERVERPART _SERVERPART = new SERVERPART(this.Transaction); _SERVERPART.SERVERPART_ID_Encrypt = SERVERPART_ID.SelectedValue.ToEncrypt(); if (_SERVERPART.Select()) { SERVERPARTCODE.Text = _SERVERPART.SERVERPART_CODE; SERVERPART_NAME.Text = _SERVERPART.SERVERPART_NAME; PROVINCE_CODE.Text = _SERVERPART.PROVINCE_CODE.ToString(); e.SetValue(SERVERPARTCODE); e.SetValue(SERVERPART_NAME); e.SetValue(PROVINCE_CODE); } ListItemEx _ListItemEx = new ListItemEx(); SHOPCODE.Items.Clear(); _ListItemEx = new ListItemEx(); foreach (SERVERPARTSHOP _SERVERPARTSHOP in (new SERVERPARTSHOP(this.Transaction)).FillCollection( "where SERVERPART_ID = " + SERVERPART_ID.SelectedValue + " AND ISVALID = 1 ORDER BY SHOPCODE")) { _ListItemEx = new ListItemEx(); _ListItemEx.Text = _SERVERPARTSHOP.SHOPNAME; _ListItemEx.Value = _SERVERPARTSHOP.SHOPCODE; SHOPCODE.Items.Add(_ListItemEx); } if (SHOPCODE.SelectedIndex > -1) { SHOPNAME.Text = SHOPCODE.SelectedItem.Text; e.SetValue(SHOPNAME); } //结账人员 ENDPERSONCODE.Items.Clear(); foreach (CASHWORKER _CASHWORKER in (new CASHWORKER(this.Transaction)).FillCollection( "where LENGTH(CASHWORKER_LOGINNAME) = 4 AND WORKER_VALID = 1 AND SERVERPART_ID = " + SERVERPART_ID.SelectedValue + " and SUBSTR(NVL(WORKER_OTHER,'000000'),3,1) = '1' ORDER BY CASHWORKER_LOGINNAME")) { _ListItemEx = new ListItemEx(); _ListItemEx.Text = _CASHWORKER.CASHWORKER_NAME; _ListItemEx.Value = _CASHWORKER.CASHWORKER_LOGINNAME; ENDPERSONCODE.Items.Add(_ListItemEx); } //收银人员 CASHIER_NAME.Items.Clear(); foreach (CASHWORKER _CASHWORKER in (new CASHWORKER(this.Transaction)).FillCollection( "where LENGTH(CASHWORKER_LOGINNAME) = 4 AND WORKER_VALID = 1 AND SERVERPART_ID = " + SERVERPART_ID.SelectedValue + " and WORKER_OTHER LIKE '1%' ORDER BY CASHWORKER_LOGINNAME")) { _ListItemEx = new ListItemEx(); _ListItemEx.Text = _CASHWORKER.CASHWORKER_NAME; _ListItemEx.Value = _CASHWORKER.CASHWORKER_NAME; CASHIER_NAME.Items.Add(_ListItemEx); } if (ENDPERSONCODE.SelectedIndex > -1) { WORKER_NAME.Text = ENDPERSONCODE.SelectedItem.Text; e.SetValue(WORKER_NAME); } e.SetDropDownListEx(SHOPCODE); e.SetDropDownListEx(ENDPERSONCODE); e.SetDropDownListEx(CASHIER_NAME); } protected void SHOPCODE_CallBackSetControl(object sender, ClientSetEventArgs e) { SHOPNAME.Text = SHOPCODE.SelectedItem.Text; //ENDACCOUNT_STARTDATE.Items.Clear(); //ListItemEx _ListItemEx = new ListItemEx(); //foreach (Business.ENDACCOUNT _ENDACCOUNT in (new Business.ENDACCOUNT(this.Transaction)).FillCollection( // "where SERVERPART_ID = " + SERVERPART_ID.SelectedValue + " AND SHOPCODE = '" + SHOPCODE.SelectedValue + // "' AND VALID = 1 ORDER BY ENDACCOUNT_DATE DESC")) //{ // _ListItemEx = new ListItemEx(); // _ListItemEx.Text = _ENDACCOUNT.ENDACCOUNT_DATE.ToString(); // _ListItemEx.Value = _ENDACCOUNT.ENDACCOUNT_DATE.ToString(); // ENDACCOUNT_STARTDATE.Items.Add(_ListItemEx); //} e.SetValue(SHOPNAME); //e.SetDropDownListEx(ENDACCOUNT_STARTDATE); } protected void ENDPERSONCODE_CallBackSetControl(object sender, ClientSetEventArgs e) { WORKER_NAME.Text = ENDPERSONCODE.SelectedItem.Text; e.SetValue(WORKER_NAME); } protected void CASHPAY_DOWNLORD_CallBackSetControl(object sender, ClientSetEventArgs e) { if (TOTALSELLAMOUNT.Text.Trim() != "") { DIFFERENT_PRICE.Text = (double.Parse(CASHPAY_DOWNLORD.Text) - double.Parse(TOTALSELLAMOUNT.Text)).ToString(); e.SetValue(DIFFERENT_PRICE); } } protected void TOTALSELLAMOUNT_CallBackSetControl(object sender, ClientSetEventArgs e) { if (CASHPAY_DOWNLORD.Text.Trim() != "") { DIFFERENT_PRICE.Text = (double.Parse(CASHPAY_DOWNLORD.Text) - double.Parse(TOTALSELLAMOUNT.Text)).ToString(); e.SetValue(DIFFERENT_PRICE); } } #endregion //在此加入界面的数据初始化(Page_Load之前),如DropDownList的数据源绑定等 public override void InitializeWebControl() { //处理标记 TREATMENT_MARK.Clear(); DictionaryHelper.BindingDropDownList("TREATMENT_MARK", TREATMENT_MARK.Items, this.Transaction); TREATMENT_MARK.SelectedValue = "1"; //处理标记 VALID.Clear(); DictionaryHelper.BindingDropDownList("ISVALID", VALID.Items, this.Transaction); VALID.SelectedValue = "1"; } //载入数据 public override bool LoadData() { bool flag = false; //如果是工作流组件请自行修改载入的逻辑,以下是功能模块的默认代码 if (!String.IsNullOrEmpty(Request["ID"])) { CurrObject.ENDACCOUNT_ID_Encrypt = Request["ID"]; flag = this.Select(); if (CurrObject.APPROVE_STAFF == null || CurrObject.APPROVE_DATE == null) { DESCRIPTION_STAFF.Text = this.Page.PassportInfo.Name; DESCRIPTION_DATE.Text = DateTime.Now.ToString(); } return flag; } else { DESCRIPTION_STAFF.Text = this.Page.PassportInfo.Name; DESCRIPTION_DATE.Text = DateTime.Now.ToString(); DOWNLOAD_DATE.Text = DateTime.Now.ToString(); } //默认返回值,工作流组件返回True,功能模块返回False。 return (WorkFlowPage != null); } //OnDataAction_XXXXX 有一个系列可用,在此加入界面的逻辑处理 //e.CancelDataAction 来处理是否取消该动作; //失败的原因可以用Page.Alert()传递到页面 public override void OnDataAction_BeforeSave(DataActionEventArgs e) { base.OnDataAction_BeforeSave(e); } public override void OnDataAction_AfterSave(DataActionEventArgs e) { base.OnDataAction_AfterSave(e); if (mFileUpload.FileName.ToString() == "") { e.Success = DataActionResult.False; return; } string ImagePathSrc = string.Empty; if (mFileUpload.HasFile) { string extension = Path.GetExtension(mFileUpload.PostedFile.FileName).ToLower(); string newname = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss_ffff") + extension; if (extension == ".jpg" || extension == ".gif" || extension == ".png") { ImagePathSrc += "/UploadImageDir/ENDACCOUNT/"; string savePath = Server.MapPath("~/UploadImageDir/ENDACCOUNT/"); if (!Directory.Exists(savePath)) { Directory.CreateDirectory(savePath); } mFileUpload.PostedFile.SaveAs(savePath + newname); ImagePathSrc += newname; } } IMAGE _IMAGE = new IMAGE(this.Transaction); _IMAGE.IMAGE_PATH = ImagePathSrc; _IMAGE.TABLE_ID = e.CurrObject.ENDACCOUNT_ID; _IMAGE.TABLE_NAME = "T_ENDACCOUNT"; _IMAGE.IMAGE_DATE = System.DateTime.Now; _IMAGE.Insert(); } protected void DESCRIPTION_STAFF_CallBackSetControl(object sender, ClientSetEventArgs e) { DESCRIPTION_DATE.Text = DateTime.Now.ToString(); e.SetValue(DESCRIPTION_DATE); } protected void ENDACCOUNT_DATE_CallBackSetControl(object sender, ClientSetEventArgs e) { STATISTICS_DATE.Text = DateTime.Parse(ENDACCOUNT_DATE.Text).ToString(); ENDACCOUNT_STARTDATE.Text = DateTime.Parse(ENDACCOUNT_DATE.Text).ToShortDateString(); e.SetValue(STATISTICS_DATE); e.SetValue(ENDACCOUNT_STARTDATE); } #region 方法 -> 绑定列表 protected void ButtonSearch_CallBackClick(object sender, ClientSetEventArgs e) { GridViewEx1.Selecting(ObjectDataSource1, GridPageEx1); //设置UI变化 e.SetValue(GridViewEx1); e.SetValue(GridPageEx1); } //翻页事件 protected void GridPageEx1_CallBackPageChanged(object src, ClientSetEventArgs e) { GridViewEx1.Pagging(ObjectDataSource1, GridPageEx1); //设置UI变化 e.SetValue(GridViewEx1); } //查询SQL设置 protected void GridViewEx1_SelectMethodParameters(object sender, SelectMethodParametersArgs e) { //搜索选项的搜索条件过滤 if (!string.IsNullOrEmpty(TextBox_Search.Text)) e.AddOrParams(GridViewSearch1, TextBox_Search.Text); //且搜索条件 //e.AddAndParams(字段名, 值); e.AddAndParams("TABLE_NAME", "T_ENDACCOUNT"); e.AddAndParams("TABLE_ID", ENDACCOUNT_ID.Text); //或搜索条件 //e.AddOrParams(字段名, 值); //排序 e.AddOrderByParams(GridViewOrderBy1); } #endregion #region 方法 -> 选择 protected void SelectButton_CallBackClick(object sender, ClientSetEventArgs e) { CallBackButton _button = (CallBackButton)sender; GridViewRow _Row = (GridViewRow)_button.NamingContainer; string _Image_ID = GridViewEx1.DataKeys[_Row.RowIndex][0].ToString(); IMAGE _IMAGE = new IMAGE(this.Transaction); _IMAGE.IMAGE_ID = int.Parse(_Image_ID); if (_IMAGE.Select()) { e.SetValue(Image_ID, _IMAGE.IMAGE_ID.Value.ToString()); e.SetValue(IMAGE_PATH, _IMAGE.IMAGE_PATH); e.SetValue(IMAGE_DESC, _IMAGE.IMAGE_DESC); e.ExcuteClientScript("BindImg()"); } } #endregion #region 方法 -> 删除 protected void DeleteButton_CallBackClick(object sender, ClientSetEventArgs e) { CallBackButton _button = (CallBackButton)sender; GridViewRow _Row = (GridViewRow)_button.NamingContainer; string _Image_ID = GridViewEx1.DataKeys[_Row.RowIndex][0].ToString(); IMAGE _IMAGE = new IMAGE(this.Transaction); _IMAGE.Delete(int.Parse(_Image_ID)); e.SetValue(Image_ID, ""); e.SetValue(IMAGE_DESC, ""); e.SetValue(Table_Name, "T_ENDACCOUNT"); e.SetValue(Table_ID, ENDACCOUNT_ID.Text); ButtonSearch_CallBackClick(null, e); } #endregion } }