using System; 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 StorageHighWay = SuperMap.RealEstate.HighWay.Storage.Business; namespace SuperMap.RealEstate.SendRec.Storage.CheckDayCommodity { /// /// T_CHECKCOMMODITY_盘存表 的WebUserControl /// public partial class CHECKCOMMODITY : UserControl { protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; } //在此加入界面的数据初始化(Page_Load之前),如DropDownList的数据源绑定等 public override void InitializeWebControl() { } private void InitWebControls() { SERVERPART_ID.Clear(); foreach (StorageHighWay.SERVERPART _SERVERPART in (new StorageHighWay.SERVERPART(this.Transaction)).GetPassportServerPart(Page.PassportInfo.CityAuthority)) { ListItemEx _ListItemEx = new ListItemEx(); _ListItemEx.Text = _SERVERPART.SERVERPART_NAME; _ListItemEx.Value = _SERVERPART.SERVERPART_ID.ToString(); SERVERPART_ID.Items.Add(_ListItemEx); } } //载入数据 public override bool LoadData() { InitWebControls(); //盘存时间 //CHECKDATE.Text = System.DateTime.Now.ToString(); CHECKPERSON.Text = Page.PassportInfo.Name; PASSPORT_ID.Text = Page.PassportInfo.ID.ToString(); CHECK_STATE.Text = "0"; //如果是工作流组件请自行修改载入的逻辑,以下是功能模块的默认代码 if (!String.IsNullOrEmpty(Request["ID"])) { CurrObject.CHECKCOMMODITY_ID_Encrypt = Request["ID"]; return this.Select(); } else { //加载状态为0的数据--根据当前的状态 Business.CHECKCOMMODITY _CHECKCOMMODITY = new Business.CHECKCOMMODITY(this.Transaction); _CHECKCOMMODITY.AddSearchParameter("CHECK_STATE", 0); _CHECKCOMMODITY.AddSearchParameter("PASSPORT_ID", Page.PassportInfo.ID); if (_CHECKCOMMODITY.Search()) { BindObjectToControl(_CHECKCOMMODITY); CurrObject.CopyFrom(_CHECKCOMMODITY); //CurrObject = _CHECKCOMMODITY; return true; } return false; } //默认返回值,工作流组件返回True,功能模块返回False。 return (WorkFlowPage != null); } //OnDataAction_XXXXX 有一个系列可用,在此加入界面的逻辑处理 //e.CancelDataAction 来处理是否取消该动作; //失败的原因可以用Page.Alert()传递到页面 public override void OnDataAction_BeforeSave(DataActionEventArgs e) { base.OnDataAction_BeforeSave(e); } public override bool Save(bool AutoBindData = true) { //一个月只能一次 try { if (PRECHECKDATE.Text != "") { if (DateTime.Parse(CHECKDATE.Text) <= DateTime.Parse(PRECHECKDATE.Text)) { throw new Exception("盘存时间一定要大于上次时间"); } } //该服务区该月是否已经盘存 //string StrSql = "SELECT MAX(CHECKDATE) FROM SENDREC_STORAGE.T_CHECKCOMMODITY WHERE SERVERPART_ID=" + SERVERPART_ID.SelectedValue + " AND CHECK_STATE = 1"; //Business.CHECKCOMMODITY _CHECKCOMMODITY = new Business.CHECKCOMMODITY(this.Transaction); //DataTable _dt = _CHECKCOMMODITY.ExecuteDataTable(StrSql); //if (_dt.Rows.Count > 0) //{ // if (_dt.Rows[0][0].ToString() != "") // { // if (int.Parse(DateTime.Parse(_dt.Rows[0][0].ToString()).ToString("yyyyMM")) >= int.Parse(DateTime.Parse(CHECKDATE.Text).ToString("yyyyMM"))) // { // Page.Alert("该服务区已经盘点,并且最后的盘点时间为:" + _dt.Rows[0][0].ToString()); // return false; // } // } //} return base.Save(AutoBindData); } catch (Exception ex) { Page.Alert(ex.Message); return false; } } protected void SERVERPART_ID_CallBackSetControl(object sender, ClientSetEventArgs e) { if (CHECKCOMMODITY_ID.Text == "") { //获得最近一次的盘存 Business.CHECKCOMMODITY _CHECKCOMMODITY = new Business.CHECKCOMMODITY(this.Transaction); string StrSql = "SELECT MAX(CHECKDATE) FROM SENDREC_STORAGE.T_CHECKCOMMODITY WHERE SERVERPART_ID=" + e.Argument; DataTable _dt = _CHECKCOMMODITY.ExecuteDataTable(StrSql); if (_dt.Rows.Count > 0) { PRECHECKDATE.Text = _dt.Rows[0][0].ToString(); } else { PRECHECKDATE.Text = ""; } e.SetValue(this); //刷新对应的列表 } } } }