public int ConvertSSCC2Lst(ServerExchange xSE, string sSSCC, ref PSC_Types.ScDat scD, bool bInfoOnEmk, DataTable dtResult) { int nRec, nRet = AppC.RC_OK; string sP; DataSet dsTrans = null; // вместе с командой отдаем заголовок документа xCUpLoad = new CurUpLoad(xPars); xCUpLoad.sCurUplCommand = AppC.COM_ZSC2LST; if (xCDoc.drCurRow is DataRow) { dsTrans = xNSI.MakeWorkDataSet(xNSI.DT[NSI.BD_DOCOUT].dt, dtResult, new DataRow[] { xCDoc.drCurRow }, null, xSm, xCUpLoad); } MakeTempDOUTD(dtResult); LoadFromSrv dgL = new LoadFromSrv(LstFromSSCC); xCLoad = new CurLoad(); xCLoad.sSSCC = sSSCC; xCLoad.xLP.lSysN = xCDoc.nId; xCLoad.dtZ = dtL; sP = String.Format("(SSCC={0},TYPE={1})", sSSCC, "ROW"); string sL = xSE.ExchgSrv(AppC.COM_ZSC2LST, sP, "", dgL, dsTrans, ref nRet, 20); if (dtL.Rows.Count > 0) { nRet = TestProdBySrv(xSE, nRet); if (nRet == AppC.RC_OK) { nRec = xCLoad.dtZ.Rows.Count; if (nRec == 1) {// будем изображивать сканирование SetVirtScan(xCLoad.dtZ.Rows[0], ref scD, true, bInfoOnEmk); scD.sSSCC = sSSCC; } else {// добавление группы ??? nRet = AppC.RC_MANYEAN; } } } else {// просто сохраним запись ??? - если была сетевая ошибка! при ошибке сервера ничего сохранять не надо! if (xSE.ServerRet != AppC.RC_OK) { Srv.ErrorMsg(sL); } } return(nRet); }
private string UpLoadDoc(ServerExchange xSExch, ref int nR) { int i, nRet = AppC.RC_OK; string nComm, sErr = "", sAllErr = ""; DataSet dsTrans; DataRow[] drAUpL = null; LoadFromSrv dgL = null; try { drAUpL = PrepDataArrForUL(xCUpLoad.ilUpLoad.CurReg); if (drAUpL != null) { if (xCUpLoad.sCurUplCommand != AppC.COM_CKCELL) { dgL = new LoadFromSrv(SetUpLoadState); } for (i = 0; i < drAUpL.Length; i++) { nRet = AppC.RC_OK; nComm = (xCUpLoad.naComms[i] == AppC.TYPD_INV) ? AppC.COM_VINV : (xCUpLoad.naComms[i] == AppC.TYPD_VPER) ? AppC.COM_VVPER : (xCUpLoad.naComms[i] == AppC.TYPD_OPR) ? AppC.COM_VOPR : AppC.COM_VTTN; switch ((int)(drAUpL[i]["TYPOP"])) { case AppC.TYPOP_MARK: nComm = AppC.COM_VMRK; break; case AppC.TYPOP_OTGR: case AppC.TYPOP_KMPL: nComm = AppC.COM_VKMPL; break; } if (xCUpLoad.sCurUplCommand.Length == 0) { xCUpLoad.sCurUplCommand = nComm; } dsTrans = xNSI.MakeWorkDataSet(xNSI.DT[NSI.BD_DOCOUT].dt, xNSI.DT[NSI.BD_DOUTD].dt, new DataRow[] { drAUpL[i] }, null, xSm, xCUpLoad); sErr = xSExch.ExchgSrv(xCUpLoad.sCurUplCommand, "", "", dgL, dsTrans, ref nRet, 300); if ((xSExch.ServerRet == AppC.RC_OK) && (sErr != "OK")) { nRet = AppC.RC_HALFOK; } if (nRet != AppC.RC_OK) { nR = nRet; sAllErr += sErr + "\n"; } } } else { nRet = AppC.RC_NODATA; sErr = "Нет данных для передачи"; } } catch (Exception) { nRet = AppC.RC_NODATA; sErr = "Ошибка подготовки"; } if (sAllErr.Length == 0) { nR = nRet; sAllErr = sErr; } return(sAllErr); }
// загрузка справочников с сервера //private int LoadAllNSISrv(string[] aI, bool bMD5, bool xShow) //{ // return (nRet); //} //// групповая операция (проверка/загрузка) //private void LoadNsiMenu(bool bTestByMD5, string[] aTables) //{ // LoadNsiMenu(bTestByMD5, aTables, true); //} // групповая операция (проверка/загрузка) private void LoadNsiMenu(bool bTestByMD5, string[] aTables) { bool xShow = true; ServerExchange xSE = new ServerExchange(this); //xBCScanner.WiFi.IsEnabled = true; xBCScanner.WiFi.ShowWiFi(pnLoadDocG, true); xFPan.ShowP(6, 45, "Обновление НСИ", (bTestByMD5 == true) ? "Проверка" : "Загрузка"); xFPan.UpdateHelp("Соединение с сервером"); //bool bOldNsi; int j, nErr = 0, nGood = 0, nRet = 0, tc1 = Environment.TickCount; string i, sFull = "", sStat, sT = ""; xNSI.dsNSI.EnforceConstraints = false; try { if (aTables.Length == 0) { List <string> lT = new List <string>(); foreach (KeyValuePair <string, NSI.TableDef> td in xNSI.DT) { if (((td.Value.nType & NSI.TBLTYPE.NSI) == NSI.TBLTYPE.NSI) && ((td.Value.nType & NSI.TBLTYPE.LOAD) == NSI.TBLTYPE.LOAD)) // НСИ загружаемое { lT.Add(td.Key); } } aTables = lT.ToArray(); } for (j = 0; j < aTables.Length; j++) { nRet = 0; i = aTables[j]; if (xNSI.DT.ContainsKey(i)) { if (xShow == true) { xFPan.UpdateReg(xNSI.DT[i].Text + "..."); } LoadNSISrv lnsi = new LoadNSISrv(xNSI, i, bTestByMD5); xNSI.DT[i].nCount = Environment.TickCount; sT = xSE.ExchgSrv(AppC.COM_ZSPR, i, lnsi.sDop, lnsi.dgL, null, ref nRet); if (nRet == 0) { nGood++; } else { nErr++; } //sT = String.Format("{0}...{1}\n({2})", xNSI.DT[i].Text, sT, xNSI.DT[i].sDTStat); sT = String.Format("{0}...{1}", xNSI.DT[i].Text, sT); sStat = String.Format("{0} ({1})", sT, xNSI.DT[i].sDTStat); //xSE.TraiceWiFi(sStat); sFull += ((aTables.Length == 1) ? sStat : sT + "\n"); if (xShow == true) { xFPan.UpdateReg(sT); } } } xNSI.dsNSI.EnforceConstraints = true; sT = Srv.TimeDiff(tc1, Environment.TickCount); if (bTestByMD5 == false) { MessageBox.Show(sFull, "Время-" + sT); } } catch { nErr = 1; } finally { xFPan.HideP(); } }
private string UpLoadDoc(ServerExchange xSExch, ref int nR) { int i, nRet = AppC.RC_OK; string nComm, sErr = "", sAllErr = ""; DataSet dsTrans; DataRow[] drAUpL = null; LoadFromSrv dgL = null; try { drAUpL = PrepDataArrForUL(xCUpLoad.ilUpLoad.CurReg); if (drAUpL != null) { if (xCUpLoad.sCurUplCommand != AppC.COM_CKCELL) { dgL = new LoadFromSrv(SetUpLoadState); } for (i = 0; i < drAUpL.Length; i++) { dsTrans = xNSI.MakeWorkDataSet(xNSI.DT[NSI.BD_DOCOUT].dt, xNSI.DT[NSI.BD_DOUTD].dt, new DataRow[] { drAUpL[i] }, null, xSm, xCUpLoad); if (dsTrans.Tables[NSI.BD_DOUTD].Rows.Count > 0) { nRet = AppC.RC_OK; nComm = AppC.COM_VDOC; if (xCUpLoad.sCurUplCommand.Length == 0) { xCUpLoad.sCurUplCommand = nComm; } sErr = xSExch.ExchgSrv(xCUpLoad.sCurUplCommand, "", "", dgL, dsTrans, ref nRet, 600); if ((xSExch.ServerRet == AppC.RC_OK) && (sErr != "OK")) { nRet = AppC.RC_HALFOK; } if (nRet != AppC.RC_OK) { nR = nRet; sAllErr += sErr + "\n"; } } else { Srv.ErrorMsg(String.Format("Тип {0} №{1} от {2} -\nнет данных!", drAUpL[i]["TD"], drAUpL[i]["NOMD"], drAUpL[i]["DT"])); } } } else { nRet = AppC.RC_NODATA; sErr = "Нет данных для передачи"; } } catch (Exception) { nRet = AppC.RC_NODATA; sErr = "Ошибка подготовки"; } if (sAllErr.Length == 0) { nR = nRet; sAllErr = sErr; } return(sAllErr); }
// загрузка справочников с сервера //private int LoadAllNSISrv(string[] aI, bool bMD5, bool xShow) //{ // return (nRet); //} // групповая операция (проверка/загрузка) private void LoadNsiMenu(bool bTestByMD5, string[] aTables) { bool xShow = true, bOldNsi; string i, sFull = "", sT = ""; ServerExchange xSE = new ServerExchange(this); //xBCScanner.WiFi.IsEnabled = true; xBCScanner.WiFi.ShowWiFi(pnLoadDocG, true); xFPan.UpdateSrv(xPars.sHostSrv); xFPan.ShowP(6, 45, "Обновление НСИ", (bTestByMD5 == true) ? "Проверка" : "Загрузка"); xFPan.UpdateHelp("Соединение с сервером"); int j, nErr = 0, nGood = 0, nRet = 0, tc1 = Environment.TickCount; xNSI.dsNSI.EnforceConstraints = false; if (aTables.Length == 0) { //aTables = new string[xNSI.DT.Keys.Count]; //xNSI.DT.Keys.CopyTo(aTables, 0); List <string> lT = new List <string>(); foreach (KeyValuePair <string, NSI.TableDef> td in xNSI.DT) { if (((td.Value.nType & NSI.TBLTYPE.NSI) == NSI.TBLTYPE.NSI) && ((td.Value.nType & NSI.TBLTYPE.LOAD) == NSI.TBLTYPE.LOAD)) // НСИ загружаемое { lT.Add(td.Key); } } aTables = lT.ToArray(); } for (j = 0; j < aTables.Length; j++) { nRet = 0; i = aTables[j]; //if (((bTestByMD5) && (((DateTime)xNSI.BD_TINF_RW(i)["LASTLOAD"]).Date < DateTime.Now.Date)) || // (!bTestByMD5)) try { bOldNsi = (((DateTime)xNSI.BD_TINF_RW(i)["LASTLOAD"]).Date < DateTime.Now.Date); } catch { bOldNsi = true; } if ((bTestByMD5 && bOldNsi) || (!bTestByMD5)) { LoadNSISrv lnsi = new LoadNSISrv(xNSI, i, bTestByMD5); sT = xSE.ExchgSrv(AppC.COM_ZSPR, i, lnsi.sDop, lnsi.dgL, null, ref nRet); if (nRet == 0) { nGood++; } else { nErr++; } sT = xNSI.DT[i].Text + "..." + sT + "\r\n"; sFull += sT; if (xShow == true) { xFPan.UpdateReg(sT); } } } try { xNSI.dsNSI.EnforceConstraints = true; } catch { nErr = 1; } if (nErr == 0) { //xSm.dtLoadNS = DateTime.Now; } sT = Srv.TimeDiff(tc1, Environment.TickCount); if (bTestByMD5 == false) { MessageBox.Show(sFull, "Время-" + sT); } xFPan.HideP(); }
// Обработка сканирования на панели Документов private void ProceedScanDoc(ScanVarGP xSc, ref PSC_Types.ScDat s) { int nRet = AppC.RC_OK; string sH, sPar, sErr = ""; CurLoad ret; ServerExchange xSE = new ServerExchange(this); if ((xSc.bcFlags & ScanVarGP.BCTyp.SP_SSCC_INT) > 0) { xCLoad = new CurLoad(AppC.UPL_ALL); xCLoad.sSSCC = xSc.Dat; xCLoad.drPars4Load = xNSI.DT[NSI.BD_KMPL].dt.NewRow(); LoadKomplLst(xCLoad.drPars4Load, AppC.F_LOADKPL); } else { ret = TransDocCode(ref s, xSE); if (ret != null) { xCLoad = ret; if (xSE.FullCOM2Srv.Length == 0) { if (bInLoad == true) { W32.keybd_event(W32.VK_ESC, W32.VK_ESC, 0, 0); W32.keybd_event(W32.VK_ESC, W32.VK_ESC, 0, 0); W32.keybd_event(W32.VK_ESC, W32.VK_ESC, W32.KEYEVENTF_KEYUP, 0); W32.keybd_event(W32.VK_ESC, W32.VK_ESC, W32.KEYEVENTF_KEYUP, 0); } else { LoadDocFromServer(AppC.F_INITRUN, new KeyEventArgs(Keys.Enter), ref ehCurrFunc); } } else { AutoSaveDat(); LoadFromSrv dgL = new LoadFromSrv(DocFromSrv); xCLoad.nCommand = AppC.F_LOAD_DOC; xCLoad.sComLoad = AppC.COM_ZZVK; sErr = xSE.ExchgSrv(AppC.COM_ZZVK, "", "", dgL, null, ref nRet); MessageBox.Show("Загрузка окончена - " + sErr, "Код - " + nRet.ToString()); PosOnLoaded(nRet); Back2Main(); } } else { xCUpLoad = new CurUpLoad(); if (xSE.FullCOM2Srv.Length == 0) { sPar = String.Format("BC={0};BCT={1}", xSc.Dat, xSc.Id.ToString().ToUpper()); sErr = xSE.ExchgSrv(AppC.COM_UNKBC, sPar, "", null, null, ref nRet); } else { AutoSaveDat(); LoadFromSrv dgL = new LoadFromSrv(DocFromSrv); xCLoad.nCommand = AppC.F_LOAD_DOC; xCLoad.sComLoad = AppC.COM_ZZVK; sErr = xSE.ExchgSrv(AppC.COM_ZZVK, "", "", dgL, null, ref nRet); MessageBox.Show("Загрузка окончена - " + sErr, "Код - " + nRet.ToString()); PosOnLoaded(nRet); Back2Main(); } if (nRet != AppC.RC_OK) { nRet = xSE.ServerRet; if (nRet != AppC.RC_NEEDPARS) { } Srv.PlayMelody(W32.MB_4HIGH_FLY); sH = "Ошибка!"; } else { sH = "Код отправлен"; } Srv.ErrorMsg(sErr, sH, false); } } }