public static PutawayTicketItem ReceiptTicketItemToPutawayTicketItem(ReceiptTicketItem receiptTicketItem, int putawayTicketID) { PutawayTicketItem putawayTicketItem = new PutawayTicketItem(); putawayTicketItem.PutawayTicketID = putawayTicketID; putawayTicketItem.ReceiptTicketItemID = receiptTicketItem.ID; putawayTicketItem.State = "待上架"; putawayTicketItem.ID = 0; return(putawayTicketItem); }
public static SubmissionTicketItem ReceiptTicketItemToSubmissionTicketItem(ReceiptTicketItem receiptTicketItem, int submissionTicketID) { //WMSEntities wmsEntities = new WMSEntities(); SubmissionTicketItem submissionTicketItem = new SubmissionTicketItem(); //ReceiptTicketItemView receiptTicketItemView = (from rti in wmsEntities.ReceiptTicketItemView where rti.ID == receiptTicketItem.ID select rti).Single(); //submissionTicketItem.ComponentID = receiptTicketItem.ComponentID; submissionTicketItem.SubmissionTicketID = submissionTicketID; submissionTicketItem.ID = 0; submissionTicketItem.State = "送检中"; submissionTicketItem.SubmissionAmount = receiptTicketItem.ReceiviptAmount; submissionTicketItem.ReceiptTicketItemID = receiptTicketItem.ID; return(submissionTicketItem); }
private void buttonReceiptCancel_Click(object sender, EventArgs e) { var worksheet = this.reoGridControlUser.Worksheets[0]; List <ReceiptTicketItem> ids = new List <ReceiptTicketItem>(); bool result; for (int i = 0; i < this.countRow; i++) { result = (worksheet[i, this.checkColumn] as bool?) ?? false; if (result == true) { int id; if (int.TryParse(worksheet[i, 0].ToString(), out id) == false) { MessageBox.Show(worksheet[i, 0].ToString() + "加入失败"); } else { ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == id select rti).FirstOrDefault(); if (receiptTicketItem.State != "已收货") { MessageBox.Show(receiptTicketItem.ID + "没有收货"); return; } else { ids.Add(receiptTicketItem); } } } } if (ids.Count == 0) { MessageBox.Show("请选择一项取消收货"); return; } else { foreach (ReceiptTicketItem i in ids) { //PutawayTicketItem putawayTicketItem = (from pti in wmsEntities.PutawayTicketItem where pti.ID == i && pti.State != "已收货" && pti.State != "送检中" select pti).FirstOrDefault(); if (i == null) { MessageBox.Show(i + "不能取消"); } else { PutawayTicketItem putawayTicketItem = (from pti in wmsEntities.PutawayTicketItem where pti.ReceiptTicketItemID == i.ID select pti).FirstOrDefault(); if (putawayTicketItem == null) { MessageBox.Show("不能取消"); } else { putawayTicketItem.State = "作废"; } i.State = "待收货"; } } new Thread(() => { try { wmsEntities.SaveChanges(); } catch { MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return; } this.Invoke(new Action(() => { this.Search(); })); MessageBox.Show("已取消"); }).Start(); } /* * var worksheet = this.reoGridControlUser.Worksheets[0]; * bool result; * for (int i = 0; i < this.countRow; i++) * { * result = (worksheet[i, this.checkColumn] as bool?) ?? false; * if (result == true) * { * int id; * if (int.TryParse(worksheet[i, 0].ToString(), out id) == false) * { * MessageBox.Show(worksheet[i, 0].ToString() + "取消失败"); * } * else * { * ReceiptTicketItem receiptTicketItem = (from rti in this.wmsEntities.ReceiptTicketItem where rti.ID == id && rti.State != "作废" select rti).FirstOrDefault(); * PutawayTicketItem putawayTicketItem = (from pti in wmsEntities.PutawayTicketItem where pti.ReceiptTicketItemID == id && pti.State != "作废" select pti).FirstOrDefault(); * if (putawayTicketItem != null) * { * putawayTicketItem.State = "作废"; * receiptTicketItem.State = "待检"; * } * else * { * MessageBox.Show(id.ToString() +"收货单条目没有上架"); * return; * } * } * } * } * new Thread(() => * { * * wmsEntities.SaveChanges(); * this.Invoke(new Action(() => * { * this.Search(); * })); * MessageBox.Show("取消成功"); * }).Start(); */ }
private void buttonPutaway_Click(object sender, EventArgs e) { var worksheet = this.reoGridControlUser.Worksheets[0]; List <ReceiptTicketItem> ids = new List <ReceiptTicketItem>(); bool result; for (int i = 0; i < this.countRow; i++) { result = (worksheet[i, this.checkColumn] as bool?) ?? false; if (result == true) { int id; if (int.TryParse(worksheet[i, 0].ToString(), out id) == false) { MessageBox.Show(worksheet[i, 0].ToString() + "加入失败"); } else { ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == id select rti).FirstOrDefault(); if (receiptTicketItem.State != "已收货") { MessageBox.Show(receiptTicketItem.ID + " " + receiptTicketItem.State + ",请先收货"); return; } else { ids.Add(receiptTicketItem); } } } } if (ids.Count == 0) { MessageBox.Show("请选择一项上架"); return; } else { foreach (ReceiptTicketItem i in ids) { //PutawayTicketItem putawayTicketItem = (from pti in wmsEntities.PutawayTicketItem where pti.ID == i && pti.State != "已收货" && pti.State != "送检中" select pti).FirstOrDefault(); if (i == null) { MessageBox.Show(i + "不能添加此条目上架"); } else { PutawayTicketItem putawayTicketItem = new PutawayTicketItem(); putawayTicketItem.ReceiptTicketItemID = i.ID; putawayTicketItem.PutawayTicketID = this.putawayTicketID; putawayTicketItem.State = "待上架"; //putawayTicketItem.DisplacementPositionNo = "No"; //putawayTicketItem.TargetStorageLocation = "Location"; wmsEntities.PutawayTicketItem.Add(putawayTicketItem); i.State = "已收货"; } } new Thread(() => { try { wmsEntities.SaveChanges(); } catch { MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return; } this.Invoke(new Action(() => { this.Search(); })); MessageBox.Show("添加成功"); }).Start(); } /* * bool result; * for (int i = 0; i < this.countRow; i++) * { * result = (worksheet[i, this.checkColumn] as bool?) ?? false; * if (result == true) * { * int id; * if (int.TryParse(worksheet[i, 0].ToString(), out id) == false) * { * MessageBox.Show(worksheet[i, 0].ToString() + "加入失败"); * } * else * { * * PutawayTicketItem putawayTicketItem = new PutawayTicketItem(); * ReceiptTicketItemView receiptTicketItemView = (from rti in this.wmsEntities.ReceiptTicketItemView where rti.ID == id select rti).FirstOrDefault(); * if (receiptTicketItemView != null) * { * if (receiptTicketItemView.State == "送检中") * { * MessageBox.Show("此条目已送检,不能收货"); * } * else * { * putawayTicketItem.ReceiptTicketItemID = id; * putawayTicketItem.PutawayTicketID = this.putawayTicketID; * putawayTicketItem.State = "待上架"; * putawayTicketItem.DisplacementPositionNo = "No"; * putawayTicketItem.TargetStorageLocation = "Location"; * wmsEntities.PutawayTicketItem.Add(putawayTicketItem); * } * } * else * { * MessageBox.Show(id.ToString() + "无此送检单条目"); * return; * } * } * } * } * new Thread(() => * { * * wmsEntities.SaveChanges(); * this.Invoke(new Action(() => * { * this.Search(); * })); * MessageBox.Show("添加成功"); * }).Start();*/ }
private void ButtonDelete_Click(object sender, EventArgs e) { if (MessageBox.Show("确认删除,并取消送检?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { Search(); return; } var worksheet = this.reoGridControl1.Worksheets[0]; WMSEntities wmsEntities = new WMSEntities(); try { if (worksheet.SelectionRange.Rows != 1) { MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } int submissionTicketID; try { submissionTicketID = int.Parse(worksheet[worksheet.SelectionRange.Row, 0].ToString()); } catch { MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } SubmissionTicket submissionTicket = (from st in wmsEntities.SubmissionTicket where st.ID == submissionTicketID select st).FirstOrDefault(); if (submissionTicket == null) { MessageBox.Show("此送检单已被删除"); this.Search(); return; } else { if (submissionTicket.State != "待检") { MessageBox.Show("该送检单状态为" + submissionTicket.State + ",不能删除送检单!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } new Thread(() => { try { SubmissionTicketItem[] submissionTicketItems = (from sti in wmsEntities.SubmissionTicketItem where sti.SubmissionTicketID == submissionTicketID select sti).ToArray(); foreach (SubmissionTicketItem sti in submissionTicketItems) { ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == sti.ReceiptTicketItemID select rti).FirstOrDefault(); if (receiptTicketItem != null) { if (receiptTicketItem.ReceiptTicket.State == "送检中" || receiptTicketItem.ReceiptTicket.State == "过检" || receiptTicketItem.ReceiptTicket.State == "未过检") { receiptTicketItem.State = "待收货"; StockInfo stockInfo = (from si in wmsEntities.StockInfo where si.ReceiptTicketItemID == receiptTicketItem.ID select si).FirstOrDefault(); if (stockInfo != null) { stockInfo.ReceiptAreaAmount += stockInfo.SubmissionAmount; stockInfo.SubmissionAmount -= stockInfo.SubmissionAmount; } receiptTicketItem.State = "待收货"; } } } ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == submissionTicket.ReceiptTicketID select rt).FirstOrDefault(); if (receiptTicket.State == "送检中" || receiptTicket.State == "过检" || receiptTicket.State == "未过检") { if (receiptTicket != null) { receiptTicket.State = "待收货"; receiptTicket.HasSubmission = 0; } } else { MessageBox.Show("该送检单对应收货单已收货或上架,无法改变收货单状态,但删除送检单成功。"); } wmsEntities.Database.ExecuteSqlCommand("DELETE FROM SubmissionTicket WHERE ID = @submissionTicketID", new SqlParameter("submissionTicketID", submissionTicket.ID)); wmsEntities.SaveChanges(); this.Invoke(new Action(() => { this.Search(); })); //wmsEntities.Database.ExecuteSqlCommand("UPDATE ReceiptTicketItem SET State = '待收货' WHERE ID = @receiptTicketItemID", new SqlParameter("receiptTicketItemID", sti.ReceiptTicketItemID)); } catch { MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return; } }).Start(); } } catch (Exception) { MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return; } Search(); }
private void buttonSubmission_Click(object sender, EventArgs e) { WMSEntities wmsEntities = new WMSEntities(); var worksheet = this.reoGridControlUser.Worksheets[0]; List <ReceiptTicketItem> ids = new List <ReceiptTicketItem>(); bool result; for (int i = 0; i < this.countRow; i++) { result = (worksheet[i, this.checkColumn] as bool?) ?? false; if (result == true) { int id; if (int.TryParse(worksheet[i, 0].ToString(), out id) == false) { MessageBox.Show(worksheet[i, 0].ToString() + "加入失败"); } else { ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == id select rti).FirstOrDefault(); if (receiptTicketItem.State == "已收货" || receiptTicketItem.State == "送检中") { MessageBox.Show(receiptTicketItem.ID + " " + receiptTicketItem.State); return; } else { ids.Add(receiptTicketItem); } } } } if (ids.Count == 0) { MessageBox.Show("请选择一项送检"); return; } else { foreach (ReceiptTicketItem i in ids) { //PutawayTicketItem putawayTicketItem = (from pti in wmsEntities.PutawayTicketItem where pti.ID == i && pti.State != "已收货" && pti.State != "送检中" select pti).FirstOrDefault(); if (i == null) { MessageBox.Show(i + "不能添加此条目送检"); } else { SubmissionTicketItem submissionTicketItem = ReceiptUtilities.ReceiptTicketItemToSubmissionTicketItem(i, this.submissionTicketID); wmsEntities.SubmissionTicketItem.Add(submissionTicketItem); i.State = "送检中"; } } new Thread(() => { try { wmsEntities.SaveChanges(); int count = wmsEntities.Database.SqlQuery <int>("SELECT COUNT(*) FROM ReceiptTicketItem WHERE State <> '送检中' AND ReceiptTicketID = @receiptTicketID", new SqlParameter("receiptTicketID", this.receiptTicketID)).FirstOrDefault(); if (count == 0) { wmsEntities.Database.ExecuteSqlCommand("UPDATE ReceiptTicket SET State = '送检中' WHERE ID = @receiptTicketID", new SqlParameter("receiptTicketID", this.receiptTicketID)); } wmsEntities.SaveChanges(); } catch { MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return; } this.Invoke(new Action(() => { this.Search(); CallBack(); })); MessageBox.Show("添加成功"); }).Start(); } }
private void buttonDelete_Click(object sender, EventArgs e) { var worksheet = this.reoGridControlPutaway.Worksheets[0]; try { if (worksheet.SelectionRange.Rows != 1) { MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } int putawayTicketItemID; try { putawayTicketItemID = int.Parse(worksheet[worksheet.SelectionRange.Row, 0].ToString()); } catch { MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } PutawayTicketItem putawayTicketItem = (from pti in wmsEntities.PutawayTicketItem where pti.ID == putawayTicketItemID select pti).FirstOrDefault(); if (putawayTicketItem == null) { MessageBox.Show("错误 无法修改此条目", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { if (putawayTicketItem.State != "待上架") { MessageBox.Show("改上架单状态为" + putawayTicketItem.State + ",无法删除!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == putawayTicketItem.ReceiptTicketItemID select rti).FirstOrDefault(); if (receiptTicketItem != null) { receiptTicketItem.HasPutwayAmount -= putawayTicketItem.ScheduledMoveCount; } new Thread(() => { wmsEntities.SaveChanges(); PutawayTicket putawayTicket = putawayTicketItem.PutawayTicket; int n = 0; int m = 0; foreach (PutawayTicketItem pti in putawayTicket.PutawayTicketItem) { ReceiptTicketItem rtii = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == pti.ReceiptTicketItemID select rti).FirstOrDefault(); if (rtii != null) { if (pti.ScheduledMoveCount == rtii.HasPutwayAmount) { n++; } if (rtii.HasPutwayAmount == 0) { m++; } } } if (m == putawayTicket.PutawayTicketItem.Count) { ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == putawayTicket.ReceiptTicketID select rt).FirstOrDefault(); if (receiptTicket != null) { receiptTicket.HasPutawayTicket = "没有生成上架单"; } } else { ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == putawayTicket.ReceiptTicketID select rt).FirstOrDefault(); if (receiptTicket != null) { receiptTicket.HasPutawayTicket = "部分生成上架单"; } wmsEntities.SaveChanges(); wmsEntities.Database.ExecuteSqlCommand("DELETE FROM PutawayTicketItem WHERE ID = @putawayTicketItemID", new SqlParameter("putawayTicketItemID", putawayTicketItem.ID)); } this.Invoke(new Action(() => { this.pagerWidget.Search(); })); MessageBox.Show("成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); }).Start(); } } catch (Exception) { MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return; } }
private void buttonFInished_Click(object sender, EventArgs e) { var worksheet = this.reoGridControlPutaway.Worksheets[0]; try { if (worksheet.SelectionRange.Rows != 1) { MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } int putawayTicketItemID; try { putawayTicketItemID = int.Parse(worksheet[worksheet.SelectionRange.Row, 0].ToString()); } catch { MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } PutawayTicketItem putawayTicketItem = (from pti in wmsEntities.PutawayTicketItem where pti.ID == putawayTicketItemID select pti).FirstOrDefault(); decimal oldPutawayAmount = 0; if (putawayTicketItem.PutawayAmount == null) { if (putawayTicketItem.PutawayAmount == null) { putawayTicketItem.PutawayAmount = 0; } } oldPutawayAmount = (decimal)putawayTicketItem.PutawayAmount; if (putawayTicketItem == null) { MessageBox.Show("此上架单条目不存在", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else { if (this.Controls.Find("textBoxOperateTime", true)[0].Text == "") { this.Controls.Find("textBoxOperateTime", true)[0].Text = DateTime.Now.ToString(); } string errorInfo; if (Utilities.CopyTextBoxTextsToProperties(this, putawayTicketItem, ReceiptMetaData.putawayTicketItemKeyName, out errorInfo) == false) { MessageBox.Show(errorInfo, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else { if (Utilities.CopyComboBoxsToProperties(this, putawayTicketItem, ReceiptMetaData.putawayTicketItemKeyName) == false) { MessageBox.Show("下拉框获取失败", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (putawayTicketItem.PutawayAmount == null) { MessageBox.Show("实际上架数量不能为空", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == putawayTicketItem.ReceiptTicketItemID select rti).FirstOrDefault(); if (putawayTicketItem.UnitAmount == null) { if (receiptTicketItem != null) { putawayTicketItem.UnitAmount = receiptTicketItem.UnitAmount; } } if (putawayTicketItem.PutawayAmount > putawayTicketItem.ScheduledMoveCount) { MessageBox.Show("实际上架数量不能大于计划上架数量", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //putawayTicketItem.PutawayAmount = putawayTicketItem.UnitAmount * putawayTicketItem.MoveCount; putawayTicketItem.MoveCount = putawayTicketItem.PutawayAmount / putawayTicketItem.UnitAmount; StockInfo stockInfo = (from si in wmsEntities.StockInfo where si.ReceiptTicketItemID == putawayTicketItem.ReceiptTicketItemID select si).FirstOrDefault(); if (stockInfo != null) { stockInfo.OverflowAreaAmount -= putawayTicketItem.PutawayAmount - oldPutawayAmount; stockInfo.ShipmentAreaAmount += putawayTicketItem.PutawayAmount - oldPutawayAmount; } if (putawayTicketItem.ScheduledMoveCount == putawayTicketItem.PutawayAmount) { putawayTicketItem.State = "已上架"; } else if (putawayTicketItem.PutawayAmount == 0) { putawayTicketItem.State = "待上架"; } else { putawayTicketItem.State = "部分上架"; } wmsEntities.SaveChanges(); this.modifyMode(putawayTicketItem.PutawayTicketID); MessageBox.Show("上架成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Search(); if (CallBack != null) { CallBack(); } } } } catch (Exception) { MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return; } }
/* * private void Search() * { * this.labelStatus.Text = "搜索中..."; * try * { * new Thread(new ThreadStart(() => * { * var wmsEntities = new WMSEntities(); * //ReceiptTicketView[] receiptTicketViews = null; * PutawayTicketItemView[] putawayTicketItemView = null; * // * //try * //{ * // putawayTicketItemView = wmsEntities.Database.SqlQuery<PutawayTicketItemView>("SELECT * FROM PutawayTicketItemView WHERE PutawayTicketID=@putawayTicketID", new SqlParameter("putawayTicketID", putawayTicketID)).ToArray(); * //} * //catch * //{ * // MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); * // return; * //} * * PutawayTicketItemView[] putawayTicketItemViews1; * if (this.key != null && this.value != null) * { * putawayTicketItemViews1 = wmsEntities.Database.SqlQuery<PutawayTicketItemView>(string.Format("SELECT * FROM PutawayTicketItemView WHERE {0}=@value AND PutawayTicketWarehouseID = @warehouseID AND PutawayTicketProjectID = @projectID", key), new SqlParameter[] { new SqlParameter("value", value), new SqlParameter("warehouseID", this.warehouseID), new SqlParameter("projectID", this.projectID) }).ToArray(); * } * else * { * putawayTicketItemViews1 = wmsEntities.Database.SqlQuery<PutawayTicketItemView>("SELECT * FROM PutawayTicketItemView WHERE PutawayTicketWarehouseID = @warehouseID AND PutawayTicketProjectID = @projectID", new SqlParameter[] { new SqlParameter("warehouseID", this.warehouseID), new SqlParameter("projectID", this.projectID) }).ToArray(); * } * putawayTicketItemView = * (from ptiv in putawayTicketItemViews1 * where ptiv.PutawayTicketProjectID == this.projectID && ptiv.PutawayTicketWarehouseID == this.warehouseID * orderby ptiv.StockInfoShipmentAreaAmount / (ptiv.ComponentDailyProduction * ptiv.ComponentSingleCarUsageAmount) ascending, * ptiv.ReceiptTicketItemInventoryDate ascending * select ptiv).ToArray(); * S * // * //string sql = (from ptiv in wmsEntities.PutawayTicketItemView * // where ptiv.PutawayTicketProjectID == this.projectID && ptiv.PutawayTicketWarehouseID == this.warehouseID * // orderby ptiv.StockInfoShipmentAreaAmount / (ptiv.ComponentDailyProduction * ptiv.ComponentSingleCarUsageAmount) ascending, * // ptiv.ReceiptTicketItemInventoryDate ascending * // select ptiv).ToString(); * //Console.WriteLine(sql); * this.reoGridControlPutaway.Invoke(new Action(() => * { * this.labelStatus.Text = "搜索完成"; * var worksheet = this.reoGridControlPutaway.Worksheets[0]; * worksheet.DeleteRangeData(RangePosition.EntireRange); * int n = 0; * for (int i = 0; i < putawayTicketItemView.Length; i++) * { * if (putawayTicketItemView[i].State == "作废") * { * continue; * } * PutawayTicketItemView curputawayTicketItemView = putawayTicketItemView[i]; * object[] columns = Utilities.GetValuesByPropertieNames(curputawayTicketItemView, (from kn in ReceiptMetaData.putawayTicketItemKeyName select kn.Key).ToArray()); * for (int j = 0; j < worksheet.Columns; j++) * { * worksheet[n, j] = columns[j]; * } * n++; * } * })); * this.Invoke(new Action(() => { this.RefreshTextBoxes(); })); * })).Start(); * } * catch * { * MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); * return; * } * * }*/ private void buttonModify_Click(object sender, EventArgs e) { var worksheet = this.reoGridControlPutaway.Worksheets[0]; try { if (worksheet.SelectionRange.Rows != 1) { MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } int putawayTicketItemID; try { putawayTicketItemID = int.Parse(worksheet[worksheet.SelectionRange.Row, 0].ToString()); } catch { MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } PutawayTicketItem putawayTicketItem = (from pti in wmsEntities.PutawayTicketItem where pti.ID == putawayTicketItemID select pti).FirstOrDefault(); if (putawayTicketItem == null) { MessageBox.Show("修改失败,该收货单可能已被删除,请刷新后查看!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } decimal oldPutawayAmount = 0; if (putawayTicketItem.PutawayAmount == null) { if (putawayTicketItem.PutawayAmount == null) { putawayTicketItem.PutawayAmount = 0; } } oldPutawayAmount = (decimal)putawayTicketItem.PutawayAmount; if (putawayTicketItem == null) { MessageBox.Show("此上架单条目不存在", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else { string errorInfo; if (Utilities.CopyTextBoxTextsToProperties(this, putawayTicketItem, ReceiptMetaData.putawayTicketItemKeyName, out errorInfo) == false) { MessageBox.Show(errorInfo, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else { if (Utilities.CopyComboBoxsToProperties(this, putawayTicketItem, ReceiptMetaData.putawayTicketItemKeyName) == false) { MessageBox.Show("下拉框获取失败", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (putawayTicketItem.PutawayAmount == null) { MessageBox.Show("实际上架数量不能为空", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == putawayTicketItem.ReceiptTicketItemID select rti).FirstOrDefault(); if (putawayTicketItem.UnitAmount == null) { if (receiptTicketItem != null) { putawayTicketItem.UnitAmount = receiptTicketItem.UnitAmount; } } if (putawayTicketItem.PutawayAmount > putawayTicketItem.ScheduledMoveCount) { MessageBox.Show("实际上架数量不能大于计划上架数量", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //putawayTicketItem.PutawayAmount = putawayTicketItem.UnitAmount * putawayTicketItem.MoveCount; putawayTicketItem.MoveCount = putawayTicketItem.PutawayAmount / putawayTicketItem.UnitAmount; StockInfo stockInfo = (from si in wmsEntities.StockInfo where si.ReceiptTicketItemID == putawayTicketItem.ReceiptTicketItemID select si).FirstOrDefault(); if (stockInfo != null) { stockInfo.OverflowAreaAmount -= putawayTicketItem.PutawayAmount - oldPutawayAmount; stockInfo.ShipmentAreaAmount += putawayTicketItem.PutawayAmount - oldPutawayAmount; } if (putawayTicketItem.ScheduledMoveCount == putawayTicketItem.PutawayAmount) { putawayTicketItem.State = "已上架"; } else if (putawayTicketItem.PutawayAmount == 0) { putawayTicketItem.State = "待上架"; } else { putawayTicketItem.State = "部分上架"; } wmsEntities.SaveChanges(); this.modifyMode(putawayTicketItem.PutawayTicketID); MessageBox.Show("上架成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Search(); } } } catch (Exception) { MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return; } /* * decimal oldPutawayAmount = 0; * var worksheet = this.reoGridControlPutaway.Worksheets[0]; * try * { * if (worksheet.SelectionRange.Rows != 1) * { * MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); * return; * } * int putawayTicketItemID; * try * { * putawayTicketItemID = int.Parse(worksheet[worksheet.SelectionRange.Row, 0].ToString()); * } * catch * { * MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); * return; * } * PutawayTicketItem putawayTicketItem = (from pti in wmsEntities.PutawayTicketItem where pti.ID == putawayTicketItemID select pti).FirstOrDefault(); * if (putawayTicketItem.ScheduledMoveCount != null) * { * oldPutawayAmount = (decimal)putawayTicketItem.ScheduledMoveCount; * //return; * } * if (putawayTicketItem == null) * { * MessageBox.Show("错误 无法修改此条目", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); * } * else * { * string errorInfo; * if (Utilities.CopyTextBoxTextsToProperties(this, putawayTicketItem, ReceiptMetaData.putawayTicketItemKeyName, out errorInfo) == false) * { * MessageBox.Show(errorInfo, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); * return; * } * else * { * if (Utilities.CopyComboBoxsToProperties(this, putawayTicketItem,ReceiptMetaData.putawayTicketItemKeyName) == false) * { * MessageBox.Show("下拉框获取失败", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); * return; * } * ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == putawayTicketItem.ReceiptTicketItemID select rti).FirstOrDefault(); * if (receiptTicketItem != null) * { * receiptTicketItem.HasPutwayAmount += putawayTicketItem.ScheduledMoveCount - oldPutawayAmount; * } * if (this.JobPersonIDGetter() != -1) * { * this.jobPersonID = JobPersonIDGetter(); * } * if (this.ConfirmIDGetter() != -1) * { * this.confirmPersonID = ConfirmIDGetter(); * } * * putawayTicketItem.JobPersonID = this.jobPersonID; * putawayTicketItem.ConfirmPersonID = this.confirmPersonID; * new Thread(() => * { * * wmsEntities.SaveChanges(); * this.Invoke(new Action(() => * { * this.pagerWidget.Search(); * })); * MessageBox.Show("成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); * * * }).Start(); * } * } * } * * catch (Exception) * { * MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); * return; * }*/ }
private void toolStripButtonDelete_Click(object sender, EventArgs e) { var worksheet = this.reoGridControlUser.Worksheets[0]; List <int> deleteIDs = new List <int>(); for (int i = 0; i < worksheet.SelectionRange.Rows; i++) { try { int curID = int.Parse(worksheet[i + worksheet.SelectionRange.Row, 0].ToString()); deleteIDs.Add(curID); } catch { continue; } } if (deleteIDs.Count == 0) { MessageBox.Show("请选择您要删除的记录", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (MessageBox.Show("您真的要删除这些记录吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) { return; } WMSEntities wmsEntities = new WMSEntities(); foreach (int id in deleteIDs) { //if (MessageBox.Show("确定删除该上架单?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) //{ PutawayTicket putawayTicket = (from pt in wmsEntities.PutawayTicket where pt.ID == id select pt).FirstOrDefault(); if (putawayTicket == null) { MessageBox.Show("该上架单已被删除,请刷新查看!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question); return; } //if (putawayTicket.State != "待上架") //{ // MessageBox.Show("该上架单已有部分或者全部上架,无法删除", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question); // continue; //} ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == putawayTicket.ReceiptTicketID select rt).FirstOrDefault(); PutawayTicketItem[] putawayTicketItems = putawayTicket.PutawayTicketItem.ToArray(); int n = 0; foreach (PutawayTicketItem pti in putawayTicketItems) { ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == pti.ReceiptTicketItemID select rti).FirstOrDefault(); if (receiptTicketItem != null) { receiptTicketItem.HasPutwayAmount -= (pti.ScheduledMoveCount == null ? 0 : pti.ScheduledMoveCount) - (pti.PutawayAmount == null ? 0 : pti.PutawayAmount); //receiptTicketItem.HasPutwayAmount += pti.PutawayAmount; if (receiptTicketItem.HasPutwayAmount == 0) { n++; } } } if (n == putawayTicketItems.Length) { receiptTicket.HasPutawayTicket = "未生成上架单"; } else { receiptTicket.HasPutawayTicket = "部分生成上架单"; } try { wmsEntities.Database.ExecuteSqlCommand("DELETE FROM PutawayTicket WHERE ID = @putawayTicketID", new SqlParameter("putawayTicketID", id)); } catch { MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return; } //} } MessageBox.Show("成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); try { new Thread(() => { wmsEntities.SaveChanges(); this.Invoke(new Action(() => { if (this.key != null || this.value != null) { pagerWidget.AddCondition(this.key, this.value); } pagerWidget.Search(); })); }).Start(); } catch { MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return; } //var worksheet = this.reoGridControlUser.Worksheets[0]; //try //{ /* * if (worksheet.SelectionRange.Rows != 1) * { * MessageBox.Show("请选择一项进行查看", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); * return; * } * int putawayTicketID; * try * { * putawayTicketID = int.Parse(worksheet[worksheet.SelectionRange.Row, 0].ToString()); * } * catch * { * MessageBox.Show("请选择一项进行查看", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); * return; * } */ //FormShelvesItem formShelvesItem = new FormShelvesItem(putawayTicketID); /* * if (MessageBox.Show("确定删除该上架单?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) * { * PutawayTicket putawayTicket = (from pt in wmsEntities.PutawayTicket where pt.ID == putawayTicketID select pt).FirstOrDefault(); * if (putawayTicket == null) * { * MessageBox.Show("该上架单已被删除,请刷新查看!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question); * return; * } * if (putawayTicket.State != "待上架") * { * MessageBox.Show("该上架单已有部分或者全部上架,无法删除", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question); * return; * } * ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == putawayTicket.ReceiptTicketID select rt).FirstOrDefault(); * PutawayTicketItem[] putawayTicketItems = putawayTicket.PutawayTicketItem.ToArray(); * int n = 0; * foreach (PutawayTicketItem pti in putawayTicketItems) * { * ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == pti.ReceiptTicketItemID select rti).FirstOrDefault(); * if (receiptTicketItem != null) * { * receiptTicketItem.HasPutwayAmount -= pti.ScheduledMoveCount; * if (receiptTicketItem.HasPutwayAmount == 0) * { * n++; * } * } * } * if (n == putawayTicketItems.Length) * { * receiptTicket.HasPutawayTicket = "未生成上架单"; * } * else * { * receiptTicket.HasPutawayTicket = "部分生成上架单"; * } * try * { * new Thread(() => * { * wmsEntities.Database.ExecuteSqlCommand("DELETE FROM PutawayTicket WHERE ID = @putawayTicketID", new SqlParameter("putawayTicketID", putawayTicketID)); * wmsEntities.SaveChanges(); * MessageBox.Show("成功"); * this.Invoke(new Action(() => * { * if (this.key != null || this.value != null) * { * pagerWidget.AddCondition(this.key, this.value); * } * pagerWidget.Search(); * })); * }).Start(); * } * catch (EntityException) * { * MessageBox.Show("该上架单已被删除!"); * } * catch (Exception) * { * MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); * return; * } * } * } * catch * { * MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); * return; * }*/ }
private void OK_Click(object sender, EventArgs e) { var worksheet = this.reoGridControlUser.Worksheets[0]; worksheet.FocusPos = new CellPosition(0, 0); WMSEntities wmsEntities = new WMSEntities(); ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == this.receiptTicketID select rt).FirstOrDefault(); if (receiptTicket == null) { MessageBox.Show("该收货单已被删除,送检失败"); return; } else { if (receiptTicket.State != "待收货") { MessageBox.Show("该收货单状态为" + receiptTicket.State + ",无法送检!"); } } SortedDictionary <int, decimal> idsAndSubmissionAmount = SelectReceiptTicketItem(); if (idsAndSubmissionAmount == null) { return; } Dictionary <ReceiptTicketItem, decimal> receiptTicketItemsAndSubmissionAmount = new Dictionary <ReceiptTicketItem, decimal>(); foreach (KeyValuePair <int, decimal> kv in idsAndSubmissionAmount) { ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == kv.Key select rti).FirstOrDefault(); if (receiptTicketItem != null) { if (receiptTicketItem.ReceiviptAmount < kv.Value) { MessageBox.Show("送检数量不应大于收货数量", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (kv.Value < 0) { MessageBox.Show("送检数量不应为负数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } receiptTicketItemsAndSubmissionAmount.Add(receiptTicketItem, kv.Value); } } if (this.formMode == FormMode.ADD) { SubmissionTicket submissionTicket = new SubmissionTicket(); string errorInfo; if (Utilities.CopyTextBoxTextsToProperties(this, submissionTicket, ReceiptMetaData.submissionTicketKeyName, out errorInfo) == false) { MessageBox.Show(errorInfo); return; } else { Utilities.CopyComboBoxsToProperties(this, submissionTicket, ReceiptMetaData.submissionTicketKeyName); submissionTicket.PersonID = this.PersonIDGetter(); submissionTicket.ReceivePersonID = this.ReceivePersonIDGetter(); submissionTicket.SubmissionPersonID = this.SubmissionPersonIDGetter(); submissionTicket.DeliverSubmissionPersonID = this.DeliverSubmissionPersonIDGetter(); //ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == this.receiptTicketID select rt).FirstOrDefault(); submissionTicket.SubmissionDate = receiptTicket.ReceiptDate; submissionTicket.CreateTime = DateTime.Now; submissionTicket.ReceiptTicketID = this.receiptTicketID; submissionTicket.CreateUserID = this.userID; submissionTicket.LastUpdateTime = DateTime.Now; submissionTicket.LastUpdateUserID = this.userID; submissionTicket.ProjectID = receiptTicket.ProjectID; submissionTicket.WarehouseID = receiptTicket.WarehouseID; submissionTicket.State = "待检"; //////////////////////////// Begin if (string.IsNullOrWhiteSpace(submissionTicket.No)) { if (submissionTicket.CreateTime.HasValue == false) { MessageBox.Show("单号生成失败(未知创建日期)!请手动填写单号", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } DateTime createDay = new DateTime(submissionTicket.CreateTime.Value.Year, submissionTicket.CreateTime.Value.Month, submissionTicket.CreateTime.Value.Day); DateTime nextDay = createDay.AddDays(1); int maxRankOfToday = Utilities.GetMaxTicketRankOfDay((from s in wmsEntities.SubmissionTicket where s.CreateTime >= createDay && s.CreateTime < nextDay select s.No).ToArray()); if (maxRankOfToday == -1) { MessageBox.Show("单号生成失败!请手动填写单号", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } submissionTicket.No = Utilities.GenerateTicketNo("J", submissionTicket.CreateTime.Value, maxRankOfToday + 1); } /////////////////////////////////////////////////////////////// End wmsEntities.SubmissionTicket.Add(submissionTicket); try { wmsEntities.SaveChanges(); //submissionTicket.No = Utilities.GenerateTicketNo() wmsEntities.SaveChanges(); foreach (KeyValuePair <ReceiptTicketItem, decimal> vp in receiptTicketItemsAndSubmissionAmount) { SubmissionTicketItem submissionTicketItem = new SubmissionTicketItem(); StockInfo stockInfo = (from si in wmsEntities.StockInfo where si.ReceiptTicketItemID == vp.Key.ID select si).FirstOrDefault(); if (stockInfo == null) { MessageBox.Show("找不到对应的库存信息", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { if (stockInfo.ReceiptAreaAmount != null) { submissionTicketItem.ArriveAmount = stockInfo.ReceiptAreaAmount; } stockInfo.SubmissionAmount = vp.Value; stockInfo.ReceiptAreaAmount -= vp.Value; submissionTicketItem.ArriveAmount = vp.Key.ReceiviptAmount; submissionTicketItem.ReceiptTicketItemID = vp.Key.ID; submissionTicketItem.State = "待检"; vp.Key.State = "送检中"; submissionTicketItem.SubmissionAmount = vp.Value; submissionTicketItem.SubmissionTicketID = submissionTicket.ID; wmsEntities.SubmissionTicketItem.Add(submissionTicketItem); } } receiptTicket.HasSubmission = 1; receiptTicket.State = "送检中"; wmsEntities.SaveChanges(); /* * int count = wmsEntities.Database.SqlQuery<int>( * "SELECT COUNT(*) FROM ReceiptTicketItem " + * "WHERE ReceiptTicketID = @receiptTicketID AND State <> '送检中'", * new SqlParameter("receiptTicketID", receiptTicketID)).FirstOrDefault(); * if (count == 0) * { * wmsEntities.Database.ExecuteSqlCommand( * "UPDATE ReceiptTicket SET State='送检中' " + * "WHERE ID = @receiptTicketID", * new SqlParameter("receiptTicketID", receiptTicketID)); * } * else * { * wmsEntities.Database.ExecuteSqlCommand( * "UPDATE ReceiptTicket SET State='部分送检中' " + * "WHERE ID = @receiptTicketID", * new SqlParameter("receiptTicketID", receiptTicketID)); * } */ this.Search(); CallBack(); this.Hide(); MessageBox.Show("收货单条目送检成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch { MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return; } } } else { } }
public FormSubmissionTicketItemModify(int submissionTicketID, ReceiptTicketItem receiptTicketItem) { InitializeComponent(); this.submissionTicketID = submissionTicketID; this.receiptTicketItem = receiptTicketItem; }
private void buttonOK_Click(object sender, EventArgs e) { if (this.formMode == FormMode.ALTER) { ReceiptTicketItem receiptTicketItem = (from s in this.wmsEntities.ReceiptTicketItem where s.ID == this.receiptTicketItemID select s).Single(); string errorInfo; if (Utilities.CopyTextBoxTextsToProperties(this, receiptTicketItem, ReceiptMetaData.itemsKeyName, out errorInfo) == true) { try { wmsEntities.SaveChanges(); MessageBox.Show("Successful"); CallBack(); this.Close(); } catch { MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return; } } else { MessageBox.Show(errorInfo); CallBack(); } } else if (this.formMode == FormMode.ADD) { //this.Controls.Find("textBoxReceiptTicketID", true)[0].Text = this.receiptTicketID.ToString(); ReceiptTicketItem receiptTicketItem = new ReceiptTicketItem(); string errorInfo; if (Utilities.CopyTextBoxTextsToProperties(this, receiptTicketItem, ReceiptMetaData.itemsKeyName, out errorInfo) == true) { try { receiptTicketItem.State = "待送检"; receiptTicketItem.ReceiptTicketID = this.receiptTicketID; receiptTicketItem.ID = 0; receiptTicketItem.SupplyID = this.componentID; wmsEntities.ReceiptTicketItem.Add(receiptTicketItem); wmsEntities.SaveChanges(); MessageBox.Show("Successful"); CallBack(); } catch { MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return; } this.Close(); } else { MessageBox.Show(errorInfo); CallBack(); } } }