using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; 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 Business = SuperMap.RealEstate.SendRec.Storage.Business; using StorageHighWay = SuperMap.RealEstate.HighWay.Storage.Business; using HZQR.Common; namespace SuperMap.RealEstate.SendRec.Modules.CheckCommodity { public partial class Default : BasePage { #region 页面 -> 页面绑定 protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; //初始化并加载列表 //工具条按钮事件 GridViewEx1.SetOpenControl(ButtonHisCheckCommodity, "CHECKCOMMODITYList.aspx"); //设置回车焦点按钮 SetControlClientAction(ButtonSearch); //载入数据 ButtonDelete.Enabled = CHECKCOMMODITY1.LoadData(); //设置删除提示 SetControlConfirm(ButtonDelete, "您确认删除该记录,删除后将无法恢复数据?"); //设置按钮状态 SetControlClientAction(ButtonDelete, false, true, true); SetControlClientAction(ButtonSave); //注册遮罩式窗口关闭脚本 InitWebControls(); GridViewEx1.SelectingWithInit(ObjectDataSource1, GridPageEx1, StorageHighWay.CommonHelper.GetDictionary(Transaction, "SERVERPART_ID", "select SERVERPART_ID,SERVERPART_NAME FROM HIGHWAY_STORAGE.T_SERVERPART") ); } #endregion private void InitWebControls() { //绑定服务区 } #region 方法- > 页面List绑定 protected void ButtonSave_Click(object sender, EventArgs e) { try { //刷新类型 bool _RefreshType = ButtonDelete.Enabled; //保存数据 ButtonDelete.Enabled = CHECKCOMMODITY1.Save(); //刷新弹出页列表 RefreshOpenerGridPage(_RefreshType ? RefreshGridPageType.Update : RefreshGridPageType.Insert); //提示信息 if (ButtonDelete.Enabled) { //刷新对应的列表 GridViewEx1.SelectingWithInit(ObjectDataSource1, GridPageEx1, StorageHighWay.CommonHelper.GetDictionary(Transaction, "SERVERPART_ID", "select SERVERPART_ID,SERVERPART_NAME FROM HIGHWAY_STORAGE.T_SERVERPART") ); Alert("保存成功!", 3); } } catch (Exception ex) { //回滚事务 Transaction.Rollback(); //记录日志 ErrorLogHelper.Write(ex); #if DEBUG Alert("保存失败!可能的原因:\n" + ex.Message); #else Alert("保存失败!"); #endif } } protected void ButtonDelete_Click(object sender, EventArgs e) { try { //删除数据 ButtonDelete.Enabled = !CHECKCOMMODITY1.Delete(); //刷新弹出页列表 RefreshOpenerGridPage(RefreshGridPageType.Delete); //提示信息 Alert("删除成功!", 3); GridViewEx1.SelectingWithInit(ObjectDataSource1, GridPageEx1, StorageHighWay.CommonHelper.GetDictionary(Transaction, "SERVERPART_ID", "select SERVERPART_ID,SERVERPART_NAME FROM HIGHWAY_STORAGE.T_SERVERPART") ); } catch (Exception ex) { //回滚事务 Transaction.Rollback(); //记录日志 ErrorLogHelper.Write(ex); #if DEBUG Alert("删除失败!可能的原因:\n" + ex.Message); #else Alert("删除失败!"); #endif } } #endregion #region 方法 -> 页面page绑定 //查询 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); if (CHECKCOMMODITY1.CHECKCOMMODITY_ID.Text != "") { e.AddAndParams("CHECKCOMMODITY_ID", CHECKCOMMODITY1.CHECKCOMMODITY_ID.Text); } else { e.SetOtherUserCustomWhereSqlString = "1!=1"; } //且搜索条件 //e.AddAndParams(字段名, 值); //或搜索条件 //e.AddOrParams(字段名, 值); //排序 //e.AddOrderByParams(GridViewOrderBy1); } #endregion #region 方法 -> 行绑定 protected void GridViewEx1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { string _NEW_CHECKDESC = GridViewEx1.DataKeys[e.Row.RowIndex].Values["NEW_CHECKDESC"] == null ? "" : GridViewEx1.DataKeys[e.Row.RowIndex].Values["NEW_CHECKDESC"].ToString(); string _NEW_OVERPLUSCOUNT = GridViewEx1.DataKeys[e.Row.RowIndex].Values["NEW_OVERPLUSCOUNT"] == null ? "" : GridViewEx1.DataKeys[e.Row.RowIndex].Values["NEW_OVERPLUSCOUNT"].ToString(); TextBoxEx _COMMODITY_Count_TextBoxEx = e.Row.Cells[5].FindControl("COMMODITY_Count") as TextBoxEx; _COMMODITY_Count_TextBoxEx.Text = _NEW_OVERPLUSCOUNT; TextBoxEx _COMMODITY_Reason_TextBoxEx = e.Row.Cells[6].FindControl("COMMODITY_Reason") as TextBoxEx; _COMMODITY_Reason_TextBoxEx.Text = _NEW_CHECKDESC; } } #endregion #region 方法 -> 打印盘存表 protected void ButtonPrintBill_Click(object sender, EventArgs e) { //判断对应的有没有保存 CurrObject.CHECKCOMMODITY_ID if (CHECKCOMMODITY1.CHECKCOMMODITY_ID.Text == null || CHECKCOMMODITY1.CHECKCOMMODITY_ID.Text == "") { Alert("请先保存对应的盘点信息"); return; } //1.插入数据 2.打印对应的表单 Business.CHECKCOMMODITYDETAIL _CHECKCOMMODITYDETAIL = new Business.CHECKCOMMODITYDETAIL(this.Transaction); _CHECKCOMMODITYDETAIL.InsertIntoFromStock(CHECKCOMMODITY1.SERVERPART_ID.SelectedValue, CHECKCOMMODITY1.CHECKCOMMODITY_ID.Text, CHECKCOMMODITY1.CHECKDATE.Text); DataTable _dt = _CHECKCOMMODITYDETAIL.GetCheckCommodityStockTable(CHECKCOMMODITY1.CHECKCOMMODITY_ID.Text); ExcelHelper _ExcelHelper = new ExcelHelper(); _ExcelHelper.DataTableToExcel("盘存商品数据导出", _dt, "盘存数据", true); } #endregion #region 方法 -> 保存数据 protected void ButtonSave_Data_Click(object sender, EventArgs e) { //判断对应的有没有保存 CurrObject.CHECKCOMMODITY_ID if (CHECKCOMMODITY1.CHECKCOMMODITY_ID.Text == null || CHECKCOMMODITY1.CHECKCOMMODITY_ID.Text == "") { Alert("请先保存对应的盘点信息"); return; } foreach (GridViewRow _GVR in GridViewEx1.Rows) { if (_GVR.RowType == DataControlRowType.DataRow) { try { //采购数量 PURCHASECOUNT_TextBoxEx TextBoxEx _COMMODITY_Count_TextBoxEx = _GVR.Cells[5].FindControl("COMMODITY_Count") as TextBoxEx; //单位 Unit_DropDownListEx TextBoxEx _COMMODITY_Reason_TextBoxEx = _GVR.Cells[6].FindControl("COMMODITY_Reason") as TextBoxEx; string _CHECKCOMMODITYDETAIL_ID = GridViewEx1.DataKeys[_GVR.RowIndex].Values["CHECKCOMMODITYDETAIL_ID"].ToString(); string _SERVERPARTSTOCK_ID = GridViewEx1.DataKeys[_GVR.RowIndex].Values["SERVERPARTSTOCK_ID"].ToString(); string _COMMODITY_ID = GridViewEx1.DataKeys[_GVR.RowIndex].Values["COMMODITY_ID"].ToString(); Business.TEMPCHECKCOMMODITYDETAIL _TEMPCHECKCOMMODITYDETAIL = new Business.TEMPCHECKCOMMODITYDETAIL(this.Transaction); _TEMPCHECKCOMMODITYDETAIL.AddSearchParameter("CHECKCOMMODITYDETAIL_ID", _CHECKCOMMODITYDETAIL_ID); if (_TEMPCHECKCOMMODITYDETAIL.Search()) { if (_COMMODITY_Count_TextBoxEx.Text == "") { _TEMPCHECKCOMMODITYDETAIL.OVERPLUSCOUNT = null; } else { _TEMPCHECKCOMMODITYDETAIL.OVERPLUSCOUNT = double.Parse(_COMMODITY_Count_TextBoxEx.Text); } _TEMPCHECKCOMMODITYDETAIL.CHECKDESC = _COMMODITY_Reason_TextBoxEx.Text; _TEMPCHECKCOMMODITYDETAIL.Update(); } else { _TEMPCHECKCOMMODITYDETAIL.ResetProperty(); _TEMPCHECKCOMMODITYDETAIL.CHECKCOMMODITYDETAIL_ID = int.Parse(_CHECKCOMMODITYDETAIL_ID); _TEMPCHECKCOMMODITYDETAIL.OVERPLUSCOUNT = double.Parse(_COMMODITY_Count_TextBoxEx.Text); _TEMPCHECKCOMMODITYDETAIL.CHECKDESC = _COMMODITY_Reason_TextBoxEx.Text; _TEMPCHECKCOMMODITYDETAIL.COMMODITY_ID = int.Parse(_COMMODITY_ID); _TEMPCHECKCOMMODITYDETAIL.CHECKCOMMODITY_ID = int.Parse(CHECKCOMMODITY1.CHECKCOMMODITY_ID.Text); _TEMPCHECKCOMMODITYDETAIL.SERVERPARTSTOCK_ID = int.Parse(_SERVERPARTSTOCK_ID); _TEMPCHECKCOMMODITYDETAIL.Insert(); } } catch { } } } Alert("保存成功!"); } #endregion #region 方法 -> 确定盘存 protected void ButtonNew_Click(object sender, EventArgs e) { HideClientMask("正在完成盘存..."); foreach (Business.TEMPCHECKCOMMODITYDETAIL _TEMPCHECKCOMMODITYDETAIL in (new Business.TEMPCHECKCOMMODITYDETAIL( this.Transaction).FillCollection("where CHECKCOMMODITY_ID = " + CHECKCOMMODITY1.CHECKCOMMODITY_ID.Text))) { //当数据为空的情况下,不更新对应的数据 if (_TEMPCHECKCOMMODITYDETAIL.OVERPLUSCOUNT == null) { continue; } //更新对应的库存 1.更新库存-添加库存 2.删除对应的临时 3.插入对应的盘存表 using (Business.SERVERPARTSTOCK _SERVERPARTSTOCK = new Business.SERVERPARTSTOCK(this.Transaction)) { using (Business.CHECKCOMMODITYDETAIL _CHECKCOMMODITYDETAIL = new Business.CHECKCOMMODITYDETAIL(this.Transaction)) { _CHECKCOMMODITYDETAIL.CHECKCOMMODITYDETAIL_ID = _TEMPCHECKCOMMODITYDETAIL.CHECKCOMMODITYDETAIL_ID; _CHECKCOMMODITYDETAIL.COMMODITY_CODE = _SERVERPARTSTOCK.COMMODITY_CODE; _CHECKCOMMODITYDETAIL.COMMODITY_BARCODE = _SERVERPARTSTOCK.COMMODITY_BARCODE; _CHECKCOMMODITYDETAIL.LASTCOUNT = _TEMPCHECKCOMMODITYDETAIL.OVERPLUSCOUNT; _CHECKCOMMODITYDETAIL.CHECKDESC = _TEMPCHECKCOMMODITYDETAIL.CHECKDESC; _CHECKCOMMODITYDETAIL.CHECKCOMMODITY_ID = int.Parse(CHECKCOMMODITY1.CHECKCOMMODITY_ID.Text); //领料数 //入库数 _CHECKCOMMODITYDETAIL.Update(); } _SERVERPARTSTOCK.SERVERPARTSTOCK_ID = _TEMPCHECKCOMMODITYDETAIL.SERVERPARTSTOCK_ID; _SERVERPARTSTOCK.OVERPLUSCOUNT = _TEMPCHECKCOMMODITYDETAIL.OVERPLUSCOUNT; _SERVERPARTSTOCK.TOTALCOUNT = _TEMPCHECKCOMMODITYDETAIL.OVERPLUSCOUNT; _SERVERPARTSTOCK.Update(); } _TEMPCHECKCOMMODITYDETAIL.Delete(); } //更新盘存状态 Business.CHECKCOMMODITY _CHECKCOMMODITY = new Business.CHECKCOMMODITY(this.Transaction); _CHECKCOMMODITY.CHECKCOMMODITY_ID = int.Parse(CHECKCOMMODITY1.CHECKCOMMODITY_ID.Text); if (_CHECKCOMMODITY.Select()) { _CHECKCOMMODITY.CHECK_STATE = 1; _CHECKCOMMODITY.Update(); } //清空数据 Business.CHECKCOMMODITY _nEWCHECKCOMMODITY = new Business.CHECKCOMMODITY(this.Transaction); _nEWCHECKCOMMODITY.PASSPORT_ID = PassportInfo.ID; _nEWCHECKCOMMODITY.CHECKPERSON = PassportInfo.Name; CHECKCOMMODITY1.CurrObject.CopyFrom(_nEWCHECKCOMMODITY); CHECKCOMMODITY1.BindObjectToControl(); ButtonDelete.Enabled = false; //重新绑定数据 GridViewEx1.SelectingWithInit(ObjectDataSource1, GridPageEx1, StorageHighWay.CommonHelper.GetDictionary(Transaction, "SERVERPART_ID", "select SERVERPART_ID,SERVERPART_NAME FROM HIGHWAY_STORAGE.T_SERVERPART") ); Alert("盘存完成!!"); } #endregion #region 方法 -> 刷新列表 protected void ButtonreFlash_Click(object sender, EventArgs e) { //刷新列表 GridViewEx1.SelectingWithInit(ObjectDataSource1, GridPageEx1); } #endregion } }