Example usage for java.sql Timestamp equals

List of usage examples for java.sql Timestamp equals

Introduction

In this page you can find the example usage for java.sql Timestamp equals.

Prototype

public boolean equals(java.lang.Object ts) 

Source Link

Document

Tests to see if this Timestamp object is equal to the given object.

Usage

From source file:com.lp.server.auftrag.ejbfac.AuftragFacBean.java

/**
 * Aktualisieren der Kopfdaten eines Auftrags.
 * //from   w  w w  .j  a  v a 2 s.  co m
 * @param auftragDtoI
 *            die Daten des Auftrags
 * @param waehrungOriCNrI
 *            die urspruengliche Belegwaehrung aenderewaehrung: 0
 * @param theClientDto
 *            der aktuelle Benutzer
 * @throws EJBExceptionLP
 *             Ausnahme
 */
// TODO Grosser Auftrag bei Kunden. Funktion sollte jedoch
// optimiert werden
@TransactionTimeout(60000)
public boolean updateAuftrag(AuftragDto auftragDtoI, String waehrungOriCNrI, TheClientDto theClientDto)
        throws EJBExceptionLP {
    checkAuftragDto(auftragDtoI);
    boolean bMwstSatzWurdeVonNullGeaendertUndEsGibtHandeingaben = false;
    AuftragDto auftragOldDto = auftragFindByPrimaryKey(auftragDtoI.getIId());
    try {
        AuftragpositionDto[] aAuftragpositionDto = getAuftragpositionFac()
                .auftragpositionFindByAuftrag(auftragDtoI.getIId());

        if (auftragOldDto.getAuftragartCNr().equals(AuftragServiceFac.AUFTRAGART_ABRUF)
                && aAuftragpositionDto.length > 0) {

            if (auftragOldDto.getAuftragartCNr().equals(AuftragServiceFac.AUFTRAGART_ABRUF)
                    && !auftragDtoI.getAuftragartCNr().equals(AuftragServiceFac.AUFTRAGART_ABRUF)) {
                throw new EJBExceptionLP(EJBExceptionLP.FEHLER_ABRUFAUFTRAG_KANN_NICHT_MEHR_VERAENDERT_WERDEN,
                        "FEHLER_ABRUFAUFTRAG_KANN_NICHT_MEHR_VERAENDERT_WERDEN");
            }

            if (!auftragOldDto.getAuftragIIdRahmenauftrag().equals(auftragDtoI.getAuftragIIdRahmenauftrag())) {
                throw new EJBExceptionLP(EJBExceptionLP.FEHLER_ABRUFAUFTRAG_KANN_NICHT_MEHR_VERAENDERT_WERDEN,
                        "FEHLER_ABRUFAUFTRAG_KANN_NICHT_MEHR_VERAENDERT_WERDEN");
            }
        }

        // SK: Fuer Voest eingebaut am 27.1.2009
        if (auftragOldDto.getDFinaltermin() != null && auftragDtoI.getDFinaltermin() != null) {
            if (!auftragOldDto.getDFinaltermin().equals(auftragDtoI.getDFinaltermin())) {
                // Finaltermin hat sich geaendert... Negative Positionen
                // bekommen neuen Positionstermin
                for (int i = 0; i < aAuftragpositionDto.length; i++) {
                    if (aAuftragpositionDto[i].getNMenge() != null) {
                        if (aAuftragpositionDto[i].getNMenge().compareTo(new BigDecimal(0)) < 0
                                && aAuftragpositionDto[i].getTUebersteuerbarerLiefertermin()
                                        .equals(auftragOldDto.getDFinaltermin())) {
                            aAuftragpositionDto[i]
                                    .setTUebersteuerbarerLiefertermin(auftragDtoI.getDFinaltermin());
                            getAuftragpositionFac().updateAuftragpositionOhneWeitereAktion(
                                    aAuftragpositionDto[i], theClientDto);
                            // Artikelreservierung Liefertermin aendern
                            if (aAuftragpositionDto[i].isIdent()) {
                                ArtikelreservierungDto artikelreservierungDto = getReservierungFac()
                                        .artikelreservierungFindByBelegartCNrBelegartPositionIIdOhneExc(
                                                LocaleFac.BELEGART_AUFTRAG, aAuftragpositionDto[i].getIId());
                                if (artikelreservierungDto != null) {
                                    artikelreservierungDto.setTLiefertermin(
                                            aAuftragpositionDto[i].getTUebersteuerbarerLiefertermin());
                                    getReservierungFac().updateArtikelreservierung(artikelreservierungDto);
                                }
                            }
                        }
                    }
                }
            }
        }
        // aenderewaehrung: 1 wenn die Waehrung geaendert wurde, muessen die
        // Belegwerte neu berechnet werden
        if (waehrungOriCNrI != null && !waehrungOriCNrI.equals(auftragDtoI.getCAuftragswaehrung())) {

            // aenderewaehrung: 2 die Positionswerte neu berechnen und
            // abspeichern
            BigDecimal ffWechselkurs = getLocaleFac().getWechselkurs2(waehrungOriCNrI,
                    auftragDtoI.getCAuftragswaehrung(), theClientDto);

            for (int i = 0; i < aAuftragpositionDto.length; i++) {
                if (aAuftragpositionDto[i].getNMenge() != null
                        && aAuftragpositionDto[i].getNEinzelpreis() != null) {
                    BigDecimal nNettoeinzelpreisInNeuerWaehrung = aAuftragpositionDto[i].getNEinzelpreis()
                            .multiply(ffWechselkurs);

                    VerkaufspreisDto verkaufspreisDto = getVkPreisfindungFac().berechnePreisfelder(
                            nNettoeinzelpreisInNeuerWaehrung, aAuftragpositionDto[i].getFRabattsatz(),
                            aAuftragpositionDto[i].getFZusatzrabattsatz(),
                            aAuftragpositionDto[i].getMwstsatzIId(), 4, // @todo Konstante PJ 3778
                            theClientDto);

                    aAuftragpositionDto[i].setNEinzelpreis(verkaufspreisDto.einzelpreis);
                    aAuftragpositionDto[i].setNRabattbetrag(verkaufspreisDto.rabattsumme);
                    aAuftragpositionDto[i].setNNettoeinzelpreis(verkaufspreisDto.nettopreis);
                    aAuftragpositionDto[i].setNMwstbetrag(verkaufspreisDto.mwstsumme);
                    aAuftragpositionDto[i].setNBruttoeinzelpreis(verkaufspreisDto.bruttopreis);
                    // alle Preisfelder incl. der zusaetzlichen Preisfelder
                    // befuellen
                    getAuftragpositionFac().updateAuftragpositionOhneWeitereAktion(aAuftragpositionDto[i],
                            theClientDto);
                }
            }
        }
        Timestamp auftragOldLT = Helper.cutTimestamp(auftragOldDto.getDLiefertermin());
        if (!auftragOldDto.getDLiefertermin().equals(auftragDtoI.getDLiefertermin())) {
            for (int i = 0; i < aAuftragpositionDto.length; i++) {
                Timestamp posLT = Helper
                        .cutTimestamp(aAuftragpositionDto[i].getTUebersteuerbarerLiefertermin());
                if (posLT.equals(auftragOldLT)) {
                    aAuftragpositionDto[i].setTUebersteuerbarerLiefertermin(
                            new Timestamp(auftragDtoI.getDLiefertermin().getTime()));
                    getAuftragpositionFac().updateAuftragpositionOhneWeitereAktion(aAuftragpositionDto[i],
                            theClientDto);
                    // Artikelreservierung Liefertermin aendern
                    if (aAuftragpositionDto[i].isIdent()) {
                        ArtikelreservierungDto artikelreservierungDto = getReservierungFac()
                                .artikelreservierungFindByBelegartCNrBelegartPositionIIdOhneExc(
                                        LocaleFac.BELEGART_AUFTRAG, aAuftragpositionDto[i].getIId());
                        if (artikelreservierungDto != null) {
                            artikelreservierungDto
                                    .setTLiefertermin(new Timestamp(auftragDtoI.getDLiefertermin().getTime()));
                            getReservierungFac().updateArtikelreservierung(artikelreservierungDto);
                        }
                    }
                }
            }
        }
        // Auftrag Kunde wurde geaendert ?
        if (!auftragOldDto.getKundeIIdAuftragsadresse().equals(auftragDtoI.getKundeIIdAuftragsadresse())) {
            // mwstsatz
            KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(auftragDtoI.getKundeIIdAuftragsadresse(),
                    theClientDto);
            KundeDto kundeDtoVorher = getKundeFac()
                    .kundeFindByPrimaryKey(auftragOldDto.getKundeIIdAuftragsadresse(), theClientDto);
            ParametermandantDto parameterPositionskontierung = getParameterFac().getMandantparameter(
                    theClientDto.getMandant(), ParameterFac.KATEGORIE_KUNDEN,
                    ParameterFac.PARAMETER_KUNDEN_POSITIONSKONTIERUNG);

            boolean bDefaultMwstsatzAusArtikel = (Boolean) parameterPositionskontierung.getCWertAsObject();

            for (int i = 0; i < aAuftragpositionDto.length; i++) {
                if (aAuftragpositionDto[i].isIdent() || aAuftragpositionDto[i].isHandeingabe()) {

                    MwstsatzDto mwstsatzDto = getMandantFac().mwstsatzFindByMwstsatzbezIIdAktuellster(
                            kundeDto.getMwstsatzbezIId(), theClientDto);
                    if (bDefaultMwstsatzAusArtikel && aAuftragpositionDto[i].isIdent()) {
                        ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall(
                                aAuftragpositionDto[i].getArtikelIId(), theClientDto);
                        if (artikelDto.getMwstsatzbezIId() != null) {
                            mwstsatzDto = getMandantFac().mwstsatzFindByMwstsatzbezIIdAktuellster(
                                    artikelDto.getMwstsatzbezIId(), theClientDto);
                        }

                    }
                    // SP503
                    if (bDefaultMwstsatzAusArtikel && aAuftragpositionDto[i].isHandeingabe()) {

                        // Wenn alter und neuer Kunde den gleichen MWST-Satz
                        // haben, dann nichts tun
                        MwstsatzDto mwstsatzDtoKundeNeu = getMandantFac()
                                .mwstsatzFindByMwstsatzbezIIdAktuellster(kundeDto.getMwstsatzbezIId(),
                                        theClientDto);

                        MwstsatzDto mwstsatzDtoKundeVorher = getMandantFac()
                                .mwstsatzFindByMwstsatzbezIIdAktuellster(kundeDtoVorher.getMwstsatzbezIId(),
                                        theClientDto);

                        if (mwstsatzDtoKundeVorher.getFMwstsatz() == 0
                                && mwstsatzDtoKundeNeu.getFMwstsatz() > 0) {

                            bMwstSatzWurdeVonNullGeaendertUndEsGibtHandeingaben = true;
                        }

                        if (mwstsatzDtoKundeNeu.getIId().equals(mwstsatzDtoKundeVorher.getIId())) {
                            continue;
                        }
                    }
                    if (!aAuftragpositionDto[i].getMwstsatzIId().equals(mwstsatzDto.getIId())) {
                        aAuftragpositionDto[i].setMwstsatzIId(mwstsatzDto.getIId());

                        BigDecimal mwstBetrag = aAuftragpositionDto[i]
                                .getNNettoeinzelpreisplusversteckteraufschlagminusrabatte()
                                .multiply(new BigDecimal(mwstsatzDto.getFMwstsatz().doubleValue())
                                        .movePointLeft(2));
                        aAuftragpositionDto[i].setNMwstbetrag(mwstBetrag);
                        aAuftragpositionDto[i].setNBruttoeinzelpreis(mwstBetrag.add(aAuftragpositionDto[i]
                                .getNNettoeinzelpreisplusversteckteraufschlagminusrabatte()));
                        getAuftragpositionFac().updateAuftragpositionOhneWeitereAktion(aAuftragpositionDto[i],
                                theClientDto);
                    }
                }
            }
            // Kopftext und Fusstext zuruecksetzen
            auftragDtoI.setCFusstextUebersteuert(null);
            auftragDtoI.setCKopftextUebersteuert(null);
        }
        auftragDtoI.setPersonalIIdAendern(theClientDto.getIDPersonal());
        auftragDtoI.setTAendern(getTimestamp());

        Auftrag auftrag = em.find(Auftrag.class, auftragDtoI.getIId());

        if (auftrag == null) {
            throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, "");
        }
        if (auftrag.getAuftragartCNr().equals(AuftragServiceFac.AUFTRAGART_ABRUF)) {
            if (!auftragDtoI.getAuftragartCNr().equals(AuftragServiceFac.AUFTRAGART_ABRUF))
                auftragDtoI.setAuftragIIdRahmenauftrag(null);

        }

        if (!auftragDtoI.getKundeIIdAuftragsadresse().equals(auftrag.getKundeIIdAuftragsadresse())) {
            KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(auftragDtoI.getKundeIIdAuftragsadresse(),
                    theClientDto);

            Integer iGarantie = new Integer(0);
            if (kundeDto.getIGarantieinmonaten() != null) {
                iGarantie = kundeDto.getIGarantieinmonaten();
            }
            auftragDtoI.setIGarantie(iGarantie);
        }

        setAuftragFromAuftragDto(auftrag, auftragDtoI);
        // aenderewaehrung: 3 der Status des Auftrags wechselt auf Angelegt
        pruefeUndSetzeAuftragstatusBeiAenderung(auftragDtoI.getIId(), theClientDto);
    } catch (RemoteException ex) {
        throwEJBExceptionLPRespectOld(ex);
    }
    return bMwstSatzWurdeVonNullGeaendertUndEsGibtHandeingaben;
}

