private SubmissionTicket[] idsToSubmissionTickets(int[] ids) { List <SubmissionTicket> submissionTicketList = new List <SubmissionTicket>(); try { WMSEntities wmsEntities = new WMSEntities(); foreach (int id in ids) { SubmissionTicket submissionTicket = (from s in wmsEntities.SubmissionTicket where s.ID == id select s).FirstOrDefault(); if (submissionTicket != null) { submissionTicket.PaintTime = DateTime.Now; submissionTicketList.Add(submissionTicket); } } wmsEntities.SaveChanges(); } catch { MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return(null); } return(submissionTicketList.ToArray()); }
private void RefreshTextBoxes() { this.ClearTextBoxes(); var worksheet = this.reoGridControlPutaway.Worksheets[0]; int[] ids = Utilities.GetSelectedIDs(this.reoGridControlPutaway); if (ids.Length == 0) { this.submissionTicketID = -1; return; } int id = ids[0]; SubmissionTicket submissionTicket = (from st in wmsEntities.SubmissionTicket where st.ID == id select st).FirstOrDefault(); if (submissionTicket == null) { MessageBox.Show("系统错误,未找到相应上架单项目", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } this.submissionTicketID = int.Parse(submissionTicket.ID.ToString()); Utilities.CopyPropertiesToTextBoxes(submissionTicket, this); //Utilities.CopyPropertiesToComboBoxes(shipmentTicketItemView, this); }
private SubmissionTicket AddPreviewTime(SubmissionTicket submissionTicket) { if (submissionTicket != null) { submissionTicket.PaintTime = DateTime.Now; } return(submissionTicket); }
private void buttonModify_Click(object sender, EventArgs e) { var worksheet = this.reoGridControlPutaway.Worksheets[0]; try { if (worksheet.SelectionRange.Rows != 1) { throw new EntityCommandExecutionException(); } int submissionTicketID = int.Parse(worksheet[worksheet.SelectionRange.Row, 0].ToString()); SubmissionTicket submissionTicket = (from st in wmsEntities.SubmissionTicket where st.ID == submissionTicketID select st).FirstOrDefault(); if (submissionTicket == null) { MessageBox.Show("错误 无法修改此条目"); } else { string errorInfo; if (Utilities.CopyTextBoxTextsToProperties(this, submissionTicket, ReceiptMetaData.submissionTicketKeyName, out errorInfo) == false) { MessageBox.Show(errorInfo); return; } else { new Thread(() => { wmsEntities.SaveChanges(); this.Invoke(new Action(() => { Search(); })); MessageBox.Show("成功"); }).Start(); } } } catch (EntityCommandExecutionException) { MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } catch (Exception) { MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return; } }
private void buttonAdd_Click(object sender, EventArgs e) { SubmissionTicket submissionTicket = new SubmissionTicket(); string errorInfo; if (Utilities.CopyTextBoxTextsToProperties(this, submissionTicket, ReceiptMetaData.submissionTicketKeyName, out errorInfo) == false) { MessageBox.Show(errorInfo); return; } else { new Thread(() => { ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == this.receiptTicketID select rt).FirstOrDefault(); if (receiptTicket != null) { submissionTicket.ProjectID = receiptTicket.ProjectID; submissionTicket.WarehouseID = receiptTicket.WarehouseID; } submissionTicket.CreateUserID = this.userID; submissionTicket.LastUpdateUserID = this.userID; submissionTicket.LastUpdateTime = DateTime.Now; submissionTicket.CreateTime = DateTime.Now; submissionTicket.State = "待检"; submissionTicket.ReceiptTicketID = receiptTicketID; wmsEntities.SubmissionTicket.Add(submissionTicket); wmsEntities.SaveChanges(); submissionTicket.No = Utilities.GenerateNo("J", submissionTicket.ID); try { wmsEntities.SaveChanges(); this.Invoke(new Action(() => Search())); MessageBox.Show("成功"); } catch { MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return; } }).Start(); } }
private void FormAddSubmissionTicket_Load(object sender, EventArgs e) { Utilities.CreateEditPanel(this.tableLayoutPanelTextBoxes, ReceiptMetaData.submissionTicketKeyName); this.PersonIDGetter = Utilities.BindTextBoxSelect <FormSelectPerson, Person>(this, "textBoxPersonName", "Name"); this.DeliverPersonIDGetter = Utilities.BindTextBoxSelect <FormSelectPerson, Person>(this, "textBoxDeliverSubmissionPersonName", "Name"); this.SubmissionPersonIDGetter = Utilities.BindTextBoxSelect <FormSelectPerson, Person>(this, "textBoxSubmissionPersonName", "Name"); this.ReceivePersonIDGetter = Utilities.BindTextBoxSelect <FormSelectPerson, Person>(this, "textBoxReceivePersonName", "Name"); //this.Controls.Find("textBoxID", true)[0].Text = "0"; //TextBox textBoxReceiptTicketID = (TextBox)this.Controls.Find("textBoxReceiptTicketID", true)[0]; //textBoxReceiptTicketID.Text = receiptTicketID.ToString(); //textBoxReceiptTicketID.Enabled = false; if (this.formMode == FormMode.ADD) { TextBox textBoxState = (TextBox)this.Controls.Find("textBoxState", true)[0]; textBoxState.Text = "待检"; textBoxState.Enabled = false; } else { this.submissionTicket = (from st in wmsEntities.SubmissionTicket where st.ID == this.submissionTicketID select st).FirstOrDefault(); SubmissionTicketView submissionTicketView; submissionTicketView = (from st in wmsEntities.SubmissionTicketView where st.ID == this.submissionTicketID select st).FirstOrDefault(); if (submissionTicketView == null) { MessageBox.Show("该送检单已被删除!"); CallBack(); this.Close(); } else { this.personID = submissionTicket.PersonID == null ? -1 : (int)submissionTicket.PersonID; Utilities.CopyPropertiesToTextBoxes(submissionTicketView, this); Utilities.CopyPropertiesToComboBoxes(submissionTicketView, this); } } }
private void buttonOK_Click(object sender, EventArgs e) { WMSEntities wmsEntities = new WMSEntities(); SubmissionTicket submissionTicket = (from st in wmsEntities.SubmissionTicket where st.ID == this.submissionTicketID select st).FirstOrDefault(); if (submissionTicket == null) { MessageBox.Show("该送检单已被删除"); return; } string errorInfo; if (Utilities.CopyTextBoxTextsToProperties(this, submissionTicket, ReceiptMetaData.submissionTicketKeyName, out errorInfo) == false || Utilities.CopyComboBoxsToProperties(this, submissionTicket, ReceiptMetaData.submissionTicketKeyName) == false) { MessageBox.Show(errorInfo + "获取数据数据失败"); return; } //this.personID = this.PersonIDGetter(); //submissionTicket.PersonID = this.personID == -1 ? this.PersonIDGetter() : this.personID; if (this.PersonIDGetter() != -1) { submissionTicket.PersonID = PersonIDGetter(); } if (this.DeliverPersonIDGetter() != -1) { submissionTicket.DeliverSubmissionPersonID = DeliverPersonIDGetter(); } if (this.SubmissionPersonIDGetter() != -1) { submissionTicket.SubmissionPersonID = SubmissionPersonIDGetter(); } if (this.ReceivePersonIDGetter() != -1) { submissionTicket.ReceivePersonID = ReceivePersonIDGetter(); } submissionTicket.LastUpdateUserID = this.userID; submissionTicket.LastUpdateTime = DateTime.Now; new Thread(() => { wmsEntities.SaveChanges(); MessageBox.Show("修改成功"); this.Invoke(new Action(() => { CallBack(); this.Hide(); })); }).Start(); /* * WMSEntities wmsEntities = new WMSEntities(); * if (this.formMode == FormMode.ADD) * { * this.submissionTicket = new SubmissionTicket(); * } * else * { * this.submissionTicket = (from st in wmsEntities.SubmissionTicket where st.ID == this.submissionTicketID select st).FirstOrDefault(); * if (submissionTicket == null) * { * MessageBox.Show("该送检单已被删除"); * return; * } * } * 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.personID == -1 ? this.PersonIDGetter() : this.personID; * * if (this.formMode == FormMode.ADD) * { * ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == receiptTicketID select rt).FirstOrDefault(); * if (receiptTicket != null) * { * submissionTicket.ProjectID = receiptTicket.ProjectID; * submissionTicket.WarehouseID = receiptTicket.Warehouse; * submissionTicket.ReceiptTicketID = receiptTicket.ID; * } * submissionTicket.CreateTime = DateTime.Now; * submissionTicket.CreateUserID = this.userID; * submissionTicket.LastUpdateTime = DateTime.Now; * submissionTicket.LastUpdateUserID = this.userID; * wmsEntities.SubmissionTicket.Add(submissionTicket); * } * else if (this.formMode == FormMode.ALTER) * { * submissionTicket.PersonID = this.personID == -1 ? this.PersonIDGetter() : this.personID; * submissionTicket.LastUpdateUserID = this.userID; * submissionTicket.LastUpdateTime = DateTime.Now; * new Thread(()=> * { * try * { * this.wmsEntities.SaveChanges(); * MessageBox.Show("修改成功"); * } * catch * { * MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); * return; * } * CallBack(); * }).Start(); * this.Close(); * return; * } * } * ReceiptTicketItem[] receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ReceiptTicketID == this.receiptTicketID select rti).ToArray(); * if (receiptTicketItem.Length == 0) * { * MessageBox.Show("该收货单未添加收货单条目"); * } * else * { * foreach(ReceiptTicketItem rti in receiptTicketItem) * { * SubmissionTicketItem submissionTicketItem1 = (from sti in wmsEntities.SubmissionTicketItem where sti.ReceiptTicketItemID == rti.ID select sti).FirstOrDefault(); * if (rti.State == "送检中" && submissionTicketItem1 != null) * { * continue; * } * else * { * StockInfo stockInfo = (from si in wmsEntities.StockInfo where si.ReceiptTicketItemID == rti.ID select si).FirstOrDefault(); * if (stockInfo == null) * { * MessageBox.Show("找不到对应的库存信息"); * } * else * { * if (stockInfo.ReceiptAreaAmount != null) * { * int amountReceiptArea; * amountReceiptArea = (int)stockInfo.ReceiptAreaAmount; * stockInfo.ReceiptAreaAmount = 0; * //TODO stockInfo.SubmissionAreaAmount = amountReceiptArea; * } * } * rti.State = "送检中"; * SubmissionTicketItem submissionTicketItem = new SubmissionTicketItem(); * submissionTicketItem.ReceiptTicketItemID = rti.ID; * submissionTicketItem.State = "待检"; * submissionTicket.SubmissionTicketItem.Add(submissionTicketItem); * } * } * new Thread(() => * { * try * { * wmsEntities.Database.ExecuteSqlCommand("UPDATE ReceiptTicket SET State = '送检中' WHERE ID = @receiptTicket", new SqlParameter("receiptTicket", receiptTicketID)); * wmsEntities.SaveChanges(); * submissionTicket.No = Utilities.GenerateNo("J", submissionTicket.ID); * wmsEntities.SaveChanges(); * MessageBox.Show("成功"); * } * catch * { * MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); * return; * } * }).Start(); * } * CallBack();*/ }
private void toolStripButton1_Click(object sender, EventArgs e) { var worksheet = this.reoGridControl1.Worksheets[0]; try { if (worksheet.SelectionRange.Rows != 1) { MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } WMSEntities wmsEntities = new WMSEntities(); int submissionTicketID; try { submissionTicketID = int.Parse(worksheet[worksheet.SelectionRange.Row, 0].ToString()); } catch { MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //var formReceiptTicketIems = new FormReceiptItems(FormMode.ALTER, receiptTicketID); SubmissionTicket submissionTicket = (from rt in wmsEntities.SubmissionTicket where rt.ID == submissionTicketID select rt).FirstOrDefault(); if (submissionTicket == null) { MessageBox.Show("该收货单已被删除,请刷新后查看!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //if (submissionTicket.State == "待检") //{ // MessageBox.Show("该送检单状态为待检,不能生成上架单!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question); // return; //} /* * if (receiptTicket.HasPutawayTicket == "是") * { * MessageBox.Show("该收货单已经生成上架单,点击查看对应上架单按钮查看!"); * return; * }*/ //if (submissionTicket.State != "合格") //{ // MessageBox.Show("该送检单状态为" + submissionTicket.State + ",不能生成上架单", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); // return; //} ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == submissionTicket.ReceiptTicketID select rt).FirstOrDefault(); if (receiptTicket == null) { MessageBox.Show("该收货单已被删除,不能上架", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } FormPutawayNew formPutawayNew = new FormPutawayNew(receiptTicket.ID, this.userID, FormMode.ADD); formPutawayNew.SetCallBack(new Action(() => { this.Search(); })); formPutawayNew.Show(); } catch (Exception) { MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return; } }
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 buttonNoPass_Click(object sender, EventArgs e) { WMSEntities wmsEntities = new WMSEntities(); var worksheet = this.reoGridControl1.Worksheets[0]; try { if (worksheet.SelectionRange.Rows != 1) { MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } int submissionTicketID = int.Parse(worksheet[worksheet.SelectionRange.Row, 0].ToString()); SubmissionTicket submissionTicket = (from st in wmsEntities.SubmissionTicket where st.ID == submissionTicketID select st).FirstOrDefault(); if (submissionTicket == null) { MessageBox.Show("找不到该送检单"); return; } ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == submissionTicket.ReceiptTicketID select rt).FirstOrDefault(); if (receiptTicket == null) { MessageBox.Show("对应收货单已被删除,无法拒收"); return; } if (receiptTicket.HasPutawayTicket == "全部生成上架单" || receiptTicket.HasPutawayTicket == "部分生成上架单") { MessageBox.Show("该送检单所对应的收货单已经生成上架单,无法拒收"); return; } receiptTicket.State = "拒收"; ReceiptTicketItem[] receiptTicketItems = receiptTicket.ReceiptTicketItem.ToArray(); foreach (ReceiptTicketItem rti in receiptTicketItems) { StockInfo stockInfo = (from si in wmsEntities.StockInfo where si.ReceiptTicketItemID == rti.ID select si).FirstOrDefault(); rti.RefuseAmount += rti.ReceiviptAmount; rti.UnitCount = 0; rti.ReceiviptAmount = 0; rti.State = "拒收"; if (stockInfo != null) { stockInfo.ReceiptAreaAmount = 0; } } new Thread(() => { wmsEntities.SaveChanges(); MessageBox.Show("成功"); this.Invoke(new Action(() => { if (this.key == null || this.value == null) { this.Search(); } else { this.Search(this.key, this.value); } })); }).Start(); } catch { MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return; } }
//private void buttonSelect_Click(object sender, EventArgs e) //{ // if (comboBoxSelect.SelectedIndex == 0) // { // Search(); // } // else // { // string condition = this.comboBoxSelect.Text; // string key = ""; // foreach (KeyName kn in ReceiptMetaData.submissionTicketKeyName) // { // if (condition == kn.Name) // { // key = kn.Key; // break; // } // } // string value = this.textBoxSelect.Text; // if (key != null && value != null) // { // this.pagerWidget.AddCondition(key, value); // } // Search(); // } //} private void buttonPass_Click(object sender, EventArgs e) { WMSEntities wmsEntities = new WMSEntities(); var worksheet = this.reoGridControl1.Worksheets[0]; try { if (worksheet.SelectionRange.Rows != 1) { MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } int submissionTicketID = int.Parse(worksheet[worksheet.SelectionRange.Row, 0].ToString()); SubmissionTicket submissionTicket = (from st in wmsEntities.SubmissionTicket where st.ID == submissionTicketID select st).FirstOrDefault(); if (submissionTicket == null) { MessageBox.Show("找不到该送检单"); return; } ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == submissionTicket.ReceiptTicketID select rt).FirstOrDefault(); if (receiptTicket == null) { MessageBox.Show("对应收货单已被删除,无法收货"); return; } //receiptTicket.State = "已收货"; ReceiptTicketItem[] receiptTicketItems = receiptTicket.ReceiptTicketItem.ToArray(); int n = 0; foreach (ReceiptTicketItem rti in receiptTicketItems) { if (rti.RefuseAmount > 0) { rti.State = "部分收货"; } else { rti.State = "已收货"; n++; } StockInfo stockInfo = (from si in wmsEntities.StockInfo where si.ReceiptTicketItemID == rti.ID select si).FirstOrDefault(); if (stockInfo != null) { stockInfo.OverflowAreaAmount += stockInfo.ReceiptAreaAmount; stockInfo.ReceiptAreaAmount -= stockInfo.ReceiptAreaAmount; } } if (n == receiptTicketItems.Length) { receiptTicket.State = "已收货"; } else { receiptTicket.State = "部分收货"; } new Thread(() => { wmsEntities.SaveChanges(); MessageBox.Show("成功"); this.Invoke(new Action(() => { if (this.key == null || this.value == null) { this.Search(); } else { this.Search(this.key, this.value); } })); }).Start(); /* * SubmissionTicketItem[] submissionTicketItem = (from sti in wmsEntities.SubmissionTicketItem where sti.SubmissionTicketID == submissionTicketID select sti).ToArray(); * foreach (SubmissionTicketItem sti in submissionTicketItem) * { * sti.State = "合格"; * ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == sti.ReceiptTicketItemID select rti).FirstOrDefault(); * if (receiptTicketItem != null) * { * receiptTicketItem.State = "过检"; * } * } * submissionTicket.State = "合格"; * ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == submissionTicket.ReceiptTicketID select rt).FirstOrDefault(); * new Thread(() => * { * wmsEntities.SaveChanges(); * if (receiptTicket != null) * { * int count = wmsEntities.Database.SqlQuery<int>( * "SELECT COUNT(*) FROM ReceiptTicketItem " + * "WHERE State <> '过检' AND ReceiptTicketID = @receiptTicketID", * new SqlParameter("receiptTicketID", receiptTicket.ID)).FirstOrDefault(); * if (count == 0) * { * wmsEntities.Database.ExecuteSqlCommand( * "UPDATE ReceiptTicket SET State = '过检' " + * "WHERE ID = @receiptTicketID", * new SqlParameter("receiptTicketID", receiptTicket.ID)); * } * else * { * int count2 = wmsEntities.Database.SqlQuery<int>( * "SELECT COUNT(*) FROM ReceiptTicketItem " + * "WHERE State = '已收货' AND ReceiptTicketID = @receiptTicketID", * new SqlParameter("receiptTicketID", receiptTicket.ID)).FirstOrDefault(); * if (count2 == 0) * { * wmsEntities.Database.ExecuteSqlCommand( * "UPDATE ReceiptTicket SET State = '部分过检' " + * "WHERE ID = @receiptTicketID", * new SqlParameter("receiptTicketID", receiptTicket.ID)); * } * } * if (MessageBox.Show("是否同时收货?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) * { * foreach (SubmissionTicketItem sti in submissionTicketItem) * { * //sti.State = "合格"; * ReceiptTicketItem receiptTicketItem = (from rti in wmsEntities.ReceiptTicketItem where rti.ID == sti.ReceiptTicketItemID select rti).FirstOrDefault(); * if (receiptTicketItem != null) * { * receiptTicketItem.State = "已收货"; * StockInfo stockInfo = (from si in wmsEntities.StockInfo where si.ReceiptTicketItemID == receiptTicketItem.ID select si).FirstOrDefault(); * //StockInfo stockInfo = (from si in wmsEntities.StockInfo where si.ReceiptTicketItemID == receiptTicketItem.ID select si).FirstOrDefault(); * if (stockInfo != null) * {/*TODO * if (stockInfo.SubmissionAreaAmount != null) * { * int amount = (int)stockInfo.SubmissionAreaAmount; * stockInfo.ReceiptAreaAmount += amount; * stockInfo.SubmissionAreaAmount = 0; * } * } * } * } * wmsEntities.SaveChanges(); * int count2 = wmsEntities.Database.SqlQuery<int>( * "SELECT COUNT(*) FROM ReceiptTicketItem " + * "WHERE State <> '已收货' AND ReceiptTicketID = @receiptTicketID", * new SqlParameter("receiptTicketID", receiptTicket.ID)).FirstOrDefault(); * if (count2 == 0) * { * wmsEntities.Database.ExecuteSqlCommand( * "UPDATE ReceiptTicket SET State = '已收货' " + * "WHERE ID = @receiptTicketID", * new SqlParameter("receiptTicketID", receiptTicket.ID)); * } * else * { * wmsEntities.Database.ExecuteSqlCommand( * "UPDATE ReceiptTicket SET State = '部分收货' " + * "WHERE ID = @receiptTicketID", * new SqlParameter("receiptTicketID", receiptTicket.ID)); * } * } * } * this.Invoke(new Action(() => * { * this.Search(null, null); * })); * }).Start();*/ } catch { MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return; } /* * WMSEntities wmsEntities = new WMSEntities(); * var worksheet = this.reoGridControl1.Worksheets[0]; * try * { * if (worksheet.SelectionRange.Rows != 1) * { * throw new EntityCommandExecutionException(); * } * int submissionTicketID = int.Parse(worksheet[worksheet.SelectionRange.Row, 0].ToString()); * SubmissionTicket submissionTicket = (from st in wmsEntities.SubmissionTicket where st.ID == submissionTicketID select st).Single(); * if (submissionTicket.State == "合格") * { * MessageBox.Show("该送检单状态已置为合格"); * } * else * { * wmsEntities.Database.ExecuteSqlCommand("UPDATE SubmissionTicket SET State='合格' WHERE ID=@submissionTicketID", new SqlParameter("submissionTicketID", submissionTicketID)); * wmsEntities.Database.ExecuteSqlCommand("UPDATE SubmissionTicketItem SET State='合格' WHERE SubmissionTicketID=@submissionTicketID", new SqlParameter("submissionTicketID", submissionTicketID)); * wmsEntities.Database.ExecuteSqlCommand("UPDATE ReceiptTicket SET State='过检' WHERE ID=@receiptTicket", new SqlParameter("receiptTicket", submissionTicket.ReceiptTicketID)); * wmsEntities.Database.ExecuteSqlCommand("UPDATE ReceiptTicketItem SET State='过检' WHERE ReceiptTicketID=@receiptTicket", new SqlParameter("receiptTicket", submissionTicket.ReceiptTicketID)); * * if (MessageBox.Show("是否同时收货?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) * { * ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == submissionTicket.ReceiptTicketID select rt).FirstOrDefault(); * if (receiptTicket != null) * { * if (receiptTicket.State != "已收货") * { * wmsEntities.Database.ExecuteSqlCommand("UPDATE ReceiptTicket SET State='已收货' WHERE ID=@receiptTicket", new SqlParameter("receiptTicket", submissionTicket.ReceiptTicketID)); * wmsEntities.Database.ExecuteSqlCommand("UPDATE ReceiptTicketItem SET State='已收货' WHERE ReceiptTicketID=@receiptTicket", new SqlParameter("receiptTicket", submissionTicket.ReceiptTicketID)); * } * * } * } * } * } * catch(EntityCommandExecutionException) * { * MessageBox.Show("请选择一项进行修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); * return; * } * catch (Exception) * { * MessageBox.Show("无法连接到数据库,请查看网络连接!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Error); * return; * } * this.Search(null, null); */ }
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 { } }