private void FormReceiptSubmissionNew_Load(object sender, EventArgs e) { this.ItemKeyName = (from kn in ReceiptMetaData.itemsKeyName where kn.Key != "Component" select kn).ToArray(); InitComponents(); Search(); InitPanel(); WMSEntities wmsEntities = new WMSEntities(); User user = (from u in wmsEntities.User where u.ID == userID select u).FirstOrDefault(); ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == this.receiptTicketID select rt).FirstOrDefault(); if (user != null) { this.Controls.Find("textBoxCreateUserUsername", true)[0].Text = user.Username; this.Controls.Find("textBoxLastUpdateUserUsername", true)[0].Text = user.Username; } if (receiptTicket != null) { this.Controls.Find("textBoxReceiptTicketNo", true)[0].Text = receiptTicket.No; this.Controls.Find("textBoxSubmissionDate", true)[0].Text = receiptTicket.ReceiptDate.ToString(); } this.Controls.Find("textBoxState", true)[0].Text = "待检"; this.Controls.Find("textBoxCreateTime", true)[0].Text = DateTime.Now.ToString(); this.Controls.Find("textBoxLastUpdateTime", true)[0].Text = DateTime.Now.ToString(); }
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 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 ReceiptTicketModify_Load(object sender, EventArgs e) { /* * this.tableLayoutPanelTextBoxes.Controls.Clear(); * for (int i = 0; i < ReceiptMetaData.receiptNameKeys.Length; i++) * { * KeyName curKeyName = ReceiptMetaData.receiptNameKeys[i]; * if (curKeyName.Editable == false && curKeyName.Visible == false && curKeyName.Save == true) * { * continue; * } * Label label = new Label(); * label.AutoSize = true; * label.Text = curKeyName.Name; * this.tableLayoutPanelTextBoxes.Controls.Add(label); * * TextBox textBox = new TextBox(); * textBox.Name = "textBox" + curKeyName.Key; * if(curKeyName.Editable == false) * { * textBox.Enabled = false; * } * * this.tableLayoutPanelTextBoxes.Controls.Add(textBox); * * }*/ Utilities.CreateEditPanel(this.tableLayoutPanelTextBoxes, ReceiptMetaData.receiptNameKeys); this.personIDGetter = Utilities.BindTextBoxSelect <FormSelectPerson, Person>(this, "textBoxPersonName", "Name"); if (this.formMode == FormMode.ALTER) { this.buttonOK.Text = "修改收货单"; this.Text = "修改收货单"; this.GroupBox.Text = "修改收货单"; ReceiptTicketView receiptTicketView = (from s in this.wmsEntities.ReceiptTicketView where s.ID == this.ID select s).Single(); Utilities.CopyPropertiesToTextBoxes(receiptTicketView, this); Utilities.CopyPropertiesToComboBoxes(receiptTicketView, this); if (receiptTicketView.SupplierID != null) { this.supplierID = (int)receiptTicketView.SupplierID; } else { MessageBox.Show("请重新选择供应商"); } if (receiptTicketView.HasPutawayTicket == "全部生成上架单" || receiptTicketView.HasPutawayTicket == "部分生成上架单" || receiptTicketView.State == "送检中") { this.Controls.Find("textBoxState", true)[0].Enabled = false; } if (user != null) { if (user.SupplierID != null) { //ComboBox comboxstate = (ComboBox)this.Controls.Find("comboBoxState", true)[0]; this.Controls.Find("textBoxState", true)[0].Enabled = false; //comboxstate.Enabled = false; } } ReceiptTicket receiptTicket = (from rt in wmsEntities.ReceiptTicket where rt.ID == receiptTicketView.ID select rt).FirstOrDefault(); if (receiptTicket != null) { if (receiptTicket.ReceiptTicketItem.ToArray().Length != 0) { this.Controls.Find("textBoxSupplierName", true)[0].Enabled = false; this.Controls.Find("textBoxSupplierNumber", true)[0].Enabled = false; } } //this.Controls.Find("comboBoxState", true)[0].Enabled = false; //TextBox textBoxLastUpdateUserID = (TextBox)this.Controls.Find("textBoxLastUpdateUserUserID", true)[0]; //textBoxLastUpdateUserID.Text = this.userID.ToString(); } else { this.buttonOK.Text = "添加收货单"; Warehouse warehouse = (from wh in wmsEntities.Warehouse where wh.ID == this.warehouseID select wh).FirstOrDefault(); if (warehouse == null) { Console.Write("this warehouse is null"); } else { TextBox textBoxWarehouseName = (TextBox)this.Controls.Find("textBoxWarehouseName", true)[0]; textBoxWarehouseName.Text = warehouse.Name; textBoxWarehouseName.Enabled = false; } Project project = (from p in wmsEntities.Project where p.ID == this.projectID select p).FirstOrDefault(); if (project == null) { Console.Write("this project is null"); } else { TextBox textBoxProjectName = (TextBox)this.Controls.Find("textBoxProjectName", true)[0]; textBoxProjectName.Text = project.Name; textBoxProjectName.Enabled = false; /* * TextBox textBoxWarehouseName = (TextBox)this.Controls.Find("textBoxWarehouseName", true)[0]; * textBoxWarehouseName.Text = warehouse.Name; * textBoxWarehouseName.Enabled = false;*/ } ComboBox comboBoxHasSubmission = (ComboBox)this.Controls.Find("comboBoxHasSubmission", true)[0]; comboBoxHasSubmission.Text = "否"; this.Controls.Find("textBoxReceiptDate", true)[0].Text = DateTime.Now.ToString(); comboBoxHasSubmission.Enabled = false; this.Controls.Find("textBoxState", true)[0].Text = "待收货"; if (this.user != null) { if (this.user.Supplier == null) { this.Controls.Find("textBoxSupplierName", true)[0].Click += textBoxSupplierID_Click; } else { this.Controls.Find("textBoxSupplierName", true)[0].Text = this.user.Supplier.Name; this.Controls.Find("textBoxSupplierName", true)[0].Enabled = false; this.supplierID = (int)this.user.SupplierID; } } //this.Controls.Find("textBoxState", true)[0].Enabled = false; //TextBox textBoxProjectID = (TextBox)this.Controls.Find("textBoxProjectID", true)[0]; //textBoxProjectID.Text = this.projectID.ToString(); //textBoxProjectID.Enabled = false; //TextBox textBoxCreateUserID = (TextBox)this.Controls.Find("textBoxCreateUserID", true)[0]; //textBoxCreateUserID.Text = this.userID.ToString(); //TextBox textBoxWarehouse = (TextBox)this.Controls.Find("textBoxWarehouse", true)[0]; //textBoxWarehouse.Text = this.warehouseID.ToString(); //TextBox textBoxID = (TextBox)this.Controls.Find("textBoxID", true)[0]; //textBoxID.Text = "0"; //textBoxCreateUserID.Enabled = false; } //else (this.formMode == FormMode.ADD); //this.Controls.Find("textBoxID", true)[0].TextChanged += textBoxID_TextChanged; //this.Controls.Find("textBoxProjectID", true)[0].TextChanged += textBoxProjectID_TextChanged; //this.Controls.Find("textBoxWarehouse", true)[0].TextChanged += textBoxWarehouseID_TextChanged; //this.Controls.Find("textBoxSupplierID", true)[0].TextChanged += textBoxSupplierID_TextChanged; }
private void button1_Click(object sender, EventArgs e) { string oldState; TextBox textBox = this.Controls.Find("textBoxSupplierName", true)[0] as TextBox; if (textBox.Text == "") { MessageBox.Show("请选择供货商!"); return; } if (this.formMode == FormMode.ALTER) { ReceiptTicket receiptTicket = (from rt in this.wmsEntities.ReceiptTicket where rt.ID == this.ID select rt).FirstOrDefault(); if (receiptTicket == null) { MessageBox.Show("该收货单可能已被删除,请刷新后查看!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } string errorInfo; if (Utilities.CopyTextBoxTextsToProperties(this, receiptTicket, ReceiptMetaData.receiptNameKeys, out errorInfo) == false) { MessageBox.Show(errorInfo); return; } //wmsEntities.ReceiptTicket.Add(receiptTicket); else { oldState = receiptTicket.State; if (Utilities.CopyComboBoxsToProperties(this, receiptTicket, ReceiptMetaData.receiptNameKeys) == false) { MessageBox.Show("状态获取失败。"); return; } receiptTicket.LastUpdateTime = DateTime.Now; receiptTicket.LastUpdateUserID = this.userID; receiptTicket.ProjectID = this.projectID; receiptTicket.WarehouseID = this.warehouseID; receiptTicket.SupplierID = this.supplierID; receiptTicket.PersonID = this.personIDGetter(); wmsEntities.SaveChanges(); if (oldState == "待收货") { if (receiptTicket.State == "已收货") { if (MessageBox.Show("是否同时将所有条目置为收货,并将货物放置溢库区?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { foreach (ReceiptTicketItem rti in receiptTicket.ReceiptTicketItem) { StockInfo stockInfo = (from si in wmsEntities.StockInfo where si.ReceiptTicketItemID == rti.ID select si).FirstOrDefault(); if (stockInfo == null) { return; } stockInfo.OverflowAreaAmount += stockInfo.ReceiptAreaAmount; stockInfo.ReceiptAreaAmount -= stockInfo.ReceiptAreaAmount; rti.State = receiptTicket.State; } } } else if (receiptTicket.State == "拒收") { if (MessageBox.Show("是否同时将所有条目置为拒收?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { foreach (ReceiptTicketItem rti in receiptTicket.ReceiptTicketItem) { rti.State = receiptTicket.State; } } } } else if (oldState == "已收货") { if (receiptTicket.State == "待收货" || receiptTicket.State == "拒收") { if (MessageBox.Show("是否同时将所有条目置为" + receiptTicket.State + "?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { foreach (ReceiptTicketItem rti in receiptTicket.ReceiptTicketItem) { rti.State = receiptTicket.State; StockInfo stockInfo = (from si in wmsEntities.StockInfo where si.ReceiptTicketItemID == rti.ID select si).FirstOrDefault(); if (stockInfo == null) { return; } stockInfo.ReceiptAreaAmount += stockInfo.OverflowAreaAmount; stockInfo.OverflowAreaAmount -= stockInfo.OverflowAreaAmount; } } } } else if (oldState == "送检中") { receiptTicket.State = "送检中"; } else { if (receiptTicket.State == "待收货") { if (MessageBox.Show("是否同时将所有零件置为待收货?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { foreach (ReceiptTicketItem rti in receiptTicket.ReceiptTicketItem) { rti.State = receiptTicket.State; } } } else if (receiptTicket.State == "已收货") { if (MessageBox.Show("是否同时将所有零件置为已收货,并将货物移到溢库区?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { foreach (ReceiptTicketItem rti in receiptTicket.ReceiptTicketItem) { StockInfo stockInfo = (from si in wmsEntities.StockInfo where si.ReceiptTicketItemID == rti.ID select si).FirstOrDefault(); if (stockInfo == null) { return; } stockInfo.OverflowAreaAmount += stockInfo.ReceiptAreaAmount; stockInfo.ReceiptAreaAmount -= stockInfo.ReceiptAreaAmount; rti.State = receiptTicket.State; } } } } ReceiptTicketItem[] receiptTicketItem = receiptTicket.ReceiptTicketItem.ToArray(); foreach (ReceiptTicketItem s in receiptTicketItem) { StockInfo stockInfo = (from si in wmsEntities.StockInfo where si.ReceiptTicketItemID == s.ID select si).FirstOrDefault(); if (stockInfo != null) { stockInfo.ReceiptTicketNo = receiptTicket.No; } } wmsEntities.SaveChanges(); //MessageBox.Show("Successful!"); } } else { ReceiptTicket receiptTicket = new ReceiptTicket(); string errorInfo; if (Utilities.CopyTextBoxTextsToProperties(this, receiptTicket, ReceiptMetaData.receiptNameKeys, out errorInfo) == false) { MessageBox.Show(errorInfo); return; } //wmsEntities.ReceiptTicket.Add(receiptTicket); else { if (Utilities.CopyComboBoxsToProperties(this, receiptTicket, ReceiptMetaData.receiptNameKeys) == false) { MessageBox.Show("状态获取失败。"); return; } receiptTicket.LastUpdateUserID = this.userID; receiptTicket.WarehouseID = this.warehouseID; receiptTicket.ProjectID = this.projectID; receiptTicket.CreateUserID = this.userID; receiptTicket.LastUpdateTime = DateTime.Now; receiptTicket.CreateTime = DateTime.Now; receiptTicket.SupplierID = this.supplierID; receiptTicket.HasPutawayTicket = "未生成上架单"; receiptTicket.PersonID = this.personIDGetter(); wmsEntities.ReceiptTicket.Add(receiptTicket); wmsEntities.SaveChanges(); //////////////////////////// if (string.IsNullOrWhiteSpace(receiptTicket.No)) { if (receiptTicket.CreateTime.HasValue == false) { MessageBox.Show("单号生成失败(未知创建日期)!请手动填写单号"); return; } DateTime createDay = new DateTime(receiptTicket.CreateTime.Value.Year, receiptTicket.CreateTime.Value.Month, receiptTicket.CreateTime.Value.Day); DateTime nextDay = createDay.AddDays(1); int maxRankOfToday = Utilities.GetMaxTicketRankOfDay((from s in wmsEntities.ReceiptTicket where s.CreateTime >= createDay && s.CreateTime < nextDay select s.No).ToArray()); if (maxRankOfToday == -1) { MessageBox.Show("单号生成失败!请手动填写单号"); return; } receiptTicket.No = Utilities.GenerateTicketNo("S", receiptTicket.CreateTime.Value, maxRankOfToday + 1); } if (string.IsNullOrWhiteSpace(receiptTicket.Number)) { if (receiptTicket.CreateTime.HasValue == false) { MessageBox.Show("单号生成失败(未知创建日期)!请手动填写编号"); return; } Supplier supplier = (from s in wmsEntities.Supplier where s.ID == receiptTicket.SupplierID select s).FirstOrDefault(); if (supplier == null) { MessageBox.Show("编号生成失败(供应商信息不存在)!请手动填写编号"); return; } DateTime createMonth = new DateTime(receiptTicket.CreateTime.Value.Year, receiptTicket.CreateTime.Value.Month, 1); DateTime nextMonth = createMonth.AddMonths(1); var tmp = (from s in wmsEntities.ReceiptTicket where s.CreateTime >= createMonth && s.CreateTime < nextMonth && s.SupplierID == receiptTicket.SupplierID select s.Number).ToArray(); int maxRankOfMonth = Utilities.GetMaxTicketRankOfSupplierAndMonth(tmp); receiptTicket.Number = Utilities.GenerateTicketNumber(supplier.Number, receiptTicket.CreateTime.Value, maxRankOfMonth + 1); } /////////////////////////////////////////////////////////////// //receiptTicket.No = Utilities.GenerateNo("H", receiptTicket.ID); wmsEntities.SaveChanges(); //MessageBox.Show("Successful!"); } } modifyFinishedCallback(); this.Close(); }
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 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 { } }