import com.ablia.anag.MagFisico; import com.ablia.art.Articolo; import com.ablia.art.ArticoloCR; import com.ablia.art.ArticoloVariante; import com.ablia.contab.Movimento; import com.ablia.contab.RigaDocumento; import com.ablia.contab.RigaDocumentoP; import com.ablia.contab.RigaDocumentoPCR; import com.ablia.db.ApplParm; import com.ablia.db.ApplParmFull; import com.ablia.db.ResParm; import com.ablia.util.DbConsole; import com.ablia.util.Vectumerator; import java.sql.Timestamp; import java.util.Calendar; public class AggiornaMagMovimento extends DbConsole { public static void main(String[] args) { AggiornaMagMovimento bean = new AggiornaMagMovimento(); bean.doImport(); System.exit(0); } public void doImport() { int i = 0, j = 0; int se1 = 10; int se2 = 100; String hostname = "localhost"; String db = "guidoreni"; boolean step1 = true, step2 = true, step3 = true, step4 = true, step5 = true; System.out.println("Db: " + db); ApplParmFull apTarget = new ApplParmFull(new ApplParm(3, "//" + hostname + "/" + db, "root", "root", 1, 10, 60)); apTarget.setDebug(false); StringBuffer msg = new StringBuffer(); try { long l_id_articolo = 0L; ResParm rp = new ResParm(true); int pagerow = 1000; Timestamp start = new Timestamp(Calendar.getInstance().getTimeInMillis()); System.out.println("START: " + start.toString()); if (step1) { System.out.println("Delete All Movimento"); Movimento mov = new Movimento(apTarget); String sqlDeleteMov = "delete from MOVIMENTO "; if (l_id_articolo > 0L) sqlDeleteMov = String.valueOf(sqlDeleteMov) + " where id_articolo=" + l_id_articolo; mov.delete(sqlDeleteMov); i = 0; System.out.println("Import All Movimento"); RigaDocumento rd = new RigaDocumento(apTarget); long tot = rd.findAllPerRiordinoMagazzinoTot(l_id_articolo); System.out.println("tot record: " + tot); while ((long)j < tot / (long)pagerow + 1L) { j++; Vectumerator vec = rd.findAllPerRiordinoMagazzino(l_id_articolo, j, pagerow); while (vec.hasMoreElements()) { rd = (RigaDocumento)vec.nextElement(); rp = RigaDocumento.aggiornaMovimento(rd); i++; if (se1 > 0 && i % se1 == 0) System.out.print("."); if (se2 > 0 && i % se2 == 0) System.out.println(i); } System.out.print("Tot: " + tot + " - Pag: " + j + " - Pag. Lette: " + (j * pagerow)); } } Timestamp stop = new Timestamp(Calendar.getInstance().getTimeInMillis()); System.out.println("start 2: " + stop.toString()); if (step2) { i = 0; j = 0; RigaDocumentoP rdp = new RigaDocumentoP(apTarget); Vectumerator vec = rdp.findAll(); long tot = (long)vec.getTotNumberOfRecords(); System.out.println("Riga documento P: tot record: " + vec.getTotNumberOfRecords()); while ((long)j < tot / (long)pagerow + 1L) { j++; vec = rdp.findByCR(new RigaDocumentoPCR(), j, pagerow); while (vec.hasMoreElements()) { RigaDocumentoP row = (RigaDocumentoP)vec.nextElement(); if (row.getRigaDocumentoPrelevata().getDocumento().getTipoDocumento() .getFlgTipologia() == 3L) { Movimento mov = new Movimento(apTarget); rp = mov.deleteP(row.getId_rigaDocumentoPrelevata()); mov.setId_articolo(row.getRigaDocumentoPrelevata().getId_articolo()); mov.setId_articoloVariante(row.getRigaDocumentoPrelevata().getId_articoloVariante()); mov.setId_articoloTaglia(row.getRigaDocumentoPrelevata().getId_articoloTaglia()); mov.setId_clifor(row.getRigaDocumentoPrelevata().getDocumento().getId_clifor()); MagFisico mf = new MagFisico(apTarget); mf.findMagazzinoOrdinato(); mov.setId_magFisico(mf.getId_magFisico()); mov.setId_rigaDocumento(row.getId_rigaDocumento()); mov.setNr(-1.0D * row.getQuantitaPrelevata()); rp = mov.save(); } else { System.out.println("!!! " + row.getRigaDocumentoPrelevata().getDocumento().getNumeroDocumentoCompleto()); row.superDelete(); } i++; if (se1 > 0 && i % se1 == 0) System.out.print("."); if (se2 > 0 && i % se2 == 0) System.out.println(i); } } } stop = new Timestamp(Calendar.getInstance().getTimeInMillis()); System.out.println("start 3: " + stop.toString()); if (step3) { i = 0; j = 0; Articolo art = new Articolo(apTarget); ArticoloCR CR = new ArticoloCR(); CR.setFlgQta(1L); CR.setQtaDa(1L); CR.setQtaA(99999999L); Vectumerator vec = art.findByCR(CR, 0, 0); long tot = (long)vec.getTotNumberOfRecords(); Movimento mov = new Movimento(apTarget); System.out.println("Articolio: tot record: " + vec.getTotNumberOfRecords()); while (vec.hasMoreElements()) { Articolo row = (Articolo)vec.nextElement(); System.out.println(row.getNome()); if (row.getFlgUsaVarianti() == 1L) { ArticoloVariante av = new ArticoloVariante(apTarget); Vectumerator vecAv = av.findById_articolo(row.getId_articolo(), 0, 0, -1L, -1L); while (vecAv.hasMoreElements()) { ArticoloVariante rowAV = (ArticoloVariante)vecAv.nextElement(); Movimento.aggiornaDispo(apTarget, rowAV.getId_articolo(), rowAV.getId_articoloVariante(), 0L, 1L); } } else { Movimento.aggiornaDispo(apTarget, row.getId_articolo(), 0L, 0L, 1L); } i++; if (se1 > 0 && i % se1 == 0) System.out.print("."); if (se2 > 0 && i % se2 == 0) System.out.println(i); } } stop = new Timestamp(Calendar.getInstance().getTimeInMillis()); System.out.println("start 4: " + stop.toString()); if (step4) { i = 0; j = 0; RigaDocumento rd = new RigaDocumento(apTarget); Vectumerator vec = rd.findRigheDocumentoPrelevateDaStornare(); long tot = (long)vec.getTotNumberOfRecords(); Movimento mov = new Movimento(apTarget); System.out.println("Righe documento ordine da stornare: tot record: " + vec.getTotNumberOfRecords()); while (vec.hasMoreElements()) { RigaDocumento row = (RigaDocumento)vec.nextElement(); row.aggiornaMovimentoPareggioRigaPrelevata(); i++; if (se1 > 0 && i % se1 == 0) System.out.print("."); if (se2 > 0 && i % se2 == 0) System.out.println(i); } } if (step5) { i = 0; j = 0; RigaDocumento rd = new RigaDocumento(apTarget); Vectumerator vec = rd.findRigheDocumentoPrelevateDaStornare(); long tot = (long)vec.getTotNumberOfRecords(); Movimento mov = new Movimento(apTarget); System.out.println("Righe documento ordine da stornare: tot record: " + vec.getTotNumberOfRecords()); while (vec.hasMoreElements()) { RigaDocumento row = (RigaDocumento)vec.nextElement(); row.aggiornaMovimentoPareggioRigaPrelevata(); i++; if (se1 > 0 && i % se1 == 0) System.out.print("."); if (se2 > 0 && i % se2 == 0) System.out.println(i); } } stop = new Timestamp(Calendar.getInstance().getTimeInMillis()); System.out.println("STOP: " + start.toString()); System.out.println("DURATA: " + ((double)(stop.getTime() - start.getTime()) / 60000.0D) + " minuti"); System.out.println("Fine"); System.out.println(rp.getMsg()); } catch (Exception e) { e.printStackTrace(); } } }