public frmTrafficsGoodsEdit() { oTraffic = new TrafficGood(); oCellSource = new Cell(); oStoreZoneSource = new StoreZone(); oCellTarget = new Cell(); oStoreZoneTarget = new StoreZone(); oUser = new User(); oDevice = new Device(); if (oTraffic.ErrorNumber != 0 || oCellSource.ErrorNumber != 0 || oStoreZoneSource.ErrorNumber != 0 || oCellTarget.ErrorNumber != 0 || oStoreZoneTarget.ErrorNumber != 0 || oUser.ErrorNumber != 0 || oDevice.ErrorNumber != 0) { IsValid = false; } if (IsValid) { InitializeComponent(); oTraffic.ID = 0; } }
private void PrintTrafficBill(DataDynamics.ActiveReports.ActiveReport3 rpReport) { // список операций TrafficGood oTrafficPrint = new TrafficGood(); int nMarkedCnt = CalcMarkedRows(); if (nMarkedCnt > 0 && RFMMessage.MessageBoxYesNo("Отмечено записей: " + nMarkedCnt.ToString() + "\r\n" + "Напечатать лист заданий для всех отмеченных записей?") != DialogResult.Yes) { return; } TrafficPrepareIDList(oTrafficPrint, nMarkedCnt > 0); oTrafficPrint.FillData(); if (oTrafficPrint.MainTable.Rows.Count == 0) { return; } DataView dv = new DataView(oTrafficPrint.MainTable); dv.Sort = "OutputID, CellTargetAddress, StoreZoneSourceID, CellSourceRank, CellSourceAddress, GoodAlias"; DataTable tTable = dv.ToTable(); // печать StartForm(new frmActiveReport(tTable, rpReport)); }
public void TrafficPrepareIDList(TrafficGood oTraffic, bool bMultiSelect) { oTraffic.ID = null; oTraffic.IDList = null; int?nTrafficID = 0; if (bMultiSelect && grdData.IsCheckerShow) { oTraffic.IDList = ""; DataView dMarked = new DataView(oTrafficList.MainTable); dMarked.RowFilter = "IsMarked = true"; dMarked.Sort = grdData.GridSource.Sort; foreach (DataRowView r in dMarked) { if (!Convert.IsDBNull(r["ID"])) { nTrafficID = (int)r["ID"]; oTraffic.IDList = oTraffic.IDList + nTrafficID.ToString() + ","; } } } else { oTraffic.ID = (int)grdData.CurrentRow.Cells["grcID"].Value; } }
public frmTrafficsGoods() { oTrafficList = new TrafficGood(); oTrafficCur = new TrafficGood(); if (oTrafficList.ErrorNumber != 0 || oTrafficCur.ErrorNumber != 0) { IsValid = false; } if (IsValid) { InitializeComponent(); } }
public frmReportTraffics() { InitializeComponent(); oTrafficFrame = new TrafficFrame(); oTrafficGood = new TrafficGood(); if (oTrafficFrame.ErrorNumber != 0 || oTrafficGood.ErrorNumber != 0) { IsValid = false; } else { oCellSource = new Cell(); oCellTarget = new Cell(); if (oCellSource.ErrorNumber != 0 || oCellTarget.ErrorNumber != 0) { IsValid = false; } } }
public frmTrafficsGoodsManual(int?nTrafficOldID) { oTraffic = new TrafficGood(); oTrafficOld = new TrafficGood(); oCellSource = new Cell(); oStoreZoneSource = new StoreZone(); oCellTarget = new Cell(); oStoreZoneTarget = new StoreZone(); if (oTraffic.ErrorNumber != 0 || oCellSource.ErrorNumber != 0 || oStoreZoneSource.ErrorNumber != 0 || oCellTarget.ErrorNumber != 0 || oStoreZoneTarget.ErrorNumber != 0) { IsValid = false; } if (IsValid) { InitializeComponent(); oTrafficOld.ID = nTrafficOldID; } }
private void mniServiceTrafficGoodChangeUser_Click(object sender, EventArgs e) { RFMMenuUtilities.MenuClear((ToolStripMenuItem)sender); if (grdData.DataSource == null || grdData.Rows.Count == 0) { return; } // текущая запись или все отмеченные string sText = "Зарегистрировать сотрудника, выполнявшего "; int nCnt = CalcMarkedRows(); if (nCnt == 0) { if (grdData.CurrentRow == null || grdData.IsStatusRow(grdData.CurrentRow.Index)) { return; } sText += "текущее перемещение"; nCnt = 1; } else { sText += RFMUtilities.Declen(nCnt, "отмеченное перемещение", "отмеченных перемещения", "отмеченных перемещений"); } sText += " коробок/штук?"; if (RFMMessage.MessageBoxYesNo(sText) == DialogResult.Yes) { // список сотрудников User oUser = new User(); oUser.FilterActual = true; oUser.FillData(); if (oUser.ErrorNumber != 0 || oUser.MainTable == null) { RFMMessage.MessageBoxError("Ошибка при получении данных о сотрудниках..."); return; } if (oUser.MainTable.Rows.Count == 0) { RFMMessage.MessageBoxError("Нет данных о сотрудниках..."); return; } int nNewUserID = 0; string sNewUserName = ""; _SelectedID = null; if (StartForm(new frmSelectID(this, oUser.MainTable, "Name", "Сотрудник", "Сотрудник, выполнявший перемещения")) == DialogResult.Yes) { if (_SelectedID.HasValue) { nNewUserID = (int)_SelectedID; sNewUserName = _SelectedText; } } if (nNewUserID == 0) { return; } TrafficGood oTrafficGoodForChangeUser = new TrafficGood(); TrafficPrepareIDList(oTrafficGoodForChangeUser, true); if (!oTrafficGoodForChangeUser.ID.HasValue && (oTrafficGoodForChangeUser.IDList == null || oTrafficGoodForChangeUser.IDList.Length == 0)) { oTrafficGoodForChangeUser.ID = Convert.ToInt32(grdData.CurrentRow.Cells["grcID"].Value); } oTrafficGoodForChangeUser.FillData(); if (oTrafficGoodForChangeUser.ErrorNumber != 0 || oTrafficGoodForChangeUser.MainTable == null) { RFMMessage.MessageBoxError("Ошибка при получении данных о перемещениях коробок/штук..."); return; } if (oTrafficGoodForChangeUser.MainTable.Rows.Count == 0) { RFMMessage.MessageBoxError("Нет данных о выбранных перемещениях коробок/штук..."); return; } // уже есть данные о сотрудниках в выбранных перемещениях? int nOldUsersCnt = 0; foreach (DataRow tr in oTrafficGoodForChangeUser.MainTable.Rows) { if (!Convert.IsDBNull(tr["UserID"])) { nOldUsersCnt++; } } if (nOldUsersCnt > 0) { if (oTrafficGoodForChangeUser.MainTable.Rows.Count == 1) { // одно перемещение if (RFMMessage.MessageBoxYesNo("Для выбранного перемещения уже зарегистрирован сотрудник.\n" + "Все-таки зарегистрировать нового сотрудника \"" + sNewUserName + "\"?") != DialogResult.Yes) { return; } } else { // не одно перемещение if (RFMMessage.MessageBoxYesNo("Для " + nOldUsersCnt.ToString().Trim() + " из " + RFMUtilities.Declen(nCnt, " выбранного перемещения", "выбранных перемещений", "выбранных перемещений") + " коробок/штук уже зарегистрирован сотрудник.\n" + "Все-таки зарегистрировать нового сотрудника \"" + sNewUserName + "\" для всех " + RFMUtilities.Declen(nCnt, " выбранного перемещения", "выбранных перемещений", "выбранных перемещений") + " коробок/штук?") != DialogResult.Yes) { return; } } } foreach (DataRow tr in oTrafficGoodForChangeUser.MainTable.Rows) { oTrafficGoodForChangeUser.UserChange((int)tr["ID"], nNewUserID); } grdData_Restore(); } }
private void btnCellNewChoose_Click(object sender, EventArgs e) { nCellNewID = null; txtCellNewAddress.Text = txtStoreZoneNewName.Text = ""; _SelectedCellID = null; if (StartForm(new frmSelectOneCell(this)) == DialogResult.Yes) { if (_SelectedCellID != null) { int nCellNewID_Temp = (int)_SelectedCellID; oCellNew.ID = (int)nCellNewID_Temp; oCellNew.FillData(); if (oCellNew.ErrorNumber != 0 || oCellNew.MainTable == null || oCellNew.MainTable.Rows.Count != 1) { RFMMessage.MessageBoxError("ќшибка при получении данных о новой ¤чейке..."); return; } if (nCellCurID.HasValue && nCellNewID_Temp == nCellCurID) { RFMMessage.MessageBoxError("¬ыбрана та же ¤чейка..."); return; } DataRow c = oCellNew.MainTable.Rows[0]; // проверки - можно ли сделать закрепление в эту ¤чейку? // 1. это подход¤щий тип ¤чейки? if (!Convert.ToBoolean(c["ForStorage"]) || !Convert.ToBoolean(c["ForPicking"])) { RFMMessage.MessageBoxError("ячейка имеет другой тип..."); return; } // 2.1. есть остаток? oCellNew.FillTableCellsContents(nCellNewID_Temp, false); if (oCellNew.ErrorNumber != 0) { RFMMessage.MessageBoxError("ќшибка при анализе наличи¤ товаров в ¤чейке..."); return; } foreach (DataRow cc in oCellNew.TableCellsContents.Rows) { if (Convert.ToDecimal(cc["Qnt"]) != 0) { RFMMessage.MessageBoxError("¬ ¤чейке имеетс¤ другой товар..."); return; } } // 2.2. есть трафики в/из новой ¤чейки TrafficFrame oTrafficFrameTemp = new TrafficFrame(); oTrafficFrameTemp.FilterConfirmed = false; oTrafficFrameTemp.FilterCellsTargetList = nCellNewID_Temp.ToString(); oTrafficFrameTemp.FillData(); if (oTrafficFrameTemp.ErrorNumber != 0) { RFMMessage.MessageBoxError("ќшибка при анализе наличи¤ транспортировок поддонов в ¤чейку..."); return; } if (oTrafficFrameTemp.MainTable.Rows.Count > 0) { RFMMessage.MessageBoxError("≈сть невыполненные транспортировки поддонов в ¤чейку..."); return; } oTrafficFrameTemp.FilterCellsTargetList = null; oTrafficFrameTemp.FilterCellsSourceList = nCellNewID_Temp.ToString(); oTrafficFrameTemp.FillData(); if (oTrafficFrameTemp.ErrorNumber != 0) { RFMMessage.MessageBoxError("ќшибка при анализе наличи¤ транспортировок поддонов из ¤чейки..."); return; } if (oTrafficFrameTemp.MainTable.Rows.Count > 0) { RFMMessage.MessageBoxError("≈сть невыполненные транспортировки поддонов из ¤чейки..."); return; } TrafficGood oTrafficGoodTemp = new TrafficGood(); oTrafficGoodTemp.FilterConfirmed = false; oTrafficGoodTemp.FilterCellsTargetList = nCellNewID_Temp.ToString(); oTrafficGoodTemp.FillData(); if (oTrafficGoodTemp.ErrorNumber != 0) { RFMMessage.MessageBoxError("ќшибка при анализе наличи¤ перемещений коробок в ¤чейку..."); return; } if (oTrafficGoodTemp.MainTable.Rows.Count > 0) { RFMMessage.MessageBoxError("≈сть невыполненные перемещени¤ коробок в ¤чейку..."); return; } oTrafficGoodTemp.FilterCellsTargetList = null; oTrafficGoodTemp.FilterCellsSourceList = nCellNewID_Temp.ToString(); oTrafficGoodTemp.FillData(); if (oTrafficGoodTemp.ErrorNumber != 0) { RFMMessage.MessageBoxError("ќшибка при анализе наличи¤ перемещений коробок из ¤чейки..."); return; } if (oTrafficGoodTemp.MainTable.Rows.Count > 0) { RFMMessage.MessageBoxError("≈сть невыполненные перемещени¤ коробок из ¤чейки..."); return; } // 2. товар if (!Convert.IsDBNull(c["FixedPackingID"])) { int nPackingTempID = Convert.ToInt32(c["FixedPackingID"]); if (nPackingTempID == nPackingID) { RFMMessage.MessageBoxError("ячейка уже закреплена за этим товаром..."); return; } else { // ¤чейка закреплена за другим товаром if (RFMMessage.MessageBoxYesNo("Ќова¤ ¤чейка закреплена за другим товаром\n(" + c["PackingAlias"].ToString() + ").\n\n" + "ѕродолжить?") != DialogResult.Yes) { return; } } } // нова¤ ¤чейка пуста и по всем отношени¤м нам подходит // спросим еще про остатки и трафики в/из текущей ¤чейки, если есть // (DateAccept проверим уже в хр_пр) oCellCur.FillTableCellsContents((int)nCellCurID, false); if (oCellCur.ErrorNumber != 0) { RFMMessage.MessageBoxError("ќшибка при анализе наличи¤ товаров в текущей ¤чейке..."); return; } foreach (DataRow cc in oCellCur.TableCellsContents.Rows) { if (Convert.ToDecimal(cc["Qnt"]) != 0) { if (RFMMessage.MessageBoxYesNo("¬ текущей ¤чейке имеетс¤ товар.\n" + "¬есь он будет переведен в новую ¤чейку.\n\nѕродолжить?") != DialogResult.Yes) { return; } } } TrafficFrame oTrafficFrameCur = new TrafficFrame(); oTrafficFrameCur.FilterConfirmed = false; oTrafficFrameCur.FilterCellsTargetList = nCellCurID.ToString(); oTrafficFrameCur.FillData(); if (oTrafficFrameCur.ErrorNumber != 0) { RFMMessage.MessageBoxError("ќшибка при анализе наличи¤ транспортировок поддонов в текущую ¤чейку..."); return; } if (oTrafficFrameCur.MainTable.Rows.Count > 0) { if (RFMMessage.MessageBoxYesNo("≈сть невыполненные транспортировки поддонов в текущую ¤чейку.\n" + "¬се они будут переведены в новую ¤чейку.\n\nѕродолжить?") != DialogResult.Yes) { return; } } oTrafficFrameCur.FilterCellsTargetList = null; oTrafficFrameCur.FilterCellsSourceList = nCellCurID.ToString(); oTrafficFrameCur.FillData(); if (oTrafficFrameCur.ErrorNumber != 0) { RFMMessage.MessageBoxError("ќшибка при анализе наличи¤ транспортировок поддонов из текущей ¤чейки..."); return; } if (oTrafficFrameCur.MainTable.Rows.Count > 0) { if (RFMMessage.MessageBoxYesNo("≈сть невыполненные транспортировки поддонов из текущей ¤чейки.\n" + "¬се они будут переведены в новую ¤чейку.\n\nѕродолжить?") != DialogResult.Yes) { return; } } TrafficGood oTrafficGoodCur = new TrafficGood(); oTrafficGoodCur.FilterConfirmed = false; oTrafficGoodCur.FilterCellsTargetList = nCellCurID.ToString(); oTrafficGoodCur.FillData(); if (oTrafficGoodCur.ErrorNumber != 0) { RFMMessage.MessageBoxError("ќшибка при анализе наличи¤ перемещений коробок в текущую ¤чейку..."); return; } if (oTrafficGoodCur.MainTable.Rows.Count > 0) { if (RFMMessage.MessageBoxYesNo("≈сть невыполненные перемещени¤ коробок в текущую ¤чейку.\n" + "¬се они будут переведены в новую ¤чейку.\n\nѕродолжить?") != DialogResult.Yes) { return; } } oTrafficGoodCur.FilterCellsTargetList = null; oTrafficGoodCur.FilterCellsSourceList = nCellCurID.ToString(); oTrafficGoodCur.FillData(); if (oTrafficGoodCur.ErrorNumber != 0) { RFMMessage.MessageBoxError("ќшибка при анализе наличи¤ перемещений коробок из ¤чейки..."); return; } if (oTrafficGoodCur.MainTable.Rows.Count > 0) { if (RFMMessage.MessageBoxYesNo("≈сть невыполненные перемещени¤ коробок из текущей ¤чейки.\n" + "¬се они будут переведены в новую ¤чейку.\n\nѕродолжить?") != DialogResult.Yes) { return; } } // OwnerID? GoodStateID? nCellNewID = (int)nCellNewID_Temp; oCellNew.ID = nCellNewID; txtCellNewAddress.Text = c["Address"].ToString(); txtStoreZoneNewName.Text = c["StoreZoneName"].ToString(); } } }