private void btnPlanAddItem_Click(object sender, EventArgs e) { itemAdd.SearchItem(new pts_stock { item_cd = txtPlanItemCD.Text }); listADd.AddRange(itemAdd.listStockItems.Where(x => x.packing_qty > 0).Select(x => x)); UpdatePlanGrid(); }
/// <summary> /// Search stock item /// </summary> /// <param name="itemNumber"></param> private void SearchNoSet(string itemNumber, string invoiceText) { try { pts_item itemdata = new pts_item(); itemdata = itemdata.GetItem(itemNumber); double totalWHQty = itemdata.wh_qty; txtWHQty.Text = totalWHQty.ToString(); pts_stock stockdata = new pts_stock(); stockdata.SearchItem(new pts_stock { item_cd = itemNumber, invoice = invoiceText }); double totalPackingQty = stockdata.listStockItems.Select(x => x.packing_qty).Sum(); txtTotalPackingQty.Text = totalPackingQty.ToString(); dgvMainStockOut.DataSource = stockdata.listStockItems; dgvMainStockOut.Columns["stock_id"].HeaderText = "ID"; dgvMainStockOut.Columns["packing_cd"].HeaderText = "Packing Code"; dgvMainStockOut.Columns["item_cd"].HeaderText = "Item Number"; dgvMainStockOut.Columns["supplier_cd"].HeaderText = "Supplier Code"; dgvMainStockOut.Columns["order_no"].HeaderText = "Order Number"; dgvMainStockOut.Columns["invoice"].HeaderText = "Invoice"; dgvMainStockOut.Columns["stockin_date"].HeaderText = "Stock-In Date"; dgvMainStockOut.Columns["stockin_user_cd"].HeaderText = "Incharge"; dgvMainStockOut.Columns["stockin_qty"].HeaderText = "Stock-In Qty"; dgvMainStockOut.Columns["packing_qty"].HeaderText = "Packing Qty"; dgvMainStockOut.Columns["registration_user_cd"].HeaderText = "Reg User"; dgvMainStockOut.Columns["registration_date_time"].HeaderText = "Reg Time"; if (dgvMainStockOut.Columns.Contains("order_no")) { dgvMainStockOut.Columns.Remove("order_no"); } if (dgvMainStockOut.Columns.Contains("registration_user_cd")) { dgvMainStockOut.Columns.Remove("registration_user_cd"); } if (dgvMainStockOut.Columns.Contains("registration_date_time")) { dgvMainStockOut.Columns.Remove("registration_date_time"); } if (dgvMainStockOut.Columns.Contains("btnOpenSet")) { dgvMainStockOut.Columns.Remove("btnOpenSet"); } } catch (Exception ex) { CustomMessageBox.Error(ex.Message); } }
private void txtSetStockOutQty_KeyDown(object sender, KeyEventArgs e) { try { if (e.KeyCode == Keys.Enter) { string itemCode = txtSetLowItemCode.Text; pts_stock stockData = new pts_stock(); #region CHECK ITEM IS EXIST IN STOCK? if (!stockData.SearchItem(new pts_stock { item_cd = itemCode, invoice = txtSetInvoice.Text })) { CustomMessageBox.Error("This item is not exist in stock!"); txtSetLowItem.Clear(); txtSetInvoice.Clear(); txtSetLowItem.Focus(); return; } #endregion #region GET INDEX OF ITEM IF IT IS EXIST IN SET LIST int rindex = 0; try { rindex = dgvSetData.Rows.Cast <DataGridViewRow>() .Where(x => x.Cells["low_level_item"].Value.ToString() == itemCode) .Select(x => x.Index).First(); } catch (Exception ex) { CustomMessageBox.Error("This item is not exist in list!" + Environment.NewLine + ex.Message); txtSetLowItem.Clear(); txtSetInvoice.Clear(); txtSetLowItem.Focus(); return; } #endregion DataGridViewRow dr = dgvSetData.Rows[rindex]; double totalpackingQty = stockData.listStockItems.Sum(x => x.packing_qty); double packingQty = double.Parse(txtSetStockOutQty.Text); double orderQty = (double)dr.Cells["request_qty"].Value; //double stockQty = (double)dr.Cells["wh_qty"].Value; double stockoutQty = 0; double residualQty = 0; if (dr.Cells["stockout_qty"].Value != null) { stockoutQty = (double)dr.Cells["stockout_qty"].Value; } //Check qty of label if (packingQty > totalpackingQty) { packingQty = totalpackingQty; CustomMessageBox.Notice("Packing Qty of this item is empty! Please stock-in first!"); } stockoutQty += packingQty; if (stockoutQty > orderQty) { packingQty -= stockoutQty - orderQty; stockoutQty = orderQty; } residualQty = totalpackingQty - packingQty; dr.Cells["stockout_qty"].Value = stockoutQty; //ADD OUTPUT ITEM FOR CSV listOut.Add(new OutputItem { issue_cd = 20, destination_cd = cmbDestination.SelectedValue.ToString(), item_number = itemCode, delivery_qty = packingQty, delivery_date = dtpStockOutDate.Value, order_number = txtSetOrderNum.Text, incharge = txtSetUserCD.Text, }); pts_supplier supplierData = new pts_supplier(); foreach (pts_stock item in stockData.listStockItems) { if (item.packing_qty == 0) { continue; } //ADD NEW STOCK OUT LOG listStockOut.Add(new pts_stockout_log { packing_cd = item.packing_cd, process_cd = txtSetOrderNum.Text, issue_cd = 20, stockout_date = dtpStockOutDate.Value, stockout_user_cd = txtSetUserCD.Text, stockout_qty = packingQty, comment = txtComment.Text, remark = "N", }); if (packingQty < item.packing_qty) { item.packing_qty -= packingQty; //ADD STOCK-IN TO PRINT LIST listPrint.Add(new PrintItem { Item_Number = item.item_cd, Item_Name = dr.Cells["item_name"].Value.ToString(), SupplierName = supplierData.GetSupplier(new pts_supplier { supplier_cd = item.supplier_cd }).supplier_name, Invoice = txtSetInvoice.Text, Delivery_Date = item.stockin_date, Delivery_Qty = item.packing_qty, SupplierCD = item.supplier_cd, isRec = true, Label_Qty = 1 }); //ADD STOCK-OUT TO PRINT LIST listPrint.Add(new PrintItem { Item_Number = item.item_cd, Item_Name = dr.Cells["item_name"].Value.ToString(), SupplierName = supplierData.GetSupplier(new pts_supplier { supplier_cd = item.supplier_cd }).supplier_name, Invoice = txtSetInvoice.Text, Delivery_Date = dtpStockOutDate.Value, Delivery_Qty = packingQty, SupplierCD = item.supplier_cd, isRec = false, Label_Qty = 1 }); packingQty = 0; } else { packingQty -= item.packing_qty; item.packing_qty = 0; } listStock.Add(item); if (packingQty == 0) { break; } } dr.DefaultCellStyle.BackColor = Color.FromKnownColor(KnownColor.ActiveCaption); UpdateGridStockOut(listStockOut); UpdateGridPrint(listPrint); txtSetLowItem.Clear(); txtSetLowItem.Focus(); } } catch (Exception ex) { CustomMessageBox.Error(ex.Message); txtSetLowItem.Clear(); txtSetInvoice.Clear(); txtSetLowItem.Focus(); } }