using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using WMS.Frm.Base; using WMS.Model.RK; using WMS.Common; using DevExpress.XtraGrid.Columns; using DevExpress.XtraEditors.Repository; using WMS.Ctrl; using WMS.Model.Base; using WMS.FrmBaseData; using System.Threading; using WMS.Business.Common; using WMS.Business; using WMS.Business.Base; using WMS.Business.RK; namespace WMS.FrmRK { /// /// 窗体:入库通知单 /// public partial class FrmWareNotice : FormBase { #region 变量 public static FrmWareNotice frmWareNotice; private WareNoticeModel wareNoticeModel = new WareNoticeModel();//当前选择的入库通知单 private List listWareNoticeModel = new List();//入库通知单集合 private List listWareNoticeTabModel = new List();//入库商品明细集合 private List listSKU = new List();//规格集合 //private bool isSKU = false;//默认未开启SKU private int flag = -1;//0:增加;1:修改 private DevExpress.XtraEditors.Repository.RepositoryItemLookUpEdit lueUnits = new RepositoryItemLookUpEdit(); //全选判断 bool m_status = false; #endregion #region 初始化 /// /// 无参构造 /// public FrmWareNotice() { InitializeComponent(); //lueID.LoadData();//编号 //dicClosePerson.LoadData();//关闭人 //dicConfirm.LoadData();//审核人 lueProvider.LoadData();//供应商 lueState.LoadData();//状态 //dicRecipients.LoadData();//收货人 lueStorageMode.LoadData();//入库类型 //dicOperator.LoadData();//操作人 } /// /// 本窗体加载的时候 /// /// /// public void FrmWareNotice_Load(object sender, EventArgs e) { //关闭人 //dicClosePerson.Properties.DataSource = getSameDepUserList(); //dicClosePerson.Properties.KeyValue = userData.USER_ID; //审核人 //dicConfirm.Properties.DataSource = getSameDepUserList(); //dicConfirm.TextBoxFlag = userData.USER_ID; //dicConfirm.TextBoxValue = userData.NAME; //供应商 lueProvider.Properties.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("PY_NAME", "助记码", 8)); DataTable dt = lueProvider.Properties.DataSource as DataTable; DataRow dr = dt.NewRow(); dt.Rows.Add(dr); lueProvider.Properties.DataSource = dt; ctl_ck.TextBoxValue = userData.STORAGE_NAME; ctl_ck.TextBoxFlag = userData.STORAGE_ID; //收货人 //dicRecipients.Properties.DataSource = getSameDepUserList(); //dt = dicRecipients.Properties.DataSource as DataTable; //dr = dt.NewRow(); //dt.Rows.Add(dr); //dicRecipients.Properties.DataSource = dt; //操作人 //dicOperator.Properties.DataSource = getSameDepUserList(); //dicOperator.TextBoxFlag = userData.USER_ID; //dicOperator.TextBoxValue = userData.NAME; //单位下拉框 lueUnit.NullText = ""; lueUnit.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("VC_DICTIONARY_NAME", "单位")); lueUnit.ValueMember = "VC_CHAR_VALUE"; lueUnit.DisplayMember = "VC_DICTIONARY_NAME"; DataTable strResult = new DataTable(); try { strResult = IBussFactory.Instance().GetCustomCtrlData("t_sys_dictionary_tab", "VC_CHAR_VALUE", "VC_DICTIONARY_NAME", " VC_DICTIONARY_TYPE = 'vc_uom' and c_flag = '1'", ""); } catch (Exception) { SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!"); } if (strResult != null) { lueUnit.DataSource = strResult; } lueUnits.NullText = ""; lueUnits.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("UNIT_NAME", "单位")); lueUnits.ValueMember = "UNIT"; lueUnits.DisplayMember = "UNIT_NAME"; //重量单位下拉框 lueKGUnit.NullText = ""; lueKGUnit.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("VC_DICTIONARY_NAME", "重量单位")); lueKGUnit.ValueMember = "VC_CHAR_VALUE"; lueKGUnit.DisplayMember = "VC_DICTIONARY_NAME"; try { strResult = IBussFactory.Instance().GetCustomCtrlData("t_sys_dictionary_tab", "VC_CHAR_VALUE", "VC_DICTIONARY_NAME", " VC_DICTIONARY_TYPE = 'kg_unit' and c_flag = '1'", ""); } catch (Exception) { SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!"); } if (strResult != null) { lueKGUnit.DataSource = strResult; } bindGrid(wareNoticeModel);//绑定数据 //bindGoodsGrid();//绑定商品列表数据 bsWareNoticeEdit.DataSource = wareNoticeModel;//绑定选中的通知单 FrmSelectModle = new WareNoticeModel();//通用查询 ////检测是否开启SKU //if (WebLockConfig.Instance.WebSysParams.GetParamValue("IsSKU") == "0") //{ // isSKU = true; //} } /// /// 得到与登录用户同部门的所有用户 /// public DataTable getSameDepUserList() { string errText = string.Empty; DataTable strResult = new DataTable(); try { strResult = IBussFactory.Instance().GetSameDepUserInfo(userData.USER_ID); } catch (Exception) { SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!"); } if (errText == string.Empty) { return strResult; } else { SystemCommon.ShowInfoMessageBox(errText); } return null; } public static FrmWareNotice getInstance() { if (frmWareNotice == null || frmWareNotice.IsDisposed) { frmWareNotice = new FrmWareNotice(); } return frmWareNotice; } #endregion #region 绑定数据 /// /// 整体绑定数据 /// private void bindGrid(WareNoticeModel model) { string errText = string.Empty; new Thread(delegate () { try { listWareNoticeModel = IBussFactory.Instance().GetWareNoticeList(model); if (errText.Trim().Length > 0) { SystemCommon.ShowInfoMessageBox(errText); } } catch (Exception) { SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!"); } this.Invoke(new MethodInvoker(delegate () { bsWareNotice.DataSource = listWareNoticeModel; gVWareNotice.RefreshData(); if (listWareNoticeModel.Count > 0) { string wareId = listWareNoticeModel[0].WAREHOUSING_ID; GetDetailDoc(wareId); } if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = false; } if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; } if (frmButtonItem.ContainsKey("Remark")) { frmButtonItem["Remark"].Enabled = false; } if (frmButtonItem.ContainsKey("ChooseGoods")) { frmButtonItem["ChooseGoods"].Enabled = false; } })); }).Start(); } /// /// 绑定采购商品明细 /// /// public void bindWareNoticeTab(WareNoticeTabModel WareNoticeModel) { string errText = string.Empty; listWareNoticeTabModel = new List(); string strWareNoticeTabList = string.Empty; try { listWareNoticeTabModel = IBussFactory.Instance().GetWareNoticeTabList(WareNoticeModel); } catch (Exception) { SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!"); } if (errText == string.Empty) { bsWareNoticeTab.DataSource = listWareNoticeTabModel; GVWareNoticeTab.RefreshData(); xtaEdit.Text = "入库商品明细-" + wareNoticeModel.WAREHOUSING_ID; } else { SystemCommon.ShowInfoMessageBox(errText); } } /// /// 条件查询 /// /// /// public override void Search() { xtcNotice.Focus(); bindGrid(wareNoticeModel); if (!string.IsNullOrEmpty(wareNoticeModel.STATE) && decimal.Parse(wareNoticeModel.STATE) >= 4)//如果已上架、关闭、作废 变背景色、禁止修改 { if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = false; } if (frmButtonItem.ContainsKey("EditAdd")) { frmButtonItem["EditAdd"].Enabled = false; } if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; } if (frmButtonItem.ContainsKey("Close")) { frmButtonItem["Close"].Enabled = false; } if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = false; } if (frmButtonItem.ContainsKey("Receive")) { frmButtonItem["Receive"].Enabled = false; } if (frmButtonItem.ContainsKey("CodeDisk")) { frmButtonItem["CodeDisk"].Enabled = false; } gVWareNotice.Appearance.Row.BackColor = Color.FromArgb(190, 180, 160); gVWareNotice.Appearance.EvenRow.BackColor = Color.FromArgb(190, 180, 160); } else { if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = true; } if (frmButtonItem.ContainsKey("EditAdd")) { frmButtonItem["EditAdd"].Enabled = false; } if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = true; } if (frmButtonItem.ContainsKey("Close")) { frmButtonItem["Close"].Enabled = true; } if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = true; } if (frmButtonItem.ContainsKey("Receive")) { frmButtonItem["Receive"].Enabled = true; } if (frmButtonItem.ContainsKey("CodeDisk")) { frmButtonItem["CodeDisk"].Enabled = true; } gVWareNotice.Appearance.Row.BackColor = Color.White; gVWareNotice.Appearance.EvenRow.BackColor = Color.White; } } /// /// Tab页改,改通用查询Model /// /// /// private void xtraTabControl1_SelectedPageChanged(object sender, DevExpress.XtraTab.TabPageChangedEventArgs e) { if (xtcNotice.SelectedTabPageIndex == 0) { FrmSelectModle = new WareNoticeModel(); if (flag == 0 || flag == 1) { //frmButtonItem["choose"].Enabled = true; if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = false; } } } else if (xtcNotice.SelectedTabPageIndex == 1) { FrmSelectModle = new WareNoticeTabModel(); if (flag == 0 || flag == 1) { //frmButtonItem["choose"].Enabled = false; if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = true; } } } else { if (flag == 0 || flag == 1) { //frmButtonItem["choose"].Enabled = true; if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = false; } } } } /// /// 通用查询 /// /// public override void LoadListData(DataTable table) { if (xtcNotice.SelectedTabPageIndex == 0) { listWareNoticeModel = ConvertHelper.ConvertToList(table); bsWareNotice.DataSource = listWareNoticeModel; gVWareNotice.RefreshData(); } else { listWareNoticeTabModel = ConvertHelper.ConvertToList(table); bsWareNoticeTab.DataSource = listWareNoticeTabModel; GVWareNoticeTab.RefreshData(); } } /// /// 供应商改变 改日期 可选商品 /// /// /// private void lueProvider_EditValueChanged(object sender, EventArgs e) { if (flag == -1) { return; } if (!string.IsNullOrEmpty(lueProvider.Text)) { ProviderModel temp = new ProviderModel(); temp.PROVIDER_ID = lueProvider.EditValue.ToString(); //整体绑定数据 DataSet strResult = new DataSet(); try { strResult = IBussFactory.Instance().getProviderDS(temp); } catch (Exception) { SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!"); } if (strResult != null) { List templist = ConvertHelper.ConvertToList(strResult.Tables[0]); if (templist.Count > 0) { temp.ARR_DAYS = templist[0].ARR_DAYS; wareNoticeModel.EXPECTED_DELIVERY_DATE = System.DateTime.Now.AddDays(temp.ARR_DAYS); deExpectDate.DateTime = System.DateTime.Now.AddDays(temp.ARR_DAYS); } else { SystemCommon.ShowInfoMessageBox("未找到供应商"); } ctrlDicGoods.SqlStr = "where provider_id = '" + temp.PROVIDER_ID + "'"; if (frmButtonItem.ContainsKey("ChooseGoods")) { frmButtonItem["ChooseGoods"].Enabled = true; } } } else { deExpectDate.DateTime = System.DateTime.MinValue; deEndDate.DateTime = System.DateTime.MinValue; // deRealDate.DateTime = System.DateTime.MinValue; if (frmButtonItem.ContainsKey("ChooseGoods")) { frmButtonItem["ChooseGoods"].Enabled = false; } } } /// /// 预计日期改变 改终止日期、实际日期 /// /// /// private void deExpectDate_EditValueChanged(object sender, EventArgs e) { if (deExpectDate.DateTime == DateTime.MinValue) { return; } wareNoticeModel.END_DELIVERY_DATE = deExpectDate.DateTime.AddDays(7); deEndDate.DateTime = deExpectDate.DateTime.AddDays(7); wareNoticeModel.REAL_DELIVERY_DATE = deExpectDate.DateTime.AddDays(7); // deRealDate.DateTime = deExpectDate.DateTime.AddDays(7); } #endregion #region 按钮事件 #region 商品选择 /// /// 商品选择 /// /// /// private void ctrlDicGoods_Button_Click(object sender, EventArgs e) { if (ctrlDicGoods.SelectTable.Rows.Count == 0) { //SystemCommon.ShowInfoMessageBox("您未选择商品!"); return; } //商品集合 listGoodsInfoModel = ConvertHelper.ConvertToList(ctrlDicGoods.SelectTable); /*得到当前登录角色所在仓库、库区*/ string errText = string.Empty; // List strResult = new List(); RoleStorageModel rsModel = new RoleStorageModel(); rsModel.ROLE_ID = userData.ROLE_ID; /*将选择的商品加入入库商品明细*/ foreach (GoodsInfoModel item in listGoodsInfoModel) { ////如果被选中 //if (item.IsCheck) //{ WareNoticeTabModel model = new WareNoticeTabModel(); model.GOODS_ID = item.GOODS_ID; model.GOODS_NAME = item.GOODS_NAME; model.UNIT = item.UNIT; model.SCALE_UNIT = item.SCALE_UNIT; model.PRICE = item.PRICE; model.GVOLUME = item.GVOLUME; model.NET_WEIGH = item.NET_WEIGHT; model.ROUGH_WEIGHT = item.GROSS_WEIGHT; model.STORAGE_ID = ctl_ck.TextBoxFlag;// rsModel.STORAGE_ID; model.STORAGE_NAME = ctl_ck.TextBoxValue;// rsModel.STORAGE_NAME; model.STORAGE_AREA_ID = rsModel.STORAGE_AREA_ID; model.GOODS_TYPE_ID = item.GOODS_TYPE_ID; model.GOODS_TYPE_NAME = item.GOODS_TYPE_NAME; model.STORAGE_AREA_ID = ""; if (flag == 1) { //修改:给通知单编号赋值 model.WAREHOUSING_ID = wareNoticeModel.WAREHOUSING_ID; } //判断该商品是否已经在入库商品明细中后添加 bool had = false; foreach (WareNoticeTabModel wntModel in listWareNoticeTabModel) { if (wntModel.GOODS_ID == model.GOODS_ID) { had = true; } } if (!had) { listWareNoticeTabModel.Add(model); } //} } if (listWareNoticeTabModel.Count > 0) { xtcNotice.SelectedTabPageIndex = 1; GVWareNoticeTab.Focus(); GVWareNoticeTab.RefreshData(); //焦点置于采购数量 GVWareNoticeTab.FocusedColumn = GVWareNoticeTab.Columns[1]; GVWareNoticeTab.FocusedRowHandle = 0; // GVWareNoticeTab.SetFocusedValue("AMOUNT"); } else { SystemCommon.ShowInfoMessageBox("未选择任何商品或所选择的商品已经在采购单中,请重新选择"); } } #endregion /// /// 码盘 /// /// /// public void CodeDisk() { if (!string.IsNullOrEmpty(wareNoticeModel.WAREHOUSING_ID)) { if (wareNoticeModel.STATE == "0") { SystemCommon.ShowInfoMessageBox("该入库通知单未被审核,不能进行码盘操作"); return; } if (wareNoticeModel.TRAY_STATE != "1") { FormBase formBase = OpenFrmTable("WMS.FrmRK", "FrmCodeDisk");//创建窗体 if (formBase != null) { //FrmCodeDisk frmCodeDisk = formBase as FrmCodeDisk; //frmCodeDisk.model = wareNoticeModel; //if (!OpenTabAddFrm("0302", "FrmCodeDisk", "收货码盘-" + wareNoticeModel.WAREHOUSING_ID)) { // frmCodeDisk.FrmCodeDisk_Load(null, null);//如果已经被打开,执行一下窗体加载方法 } } } else { SystemCommon.ShowInfoMessageBox("已经码盘,不能再进行码盘操作"); } } else { SystemCommon.ShowInfoMessageBox("请选择要码盘的记录"); } } /// /// 收货 /// /// /// public void Receive() { if (!string.IsNullOrEmpty(wareNoticeModel.WAREHOUSING_ID)) { if (wareNoticeModel.STATE != "0" && wareNoticeModel.STATE != "1" && wareNoticeModel.STATE != "2") { SystemCommon.ShowInfoMessageBox("该入库单已经收货,不能进行收货操作"); return; } FormBase formBase = OpenFrmTable("WMS.FrmRK", "FrmStorageLot");//创建窗体 if (formBase != null) { try { FrmStorageLot frmReceive = formBase as FrmStorageLot; frmReceive.sto_id = wareNoticeModel.WAREHOUSING_ID; if (!OpenTabAddFrm("0303", "FrmStorageLot", "收货入库-" + wareNoticeModel.WAREHOUSING_ID)) { frmReceive.FrmStorage_Load(null, null);//如果已经被打开,执行一下窗体加载方法 } } catch (Exception ex) { } } } else { SystemCommon.ShowInfoMessageBox("请选择要收货的记录"); } } /// /// 增加按钮 /// public override void Add() { labGoods.Visible = false; ctrlGoods.Visible = false; flag = 0;//标识增加 GVWareNoticeTab.OptionsBehavior.Editable = true;//明细可编辑 colAMOUNT.OptionsColumn.AllowEdit = true; colUNIT.OptionsColumn.AllowEdit = true; colPRODUCTION_DATE.OptionsColumn.AllowEdit = true; xtaEdit.Text = "入库商品明细"; xtcNotice.SelectedTabPageIndex = 1;//先填写通知单 panelControl1.Visible = true;//信息控件可见 panelControl2.Visible = false;//关闭控件不可见 xtaEdit.PageEnabled = true; txtID.Enabled = false;//编号不可用 lueState.Enabled = false;//状态不可用 // dicConfirm.Enabled = false;//审核人不可用 wareNoticeModel = new WareNoticeModel();//清空通知单 bsWareNoticeEdit.DataSource = wareNoticeModel; dicClosePerson.TextBoxFlag = null; dicClosePerson.TextBoxValue = null; listWareNoticeTabModel.Clear(); bsWareNoticeTab.DataSource = listWareNoticeTabModel; GVWareNoticeTab.RefreshData(); //ctrlDicGoods.Enabled = true; if (frmButtonItem.ContainsKey("ChooseGoods")) { frmButtonItem["ChooseGoods"].Enabled = true; } //状态默认未审核 wareNoticeModel.STATE = "0"; lueState.EditValue = "0"; //入库类型默认采购入库 wareNoticeModel.STORAGE_MODE = "0"; lueStorageMode.EditValue = "0"; //操作人默认当前用户 wareNoticeModel.RECORD_PERSON = userData.USER_ID; dicOperator.TextBoxFlag = userData.USER_ID; dicOperator.TextBoxValue = userData.NAME; //时间默认当前时间 wareNoticeModel.ORDER_DATE = DateTime.Now; deOrder.DateTime = DateTime.Now; wareNoticeModel.END_DELIVERY_DATE = DateTime.Now; deEndDate.DateTime = DateTime.Now.AddDays(10); wareNoticeModel.EXPECTED_DELIVERY_DATE = DateTime.Now; deExpectDate.DateTime = DateTime.Now; wareNoticeModel.REAL_DELIVERY_DATE = DateTime.Now; // deRealDate.DateTime = DateTime.Now; if (frmButtonItem.ContainsKey("Search")) { frmButtonItem["Search"].Enabled = false; } if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = false; } if (frmButtonItem.ContainsKey("EditAdd")) { frmButtonItem["EditAdd"].Enabled = false; } if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; } if (frmButtonItem.ContainsKey("Export")) { frmButtonItem["Export"].Enabled = false; } if (frmButtonItem.ContainsKey("Close")) { frmButtonItem["Close"].Enabled = false; } if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = false; } if (frmButtonItem.ContainsKey("Receive")) { frmButtonItem["Receive"].Enabled = false; } if (frmButtonItem.ContainsKey("CodeDisk")) { frmButtonItem["CodeDisk"].Enabled = false; } if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = false; } if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = true; } if (frmButtonItem.ContainsKey("Remark")) { frmButtonItem["Remark"].Enabled = true; } } /// /// 以当前增加 /// public void EditAdd() { labGoods.Visible = false; ctrlGoods.Visible = false; flag = 0;//标识新增 //GVWareNoticeTab.OptionsBehavior.Editable = true;//明细可编辑 colAMOUNT.OptionsColumn.AllowEdit = true; colUNIT.OptionsColumn.AllowEdit = true; colPRODUCTION_DATE.OptionsColumn.AllowEdit = true; xtaEdit.Text = "入库商品明细"; panelControl1.Visible = true;//信息控件可见 panelControl2.Visible = false;//关闭控件不可见 txtID.Enabled = false;//编号不可用 lueState.Enabled = false;//状态不可用 /// dicConfirm.Enabled = false;//审核人不可用 //ctrlDicGoods.Enabled = true; //if (frmButtonItem.ContainsKey("ChooseGoods")) { frmButtonItem["ChooseGoods"].Enabled = true; } wareNoticeModel.WAREHOUSING_ID = null; txtID.Text = null; bsWareNoticeEdit.DataSource = wareNoticeModel; foreach (WareNoticeTabModel item in listWareNoticeTabModel) { item.WAREHOUSING_ID = null; } bsWareNoticeTab.DataSource = listWareNoticeTabModel; GVWareNoticeTab.RefreshData(); //状态默认未审核 wareNoticeModel.STATE = "0"; lueState.EditValue = "0"; if (frmButtonItem.ContainsKey("Search")) { frmButtonItem["Search"].Enabled = false; } if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = false; } if (frmButtonItem.ContainsKey("EditAdd")) { frmButtonItem["EditAdd"].Enabled = false; } if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; } if (frmButtonItem.ContainsKey("Export")) { frmButtonItem["Export"].Enabled = false; } if (frmButtonItem.ContainsKey("Close")) { frmButtonItem["Close"].Enabled = false; } if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = false; } if (frmButtonItem.ContainsKey("Receive")) { frmButtonItem["Receive"].Enabled = false; } if (frmButtonItem.ContainsKey("CodeDisk")) { frmButtonItem["CodeDisk"].Enabled = false; } if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = false; } if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = true; } if (frmButtonItem.ContainsKey("Remark")) { frmButtonItem["Remark"].Enabled = true; } } /// /// 编辑按钮 /// public override void Edit() { if (!frmButtonItem.ContainsKey("Edit")) { return; } else if (frmButtonItem["Edit"].Enabled == false) { return; } #region sku //if (isSKU) //{ // SKUTabModel querySKUTab = new SKUTabModel(); // querySKUTab.DOCCTNUMBER = wareNoticeModel.WAREHOUSING_ID; // string strResult = string.Empty; // string strParameter = Newtonsoft.Json.JsonConvert.SerializeObject(querySKUTab); // try // { // strResult = WebLockConfig.Instance.WebSKUTab.GetSKUTab(strParameter); // listSKU = Newtonsoft.Json.JsonConvert.DeserializeObject>(strResult); // } // catch (Exception) // { // SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!"); // } //} #endregion xtaEdit.PageEnabled = true; //xtcNotice.TabPages[1].PageEnabled = true; labGoods.Visible = false; ctrlGoods.Visible = false; flag = 1;//标识修改 //GVWareNoticeTab.OptionsBehavior.Editable = true;//明细可编辑 colAMOUNT.OptionsColumn.AllowEdit = true; colUNIT.OptionsColumn.AllowEdit = true; colPRODUCTION_DATE.OptionsColumn.AllowEdit = true; panelControl1.Visible = true;//信息控件可见 panelControl2.Visible = false;//关闭控件不可见 txtID.Enabled = false;//编号不可用 lueState.Enabled = false;//状态不可用 // dicConfirm.Enabled = false;//审核人不可用 //ctrlDicGoods.Enabled = true; //if (frmButtonItem.ContainsKey("ChooseGoods")) { frmButtonItem["ChooseGoods"].Enabled = true; } //GVGoodsInfo.OptionsBehavior.Editable = true; ////刷新商品列表 //foreach (GoodsInfoModel item in listGoodsInfoModel) //{ // item.IsCheck = false; //} //bsGoodsInfo.DataSource = listGoodsInfoModel; //GVGoodsInfo.RefreshData(); if (frmButtonItem.ContainsKey("Search")) { frmButtonItem["Search"].Enabled = false; } if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = false; } if (frmButtonItem.ContainsKey("EditAdd")) { frmButtonItem["EditAdd"].Enabled = false; } if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; } if (frmButtonItem.ContainsKey("Export")) { frmButtonItem["Export"].Enabled = false; } if (frmButtonItem.ContainsKey("Close")) { frmButtonItem["Close"].Enabled = false; } if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = false; } if (frmButtonItem.ContainsKey("Receive")) { frmButtonItem["Receive"].Enabled = false; } if (frmButtonItem.ContainsKey("CodeDisk")) { frmButtonItem["CodeDisk"].Enabled = false; } if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = false; } if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = true; } if (frmButtonItem.ContainsKey("Remark")) { frmButtonItem["Remark"].Enabled = true; } //frmButtonItem["choose"].Enabled = true; } /// /// 刷新按钮 /// public override void Refresh() { if (frmButtonItem.ContainsKey("Save") && frmButtonItem["Save"].Enabled == true && DialogResult.Yes != SystemCommon.ShowMessageBoxResult("确定放弃正在编辑的数据?")) { return; } flag = -1;//标识为非增加非修改 string ID = string.Empty; ID = wareNoticeModel.WAREHOUSING_ID; wareNoticeModel = new WareNoticeModel(); bindGrid(wareNoticeModel);//刷新数据 xtcNotice.SelectedTabPageIndex = 0;//到入库通知单页 panelControl1.Visible = true;//编辑控件可见 panelControl2.Visible = false;//关闭控件不可见 foreach (Control item in panelControl1.Controls) { item.Enabled = true; } //GVWareNoticeTab.OptionsBehavior.Editable = false; colAMOUNT.OptionsColumn.AllowEdit = false; colUNIT.OptionsColumn.AllowEdit = false; colPRODUCTION_DATE.OptionsColumn.AllowEdit = false; //GVGoodsInfo.OptionsBehavior.Editable = false; //ctrlDicGoods.Enabled = false; if (frmButtonItem.ContainsKey("ChooseGoods")) { frmButtonItem["ChooseGoods"].Enabled = false; } ctrlDicGoods.TextBoxValue = null; //bindGoodsGrid(); ////刷新商品列表 //foreach (GoodsInfoModel item in listGoodsInfoModel) //{ // item.IsCheck = false; //} //bsGoodsInfo.DataSource = listGoodsInfoModel; //GVGoodsInfo.RefreshData(); if (frmButtonItem.ContainsKey("Search")) { frmButtonItem["Search"].Enabled = true; } if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = true; } if (frmButtonItem.ContainsKey("EditAdd")) { frmButtonItem["EditAdd"].Enabled = true; } if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = true; } if (frmButtonItem.ContainsKey("Export")) { frmButtonItem["Export"].Enabled = true; } if (frmButtonItem.ContainsKey("Close")) { frmButtonItem["Close"].Enabled = true; frmButtonItem["Close"].Caption = "关闭"; } if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = true; } if (frmButtonItem.ContainsKey("Receive")) { frmButtonItem["Receive"].Enabled = true; } if (frmButtonItem.ContainsKey("CodeDisk")) { frmButtonItem["CodeDisk"].Enabled = true; } if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = true; } gVWareNotice.Appearance.Row.BackColor = Color.White; gVWareNotice.Appearance.EvenRow.BackColor = Color.White; //GVWareNotice.FocusedRowHandle = 0;//选中行变为第一行(一般刷新GridView后调用) gVWareNotice.FocusedRowHandle = listWareNoticeModel.FindIndex(p => p.WAREHOUSING_ID == ID); GVWareNotice_FocusedRowChanged(null, null); listGoodsInfoModel.Clear(); ctrlGoods.TextBoxValue = string.Empty; labGoods.Visible = true; ctrlGoods.Visible = true; } /// /// 保存 /// public override void Save() { xtcNotice.Focus(); if (flag == 2) { Close(); return; } decimal totalNetWight = 0; decimal totalWeight = 0; decimal totalMoney = 0; decimal totalVolume = 0; /*验证*/ //if (string.IsNullOrEmpty(lueProvider.Text)) //{ // SystemCommon.ShowInfoMessageBox("请选择供应商"); // xtcNotice.SelectedTabPageIndex = 0; // lueProvider.Focus(); // return; //} if (string.IsNullOrEmpty(lueStorageMode.Text)) { SystemCommon.ShowInfoMessageBox("请选择入库类型"); // xtcNotice.SelectedTabPageIndex = 0; lueStorageMode.Focus(); return; } if (string.IsNullOrEmpty(lueState.Text)) { SystemCommon.ShowInfoMessageBox("请选择状态"); // xtcNotice.SelectedTabPageIndex = 0; lueState.Focus(); return; } wareNoticeModel.RECORD_PERSON = userData.USER_ID;//通知单操作人 // wareNoticeModel.RECIPIENTS = dicRecipients.TextBoxFlag;//收货人 // wareNoticeModel.CLASS_GROUP = dicTeam.TextBoxFlag;//收货人 wareNoticeModel.STORAGE_ID = userData.STORAGE_ID; if (wareNoticeModel.TOTAL_MONEY <= 0) { wareNoticeModel.TOTAL_MONEY = totalMoney; } if (wareNoticeModel.TOTAL_NET_WEIGH <= 0) { wareNoticeModel.TOTAL_NET_WEIGH = totalNetWight; } if (wareNoticeModel.TOTAL_ROUGH_WEIGHT <= 0) { wareNoticeModel.TOTAL_ROUGH_WEIGHT = totalWeight; } if (wareNoticeModel.TOTAL_VOLUME <= 0) { wareNoticeModel.TOTAL_VOLUME = totalVolume; } //if (isSKU) //{ // //判断是否都选了商品规格 数量是否相同 // foreach (var item in listWareNoticeTabModel) // { // decimal i = 0; // List listSKUTab = listSKU.FindAll(p => p.GOODS_ID == item.GOODS_ID); // foreach (var ite in listSKUTab) // { // i += ite.SKU_NUM; // } // if (item.AMOUNT != i) // { // SystemCommon.ShowInfoMessageBox("请为" + item.GOODS_NAME + "选择规格"); // xtcNotice.SelectedTabPageIndex = 1; // return; // } // } //} if (flag == 0) { //增加 //验证时间 //if (deOrder.DateTime != System.DateTime.MinValue && deOrder.DateTime < System.DateTime.Now) //{ // SystemCommon.ShowInfoMessageBox("下单时间不能小于当前时间"); // xtraTabControl1.SelectedTabPageIndex = 0; // deOrder.Focus(); // return; //} //if (deExpectDate.DateTime != System.DateTime.MinValue && deExpectDate.DateTime < System.DateTime.Now) //{ // SystemCommon.ShowInfoMessageBox("预计到货时间不能小于当前时间"); // xtraTabControl1.SelectedTabPageIndex = 0; // deExpectDate.Focus(); // return; //} if (deEndDate.DateTime != System.DateTime.MinValue && deEndDate.DateTime < deExpectDate.DateTime) { SystemCommon.ShowInfoMessageBox("终止到货时间不能小于预计到货时间"); // xtcNotice.SelectedTabPageIndex = 0; deEndDate.Focus(); return; } wareNoticeModel.ORDER_MODE = "0"; wareNoticeModel.TRAY_STATE = "0"; wareNoticeModel.DISPATCHING_STATE = "0"; string errText = string.Empty; string wID = string.Empty; try { errText = IBussFactory.Instance().InsertOrUpdateWareNoticeAndTab(wareNoticeModel, listWareNoticeTabModel, 0, listSKU, ref wID); wareNoticeModel.WAREHOUSING_ID = wID; } catch (Exception) { SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!"); } if (string.IsNullOrEmpty(errText))//如果增加成功 { SystemCommon.ShowInfoMessageBox("增加成功" + errText); //GVWareNoticeTab.OptionsBehavior.Editable = false; colAMOUNT.OptionsColumn.AllowEdit = false; colUNIT.OptionsColumn.AllowEdit = false; colPRODUCTION_DATE.OptionsColumn.AllowEdit = false; if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; } Refresh(); } else { SystemCommon.ShowInfoMessageBox("增加失败" + errText); } } else if (flag == 1)//修改 { /*修改*/ string errText = string.Empty; string wID = string.Empty; try { errText = IBussFactory.Instance().InsertOrUpdateWareNoticeAndTab(wareNoticeModel, listWareNoticeTabModel, 1, listSKU, ref wID); } catch (Exception) { SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!"); } if (string.IsNullOrEmpty(errText))//如果修改成功 { SystemCommon.ShowInfoMessageBox("修改成功"); //GVWareNoticeTab.OptionsBehavior.Editable = false; colAMOUNT.OptionsColumn.AllowEdit = false; colUNIT.OptionsColumn.AllowEdit = false; colPRODUCTION_DATE.OptionsColumn.AllowEdit = false; if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; } Refresh(); } else { SystemCommon.ShowInfoMessageBox("修改失败" + errText); } } } /// /// 删除按钮,删除一条入库商品明细 /// public override void Del() { if (GVWareNoticeTab.SelectedRowsCount > 0) { if (DialogResult.OK == SystemCommon.ShowMessageBoxResult("确定删除物料")) { WareNoticeTabModel model = new WareNoticeTabModel(); model = GVWareNoticeTab.GetFocusedRow() as WareNoticeTabModel; IBussFactory.Instance().DeleteWareNoticeTab(model); listWareNoticeTabModel.Remove(model); GVWareNoticeTab.RefreshData(); } } else { SystemCommon.ShowInfoMessageBox("您未选择物料明细"); } } /// /// 清空按钮 /// public override void Clear() { wareNoticeModel = new WareNoticeModel(); bsWareNoticeEdit.DataSource = wareNoticeModel; listGoodsInfoModel.Clear(); ctrlGoods.TextBoxValue = string.Empty; } /// /// 关闭入库通知单 /// public void Close() { if (panelControl2.Visible) { if (rgState.SelectedIndex < 0) { SystemCommon.ShowInfoMessageBox("请选择关闭类型"); rgState.Focus(); return; } if (string.IsNullOrEmpty(dicClosePerson.TextBoxValue)) { SystemCommon.ShowInfoMessageBox("请选择关闭人"); dicClosePerson.Focus(); return; } wareNoticeModel.CLOSE_PERSON = dicClosePerson.TextBoxFlag; wareNoticeModel.CLOSE_DATE = System.DateTime.Now; string errText = string.Empty; //关闭后放到备份表 errText = string.Empty; try { errText = IBussFactory.Instance().MoveWareNoticeAndTabIntoBack(wareNoticeModel); } catch (Exception) { SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!"); return; } if (!string.IsNullOrEmpty(errText)) { SystemCommon.ShowInfoMessageBox("关闭失败" + errText); return; } frmButtonItem["Close"].Caption = "关闭"; SystemCommon.ShowInfoMessageBox("关闭成功" + errText); Refresh();//刷新 } else { if (!string.IsNullOrEmpty(wareNoticeModel.WAREHOUSING_ID)) { xtcNotice.SelectedTabPageIndex = 0; panelControl2.Visible = true;//关闭控件可见 panelControl1.Visible = false;//编辑控件不可见 flag = 2;//标识关闭 if (frmButtonItem.ContainsKey("Search")) { frmButtonItem["Search"].Enabled = false; } if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = false; } if (frmButtonItem.ContainsKey("EditAdd")) { frmButtonItem["EditAdd"].Enabled = false; } if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; } if (frmButtonItem.ContainsKey("Export")) { frmButtonItem["Export"].Enabled = false; } if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = false; } if (frmButtonItem.ContainsKey("Receive")) { frmButtonItem["Receive"].Enabled = false; } if (frmButtonItem.ContainsKey("CodeDisk")) { frmButtonItem["CodeDisk"].Enabled = false; } if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = false; } frmButtonItem["Close"].Caption = "关闭审核"; wareNoticeModel.STATE = "6";//已作废 rgState.EditValue = "6"; wareNoticeModel.CLOSE_PERSON = userData.USER_ID; dicClosePerson.TextBoxFlag = userData.USER_ID; dicClosePerson.TextBoxValue = userData.NAME; } else { SystemCommon.ShowInfoMessageBox("请选择一条记录"); } } } #region 批量审核 取消审核 /// /// 批量审核 /// /// /// public void Confirm() { xtcNotice.Focus(); List listWareNotice = new List();//将被审核的WareNotice集合 foreach (WareNoticeModel item in listWareNoticeModel) { //如果被选中且状态为未审核,则将其状态改为在途 if (item.IsCheck && item.STATE == "0") { item.STATE = "1"; // item.CONFIRM_PERSON = dicConfirm.TextBoxFlag; item.CONFIRM_DATE = System.DateTime.Now; listWareNotice.Add(item); } } } public void Print() { if (gVWareNotice.RowCount == 0) { return; } WareNoticeModel order = gVWareNotice.GetFocusedRow() as WareNoticeModel; FrmPrint prnt = new FrmPrint(order); prnt.ShowDialog(); } #endregion /// /// 双击商品明细编辑 /// /// /// private void GVWareNoticeTab_DoubleClick(object sender, EventArgs e) { if (flag == -1) { Edit(); } //else if (isSKU)//判断是否开启了SKU //{ // WareNoticeTabModel tab = new WareNoticeTabModel(); // tab = GVWareNoticeTab.GetFocusedRow() as WareNoticeTabModel; // FrmSKU frmSKU = new FrmSKU(tab.GOODS_ID, tab.GOODS_NAME, tab.WAREHOUSING_ID, tab.AMOUNT, listSKU.FindAll(p => p.GOODS_ID == tab.GOODS_ID)); // if (frmSKU.ShowDialog() == DialogResult.Yes) // { // listSKU.RemoveAll(p => p.GOODS_ID == tab.GOODS_ID); // listSKU.AddRange(frmSKU.list_SKUTab); // } //} } /// /// 双击入库通知单 /// /// /// private void GVWareNotice_DoubleClick(object sender, EventArgs e) { xtcNotice.SelectedTabPageIndex = 1; } /// /// 选择商品 /// public override void ChooseGoods() { ctrlDicGoods.t_dictonary_ButtonClick(null, null); } /// /// 备注 /// public void Remark() { //FrmSelectRemark frmSelectImport = new FrmSelectRemark(); //frmSelectImport.remarkType = "入库管理"; //frmSelectImport.ShowDialog(); //txtRemark.Text = frmSelectImport.baseRemarkDictionaryModel.CONTENT; //txtRemark.ForeColor = System.Drawing.ColorTranslator.FromHtml(frmSelectImport.baseRemarkDictionaryModel.COLOR_ID); } #endregion #region CheckBox全选的实现:3事件 private void GVWareNotice_Click(object sender, EventArgs e) { try { if (DevControlHelper.ClickGridCheckBox(this.gVWareNotice, "IsCheck", m_status)) { m_status = !m_status; } string wareId = gVWareNotice.GetFocusedRowCellValue(colWAREHOUSING_ID).ToString(); GetDetailDoc(wareId); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } #region 查询明细 /// /// 查询明细 /// /// private void GetDetailDoc(string docId) { try { List list_wn_TabModel = IBussFactory.Instance().GetWareNoticeTabByList(docId); if (list_wn_TabModel != null) bdsDetail.DataSource = list_wn_TabModel; gdvDetail.RefreshData(); } catch (Exception ex) { SystemCommon.ShowInfoMessageBox("网络连接错误!"); return; } } #endregion private void GVWareNotice_CustomDrawColumnHeader(object sender, DevExpress.XtraGrid.Views.Grid.ColumnHeaderCustomDrawEventArgs e) { if (e.Column != null && e.Column.FieldName == "IsCheck") { e.Info.InnerElements.Clear(); e.Painter.DrawObject(e.Info); DevControlHelper.DrawCheckBox(e, m_status); e.Handled = true; } } private void GVWareNotice_DataSourceChanged(object sender, EventArgs e) { GridColumn column = this.gVWareNotice.Columns.ColumnByFieldName("IsCheck"); if (column != null) { column.Width = 20; column.OptionsColumn.ShowCaption = m_status; column.ColumnEdit = new RepositoryItemCheckEdit(); } } #endregion #region 自定义列显示事件 /// /// 自定义列显示事件 /// /// /// private void GVWareNotice_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e) { if (e.Column.FieldName == "ORDER_MODE") { switch (e.Value.ToString().Trim()) { case "0": e.DisplayText = "录入"; break; case "1": e.DisplayText = "导入"; break; default: e.DisplayText = "其它"; break; } } if (e.Column.FieldName == "STORAGE_MODE") { switch (e.Value.ToString().Trim()) { case "0": e.DisplayText = "采购入库"; break; case "1": e.DisplayText = "退货入库"; break; case "2": e.DisplayText = "调货入库"; break; case "3": e.DisplayText = "盲收"; break; default: e.DisplayText = "其它"; break; } } if (e.Column.FieldName == "STATE") { switch (e.Value.ToString().Trim()) { case "0": e.DisplayText = "在途"; break; case "1": e.DisplayText = "在途"; break; case "2": e.DisplayText = "已到货"; break; case "3": e.DisplayText = "已入库"; break; case "4": e.DisplayText = "已上架"; break; case "5": e.DisplayText = "已关闭"; break; case "6": e.DisplayText = "已作废"; break; default: e.DisplayText = ""; break; } } if (e.Column.FieldName == "TRAY_STATE") { switch (e.Value.ToString().Trim()) { case "0": e.DisplayText = "未码盘"; break; case "1": e.DisplayText = "已码盘"; break; default: e.DisplayText = ""; break; } } } #endregion /// /// 入库通知单改变,显示属于它的入库商品明细、编辑区域显示它的信息 根据状态,判断改行是否可选中;是否可码盘;是否可到货录入;是否可编辑 /// /// /// private void GVWareNotice_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) { if (listWareNoticeModel.Count == 0) { return; } if (flag == -1) { wareNoticeModel = new WareNoticeModel(); wareNoticeModel = gVWareNotice.GetFocusedRow() as WareNoticeModel; bsWareNoticeEdit.DataSource = wareNoticeModel; //if (string.IsNullOrEmpty(wareNoticeModel.CONFIRM_PERSON)) //{//审核人 // wareNoticeModel.CONFIRM_PERSON = userData.USER_ID; // //dicConfirm.TextBoxFlag = userData.USER_ID; // //dicConfirm.TextBoxValue = userData.NAME; //} //else { // //dicConfirm.TextBoxFlag = wareNoticeModel.CONFIRM_PERSON; // //dicConfirm.TextBoxValue = wareNoticeModel.CONFIRM_PERSON_NAME; //} dicOperator.TextBoxFlag = wareNoticeModel.RECORD_PERSON; dicOperator.TextBoxValue = wareNoticeModel.RECORD_PERSON_NAME; dicClosePerson.TextBoxFlag = wareNoticeModel.CLOSE_PERSON; dicClosePerson.TextBoxValue = wareNoticeModel.CLOSE_PERSON_NAME; // dicRecipients.TextBoxFlag = wareNoticeModel.RECIPIENTS; // dicRecipients.TextBoxValue = wareNoticeModel.RECIPIENTS_NAME; //dicTeam.TextBoxFlag = wareNoticeModel.CLASS_GROUP; //dicTeam.TextBoxValue = wareNoticeModel.CLASS_GROUP; // bindWareNoticeTab(wareNoticeModel); if (Convert.ToDecimal(wareNoticeModel.STATE) > 1)//已到货 { if (frmButtonItem.ContainsKey("Receive")) { frmButtonItem["Receive"].Enabled = false; } } else { if (frmButtonItem.ContainsKey("Receive")) { frmButtonItem["Receive"].Enabled = true; } } if (wareNoticeModel.TRAY_STATE == "1")//已码盘 { if (frmButtonItem.ContainsKey("CodeDisk")) { frmButtonItem["CodeDisk"].Enabled = false; } } else { if (frmButtonItem.ContainsKey("CodeDisk")) { frmButtonItem["CodeDisk"].Enabled = true; } } //if (wareNoticeModel.STATE == "0")//未审核 //{ // gVWareNotice.OptionsBehavior.Editable = true;//整个 // if (frmButtonItem.ContainsKey("CodeDisk")) { frmButtonItem["CodeDisk"].Enabled = false; } // if (frmButtonItem.ContainsKey("Receive")) { frmButtonItem["Receive"].Enabled = false; } // if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = true; } //} //else //{ // gVWareNotice.OptionsBehavior.Editable = false;//整个 // if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; } //} //点到货数量,进行到货录入 if (gVWareNotice.FocusedColumn == gVWareNotice.Columns[6]) { if (frmButtonItem.ContainsKey("Receive") && frmButtonItem["Receive"].Enabled) { Receive(); } } } //this.gridViewAcceptanceOperate.Columns["ACCE_NUM"].OptionsColumn.AllowEdit = false;//某列 } /// /// 改单位下拉框数据源 /// /// /// private void issueBinGridView_CustomRowCellEditForEditing(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e) { if (e.RowHandle < 0 || flag == -1) { return; } if (e.Column.Name == "colUNIT") { WareNoticeTabModel wareNoticeTab = new WareNoticeTabModel(); wareNoticeTab = GVWareNoticeTab.GetFocusedRow() as WareNoticeTabModel; if (wareNoticeTab != null && wareNoticeTab.GOODS_ID != null) { DataTable strResult = new DataTable(); try { strResult = IBussFactory.Instance().GetGoodsUnit(wareNoticeTab.GOODS_ID); } catch (Exception) { //SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!"); } if (strResult != null) lueUnits.DataSource = strResult; //Newtonsoft.Json.JsonConvert.DeserializeObject(); } e.RepositoryItem = lueUnits;//当前单元格绑定控件 } } //private void GVWareNoticeTab_FocusedColumnChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedColumnChangedEventArgs e) //{ // ChangeUnit(); //} //private void GVWareNoticeTab_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) //{ // ChangeUnit(); //} //private void ChangeUnit() //{ // string strResult = string.Empty; // try // { // strResult = WebLockConfig.Instance.Common.GetCustomCtrlData("t_sys_dictionary_tab", "VC_CHAR_VALUE", "VC_DICTIONARY_NAME", " VC_DICTIONARY_TYPE = 'vc_uom' and c_flag = '1'"); // } // catch (Exception) // { // SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!"); // } // lueUnit.Properties.DataSource = Newtonsoft.Json.JsonConvert.DeserializeObject(strResult); //} private string unit = string.Empty;//记录原单位 /// /// 采购商品明细 数量改变 改变总金额总体积总重量;价格改变;单位改变 /// /// /// private void GVWareNoticeTab_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e) { if (e.RowHandle < 0) { return; } WareNoticeTabModel model = new WareNoticeTabModel(); model = GVWareNoticeTab.GetFocusedRow() as WareNoticeTabModel; //WareNoticeTabModel model = listWareNoticeTabModel[e.RowHandle]; if (model != null) { decimal amount = Convert.ToDecimal(GVWareNoticeTab.GetFocusedRowCellValue("AMOUNT")); if (e.Column.Name == "colAMOUNT") { //根据数量计算总金额、体积、重量 //GoodsInfoModel gm = new GoodsInfoModel(); //string errText = string.Empty; //// 找到该商品 //string strResult = string.Empty; //try //{ // strResult = WebLockConfig.Instance.Goods.GetGoodsList(model.GOODS_ID, "", "", ""); //} //catch (Exception) //{ // SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!"); //} //List listGoodsInfoModel = Newtonsoft.Json.JsonConvert.DeserializeObject>(strResult); //if (listGoodsInfoModel.Count > 0) //{ //gm = listGoodsInfoModel[0]; model.TOTAL_MONEY = model.PRICE * amount;// Convert.ToDecimal(GVWareNoticeTab.GetFocusedRowCellValue("PRICE")) * amount; model.TOTAL_NET_WEIGH = model.NET_WEIGH * amount; model.TOTAL_ROUGH_WEIGHT = model.ROUGH_WEIGHT * amount; model.TOTAL_VOLUME = model.GVOLUME * amount; //} //else //{ // SystemCommon.ShowInfoMessageBox("未找到商品"); //} } //if (e.Column.Name == "colPRICE") //{ // model.TOTAL_MONEY = Convert.ToDecimal(GVWareNoticeTab.GetFocusedRowCellValue("PRICE")) * Convert.ToDecimal(GVWareNoticeTab.GetFocusedRowCellValue("AMOUNT")); //} if (e.Column.Name == "colUNIT") { DataTable dt = lueUnits.DataSource as DataTable; decimal oldUnit = 0; decimal newUnit = 0; foreach (DataRow row in dt.Rows) { if (row[0].ToString() == unit) { oldUnit = decimal.Parse(row[2].ToString()); } if (row[0].ToString() == GVWareNoticeTab.GetFocusedRowCellValue("UNIT").ToString()) { newUnit = decimal.Parse(row[2].ToString()); } } if (model.AMOUNT != 0 && oldUnit != 0) { model.AMOUNT = model.AMOUNT / oldUnit * newUnit; } if (model.ARRAMOUNT != 0 && oldUnit != 0) { model.ARRAMOUNT = model.ARRAMOUNT / oldUnit * newUnit; } #region 单位价格、体积、重量改变 //if (model.PRICE != 0) //{ // model.PRICE = model.PRICE / oldUnit * newUnit; //} //if (model.NET_WEIGH != 0) //{ // model.NET_WEIGH = model.NET_WEIGH / oldUnit * newUnit; //} //if (model.ROUGH_WEIGHT != 0) //{ // model.ROUGH_WEIGHT = model.ROUGH_WEIGHT / oldUnit * newUnit; //} #endregion } } } private void GVWareNoticeTab_CellValueChanging(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e) { if (GVWareNoticeTab.GetFocusedRowCellValue("UNIT") != null) { unit = GVWareNoticeTab.GetFocusedRowCellValue("UNIT").ToString(); } } //private void GVWareNoticeTab_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e) //{ // if (e.Column.Name == "colGOODS_NAME") // { // WareNoticeTabModel model = GVWareNoticeTab.GetFocusedRow() as WareNoticeTabModel; // if (model != null && !string.IsNullOrEmpty(model.GOODS_ID)) // { // FrmGoodsInfoDet.IFlag = 2; // FrmGoodsInfoDet.StrGoodsID = model.GOODS_ID; // LoadForm load = new LoadForm(); // DevExpress.XtraSplashScreen.SplashScreenManager.ShowForm(load, load.GetType(), false, true, false, 0); // DevExpress.XtraSplashScreen.SplashScreenManager.Default.SetWaitFormDescription("正在读取商品信息...."); // FrmGoodsInfoDet.GetInstance().Show(); // } // } //} List listGoodsInfoModel = new List(); private void ctrlGoods_Button_Click(object sender, EventArgs e) { if (ctrlGoods.SelectTable.Rows.Count == 0) { return; } //商品集合 listGoodsInfoModel = ConvertHelper.ConvertToList(ctrlGoods.SelectTable); } private void repositoryItemHyperLinkEdit1_Click(object sender, EventArgs e) { WareNoticeTabModel model = GVWareNoticeTab.GetFocusedRow() as WareNoticeTabModel; if (model != null && !string.IsNullOrEmpty(model.GOODS_ID)) { FrmGoodsInfoDet.IFlag = 2; FrmGoodsInfoDet.StrGoodsID = model.GOODS_ID; LoadForm load = new LoadForm(); DevExpress.XtraSplashScreen.SplashScreenManager.ShowForm(load, load.GetType(), false, true, false, 0); DevExpress.XtraSplashScreen.SplashScreenManager.Default.SetWaitFormDescription("正在读取商品信息...."); FrmGoodsInfoDet.GetInstance().Show(); } } private void lueStorageMode_EditValueChanged(object sender, EventArgs e) { } private void xtcNotice_Click(object sender, EventArgs e) { } private void ctl_ck_Button_Click(object sender, EventArgs e) { if (wareNoticeModel != null) { wareNoticeModel.STORAGE_ID = ctl_ck.TextBoxFlag; wareNoticeModel.STORAGE_NAME = ctl_ck.TextBoxValue; // wareNoticeModel.STORAGE_AREA_ID = ""; } if (listWareNoticeTabModel.Count > 0) { foreach (WareNoticeTabModel ware in listWareNoticeTabModel) { ware.STORAGE_ID = ctl_ck.TextBoxFlag; ware.STORAGE_NAME = ctl_ck.TextBoxValue; ware.STORAGE_AREA_ID = ""; } GVWareNoticeTab.RefreshData(); } } } }