From source file:com.lp.server.fertigung.ejbfac.FertigungFacBean.java

@TransactionAttribute(TransactionAttributeType.SUPPORTS)
public int wiederholendeLoseAnlegen(TheClientDto theClientDto) {

    int iAnzahlAngelegterLose = 0;
    DateFormatSymbols symbols = new DateFormatSymbols(theClientDto.getLocUi());
    String[] defaultMonths = symbols.getMonths();
    int iStandarddurchlaufzeit = 0;
    try {//from  ww  w .  j a v a 2  s  .co  m
        ParametermandantDto parameter = getParameterFac().getMandantparameter(theClientDto.getMandant(),
                ParameterFac.KATEGORIE_FERTIGUNG, ParameterFac.INTERNEBESTELLUNG_DEFAULTDURCHLAUFZEIT);
        iStandarddurchlaufzeit = ((Integer) parameter.getCWertAsObject()).intValue();
    } catch (RemoteException ex2) {
        throwEJBExceptionLPRespectOld(ex2);
    }

    Session session = FLRSessionFactory.getFactory().openSession();

    Criteria crit = session.createCriteria(FLRWiederholendelose.class);

    crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant()));
    crit.add(Restrictions.eq(FertigungFac.FLR_WIEDERHOLENDELOSE_B_VERSTECKT, Helper.boolean2Short(false)));

    List<?> resultList = crit.list();
    Iterator<?> resultListIterator = resultList.iterator();
    while (resultListIterator.hasNext()) {
        FLRWiederholendelose flrWiederholendelose = (FLRWiederholendelose) resultListIterator.next();

        // Naechster faelliger Termin nach Heute
        Calendar cBeginn = Calendar.getInstance();
        cBeginn.setTimeInMillis(flrWiederholendelose.getT_termin().getTime());

        String intervall = flrWiederholendelose.getAuftragwiederholungsintervall_c_nr();

        Timestamp tHeute = Helper.cutTimestamp(new Timestamp(System.currentTimeMillis()));

        while (cBeginn.getTimeInMillis() < tHeute.getTime()) {

            if (intervall.equals(AuftragServiceFac.AUFTRAGWIEDERHOLUNGSINTERVALL_2WOECHENTLICH)) {
                cBeginn.set(Calendar.DAY_OF_MONTH, cBeginn.get(Calendar.DAY_OF_MONTH) + 14);
            } else if (intervall.equals(AuftragServiceFac.AUFTRAGWIEDERHOLUNGSINTERVALL_WOECHENTLICH)) {
                cBeginn.set(Calendar.DAY_OF_MONTH, cBeginn.get(Calendar.DAY_OF_MONTH) + 7);
            }

            if (intervall.equals(AuftragServiceFac.AUFTRAGWIEDERHOLUNGSINTERVALL_JAHR)) {
                cBeginn.set(Calendar.YEAR, cBeginn.get(Calendar.YEAR) + 1);
            } else if (intervall.equals(AuftragServiceFac.AUFTRAGWIEDERHOLUNGSINTERVALL_2JAHR)) {
                cBeginn.set(Calendar.YEAR, cBeginn.get(Calendar.YEAR) + 2);
            } else if (intervall.equals(AuftragServiceFac.AUFTRAGWIEDERHOLUNGSINTERVALL_3JAHR)) {
                cBeginn.set(Calendar.YEAR, cBeginn.get(Calendar.YEAR) + 3);
            } else if (intervall.equals(AuftragServiceFac.AUFTRAGWIEDERHOLUNGSINTERVALL_4JAHR)) {
                cBeginn.set(Calendar.YEAR, cBeginn.get(Calendar.YEAR) + 4);
            } else if (intervall.equals(AuftragServiceFac.AUFTRAGWIEDERHOLUNGSINTERVALL_5JAHR)) {
                cBeginn.set(Calendar.YEAR, cBeginn.get(Calendar.YEAR) + 5);
            } else if (intervall.equals(AuftragServiceFac.AUFTRAGWIEDERHOLUNGSINTERVALL_MONATLICH)) {
                cBeginn.set(Calendar.MONTH, cBeginn.get(Calendar.MONTH) + 1);
            } else if (intervall.equals(AuftragServiceFac.AUFTRAGWIEDERHOLUNGSINTERVALL_QUARTAL)) {
                cBeginn.set(Calendar.MONTH, cBeginn.get(Calendar.MONTH) + 3);
            }
        }

        Timestamp tBeginndatumFuerLos = new Timestamp(cBeginn.getTimeInMillis());
        // Voreilende Tage abziehen

        String monatsname = defaultMonths[cBeginn.get(Calendar.MONTH)];
        int iJahr = cBeginn.get(Calendar.YEAR);

        int iTageVoreilend = flrWiederholendelose.getI_tagevoreilend();
        cBeginn.set(Calendar.DAY_OF_MONTH, cBeginn.get(Calendar.DAY_OF_MONTH) - iTageVoreilend);

        Timestamp tAnlagedatum = new Timestamp(cBeginn.getTimeInMillis());

        if (tAnlagedatum.before(tHeute) || tAnlagedatum.equals(tHeute)) {
            // try {
            Query query = em.createNamedQuery("LosfindWiederholendeloseIIdTProduktionsbeginnMandantCNr");
            query.setParameter(1, flrWiederholendelose.getI_id());
            query.setParameter(2, tBeginndatumFuerLos);
            query.setParameter(3, theClientDto.getMandant());
            Collection<?> cl = query.getResultList();
            // if (cl.isEmpty()) {
            // throw new EJBExceptionLP(EJBExceptionLP.FEHLER, null);
            // }
            LosDto[] lose = assembleLosDtos(cl);

            // Wenn noch nicht angelegt
            if (lose.length == 0) {

                WiederholendeloseDto dto = wiederholendeloseFindByPrimaryKey(flrWiederholendelose.getI_id());
                String projektname = "";
                if (dto.getCProjekt() != null) {
                    projektname += dto.getCProjekt() + " ";
                }
                projektname += monatsname + " " + iJahr;

                if (projektname.length() > 50) {
                    projektname = projektname.substring(0, 49);
                }

                LosDto losDto = new LosDto();
                losDto.setWiederholendeloseIId(dto.getIId());
                losDto.setCProjekt(projektname);
                losDto.setFertigungsgruppeIId(dto.getFertigungsgruppeIId());
                losDto.setKostenstelleIId(dto.getKostenstelleIId());
                losDto.setLagerIIdZiel(dto.getLagerIIdZiel());
                losDto.setMandantCNr(theClientDto.getMandant());
                losDto.setNLosgroesse(dto.getNLosgroesse());
                losDto.setPartnerIIdFertigungsort(dto.getPartnerIIdFertigungsort());
                losDto.setStuecklisteIId(dto.getStuecklisteIId());
                losDto.setTProduktionsbeginn(new java.sql.Date(tBeginndatumFuerLos.getTime()));

                // Produktionsende

                try {

                    int laufzeit = iStandarddurchlaufzeit;
                    if (dto.getStuecklisteIId() != null) {
                        StuecklisteDto stuecklisteDto = getStuecklisteFac()
                                .stuecklisteFindByPrimaryKey(dto.getStuecklisteIId(), theClientDto);
                        if (stuecklisteDto.getNDefaultdurchlaufzeit() != null) {
                            laufzeit = stuecklisteDto.getNDefaultdurchlaufzeit().intValue();
                        }
                    }
                    Calendar cTemp = Calendar.getInstance();
                    cTemp.setTimeInMillis(tBeginndatumFuerLos.getTime());
                    cTemp.set(Calendar.DAY_OF_MONTH, cTemp.get(Calendar.DAY_OF_MONTH) + laufzeit);
                    losDto.setTProduktionsende(new java.sql.Date(cTemp.getTime().getTime()));
                    context.getBusinessObject(FertigungFac.class).createLos(losDto, theClientDto);
                } catch (RemoteException ex1) {
                    throwEJBExceptionLPRespectOld(ex1);
                }

                iAnzahlAngelegterLose++;
            }
            // }
            // catch (FinderException ex) {
            // throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex);
            // }

        }

    }

    return iAnzahlAngelegterLose;
}

