using FineUIPro; using iWareCommon.Common.Entity; using iWareDataCore.BASE.Entity; using iWareDataCore.BASE.Service; using iWareDataCore.Check.Entity; using iWareDataCore.Check.Service; using iWareWms; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace iWareWms.View.CHECK.Plan { public partial class CreatePlan : PageBase { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // 删除选中行按钮 btnDelete.OnClientClick = PlanGrid.GetNoSelectionAlertReference("请至少选择一项!") + GetDeleteScript(); btCreatCode_Click(sender, e); //设置时间 dpBeginTime.SelectedDate = DateTime.Now.AddDays(-10); dpEndTime.SelectedDate = DateTime.Now.AddDays(20); Query(); } } //重新确认时间 protected void btnRes_Click(object sender, EventArgs e) { dpBeginTime.Enabled = true; dpEndTime.Enabled = true; SearchBtn.Enabled = true; } protected void btCreatCode_Click(object sender, EventArgs e) { tbPlanNo.Text = DateTime.Now.ToFileTime().ToString(); } /// /// 确认时间(同时搜索库存信息) /// /// /// protected void btnConfirm_Click(object sender, EventArgs e) { dpBeginTime.Enabled = false; dpEndTime.Enabled = false; SearchBtn.Enabled = false; btnAdd.Enabled = true; string msg; var placematerials = PlaceMaterialViewService.GetInstance().QueryByParam(new QueryParam { Geqd = new Dictionary { { "UpdateTime", dpBeginTime.SelectedDate } }, Leqd = new Dictionary { { "UpdateTime", dpEndTime.SelectedDate } } }, out msg); var res = new List(); placematerials.ForEach(x => res.Add(x)); PlaceMaterialGrid.DataSource = res; PlaceMaterialGrid.DataBind(); } /// /// 根据物料号,库位号搜索库存信息 /// /// /// protected void btnSerch_Click(object sender, EventArgs e) { string msg; if (dpBeginTime.Enabled == false) { var placematerials = PlaceMaterialViewService.GetInstance().QueryByParam(new QueryParam { Search = new Dictionary { { "MaterialCode", tbMaterialCode.Text }, { "PlaceCode", tbPlaceCode.Text } } }, out msg); var res = new List(); placematerials.ForEach(x => res.Add(x)); PlaceMaterialGrid.DataSource = res; PlaceMaterialGrid.DataBind(); } else { ShowNotify("请先确认时间"); } } /// /// 批量添加库存信息到右侧计划表 /// /// /// protected void btnAdd_Click(object sender, EventArgs e) { //取得选中行ID的集合 List selectedRowIDs = new List(PlaceMaterialGrid.SelectedRowIDArray); if (selectedRowIDs.Count == 0) { Alert.Show("请先选择要添加的库位物料!"); return; } var detail = PlaceMaterialGrid.Rows; var oneRowId = PlaceMaterialGrid.SelectedRow.RowID.ToString(); var oneDetail = PlaceMaterialGrid.SelectedRow; if (selectedRowIDs.Count > 0) { List placematerial = new List(); if (selectedRowIDs.Count == 1) { if (selectedRowIDs.Contains(oneRowId)) { PlaceMaterialViewEntity pmp = new PlaceMaterialViewEntity() { MaterialId = Convert.ToInt32(oneDetail.Values[1].ToString()), PlaceId = Convert.ToInt32(oneDetail.Values[2].ToString()), MaterialCode = oneDetail.Values[3].ToString(), PlaceCode = oneDetail.Values[4].ToString(), TypeName = oneDetail.Values[5].ToString(), PlaceTypeName = oneDetail.Values[6].ToString() }; placematerial.Add(pmp); } } else { List rowidList = new List(); for (int i = 0; i < selectedRowIDs.Count; i++) { var RowId = detail[i].RowID.ToString(); if (selectedRowIDs.Contains(RowId)) { PlaceMaterialViewEntity pmp = new PlaceMaterialViewEntity() { MaterialId = Convert.ToInt32(detail[i].Values[1].ToString()), PlaceId = Convert.ToInt32(detail[i].Values[2].ToString()), MaterialCode = detail[i].Values[3].ToString(), PlaceCode = detail[i].Values[4].ToString(), TypeName = detail[i].Values[5].ToString(), PlaceTypeName = detail[i].Values[6].ToString() }; placematerial.Add(pmp); } } } var res = new List(); placematerial.ForEach(x => res.Add(x)); PlanGrid.DataSource = res; PlanGrid.DataBind(); btnReset.Enabled = true; btnSubmit.Enabled = true; } } /// /// 重置按钮 /// /// /// protected void btnReset_Click(object sender, EventArgs e) { PlanGrid.DataSource = null; PlanGrid.DataBind(); btCreatCode_Click(null,null); dpBeginTime.Enabled = false; dpEndTime.Enabled = false; SearchBtn.Enabled = false; btnSubmit.Enabled = false; btnAdd.Enabled = false; } // /// /// 生成按钮 /// /// /// protected void btnSubmit_Click(object sender, EventArgs e) { //取得选中行ID的集合 List selectedRowIDs = new List(PlanGrid.SelectedRowIDArray); string msg = ""; var detail = PlanGrid.Rows; if (selectedRowIDs.Count > 0 && detail.Count>0) { List material = new List(); for (int i = 0; i < detail.Count; i++) { var RowId = detail[i].RowID.ToString(); if (selectedRowIDs.Contains(RowId)) { PlanMaterialPlaceEntity pmp = new PlanMaterialPlaceEntity() { MaterialId = Convert.ToInt32(detail[i].Values[1].ToString()), PlaceId = Convert.ToInt32(detail[i].Values[2].ToString()), Quantity = 1 }; material.Add(pmp); } } PlanService.GetInstance().CreateCheckPlanAndDetial( new PlanEntity { PlanNo = tbPlanNo.Text, BeginTime = (DateTime)dpBeginTime.SelectedDate, EndTime = (DateTime)dpEndTime.SelectedDate, UpdateTime = DateTime.Now, TypeName = "", Status = 0, Remark = "", PlanMaterialPlace = material }, out msg); Alert.ShowInTop("生成盘点计划成功!"); btnReset_Click(null,null); }else { Alert.ShowInTop("还未选择物料"); return; } } /// /// 删除选中行的脚本 /// /// private string GetDeleteScript() { return Confirm.GetShowReference("删除选中行?", String.Empty, MessageBoxIcon.Question, PlanGrid.GetDeleteSelectedRowsReference(), String.Empty); } } }