void initValueToTxt(scanMain_stockDetails value) { txt13Shelf_no.Text = value.shelf_no.Trim(); txt21pqty.Text = value.pqty.Trim(); txt4Qty.Text = value.qty.Trim(); txt5nwet.Text = value.nwet.Trim(); txt15ReceidNo.Text = value.receiptNo.Trim(); }
private void txt21ctnno_no_KeyDown(object sender, KeyEventArgs e) { var tmpmsg = ""; toSetValue = false; Cursor.Current = Cursors.WaitCursor; try { if (e.KeyCode == Keys.Enter) { if (!timer1.Enabled) { timer1.Enabled = true; } if (!string.IsNullOrEmpty(txt11stockout_id.Text.Trim()) && !string.IsNullOrEmpty(txt12Rfid_no.Text.Trim()) && !string.IsNullOrEmpty(txt15ReceidNo.Text.Trim()) && !string.IsNullOrEmpty(txt21CartonNo.Text.Trim())) { var tmpshelfModel = new scanMain_stockDetails(); #region check shelf details //check is in stock deatils //set value StringDictionary dis1WhereValuet_stockdetail = new StringDictionary(); //select StringDictionary dis2ForValuet_stockdetail = new StringDictionary(); //t_stockdetail dis1WhereValuet_stockdetail[MasterTableWHS.t_stockdetail.rfid_no] = _rfidStrForSet.Trim(); dis2ForValuet_stockdetail[MasterTableWHS.t_stockdetail.rfid_no] = "true"; var dt = this.m_daoCommon.GetTableInfo(MasterTableWHS.ViewOrTable.t_stockdetail, dis1WhereValuet_stockdetail, dis2ForValuet_stockdetail, _disNull, "", false); if (dt.Rows.Count <= 0) { //var tmpshelf = dt.Rows[0][MasterTableWHS.t_stockdetail.shelf_no].ToString(); tmpmsg = "RFID:" + _rfidStrForSet + " 未上架。请上架后再出库,谢谢。"; AllInit(false); toSetValue = true; txt13Shelf_no.Text = ""; txt15ReceidNo.Text = ""; txt12Rfid_no.Text = ""; toSetValue = false; txt12Rfid_no.Focus(); SetMsg(lnlTotal, tmpmsg); MessageBox.Show(tmpmsg); return; } else { tmpshelfModel = getRowToModel(dt.Rows[0]); } //扫仓单号 dis1WhereValuet_stockdetail[MasterTableWHS.t_stockdetail.receiptNo] = txt15ReceidNo.Text.Trim(); dis2ForValuet_stockdetail[MasterTableWHS.t_stockdetail.receiptNo] = "true"; var dt15 = this.m_daoCommon.GetTableInfo(MasterTableWHS.ViewOrTable.t_stockdetail, dis1WhereValuet_stockdetail, dis2ForValuet_stockdetail, _disNull, "", false); if (dt15.Rows.Count <= 0) { //var tmpshelf = dt.Rows[0][MasterTableWHS.t_stockdetail.shelf_no].ToString(); tmpmsg = "RFID:" + _rfidStrForSet + ",仓单号:" + txt15ReceidNo.Text.Trim() + " 不存在。货物编码:" + tmpshelfModel.prdct_no; AllInit(false); toSetValue = true; txt13Shelf_no.Text = ""; //txt15ReceidNo.Text = ""; //txt12Rfid_no.Text = ""; toSetValue = false; txt15ReceidNo.Focus(); SetMsg(lnlTotal, tmpmsg); MessageBox.Show(tmpmsg); return; } else { tmpshelfModel = getRowToModel(dt15.Rows[0]); tmpshelfModel.ctnno_no = txt21CartonNo.Text.Trim(); //tmpshelfModel.pqty = dt.Rows.Count.ToString(); } //扫箱号 //t_stockdetail check carton dis1WhereValuet_stockdetail[MasterTableWHS.t_stockdetail.ctnno_no] = tmpshelfModel.ctnno_no; dis2ForValuet_stockdetail[MasterTableWHS.t_stockdetail.ctnno_no] = "true"; var dtctn = this.m_daoCommon.GetTableInfo(MasterTableWHS.ViewOrTable.t_stockdetail, dis1WhereValuet_stockdetail, dis2ForValuet_stockdetail, _disNull, "", false); if (dtctn.Rows.Count <= 0) { //var tmpshelf = dt.Rows[0][MasterTableWHS.t_stockdetail.shelf_no].ToString(); tmpmsg = "RFID:" + _rfidStrForSet + ",箱号:" + tmpshelfModel.ctnno_no + " 不存在。货物编码:" + tmpshelfModel.prdct_no; AllInit(false); toSetValue = true; txt13Shelf_no.Text = ""; //txt15ReceidNo.Text = ""; //txt12Rfid_no.Text = ""; toSetValue = false; txt21CartonNo.Focus(); SetMsg(lnlTotal, tmpmsg); MessageBox.Show(tmpmsg); return; } else { tmpshelfModel = getRowToModel(dtctn.Rows[0]); initValueToTxt(tmpshelfModel); } #endregion #region check 检查出库申请明细中是否正在对应产品 if (!checkt_stockoutctnnoWithProduct(txt21CartonNo, txt11stockout_id.Text, tmpshelfModel.prdct_no)) { AllInit(false); tmpmsg = "不存出库申请No:" + txt11stockout_id.Text + ",货物编号:" + tmpshelfModel.prdct_no + "。"; SetMsg(lnlTotal, tmpmsg); MessageBox.Show(tmpmsg); Cursor.Current = Cursors.Default; return; } #endregion #region check t_stockoutctnno StringDictionary dis1WhereValuet_stockoutctnnoDetail = new StringDictionary(); StringDictionary dis2ForValuet_stockoutctnnoDetail = new StringDictionary(); //t_stockoutctnnoDetail dis1WhereValuet_stockoutctnnoDetail[MasterTableWHS.t_stockoutctnnodetail.rfid_no] = _rfidStrForSet.Trim(); dis2ForValuet_stockoutctnnoDetail[MasterTableWHS.t_stockoutctnnodetail.rfid_no] = "true"; //dis1WhereValuet_stockoutctnno[MasterTableWHS.t_stockoutctnno.stockout_id] = txt11stockout_id.Text.Trim(); //dis2ForValuet_stockoutctnno[MasterTableWHS.t_stockoutctnno.stockout_id] = "true"; dis1WhereValuet_stockoutctnnoDetail[MasterTableWHS.t_stockoutctnnodetail.ctnno_no] = tmpshelfModel.ctnno_no; dis2ForValuet_stockoutctnnoDetail[MasterTableWHS.t_stockoutctnnodetail.ctnno_no] = "true"; var dtIn = this.m_daoCommon.GetTableInfo(MasterTableWHS.ViewOrTable.t_stockoutctnnodetail, dis1WhereValuet_stockoutctnnoDetail, dis2ForValuet_stockoutctnnoDetail, _disNull, "", false); if (dtIn != null) { if (dtIn.Rows.Count > 0) { tmpmsg = "RFID:" + _rfidStrForSet + ",箱号:" + tmpshelfModel.ctnno_no + " 已出库。货物编码:" + tmpshelfModel.prdct_no; AllInit(false); txt12Rfid_no.Text = ""; txt12Rfid_no.Focus(); //txt21CartonNo.Focus(); dtIn = null; SetMsg(lnlTotal, tmpmsg); MessageBox.Show(tmpmsg); return; } } #endregion if (!checkInList(_rfidStrForSet.Trim(), false, txt21CartonNo.Text.Trim())) { scanMain_stockDetails tmp = new scanMain_stockDetails(); tmp.shelf_no = txt13Shelf_no.Text.Trim(); tmp.rfid_no = _rfidStrForSet.Trim(); tmp.receiptNo = tmpshelfModel.receiptNo; tmp.stockout_id = txt11stockout_id.Text.Trim(); tmp.prdct_no = tmpshelfModel.prdct_no; tmp.ctnno_no = txt21CartonNo.Text.Trim(); tmp.pqty = txt21pqty.Text.Trim(); tmp = initTxtToValue(tmp); addToListView(tmp); txt21CartonNo.Focus(); } else { AllInit(false); txt12Rfid_no.Text = ""; SetMsg(lnlTotal, "RFID:" + _rfidStrForSet + "," + tmpshelfModel.shelf_no + " 已扫。"); } } } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { Cursor.Current = Cursors.Default; } }
private scanMain_stockDetails getRowToModel(DataRow dr) { var tmpStockDetail = new scanMain_stockDetails(); tmpStockDetail.shelf_no = dr[MasterTableWHS.t_stockdetail.shelf_no].ToString(); tmpStockDetail.receiptNo = dr[MasterTableWHS.t_stockdetail.receiptNo].ToString(); tmpStockDetail.pqty = dr[MasterTableWHS.t_stockdetail.pqty].ToString(); tmpStockDetail.qty = dr[MasterTableWHS.t_stockdetail.qty].ToString(); tmpStockDetail.nwet = dr[MasterTableWHS.t_stockdetail.nwet].ToString(); tmpStockDetail.prdct_no = dr[MasterTableWHS.t_stockdetail.prdct_no].ToString(); tmpStockDetail.ctnno_no = dr[MasterTableWHS.t_stockdetail.ctnno_no].ToString(); return tmpStockDetail; }
//has txt scanMain_stockDetails initTxtToValue(scanMain_stockDetails value) { //value.rfid_no = value.rfid_no; //value.prdct_no = value.prdct_no; //value.shelf_no = txt13Shelf_no.Text.Trim(); value.pqty = txt21pqty.Text.Trim(); value.qty = txt4Qty.Text.Trim(); value.nwet = txt5nwet.Text.Trim(); return value; }
scanMain_stockDetails getInList(string findvalue, string findvalue2) { var dd = new scanMain_stockDetails(); for (int i = 0; i < _lisCtnNo.Count; i++) { if (_lisCtnNo[i].rfid_no.Equals(findvalue) && _lisCtnNo[i].ctnno_no.Equals(findvalue2)) { return _lisCtnNo[i]; } } return dd; }
bool editInList(scanMain_stockDetails value) { for (int i = 0; i < _lisCtnNo.Count; i++) { if (_lisCtnNo[i].rfid_no.Equals(value.rfid_no) && _lisCtnNo[i].ctnno_no.Equals(value.ctnno_no)) { _lisCtnNo.RemoveAt(i); value = initTxtToValue(value); _lisCtnNo.Add(value); return true; } } return false; }
void addToListView(scanMain_stockDetails selectitem) { listView1.Items.Clear(); addToList(selectitem, true); foreach (var item in _lisCtnNo) { addToList(item, false); } _lisCtnNo.Add(selectitem); lbl0Count.Text = _lisCtnNo.Count.ToString(); //txt21pqty.Text = _lisCtnNo.Count.ToString(); SetMsg(lnlTotal, "add " + selectitem.rfid_no + " success。"); AllInit(false); }
private bool UploadData() { //test //return true; var tmpmsg = ""; bool IsStartTran = false; var ErrorMsg = ""; //user StringDictionary dis00UserCollum = new StringDictionary(); //主表 DataTable dt = null; //log for use dis00UserCollum[MasterTableWHS.t_stockinctnno.adduser] = "true"; dis00UserCollum[MasterTableWHS.t_stockinctnno.addtime] = "true"; dis00UserCollum[MasterTableWHS.t_stockinctnno.updtime] = "true"; dis00UserCollum[MasterTableWHS.t_stockinctnno.upduser] = "true"; Cursor.Current = Cursors.WaitCursor; try { if (listView1.Items.Count <= 0) { //尚未扫描到任何数据! MessageBox.Show(Common.GetLanguageWord(this.Name, "FIS008"), Common.GetLanguageWord(Common.COM_SECTION, "MSGTITLE"), MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1); Cursor.Current = Cursors.Default; return false; } Common.AdoConnect.Connect.CreateSqlTransaction(); IsStartTran = true; this.lnlTotal.Visible = true; //主表 //get dt stock out StringDictionary dis1WhereValuet_stockoutctnno = new StringDictionary(); StringDictionary dis2ForValuet_stockoutctnno = new StringDictionary(); //明细出库 //get dt stock out t_stockoutctnnodetail StringDictionary dis1WhereValuet_stockoutctnnodetail = new StringDictionary(); StringDictionary dis2ForValuet_stockoutctnnodetail = new StringDictionary(); //明细入库 //get dt stock out t_stockinctnnodetail StringDictionary dis1WhereValuet_stockinctnnodetail = new StringDictionary(); StringDictionary dis2ForValuet_stockinctnnodetail = new StringDictionary(); //库存表 StringDictionary dis2ForValue_t_stock = new StringDictionary(); StringDictionary dis1WhereValue_t_stock = new StringDictionary(); //primary key StringDictionary dis5ForPrimaryKey_t_stock = new StringDictionary(); Dictionary<string, string> dictmpsumRFID = new Dictionary<string, string>(); Dictionary<string, decimal> dictmpsumQty = new Dictionary<string, decimal>(); Dictionary<string, decimal> dictmpsumPQty = new Dictionary<string, decimal>(); Dictionary<string, decimal> dictmpsumNwet = new Dictionary<string, decimal>(); var tmpitem = new scanMain_stockDetails(); foreach (var item in _lisCtnNo) { tmpitem = item; #region save t_stockoutctnnodetail //save t_stockoutctnnodetail dis1WhereValuet_stockoutctnnodetail = new StringDictionary(); dis1WhereValuet_stockoutctnnodetail[MasterTableWHS.t_stockoutctnnodetail.stockout_id] = item.stockout_id; dis1WhereValuet_stockoutctnnodetail[MasterTableWHS.t_stockoutctnnodetail.prdct_no] = item.prdct_no; dis1WhereValuet_stockoutctnnodetail[MasterTableWHS.t_stockoutctnnodetail.rfid_no] = item.rfid_no; dis1WhereValuet_stockoutctnnodetail[MasterTableWHS.t_stockoutctnnodetail.receiptNo] = item.receiptNo; dis1WhereValuet_stockoutctnnodetail[MasterTableWHS.t_stockoutctnnodetail.ctnno_no] = item.ctnno_no; dis1WhereValuet_stockoutctnnodetail[MasterTableWHS.t_stockoutctnnodetail.pqty] = item.pqty; dis1WhereValuet_stockoutctnnodetail[MasterTableWHS.t_stockoutctnnodetail.qty] = item.qty; dis1WhereValuet_stockoutctnnodetail[MasterTableWHS.t_stockoutctnnodetail.nwet] = item.nwet; dis1WhereValuet_stockoutctnnodetail[MasterTableWHS.t_stockoutctnnodetail.gwet] = "0"; dis1WhereValuet_stockoutctnnodetail[MasterTableWHS.t_stockoutctnnodetail.status] = "1"; this.m_daoCommon.SetInsertDataItem(MasterTableWHS.ViewOrTable.t_stockoutctnnodetail, dis1WhereValuet_stockoutctnnodetail, dis00UserCollum); #endregion var tmpdiffrfidPro = item.rfid_no + "," + item.prdct_no; if (!dictmpsumRFID.Keys.Contains(tmpdiffrfidPro)) { dictmpsumRFID.Add(tmpdiffrfidPro, txt11stockout_id.Text); } //qty if (dictmpsumQty.Keys.Contains(item.prdct_no)) { dictmpsumQty[item.prdct_no] += decimal.Parse(item.qty); } else { dictmpsumQty.Add(item.prdct_no, decimal.Parse(item.qty)); } // if (dictmpsumPQty.Keys.Contains(item.prdct_no)) { dictmpsumPQty[item.prdct_no] += decimal.Parse(item.pqty); } else { dictmpsumPQty.Add(item.prdct_no, decimal.Parse(item.pqty)); } // if (dictmpsumNwet.Keys.Contains(item.prdct_no)) { dictmpsumNwet[item.prdct_no] += decimal.Parse(item.nwet); } else { dictmpsumNwet.Add(item.prdct_no, decimal.Parse(item.nwet)); } } #region save stockOut //t_stockoutctnno foreach (var itemRfid in dictmpsumRFID.Keys) { var tmpRfid = itemRfid.Split(','); //dis1WhereValuet_stockoutctnno[MasterTableWHS.t_stockoutctnno.rfid_no] = tmpRfid[0]; //dis2ForValuet_stockoutctnno[MasterTableWHS.t_stockoutctnno.rfid_no] = "true"; dis1WhereValuet_stockoutctnno[MasterTableWHS.t_stockoutctnno.stockout_id] = txt11stockout_id.Text.Trim(); dis2ForValuet_stockoutctnno[MasterTableWHS.t_stockoutctnno.stockout_id] = "true"; dis1WhereValuet_stockoutctnno[MasterTableWHS.t_stockoutctnno.prdct_no] = tmpRfid[1]; dis2ForValuet_stockoutctnno[MasterTableWHS.t_stockoutctnno.prdct_no] = "true"; var dtIn = this.m_daoCommon.GetTableInfo(MasterTableWHS.ViewOrTable.t_stockoutctnno, dis1WhereValuet_stockoutctnno, dis2ForValuet_stockoutctnno, _disNull, "", false); if (dtIn.Rows.Count <= 0) { //add to stock out dis1WhereValuet_stockoutctnno[MasterTableWHS.t_stockoutctnno.pqty] = dictmpsumPQty[tmpRfid[1]].ToString(); dis1WhereValuet_stockoutctnno[MasterTableWHS.t_stockoutctnno.qty] = dictmpsumQty[tmpRfid[1]].ToString(); dis1WhereValuet_stockoutctnno[MasterTableWHS.t_stockoutctnno.nwet] = dictmpsumNwet[tmpRfid[1]].ToString(); dis1WhereValuet_stockoutctnno[MasterTableWHS.t_stockoutctnno.status] = "1"; this.m_daoCommon.SetInsertDataItem(MasterTableWHS.ViewOrTable.t_stockoutctnno, dis1WhereValuet_stockoutctnno, dis00UserCollum); } else { MessageBox.Show(tmpRfid[0] + ",货物:" + tmpRfid[1] + ",出单号:" + txt11stockout_id.Text + " 有出库记录。"); Cursor.Current = Cursors.Default; Common.AdoConnect.Connect.TransactionRollback(); IsStartTran = false; return false; } } #endregion #region save stock //get stock foreach (var prodct in dictmpsumQty.Keys) { dis2ForValue_t_stock = new StringDictionary(); dis1WhereValue_t_stock = new StringDictionary(); dis1WhereValue_t_stock[MasterTableWHS.t_stock.prdct_no] = prodct; dis2ForValue_t_stock[MasterTableWHS.t_stock.prdct_no] = "true"; var dtStock = this.m_daoCommon.GetTableInfo(MasterTableWHS.ViewOrTable.t_stock, dis1WhereValue_t_stock, dis2ForValue_t_stock, _disNull, "", false); if (dtStock.Rows.Count <= 0) { dis1WhereValue_t_stock[MasterTableWHS.t_stock.prdct_no] = prodct; dis1WhereValue_t_stock[MasterTableWHS.t_stock.pqty] = dictmpsumPQty[prodct].ToString(); dis1WhereValue_t_stock[MasterTableWHS.t_stock.qty] = dictmpsumQty[prodct].ToString(); dis1WhereValue_t_stock[MasterTableWHS.t_stock.nwet] = dictmpsumNwet[prodct].ToString(); dis1WhereValue_t_stock[MasterTableWHS.t_stock.gwet] = "0"; dis1WhereValue_t_stock[MasterTableWHS.t_stock.status] = "1"; this.m_daoCommon.SetInsertDataItem(MasterTableWHS.ViewOrTable.t_stock, dis1WhereValue_t_stock, dis00UserCollum); } else { //edit data var tmp_pqty_Stock = decimal.Parse(dtStock.Rows[0][MasterTableWHS.t_stock.pqty].ToString()); var tmp_pqty_StockOut = dictmpsumPQty[prodct]; var tmp_qty_Stock = decimal.Parse(dtStock.Rows[0][MasterTableWHS.t_stock.qty].ToString()); var tmp_qty_StockOut = dictmpsumQty[prodct]; var tmp_nwet_Stock = decimal.Parse(dtStock.Rows[0][MasterTableWHS.t_stock.nwet].ToString()); var tmp_nwet_StockOut = dictmpsumNwet[prodct]; dis1WhereValue_t_stock[MasterTableWHS.t_stock.prdct_no] = prodct; dis1WhereValue_t_stock[MasterTableWHS.t_stock.pqty] = (tmp_pqty_Stock - tmp_pqty_StockOut).ToString(); dis1WhereValue_t_stock[MasterTableWHS.t_stock.qty] = (tmp_qty_Stock - tmp_qty_StockOut).ToString(); dis1WhereValue_t_stock[MasterTableWHS.t_stock.nwet] = (tmp_nwet_Stock - tmp_nwet_StockOut).ToString(); dis1WhereValue_t_stock[MasterTableWHS.t_stock.status] = "1"; //primary ke dis5ForPrimaryKey_t_stock[MasterTableWHS.t_stock.prdct_no] = prodct; var dis00UserCollum2 = new StringDictionary(); dis00UserCollum2[MasterTableWHS.t_stockinctnno.updtime] = "true"; dis00UserCollum2[MasterTableWHS.t_stockinctnno.upduser] = "true"; this.m_daoCommon.SetModifyDataItem(MasterTableWHS.ViewOrTable.t_stock, dis1WhereValue_t_stock, dis5ForPrimaryKey_t_stock, dis00UserCollum2); } } #endregion Common.AdoConnect.Connect.TransactionCommit(); tmpmsg = "提交数据成功。"; SetMsg(lnlTotal, tmpmsg); if (ErrorMsg.Length > 0) { tmpmsg += "\n" + ErrorMsg; } MessageBox.Show(tmpmsg); IsStartTran = false; return true; } catch (Exception ex) { if (IsStartTran) Common.AdoConnect.Connect.TransactionRollback(); LogManager.WriteLog(Common.LogFile.Error, ex.Message); SetMsg(lnlTotal, ex.Message); Cursor.Current = Cursors.Default; return false; } finally { IsStartTran = false; Cursor.Current = Cursors.Default; } return false; }
void addToList(scanMain_stockDetails item, bool select) { string[] tmpstr = new string[5]; tmpstr[0] = item.rfid_no; tmpstr[1] = item.ctnno_no; tmpstr[2] = item.qty; tmpstr[3] = item.nwet; tmpstr[4] = item.pqty; ListViewItem tmpitems1 = new ListViewItem(tmpstr); listView1.Items.Add(tmpitems1); //listView1.Items[0].Selected = true; }