From source file:org.apache.ofbiz.entity.transaction.TransactionUtil.java

public static Timestamp getTransactionUniqueNowStamp() {
    Timestamp lastNowStamp = transactionLastNowStamp.get();
    Timestamp nowTimestamp = UtilDateTime.nowTimestamp();

    // check for an overlap with the lastNowStamp, or if the lastNowStamp is in the future because of incrementing to make each stamp unique
    if (lastNowStamp != null && (lastNowStamp.equals(nowTimestamp) || lastNowStamp.after(nowTimestamp))) {
        nowTimestamp = new Timestamp(lastNowStamp.getTime() + 1);
    }/*from  ww  w . j  av a 2 s . c  o  m*/

    transactionLastNowStamp.set(nowTimestamp);
    return nowTimestamp;
}

From source file:org.compiere.process.ImportInventory.java

/**
 *  Perform process./* www  .ja v a2  s .c o m*/
 *  @return Message
 *  @throws Exception
 */
protected String doIt() throws java.lang.Exception {
    log.info("M_Locator_ID=" + p_M_Locator_ID + ",MovementDate=" + p_MovementDate);

    if (p_UpdateCosting) {
        if (p_C_AcctSchema_ID <= 0) {
            throw new IllegalArgumentException("Accounting Schema required!");
        }
        if (p_M_CostType_ID <= 0) {
            throw new IllegalArgumentException("Cost Type required!");
        }
        if (p_M_CostElement_ID <= 0) {
            throw new IllegalArgumentException("Cost Element required!");
        }
        if (p_AD_OrgTrx_ID < 0) {
            throw new IllegalArgumentException("AD_OrgTrx required!");
        }
        acctSchema = MAcctSchema.get(getCtx(), p_C_AcctSchema_ID, get_TrxName());
    }

    StringBuffer sql = null;
    int no = 0;
    String clientCheck = " AND AD_Client_ID=" + p_AD_Client_ID;

    //   ****   Prepare   ****

    //   Delete Old Imported
    if (p_DeleteOldImported) {
        sql = new StringBuffer("DELETE I_Inventory " + "WHERE I_IsImported='Y'").append(clientCheck);
        no = DB.executeUpdate(sql.toString(), get_TrxName());
        log.fine("Delete Old Imported=" + no);
    }

    //   Set Client, Org, Location, IsActive, Created/Updated
    sql = new StringBuffer("UPDATE I_Inventory " + "SET AD_Client_ID = COALESCE (AD_Client_ID,")
            .append(p_AD_Client_ID).append(")," + " AD_Org_ID = COALESCE (AD_Org_ID,").append(p_AD_Org_ID)
            .append("),");
    if (p_MovementDate != null)
        sql.append(" MovementDate = COALESCE (MovementDate,").append(DB.TO_DATE(p_MovementDate)).append("),");
    sql.append(" IsActive = COALESCE (IsActive, 'Y')," + " Created = COALESCE (Created, SysDate),"
            + " CreatedBy = COALESCE (CreatedBy, 0)," + " Updated = COALESCE (Updated, SysDate),"
            + " UpdatedBy = COALESCE (UpdatedBy, 0)," + " I_ErrorMsg = ' '," + " M_Warehouse_ID = NULL," //   reset
            + " I_IsImported = 'N' " + "WHERE I_IsImported<>'Y' OR I_IsImported IS NULL");
    no = DB.executeUpdate(sql.toString(), get_TrxName());
    log.info("Reset=" + no);

    sql = new StringBuffer("UPDATE I_Inventory o "
            + "SET I_IsImported='E', I_ErrorMsg=I_ErrorMsg||'ERR=Invalid Org, '"
            + "WHERE (AD_Org_ID IS NULL OR AD_Org_ID=0"
            + " OR EXISTS (SELECT * FROM AD_Org oo WHERE o.AD_Org_ID=oo.AD_Org_ID AND (oo.IsSummary='Y' OR oo.IsActive='N')))"
            + " AND I_IsImported<>'Y'").append(clientCheck);
    no = DB.executeUpdate(sql.toString(), get_TrxName());
    if (no != 0)
        log.warning("Invalid Org=" + no);

    //   Location
    sql = new StringBuffer(
            "UPDATE I_Inventory i " + "SET M_Locator_ID=(SELECT MAX(M_Locator_ID) FROM M_Locator l"
                    + " WHERE i.LocatorValue=l.Value AND i.AD_Client_ID=l.AD_Client_ID) "
                    + "WHERE M_Locator_ID IS NULL AND LocatorValue IS NOT NULL" + " AND I_IsImported<>'Y'")
                            .append(clientCheck);
    no = DB.executeUpdate(sql.toString(), get_TrxName());
    log.fine("Set Locator from Value =" + no);
    sql = new StringBuffer(
            "UPDATE I_Inventory i " + "SET M_Locator_ID=(SELECT MAX(M_Locator_ID) FROM M_Locator l"
                    + " WHERE i.X=l.X AND i.Y=l.Y AND i.Z=l.Z AND i.AD_Client_ID=l.AD_Client_ID) "
                    + "WHERE M_Locator_ID IS NULL AND X IS NOT NULL AND Y IS NOT NULL AND Z IS NOT NULL"
                    + " AND I_IsImported<>'Y'").append(clientCheck);
    no = DB.executeUpdate(sql.toString(), get_TrxName());
    log.fine("Set Locator from X,Y,Z =" + no);
    if (p_M_Locator_ID != 0) {
        sql = new StringBuffer("UPDATE I_Inventory " + "SET M_Locator_ID = ").append(p_M_Locator_ID)
                .append(" WHERE M_Locator_ID IS NULL" + " AND I_IsImported<>'Y'").append(clientCheck);
        no = DB.executeUpdate(sql.toString(), get_TrxName());
        log.fine("Set Locator from Parameter=" + no);
    }
    sql = new StringBuffer(
            "UPDATE I_Inventory " + "SET I_IsImported='E', I_ErrorMsg=I_ErrorMsg||'ERR=No Location, ' "
                    + "WHERE M_Locator_ID IS NULL" + " AND I_IsImported<>'Y'").append(clientCheck);
    no = DB.executeUpdate(sql.toString(), get_TrxName());
    if (no != 0)
        log.warning("No Location=" + no);

    //   Set M_Warehouse_ID
    sql = new StringBuffer("UPDATE I_Inventory i "
            + "SET M_Warehouse_ID=(SELECT M_Warehouse_ID FROM M_Locator l WHERE i.M_Locator_ID=l.M_Locator_ID) "
            + "WHERE M_Locator_ID IS NOT NULL" + " AND I_IsImported<>'Y'").append(clientCheck);
    no = DB.executeUpdate(sql.toString(), get_TrxName());
    log.fine("Set Warehouse from Locator =" + no);
    sql = new StringBuffer(
            "UPDATE I_Inventory " + "SET I_IsImported='E', I_ErrorMsg=I_ErrorMsg||'ERR=No Warehouse, ' "
                    + "WHERE M_Warehouse_ID IS NULL" + " AND I_IsImported<>'Y'").append(clientCheck);
    no = DB.executeUpdate(sql.toString(), get_TrxName());
    if (no != 0)
        log.warning("No Warehouse=" + no);

    //   Product
    sql = new StringBuffer(
            "UPDATE I_Inventory i " + "SET M_Product_ID=(SELECT MAX(M_Product_ID) FROM M_Product p"
                    + " WHERE i.Value=p.Value AND i.AD_Client_ID=p.AD_Client_ID) "
                    + "WHERE M_Product_ID IS NULL AND Value IS NOT NULL" + " AND I_IsImported<>'Y'")
                            .append(clientCheck);
    no = DB.executeUpdate(sql.toString(), get_TrxName());
    log.fine("Set Product from Value=" + no);
    sql = new StringBuffer(
            "UPDATE I_Inventory i " + "SET M_Product_ID=(SELECT MAX(M_Product_ID) FROM M_Product p"
                    + " WHERE i.UPC=p.UPC AND i.AD_Client_ID=p.AD_Client_ID) "
                    + "WHERE M_Product_ID IS NULL AND UPC IS NOT NULL" + " AND I_IsImported<>'Y'")
                            .append(clientCheck);
    no = DB.executeUpdate(sql.toString(), get_TrxName());
    log.fine("Set Product from UPC=" + no);
    sql = new StringBuffer(
            "UPDATE I_Inventory " + "SET I_IsImported='E', I_ErrorMsg=I_ErrorMsg||'ERR=No Product, ' "
                    + "WHERE M_Product_ID IS NULL" + " AND I_IsImported<>'Y'").append(clientCheck);
    no = DB.executeUpdate(sql.toString(), get_TrxName());
    if (no != 0)
        log.warning("No Product=" + no);

    //   No QtyCount
    sql = new StringBuffer(
            "UPDATE I_Inventory " + "SET I_IsImported='E', I_ErrorMsg=I_ErrorMsg||'ERR=No Qty Count, ' "
                    + "WHERE QtyCount IS NULL" + " AND I_IsImported<>'Y'").append(clientCheck);
    no = DB.executeUpdate(sql.toString(), get_TrxName());
    if (no != 0)
        log.warning("No QtyCount=" + no);

    commitEx();
    if (p_IsValidateOnly)
        return "";

    /*********************************************************************/

    MInventory inventory = null;

    int noInsert = 0;
    int noInsertLine = 0;

    //   Go through Inventory Records
    sql = new StringBuffer("SELECT * FROM I_Inventory " + "WHERE I_IsImported='N'").append(clientCheck)
            .append(" ORDER BY M_Warehouse_ID, TRUNC(MovementDate), I_Inventory_ID");
    try {
        PreparedStatement pstmt = DB.prepareStatement(sql.toString(), get_TrxName());
        ResultSet rs = pstmt.executeQuery();
        //
        int x_M_Warehouse_ID = -1;
        Timestamp x_MovementDate = null;
        while (rs.next()) {
            X_I_Inventory imp = new X_I_Inventory(getCtx(), rs, get_TrxName());
            Timestamp MovementDate = TimeUtil.getDay(imp.getMovementDate());

            if (inventory == null || imp.getM_Warehouse_ID() != x_M_Warehouse_ID
                    || !MovementDate.equals(x_MovementDate)) {
                inventory = new MInventory(getCtx(), 0, get_TrxName());
                inventory.setClientOrg(imp.getAD_Client_ID(), imp.getAD_Org_ID());
                inventory.setDescription("I " + imp.getM_Warehouse_ID() + " " + MovementDate);
                inventory.setM_Warehouse_ID(imp.getM_Warehouse_ID());
                inventory.setMovementDate(MovementDate);
                //
                if (!inventory.save()) {
                    log.log(Level.SEVERE, "Inventory not saved");
                    break;
                }
                x_M_Warehouse_ID = imp.getM_Warehouse_ID();
                x_MovementDate = MovementDate;
                noInsert++;
            }

            //   Line
            int M_AttributeSetInstance_ID = 0;
            if (imp.getLot() != null || imp.getSerNo() != null) {
                MProduct product = MProduct.get(getCtx(), imp.getM_Product_ID());
                if (product.isInstanceAttribute()) {
                    MAttributeSet mas = product.getAttributeSet();
                    MAttributeSetInstance masi = new MAttributeSetInstance(getCtx(), 0,
                            mas.getM_AttributeSet_ID(), get_TrxName());
                    if (mas.isLot() && imp.getLot() != null)
                        masi.setLot(imp.getLot(), imp.getM_Product_ID());
                    if (mas.isSerNo() && imp.getSerNo() != null)
                        masi.setSerNo(imp.getSerNo());
                    //SHW
                    if (mas.isGuaranteeDate()) {
                        Timestamp GuaranteeDate = (Timestamp) imp.get_Value("GuaranteeDate");
                        masi.setGuaranteeDate(GuaranteeDate);
                    }
                    masi.setDescription();
                    masi.saveEx();
                    M_AttributeSetInstance_ID = masi.getM_AttributeSetInstance_ID();
                }
            }
            if (imp.get_ValueAsInt("M_AttributeSetInstance_ID") != 0)
                M_AttributeSetInstance_ID = imp.get_ValueAsInt("M_AttributeSetInstance_ID");
            MInventoryLine line = new MInventoryLine(inventory, imp.getM_Locator_ID(), imp.getM_Product_ID(),
                    M_AttributeSetInstance_ID, imp.getQtyBook(), imp.getQtyCount());
            line.saveEx();

            imp.setI_IsImported(true);
            imp.setM_Inventory_ID(line.getM_Inventory_ID());
            imp.setM_InventoryLine_ID(line.getM_InventoryLine_ID());
            imp.setProcessed(true);
            imp.saveEx();

            noInsertLine++;
            //@Trifon update Product cost record if Update costing is enabled
            if (p_UpdateCosting) {
                line.setCurrentCostPrice(imp.getCurrentCostPrice());
                line.saveEx();
            }
        }
        rs.close();
        pstmt.close();
    } catch (Exception e) {
        log.log(Level.SEVERE, sql.toString(), e);
    }

    //   Set Error to indicator to not imported
    sql = new StringBuffer(
            "UPDATE I_Inventory " + "SET I_IsImported='N', Updated=SysDate " + "WHERE I_IsImported<>'Y'")
                    .append(clientCheck);
    no = DB.executeUpdate(sql.toString(), get_TrxName());
    addLog(0, null, new BigDecimal(no), "@Errors@");
    //
    addLog(0, null, new BigDecimal(noInsert), "@M_Inventory_ID@: @Inserted@");
    addLog(0, null, new BigDecimal(noInsertLine), "@M_InventoryLine_ID@: @Inserted@");
    return "";
}

From source file:org.epics.archiverappliance.retrieval.client.MissingDataYearSpanRetrievalTest.java

/**
 * @param startStr - Start time of request
 * @param endStr - End time of request/*from  ww  w  .j a  v a  2s.  c om*/
 * @param expectedMinEventCount - How many events we expect at a minimum
 * @param firstTimeStampExpectedStr - The time stamp of the first event
 * @param firstTSIndex - If present, the index into generatedTimeStamps for the first event. Set to -1 if you want to skip this check.
 * @param msg - msg to add to log msgs and the like
 * @throws IOException
 */
private void testRetrieval(String startStr, String endStr, int expectedMinEventCount,
        String firstTimeStampExpectedStr, int firstTSIndex, String msg) throws IOException {
    Timestamp start = TimeUtils.convertFromISO8601String(startStr);
    Timestamp end = TimeUtils.convertFromISO8601String(endStr);
    Timestamp firstTimeStampExpected = null;
    if (firstTimeStampExpectedStr != null) {
        firstTimeStampExpected = TimeUtils.convertFromISO8601String(firstTimeStampExpectedStr);
    }
    if (firstTSIndex != -1) {
        assertTrue("Incorrect specification - Str is " + firstTimeStampExpectedStr + " and from array "
                + TimeUtils.convertToISO8601String(generatedTimeStamps.get(firstTSIndex)) + " for " + msg,
                firstTimeStampExpected.equals(generatedTimeStamps.get(firstTSIndex)));
    }
    RawDataRetrievalAsEventStream rawDataRetrieval = new RawDataRetrievalAsEventStream(
            "http://localhost:" + ConfigServiceForTests.RETRIEVAL_TEST_PORT + "/retrieval/data/getData.raw");
    Timestamp obtainedFirstSample = null;
    int eventCount = 0;
    try (EventStream stream = rawDataRetrieval.getDataForPVS(new String[] { pvName }, start, end, null)) {
        if (stream != null) {
            for (Event e : stream) {
                if (obtainedFirstSample == null) {
                    obtainedFirstSample = e.getEventTimeStamp();
                }
                assertTrue(
                        "Expecting sample with timestamp "
                                + TimeUtils.convertToISO8601String(
                                        generatedTimeStamps.get(firstTSIndex + eventCount))
                                + " got " + TimeUtils.convertToISO8601String(e.getEventTimeStamp()) + " for "
                                + msg,
                        e.getEventTimeStamp().equals(generatedTimeStamps.get(firstTSIndex + eventCount)));
                eventCount++;
            }
        } else {
            logger.info("Stream is null for " + msg);
        }
    }

    assertTrue("Expecting at least " + expectedMinEventCount + " got " + eventCount + " for " + msg,
            eventCount >= expectedMinEventCount);
    if (firstTimeStampExpected != null) {
        if (obtainedFirstSample == null) {
            fail("Expecting at least one value for " + msg);
        } else {
            assertTrue(
                    "Expecting first sample to be " + TimeUtils.convertToISO8601String(firstTimeStampExpected)
                            + " got " + TimeUtils.convertToISO8601String(obtainedFirstSample) + " for " + msg,
                    firstTimeStampExpected.equals(obtainedFirstSample));
        }
    } else {
        if (obtainedFirstSample != null) {
            fail("Expecting no values for " + msg + " Got value from "
                    + TimeUtils.convertToISO8601String(obtainedFirstSample));
        }
    }
}

From source file:org.etk.entity.engine.plugins.transaction.TransactionUtil.java

public static Timestamp getTransactionUniqueNowStamp() {
    Timestamp lastNowStamp = transactionLastNowStamp.get();
    Timestamp nowTimestamp = UtilDateTime.nowTimestamp();

    // check for an overlap with the lastNowStamp, or if the lastNowStamp is in
    // the future because of incrementing to make each stamp unique
    if (lastNowStamp != null && (lastNowStamp.equals(nowTimestamp) || lastNowStamp.after(nowTimestamp))) {
        nowTimestamp = new Timestamp(lastNowStamp.getTime() + 1);
    }//  w  ww.  j a  v a 2s  .c om

    transactionLastNowStamp.set(nowTimestamp);
    return nowTimestamp;
}

From source file:org.kuali.kfs.module.ar.document.service.impl.InvoiceRecurrenceDocumentServiceImpl.java

/**
 * @see org.kuali.kfs.module.ar.document.service.InvoiceRecurrenceService#isValidRecurrenceBeginDate(Date)
 *///from   w  ww . j  a  va  2s  . c om
@Override
public boolean isValidRecurrenceBeginDate(Date beginDate) {
    boolean isSuccess = true;
    if (ObjectUtils.isNull(beginDate)) {
        return isSuccess;
    }
    Timestamp currentDate = new Timestamp(dateTimeService.getCurrentDate().getTime());
    Timestamp beginDateTimestamp = new Timestamp(beginDate.getTime());
    if (beginDateTimestamp.before(currentDate) || beginDateTimestamp.equals(currentDate)) {
        return false;
    }
    return isSuccess;
}

From source file:org.kuali.kfs.module.ar.document.service.impl.InvoiceRecurrenceDocumentServiceImpl.java

/**
 * @see org.kuali.kfs.module.ar.document.service.InvoiceRecurrenceService#isValidRecurrenceEndDate(Date)
 *//*  w  w w  .j a  va  2 s.  c  o m*/
@Override
public boolean isValidRecurrenceEndDate(Date beginDate, Date endDate) {
    boolean isSuccess = true;
    if (ObjectUtils.isNull(beginDate) || ObjectUtils.isNull(endDate)) {
        return isSuccess;
    }
    Timestamp beginDateTimestamp = new Timestamp(beginDate.getTime());
    Timestamp endDateTimestamp = new Timestamp(endDate.getTime());
    if ((ObjectUtils.isNotNull(endDateTimestamp))
            && (endDateTimestamp.before(beginDateTimestamp) || endDateTimestamp.equals(beginDateTimestamp))) {
        return false;
    }
    return isSuccess;
}

From source file:org.kuali.kfs.module.ar.document.validation.impl.InvoiceRecurrenceRule.java

/**
 * Validate Begin Date./*from   w ww .  j  a  va2s.  co  m*/
 */
protected boolean validateDocumentRecurrenceBeginDate(InvoiceRecurrence newInvoiceRecurrence) {
    boolean success = true;
    if (ObjectUtils.isNull(newInvoiceRecurrence.getDocumentRecurrenceBeginDate())) {
        return success;
    }
    Timestamp currentDate = new Timestamp(getDateTimeService().getCurrentDate().getTime());
    Timestamp beginDateTimestamp = new Timestamp(
            newInvoiceRecurrence.getDocumentRecurrenceBeginDate().getTime());
    if (beginDateTimestamp.before(currentDate) || beginDateTimestamp.equals(currentDate)) {
        putFieldError(ArPropertyConstants.InvoiceRecurrenceFields.INVOICE_RECURRENCE_BEGIN_DATE,
                ArKeyConstants.ERROR_INVOICE_RECURRENCE_BEGIN_DATE_EARLIER_THAN_TODAY);
        return false;
    }
    return success;
}

From source file:org.kuali.kfs.module.tem.document.service.impl.TravelDocumentServiceImpl.java

/**
 * @see org.kuali.kfs.module.tem.document.service.TravelDocumentService#updatePerDiemItemsFor(String, List, Integer, Timestamp, Timestamp)
 *///from w  ww  . j av a 2s . c o m
@SuppressWarnings("null")
@Override
public void updatePerDiemItemsFor(final TravelDocument document, final List<PerDiemExpense> perDiemExpenseList,
        final Integer perDiemId, final Timestamp start, final Timestamp end) {
    final String mileageRateExpenseTypeCode = getParameterService().getParameterValueAsString(
            TemParameterConstants.TEM_DOCUMENT.class,
            TemConstants.TravelParameters.PER_DIEM_MILEAGE_RATE_EXPENSE_TYPE_CODE, KFSConstants.EMPTY_STRING);

    // Check for changes on trip begin and trip end.
    // This is necessary to prevent duplication of per diem creation due to timestamp changes.
    boolean datesChanged = false;
    if (perDiemExpenseList != null && !perDiemExpenseList.isEmpty()) {
        Timestamp tempStart = perDiemExpenseList.get(0).getMileageDate();
        Timestamp tempEnd = perDiemExpenseList.get(0).getMileageDate();

        if (perDiemExpenseList.size() > 1) {
            tempEnd = perDiemExpenseList.get(perDiemExpenseList.size() - 1).getMileageDate();
        }

        if (!(tempStart.equals(start) && tempEnd.equals(end))) {
            // the perDiemExpenseList will be cleared once we recreate the table, but we need it for carrying over mileage rates
            datesChanged = true;
        }
    }

    List<PerDiem> perDiemList = new ArrayList<PerDiem>();

    // find a valid per diem for each date.  If per diem is null, make it a custom per diem.
    for (final Timestamp eachTimestamp : dateRange(start, end)) {
        PerDiem perDiem = getPerDiemService().getPerDiem(document.getPrimaryDestinationId(), eachTimestamp,
                document.getEffectiveDateForPerDiem(eachTimestamp));
        if (perDiem == null
                || perDiem.getPrimaryDestinationId() == TemConstants.CUSTOM_PRIMARY_DESTINATION_ID) {
            perDiem = new PerDiem();
            perDiem.setPrimaryDestination(new PrimaryDestination());
            perDiem.getPrimaryDestination().setRegion(new TemRegion());
            perDiem.getPrimaryDestination().getRegion().setTripType(new TripType());
            perDiem.setPrimaryDestinationId(TemConstants.CUSTOM_PRIMARY_DESTINATION_ID);
            perDiem.getPrimaryDestination().getRegion()
                    .setRegionName(document.getPrimaryDestinationCountryState());
            perDiem.getPrimaryDestination().setCounty(document.getPrimaryDestinationCounty());
            perDiem.getPrimaryDestination().getRegion().setTripType(document.getTripType());
            perDiem.getPrimaryDestination().getRegion().setTripTypeCode(document.getTripTypeCode());
            perDiem.getPrimaryDestination().setPrimaryDestinationName(document.getPrimaryDestinationName());
        }
        perDiemList.add(perDiem);
    }

    final Map<Timestamp, PerDiemExpense> perDiemMapped = new HashMap<Timestamp, PerDiemExpense>();

    int diffStartDays = 0;
    if (perDiemExpenseList.size() > 0 && perDiemExpenseList.get(0).getMileageDate() != null && !datesChanged) {
        diffStartDays = dateTimeService.dateDiff(start, perDiemExpenseList.get(0).getMileageDate(), false);
    }

    Calendar endCal = Calendar.getInstance();

    if (end != null) {
        endCal.setTime(end);
        if (!datesChanged) {
            for (final PerDiemExpense perDiemItem : perDiemExpenseList) {
                if (diffStartDays != 0) {
                    Calendar cal = Calendar.getInstance();
                    cal.setTime(perDiemItem.getMileageDate());
                    cal.add(Calendar.DATE, -diffStartDays);
                    perDiemItem.setMileageDate(new Timestamp(cal.getTimeInMillis()));
                }

                if (perDiemItem.getMileageDate() != null) {
                    Calendar currCal = Calendar.getInstance();
                    currCal.setTime(perDiemItem.getMileageDate());
                    if (!endCal.before(currCal)) {
                        perDiemMapped.put(perDiemItem.getMileageDate(), perDiemItem);
                    }
                }
            }
        }

        LOG.debug("Iterating over date range from " + start + " to " + end);
        int counter = 0;
        for (final Timestamp someDate : dateRange(start, end)) {
            // Check if a per diem entry exists for this date
            if (!perDiemMapped.containsKey(someDate)) {
                final boolean prorated = shouldProrate(someDate, start, end);
                PerDiemExpense perDiemExpense = createPerDiemItem(document, perDiemList.get(counter), someDate,
                        prorated, mileageRateExpenseTypeCode);
                perDiemExpense.setDocumentNumber(document.getDocumentNumber());
                perDiemMapped.put(someDate, perDiemExpense);
            }
            counter++;
        }
    }

    // Sort the dates and recreate the collection
    perDiemExpenseList.clear();
    for (final Timestamp someDate : new TreeSet<Timestamp>(perDiemMapped.keySet())) {
        LOG.debug("Adding " + perDiemMapped.get(someDate) + " to perdiem list");
        perDiemExpenseList.add(perDiemMapped.get(someDate));
    }
}