List of usage examples for java.util ArrayList set
public E set(int index, E element)
From source file:nl.systemsgenetics.cellTypeSpecificAlleleSpecificExpression.PhasedEntry.java
private Pair<HashMap<String, ArrayList<IndividualSnpData>>, ArrayList<GenomicRegion>> addPhasingToSNPHashMap( HashMap<String, ArrayList<IndividualSnpData>> snpHashMap, String couplingLoc, ArrayList<GenomicRegion> genomicRegions, String vcfLoc) throws IOException { String tabixLoc = vcfLoc + ".tbi"; VcfGenotypeData genotypeData = new VcfGenotypeData(new File(vcfLoc), new File(tabixLoc), GlobalVariables.variantProb); //make a Hashmap with the coupling information correct. String[] sampleNames = genotypeData.getSampleNames(); ArrayList<String> couplingList = UtilityMethods.readFileIntoStringArrayList(couplingLoc); HashMap<String, Integer> couplingMap = new HashMap<String, Integer>(); for (String iSample : couplingList) { String[] tempCouple = iSample.split("\t"); boolean found = false; for (int i = 0; i < sampleNames.length; i++) { if (tempCouple[0].equals(sampleNames[i])) { couplingMap.put(tempCouple[1], i); found = true;/* www . j av a2 s . c o m*/ break; } } if (!found && GlobalVariables.verbosity >= 10) { System.out.println("Couldn't find individual " + tempCouple[0] + " in sampleNames, continueing with the next."); System.out.println(Arrays.toString(sampleNames)); } } if (GlobalVariables.verbosity >= 100) { System.out.println("final coupling map:"); System.out.println(couplingMap.toString()); } int snpsDone = 0; for (int regionIndicator = 0; regionIndicator < genomicRegions.size(); regionIndicator++) { GenomicRegion iRegion = genomicRegions.get(regionIndicator); Iterable<GeneticVariant> VariantsInRegion; VariantsInRegion = genotypeData.getVariantsByRange(iRegion.getSequence(), iRegion.getTestStart() - 1, //minus one because bigger than. iRegion.getTestEnd()); ArrayList<String> snpsInThisTestRegion = new ArrayList<String>(); for (GeneticVariant currentVariant : VariantsInRegion) { if (GlobalVariables.verbosity >= 100) { System.out.println("Starting " + currentVariant.getPrimaryVariantId()); } if (!(currentVariant.isSnp() && currentVariant.isBiallelic())) { //not a valid variant if (GlobalVariables.verbosity >= 100) { System.out.println("continueing because not a valid variant"); } continue; } String snpName = currentVariant.getPrimaryVariantId(); String chr = currentVariant.getSequenceName(); String posString = Integer.toString(currentVariant.getStartPos()); ArrayList<IndividualSnpData> oldSnpData = snpHashMap.get(chr + ":" + posString); if (oldSnpData == null) { if (GlobalVariables.verbosity >= 100) { System.out.println( "Couldn't find SNP: " + snpName + " in AS reads, continueing with the next."); } continue; } if (!oldSnpData.get(0).getSnpName().equals(snpName)) { if (GlobalVariables.verbosity >= 10) { System.out.println("Couldn't find SNP: " + snpName + " in the correct position: " + chr + ":" + posString); System.out.println(oldSnpData.get(0).getSnpName()); } continue; } snpsInThisTestRegion.add(chr + ":" + posString); //If phasing is already add to this variant we may as well stop right here. if (oldSnpData.get(0).hasPhasing()) { //this assumes all individuals in oldSNPdata are phased at the same time. //currently this is the case, but if it changes it, it might break. continue; } ArrayList<IndividualSnpData> newSnpData = new ArrayList<IndividualSnpData>(); List<Boolean> SamplePhasing = currentVariant.getSamplePhasing(); List<Alleles> Variants = currentVariant.getSampleVariants(); boolean passSNP = false; for (IndividualSnpData iAS : oldSnpData) { int i; i = couplingMap.get(iAS.getSampleName()); //make sure there is phasing data available: if (SamplePhasing.get(i)) { char Alt = iAS.getAlternative(); //Genotype IO used the phasing boolean, and the //order of the allele characters for the phasing. char[] alleleChars; alleleChars = Variants.get(i).getAllelesAsChars(); if (GlobalVariables.verbosity >= 100) { System.out.println(Arrays.toString(alleleChars)); } //first assuming the allele is reference //if not the cse, then we change it. int first = 0; int second = 0; if (alleleChars[0] == Alt) { first = 1; } if (alleleChars[1] == Alt) { second = 1; } try { iAS.setPhasing(first, second); } catch (IllegalDataException e) { if (GlobalVariables.verbosity >= 10 && !passSNP) { System.out.println("Did not set phasing for variant" + snpName + " phasing does not match genotype."); } passSNP = true; } } newSnpData.add(iAS); } //something went wrong in the SNP with phasing information and genotype from other data. if (passSNP) { newSnpData = oldSnpData; } //overwrite this into the snpHashMap snpHashMap.put(chr + ":" + posString, newSnpData); snpsDone++; } iRegion.setSnpInRegions(snpsInThisTestRegion); genomicRegions.set(regionIndicator, iRegion); if (GlobalVariables.verbosity >= 10 && regionIndicator % 1000 == 0) { System.out.println("Finished adding phasing to " + Integer.toString(regionIndicator) + " regions, " + Integer.toString(snpsDone) + " snps."); } } //so I can output it easily Pair<HashMap<String, ArrayList<IndividualSnpData>>, ArrayList<GenomicRegion>> returnPair; returnPair = new Pair<HashMap<String, ArrayList<IndividualSnpData>>, ArrayList<GenomicRegion>>(snpHashMap, genomicRegions); return returnPair; }
From source file:es.pode.catalogadorWeb.presentacion.categoriasAvanzado.general.GeneralControllerImpl.java
private void cambioFormulario(HttpServletRequest request, int[] longitudTextosDesc, int[] longitudTextosPCla, int[] longitudTextosAmbitos, int longitudDescripciones, int longitudPalabrasClave, int longitudAmbitos, int longitudIdentificadores, int longitudIdiomas, int longitudTitulo) throws Exception { identificadores = new IdentificadorVO[longitudIdentificadores];//form.getIdentificadores().size() titulos = new TituloVO[1]; idiomas = new IdiomaVO[longitudIdiomas];//form.getIdiomas().size() descripciones = new DescripcionVO[longitudDescripciones];//form.getDescripciones().size() caracteristicas = new Caracteristica[longitudDescripciones][]; palabrasClave = new PalabraClaveVO[longitudPalabrasClave];//form.getPalabrasClave().size() ambitos = new AmbitoVO[longitudAmbitos]; ArrayList[] textoDescripciones = new ArrayList[longitudDescripciones]; ArrayList[] caractDescrpciones = new ArrayList[longitudDescripciones]; ArrayList[] idiomaDescripciones = new ArrayList[longitudDescripciones]; ArrayList[] textoPalabrasClave = new ArrayList[longitudPalabrasClave]; ArrayList[] idiomaPalabrasClave = new ArrayList[longitudPalabrasClave]; ArrayList[] textoAmbito = new ArrayList[longitudAmbitos];//form.getAmbitos().size() ArrayList[] idiomaAmbito = new ArrayList[longitudAmbitos]; String[] catalogos = new String[longitudIdentificadores]; String[] entradas = new String[longitudIdentificadores]; String[] textoTitulo = new String[longitudTitulo]; String[] idiomaTitulo = new String[longitudTitulo]; String[] idiomaValor = new String[longitudIdiomas]; for (Enumeration names = request.getParameterNames(); names.hasMoreElements();) { String name = String.valueOf(names.nextElement()); if (name.startsWith("Id")) { if (name.startsWith("IdCat")) { int i = Integer.parseInt(name.substring(5, name.length())); catalogos[i] = request.getParameter(name); }//from w ww . ja v a 2s .c o m if (name.startsWith("IdEnt")) { int i = Integer.parseInt(name.substring(5, name.length())); entradas[i] = request.getParameter(name); } } if (name.startsWith("Tit")) { if (name.startsWith("TitTex")) { int i = Integer.parseInt(name.substring(6, name.length())); textoTitulo[i] = request.getParameter(name); } if (name.startsWith("TitIdio")) { int i = Integer.parseInt(name.substring(7, name.length())); idiomaTitulo[i] = request.getParameter(name); } } if (name.startsWith("Idio")) { int i = Integer.parseInt(name.substring(4, name.length())); idiomaValor[i] = request.getParameter(name); } if (name.startsWith("Des")) { String[] namePartido = name.split("_"); int i = Integer.parseInt(namePartido[0].substring(3, namePartido[0].length())); if (namePartido[1].startsWith("Tex")) { int j = Integer.parseInt(namePartido[1].substring(3, namePartido[1].length())); ArrayList lDesc = textoDescripciones[i]; if (lDesc == null) { lDesc = new ArrayList(); for (int k = 0; k < longitudTextosDesc[i]; k++) lDesc.add(""); } lDesc.set(j, request.getParameter(name)); textoDescripciones[i] = lDesc; } else if (namePartido[1].startsWith("Idio")) {//Idio int j = Integer.parseInt(namePartido[1].substring(4, namePartido[1].length())); ArrayList lDesc = idiomaDescripciones[i]; if (lDesc == null) { lDesc = new ArrayList(); for (int k = 0; k < longitudTextosDesc[i]; k++) lDesc.add(""); } lDesc.set(j, request.getParameter(name)); idiomaDescripciones[i] = lDesc; } else { //caracteristicas int j = Integer.parseInt(namePartido[1].substring(4, namePartido[1].length())); ArrayList lCarac = caractDescrpciones[i]; if (lCarac == null) { lCarac = new ArrayList(); for (int k = 0; k < longitudTextosDesc[i]; k++) lCarac.add(Caracteristica.getInstance("", null)); //creo un objeto caracteristica vacio } if (namePartido[1].startsWith("CDim"))//Dimension ((Caracteristica) lCarac.get(j)).setDimension(request.getParameter(name)); else if (namePartido[1].startsWith("CCol"))//Color ((Caracteristica) lCarac.get(j)).setModoColor(request.getParameter(name)); else if (namePartido[1].startsWith("CBan"))//Banda Sonora ((Caracteristica) lCarac.get(j)).setBandaSonora(request.getParameter(name)); else if (namePartido[1].startsWith("CFor"))//Formato ((Caracteristica) lCarac.get(j)).setFormato(request.getParameter(name)); else if (namePartido[1].startsWith("CTip"))//Tipo Plano ((Caracteristica) lCarac.get(j)).setTipoPlano(request.getParameter(name)); else if (namePartido[1].startsWith("CLuz"))//Luz ((Caracteristica) lCarac.get(j)).setLuz(request.getParameter(name)); else if (namePartido[1].startsWith("CEst"))//Estructura Formal ((Caracteristica) lCarac.get(j)).setEstructuraFormal(request.getParameter(name)); else if (namePartido[1].startsWith("CAng"))//Angulacion ((Caracteristica) lCarac.get(j)).setAngulacion(request.getParameter(name)); else //Resolucion ((Caracteristica) lCarac.get(j)).setResolucion(request.getParameter(name)); caractDescrpciones[i] = lCarac; } } else if (name.startsWith("Pcla")) { String[] namePartido = name.split("_"); int i = Integer.parseInt(namePartido[0].substring(4, namePartido[0].length())); if (namePartido[1].startsWith("Tex")) { int j = Integer.parseInt(namePartido[1].substring(3, namePartido[1].length())); ArrayList lPCla = textoPalabrasClave[i]; if (lPCla == null) { lPCla = new ArrayList(); for (int k = 0; k < longitudTextosPCla[i]; k++) lPCla.add(""); } lPCla.set(j, request.getParameter(name)); textoPalabrasClave[i] = lPCla; } else {//Idio int j = Integer.parseInt(namePartido[1].substring(4, namePartido[1].length())); ArrayList lPCla = idiomaPalabrasClave[i]; if (lPCla == null) { lPCla = new ArrayList(); for (int k = 0; k < longitudTextosPCla[i]; k++) lPCla.add(""); } lPCla.set(j, request.getParameter(name)); idiomaPalabrasClave[i] = lPCla; } } else if (name.startsWith("Amb")) { String[] namePartido = name.split("_"); int i = Integer.parseInt(namePartido[0].substring(3, namePartido[0].length())); if (namePartido[1].startsWith("Tex")) { int j = Integer.parseInt(namePartido[1].substring(3, namePartido[1].length())); ArrayList lAmb = textoAmbito[i]; if (lAmb == null) { lAmb = new ArrayList(); for (int k = 0; k < longitudTextosAmbitos[i]; k++) lAmb.add(""); } lAmb.set(j, request.getParameter(name)); textoAmbito[i] = lAmb; } else {//Idio int j = Integer.parseInt(namePartido[1].substring(4, namePartido[1].length())); ArrayList lAmb = idiomaAmbito[i]; if (lAmb == null) { lAmb = new ArrayList(); for (int k = 0; k < longitudTextosAmbitos[i]; k++) lAmb.add(""); } lAmb.set(j, request.getParameter(name)); idiomaAmbito[i] = lAmb; } } } //identificadores for (int i = 0; i < catalogos.length; i++) { IdentificadorVO idVO = new IdentificadorVO(); String catalogosI = catalogos[i] != null ? catalogos[i] : ""; idVO.setCatalogo(catalogosI.trim()); String entradasI = entradas[i] != null ? entradas[i] : ""; idVO.setEntrada(entradasI.trim()); identificadores[i] = idVO; } //titulo TituloVO titVO = new TituloVO(); LangStringVO[] aLangTitulo = new LangStringVO[textoTitulo.length]; for (int i = 0; i < textoTitulo.length; i++) { LangStringVO langTitulo = new LangStringVO(); String textoTituI = textoTitulo[i] != null ? textoTitulo[i] : ""; langTitulo.setTexto(textoTituI.trim()); String idiomaTituI = idiomaTitulo[i] != null ? idiomaTitulo[i] : ""; langTitulo.setIdioma(idiomaTituI); aLangTitulo[i] = langTitulo; } titVO.setTextos(aLangTitulo); titulos[0] = titVO; //idioma for (int i = 0; i < idiomaValor.length; i++) { IdiomaVO idioVO = new IdiomaVO(); idioVO.setTexto(idiomaValor[i]); idiomas[i] = idioVO; } //caracteristicas for (int i = 0; i < caractDescrpciones.length; i++) { caracteristicas[i] = (Caracteristica[]) caractDescrpciones[i].toArray(new Caracteristica[0]); } //descripciones I18n i18n = I18n.getInstance(); for (int i = 0; i < textoDescripciones.length; i++) { DescripcionVO descVO = new DescripcionVO(); if (textoDescripciones[i] != null) { LangStringVO[] aLangDesc = new LangStringVO[textoDescripciones[i].size()]; for (int j = 0; j < textoDescripciones[i].size(); j++) { LangStringVO langDesc = new LangStringVO(); String idiomaDescIJ = (idiomaDescripciones[i].get(j) != null ? idiomaDescripciones[i].get(j) : "").toString(); langDesc.setIdioma(idiomaDescIJ); String textoDescIJ; String idioma = (String) listaIdiomas.get(idiomaDescIJ); if (idioma == null) idioma = this.getCatalogadorAvSession(request).getIdioma(); if (caracteristicas[i][j] != null && !caracteristicas[i][j].getVacio() && idioma != null) { String[] captions = i18n.getResource("caracteristicas.captions", "application-resources", new Locale(idioma)).split(","); Caracteristica caractAux = caracteristicas[i][j]; StringBuffer sb = new StringBuffer(); sb.append(captions[0]); // busco las traducciones correspondientes a cada idioma String[] codigos = caractAux.getCodigos(); TerminoVO[] terminosTrad = this.getSrvVocabulariosControladosService() .crearTraduccionAIdioma(codigos, idioma); int indice = 0; if (caractAux.getResolucion() != null && !caractAux.getResolucion().equals("")) sb.append(captions[1]).append(" (").append(caractAux.getResolucion()).append("),"); if (caractAux.getDimension() != null && !caractAux.getDimension().equals("") && codigos[0] != "") { sb.append(captions[2]).append(" (").append(terminosTrad[indice].getNomTermino()) .append("),"); indice++; } if (caractAux.getModoColor() != null && !caractAux.getModoColor().equals("") && codigos[1] != "") { sb.append(captions[3]).append(" (").append(terminosTrad[indice].getNomTermino()) .append("),"); indice++; } if (caractAux.getBandaSonora() != null && !caractAux.getBandaSonora().equals("") && codigos[2] != "") { sb.append(captions[4]).append(" (").append(terminosTrad[indice].getNomTermino()) .append("),"); indice++; } if (caractAux.getFormato() != null && !caractAux.getFormato().equals("") && codigos[3] != "") { sb.append(captions[5]).append(" (").append(terminosTrad[indice].getNomTermino()) .append("),"); indice++; } if (caractAux.getTipoPlano() != null && !caractAux.getTipoPlano().equals("") && codigos[4] != "") { sb.append(captions[6]).append(" (").append(terminosTrad[indice].getNomTermino()) .append("),"); indice++; } if (caractAux.getLuz() != null && !caractAux.getLuz().equals("") && codigos[5] != "") { sb.append(captions[7]).append(" (").append(terminosTrad[indice].getNomTermino()) .append("),"); indice++; } if (caractAux.getEstructuraFormal() != null && !caractAux.getEstructuraFormal().equals("") && codigos[6] != "") { sb.append(captions[8]).append(" (").append(terminosTrad[indice].getNomTermino()) .append("),"); indice++; } if (caractAux.getAngulacion() != null && !caractAux.getAngulacion().equals("") && codigos[7] != "") { sb.append(captions[9]).append(" (").append(terminosTrad[indice].getNomTermino()) .append("),"); indice++; } textoDescIJ = sb.toString(); textoDescIJ = textoDescIJ.substring(0, textoDescIJ.length() - 1);// le quito la ultima coma } else { textoDescIJ = (textoDescripciones[i].get(j) != null ? textoDescripciones[i].get(j) : "") .toString(); } langDesc.setTexto(textoDescIJ.trim()); aLangDesc[j] = langDesc; } descVO.setTextos(aLangDesc); } else { LangStringVO[] aLangString = new LangStringVO[1]; LangStringVO langString = new LangStringVO(); langString.setIdioma(""); langString.setTexto(""); aLangString[0] = langString; descVO.setTextos(aLangString); } descripciones[i] = descVO; } //palabras clave for (int i = 0; i < textoPalabrasClave.length; i++) { PalabraClaveVO pClaVO = new PalabraClaveVO(); if (textoPalabrasClave[i] != null) { LangStringVO[] aLangPCla = new LangStringVO[textoPalabrasClave[i].size()]; for (int j = 0; j < textoPalabrasClave[i].size(); j++) { LangStringVO langPCla = new LangStringVO(); String textoPalClaveIJ = (textoPalabrasClave[i].get(j) != null ? textoPalabrasClave[i].get(j) : "").toString(); langPCla.setTexto(textoPalClaveIJ.trim()); String idiomaPalClaveIJ = (idiomaPalabrasClave[i].get(j) != null ? idiomaPalabrasClave[i].get(j) : "").toString(); langPCla.setIdioma(idiomaPalClaveIJ); aLangPCla[j] = langPCla; } pClaVO.setTextos(aLangPCla); } else { LangStringVO[] aLangString = new LangStringVO[1]; LangStringVO langString = new LangStringVO(); langString.setIdioma(""); langString.setTexto(""); aLangString[0] = langString; pClaVO.setTextos(aLangString); } palabrasClave[i] = pClaVO; } // form.setPalabrasClaveAsArray(palabrasClave); //ambitos for (int i = 0; i < textoAmbito.length; i++) { AmbitoVO ambVO = new AmbitoVO(); if (textoAmbito[i] != null) { LangStringVO[] aLangAmb = new LangStringVO[textoAmbito[i].size()]; for (int j = 0; j < textoAmbito[i].size(); j++) { LangStringVO langAmb = new LangStringVO(); String textoAmbitoIJ = (textoAmbito[i].get(j) != null ? textoAmbito[i].get(j) : "").toString(); langAmb.setTexto(textoAmbitoIJ.trim()); String idiomaAmbitoIJ = (idiomaAmbito[i].get(j) != null ? idiomaAmbito[i].get(j) : "") .toString(); langAmb.setIdioma(idiomaAmbitoIJ); aLangAmb[j] = langAmb; } ambVO.setTextos(aLangAmb); } else { LangStringVO[] aLangString = new LangStringVO[1]; LangStringVO langString = new LangStringVO(); langString.setIdioma(""); langString.setTexto(""); aLangString[0] = langString; ambVO.setTextos(aLangString); } ambitos[i] = ambVO; } // form.setAmbitosAsArray(ambitos); }
From source file:es.pode.publicacion.negocio.servicios.SrvPublicacionServiceImpl.java
private String comprobarVocabulariosYFechas(Manifest manifest) throws Exception { logger.debug("AOV: Recogiendo vocabularios controlados..."); String vocabControlados = getPropertyValue("vocabulariosControlados"); // String vocabControlados = "1.3,1.7,1.8,2.2,2.3.1,3.2.1,3.4,4.1,4.4.1.1,4.4.1.2,5.1,5.2,5.3,5.4,5.5,5.6,5.8,5.11,5.12,6.1,6.2,6.4.1,7.1,9.1"; String[] vocabularios = vocabControlados.split(","); logger.debug("AOV: Vamos a obtener los valores de los vocabularios"); SrvVocabulariosControladosService vocabSrv = this.getSrvVocabulariosControladosService(); VocabularioVO[] vocabVO = vocabSrv.obtenerCombos(vocabularios, "en"); /********vocabularios de general********/ VocabularioVO idiomaV = vocabVO[0];//1.3 ArrayList aIdiomaV = this.obtenValoresVocabulario(idiomaV); VocabularioVO estructuraV = vocabVO[1];//1.7 ArrayList aEstructuraV = this.obtenValoresVocabulario(estructuraV); VocabularioVO nivelAgregacionV = vocabVO[2];//1.8 ArrayList aNivelAgregacionV = this.obtenValoresVocabulario(nivelAgregacionV); /********vocabularios de ciclo de vida********/ VocabularioVO estadoV = vocabVO[3];//2.2 ArrayList aEstadoV = this.obtenValoresVocabulario(estadoV); VocabularioVO tipoContribucionV = vocabVO[4];//2.3.1 ArrayList aTipoContribucionV = this.obtenValoresVocabulario(tipoContribucionV); /********vocabularios de meta-metadatos********/ VocabularioVO tipoContribucionMetaV = vocabVO[5];//3.2.1 ArrayList aTipoContribucionMetaV = this.obtenValoresVocabulario(tipoContribucionMetaV); VocabularioVO idiomaCatalogacionV = vocabVO[6];//3.4 ArrayList aIdiomaCatalogacionV = this.obtenValoresVocabulario(idiomaCatalogacionV); /********vocabularios de tecnica********/ VocabularioVO formatoV = vocabVO[7];//4.1 ArrayList aFormatoV = this.obtenValoresVocabulario(formatoV); VocabularioVO tipoRequisitoV = vocabVO[8];//4.4.1.1 ArrayList aTipoRequisitoV = this.obtenValoresVocabulario(tipoRequisitoV); VocabularioVO nombreRequisitoV = vocabVO[9];//4.4.1.2 ArrayList aNombreRequisitosV = this.obtenValoresVocabulario(nombreRequisitoV); /********vocabularios de uso educativo********/ VocabularioVO tipoInteractividadV = vocabVO[10];//5.1 ArrayList aTipoInteractividadV = this.obtenValoresVocabulario(tipoInteractividadV); VocabularioVO tipoRecursoV = vocabVO[11];//5.2 ArrayList aTipoRecursoV = this.obtenValoresVocabulario(tipoRecursoV); VocabularioVO nivelInteractividadV = vocabVO[12];//5.3 ArrayList aNivelInteractividadV = this.obtenValoresVocabulario(nivelInteractividadV); VocabularioVO densidadSemanticaV = vocabVO[13];//5.4 ArrayList aDensidadSemanticaV = this.obtenValoresVocabulario(densidadSemanticaV); VocabularioVO destinatarioV = vocabVO[14];//5.5 ArrayList aDestinatarioV = this.obtenValoresVocabulario(destinatarioV); VocabularioVO contextoV = vocabVO[15];//5.6 ArrayList aContextoV = this.obtenValoresVocabulario(contextoV); VocabularioVO dificultadV = vocabVO[16];//5.8 ArrayList aDificultadV = this.obtenValoresVocabulario(dificultadV); VocabularioVO idiomaDestinatarioV = vocabVO[17];//5.11 ArrayList aIdiomaDestinatarioV = this.obtenValoresVocabulario(idiomaDestinatarioV); VocabularioVO procesoCognitivoV = vocabVO[18];//5.12 ArrayList aProcesoCognitivoV = this.obtenValoresVocabulario(procesoCognitivoV); /********vocabularios de derechos********/ VocabularioVO costeV = vocabVO[19];//6.1 ArrayList aCosteV = this.obtenValoresVocabulario(costeV); VocabularioVO derechosAutorV = vocabVO[20];//6.2 ArrayList aDerechosAutorV = this.obtenValoresVocabulario(derechosAutorV); VocabularioVO tipoAccesoV = vocabVO[21];//6.4.1 ArrayList aTipoAccesoV = this.obtenValoresVocabulario(tipoAccesoV); /********vocabularios de relacion********/ VocabularioVO tipoRelacionV = vocabVO[22];//7.1 ArrayList aTipoRelacionV = this.obtenValoresVocabulario(tipoRelacionV); /********vocabularios de clasificacion********/ VocabularioVO propositoV = vocabVO[23];//9.1 ArrayList aPropositoV = this.obtenValoresVocabulario(propositoV); StringBuffer resultado = new StringBuffer(""); ManifestAgrega manifestAgrega = new ManifestAgrega(manifest); HashMap lomesMap = manifestAgrega.recuperarLomesMap(); Set padreLomes = lomesMap.keySet(); Object[] padresLomesArray = padreLomes.toArray(); for (int i = 0; i < padresLomesArray.length; i++) { boolean haCambiado = false; String idPadre = (String) padresLomesArray[i]; Lom lomes = (Lom) lomesMap.get(padresLomesArray[i]); LomAgrega lomAgrega = new LomAgrega(lomes); // /**********************General**********************/ logger.debug("Comprobando campos de la categora General"); GeneralAgrega generalAgrega = lomAgrega.getGeneralAgrega(); List idiomas = generalAgrega.getIdiomasAv(); boolean cambioIdiomas = false; ArrayList new_Idiomas = new ArrayList(); for (int k = 0; k < idiomas.size(); k++) { String idioma = (String) idiomas.get(k); if (idioma != null && !aIdiomaV.contains(idioma)) { // if(idioma !=null){ logger.debug("Valor erroneo de idioma: " + idioma + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.idioma")).append(idioma).append(SPLITTER); haCambiado = true;//from w w w.j a v a 2 s . co m cambioIdiomas = true; } else { new_Idiomas.add(idioma); } } if (cambioIdiomas) generalAgrega.setIdiomasAv(new_Idiomas); String estructura = generalAgrega.getEstructuraAv(); if (estructura != null && !aEstructuraV.contains(estructura)) { // if(estructura !=null){ logger.debug("Valor erroneo de estructura: " + estructura + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.estructura")).append(estructura) .append(SPLITTER); generalAgrega.setEstructuraAv(null); haCambiado = true; } String nivelAgregacion = generalAgrega.getNivelDeAgregacionAv(); if (nivelAgregacion != null && !aNivelAgregacionV.contains(nivelAgregacion)) { // if(nivelAgregacion !=null){ logger.debug("Valor erroneo de nivel de agregacion: " + nivelAgregacion + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.nivelAgregacion")).append(nivelAgregacion) .append(SPLITTER); generalAgrega.setNivelDeAgregacionAv(null); haCambiado = true; } // /**********************Ciclo de vida**********************/ logger.debug("Comprobando campos de la categora Ciclo de vida"); LifeCycleAgrega cicloAgrega = lomAgrega.getLifeCycleAgrega(); String estado = cicloAgrega.getEstatusAv(); if (estado != null && !aEstadoV.contains(estado)) { // if(estado !=null){ logger.debug("Valor erroneo de estado: " + estado + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.estado")).append(estado).append(SPLITTER); cicloAgrega.setEstatusAv(null); haCambiado = true; } ArrayList<ContribucionAgrega> contribuciones = cicloAgrega.getContribucionesAv(); ArrayList<ContribucionAgrega> new_contribuciones = new ArrayList<ContribucionAgrega>(); boolean cambioContrib = false; for (int j = 0; j < contribuciones.size(); j++) { ContribucionAgrega contribucion = contribuciones.get(j); String tipo = contribucion.getTipo(); // if(tipo !=null){ if (tipo != null && !aTipoContribucionV.contains(tipo)) { logger.debug("Valor erroneo de tipo de contribucion: " + tipo + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.tipoContribCiclo")).append(tipo) .append(SPLITTER); contribucion.setTipo(null); // contribuciones.set(j, contribucion); haCambiado = true; cambioContrib = true; } FechaAgrega fecha = contribucion.getFecha(); if (fecha != null && fecha.getFecha() != null) { String sFecha = fecha.getFecha(); boolean correcta = this.comprobarFecha(sFecha); if (!correcta) { logger.debug("Valor erroneo de fecha: " + sFecha + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.fechaCiclo")).append(sFecha) .append(SPLITTER); fecha.setFecha(null); contribucion.setTipo(null); // contribuciones.set(j, contribucion); haCambiado = true; cambioContrib = true; } } if ((contribucion.getEntidad() != null && contribucion.getEntidad().size() > 0) || (contribucion.getTipo() != null && !contribucion.getTipo().equals("")) || (contribucion.getFecha() != null && contribucion.getFecha().getFecha() != null && !contribucion.getFecha().getFecha().equals("")) || (contribucion.getFecha() != null && contribucion.getFecha().getDescripciones() != null && contribucion.getFecha().getDescripciones().size() > 0)) { new_contribuciones.add(contribucion); } } if (cambioContrib) { cicloAgrega.setContribucionesAv(new_contribuciones); } // /**********************Meta-metadatos**********************/ logger.debug("Comprobando campos de la categora Meta-metadatos"); MetaMetadataAgrega metadatosAgrega = lomAgrega.getMetaMetadataAgrega(); String idiomaCatalogacion = metadatosAgrega.getIdiomaAv(); // if(idiomaCatalogacion !=null){ if (idiomaCatalogacion != null && !aIdiomaCatalogacionV.contains(idiomaCatalogacion)) { logger.debug( "Valor erroneo de idioma de catalogacion: " + idiomaCatalogacion + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.idiomaCatalogacion")).append(idiomaCatalogacion) .append(SPLITTER); metadatosAgrega.setIdiomasAv(null); haCambiado = true; } ArrayList<ContribucionAgrega> contribucionesMeta = metadatosAgrega.getContribucionesAv(); ArrayList<ContribucionAgrega> new_contribucionesMeta = new ArrayList<ContribucionAgrega>(); boolean cambioContribMeta = false; for (int j = 0; j < contribucionesMeta.size(); j++) { ContribucionAgrega contribucionMeta = contribucionesMeta.get(j); String tipo = contribucionMeta.getTipo(); // if(tipo !=null){ if (tipo != null && !aTipoContribucionMetaV.contains(tipo)) { logger.debug("Valor erroneo de tipo de contribucion: " + tipo + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.tipoContribMeta")).append(tipo) .append(SPLITTER); contribucionMeta.setTipo(null); // contribucionesMeta.set(j, contribucionMeta); haCambiado = true; cambioContribMeta = true; } FechaAgrega fecha = contribucionMeta.getFecha(); if (fecha != null && fecha.getFecha() != null) { String sFecha = fecha.getFecha(); boolean correcta = this.comprobarFecha(sFecha); if (!correcta) { logger.debug("Valor erroneo de fecha: " + sFecha + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.fechaMeta")).append(sFecha) .append(SPLITTER); fecha.setFecha(null); contribucionMeta.setTipo(null); // contribucionesMeta.set(j, contribucionMeta); haCambiado = true; cambioContribMeta = true; } } if ((contribucionMeta.getEntidad() != null && contribucionMeta.getEntidad().size() > 0) || (contribucionMeta.getTipo() != null && !contribucionMeta.getTipo().equals("")) || (contribucionMeta.getFecha() != null && contribucionMeta.getFecha().getFecha() != null && !contribucionMeta.getFecha().getFecha().equals("")) || (contribucionMeta.getFecha() != null && contribucionMeta.getFecha().getDescripciones() != null && contribucionMeta.getFecha().getDescripciones().size() > 0)) { new_contribucionesMeta.add(contribucionMeta); } } if (cambioContribMeta) { cicloAgrega.setContribucionesAv(new_contribucionesMeta); } /**********************Tecnica**********************/ logger.debug("Comprobando campos de la categora Tecnica"); TechnicalAgrega tecnicaAgrega = lomAgrega.getTechnicalAgrega(); ArrayList formatos = tecnicaAgrega.getFormatosAv(); boolean cambioFormatos = false; ArrayList new_formatos = new ArrayList(); for (int j = 0; j < formatos.size(); j++) { String formato = (String) formatos.get(j); if (formato != null && !aFormatoV.contains(formato)) { // if(formato !=null){ logger.debug("Valor erroneo de formato: " + formato + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.formato")).append(formato).append(SPLITTER); haCambiado = true; cambioFormatos = true; } else { new_formatos.add(formato); } } if (cambioFormatos) tecnicaAgrega.setFormatosAv(new_formatos); ArrayList requisitos = tecnicaAgrega.getRequisitosAv(); boolean cambioRequisitos = false; for (int j = 0; j < requisitos.size(); j++) { ArrayList<RequisitoAgrega> orComposites = (ArrayList<RequisitoAgrega>) requisitos.get(j); boolean cambioOrComposites = true; for (int k = 0; k < orComposites.size(); k++) { RequisitoAgrega requisito = orComposites.get(k); String tipo = requisito.getTipo(); boolean cambioRequisito = false; if (tipo != null && !aTipoRequisitoV.contains(tipo)) { // if(tipo !=null){ logger.debug("Valor erroneo de tipo requisito: " + tipo + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.tipoRequisito")).append(tipo) .append(SPLITTER); requisito.setTipo(null); haCambiado = true; cambioRequisitos = true; cambioOrComposites = true; cambioRequisito = true; } String nombre = requisito.getNombre(); if (nombre != null && !aNombreRequisitosV.contains(nombre)) { // if(nombre !=null){ logger.debug("Valor erroneo de nombre de requisito: " + nombre + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.nombreRequisito")).append(nombre) .append(SPLITTER); requisito.setNombre(null); haCambiado = true; cambioRequisitos = true; cambioOrComposites = true; cambioRequisito = true; } if (cambioRequisito) orComposites.set(k, requisito); } if (cambioOrComposites) requisitos.set(j, orComposites); } if (cambioRequisitos) tecnicaAgrega.setRequisitosAv(requisitos); /**********************Uso educativo**********************/ logger.debug("Comprobando campos de la categora Uso educativo"); ArrayList<EducationalAgrega> usosEduAgrega = lomAgrega.getEducationalsAgrega(); ArrayList<EducationalAgrega> new_usosEducativos = new ArrayList<EducationalAgrega>(); boolean cambioUsosEdu = false; for (int j = 0; j < usosEduAgrega.size(); j++) { EducationalAgrega usoEducativo = usosEduAgrega.get(j); //***********tipoInteractividad*********** String tipoInteractividad = usoEducativo.getTipoDeInteractividadAv(); if (tipoInteractividad != null && !aTipoInteractividadV.contains(tipoInteractividad)) { // if(tipoInteractividad !=null){ logger.debug( "Valor erroneo de tipo de interactividad: " + tipoInteractividad + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.tipoInteractividad")) .append(tipoInteractividad).append(SPLITTER); usoEducativo.setTipoDeInteractividadAv(null); haCambiado = true; cambioUsosEdu = true; } //***********tipoRecurso*********** ArrayList<String> tipoRecurso = usoEducativo.getTiposDeRecursoAv(); boolean cambioTipoRecurso = false; ArrayList new_tipoRecurso = new ArrayList(); for (int k = 0; k < tipoRecurso.size(); k++) { String recurso = (String) tipoRecurso.get(k); if (recurso != null && !aTipoRecursoV.contains(recurso)) { // if(recurso !=null){ logger.debug("Valor erroneo de tipo de recurso: " + recurso + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.tipoRecurso")).append(recurso) .append(SPLITTER); haCambiado = true; cambioTipoRecurso = true; cambioUsosEdu = true; } else { new_tipoRecurso.add(recurso); } } if (cambioTipoRecurso) usoEducativo.setTiposDeRecursoAv(new_tipoRecurso); //***********nivelInteractividad*********** String nivelInteractividad = usoEducativo.getNivelDeInteractividadAv(); if (nivelInteractividad != null && !aNivelInteractividadV.contains(nivelInteractividad)) { // if(nivelInteractividad !=null){ logger.debug("Valor erroneo de nivel de interactividad: " + nivelInteractividad + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.nivelInteractividad")) .append(nivelInteractividad).append(SPLITTER); usoEducativo.setNivelDeInteractividadAv(null); haCambiado = true; cambioUsosEdu = true; } //***********densidadSemantica*********** String densidadSemantica = usoEducativo.getDensidadSemanticaAv(); if (densidadSemantica != null && !aDensidadSemanticaV.contains(densidadSemantica)) { // if(densidadSemantica !=null){ logger.debug("Valor erroneo de densidad semantica: " + densidadSemantica + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.densidadSemantica")) .append(densidadSemantica).append(SPLITTER); usoEducativo.setDensidadSemanticaAv(null); haCambiado = true; cambioUsosEdu = true; } //***********destinatarios*********** ArrayList<String> destinatarios = usoEducativo.getDestinatariosAv(); boolean cambioDestinatarios = false; ArrayList new_Destinatarios = new ArrayList(); for (int k = 0; k < destinatarios.size(); k++) { String destinatario = (String) destinatarios.get(k); if (destinatario != null && !aDestinatarioV.contains(destinatario)) { // if(destinatario !=null){ logger.debug("Valor erroneo de destinatario: " + destinatario + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.destinatario")).append(destinatario) .append(SPLITTER); haCambiado = true; cambioDestinatarios = true; cambioUsosEdu = true; } else { new_Destinatarios.add(destinatario); } } if (cambioDestinatarios) usoEducativo.setDestinatariosAv(new_Destinatarios); //***********contextos*********** ArrayList<String> contextos = usoEducativo.getContextosAv(); boolean cambioContextos = false; ArrayList new_Contextos = new ArrayList(); for (int k = 0; k < contextos.size(); k++) { String contexto = (String) contextos.get(k); if (contexto != null && !aContextoV.contains(contexto)) { // if(contexto !=null){ logger.debug("Valor erroneo de contexto: " + contexto + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.contexto")).append(contexto) .append(SPLITTER); haCambiado = true; cambioContextos = true; cambioUsosEdu = true; } else { new_Contextos.add(contexto); } } if (cambioContextos) usoEducativo.setContextosAv(new_Contextos); //***********dificultad*********** String dificultad = usoEducativo.getDificultadAv(); if (dificultad != null && !aDificultadV.contains(dificultad)) { // if(dificultad !=null){ logger.debug("Valor erroneo de dificultad: " + dificultad + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.dificultad")).append(dificultad) .append(SPLITTER); usoEducativo.setDificultadAv(null); haCambiado = true; cambioUsosEdu = true; } //***********Tiempo de aprendizaje*********** DuracionAgrega duracionAgrega = usoEducativo.getTiempoTipicoAprendizajeAv(); if (duracionAgrega != null) { String duracion = duracionAgrega.getDuracion(); if (duracion != null) { Pattern mask = Pattern.compile( "^P([0-9]+Y){0,1}([0-9]+M){0,1}([0-9]+D){0,1}(T([0-9]+H){0,1}([0-9]+M){0,1}([0-9]+(.[0-9]+){0,1}S){0,1}){0,1}$"); //ejm ee-zz Matcher matcher = mask.matcher(duracion); boolean correcto = matcher.matches(); if (!correcto) { logger.debug("Valor erroneo de duracion: " + duracion + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.duracion")).append(duracion) .append(SPLITTER); duracionAgrega.setDuracion(null); usoEducativo.setTiempoTipicoAprendizajeAv(duracionAgrega); haCambiado = true; cambioUsosEdu = true; } } } //***********idiomasDestinatarios*********** ArrayList<String> idiomasDestinatarios = usoEducativo.getIdiomasDestinatarioAv(); boolean cambioIdiomasDest = false; ArrayList new_IdiomasDest = new ArrayList(); for (int k = 0; k < idiomasDestinatarios.size(); k++) { String idioma = (String) idiomasDestinatarios.get(k); if (idioma != null && !aIdiomaDestinatarioV.contains(idioma)) { // if(idioma !=null){ logger.debug("Valor erroneo de idioma destinario: " + idioma + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.idiomaDestinatario")).append(idioma) .append(SPLITTER); haCambiado = true; cambioIdiomasDest = true; cambioUsosEdu = true; } else { new_IdiomasDest.add(idioma); } } if (cambioIdiomasDest) usoEducativo.setIdiomasDestinatarioAv(new_IdiomasDest); //***********procesosCognitivos*********** ArrayList<String> procesosCognitivos = usoEducativo.getProcesosCognitivosAv(); boolean cambioProcesosCog = false; ArrayList new_ProcesosCog = new ArrayList(); for (int k = 0; k < procesosCognitivos.size(); k++) { String proceso = (String) procesosCognitivos.get(k); if (proceso != null && !aProcesoCognitivoV.contains(proceso)) { // if(proceso !=null){ logger.debug("Valor erroneo de proceso cognitivo: " + proceso + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.proceso")).append(proceso) .append(SPLITTER); haCambiado = true; cambioProcesosCog = true; cambioUsosEdu = true; } else { new_ProcesosCog.add(proceso); } } if (cambioProcesosCog) usoEducativo.setProcesosCognitivosAv(new_ProcesosCog); if ((usoEducativo.getTipoDeInteractividadAv() != null && !usoEducativo.getTipoDeInteractividadAv().equals("")) || (usoEducativo.getTiposDeRecursoAv() != null && usoEducativo.getTiposDeRecursoAv().size() > 0) || (usoEducativo.getNivelDeInteractividadAv() != null && !usoEducativo.getNivelDeInteractividadAv().equals("")) || (usoEducativo.getDensidadSemanticaAv() != null && !usoEducativo.getDensidadSemanticaAv().equals("")) || (usoEducativo.getDestinatariosAv() != null && usoEducativo.getDestinatarios().size() > 0) || (usoEducativo.getContextosAv() != null && usoEducativo.getContextosAv().size() > 0) || (usoEducativo.getRangosEdadAv() != null && usoEducativo.getRangosEdadAv().size() > 0) || (usoEducativo.getDificultadAv() != null && !usoEducativo.getDificultadAv().equals("")) || (usoEducativo.getTiempoTipicoAprendizajeAv() != null && usoEducativo.getTiempoTipicoAprendizajeAv().getDuracion() != null && !usoEducativo.getTiempoTipicoAprendizajeAv().getDuracion().equals("")) || (usoEducativo.getTiempoTipicoAprendizajeAv() != null && usoEducativo.getTiempoTipicoAprendizajeAv().getDescripciones() != null && usoEducativo.getTiempoTipicoAprendizajeAv().getDescripciones().size() > 0) || (usoEducativo.getDescripcionesAv() != null && usoEducativo.getDescripcionesAv().size() > 0) || (usoEducativo.getIdiomasDestinatarioAv() != null && usoEducativo.getIdiomasDestinatarioAv().size() > 0) || (usoEducativo.getProcesosCognitivosAv() != null && usoEducativo.getProcesosCognitivosAv().size() > 0)) { new_usosEducativos.add(usoEducativo); } } if (cambioUsosEdu) { EducationalAgrega[] aUsosEducativos = (EducationalAgrega[]) new_usosEducativos .toArray(new EducationalAgrega[new_usosEducativos.size()]); lomAgrega.setEducationalsAgrega(aUsosEducativos); } /**********************Derechos**********************/ logger.debug("Comprobando campos de la categora Derechos"); RightsAgrega derechosAgrega = lomAgrega.getRightsAgrega(); String coste = derechosAgrega.getCosteAv(); if (coste != null && !aCosteV.contains(coste)) { // if(coste !=null){ logger.debug("Valor erroneo de coste: " + coste + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.coste")).append(coste).append(SPLITTER); derechosAgrega.setCosteAv(null); haCambiado = true; } String derechosAutor = derechosAgrega.getDerechosDeAutorAv(); if (derechosAutor != null && !aDerechosAutorV.contains(derechosAutor)) { // if(derechosAutor !=null){ logger.debug("Valor erroneo de derechos de autor: " + derechosAutor + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.derechosAutor")).append(derechosAutor) .append(SPLITTER); derechosAgrega.setDerechosDeAutorAv(null); haCambiado = true; } AccesoAgrega acceso = derechosAgrega.getAccesoAv(); String tipoAcceso = acceso.getTipoAcceso(); if (tipoAcceso != null && !aTipoAccesoV.contains(tipoAcceso)) { // if(tipoAcceso !=null){ logger.debug("Valor erroneo de tipo de acceso: " + tipoAcceso + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.tipoAcceso")).append(tipoAcceso) .append(SPLITTER); acceso.setTipoAcceso(null); derechosAgrega.setAccesoAv(acceso); haCambiado = true; } /**********************Relacin**********************/ logger.debug("Comprobando campos de la categora Relacion"); ArrayList<RelationAgrega> relacionesAgrega = lomAgrega.getRelationsAgrega(); ArrayList<RelationAgrega> new_relaciones = new ArrayList<RelationAgrega>(); boolean cambioRelacion = false; for (int j = 0; j < relacionesAgrega.size(); j++) { RelationAgrega relacionAgrega = relacionesAgrega.get(j); String tipo = relacionAgrega.getTipoAv(); if (tipo != null && !aTipoRelacionV.contains(tipo)) { // if(tipo !=null){ logger.debug("Valor erroneo de tipo de relacion: " + tipo + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.tipoRelacion")).append(tipo) .append(SPLITTER); relacionAgrega.setTipoAv(null); haCambiado = true; cambioRelacion = true; } if ((relacionAgrega.getTipoAv() != null && !relacionAgrega.getTipoAv().equals("")) || (relacionAgrega.getRecursoAv() != null && relacionAgrega.getRecursoAv().getDescripciones() != null && relacionAgrega.getRecursoAv().getDescripciones().size() > 0) || (relacionAgrega.getRecursoAv() != null && relacionAgrega.getRecursoAv().getIdentificador() != null && relacionAgrega.getRecursoAv().getIdentificador().getCatalogo() != null && !relacionAgrega.getRecursoAv().getIdentificador().getCatalogo().equals("")) || (relacionAgrega.getRecursoAv() != null && relacionAgrega.getRecursoAv().getIdentificador() != null && relacionAgrega.getRecursoAv().getIdentificador().getEntrada() != null && !relacionAgrega.getRecursoAv().getIdentificador().getEntrada().equals(""))) { new_relaciones.add(relacionAgrega); } } if (cambioRelacion) { RelationAgrega[] aRelaciones = (RelationAgrega[]) new_relaciones .toArray(new RelationAgrega[new_relaciones.size()]); lomAgrega.setRelationsAgrega(aRelaciones); } /**********************Anotacion**********************/ logger.debug("Comprobando campos de la categora Anotacion"); ArrayList<AnnotationAgrega> anotacionesAgrega = lomAgrega.getAnnotationsAgrega(); ArrayList<AnnotationAgrega> new_anotaciones = new ArrayList<AnnotationAgrega>(); boolean cambioAnotacion = false; for (int j = 0; j < anotacionesAgrega.size(); j++) { AnnotationAgrega anotacionAgrega = anotacionesAgrega.get(j); FechaAgrega fecha = anotacionAgrega.getFechaAv(); if (fecha != null && fecha.getFecha() != null) { String sFecha = fecha.getFecha(); boolean correcta = this.comprobarFecha(sFecha); if (!correcta) { logger.debug("Valor erroneo de fecha: " + sFecha + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.fechaAnotacion")).append(sFecha) .append(SPLITTER); fecha.setFecha(null); anotacionAgrega.setFechaAv(fecha); haCambiado = true; cambioAnotacion = true; } if (fecha.getFecha() != null || (fecha.getDescripciones() != null && fecha.getDescripciones().size() > 0)) { new_anotaciones.add(anotacionAgrega); } } } if (cambioAnotacion) { AnnotationAgrega[] aAnotaciones = (AnnotationAgrega[]) new_anotaciones .toArray(new AnnotationAgrega[new_anotaciones.size()]); lomAgrega.setAnnotationsAgrega(aAnotaciones); } /**********************Clasificacion**********************/ logger.debug("Comprobando campos de la categora Clasificacion"); ArrayList<ClassificationAgrega> clasificacionesAgrega = lomAgrega.getClassificationsAgrega(); ArrayList<ClassificationAgrega> new_clasificaciones = new ArrayList<ClassificationAgrega>(); boolean cambioClasificacion = false; for (int j = 0; j < clasificacionesAgrega.size(); j++) { ClassificationAgrega clasificacionAgrega = clasificacionesAgrega.get(j); String proposito = clasificacionAgrega.getPropositoAv(); if (proposito != null && !aPropositoV.contains(proposito)) { // if(proposito !=null){ logger.debug("Valor erroneo de proposito: " + proposito + ". Borramos valor."); resultado.append(getPropertyValueI18n("vocabularios.texto.borrado")) .append(getPropertyValueI18n("vocabularios.proposito")).append(proposito) .append(SPLITTER); clasificacionAgrega.setPropostitoAv(null); haCambiado = true; cambioClasificacion = true; } if ((clasificacionAgrega.getPropositoAv() != null && !clasificacionAgrega.getPropositoAv().equals("")) || (clasificacionAgrega.getRutaTaxonomicasAv() != null && clasificacionAgrega.getRutaTaxonomicasAv().size() > 0) || (clasificacionAgrega.getPalabrasClaveAv() != null && clasificacionAgrega.getPalabrasClaveAv().size() > 0) || (clasificacionAgrega.getDescripcionesAv() != null && clasificacionAgrega.getDescripcionesAv().size() > 0)) { new_clasificaciones.add(clasificacionAgrega); } } if (cambioClasificacion) { ClassificationAgrega[] aClasificaciones = (ClassificationAgrega[]) new_clasificaciones .toArray(new ClassificationAgrega[new_clasificaciones.size()]); lomAgrega.setClassificationsAgrega(aClasificaciones); } //obtenemos la localizacin del lomes, por si estuviera referenciado por location Object elemento = manifestAgrega.obtenerElemento(idPadre); String location = null; if (elemento instanceof Manifest) { Manifest new_elemento = (Manifest) elemento; location = this.obtenLocation(new_elemento.getMetadata()); } else if (elemento instanceof Organization) { Organization new_elemento = (Organization) elemento; location = this.obtenLocation(new_elemento.getMetadata()); } else if (elemento instanceof Item) { Item new_elemento = (Item) elemento; location = this.obtenLocation(new_elemento.getMetadata()); } else if (elemento instanceof Resource) { Resource new_elemento = (Resource) elemento; location = this.obtenLocation(new_elemento.getMetadata()); } if (haCambiado)//si el lomes ha cambiado se inserta de nuevo el manifest o se sobreescribe //el fichero si estuviera referenciado mediante location manifestAgrega.setLom(idPadre, location, lomes); } return resultado.toString(); }
From source file:ffx.autoparm.PME_2.java
/** * <p>// w w w .j a v a2s . co m * polargrp</p> */ public static void polargrp() { int index; ArrayList<ArrayList<Integer>> temp_groups1 = new ArrayList<ArrayList<Integer>>(); ArrayList<ArrayList<Integer>> temp_groups2 = new ArrayList<ArrayList<Integer>>(); ArrayList<ArrayList<Integer>> temp_groups3 = new ArrayList<ArrayList<Integer>>(); ArrayList<ArrayList<Integer>> temp_groups4 = new ArrayList<ArrayList<Integer>>(); ArrayList<Integer> polarizationGroup = new ArrayList<Integer>(); ArrayList<Integer> list = new ArrayList<Integer>(); int nlist = 0; ArrayList<Integer> keep = new ArrayList<Integer>(); //int nkeep = 0; ArrayList<Integer> mask = new ArrayList<Integer>(); ArrayList<Integer> jg; ArrayList<Integer> ig; int kk; int jj; int start; int stop; boolean done; for (Atom ai : atoms) { ArrayList<Integer> group = new ArrayList<Integer>(); polarizationGroup.clear(); index = ai.getXYZIndex() - 1; group.add(index); //polarizationGroup.add(ai.getType()); PolarizeType polarizeType = ai.getPolarizeType(); if (polarizeType != null) { if (polarizeType.polarizationGroup != null) { for (int i : polarizeType.polarizationGroup) { if (!polarizationGroup.contains(i)) { polarizationGroup.add(i); } } } } for (Bond bi : ai.getBonds()) { Atom aj = bi.get1_2(ai); int tj = aj.getType(); for (int g : polarizationGroup) { if (g == tj) { Integer index2 = aj.getXYZIndex() - 1; group.add(index2); } } } Collections.sort(group); temp_groups1.add(group); } //Next part of ip11 creation for (int n = 0; n < nAtoms; n++) { list.add(n, -1); } for (int i = 0; i < nAtoms; i++) { ig = temp_groups1.get(i); done = false; start = 1; stop = ig.size(); for (int j = start - 1; j < stop; j++) { jj = ig.get(j); if (jj < i) { done = true; jg = temp_groups1.get(jj); for (int k = 0; k < jg.size(); k++) { if (k > ig.size() - 1) { for (int s = ig.size(); s < k + 1; s++) { ig.add(0); } ig.set(k, jg.get(k)); } else { ig.set(k, jg.get(k)); } } } else { list.set(jj, i); } } while (!done) { done = true; for (int j = start - 1; j < stop; j++) { jj = ig.get(j); jg = temp_groups1.get(jj); for (int k = 0; k < jg.size(); k++) { kk = jg.get(k); if (list.get(kk) != i) { ig.add(kk); list.set(kk, i); } } } if (ig.size() != stop) { done = false; start = stop + 1; stop = ig.size(); } } Collections.sort(ig); } //final part of ip11 array creation for (int n = 0; n < nAtoms; n++) { ArrayList<Integer> group = temp_groups1.get(n); Collections.sort(group); //System.out.println(group); ip11[n] = new int[group.size()]; int j = 0; for (int k : group) { ip11[n][j++] = k; } } //start ip12 creation for (int n = 0; n < nAtoms; n++) { mask.add(n, -1); } for (int i = 0; i < nAtoms; i++) { list.clear(); keep.clear(); ArrayList<Integer> group = new ArrayList<Integer>(); ig = temp_groups1.get(i); for (int j = 0; j < ig.size(); j++) { jj = ig.get(j); list.add(jj); mask.set(jj, i); } for (int j = 0; j < list.size(); j++) { jj = list.get(j); Atom ajj = atoms[jj]; for (int k = 0; k < ajj.getBonds().size(); k++) { kk = ajj.getBonds().get(k).get1_2(ajj).getXYZIndex() - 1; //System.out.println(mask.get(kk)+" "+i); if (mask.get(kk) != i) { keep.add(kk); } } } nlist = 0; list.clear(); for (int j = 0; j < keep.size(); j++) { jj = keep.get(j); jg = temp_groups1.get(jj); for (int k = 0; k < jg.size(); k++) { kk = jg.get(k); //System.out.println((j+1)+" "+(jj+1)+" "+(k+1)+" "+(kk+1)); nlist++; //list.set(nlist, kk); if (nlist - 1 < list.size()) { list.set(nlist - 1, kk); } else { list.add(kk); } } } Collections.sort(list); for (int j = 0; j < list.size(); j++) { group.add(j, list.get(j)); } temp_groups2.add(group); } //final part of ip12 array creation for (int n = 0; n < nAtoms; n++) { ArrayList<Integer> group = temp_groups2.get(n); Collections.sort(group); //System.out.println(group); ip12[n] = new int[group.size()]; int j = 0; for (int k : group) { ip12[n][j++] = k; } } //start ip13 creation mask.clear(); for (int n = 0; n < nAtoms; n++) { mask.add(n, -1); } for (int i = 0; i < nAtoms; i++) { list.clear(); ArrayList<Integer> group = new ArrayList<Integer>(); ig = temp_groups1.get(i); for (int j = 0; j < ig.size(); j++) { jj = ig.get(j); mask.set(jj, i); } ig = temp_groups2.get(i); for (int j = 0; j < ig.size(); j++) { jj = ig.get(j); mask.set(jj, i); } for (int j = 0; j < ig.size(); j++) { jj = ig.get(j); jg = temp_groups2.get(jj); for (int k = 0; k < jg.size(); k++) { kk = jg.get(k); if (mask.get(kk) != i) { list.add(kk); } } } Collections.sort(list); for (int j = 0; j < list.size(); j++) { group.add(j, list.get(j)); } temp_groups3.add(group); } //final part of ip13 array creation for (int n = 0; n < nAtoms; n++) { ArrayList<Integer> group = temp_groups3.get(n); Collections.sort(group); //System.out.println(group); ip13[n] = new int[group.size()]; int j = 0; for (int k : group) { ip13[n][j++] = k; } } //start ip14 creation mask.clear(); for (int n = 0; n < nAtoms; n++) { mask.add(n, -1); } for (int i = 0; i < nAtoms; i++) { list.clear(); ArrayList<Integer> group = new ArrayList<Integer>(); ig = temp_groups1.get(i); for (int j = 0; j < ig.size(); j++) { jj = ig.get(j); mask.set(jj, i); } ig = temp_groups2.get(i); for (int j = 0; j < ig.size(); j++) { jj = ig.get(j); mask.set(jj, i); } ig = temp_groups3.get(i); for (int j = 0; j < ig.size(); j++) { jj = ig.get(j); mask.set(jj, i); } for (int j = 0; j < ig.size(); j++) { jj = ig.get(j); jg = temp_groups2.get(jj); for (int k = 0; k < jg.size(); k++) { kk = jg.get(k); if (mask.get(kk) != i) { list.add(kk); } } } Collections.sort(list); for (int j = 0; j < list.size(); j++) { group.add(j, list.get(j)); } temp_groups4.add(group); } //final part of ip14 array creation for (int n = 0; n < nAtoms; n++) { ArrayList<Integer> group = temp_groups3.get(n); Collections.sort(group); //System.out.println(group); ip14[n] = new int[group.size()]; int j = 0; for (int k : group) { ip14[n][j++] = k; } } }
From source file:InternalFrame.InternalFrameproject.java
private void make_TXT_long_futro_futra(String BorE, PrintWriter fw, String cF, String dF, ArrayList<Observer[]> X) { ArrayList<String> hlavicka = new ArrayList<>(); ArrayList<Boolean> ISvariable = new ArrayList<>(); if (BorE == "B") { hlavicka = mate_TXT_long_futro_futra_hlavicka(BorE, hlavicka); }/*from w ww.ja v a2s .c o m*/ if (BorE == "E") { hlavicka = mate_TXT_long_futro_futra_hlavicka(BorE, hlavicka); } if (BorE == "I") { hlavicka = mate_TXT_long_futro_futra_hlavicka(BorE, hlavicka); } if (BorE == "Emod") { hlavicka = mate_TXT_long_futro_futra_hlavicka(BorE, hlavicka); } for (int cl1 = 0; cl1 < 19; cl1++) { // daj vade false a potom len nastav kde bude true ISvariable.add(false); } if (BorE == "B") { ISvariable.set(0, true); //X cor ISvariable.set(1, true); //Y cor ISvariable.set(2, true); //Z cor if (TxT_JFrame.getB_RMS1().isSelected() == true) { ISvariable.set(3, true); } if (TxT_JFrame.getB_COMPLEX().isSelected() == true) { ISvariable.set(4, true); ISvariable.set(5, true); } if (TxT_JFrame.getB_PHASOR().isSelected() == true) { ISvariable.set(6, true); } if (TxT_JFrame.getB_XYZ_RMS().isSelected() == true) { ISvariable.set(7, true); ISvariable.set(11, true); ISvariable.set(15, true); } if (TxT_JFrame.getB_XYZ_COMPLEX().isSelected() == true) { ISvariable.set(8, true); ISvariable.set(9, true); ISvariable.set(12, true); ISvariable.set(13, true); ISvariable.set(16, true); ISvariable.set(17, true); } if (TxT_JFrame.getB_XYZ_PHASOR().isSelected() == true) { ISvariable.set(10, true); ISvariable.set(14, true); ISvariable.set(18, true); } } if (BorE == "E") { ISvariable.set(0, true); //X cor ISvariable.set(1, true); //Y cor ISvariable.set(2, true); //Z cor if (TxT_JFrame.getE_RMS().isSelected() == true) { ISvariable.set(3, true); } if (TxT_JFrame.getE_COMPLEX().isSelected() == true) { ISvariable.set(4, true); ISvariable.set(5, true); } if (TxT_JFrame.getE_PHASOR().isSelected() == true) { ISvariable.set(6, true); } if (TxT_JFrame.getE_XYZ_RMS().isSelected() == true) { ISvariable.set(7, true); ISvariable.set(11, true); ISvariable.set(15, true); } if (TxT_JFrame.getE_XYZ_COMPLEX().isSelected() == true) { ISvariable.set(8, true); ISvariable.set(9, true); ISvariable.set(12, true); ISvariable.set(13, true); ISvariable.set(16, true); ISvariable.set(17, true); } if (TxT_JFrame.getE_XYZ_PHASOR().isSelected() == true) { ISvariable.set(10, true); ISvariable.set(14, true); ISvariable.set(18, true); } } if (BorE == "I") { ISvariable.set(0, true); //X cor ISvariable.set(1, true); //Y cor ISvariable.set(2, true); //Z cor if (TxT_JFrame.getI_RMS().isSelected() == true) { ISvariable.set(3, true); } if (TxT_JFrame.getI_COMPLEX().isSelected() == true) { ISvariable.set(4, true); ISvariable.set(5, true); } if (TxT_JFrame.getI_PHASOR().isSelected() == true) { ISvariable.set(6, true); } if (TxT_JFrame.getI_XYZ_RMS().isSelected() == true) { ISvariable.set(7, true); ISvariable.set(11, true); ISvariable.set(15, true); } if (TxT_JFrame.getI_XYZ_COMPLEX().isSelected() == true) { ISvariable.set(8, true); ISvariable.set(9, true); ISvariable.set(12, true); ISvariable.set(13, true); ISvariable.set(16, true); ISvariable.set(17, true); } if (TxT_JFrame.getI_XYZ_PHASOR().isSelected() == true) { ISvariable.set(10, true); ISvariable.set(14, true); ISvariable.set(18, true); } } if (BorE == "Emod") { ISvariable.set(0, true); //X cor ISvariable.set(1, true); //Y cor ISvariable.set(2, true); //Z cor if (TxT_JFrame.getEmod_RMS().isSelected() == true) { ISvariable.set(3, true); } if (TxT_JFrame.getEmod_COMPLEX().isSelected() == true) { ISvariable.set(4, true); ISvariable.set(5, true); } if (TxT_JFrame.getEmod_PHASOR().isSelected() == true) { ISvariable.set(6, true); } if (TxT_JFrame.getEmod_XYZ_RMS().isSelected() == true) { ISvariable.set(7, true); ISvariable.set(11, true); ISvariable.set(15, true); } if (TxT_JFrame.getEmod_XYZ_COMPLEX().isSelected() == true) { ISvariable.set(8, true); ISvariable.set(9, true); ISvariable.set(12, true); ISvariable.set(13, true); ISvariable.set(16, true); ISvariable.set(17, true); } if (TxT_JFrame.getEmod_XYZ_PHASOR().isSelected() == true) { ISvariable.set(10, true); ISvariable.set(14, true); ISvariable.set(18, true); } } String head = ""; for (int cl1 = 0; cl1 < ISvariable.size(); cl1++) { //poskladaj hlavi?ku if (ISvariable.get(cl1) == true) { head = head + hlavicka.get(cl1) + " "; } } fw.println(head); for (int cl1 = 0; cl1 < X.size(); cl1++) { for (int cl2 = 0; cl2 < X.get(cl1).length; cl2++) { head = ""; if (ISvariable.get(0) == true) { head = head + String.format(cF, X.get(cl1)[cl2].getPoloha().getX()) + " "; } if (ISvariable.get(1) == true) { head = head + String.format(cF, X.get(cl1)[cl2].getPoloha().getY()) + " "; } if (ISvariable.get(2) == true) { head = head + String.format(cF, X.get(cl1)[cl2].getPoloha().getZ()) + " "; } if (BorE == "B") { if (ISvariable.get(3) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getComplex_rms_ABS()) + " "; } if (ISvariable.get(4) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getComplex_rms().getReal()) + " "; } if (ISvariable.get(5) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getComplex_rms().getImaginary()) + " "; } if (ISvariable.get(6) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getComplex_rms_Angle()) + " "; } if (ISvariable.get(7) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getX_ABS()) + " "; } if (ISvariable.get(8) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getX_Real()) + " "; } if (ISvariable.get(9) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getX_Imaginary()) + " "; } if (ISvariable.get(10) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getX_Angle()) + " "; } if (ISvariable.get(11) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getY_ABS()) + " "; } if (ISvariable.get(12) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getY_Real()) + " "; } if (ISvariable.get(13) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getY_Imaginary()) + " "; } if (ISvariable.get(14) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getY_Angle()) + " "; } if (ISvariable.get(15) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getZ_ABS()) + " "; } if (ISvariable.get(16) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getZ_Real()) + " "; } if (ISvariable.get(17) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getZ_Imaginary()) + " "; } if (ISvariable.get(18) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getZ_Angle()) + " "; } } if (BorE == "E") { if (ISvariable.get(3) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getComplex_rms_ABS()) + " "; } if (ISvariable.get(4) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getComplex_rms().getReal()) + " "; } if (ISvariable.get(5) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getComplex_rms().getImaginary()) + " "; } if (ISvariable.get(6) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getComplex_rms_Angle()) + " "; } if (ISvariable.get(7) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getX_ABS()) + " "; } if (ISvariable.get(8) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getX_Real()) + " "; } if (ISvariable.get(9) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getX_Imaginary()) + " "; } if (ISvariable.get(10) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getX_Angle()) + " "; } if (ISvariable.get(11) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getY_ABS()) + " "; } if (ISvariable.get(12) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getY_Real()) + " "; } if (ISvariable.get(13) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getY_Imaginary()) + " "; } if (ISvariable.get(14) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getY_Angle()) + " "; } if (ISvariable.get(15) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getZ_ABS()) + " "; } if (ISvariable.get(16) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getZ_Real()) + " "; } if (ISvariable.get(17) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getZ_Imaginary()) + " "; } if (ISvariable.get(18) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getZ_Angle()) + " "; } } if (BorE == "I") { if (ISvariable.get(3) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getComplex_rms_ABS()) + " "; } if (ISvariable.get(4) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getComplex_rms().getReal()) + " "; } if (ISvariable.get(5) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getComplex_rms().getImaginary()) + " "; } if (ISvariable.get(6) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getComplex_rms_Angle()) + " "; } if (ISvariable.get(7) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getX_ABS()) + " "; } if (ISvariable.get(8) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getX_Real()) + " "; } if (ISvariable.get(9) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getX_Imaginary()) + " "; } if (ISvariable.get(10) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getX_Angle()) + " "; } if (ISvariable.get(11) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getY_ABS()) + " "; } if (ISvariable.get(12) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getY_Real()) + " "; } if (ISvariable.get(13) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getY_Imaginary()) + " "; } if (ISvariable.get(14) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getY_Angle()) + " "; } if (ISvariable.get(15) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getZ_ABS()) + " "; } if (ISvariable.get(16) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getZ_Real()) + " "; } if (ISvariable.get(17) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getZ_Imaginary()) + " "; } if (ISvariable.get(18) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getZ_Angle()) + " "; } } if (BorE == "Emod") { if (ISvariable.get(3) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getComplex_rms_ABS()) + " "; } if (ISvariable.get(4) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getComplex_rms().getReal()) + " "; } if (ISvariable.get(5) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getComplex_rms().getImaginary()) + " "; } if (ISvariable.get(6) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getComplex_rms_Angle()) + " "; } if (ISvariable.get(7) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getX_ABS()) + " "; } if (ISvariable.get(8) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getX_Real()) + " "; } if (ISvariable.get(9) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getX_Imaginary()) + " "; } if (ISvariable.get(10) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getX_Angle()) + " "; } if (ISvariable.get(11) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getY_ABS()) + " "; } if (ISvariable.get(12) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getY_Real()) + " "; } if (ISvariable.get(13) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getY_Imaginary()) + " "; } if (ISvariable.get(14) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getY_Angle()) + " "; } if (ISvariable.get(15) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getZ_ABS()) + " "; } if (ISvariable.get(16) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getZ_Real()) + " "; } if (ISvariable.get(17) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getZ_Imaginary()) + " "; } if (ISvariable.get(18) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getZ_Angle()) + " "; } } fw.println(head); } } }
From source file:InternalFrame.InternalFrameproject.java
private void make_TXT_long_futro_futraParameter(String BorE, String Parameter, PrintWriter fw, String cF, String dF, ArrayList<Observer[]> X) { ArrayList<String> hlavicka = new ArrayList<>(); ArrayList<Boolean> ISvariable = new ArrayList<>(); if (BorE == "B") { hlavicka = mate_TXT_long_futro_futra_hlavickaParmeter(BorE, Parameter, hlavicka); }/*from ww w . jav a 2 s .com*/ if (BorE == "E") { hlavicka = mate_TXT_long_futro_futra_hlavickaParmeter(BorE, Parameter, hlavicka); } if (BorE == "I") { hlavicka = mate_TXT_long_futro_futra_hlavickaParmeter(BorE, Parameter, hlavicka); } if (BorE == "Emod") { hlavicka = mate_TXT_long_futro_futra_hlavickaParmeter(BorE, Parameter, hlavicka); } for (int cl1 = 0; cl1 < 20; cl1++) { // daj vade false a potom len nastav kde bude true ISvariable.add(false); } if (BorE == "B") { ISvariable.set(0, true); //X cor ISvariable.set(1, true); //Y cor ISvariable.set(2, true); //Z cor if (TxT_JFrame.getB_RMS1().isSelected() == true) { ISvariable.set(3, true); } if (TxT_JFrame.getB_COMPLEX().isSelected() == true) { ISvariable.set(4, true); ISvariable.set(5, true); } if (TxT_JFrame.getB_PHASOR().isSelected() == true) { ISvariable.set(6, true); } if (TxT_JFrame.getB_XYZ_RMS().isSelected() == true) { ISvariable.set(7, true); ISvariable.set(11, true); ISvariable.set(15, true); } if (TxT_JFrame.getB_XYZ_COMPLEX().isSelected() == true) { ISvariable.set(8, true); ISvariable.set(9, true); ISvariable.set(12, true); ISvariable.set(13, true); ISvariable.set(16, true); ISvariable.set(17, true); } if (TxT_JFrame.getB_XYZ_PHASOR().isSelected() == true) { ISvariable.set(10, true); ISvariable.set(14, true); ISvariable.set(18, true); } ISvariable.set(19, true); //parameter } if (BorE == "E") { ISvariable.set(0, true); //X cor ISvariable.set(1, true); //Y cor ISvariable.set(2, true); //Z cor if (TxT_JFrame.getE_RMS().isSelected() == true) { ISvariable.set(3, true); } if (TxT_JFrame.getE_COMPLEX().isSelected() == true) { ISvariable.set(4, true); ISvariable.set(5, true); } if (TxT_JFrame.getE_PHASOR().isSelected() == true) { ISvariable.set(6, true); } if (TxT_JFrame.getE_XYZ_RMS().isSelected() == true) { ISvariable.set(7, true); ISvariable.set(11, true); ISvariable.set(15, true); } if (TxT_JFrame.getE_XYZ_COMPLEX().isSelected() == true) { ISvariable.set(8, true); ISvariable.set(9, true); ISvariable.set(12, true); ISvariable.set(13, true); ISvariable.set(16, true); ISvariable.set(17, true); } if (TxT_JFrame.getE_XYZ_PHASOR().isSelected() == true) { ISvariable.set(10, true); ISvariable.set(14, true); ISvariable.set(18, true); } ISvariable.set(19, true); //parameter } if (BorE == "I") { ISvariable.set(0, true); //X cor ISvariable.set(1, true); //Y cor ISvariable.set(2, true); //Z cor if (TxT_JFrame.getI_RMS().isSelected() == true) { ISvariable.set(3, true); } if (TxT_JFrame.getI_COMPLEX().isSelected() == true) { ISvariable.set(4, true); ISvariable.set(5, true); } if (TxT_JFrame.getI_PHASOR().isSelected() == true) { ISvariable.set(6, true); } if (TxT_JFrame.getI_XYZ_RMS().isSelected() == true) { ISvariable.set(7, true); ISvariable.set(11, true); ISvariable.set(15, true); } if (TxT_JFrame.getI_XYZ_COMPLEX().isSelected() == true) { ISvariable.set(8, true); ISvariable.set(9, true); ISvariable.set(12, true); ISvariable.set(13, true); ISvariable.set(16, true); ISvariable.set(17, true); } if (TxT_JFrame.getI_XYZ_PHASOR().isSelected() == true) { ISvariable.set(10, true); ISvariable.set(14, true); ISvariable.set(18, true); } ISvariable.set(19, true); //parameter } if (BorE == "Emod") { ISvariable.set(0, true); //X cor ISvariable.set(1, true); //Y cor ISvariable.set(2, true); //Z cor if (TxT_JFrame.getEmod_RMS().isSelected() == true) { ISvariable.set(3, true); } if (TxT_JFrame.getEmod_COMPLEX().isSelected() == true) { ISvariable.set(4, true); ISvariable.set(5, true); } if (TxT_JFrame.getEmod_PHASOR().isSelected() == true) { ISvariable.set(6, true); } if (TxT_JFrame.getEmod_XYZ_RMS().isSelected() == true) { ISvariable.set(7, true); ISvariable.set(11, true); ISvariable.set(15, true); } if (TxT_JFrame.getEmod_XYZ_COMPLEX().isSelected() == true) { ISvariable.set(8, true); ISvariable.set(9, true); ISvariable.set(12, true); ISvariable.set(13, true); ISvariable.set(16, true); ISvariable.set(17, true); } if (TxT_JFrame.getEmod_XYZ_PHASOR().isSelected() == true) { ISvariable.set(10, true); ISvariable.set(14, true); ISvariable.set(18, true); } ISvariable.set(19, true); //parameter } String head = ""; for (int cl1 = 0; cl1 < ISvariable.size(); cl1++) { //poskladaj hlavi?ku if (ISvariable.get(cl1) == true) { head = head + hlavicka.get(cl1) + " "; } } fw.println(head); for (int cl1 = 0; cl1 < X.size(); cl1++) { for (int cl2 = 0; cl2 < X.get(cl1).length; cl2++) { head = ""; if (ISvariable.get(0) == true) { head = head + String.format(cF, X.get(cl1)[cl2].getPoloha().getX()) + " "; } if (ISvariable.get(1) == true) { head = head + String.format(cF, X.get(cl1)[cl2].getPoloha().getY()) + " "; } if (ISvariable.get(2) == true) { head = head + String.format(cF, X.get(cl1)[cl2].getPoloha().getZ()) + " "; } if (BorE == "B") { if (ISvariable.get(3) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getComplex_rms_ABS()) + " "; } if (ISvariable.get(4) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getComplex_rms().getReal()) + " "; } if (ISvariable.get(5) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getComplex_rms().getImaginary()) + " "; } if (ISvariable.get(6) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getComplex_rms_Angle()) + " "; } if (ISvariable.get(7) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getX_ABS()) + " "; } if (ISvariable.get(8) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getX_Real()) + " "; } if (ISvariable.get(9) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getX_Imaginary()) + " "; } if (ISvariable.get(10) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getX_Angle()) + " "; } if (ISvariable.get(11) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getY_ABS()) + " "; } if (ISvariable.get(12) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getY_Real()) + " "; } if (ISvariable.get(13) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getY_Imaginary()) + " "; } if (ISvariable.get(14) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getY_Angle()) + " "; } if (ISvariable.get(15) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getZ_ABS()) + " "; } if (ISvariable.get(16) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getZ_Real()) + " "; } if (ISvariable.get(17) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getZ_Imaginary()) + " "; } if (ISvariable.get(18) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getB().getZ_Angle()) + " "; } if (ISvariable.get(19) == true) ; head = head + String.format(dF, X.get(cl1)[cl2].getParameter()) + " "; } if (BorE == "E") { if (ISvariable.get(3) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getComplex_rms_ABS()) + " "; } if (ISvariable.get(4) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getComplex_rms().getReal()) + " "; } if (ISvariable.get(5) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getComplex_rms().getImaginary()) + " "; } if (ISvariable.get(6) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getComplex_rms_Angle()) + " "; } if (ISvariable.get(7) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getX_ABS()) + " "; } if (ISvariable.get(8) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getX_Real()) + " "; } if (ISvariable.get(9) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getX_Imaginary()) + " "; } if (ISvariable.get(10) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getX_Angle()) + " "; } if (ISvariable.get(11) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getY_ABS()) + " "; } if (ISvariable.get(12) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getY_Real()) + " "; } if (ISvariable.get(13) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getY_Imaginary()) + " "; } if (ISvariable.get(14) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getY_Angle()) + " "; } if (ISvariable.get(15) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getZ_ABS()) + " "; } if (ISvariable.get(16) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getZ_Real()) + " "; } if (ISvariable.get(17) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getZ_Imaginary()) + " "; } if (ISvariable.get(18) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getE().getZ_Angle()) + " "; } if (ISvariable.get(19) == true) ; head = head + String.format(dF, X.get(cl1)[cl2].getParameter()) + " "; } if (BorE == "I") { if (ISvariable.get(3) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getComplex_rms_ABS()) + " "; } if (ISvariable.get(4) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getComplex_rms().getReal()) + " "; } if (ISvariable.get(5) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getComplex_rms().getImaginary()) + " "; } if (ISvariable.get(6) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getComplex_rms_Angle()) + " "; } if (ISvariable.get(7) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getX_ABS()) + " "; } if (ISvariable.get(8) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getX_Real()) + " "; } if (ISvariable.get(9) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getX_Imaginary()) + " "; } if (ISvariable.get(10) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getX_Angle()) + " "; } if (ISvariable.get(11) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getY_ABS()) + " "; } if (ISvariable.get(12) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getY_Real()) + " "; } if (ISvariable.get(13) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getY_Imaginary()) + " "; } if (ISvariable.get(14) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getY_Angle()) + " "; } if (ISvariable.get(15) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getZ_ABS()) + " "; } if (ISvariable.get(16) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getZ_Real()) + " "; } if (ISvariable.get(17) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getZ_Imaginary()) + " "; } if (ISvariable.get(18) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getI().getZ_Angle()) + " "; } if (ISvariable.get(19) == true) ; head = head + String.format(dF, X.get(cl1)[cl2].getParameter()) + " "; } if (BorE == "Emod") { if (ISvariable.get(3) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getComplex_rms_ABS()) + " "; } if (ISvariable.get(4) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getComplex_rms().getReal()) + " "; } if (ISvariable.get(5) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getComplex_rms().getImaginary()) + " "; } if (ISvariable.get(6) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getComplex_rms_Angle()) + " "; } if (ISvariable.get(7) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getX_ABS()) + " "; } if (ISvariable.get(8) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getX_Real()) + " "; } if (ISvariable.get(9) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getX_Imaginary()) + " "; } if (ISvariable.get(10) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getX_Angle()) + " "; } if (ISvariable.get(11) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getY_ABS()) + " "; } if (ISvariable.get(12) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getY_Real()) + " "; } if (ISvariable.get(13) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getY_Imaginary()) + " "; } if (ISvariable.get(14) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getY_Angle()) + " "; } if (ISvariable.get(15) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getZ_ABS()) + " "; } if (ISvariable.get(16) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getZ_Real()) + " "; } if (ISvariable.get(17) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getZ_Imaginary()) + " "; } if (ISvariable.get(18) == true) { head = head + String.format(dF, X.get(cl1)[cl2].getEmod().getZ_Angle()) + " "; } if (ISvariable.get(19) == true) ; head = head + String.format(dF, X.get(cl1)[cl2].getParameter()) + " "; } fw.println(head); } } }
From source file:com.lp.webapp.zemecs.CommandZE.java
public synchronized String execute(HttpServletRequest request, HttpServletResponse response) throws Exception { super.execute(request, response); if (request.getCookies() != null) { for (int i = 0; i < request.getCookies().length; i++) { Cookie cookie = request.getCookies()[i]; cookie.setMaxAge(10000000);//w ww .ja v a 2 s . co m response.addCookie(cookie); } } String mandant = request.getParameter("mandant"); Locale localeLogon = getMandantFac().getLocaleDesHauptmandanten(); String locale = request.getParameter("locale"); String localeCookie = getCookieValue("locale", request); if (localeCookie != null && localeCookie.length() > 3) { locale = localeCookie; } if (locale != null && locale.length() > 3) { localeLogon = new Locale(locale.substring(0, 2), locale.substring(2, 4)); } TheClientDto theclientDto = null; synchronized (mutex) { theclientDto = getLogonFac().logon(Helper.getFullUsername(sUser), Helper.getMD5Hash((sUser + new String("lpwebappzemecs")).toCharArray()), localeLogon, null, null, new Timestamp(System.currentTimeMillis())); if (mandant != null && mandant.length() > 0) { theclientDto = getLogonFac().logon(Helper.getFullUsername(sUser), Helper.getMD5Hash((sUser + "lpwebappzemecs").toCharArray()), localeLogon, mandant, theclientDto, new Timestamp(System.currentTimeMillis())); } else { BenutzerDto benutzerDto = getBenutzerFac().benutzerFindByCBenutzerkennung("lpwebappzemecs", new String(Helper.getMD5Hash("lpwebappzemecs" + "lpwebappzemecs"))); mandant = benutzerDto.getMandantCNrDefault(); } } getTheClient(request, response).setTheClientDto(theclientDto); if (command.equals(TheApp.CMD_ZE_BDESTATION)) { String ausweis = request.getParameter("ausweis"); getTheClient(request, response).setSMsg(""); if (ausweis != null && ausweis.length() > 1) { // Personal suchen PersonalDto personalDto = getPersonalFac().personalFindByCAusweis(ausweis.substring(2)); if (personalDto != null) { personalDto.setPartnerDto( getPartnerFac().partnerFindByPrimaryKey(personalDto.getPartnerIId(), theclientDto)); HashMap<String, Serializable> hmParameter = new HashMap<String, Serializable>(); ZeitdatenDto zeitdatenDto = new ZeitdatenDto(); zeitdatenDto.setCWowurdegebucht("BDE-Station " + request.getRemoteHost()); zeitdatenDto.setPersonalIId(personalDto.getIId()); hmParameter.put("zeitdaten", zeitdatenDto); hmParameter.put("person", personalDto.getPartnerDto().formatFixTitelName1Name2()); getTheClient(request, response).setData(hmParameter); setSJSPNext("bdestation2.jsp"); return getSJSPNext(); } else { getTheClient(request, response) .setSMsg("Ausweis " + ausweis + " bei diesem Mandanten nicht gefunden! "); } } else { getTheClient(request, response).setSMsg(""); } } if (command.equals(TheApp.CMD_ZE_BDESTATION2)) { HashMap<String, Serializable> hmParameter = (HashMap<String, Serializable>) getTheClient(request, response).getData(); ZeitdatenDto zeitdatenDto = (ZeitdatenDto) hmParameter.get("zeitdaten"); zeitdatenDto.setTZeit(new Timestamp(System.currentTimeMillis())); String option = request.getParameter("option"); getTheClient(request, response).setSMsg(""); ParametermandantDto parameterBdeMitTaetigkeitDto = getParameterFac().getMandantparameter(mandant, ParameterFac.KATEGORIE_PERSONAL, ParameterFac.PARAMETER_BDE_MIT_TAETIGKEIT); Boolean bBdeMitTaetigkeit = (Boolean) parameterBdeMitTaetigkeitDto.getCWertAsObject(); com.lp.server.artikel.service.ArtikelDto artikelDtoDefaultArbeiztszeit = null; if (bBdeMitTaetigkeit == false) { ParametermandantDto parameterDtoDefaultarbeitszeit = getParameterFac().getMandantparameter(mandant, ParameterFac.KATEGORIE_ALLGEMEIN, ParameterFac.PARAMETER_DEFAULT_ARBEITSZEITARTIKEL); if (parameterDtoDefaultarbeitszeit != null && parameterDtoDefaultarbeitszeit.getCWert() != null && !parameterDtoDefaultarbeitszeit.getCWert().trim().equals("")) { try { artikelDtoDefaultArbeiztszeit = getArtikelFac() .artikelFindByCNr(parameterDtoDefaultarbeitszeit.getCWert(), theclientDto); zeitdatenDto.setArtikelIId(artikelDtoDefaultArbeiztszeit.getIId()); } catch (RemoteException ex2) { myLogger.error("Default-Arbeitszeitartikel " + parameterDtoDefaultarbeitszeit.getCWert() + " nicht vorhanden.", ex2); setSJSPNext("bdestation.jsp"); return getSJSPNext(); } } else { myLogger.error("Default-Arbeitszeitartikel " + parameterDtoDefaultarbeitszeit.getCWert() + " nicht definiert."); setSJSPNext("bdestation.jsp"); return getSJSPNext(); } } if (option != null && option.length() > 2) { // Auftrag if (option.substring(0, 2).equals("$A") || option.substring(0, 3).equals("$EA")) { try { ParametermandantDto parameterDto = getParameterFac().getMandantparameter(mandant, ParameterFac.KATEGORIE_ALLGEMEIN, ParameterFac.PARAMETER_BELEGNUMMERNFORMAT_STELLEN_GESCHAEFTSJAHR); if (parameterDto != null) { if (parameterDto.getCWert() != null && parameterDto.getCWert().equals("4")) { if (option.charAt(4) == 47) { option = "$A" + Helper.konvertiereDatum2StelligAuf4Stellig(option.substring(2, 4)) + option.substring(4); } } } AuftragDto auftragDto = null; if (option.substring(0, 2).equals("$A")) { auftragDto = getAuftragFac().auftragFindByMandantCNrCNr(mandant, option.substring(2), theclientDto); } else { auftragDto = getAuftragFac().auftragFindByMandantCNrCNr(mandant, option.substring(3), theclientDto); } AuftragpositionDto[] auftragpositionDtos = getAuftragpositionFac() .auftragpositionFindByAuftrag(auftragDto.getIId()); if (auftragDto.getAuftragstatusCNr() .equals(com.lp.server.auftrag.service.AuftragServiceFac.AUFTRAGSTATUS_ERLEDIGT)) { setSJSPNext("bdestation.jsp"); getTheClient(request, response).setSMsg("Auf Auftrag " + option.substring(2) + " mit Status " + auftragDto.getAuftragstatusCNr().trim() + " darf nicht gebucht werden! "); return getSJSPNext(); } else { if (auftragpositionDtos != null && auftragpositionDtos.length > 0) { zeitdatenDto.setIBelegartpositionid(auftragpositionDtos[0].getIId()); zeitdatenDto.setIBelegartid(auftragpositionDtos[0].getBelegIId()); zeitdatenDto.setCBelegartnr(LocaleFac.BELEGART_AUFTRAG); hmParameter.put("beleg", "A" + option.substring(2)); MaschineDto maschineDto = new MaschineDto(); maschineDto.setCBez(""); hmParameter.put("maschine", maschineDto); if (option.substring(0, 2).equals("$A")) { if (bBdeMitTaetigkeit == false) { setSJSPNext("bdestation.jsp"); getTheClient(request, response).setSMsg( getMeldungGebuchtFuerBDE(getTheClient(request, response).getData(), artikelDtoDefaultArbeiztszeit.getCNr(), theclientDto)); getZeiterfassungsFac().createZeitdaten(zeitdatenDto, true, true, false, theclientDto); return getSJSPNext(); } else { setSJSPNext("bdestation4.jsp"); } } else { hmParameter.put("beleg", "A" + option.substring(3)); setSJSPNext("bdestation3gutschlecht.jsp"); } return getSJSPNext(); } else { getTheClient(request, response) .setSMsg("Auftrag " + option.substring(2) + " hat keine Positionen! "); setSJSPNext("bdestation.jsp"); return getSJSPNext(); } } } catch (EJBExceptionLP ex) { getTheClient(request, response).setSMsg( "Auftrag '" + option.substring(2) + "' bei diesem Mandanten nicht gefunden! "); setSJSPNext("bdestation.jsp"); return getSJSPNext(); } } // Los else if (option.substring(0, 2).equals("$L") || option.substring(0, 3).equals("$EL")) { try { ParametermandantDto parameterDto = getParameterFac().getMandantparameter(mandant, ParameterFac.KATEGORIE_ALLGEMEIN, ParameterFac.PARAMETER_BELEGNUMMERNFORMAT_STELLEN_GESCHAEFTSJAHR); if (parameterDto != null) { if (parameterDto.getCWert() != null && parameterDto.getCWert().equals("4")) { if (option.charAt(4) == 47) { option = "$L" + Helper.konvertiereDatum2StelligAuf4Stellig(option.substring(2, 4)) + option.substring(4); } } } com.lp.server.fertigung.service.LosDto losDto = null; if (option.substring(0, 2).equals("$L")) { losDto = getFertigungFac().losFindByCNrMandantCNr(option.substring(2), mandant); } else { losDto = getFertigungFac().losFindByCNrMandantCNr(option.substring(3), mandant); } // WH 18-01-2006: Los benoetigt keine Positionen if (losDto.getStatusCNr() .equals(com.lp.server.fertigung.service.FertigungFac.STATUS_ANGELEGT) || losDto.getStatusCNr() .equals(com.lp.server.fertigung.service.FertigungFac.STATUS_AUSGEGEBEN) || losDto.getStatusCNr() .equals(com.lp.server.fertigung.service.FertigungFac.STATUS_GESTOPPT) || losDto.getStatusCNr() .equals(com.lp.server.fertigung.service.FertigungFac.STATUS_ERLEDIGT) || losDto.getStatusCNr() .equals(com.lp.server.fertigung.service.FertigungFac.STATUS_STORNIERT)) { getTheClient(request, response) .setSMsg("Auf Los " + option.substring(2) + " mit Status " + losDto.getStatusCNr().trim() + " darf nicht gebucht werden! "); setSJSPNext("bdestation.jsp"); return getSJSPNext(); } else { zeitdatenDto.setIBelegartid(losDto.getIId()); zeitdatenDto.setCBelegartnr(LocaleFac.BELEGART_LOS); if (option.substring(0, 2).equals("$L")) { hmParameter.put("beleg", "L" + option.substring(2)); if (bBdeMitTaetigkeit == false) { setSJSPNext("bdestation.jsp"); getTheClient(request, response).setSMsg( getMeldungGebuchtFuerBDE(getTheClient(request, response).getData(), artikelDtoDefaultArbeiztszeit.getCNr(), theclientDto)); getZeiterfassungsFac().createZeitdaten(zeitdatenDto, true, true, true, theclientDto); return getSJSPNext(); } else { setSJSPNext("bdestation3.jsp"); } } else { hmParameter.put("beleg", "L" + option.substring(3)); setSJSPNext("bdestation3gutschlecht.jsp"); } return getSJSPNext(); } } catch (EJBExceptionLP ex) { getTheClient(request, response) .setSMsg("Los '" + option.substring(2) + "' bei diesem Mandanten nicht gefunden! "); setSJSPNext("bdestation.jsp"); return getSJSPNext(); } } // Kombi-Code else if (option.length() > 1 && option.substring(0, 2).equals("$V")) { setSJSPNext("bdestation.jsp"); if (option.length() < 12) { getTheClient(request, response).setSMsg("Kombicode muss 10-Stellig sein "); return getSJSPNext(); } try { ParametermandantDto parameter = getParameterFac().getMandantparameter( theclientDto.getMandant(), ParameterFac.KATEGORIE_FERTIGUNG, ParameterFac.PARAMETER_LOSNUMMER_AUFTRAGSBEZOGEN); int iVerlaengerungLosnummer = 0; if ((Integer) parameter.getCWertAsObject() >= 1) { iVerlaengerungLosnummer = 2; } com.lp.server.fertigung.service.LosDto losDto = getFertigungFac() .losFindByCNrMandantCNr(option.substring(2, 12 + iVerlaengerungLosnummer), mandant); // WH 18-01-2006: Los benoetigt keine Positionen if (losDto.getStatusCNr() .equals(com.lp.server.fertigung.service.FertigungFac.STATUS_ANGELEGT) || losDto.getStatusCNr() .equals(com.lp.server.fertigung.service.FertigungFac.STATUS_AUSGEGEBEN) || losDto.getStatusCNr() .equals(com.lp.server.fertigung.service.FertigungFac.STATUS_GESTOPPT) || losDto.getStatusCNr() .equals(com.lp.server.fertigung.service.FertigungFac.STATUS_ERLEDIGT) || losDto.getStatusCNr() .equals(com.lp.server.fertigung.service.FertigungFac.STATUS_STORNIERT)) { getTheClient(request, response) .setSMsg("Auf Los " + option.substring(2) + " mit Status " + losDto.getStatusCNr().trim() + " darf nicht gebucht werden! "); } else { zeitdatenDto.setIBelegartid(losDto.getIId()); zeitdatenDto.setCBelegartnr(LocaleFac.BELEGART_LOS); String maschine = option.substring(12 + iVerlaengerungLosnummer, 14 + iVerlaengerungLosnummer); String taetigkeit = option.substring(14 + iVerlaengerungLosnummer); MaschineDto maschineDto = new MaschineDto(); maschineDto.setCBez(maschine); hmParameter.put("maschine", maschineDto); hmParameter.put("beleg", "L" + option.substring(2, 12 + iVerlaengerungLosnummer)); com.lp.server.artikel.service.ArtikelDto artikelDto = null; try { artikelDto = getArtikelFac().artikelFindByCNr(taetigkeit, theclientDto); zeitdatenDto.setArtikelIId( getArtikelFac().artikelFindByCNr(taetigkeit, theclientDto).getIId()); } catch (RemoteException ex2) { getTheClient(request, response) .setSMsg("T\u00E4tigkeit '" + taetigkeit + "' nicht gefunden! "); return getSJSPNext(); } com.lp.server.fertigung.service.LossollarbeitsplanDto[] dtos = getFertigungFac() .lossollarbeitsplanFindByLosIIdArtikelIIdTaetigkeit(losDto.getIId(), artikelDto.getIId()); if (dtos != null && dtos.length > 0) { if (!maschine.trim().equals("") && !maschine.equals("--")) { try { Integer maschineIId = getZeiterfassungsFac() .maschineFindByCIdentifikationsnr(maschine).getIId(); com.lp.server.fertigung.service.LossollarbeitsplanDto[] sollaDtos = getFertigungFac() .lossollarbeitsplanFindByLosIIdArtikelIIdTaetigkeit( zeitdatenDto.getIBelegartid(), zeitdatenDto.getArtikelIId()); if (sollaDtos != null && sollaDtos.length > 0) { MaschinenzeitdatenDto maschinenzeitdatenDto = new MaschinenzeitdatenDto(); maschinenzeitdatenDto.setLossollarbeitsplanIId(sollaDtos[0].getIId()); maschinenzeitdatenDto.setMaschineIId(maschineIId); maschinenzeitdatenDto .setPersonalIIdGestartet(zeitdatenDto.getPersonalIId()); maschinenzeitdatenDto.setTVon(zeitdatenDto.getTZeit()); getZeiterfassungsFac().createMaschinenzeitdaten(maschinenzeitdatenDto, theclientDto); } } catch (RemoteException ex2) { getTheClient(request, response) .setSMsg("Maschine '" + maschine + "' nicht gefunden! "); return getSJSPNext(); } } // PJ 15388 if (maschine.equals("--")) { hmParameter.put("fertig", ""); if (dtos != null && dtos.length > 0) { LossollarbeitsplanDto dto = dtos[0]; dto.setBFertig(Helper.boolean2Short(true)); try { getFertigungFac().updateLossollarbeitsplan(dto, theclientDto); getTheClient(request, response).setSMsg(getMeldungGebuchtFuerBDE( getTheClient(request, response).getData(), taetigkeit.substring(2), theclientDto)); return getSJSPNext(); } catch (EJBExceptionLP ex2) { getTheClient(request, response).setSMsg("Fehler beim Buchen!"); return getSJSPNext(); } } else { getTheClient(request, response).setSMsg("Das Los " + option.substring(2, 12 + iVerlaengerungLosnummer) + " hat keinen entsprechen Arbeitsgang mit der Artikelnummer " + taetigkeit.substring(2)); return getSJSPNext(); } } zeitdatenDto.setIBelegartpositionid(dtos[0].getIId()); } else { com.lp.server.fertigung.service.LossollarbeitsplanDto[] dtosErstePosition = getFertigungFac() .lossollarbeitsplanFindByLosIId(losDto.getIId()); if (dtosErstePosition != null && dtosErstePosition.length > 0) { zeitdatenDto.setIBelegartpositionid(dtosErstePosition[0].getIId()); } else { // Bemerkung getTheClient(request, response) .setSMsg("Los " + option.substring(2) + " hat keine Positionen"); return getSJSPNext(); } } try { getZeiterfassungsFac().createZeitdaten(zeitdatenDto, true, true, true, theclientDto); getTheClient(request, response).setSMsg(getMeldungGebuchtFuerBDE( getTheClient(request, response).getData(), taetigkeit, theclientDto)); } catch (EJBExceptionLP ex2) { getTheClient(request, response).setSMsg("Fehler beim Buchen!"); return getSJSPNext(); } } } catch (EJBExceptionLP ex) { getTheClient(request, response) .setSMsg("Los '" + option.substring(2) + "' bei diesem Mandanten nicht gefunden! "); return getSJSPNext(); } return getSJSPNext(); } // Sondertaetigkeit else { if (option.substring(1).equals("SALDO")) { java.sql.Timestamp ts = new java.sql.Timestamp(System.currentTimeMillis() - 3600000 * 24); ts = com.lp.util.Helper.cutTimestamp(ts); Calendar c = Calendar.getInstance(); c.setTimeInMillis(ts.getTime()); String saldoMitUrlaub = ""; try { saldoMitUrlaub = getZeiterfassungsFac().erstelleMonatsAbrechnungFuerBDE( zeitdatenDto.getPersonalIId(), new Integer(c.get(Calendar.YEAR)), new Integer(c.get(Calendar.MONTH)), false, new java.sql.Date(ts.getTime()), theclientDto, true, false); } catch (EJBExceptionLP ex7) { if (ex7.getCause() instanceof EJBExceptionLP) { EJBExceptionLP e = (EJBExceptionLP) ex7.getCause(); if (e != null && e .getCode() == EJBExceptionLP.FEHLER_PERSONAL_FEHLER_BEI_EINTRITTSDATUM) { getTheClient(request, response) .setSMsg(new String("FEHLER_PERSONAL_FEHLER_BEI_EINTRITTSDATUM")); return getSJSPNext(); } } getTheClient(request, response).setSMsg(new String(ex7.getMessage())); setSJSPNext("bdestation.jsp"); } getTheClient(request, response).setSMsg(saldoMitUrlaub); setSJSPNext("bdestation.jsp"); return getSJSPNext(); } else if (option.substring(1).equals("TAGESSALDO")) { java.sql.Timestamp ts = new java.sql.Timestamp(System.currentTimeMillis() - 3600000 * 24); Double d = getZeiterfassungsFac().berechneTagesArbeitszeit(zeitdatenDto.getPersonalIId(), new java.sql.Date(System.currentTimeMillis()), theclientDto); StringBuffer sb = new StringBuffer(); sb.append("Tagesarbeitszeit bis jetzt: " + Helper.rundeKaufmaennisch(new BigDecimal(d.doubleValue()), 2).doubleValue() + "h"); sb.append("\r\n"); getTheClient(request, response).setSMsg(new String(sb)); setSJSPNext("bdestation.jsp"); return getSJSPNext(); } else { try { TaetigkeitDto taetigkeitDto = getZeiterfassungsFac() .taetigkeitFindByCNr(option.substring(1), theclientDto); zeitdatenDto.setTaetigkeitIId(taetigkeitDto.getIId()); getZeiterfassungsFac().createZeitdaten(zeitdatenDto, true, true, true, theclientDto); getTheClient(request, response).setSMsg( getMeldungGebuchtFuerBDE(hmParameter, option.substring(1), theclientDto)); } catch (EJBExceptionLP ex1) { getTheClient(request, response) .setSMsg("Sondert\u00E4tigkeit '" + option.substring(1) + "' nicht gefunden! "); } hmParameter.put("zeitdaten", zeitdatenDto); setSJSPNext("bdestation.jsp"); } getTheClient(request, response).setData(hmParameter); return getSJSPNext(); } } } else if (command.equals(TheApp.CMD_ZE_BDESTATION3)) { HashMap<String, Serializable> hmParameter = (HashMap<String, Serializable>) getTheClient(request, response).getData(); ZeitdatenDto zeitdatenDto = (ZeitdatenDto) hmParameter.get("zeitdaten"); zeitdatenDto.setTZeit(new Timestamp(System.currentTimeMillis())); String option = request.getParameter("option"); getTheClient(request, response).setSMsg(""); if (option != null && option.length() > 0) { if (option.equals("$PLUS")) { // CK: PJ5589 String beleg = (String) hmParameter.get("beleg"); if (beleg.substring(0, 1).equals("L")) { com.lp.server.fertigung.service.LosDto losDto = getFertigungFac() .losFindByCNrMandantCNr(beleg.substring(1), mandant); ZeitverteilungDto zeitverteilungDto = new ZeitverteilungDto(); zeitverteilungDto.setLosIId(losDto.getIId()); zeitverteilungDto.setTZeit(new Timestamp(System.currentTimeMillis())); zeitverteilungDto.setPersonalIId(zeitdatenDto.getPersonalIId()); try { getZeiterfassungsFac().createZeitverteilung(zeitverteilungDto, theclientDto); } catch (EJBExceptionLP e) { hmParameter.remove("beleg"); getTheClient(request, response).setData(hmParameter); getTheClient(request, response) .setSMsg("Los '" + losDto.getCNr() + "' wurde bereits mit $PLUS gebucht"); setSJSPNext("bdestation2.jsp"); return getSJSPNext(); } } else { getTheClient(request, response).setSMsg("$PLUS ist nur f\u00FCr Lose m\u00F6glich."); setSJSPNext("bdestation.jsp"); return getSJSPNext(); } hmParameter.remove("beleg"); getTheClient(request, response).setData(hmParameter); setSJSPNext("bdestation2.jsp"); return getSJSPNext(); } else if (option.equals("$STORNO")) { getZeiterfassungsFac().removeZeitverteilungByPersonalIIdUndTag(zeitdatenDto.getPersonalIId(), new Timestamp(System.currentTimeMillis())); hmParameter.remove("beleg"); getTheClient(request, response).setData(hmParameter); setSJSPNext("bdestation2.jsp"); } else if (option.equals("$SPERREN")) { String beleg = (String) hmParameter.get("beleg"); if (beleg.substring(0, 1).equals("L")) { com.lp.server.fertigung.service.LosDto losDto = getFertigungFac() .losFindByCNrMandantCNr(beleg.substring(1), mandant); if (losDto.getStuecklisteIId() != null) { Integer artikelIId = getStuecklisteFac() .stuecklisteFindByPrimaryKey(losDto.getStuecklisteIId(), theclientDto) .getArtikelIId(); SperrenDto sDto = getArtikelFac().sperrenFindBDurchfertigung(theclientDto); if (sDto != null) { ArtikelsperrenDto aspDtoVorhanden = getArtikelFac() .artikelsperrenFindByArtikelIIdSperrenIIdOhneExc(artikelIId, sDto.getIId()); if (aspDtoVorhanden == null) { ArtikelsperrenDto spDto = new ArtikelsperrenDto(); spDto.setArtikelIId(artikelIId); spDto.setSperrenIId(sDto.getIId()); PersonalDto pDto = getPersonalFac() .personalFindByPrimaryKey(zeitdatenDto.getPersonalIId(), theclientDto); String grund = beleg + " " + pDto.getPartnerDto().getCName1nachnamefirmazeile1() + " " + pDto.getPartnerDto().getCName2vornamefirmazeile2(); if (grund.length() > 80) { grund = grund.substring(0, 79); } spDto.setCGrund(grund); getArtikelFac().createArtikelsperren(spDto, theclientDto); getTheClient(request, response) .setSMsg("Los " + losDto.getCNr() + " durch Fertigung gesperrt."); setSJSPNext("bdestation.jsp"); return getSJSPNext(); } else { getTheClient(request, response) .setSMsg("St\u00FCckliste bereits durch Fertigung gesperrt."); setSJSPNext("bdestation.jsp"); return getSJSPNext(); } } else { getTheClient(request, response) .setSMsg("Fertigungssperre in Grunddaten nicht definiert."); setSJSPNext("bdestation.jsp"); return getSJSPNext(); } } setSJSPNext("bdestation.jsp"); return getSJSPNext(); } } else if (option.equals("$FERTIG")) { hmParameter.put("fertig", ""); MaschineDto maschineDto = new MaschineDto(); maschineDto.setCBez("Fertig"); hmParameter.put("maschine", maschineDto); getTheClient(request, response).setData(hmParameter); setSJSPNext("bdestation4.jsp"); return getSJSPNext(); } else { setSJSPNext("bdestation.jsp"); // MASCHINE if (option.substring(0, 2).equals("$M")) { String maschine = option.substring(2); try { MaschineDto maschineDto = getZeiterfassungsFac() .maschineFindByCIdentifikationsnr(maschine); hmParameter.put("zeitdaten", zeitdatenDto); hmParameter.put("maschine", maschineDto); setSJSPNext("bdestation4.jsp"); return getSJSPNext(); } catch (EJBExceptionLP ex2) { getTheClient(request, response).setSMsg("Maschine '" + maschine + "' nicht gefunden! "); return getSJSPNext(); } } // TAETIGKEIT else { String taetigkeit = option.substring(2); com.lp.server.artikel.service.ArtikelDto artikelDto = null; try { artikelDto = getArtikelFac().artikelFindByCNr(taetigkeit, theclientDto); zeitdatenDto.setArtikelIId( getArtikelFac().artikelFindByCNr(taetigkeit, theclientDto).getIId()); } catch (EJBExceptionLP ex2) { getTheClient(request, response) .setSMsg("T\u00E4tigkeit '" + taetigkeit + "' nicht gefunden! "); return getSJSPNext(); } String beleg = (String) hmParameter.get("beleg"); if (beleg.substring(0, 1).equals("L")) { com.lp.server.fertigung.service.LosDto losDto = getFertigungFac() .losFindByCNrMandantCNr(beleg.substring(1), mandant); ZeitverteilungDto[] zvDtos = getZeiterfassungsFac() .zeitverteilungFindByPersonalIIdUndTag(zeitdatenDto.getPersonalIId(), new Timestamp(System.currentTimeMillis())); if (zvDtos != null & zvDtos.length > 0) { if (zvDtos[0].getArtikelIId() == null) { // Abschlussbuchung eintragen ZeitverteilungDto zv = zvDtos[0]; zv.setIId(null); zv.setLosIId(losDto.getIId()); zv.setArtikelIId(artikelDto.getIId()); try { getZeiterfassungsFac().createZeitverteilung(zv, theclientDto); } catch (EJBExceptionLP e) { hmParameter.remove("beleg"); getTheClient(request, response).setData(hmParameter); getTheClient(request, response).setSMsg( "Los '" + losDto.getCNr() + "' wurde bereits mit $PLUS gebucht"); setSJSPNext("bdestation2.jsp"); return getSJSPNext(); } hmParameter.remove("beleg"); getTheClient(request, response).setData(hmParameter); getTheClient(request, response) .setSMsg("Beginnbuchungen f\u00FCr 'Zeitverteilung' abgeschlossen"); setSJSPNext("bdestation.jsp"); return getSJSPNext(); } } com.lp.server.fertigung.service.LossollarbeitsplanDto[] dtos = getFertigungFac() .lossollarbeitsplanFindByLosIIdArtikelIIdTaetigkeit(losDto.getIId(), artikelDto.getIId()); if (dtos != null && dtos.length > 0) { zeitdatenDto.setIBelegartpositionid(dtos[0].getIId()); } else { com.lp.server.fertigung.service.LossollarbeitsplanDto[] dtosErstePosition = getFertigungFac() .lossollarbeitsplanFindByLosIId(losDto.getIId()); if (dtosErstePosition != null && dtosErstePosition.length > 0) { zeitdatenDto.setIBelegartpositionid(dtosErstePosition[0].getIId()); } else { // Bemerkung getTheClient(request, response) .setSMsg("Los " + beleg.substring(1) + " hat keine Positionen"); return getSJSPNext(); } } } try { getZeiterfassungsFac().createZeitdaten(zeitdatenDto, true, true, true, theclientDto); getTheClient(request, response).setSMsg(getMeldungGebuchtFuerBDE( getTheClient(request, response).getData(), taetigkeit, theclientDto)); return getSJSPNext(); } catch (EJBExceptionLP ex2) { getTheClient(request, response).setSMsg("Fehler beim Buchen!"); return getSJSPNext(); } } } } } else if (command.equals(TheApp.CMD_ZE_BDESTATION3GUTSCHLECHT)) { HashMap<Object, Object> hmParameter = (HashMap<Object, Object>) getTheClient(request, response) .getData(); ZeitdatenDto zeitdatenDto = (ZeitdatenDto) hmParameter.get("zeitdaten"); String gutstueck = request.getParameter("gutstueck"); if (gutstueck.equals("")) { gutstueck = "0"; } String schlechtstueck = request.getParameter("schlechtstueck"); if (schlechtstueck.equals("")) { schlechtstueck = "0"; } BigDecimal bdGutstueck = null; BigDecimal bdSchlechtstueck = null; try { bdGutstueck = new BigDecimal(gutstueck); bdSchlechtstueck = new BigDecimal(schlechtstueck); } catch (NumberFormatException ex9) { getTheClient(request, response) .setSMsg("Gut/Schlechtst\u00FCck d\u00FCrfen nur aus Zahlen bestehen."); setSJSPNext("bdestation.jsp"); return getSJSPNext(); } if (bdGutstueck.doubleValue() < 0 || bdSchlechtstueck.doubleValue() < 0) { getTheClient(request, response).setSMsg("Gut/Schlechtst\u00FCck m\u00FCssen Positiv sein."); setSJSPNext("bdestation.jsp"); return getSJSPNext(); } Integer taetigkeitIId_Ende = getZeiterfassungsFac() .taetigkeitFindByCNr(ZeiterfassungFac.TAETIGKEIT_ENDE, theclientDto).getIId(); ZeitdatenDto zeitdatenDtoEnde = new ZeitdatenDto(); zeitdatenDtoEnde.setTZeit(new Timestamp(zeitdatenDto.getTZeit().getTime() + 1000)); zeitdatenDtoEnde.setTaetigkeitIId(taetigkeitIId_Ende); zeitdatenDtoEnde.setPersonalIId(zeitdatenDto.getPersonalIId()); // Hole letzten begonnenen Auftrag und hinterlege gut/schlechtstueck Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria liste = session.createCriteria(FLRZeitdaten.class); liste.add(Expression.eq(ZeiterfassungFac.FLR_ZEITDATEN_PERSONAL_I_ID, zeitdatenDto.getPersonalIId())); liste.add(Expression.gt(ZeiterfassungFac.FLR_ZEITDATEN_T_ZEIT, Helper.cutTimestamp(zeitdatenDto.getTZeit()))); liste.addOrder(Order.desc(ZeiterfassungFac.FLR_ZEITDATEN_T_ZEIT)); List<?> letzerAuftrag = liste.list(); Iterator<?> it = letzerAuftrag.iterator(); ZeitdatenDto letzterAuftrag = null; while (it.hasNext()) { FLRZeitdaten flrLetzerAuftrag = (FLRZeitdaten) it.next(); if (flrLetzerAuftrag.getC_belegartnr() != null && flrLetzerAuftrag.getI_belegartid() != null) { if (flrLetzerAuftrag.getC_belegartnr().equals(zeitdatenDto.getCBelegartnr()) && flrLetzerAuftrag.getI_belegartid().equals(zeitdatenDto.getIBelegartid())) { letzterAuftrag = getZeiterfassungsFac() .zeitdatenFindByPrimaryKey(flrLetzerAuftrag.getI_id(), theclientDto); break; } } else if (flrLetzerAuftrag.getTaetigkeit_i_id() != null && flrLetzerAuftrag.getTaetigkeit_i_id().equals(taetigkeitIId_Ende)) { break; } } if (letzterAuftrag != null) { // Hier eintragen // letzterAuftrag.setNGut(bdGutstueck); // letzterAuftrag.setNSchlecht(bdSchlechtstueck); getZeiterfassungsFac().updateZeitdaten(letzterAuftrag, theclientDto); // und buche ENDE getZeiterfassungsFac().createZeitdaten(zeitdatenDtoEnde, false, false, false, theclientDto); } else { // was nun? // Beginn und ende Buchen getZeiterfassungsFac().createZeitdaten(zeitdatenDto, false, false, false, theclientDto); getZeiterfassungsFac().createZeitdaten(zeitdatenDtoEnde, false, false, false, theclientDto); } session.close(); getTheClient(request, response).setSMsg( getMeldungGebuchtFuerBDE(getTheClient(request, response).getData(), null, theclientDto)); setSJSPNext("bdestation.jsp"); return getSJSPNext(); } else if (command.equals(TheApp.CMD_ZE_BDESTATION4)) { HashMap<?, ?> hmParameter = (HashMap<?, ?>) getTheClient(request, response).getData(); ZeitdatenDto zeitdatenDto = (ZeitdatenDto) hmParameter.get("zeitdaten"); zeitdatenDto.setTZeit(new Timestamp(System.currentTimeMillis())); String taetigkeit = request.getParameter("taetigkeit"); getTheClient(request, response).setSMsg(""); if (taetigkeit != null && taetigkeit.length() > 0) { setSJSPNext("bdestation.jsp"); com.lp.server.artikel.service.ArtikelDto artikelDto = null; try { artikelDto = getArtikelFac().artikelFindByCNr(taetigkeit.substring(2), theclientDto); zeitdatenDto.setArtikelIId(artikelDto.getIId()); } catch (EJBExceptionLP ex2) { getTheClient(request, response) .setSMsg("T\u00E4tigkeit '" + taetigkeit.substring(2) + "' nicht gefunden! "); return getSJSPNext(); } String beleg = (String) hmParameter.get("beleg"); if (beleg.substring(0, 1).equals("L")) { com.lp.server.fertigung.service.LosDto losDto = getFertigungFac() .losFindByCNrMandantCNr(beleg.substring(1), mandant); com.lp.server.fertigung.service.LossollarbeitsplanDto[] dtos = getFertigungFac() .lossollarbeitsplanFindByLosIIdArtikelIIdTaetigkeit(losDto.getIId(), artikelDto.getIId()); if (hmParameter.containsKey("fertig")) { if (dtos != null && dtos.length > 0) { LossollarbeitsplanDto dto = dtos[0]; dto.setBFertig(Helper.boolean2Short(true)); ParametermandantDto parameterDtoTriggerTops = getParameterFac().getMandantparameter( mandant, ParameterFac.KATEGORIE_FERTIGUNG, ParameterFac.PARAMETER_TRIGGERT_TRUMPF_TOPS_ABLIEFERUNG); try { getFertigungFac().updateLossollarbeitsplan(dto, theclientDto); // PJ 17916 if (parameterDtoTriggerTops.getCWert() != null && parameterDtoTriggerTops.getCWert().trim().length() > 0) { ArtikelDto aDto = getArtikelFac().artikelFindByCNrMandantCNrOhneExc( parameterDtoTriggerTops.getCWert().trim(), theclientDto.getMandant()); if (aDto == null) { getTheClient(request, response).setSMsg( "Der Artikel, der im Parameter TRIGGERT_TRUMPF_TOPS_ABLIEFERUNG hinterlegt ist, exisitiert nicht! " + parameterDtoTriggerTops.getCWert()); return getSJSPNext(); } if (aDto != null && aDto.getIId().equals(artikelDto.getIId())) { getFertigungFac().bucheTOPSArtikelAufHauptLager(losDto.getIId(), theclientDto, null); } } getTheClient(request, response) .setSMsg(getMeldungGebuchtFuerBDE(getTheClient(request, response).getData(), taetigkeit.substring(2), theclientDto)); return getSJSPNext(); } catch (EJBExceptionLP ex2) { getTheClient(request, response).setSMsg("Fehler beim Buchen!"); return getSJSPNext(); } } else { getTheClient(request, response).setSMsg("Das Los " + beleg.substring(1) + " hat keinen entsprechen Arbeitsgang mit der Artikelnummer " + taetigkeit.substring(2)); return getSJSPNext(); } } if (dtos != null && dtos.length > 0) { zeitdatenDto.setIBelegartpositionid(dtos[0].getIId()); } else { com.lp.server.fertigung.service.LossollarbeitsplanDto[] dtosErstePosition = getFertigungFac() .lossollarbeitsplanFindByLosIId(losDto.getIId()); if (dtosErstePosition != null && dtosErstePosition.length > 0) { zeitdatenDto.setIBelegartpositionid(dtosErstePosition[0].getIId()); } else { // Bemerkung getTheClient(request, response) .setSMsg("Los " + beleg.substring(1) + " hat keine Positionen"); return getSJSPNext(); } } } // Maschinenzeitdaten buchen (geht nur auf Los) if (hmParameter.containsKey("maschine") && zeitdatenDto.getCBelegartnr() != null && zeitdatenDto.getCBelegartnr().equals(LocaleFac.BELEGART_LOS) && zeitdatenDto.getIBelegartid() != null) { MaschineDto maschineDto = (MaschineDto) hmParameter.get("maschine"); com.lp.server.fertigung.service.LossollarbeitsplanDto[] dtos = getFertigungFac() .lossollarbeitsplanFindByLosIIdArtikelIIdTaetigkeit(zeitdatenDto.getIBelegartid(), zeitdatenDto.getArtikelIId()); if (dtos != null && dtos.length > 0) { MaschinenzeitdatenDto maschinenzeitdatenDto = new MaschinenzeitdatenDto(); maschinenzeitdatenDto.setPersonalIIdGestartet(zeitdatenDto.getPersonalIId()); maschinenzeitdatenDto.setTVon(zeitdatenDto.getTZeit()); maschinenzeitdatenDto.setLossollarbeitsplanIId(dtos[0].getIId()); maschinenzeitdatenDto.setMaschineIId(maschineDto.getIId()); getZeiterfassungsFac().createMaschinenzeitdaten(maschinenzeitdatenDto, theclientDto); } } try { getZeiterfassungsFac().createZeitdaten(zeitdatenDto, true, true, false, theclientDto); getTheClient(request, response).setSMsg(getMeldungGebuchtFuerBDE( getTheClient(request, response).getData(), taetigkeit.substring(2), theclientDto)); return getSJSPNext(); } catch (EJBExceptionLP ex2) { getTheClient(request, response).setSMsg("Fehler beim Buchen!"); return getSJSPNext(); } } } else if (command.equals(TheApp.CMD_ZE_MECS_ONLCHECK)) { String beleg = request.getParameter("beleg"); if (beleg == null) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Parameter 'beleg' muss angegeben werden"); return null; } beleg = beleg.trim(); if (beleg.length() < 2) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Parameter 'beleg' muss mindestens 2 Zeichen lang sein"); return null; } String status = null; BigDecimal offeneMenge = new BigDecimal(0); String ueberliefernErlaubt = "1"; try { if (beleg.substring(0, 2).equals("$A")) { AuftragDto auftragDto = getAuftragFac().auftragFindByMandantCNrCNr(mandant, beleg.substring(2), theclientDto); status = auftragDto.getAuftragstatusCNr(); } else if (beleg.substring(0, 2).equals("$L")) { LosDto losDto = getFertigungFac().losFindByCNrMandantCNr(beleg.substring(2), mandant); status = losDto.getStatusCNr(); BigDecimal erledigteMenge = getFertigungFac().getErledigteMenge(losDto.getIId(), theclientDto); offeneMenge = losDto.getNLosgroesse().subtract(erledigteMenge); if (losDto.getStuecklisteIId() != null) { StuecklisteDto stkDto = getStuecklisteFac() .stuecklisteFindByPrimaryKey(losDto.getStuecklisteIId(), theclientDto); if (Helper.short2boolean(stkDto.getBUeberlieferbar()) == false) { ueberliefernErlaubt = "0"; } } } } catch (EJBExceptionLP ex8) { status = "Beleg existiert nicht"; } StringBuffer sb = new StringBuffer(); sb.append(Helper.fitString2Length(beleg, 40, ' ')); sb.append(Helper.fitString2Length(status, 40, ' ')); // Offene Menge 17 stellig DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance(); dfs.setDecimalSeparator('.'); DecimalFormat dFormat = new DecimalFormat("0.0000", dfs); if (offeneMenge.doubleValue() < 0) { sb.append("-"); } else { sb.append(" "); } sb.append(Helper.fitString2LengthAlignRight(dFormat.format(offeneMenge.abs()), 16, ' ')); sb.append(ueberliefernErlaubt); sb.append("\r\n"); getTheClient(request, response).setSMsg(new String(sb)); } else if (command.equals(TheApp.CMD_ZE_MECS_ONLINECHECK_ABL)) { String beleg = request.getParameter("beleg"); String menge = request.getParameter("menge"); if (beleg == null) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Parameter 'beleg' muss angegeben werden"); return null; } if (menge == null) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Parameter 'menge' muss angegeben werden"); return null; } BigDecimal nMenge = new BigDecimal(menge.trim()); beleg = beleg.trim(); if (beleg.length() < 2) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Parameter 'beleg' muss mindestens 2 Zeichen lang sein"); return null; } String status = null; BigDecimal offeneMenge = new BigDecimal(0); boolean ueberliefernErlaubt = true; try { if (beleg.substring(0, 2).equals("$A")) { AuftragDto auftragDto = getAuftragFac().auftragFindByMandantCNrCNr(mandant, beleg.substring(2), theclientDto); status = auftragDto.getAuftragstatusCNr(); } else if (beleg.substring(0, 2).equals("$L")) { LosDto losDto = getFertigungFac().losFindByCNrMandantCNr(beleg.substring(2), mandant); status = losDto.getStatusCNr(); BigDecimal erledigteMenge = getFertigungFac().getErledigteMenge(losDto.getIId(), theclientDto); offeneMenge = losDto.getNLosgroesse().subtract(erledigteMenge); if (losDto.getStuecklisteIId() != null) { StuecklisteDto stkDto = getStuecklisteFac() .stuecklisteFindByPrimaryKey(losDto.getStuecklisteIId(), theclientDto); ueberliefernErlaubt = Helper.short2boolean(stkDto.getBUeberlieferbar()); } } } catch (EJBExceptionLP ex8) { status = "Beleg existiert nicht"; } StringBuffer sb = new StringBuffer(); // Zeile1 sb.append(Helper.fitString2Length(beleg, 40, ' ')); sb.append(Helper.fitString2Length(status, 40, ' ')); sb.append("\r\n"); // Offene Menge 17 stellig // Zeile2 // Zuerst 3 Stellen Fehlernummer: 000= Abliefern moeglich 001= // Status erlaubt kein Abliefern - 002= // Menge der Ablieferung zu gross String fehlercode = ""; String text1 = ""; String text2 = ""; if (status.equals(LocaleFac.STATUS_ERLEDIGT) || status.equals(LocaleFac.STATUS_STORNIERT) || status.equals(LocaleFac.STATUS_ANGELEGT) || status.equals(LocaleFac.STATUS_GESTOPPT)) { fehlercode = "001"; text1 = "Nicht erlaubt!"; text2 = "Status: " + status; } else { if (nMenge.doubleValue() <= offeneMenge.doubleValue()) { // Wenn Abliefermenge kleiner als Offene Menge, dann =OK fehlercode = "000"; text1 = "Ablieferung"; text2 = "erlaubt"; } else { if (ueberliefernErlaubt == false) { fehlercode = "002"; text1 = "Nicht erlaubt!"; DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance(); dfs.setDecimalSeparator('.'); DecimalFormat dFormat = new DecimalFormat("#####0", dfs); text2 = "Nur " + Helper.fitString2LengthAlignRight(dFormat.format(offeneMenge), 6, ' ') + " Stk offen"; } else { fehlercode = "000"; text1 = "Ablieferung"; text2 = "erlaubt"; } } } sb.append(fehlercode); // 37 Leerstellen sb.append(Helper.fitString2Length("", 37, ' ')); // Text1 sb.append(Helper.fitString2Length(text1, 20, ' ')); // Text2 sb.append(Helper.fitString2Length(text2, 20, ' ')); sb.append("\r\n"); getTheClient(request, response).setSMsg(new String(sb)); } else if (command.equals(TheApp.CMD_ZE_MECS_AUSWEISE)) { String fingerprint = request.getParameter("fingerprint"); if (fingerprint != null) { StringBuffer sb = new StringBuffer(); PersonalfingerDto[] personalfingerDtos = getZutrittscontrollerFac().personalfingerFindAll(); for (int i = 0; i < personalfingerDtos.length; i++) { PersonalfingerDto personalfingerDto = personalfingerDtos[i]; String id = personalfingerDto.getIId() + ""; id = Helper.fitString2LengthAlignRight(id, 8, '0'); StringBuffer tmp = new StringBuffer(); // unbedingt nach ausweis sortieren tmp.setLength(0); tmp.append(Helper.fitString2Length(id, 20, ' ')); PersonalDto personalDto = getPersonalFac() .personalFindByPrimaryKey(personalfingerDto.getPersonalIId(), theclientDto); tmp.append(Helper.fitString2LengthAlignRight(personalDto.getCPersonalnr() + "", 5, '0')); // persnr tmp.append(Helper.fitString2Length("", 3, ' ')); // zutrkl String sVorname = personalDto.getPartnerDto().getCName2vornamefirmazeile2(); String sNachname = personalDto.getPartnerDto().getCName1nachnamefirmazeile1(); if (sVorname == null) { sVorname = ""; } tmp.append(Helper.fitString2Length(sVorname + " " + sNachname, 25, ' ')); // name sb.append(tmp).append("\r\n"); } getTheClient(request, response).setSMsg(new String(sb)); } else { // Ausweisnummern holen StringBuffer sb = new StringBuffer(); PersonalDto[] personalDtos = getPersonalFac().personalFindByCAusweisSortiertNachCAusweis(); ParametermandantDto parameterDto = getParameterFac().getMandantparameter(mandant, ParameterFac.KATEGORIE_PERSONAL, ParameterFac.PARAMETER_LEAD_IN_AUSWEISNUMMER_MECS); String leadIn = ""; if (parameterDto.getCWert() != null) { leadIn = parameterDto.getCWert().trim(); } for (int i = 0; i < personalDtos.length; i++) { PersonalDto personalDto = personalDtos[i]; personalDto.setPartnerDto( getPartnerFac().partnerFindByPrimaryKey(personalDto.getPartnerIId(), theclientDto)); StringBuffer tmp = new StringBuffer(); // unbedingt nach ausweis sortieren tmp.setLength(0); tmp.append(Helper.fitString2Length(leadIn + personalDto.getCAusweis(), 20, ' ')); // ausweis tmp.append(Helper.fitString2LengthAlignRight(personalDto.getCPersonalnr() + "", 5, '0')); // persnr tmp.append(Helper.fitString2Length("", 3, ' ')); // zutrkl String sVorname = personalDto.getPartnerDto().getCName2vornamefirmazeile2(); String sNachname = personalDto.getPartnerDto().getCName1nachnamefirmazeile1(); if (sVorname == null) { sVorname = ""; } tmp.append(Helper.fitString2Length(sVorname + " " + sNachname, 25, ' ')); // name sb.append(tmp).append("\r\n"); } getTheClient(request, response).setSMsg(new String(sb)); } } else if (command.equals(TheApp.CMD_ZE_MECS_ERLAUBTETAETIGKEITEN)) { Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria liste = session.createCriteria(FLRTaetigkeit.class); liste.add(Expression.eq(ZeiterfassungFac.FLR_TAETIGKEIT_B_BDEBUCHBAR, Helper.boolean2Short(true))); liste.addOrder(Order.asc("c_nr")); List<?> lReisezeiten = liste.list(); Iterator<?> it = lReisezeiten.iterator(); StringBuffer sb = new StringBuffer(); while (it.hasNext()) { FLRTaetigkeit flrTaetigkeit = (FLRTaetigkeit) it.next(); StringBuffer tmp = new StringBuffer(); tmp.setLength(0); tmp.append('$'); tmp.append(Helper.fitString2LengthAlignRight(flrTaetigkeit.getC_nr(), 14, ' ')); // persnr sb.append(tmp).append("\r\n"); } session.close(); getTheClient(request, response).setSMsg(new String(sb)); } else if (command.equals(TheApp.CMD_ZE_MECS_PERSSTAMM)) { // Personalstamm holen StringBuffer sb = new StringBuffer(); // unbedingt nach personalnummer sortieren PersonalDto[] personalDtos = getPersonalFac().personalFindByCAusweisSortiertNachPersonalnr(); for (int i = 0; i < personalDtos.length; i++) { PersonalDto personalDto = personalDtos[i]; personalDto.setPartnerDto( getPartnerFac().partnerFindByPrimaryKey(personalDto.getPartnerIId(), theclientDto)); StringBuffer tmp = new StringBuffer(); tmp.setLength(0); tmp.append(Helper.fitString2LengthAlignRight(personalDto.getCPersonalnr() + "", 5, '0')); // persnr tmp.append(Helper.fitString2Length("", 3, ' ')); // zutrkl String sVorname = personalDto.getPartnerDto().getCName2vornamefirmazeile2(); String sNachname = personalDto.getPartnerDto().getCName1nachnamefirmazeile1(); if (sVorname == null) { sVorname = ""; } tmp.append(Helper.fitString2Length(sVorname + " " + sNachname, 25, ' ')); // name sb.append(tmp).append("\r\n"); } getTheClient(request, response).setSMsg(new String(sb)); } else if (command.equals(TheApp.CMD_ZE_MECS_SALDO)) { String ausweis = ""; try { ausweis = request.getParameter("ausweis"); } catch (Exception e) { getTheClient(request, response).setBResponseIsReady(true); response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Parameter 'ausweis' nicht angegeben"); myLogger.error("doPost; Exception aufgetreten", e); return null; } if (ausweis.startsWith("$P")) { ausweis = ausweis.substring(2); } ausweis = ausweis.trim(); ParametermandantDto parameterDto = getParameterFac().getMandantparameter(mandant, ParameterFac.KATEGORIE_PERSONAL, ParameterFac.PARAMETER_LEAD_IN_AUSWEISNUMMER_MECS); String leadIn = ""; if (parameterDto.getCWert() != null) { leadIn = parameterDto.getCWert().trim(); int iLaenge = leadIn.length(); if (ausweis.length() > iLaenge) { ausweis = ausweis.substring(iLaenge); } } PersonalDto personalDto = getPersonalFac().personalFindByCAusweis(ausweis); personalDto.setPartnerDto( getPartnerFac().partnerFindByPrimaryKey(personalDto.getPartnerIId(), theclientDto)); java.sql.Timestamp ts = new java.sql.Timestamp(System.currentTimeMillis() - 3600000 * 24); ts = com.lp.util.Helper.cutTimestamp(ts); Calendar c = Calendar.getInstance(); c.setTimeInMillis(ts.getTime()); String urlaub = null; try { urlaub = getZeiterfassungsFac().erstelleMonatsAbrechnungFuerBDE(personalDto.getIId(), new Integer(c.get(Calendar.YEAR)), new Integer(c.get(Calendar.MONTH)), false, new java.sql.Date(ts.getTime()), theclientDto, true, false); } catch (EJBExceptionLP ex7) { if (ex7.getCause() instanceof EJBExceptionLP) { EJBExceptionLP e = (EJBExceptionLP) ex7.getCause(); if (e != null && e.getCode() == EJBExceptionLP.FEHLER_PERSONAL_FEHLER_BEI_EINTRITTSDATUM) { getTheClient(request, response) .setSMsg(new String("FEHLER_PERSONAL_FEHLER_BEI_EINTRITTSDATUM")); return getSJSPNext(); } } getTheClient(request, response).setSMsg(new String(ex7.getMessage())); setSJSPNext("bdestation.jsp"); } getTheClient(request, response).setSMsg(urlaub); } else if (command.equals(TheApp.CMD_ZE_MECS_ZEITBUCHEN) || command.equals(TheApp.CMD_ZE_MECS_ZEITBUCHENFINGERPRINT)) { String record = null; if (command.equals(TheApp.CMD_ZE_MECS_ZEITBUCHEN)) { record = request.getParameter("record"); } else { record = request.getParameter("recordfingerprint"); } record = Helper.fitString2Length(record, 200, ' '); String schluesselNr = record.substring(19, 39).trim(); String zeit = record.substring(5, 19); String taetigkeit = record.substring(3, 5); // SP753 String terminal = record.substring(64, 86); // Damit die Sollzeitenueberschreitungspruefeung nicht durchgefuehrt // wird: terminal = "ZT:" + terminal; terminal = terminal.trim(); boolean bAbliefern = false; ArtikelDto artikelDtoTaetigkeit = null; if (record.substring(130, 155).trim().equals("$ABLIEFERN")) { bAbliefern = true; } else { artikelDtoTaetigkeit = getArtikelFac().artikelFindByCNrOhneExc(record.substring(132, 155).trim(), theclientDto); } ZeitdatenDto zeitdatenDto = new ZeitdatenDto(); ZeitdatenDto zeitdatenDtoEnde = new ZeitdatenDto(); zeitdatenDto.setCWowurdegebucht(terminal); zeitdatenDtoEnde.setCWowurdegebucht(terminal); Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, new Integer(zeit.substring(0, 4)).intValue()); c.set(Calendar.MONTH, new Integer(zeit.substring(4, 6)).intValue() - 1); c.set(Calendar.DAY_OF_MONTH, new Integer(zeit.substring(6, 8)).intValue()); c.set(Calendar.HOUR_OF_DAY, new Integer(zeit.substring(8, 10)).intValue()); c.set(Calendar.MINUTE, new Integer(zeit.substring(10, 12)).intValue()); c.set(Calendar.SECOND, new Integer(zeit.substring(12, 14)).intValue()); zeitdatenDto.setTZeit(new java.sql.Timestamp(c.getTime().getTime())); zeitdatenDtoEnde.setTZeit(new java.sql.Timestamp(c.getTime().getTime() + 1000)); zeitdatenDto.setTAendern(zeitdatenDto.getTZeit()); zeitdatenDtoEnde.setTAendern(zeitdatenDtoEnde.getTZeit()); // Wenn hier NullPointerException, dann kann kein Personal mit // Ausweisnummer gefunden werden Integer personalIId = null; if (schluesselNr.startsWith("$P")) { try { personalIId = getPersonalFac().personalFindByCAusweis(schluesselNr.substring(2)).getIId(); } catch (NullPointerException ex11) { String msg = "Person mit Ausweis " + schluesselNr + " nicht vorhanden. ORIGINAL-Request:" + record; myLogger.error(msg, ex11); response.setStatus(HttpServletResponse.SC_OK); return getSJSPNext(); } } else { if (command.equals(TheApp.CMD_ZE_MECS_ZEITBUCHEN)) { try { personalIId = getPersonalFac().personalFindByCAusweis(schluesselNr).getIId(); } catch (NullPointerException ex11) { String msg = "Person mit Ausweis " + schluesselNr + " nicht vorhanden. ORIGINAL-Request:" + record; myLogger.error(msg, ex11); response.setStatus(HttpServletResponse.SC_OK); return getSJSPNext(); } } else if (command.equals(TheApp.CMD_ZE_MECS_ZEITBUCHENFINGERPRINT)) { Integer i = new Integer(schluesselNr); getZutrittscontrollerFac().personalfingerFindByPrimaryKey(i).getPersonalIId(); personalIId = getZutrittscontrollerFac().personalfingerFindByPrimaryKey(i).getPersonalIId(); } } zeitdatenDto.setPersonalIId(personalIId); zeitdatenDtoEnde.setPersonalIId(personalIId); zeitdatenDtoEnde.setTaetigkeitIId(getZeiterfassungsFac() .taetigkeitFindByCNr(ZeiterfassungFac.TAETIGKEIT_ENDE, theclientDto).getIId()); // Taetigkeiten, die MECS liefert muessen in der Tabelle LP_KEYVALUE // uebersetzt werden (als String) // Bsp: MECSTERMINAL|B1|KOMMT|java.lang.String try { String sTaetigkeit = null; if (schluesselNr.startsWith("$P")) { sTaetigkeit = record.substring(110, 126); Integer taetigkeitIId_Ende = getZeiterfassungsFac() .taetigkeitFindByCNr(ZeiterfassungFac.TAETIGKEIT_ENDE, theclientDto).getIId(); String gutStueck = record.substring(160, 172); String schlechtStueck = record.substring(173, 189); BigDecimal nGutStueck = new BigDecimal(gutStueck.trim()); BigDecimal nSchlechtStueck = new BigDecimal(schlechtStueck.trim()); Integer artikelIId = null; if (artikelDtoTaetigkeit == null) { ParametermandantDto parameterDto = getParameterFac().getMandantparameter(mandant, ParameterFac.KATEGORIE_ALLGEMEIN, ParameterFac.PARAMETER_DEFAULT_ARBEITSZEITARTIKEL); if (parameterDto != null && parameterDto.getCWert() != null && !parameterDto.getCWert().trim().equals("")) { try { artikelIId = getArtikelFac().artikelFindByCNr(parameterDto.getCWert(), theclientDto) .getIId(); } catch (RemoteException ex2) { myLogger.error("Default-Arbeitszeitartikel " + parameterDto.getCWert() + " nicht vorhanden.", ex2); return getSJSPNext(); } } else { myLogger.error( "Default-Arbeitszeitartikel " + parameterDto.getCWert() + " nicht definiert."); return getSJSPNext(); } } else { artikelIId = artikelDtoTaetigkeit.getIId(); } if (sTaetigkeit.startsWith("$A")) { AuftragDto auftragDto = null; try { if (sTaetigkeit.startsWith("$A")) { auftragDto = getAuftragFac().auftragFindByMandantCNrCNr(mandant, sTaetigkeit.substring(2).trim(), theclientDto); } else { auftragDto = getAuftragFac().auftragFindByMandantCNrCNr(mandant, sTaetigkeit.substring(3).trim(), theclientDto); } } catch (RemoteException ex8) { zeitdatenDto.setCBemerkungZuBelegart( "Auftrag " + sTaetigkeit.substring(2).trim() + " konnte nicht gefunden werden"); zeitdatenDto.setTaetigkeitIId(taetigkeitIId_Ende); getZeiterfassungsFac().createZeitdaten(zeitdatenDto, true, true, false, theclientDto); return getSJSPNext(); } // Wenn Auftragsbeginn -> if (sTaetigkeit.startsWith("$A")) { AuftragpositionDto[] auftragpositionDtos = getAuftragpositionFac() .auftragpositionFindByAuftrag(auftragDto.getIId()); if (auftragpositionDtos.length > 0) { zeitdatenDto.setCBelegartnr(LocaleFac.BELEGART_AUFTRAG); zeitdatenDto.setArtikelIId(artikelIId); zeitdatenDto.setIBelegartid(auftragDto.getIId()); zeitdatenDto.setIBelegartpositionid(auftragpositionDtos[0].getIId()); } else { myLogger.error("Buchung von MECS-TERMINAL, Ausweis: " + schluesselNr + ", Auftrag" + sTaetigkeit + " hat keine Positionen."); return getSJSPNext(); } } } else if (sTaetigkeit.startsWith("$EL") || sTaetigkeit.startsWith("$L")) { com.lp.server.fertigung.service.LosDto losDto = null; try { if (sTaetigkeit.startsWith("$L")) { losDto = getFertigungFac().losFindByCNrMandantCNr( sTaetigkeit.substring(2).trim(), mandant); } else { losDto = getFertigungFac().losFindByCNrMandantCNr( sTaetigkeit.substring(3).trim(), mandant); } } catch (EJBExceptionLP ex10) { zeitdatenDto.setCBemerkungZuBelegart( "Los " + sTaetigkeit.substring(2).trim() + " konnte nicht gefunden werden"); zeitdatenDto.setTaetigkeitIId(taetigkeitIId_Ende); getZeiterfassungsFac().createZeitdaten(zeitdatenDto, true, true, false, theclientDto); return getSJSPNext(); } if (bAbliefern == true) { LosablieferungDto losablieferungDto = new LosablieferungDto(); losablieferungDto.setLosIId(losDto.getIId()); String menge = record.substring(155, 170); BigDecimal nMenge = new BigDecimal(menge.trim()); losablieferungDto.setNMenge(nMenge); losablieferungDto.setTAendern(zeitdatenDto.getTZeit()); if (nMenge.doubleValue() > 0) { // lt. FM BigDecimal bdBisherErledigt = getFertigungFac().getErledigteMenge(losDto.getIId(), theclientDto); if (bdBisherErledigt.add(nMenge).doubleValue() > losDto.getNLosgroesse() .doubleValue()) { getFertigungFac().aendereLosgroesse(losDto.getIId(), bdBisherErledigt.add(nMenge).intValue(), false, theclientDto); // SP933 losDto.setNLosgroesse(bdBisherErledigt.add(nMenge)); } try { getFertigungFac().bucheMaterialAufLos(losDto, nMenge, false, false, true, theclientDto, null, false); } catch (Exception e1) { // Terminal darf keinen Fehler bekommen } getFertigungFac().createLosablieferungFuerTerminalOhnePreisberechnung( losablieferungDto, theclientDto, false); try { getFertigungFac().aktualisiereNachtraeglichPreiseAllerLosablieferungen( losDto.getIId(), theclientDto, true); } catch (Exception e) { // PREISBERECHNUNG FEHLGESCHLAGEN myLogger.error("Preisberechnung der Ablieferungen f\u00FCr Los " + losDto.getCNr() + " fehlgeschlagen. Bitte manuell ausfuehren", e); } } // PJ17748 ParametermandantDto parameterAblieferungBuchtEndeDto = getParameterFac() .getMandantparameter(mandant, ParameterFac.KATEGORIE_FERTIGUNG, ParameterFac.PARAMETER_ABLIEFERUNG_BUCHT_ENDE); Boolean bAblieferungBuchtEndeDto = (Boolean) parameterAblieferungBuchtEndeDto .getCWertAsObject(); if (bAblieferungBuchtEndeDto == true) { zeitdatenDto.setTaetigkeitIId(taetigkeitIId_Ende); zeitdatenDto.setCBelegartnr(null); zeitdatenDto.setArtikelIId(null); zeitdatenDto.setIBelegartid(null); zeitdatenDto.setIBelegartpositionid(null); Integer zeitdatenIId = getZeiterfassungsFac().createZeitdaten(zeitdatenDto, false, false, false, theclientDto); // PJ17797 if (nMenge.doubleValue() > 0) { if (getMandantFac().darfAnwenderAufZusatzfunktionZugreifen( MandantFac.ZUSATZFUNKTION_STUECKRUECKMELDUNG, theclientDto)) { Integer lossollarbeitsplanIId = null; LossollarbeitsplanDto[] sollDtos = getFertigungFac() .lossollarbeitsplanFindByLosIId(losDto.getIId()); if (sollDtos.length > 0) { lossollarbeitsplanIId = sollDtos[sollDtos.length - 1].getIId(); } else { lossollarbeitsplanIId = getFertigungFac() .defaultArbeitszeitartikelErstellen(losDto, theclientDto); } LosgutschlechtDto losgutschlechtDto = new LosgutschlechtDto(); losgutschlechtDto.setZeitdatenIId(zeitdatenIId); losgutschlechtDto.setLossollarbeitsplanIId(lossollarbeitsplanIId); losgutschlechtDto.setNGut(nMenge); losgutschlechtDto.setNSchlecht(new BigDecimal(0)); losgutschlechtDto.setNInarbeit(new BigDecimal(0)); getFertigungFac().createLosgutschlecht(losgutschlechtDto, theclientDto); } } } return getSJSPNext(); } // Wenn Auftragsbeginn -> if (sTaetigkeit.startsWith("$L")) { zeitdatenDto.setCBelegartnr(LocaleFac.BELEGART_LOS); zeitdatenDto.setArtikelIId(artikelIId); zeitdatenDto.setIBelegartid(losDto.getIId()); LossollarbeitsplanDto[] sollDtos = getFertigungFac() .lossollarbeitsplanFindByLosIIdArtikelIIdTaetigkeit(losDto.getIId(), artikelIId); if (sollDtos.length > 0) { zeitdatenDto.setIBelegartpositionid(sollDtos[0].getIId()); } } else { // Hole letzten begonnenen Auftrag und hinterlege // gut/schlechtstueck Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria liste = session.createCriteria(FLRZeitdaten.class); liste.add(Expression.eq(ZeiterfassungFac.FLR_ZEITDATEN_PERSONAL_I_ID, personalIId)); /* * liste.add(Expression.eq(ZeiterfassungFac. * FLR_ZEITDATEN_C_BELEGARTNR , * LocaleFac.BELEGART_LOS)); liste.add(Expression.eq * (ZeiterfassungFac.FLR_ZEITDATEN_I_BELEGARTID, * losDto.getIId())); */ liste.add(Expression.gt(ZeiterfassungFac.FLR_ZEITDATEN_T_ZEIT, Helper.cutTimestamp(zeitdatenDto.getTZeit()))); liste.addOrder(Order.desc(ZeiterfassungFac.FLR_ZEITDATEN_T_ZEIT)); // liste.setMaxResults(1); List<?> lReisezeiten = liste.list(); Iterator<?> it = lReisezeiten.iterator(); zeitdatenDto.setCBelegartnr(LocaleFac.BELEGART_LOS); zeitdatenDto.setArtikelIId(artikelIId); zeitdatenDto.setIBelegartid(losDto.getIId()); ZeitdatenDto letzterAuftrag = null; while (it.hasNext()) { FLRZeitdaten flrLetzerAuftrag = (FLRZeitdaten) it.next(); if (flrLetzerAuftrag.getC_belegartnr() != null && flrLetzerAuftrag.getI_belegartid() != null) { if (flrLetzerAuftrag.getC_belegartnr().equals(zeitdatenDto.getCBelegartnr()) && flrLetzerAuftrag.getI_belegartid() .equals(zeitdatenDto.getIBelegartid())) { letzterAuftrag = getZeiterfassungsFac().zeitdatenFindByPrimaryKey( flrLetzerAuftrag.getI_id(), theclientDto); break; } } else if (flrLetzerAuftrag.getTaetigkeit_i_id() != null && flrLetzerAuftrag.getTaetigkeit_i_id().equals(taetigkeitIId_Ende)) { break; } } if (letzterAuftrag != null) { // Hier eintragen ZeitdatenDto auftragsbeginn = getZeiterfassungsFac() .zeitdatenFindByPrimaryKey(letzterAuftrag.getIId(), theclientDto); // auftragsbeginn.setNGut(nGutStueck); // auftragsbeginn.setNSchlecht(nSchlechtStueck); getZeiterfassungsFac().updateZeitdaten(auftragsbeginn, theclientDto); // und buche ENDE zeitdatenDto = zeitdatenDtoEnde; } else { zeitdatenDto.setCBelegartnr(LocaleFac.BELEGART_LOS); zeitdatenDto.setArtikelIId(artikelIId); zeitdatenDto.setIBelegartid(losDto.getIId()); // zeitdatenDto.setNGut(nGutStueck); // zeitdatenDto.setNSchlecht(nSchlechtStueck); getZeiterfassungsFac().createZeitdaten(zeitdatenDto, true, true, false, theclientDto); zeitdatenDto = zeitdatenDtoEnde; } session.close(); /* * if (lReisezeiten.size() > 0) { FLRZeitdaten * flrZeitdaten = (FLRZeitdaten) * lReisezeiten.iterator().next(); * * ZeitdatenDto losbeginn = getZeiterfassungsFac(). * zeitdatenFindByPrimaryKey(flrZeitdaten.getI_id(), * cNrUser); * * losbeginn.setNGut(nGutStueck); * losbeginn.setNSchlecht(nSchlechtStueck); * getZeiterfassungsFac().updateZeitdaten(losbeginn, * cNrUser); //und buche ENDE zeitdatenDto = * zeitdatenDtoEnde; } else { * zeitdatenDto.setCBelegartnr * (LocaleFac.BELEGART_LOS); * zeitdatenDto.setArtikelIId(artikelIId); * zeitdatenDto.setIBelegartid(losDto.getIId()); * zeitdatenDto.setNGut(nGutStueck); * zeitdatenDto.setNSchlecht(nSchlechtStueck); * getZeiterfassungsFac * ().createZeitdaten(zeitdatenDto, true, true, * cNrUser); zeitdatenDto = zeitdatenDtoEnde; } * * session.close(); */ } } else { zeitdatenDto.setTaetigkeitIId(getZeiterfassungsFac().taetigkeitFindByCNr( Helper.fitString2Length(sTaetigkeit.substring(1), 15, ' '), theclientDto).getIId()); } } else { sTaetigkeit = getSystemServicesFac() .keyvalueFindByPrimaryKey(SystemServicesFac.KEYVALUE_MECSTERMINAL, taetigkeit) .getCValue(); if (sTaetigkeit != null && !sTaetigkeit.equals(ZeiterfassungFac.TAETIGKEIT_REISE.trim())) { zeitdatenDto.setTaetigkeitIId(getZeiterfassungsFac() .taetigkeitFindByCNr(Helper.fitString2Length(sTaetigkeit, 15, ' '), theclientDto) .getIId()); } } // Resezeiten wenn Taetigkeit REISE if (sTaetigkeit != null && sTaetigkeit.equals(ZeiterfassungFac.TAETIGKEIT_REISE.trim())) { ReiseDto reiseDto = new ReiseDto(); reiseDto.setPersonalIId(personalIId); // Letzte Reise von HEUTE holen // Heute 00:00 Uhr Calendar cTemp = Calendar.getInstance(); cTemp.setTimeInMillis(zeitdatenDto.getTZeit().getTime()); cTemp.set(Calendar.HOUR_OF_DAY, 0); cTemp.set(Calendar.MINUTE, 0); cTemp.set(Calendar.SECOND, 0); cTemp.set(Calendar.MILLISECOND, 0); Session sessReise = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria reisezeiten = sessReise.createCriteria(FLRReise.class); reisezeiten.add(Expression.eq(ZeiterfassungFac.FLR_REISE_PERSONAL_I_ID, personalIId)); reisezeiten.add(Expression.ge(ZeiterfassungFac.FLR_REISE_T_ZEIT, new Timestamp(cTemp.getTimeInMillis()))); reisezeiten.add(Expression.lt(ZeiterfassungFac.FLR_REISE_T_ZEIT, zeitdatenDto.getTZeit())); reisezeiten.addOrder(Order.desc(ZeiterfassungFac.FLR_REISE_T_ZEIT)); reisezeiten.setMaxResults(1); List<?> lReisezeiten = reisezeiten.list(); if (lReisezeiten.size() == 0) { reiseDto.setBBeginn(Helper.boolean2Short(true)); } else { FLRReise flrReise = (FLRReise) lReisezeiten.get(0); if (Helper.short2boolean(flrReise.getB_beginn()) == true) { reiseDto.setBBeginn(Helper.boolean2Short(false)); } else { reiseDto.setBBeginn(Helper.boolean2Short(true)); } } reiseDto.setTZeit(zeitdatenDto.getTZeit()); Integer partnerMandant = getMandantFac().mandantFindByPrimaryKey(mandant, theclientDto) .getPartnerIId(); PartnerDto partnerDto = getPartnerFac().partnerFindByPrimaryKey(partnerMandant, theclientDto); if (partnerDto.getLandplzortIId() == null) { throw new Exception("Mandant hat kein Land hinterlegt"); } DiaetenDto[] dtos = getZeiterfassungsFac() .diaetenFindByLandIId(partnerDto.getLandplzortDto().getIlandID()); if (dtos.length == 0) { // Einen anlegen DiaetenDto dto = new DiaetenDto(); dto.setCBez(partnerDto.getLandplzortDto().getLandDto().getCName()); dto.setLandIId(partnerDto.getLandplzortDto().getIlandID()); reiseDto.setDiaetenIId(getZeiterfassungsFac().createDiaeten(dto)); } else { reiseDto.setDiaetenIId(dtos[0].getIId()); } getZeiterfassungsFac().createReise(reiseDto, theclientDto); response.setStatus(HttpServletResponse.SC_OK); response.flushBuffer(); getTheClient(request, response).setBResponseIsReady(true); return getSJSPNext(); } } catch (Exception ex3) { ex3.printStackTrace(); // lt. FM darf an das MECS-Terminal nur Status=200 // zurueckgegeben werden response.setStatus(HttpServletResponse.SC_OK); return getSJSPNext(); } getZeiterfassungsFac().createZeitdaten(zeitdatenDto, true, true, false, theclientDto); response.setStatus(HttpServletResponse.SC_OK); response.flushBuffer(); getTheClient(request, response).setBResponseIsReady(true); } else if (command.equals(TheApp.CMD_ZE_QUICKZE)) { } else if (command.equals(TheApp.CMD_ZE_RECHNERSTART1)) { int i = 0; } else if (command.equals(TheApp.CMD_ZE_QUICKZEITERFASSUNG)) { if (getTheClient(request, response).getSMsg() == null) { getTheClient(request, response).setSMsg(""); } String username = getCookieValue("anmeldename", request); String password = getCookieValue("pass", request); if (localeCookie != null && localeCookie.length() > 3) { localeLogon = new Locale(localeCookie.substring(0, 2), localeCookie.substring(2, 4)); } if (username == null || password == null) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Es wurde kein Benutzername oder Kennwort angegeben. Bitte verwenden Sie http://?????cmd=quickze"); } try { theclientDto = getLogonFac().logon(Helper.getFullUsername(username), Helper.getMD5Hash((username + password).toCharArray()), localeLogon, null, null, new Timestamp(System.currentTimeMillis())); } catch (EJBExceptionLP ex12) { int code = ex12.getCode(); if (code == EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Benutzername '" + username + "' konnte im System nicht gefunden werden"); } else if (code == EJBExceptionLP.FEHLER_FALSCHES_KENNWORT) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Kennwort f\u00FCr Benutzername '" + username + "' ist falsch."); } else if (code == EJBExceptionLP.FEHLER_BENUTZER_IST_GESPERRT) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Benutzername '" + username + "' ist gesperrt."); } else if (code == EJBExceptionLP.FEHLER_BENUTZER_IST_NICHT_MEHR_GUELTIG) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Benutzername '" + username + "' ist nicht mehr g\u00FCltig."); } else if (code == EJBExceptionLP.FEHLER_BENUTZER_DARF_SICH_BEI_DIESEM_MANDANTEN_NICHT_ANMELDEN) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Benutzername '" + username + "' darf sich bei dem Mandanten nicht anmelden."); } else if (code == EJBExceptionLP.FEHLER_BENUTZER_KEIN_EINTRAG_IN_BENUTZERMANDANT) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Kein Eintrag in Benutzermandant f\u00FCr Benutzername '" + username + "'."); } else if (ex12.getCode() == EJBExceptionLP.FEHLER_MAXIMALE_BENUTZERANZAHL_UEBERSCHRITTEN) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Maximale Benutzeranzahl \u00FCberschritten '" + username + "'."); return null; } else if (code == EJBExceptionLP.FEHLER_BENUTZER_DARF_SICH_IN_DIESER_SPRACHE_NICHT_ANMELDEN) { ArrayList<?> al = ((EJBExceptionLP) ex12.getCause()).getAlInfoForTheClient(); String zusatz = ""; if (al.size() > 0 && al.get(0) instanceof Locale) { Locale loc = (Locale) al.get(0); zusatz = "(" + loc.getDisplayLanguage() + "|" + loc.getDisplayCountry() + ")"; } response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Benutzer '" + username + "' darf sich in '" + zusatz + "' nicht anmelden."); } return null; } PersonalDto personalDto = getPersonalFac().personalFindByPrimaryKey(theclientDto.getIDPersonal(), theclientDto); personalDto.setPartnerDto( getPartnerFac().partnerFindByPrimaryKey(personalDto.getPartnerIId(), theclientDto)); HashMap<String, Object> hmData = new HashMap<String, Object>(); TextDto textDto = getSystemMultilanguageFac().textFindByPrimaryKeyOhneExc("quickze.sondertaetigkeit", theclientDto.getMandant(), theclientDto.getLocUiAsString()); if (textDto != null) { hmData.put("bezeichnung_sondertaetigkeit", textDto.getCText()); } else { hmData.put("bezeichnung_sondertaetigkeit", "Sondert\u00E4tigkeit"); } // Belegarten holen Map<String, String> b = getZeiterfassungsFac().getBebuchbareBelegarten(theclientDto); hmData.put("belegarten", b); String firstBelegart = (String) b.keySet().iterator().next(); String belegart = null; if (request.getParameter("belegart") == null) { belegart = firstBelegart; } else { belegart = request.getParameter("belegart"); } if (belegart.equals(LocaleFac.BELEGART_AUFTRAG)) { textDto = getSystemMultilanguageFac().textFindByPrimaryKeyOhneExc("quickze.offenerauftrag", theclientDto.getMandant(), theclientDto.getLocUiAsString()); } else if (belegart.equals(LocaleFac.BELEGART_LOS)) { textDto = getSystemMultilanguageFac().textFindByPrimaryKeyOhneExc("quickze.offeneslos", theclientDto.getMandant(), theclientDto.getLocUiAsString()); } else if (belegart.equals(LocaleFac.BELEGART_ANGEBOT)) { textDto = getSystemMultilanguageFac().textFindByPrimaryKeyOhneExc("quickze.offenesangebot", theclientDto.getMandant(), theclientDto.getLocUiAsString()); } else if (belegart.equals(LocaleFac.BELEGART_PROJEKT)) { textDto = getSystemMultilanguageFac().textFindByPrimaryKeyOhneExc("quickze.offenesprojekt", theclientDto.getMandant(), theclientDto.getLocUiAsString()); } if (textDto != null) { hmData.put("bezeichnung_offenerauftrag", textDto.getCText()); } else { hmData.put("bezeichnung_offenerauftrag", "Offener Beleg"); } textDto = getSystemMultilanguageFac().textFindByPrimaryKeyOhneExc("quickze.taetigkeit", theclientDto.getMandant(), theclientDto.getLocUiAsString()); if (textDto != null) { hmData.put("bezeichnung_taetigkeit", textDto.getCText()); } else { hmData.put("bezeichnung_taetigkeit", "T\u00E4tigkeit"); } textDto = getSystemMultilanguageFac().textFindByPrimaryKeyOhneExc("quickze.kunde", theclientDto.getMandant(), theclientDto.getLocUiAsString()); if (textDto != null) { hmData.put("bezeichnung_kunde", textDto.getCText()); } else { hmData.put("bezeichnung_kunde", "Kunde"); } textDto = getSystemMultilanguageFac().textFindByPrimaryKeyOhneExc("quickze.belegart", theclientDto.getMandant(), theclientDto.getLocUiAsString()); if (textDto != null) { hmData.put("bezeichnung_belegart", textDto.getCText()); } else { hmData.put("bezeichnung_belegart", "Belegart"); } textDto = getSystemMultilanguageFac().textFindByPrimaryKeyOhneExc("quickze.bemerkung", theclientDto.getMandant(), theclientDto.getLocUiAsString()); if (textDto != null) { hmData.put("bezeichnung_bemerkung", textDto.getCText()); } else { hmData.put("bezeichnung_bemerkung", "Bemerkung"); } hmData.put("locale", Helper.locale2String(localeLogon).trim()); hmData.put("mandant", mandant); hmData.put("person", personalDto.getPartnerDto().formatAnrede()); // Kunden mit offenen Auftraegen holen Session session = FLRSessionFactory.getFactory().openSession(); String sQuery = ""; if (belegart.equals(LocaleFac.BELEGART_AUFTRAG)) { sQuery = "SELECT flrkunde.flrpartner.c_name1nachnamefirmazeile1, flrkunde.flrpartner.c_name2vornamefirmazeile2, flrkunde.flrpartner.i_id " + " FROM FLRAuftrag AS auftrag WHERE (auftrag.auftragstatus_c_nr='" + LocaleFac.STATUS_OFFEN + "' OR auftrag.auftragstatus_c_nr='" + LocaleFac.STATUS_TEILERLEDIGT + "') AND auftrag.mandant_c_nr='" + theclientDto.getMandant() + "'" + " GROUP BY flrkunde.flrpartner.c_name1nachnamefirmazeile1, flrkunde.flrpartner.c_name2vornamefirmazeile2, flrkunde.flrpartner.i_id ORDER BY flrkunde.flrpartner.c_name1nachnamefirmazeile1 ASC"; } else if (belegart.equals(LocaleFac.BELEGART_ANGEBOT)) { sQuery = "SELECT flrkunde.flrpartner.c_name1nachnamefirmazeile1, flrkunde.flrpartner.c_name2vornamefirmazeile2, flrkunde.flrpartner.i_id " + " FROM FLRAngebot AS angebot WHERE (angebot.angebotstatus_c_nr='" + LocaleFac.STATUS_OFFEN + "') AND angebot.mandant_c_nr='" + theclientDto.getMandant() + "'" + " GROUP BY flrkunde.flrpartner.c_name1nachnamefirmazeile1, flrkunde.flrpartner.c_name2vornamefirmazeile2, flrkunde.flrpartner.i_id ORDER BY flrkunde.flrpartner.c_name1nachnamefirmazeile1 ASC"; } else if (belegart.equals(LocaleFac.BELEGART_PROJEKT)) { sQuery = "SELECT flrpartner.c_name1nachnamefirmazeile1, flrpartner.c_name2vornamefirmazeile2, flrpartner.i_id " + " FROM FLRProjekt AS projekt WHERE projekt.status_c_nr<>'" + ProjektServiceFac.PROJEKT_STATUS_STORNIERT + "' AND projekt.t_erledigungsdatum IS NULL AND projekt.mandant_c_nr='" + theclientDto.getMandant() + "'" + " GROUP BY flrpartner.c_name1nachnamefirmazeile1, flrpartner.c_name2vornamefirmazeile2, flrpartner.i_id ORDER BY flrpartner.c_name1nachnamefirmazeile1 ASC"; } LinkedHashMap<Object, Object> tmKunden = new LinkedHashMap<Object, Object>(); Integer firstKunde = null; if (!belegart.equals(LocaleFac.BELEGART_LOS)) { Query kunden = session.createQuery(sQuery); List<?> resultList = kunden.list(); Iterator<?> resultListIterator = resultList.iterator(); int row = 0; while (resultListIterator.hasNext()) { Object o[] = (Object[]) resultListIterator.next(); if (row == 0) { firstKunde = (Integer) o[2]; } if (o[1] == null) { tmKunden.put(o[2], o[0]); } else { tmKunden.put(o[2], o[0] + " " + o[1]); } row++; } session.close(); } else { sQuery = "SELECT los " + " FROM FLRLosReport AS los WHERE (los.status_c_nr='" + LocaleFac.STATUS_AUSGEGEBEN + "' OR los.status_c_nr='" + LocaleFac.STATUS_IN_PRODUKTION + "' OR los.status_c_nr='" + LocaleFac.STATUS_TEILERLEDIGT + "') AND los.mandant_c_nr='" + theclientDto.getMandant() + "' AND ( los.flrauftrag IS NOT NULL OR los.flrkunde IS NOT NULL) "; Query kunden = session.createQuery(sQuery); List<?> resultList = kunden.list(); Iterator<?> resultListIterator = resultList.iterator(); int row = 0; while (resultListIterator.hasNext()) { FLRLosReport los = (FLRLosReport) resultListIterator.next(); Integer partnerIId = null; String kundenname = ""; if (los.getFlrauftrag() != null) { partnerIId = los.getFlrauftrag().getFlrkunde().getFlrpartner().getI_id(); kundenname += los.getFlrauftrag().getFlrkunde().getFlrpartner() .getC_name1nachnamefirmazeile1(); if (los.getFlrauftrag().getFlrkunde().getFlrpartner() .getC_name2vornamefirmazeile2() != null) { kundenname += " " + los.getFlrauftrag().getFlrkunde().getFlrpartner() .getC_name2vornamefirmazeile2(); } } else { partnerIId = los.getFlrkunde().getFlrpartner().getI_id(); kundenname += los.getFlrkunde().getFlrpartner().getC_name1nachnamefirmazeile1(); if (los.getFlrkunde().getFlrpartner().getC_name2vornamefirmazeile2() != null) { kundenname += " " + los.getFlrkunde().getFlrpartner().getC_name2vornamefirmazeile2(); } } if (row == 0) { firstKunde = partnerIId; } if (!tmKunden.containsKey(partnerIId)) { tmKunden.put(partnerIId, kundenname); } row++; } tmKunden = (LinkedHashMap) Helper.sortByValue(tmKunden); // leeren Kunden einfuegen tmKunden.put("", "--KEIN--"); session.close(); } hmData.put("kunden", tmKunden); // Sondertaetigkeiten holen Map<Integer, String> m = getZeiterfassungsFac() .getAllSprSondertaetigkeitenNurBDEBuchbar(theclientDto.getLocUiAsString()); hmData.put("taetigkeiten", m); // Kunden holen Integer kunde = null; if (request.getParameter("kunde") == null) { kunde = firstKunde; } else { if (!request.getParameter("kunde").equals("")) { if (!request.getParameter("kunde").equals(" ")) { if (!request.getParameter("kunde").trim().equals("null")) { kunde = new Integer(request.getParameter("kunde").trim()); } } } } hmData.put("selectedbelegart", belegart); session = FLRSessionFactory.getFactory().openSession(); if (belegart.equals(LocaleFac.BELEGART_AUFTRAG)) { sQuery = "SELECT auftrag.i_id, auftrag.c_nr, auftrag.c_bez, auftrag.t_liefertermin, auftrag.flrkunde.flrpartner.i_id " + " FROM FLRAuftrag AS auftrag WHERE (auftrag.auftragstatus_c_nr='" + LocaleFac.STATUS_OFFEN + "' OR auftrag.auftragstatus_c_nr='" + LocaleFac.STATUS_TEILERLEDIGT + "') AND auftrag.flrkunde.flrpartner.i_id=" + kunde + " AND auftrag.b_versteckt=0 ORDER BY auftrag.c_nr ASC"; } else if (belegart.equals(LocaleFac.BELEGART_LOS)) { sQuery = "SELECT los.i_id, los.c_nr, los.c_projekt, los.t_produktionsende, coalesce(auftragpartner.i_id,kundepartner.i_id) " + " FROM FLRLosReport AS los LEFT OUTER JOIN los.flrauftrag.flrkunde.flrpartner as auftragpartner LEFT OUTER JOIN los.flrkunde.flrpartner as kundepartner WHERE (los.status_c_nr='" + LocaleFac.STATUS_AUSGEGEBEN + "' OR los.status_c_nr='" + LocaleFac.STATUS_IN_PRODUKTION + "' OR los.status_c_nr='" + LocaleFac.STATUS_TEILERLEDIGT + "') "; if (kunde != null) { sQuery += " AND ( auftragpartner.i_id=" + kunde + " OR kundepartner.i_id=" + kunde + ")"; } else { sQuery += " AND ( auftragpartner.i_id IS NULL AND kundepartner.i_id IS NULL)"; } sQuery += " ORDER BY los.c_nr ASC"; } else if (belegart.equals(LocaleFac.BELEGART_ANGEBOT)) { sQuery = "SELECT angebot.i_id, angebot.c_nr, angebot.c_bez, angebot.t_realisierungstermin, angebot.flrkunde.flrpartner.i_id " + " FROM FLRAngebot AS angebot WHERE angebot.angebotstatus_c_nr='" + LocaleFac.STATUS_OFFEN + "' AND angebot.flrkunde.flrpartner.i_id=" + kunde + " ORDER BY angebot.c_nr ASC"; } else if (belegart.equals(LocaleFac.BELEGART_PROJEKT)) { sQuery = "SELECT projekt.i_id, projekt.c_nr, projekt.c_titel, projekt.t_zielwunschdatum, projekt.partner_i_id " + " FROM FLRProjekt AS projekt WHERE projekt.status_c_nr<>'" + ProjektServiceFac.PROJEKT_STATUS_STORNIERT + "' AND projekt.t_erledigungsdatum IS NULL AND projekt.partner_i_id=" + kunde + " ORDER BY projekt.c_nr ASC"; } Query auftraege = session.createQuery(sQuery); List<?> resultList = auftraege.list(); Iterator resultListIterator = resultList.iterator(); LinkedHashMap<Object, Object> tmAuftraege = new LinkedHashMap<Object, Object>(); Object partnerIId = null; String selectedAuftragId = null; while (resultListIterator.hasNext()) { Object o[] = (Object[]) resultListIterator.next(); partnerIId = (Integer) o[4]; if (o[2] == null) { tmAuftraege.put(o[0], o[1]); } else { tmAuftraege.put(o[0], o[1] + " " + o[2]); } if (selectedAuftragId == null) { selectedAuftragId = o[0].toString(); } } session.close(); hmData.put("auftraege", tmAuftraege); hmData.put("selectedkunde", partnerIId); if (request.getParameter("auftrag") != null && request.getParameter("auftrag").length() > 0) { selectedAuftragId = request.getParameter("auftrag"); } // Artikel zu Auftrag holen session = FLRSessionFactory.getFactory().openSession(); if (belegart.equals(LocaleFac.BELEGART_AUFTRAG)) { sQuery = "SELECT a.i_id, a.flrartikel.i_id FROM FLRAuftragposition AS a WHERE a.flrauftrag.i_id=" + selectedAuftragId + " AND a.flrartikel.artikelart_c_nr='" + ArtikelFac.ARTIKELART_ARBEITSZEIT + "'"; } else if (belegart.equals(LocaleFac.BELEGART_LOS)) { sQuery = "SELECT a.i_id, a.flrartikel.i_id FROM FLRLossollarbeitsplan AS a WHERE a.los_i_id=" + selectedAuftragId + " AND a.flrartikel.artikelart_c_nr='" + ArtikelFac.ARTIKELART_ARBEITSZEIT + "'"; } else if (belegart.equals(LocaleFac.BELEGART_ANGEBOT)) { sQuery = "SELECT a.i_id, a.flrartikel.i_id FROM FLRAngebotposition AS a WHERE a.flrangebot.i_id=" + selectedAuftragId + " AND a.flrartikel.artikelart_c_nr='" + ArtikelFac.ARTIKELART_ARBEITSZEIT + "'"; } LinkedHashMap<Object, Object> tmArtikel = new LinkedHashMap<Object, Object>(); if (!belegart.equals(LocaleFac.BELEGART_PROJEKT)) { Query artikelListe = session.createQuery(sQuery); resultList = artikelListe.list(); resultListIterator = resultList.iterator(); if (resultList.size() > 0) { tmArtikel.put(-1, " - - - - - - Beleg - - - - - -"); } while (resultListIterator.hasNext()) { Object[] zeile = (Object[]) resultListIterator.next(); Integer artikelIId = (Integer) zeile[1]; String sollIst = ""; if (belegart.equals(LocaleFac.BELEGART_AUFTRAG)) { BigDecimal bdSoll = getAuftragpositionFac() .auftragpositionFindByPrimaryKey((Integer) zeile[0]).getNMenge(); sollIst = "; Soll: " + Helper.formatZahl(bdSoll, 2, theclientDto.getLocUi()); Double dIst; try { boolean bZuvieleZeitbuchungen = getZeiterfassungsFac() .sindZuvieleZeitdatenEinesBelegesVorhanden(belegart, new Integer(selectedAuftragId), theclientDto); if (bZuvieleZeitbuchungen == false) { dIst = getZeiterfassungsFac().getSummeZeitenEinesBeleges(belegart, new Integer(selectedAuftragId), (Integer) zeile[0], null, null, null, theclientDto); sollIst += " Ist: " + Helper.formatZahl(dIst, 2, theclientDto.getLocUi()); } } catch (Exception e) { sollIst += " Ist: ERR"; } } String artikel = getArtikelFac().artikelFindByPrimaryKey(artikelIId, theclientDto) .formatArtikelbezeichnung() + sollIst; if (!tmArtikel.containsKey(artikelIId)) { tmArtikel.put(artikelIId, artikel); } } session.close(); } // Artikel des Auftrags + Artikel aus Personalverfuegbarkeit holen if (selectedAuftragId != null) { PersonalverfuegbarkeitDto[] personalverfuegbarkeitDtos = getPersonalFac() .personalverfuegbarkeitFindByPersonalIId(personalDto.getIId()); if (personalverfuegbarkeitDtos.length > 0) { tmArtikel.put(-2, " - - - Verf\u00FCgbarkeit - - - "); } for (int i = 0; i < personalverfuegbarkeitDtos.length; i++) { PersonalverfuegbarkeitDto v = personalverfuegbarkeitDtos[i]; String artikel = getArtikelFac().artikelFindByPrimaryKey(v.getArtikelIId(), theclientDto) .formatArtikelbezeichnung(); tmArtikel.put(v.getArtikelIId(), artikel); } hmData.put("selectedauftrag", selectedAuftragId); } ParametermandantDto parameterDtoDefaultarbeitszeit = getParameterFac().getMandantparameter(mandant, ParameterFac.KATEGORIE_ALLGEMEIN, ParameterFac.PARAMETER_DEFAULT_ARBEITSZEITARTIKEL); if (parameterDtoDefaultarbeitszeit != null && parameterDtoDefaultarbeitszeit.getCWert() != null && !parameterDtoDefaultarbeitszeit.getCWert().trim().equals("")) { ArtikelDto artikelDtoDefaultArbeiztszeit = getArtikelFac() .artikelFindByCNr(parameterDtoDefaultarbeitszeit.getCWert(), theclientDto); tmArtikel.put(-3, " - - - Default-Arbeitszeitartikel - - -"); tmArtikel.put(artikelDtoDefaultArbeiztszeit.getIId(), artikelDtoDefaultArbeiztszeit.formatArtikelbezeichnung()); } hmData.put("artikel", tmArtikel); // Zeitbuchen String bucheauftrag = request.getParameter("bucheauftrag"); String buchesondertaetigkeit = request.getParameter("buchesondertaetigkeit"); // Zeit buchen ZeitdatenDto zeitdatenDto = new ZeitdatenDto(); zeitdatenDto.setPersonalIId(personalDto.getIId()); Timestamp tZeit = new Timestamp(System.currentTimeMillis()); zeitdatenDto.setCWowurdegebucht("Quick-ZE " + request.getRemoteHost()); String meldung = ""; zeitdatenDto.setTZeit(tZeit); String bemerkung = request.getParameter("bemerkung"); zeitdatenDto.setCBemerkungZuBelegart(bemerkung); if (bucheauftrag != null && bucheauftrag.length() > 0) { if (request.getParameter("artikel") != null) { Integer artikelId = new Integer(request.getParameter("artikel")); if (artikelId > 0) { Integer auftragIId = new Integer(selectedAuftragId.trim()); String s = "Auf "; if (kunde != null) { PartnerDto partnerDto = getPartnerFac().partnerFindByPrimaryKey(kunde, theclientDto); s += partnerDto.formatFixName1Name2() + ", "; } if (belegart.equals(LocaleFac.BELEGART_AUFTRAG)) { textDto = getSystemMultilanguageFac().textFindByPrimaryKeyOhneExc("quickze.auftrag", theclientDto.getMandant(), theclientDto.getLocUiAsString()); if (textDto != null) { s += textDto.getCText() + " "; } else { s += "Auftrag "; } com.lp.server.auftrag.service.AuftragDto auftragDto = getAuftragFac() .auftragFindByPrimaryKey(auftragIId); s += auftragDto.getCNr(); if (auftragDto.getCBezProjektbezeichnung() != null) { s += " " + auftragDto.getCBezProjektbezeichnung(); } com.lp.server.auftrag.service.AuftragpositionDto[] auftragpositionDtos = getAuftragpositionFac() .auftragpositionFindByAuftrag(auftragIId); if (auftragpositionDtos.length > 0) { zeitdatenDto.setIBelegartpositionid(auftragpositionDtos[0].getIId()); } } else if (belegart.equals(LocaleFac.BELEGART_ANGEBOT)) { textDto = getSystemMultilanguageFac().textFindByPrimaryKeyOhneExc("angb.angebot", theclientDto.getMandant(), theclientDto.getLocUiAsString()); if (textDto != null) { s += textDto.getCText() + " "; } else { s += "Angebot "; } com.lp.server.angebot.service.AngebotDto auftragDto = getAngebotFac() .angebotFindByPrimaryKey(auftragIId, theclientDto); s += auftragDto.getCNr(); if (auftragDto.getCBez() != null) { s += " " + auftragDto.getCBez(); } } else if (belegart.equals(LocaleFac.BELEGART_PROJEKT)) { textDto = getSystemMultilanguageFac().textFindByPrimaryKeyOhneExc( "lp.projekt.modulname", theclientDto.getMandant(), theclientDto.getLocUiAsString()); if (textDto != null) { s += textDto.getCText() + " "; } else { s += "Projekt "; } com.lp.server.projekt.service.ProjektDto auftragDto = getProjektFac() .projektFindByPrimaryKey(auftragIId); s += auftragDto.getCNr(); if (auftragDto.getCTitel() != null) { s += " " + auftragDto.getCTitel(); } } else if (belegart.equals(LocaleFac.BELEGART_LOS)) { textDto = getSystemMultilanguageFac().textFindByPrimaryKeyOhneExc( "fert.tab.unten.los.title", theclientDto.getMandant(), theclientDto.getLocUiAsString()); if (textDto != null) { s += textDto.getCText() + " "; } else { s += "Los "; } LosDto auftragDto = getFertigungFac().losFindByPrimaryKey(auftragIId); s += auftragDto.getCNr(); if (auftragDto.getCProjekt() != null) { s += " " + auftragDto.getCProjekt(); } LossollarbeitsplanDto[] dtos = getFertigungFac() .lossollarbeitsplanFindByLosIIdArtikelIIdTaetigkeit(auftragIId, artikelId); if (dtos.length > 0) { zeitdatenDto.setIBelegartpositionid(dtos[0].getIId()); } } zeitdatenDto.setPersonalIId(personalDto.getIId()); zeitdatenDto.setCBelegartnr(belegart); zeitdatenDto.setIBelegartid(auftragIId); zeitdatenDto.setArtikelIId(artikelId); ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKey(artikelId, theclientDto); meldung += s + ", " + artikelDto.formatArtikelbezeichnung(); getZeiterfassungsFac().createZeitdaten(zeitdatenDto, true, true, false, theclientDto); meldung += " um " + Helper.formatTime(tZeit, localeLogon) + " gebucht."; getTheClient(request, response).setSMsg(meldung); } } else { getTheClient(request, response).setSMsg("Keine Auftragsposition ausgew\u00E4hlt"); } } else if (buchesondertaetigkeit != null && buchesondertaetigkeit.length() > 0) { String zusatz = request.getParameter("zusatz"); if (zusatz != null && zusatz.length() > 0) { // Zeit ist immer jetzt Calendar c = Calendar.getInstance(); c.setTimeInMillis(zeitdatenDto.getTZeit().getTime()); ZeitdatenDto[] letzeBuchungen = getZeiterfassungsFac() .zeitdatenFindZeitdatenEinesTagesUndEinerPersonOnheBelegzeiten( zeitdatenDto.getPersonalIId(), Helper.cutTimestamp(zeitdatenDto.getTZeit()), zeitdatenDto.getTZeit()); Integer taetigkeitIId_Kommt = getZeiterfassungsFac() .taetigkeitFindByCNr(ZeiterfassungFac.TAETIGKEIT_KOMMT, theclientDto).getIId(); Integer taetigkeitIId_Unter = getZeiterfassungsFac() .taetigkeitFindByCNr(ZeiterfassungFac.TAETIGKEIT_UNTER, theclientDto).getIId(); Integer taetigkeitIId_Geht = getZeiterfassungsFac() .taetigkeitFindByCNr(ZeiterfassungFac.TAETIGKEIT_GEHT, theclientDto).getIId(); if (zusatz.equals("spezialkommt")) { if (letzeBuchungen.length == 0) { // Zuerst Kommt und dann UNTER ZeitdatenDto dtoKommt = new ZeitdatenDto(); dtoKommt.setTaetigkeitIId(taetigkeitIId_Kommt); dtoKommt.setPersonalIId(zeitdatenDto.getPersonalIId()); dtoKommt.setCWowurdegebucht("Spezial-Kommt"); // Zeit 100 MS vorher dtoKommt.setTZeit(new Timestamp(zeitdatenDto.getTZeit().getTime())); getZeiterfassungsFac().createZeitdaten(dtoKommt, false, false, false, theclientDto); // Taetigkeit GEHT Buchen ZeitdatenDto dtoUnter = new ZeitdatenDto(); dtoUnter.setTaetigkeitIId(taetigkeitIId_Unter); dtoUnter.setPersonalIId(zeitdatenDto.getPersonalIId()); dtoUnter.setCWowurdegebucht("Spezial-Kommt"); // Zeit 100 MS nachher dtoUnter.setTZeit(new Timestamp(zeitdatenDto.getTZeit().getTime() + 96)); getZeiterfassungsFac().createZeitdaten(dtoUnter, false, false, false, theclientDto); } else if (letzeBuchungen.length == 1) { Integer letztetaetigkeit = letzeBuchungen[0].getTaetigkeitIId(); // Wenn nur Kommt, dann Unter buchen if (taetigkeitIId_Kommt.equals(letztetaetigkeit)) { // Taetigkeit UNTER Buchen ZeitdatenDto dtoUnter = new ZeitdatenDto(); dtoUnter.setTaetigkeitIId(taetigkeitIId_Unter); dtoUnter.setPersonalIId(zeitdatenDto.getPersonalIId()); dtoUnter.setCWowurdegebucht("Spezial-Kommt"); dtoUnter.setTZeit(new Timestamp(zeitdatenDto.getTZeit().getTime())); getZeiterfassungsFac().createZeitdaten(dtoUnter, false, false, false, theclientDto); } } else if (letzeBuchungen.length > 1) { Integer letztetaetigkeit = letzeBuchungen[letzeBuchungen.length - 1].getTaetigkeitIId(); if (taetigkeitIId_Kommt.equals(letztetaetigkeit)) { // Taetigkeit UNTER Buchen ZeitdatenDto dtoUnter = new ZeitdatenDto(); dtoUnter.setTaetigkeitIId(taetigkeitIId_Unter); dtoUnter.setPersonalIId(zeitdatenDto.getPersonalIId()); dtoUnter.setCWowurdegebucht("Spezial-Kommt"); dtoUnter.setTZeit(new Timestamp(zeitdatenDto.getTZeit().getTime())); getZeiterfassungsFac().createZeitdaten(dtoUnter, false, false, false, theclientDto); } else { // Wenn letzte Taetigkeit ein Geht ist wird // Kommt // und Unter gebucht if (!taetigkeitIId_Geht.equals(letztetaetigkeit)) { int iSondertaetigkeitenHintereinander = 1; for (int i = letzeBuchungen.length - 2; i >= 0; i--) { ZeitdatenDto dto = letzeBuchungen[i]; if (letztetaetigkeit.equals(dto.getTaetigkeitIId())) { iSondertaetigkeitenHintereinander++; } else { break; } letztetaetigkeit = dto.getTaetigkeitIId(); } if (iSondertaetigkeitenHintereinander % 2 == 0) { // Taetigkeit UNTER Buchen ZeitdatenDto dtoUnter = new ZeitdatenDto(); dtoUnter.setTaetigkeitIId(taetigkeitIId_Unter); dtoUnter.setPersonalIId(zeitdatenDto.getPersonalIId()); dtoUnter.setCWowurdegebucht("Spezial-Geht"); dtoUnter.setTZeit(new Timestamp(zeitdatenDto.getTZeit().getTime())); getZeiterfassungsFac().createZeitdaten(dtoUnter, false, false, false, theclientDto); /** * @todo 100ms vorher Projekt-ENDE * buchen */ } } else { // Taetigkeit KOMMT Buchen ZeitdatenDto dtoKommt = new ZeitdatenDto(); dtoKommt.setTaetigkeitIId(taetigkeitIId_Kommt); dtoKommt.setPersonalIId(zeitdatenDto.getPersonalIId()); dtoKommt.setCWowurdegebucht("Spezial-Kommt"); dtoKommt.setTZeit(new Timestamp(zeitdatenDto.getTZeit().getTime())); getZeiterfassungsFac().createZeitdaten(dtoKommt, false, false, false, theclientDto); // Taetigkeit UNTER Buchen ZeitdatenDto dtoUnter = new ZeitdatenDto(); dtoUnter.setTaetigkeitIId(taetigkeitIId_Unter); dtoUnter.setPersonalIId(zeitdatenDto.getPersonalIId()); dtoUnter.setCWowurdegebucht("Spezial-Kommt"); // Zeit 100 MS nachher dtoUnter.setTZeit(new Timestamp(zeitdatenDto.getTZeit().getTime() + 96)); getZeiterfassungsFac().createZeitdaten(dtoUnter, false, false, false, theclientDto); } } } } else if (zusatz.equals("spezialgeht")) { if (letzeBuchungen.length > 1) { Integer letztetaetigkeit = letzeBuchungen[letzeBuchungen.length - 1].getTaetigkeitIId(); // Wenn letzte Taetigkeit kein geht ist, sonst wird // geht verschmissen if (!taetigkeitIId_Geht.equals(letztetaetigkeit)) { int iSondertaetigkeitenHintereinander = 1; for (int i = letzeBuchungen.length - 2; i >= 0; i--) { ZeitdatenDto dto = letzeBuchungen[i]; if (letztetaetigkeit.equals(dto.getTaetigkeitIId())) { iSondertaetigkeitenHintereinander++; } else { break; } letztetaetigkeit = dto.getTaetigkeitIId(); } if (iSondertaetigkeitenHintereinander % 2 == 1) { // Sondertaetigkeit Ende Buchen ZeitdatenDto dtoSonderEnde = new ZeitdatenDto(); dtoSonderEnde.setTaetigkeitIId(letztetaetigkeit); dtoSonderEnde.setPersonalIId(zeitdatenDto.getPersonalIId()); dtoSonderEnde.setCWowurdegebucht("Spezial-Geht"); // Zeit 100 MS vorher dtoSonderEnde.setTZeit(new Timestamp(zeitdatenDto.getTZeit().getTime() - 96)); getZeiterfassungsFac().createZeitdaten(dtoSonderEnde, false, false, false, theclientDto); // Taetigkeit GEHT Buchen ZeitdatenDto dtoUnter = new ZeitdatenDto(); dtoUnter.setTaetigkeitIId(taetigkeitIId_Geht); dtoUnter.setPersonalIId(zeitdatenDto.getPersonalIId()); dtoUnter.setCWowurdegebucht("Spezial-Geht"); // Zeit 100 MS vorher dtoUnter.setTZeit(new Timestamp(zeitdatenDto.getTZeit().getTime())); getZeiterfassungsFac().createZeitdaten(dtoUnter, false, false, false, theclientDto); } else { // Taetigkeit GEHT Buchen ZeitdatenDto dtoUnter = new ZeitdatenDto(); dtoUnter.setTaetigkeitIId(taetigkeitIId_Geht); dtoUnter.setPersonalIId(zeitdatenDto.getPersonalIId()); dtoUnter.setCWowurdegebucht("Spezial-Geht"); // Zeit 100 MS vorher dtoUnter.setTZeit(new Timestamp(zeitdatenDto.getTZeit().getTime())); getZeiterfassungsFac().createZeitdaten(dtoUnter, false, false, false, theclientDto); } } } } else { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "zusatz '" + zusatz + "' unbekannt"); } setSJSPNext("mecs.jsp"); return getSJSPNext(); } else { if (request.getParameter("taetigkeit") != null) { Integer taetigkeitId = new Integer(request.getParameter("taetigkeit")); zeitdatenDto.setTaetigkeitIId(taetigkeitId); TaetigkeitDto dto = getZeiterfassungsFac().taetigkeitFindByPrimaryKey(taetigkeitId, theclientDto); meldung += dto.getBezeichnung(); getZeiterfassungsFac().createZeitdaten(zeitdatenDto, true, true, false, theclientDto); meldung += " um " + Helper.formatTime(tZeit, localeLogon) + " gebucht."; getTheClient(request, response).setSMsg(meldung); } else { getTheClient(request, response).setSMsg("Keine T\u00E4tigkeit ausgew\u00E4hlt"); } } } getTheClient(request, response).setData(hmData); // AD+CK logout wegen usercount synchronized (mutex) { // PJ 15986 getLogonFac().logout(theclientDto); } } else if (command.equals(TheApp.CMD_ZU_MECS_TERMINAL)) { // Personalstamm holen String master = request.getParameter("master"); try { ZutrittscontrollerDto zutrittscontrollerDto = getZutrittscontrollerFac() .zutrittscontrollerFindByCNr(master); ZutrittsobjektDto[] zutrittsobjektDtos = getZutrittscontrollerFac() .zutrittsobjektFindByZutrittscontrollerIId(zutrittscontrollerDto.getIId()); StringBuffer objekte = new StringBuffer(); for (int i = 0; i < zutrittsobjektDtos.length; i++) { objekte.append(Helper.fitString2Length(zutrittsobjektDtos[i].getCNr(), 6, ' ')); // terminal- // id objekte.append(Helper.fitString2Length(zutrittsobjektDtos[i].getCAdresse(), 100, ' ')); // adresse objekte.append("\r\n"); } myLogger.info(command + ":" + new String(objekte)); getTheClient(request, response).setSMsg(new String(objekte)); } catch (RemoteException ex5) { if (ex5.getCause() instanceof EJBExceptionLP) { EJBExceptionLP lpex = (EJBExceptionLP) ex5.getCause(); if (lpex.getCode() == EJBExceptionLP.FEHLER_BEI_FIND) { myLogger.error("Zutrittscontroller '" + master + "' nicht angelegt", ex5); } else { myLogger.error(ex5.getMessage(), ex5); } } } } else if (command.equals(TheApp.CMD_ZU_MECS_RELAIS)) { // Personalstamm holen String termid = request.getParameter("termid"); if (termid == null || termid.length() == 0) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Es ist der Parameter termid='LanPortName' erforderlich"); return null; } try { ZutrittsobjektDto zutrittsobjektDto = getZutrittscontrollerFac().zutrittsobjektFindByCNr(termid); StringBuffer objekte = new StringBuffer(); objekte.append("10"); // readerid objekte.append("0"); // port objekte.append(zutrittsobjektDto.getCRelais()); // relais String oeffnungszeit = zutrittsobjektDto.getFOeffnungszeit().toString(); oeffnungszeit = oeffnungszeit.replaceAll(",", "."); objekte.append(Helper.fitString2LengthAlignRight(oeffnungszeit, 4, ' ')); // oeffnungszeit objekte.append(zutrittsobjektDto.getZutrittsleserCNr().trim()); // readerid objekte.append("\r\n"); myLogger.info(command + ":" + new String(objekte)); getTheClient(request, response).setSMsg(new String(objekte)); } catch (EJBExceptionLP ex4) { if (ex4.getCode() == EJBExceptionLP.FEHLER_BEI_FIND) { response.sendError(HttpServletResponse.SC_NOT_FOUND, "Zutrittsobjekt '" + termid + "' nicht angelegt"); return null; } else { ex4.printStackTrace(); myLogger.error(ex4.getMessage(), ex4); } } } else if (command.equals(TheApp.CMD_ZU_MECS_ZUTRITT)) { String termid = request.getParameter("termid"); try { ZutrittsobjektDto dto = getZutrittscontrollerFac().zutrittsobjektFindByCNr(termid); String s = getZutrittscontrollerFac().getZutrittsdatenFuerEinObjektFuerMecs(dto.getIId(), theclientDto); myLogger.info(command + ":" + new String(s)); getTheClient(request, response).setSMsg(new String(s)); } catch (EJBExceptionLP ex4) { if (ex4.getCode() == EJBExceptionLP.FEHLER_BEI_FIND) { myLogger.error("Zutrittsobjekt '" + termid + "' nicht angelegt", ex4); response.sendError(HttpServletResponse.SC_NOT_FOUND, "Zutrittsobjekt '" + termid + "' nicht angelegt"); } else { myLogger.error(ex4.getMessage(), ex4); response.sendError(HttpServletResponse.SC_NOT_FOUND, ex4.getMessage()); } } } else if (command.equals(TheApp.CMD_ZU_MECS_AUSWEISE_ZUTRITT)) { PersonalzutrittsklasseDto[] dtos = getZutrittscontrollerFac().personalzutrittsklassenFindByTGueltigab( new Timestamp(System.currentTimeMillis()), theclientDto); ArrayList<StringBuffer> alDaten = new ArrayList<StringBuffer>(); for (int i = 0; i < dtos.length; i++) { StringBuffer sb = new StringBuffer(); sb.append("10"); // Hole personalDto PersonalDto personalDto = getPersonalFac().personalFindByPrimaryKeySmall(dtos[i].getPersonalIId()); sb.append(Helper.fitString2Length(personalDto.getCAusweis(), 20, ' ')); sb.append(Helper.fitString2Length(personalDto.getCPersonalnr().toString(), 10, ' ')); sb.append(Helper.fitString2Length("", 24, ' ')); // Hole Zutrittsklasse ZutrittsklasseDto zutrittsklasseDto = getZutrittscontrollerFac() .zutrittsklasseFindByPrimaryKey(dtos[i].getZutrittsklasseIId()); sb.append(Helper.fitString2Length(zutrittsklasseDto.getCNr(), 3, ' ')); alDaten.add(sb); } // Besucherausweise String[] ausweise = getZutrittscontrollerFac() .zutrittonlinecheckAusweiseFindByTGueltigab(new Timestamp(System.currentTimeMillis())); for (int i = 0; i < ausweise.length; i++) { StringBuffer sb = new StringBuffer(); sb.append("10"); sb.append(Helper.fitString2Length(ausweise[i], 20, ' ')); sb.append(Helper.fitString2Length("", 10, ' ')); sb.append(Helper.fitString2Length("", 24, ' ')); sb.append(Helper.fitString2Length(ZutrittscontrollerFac.ZUTRITTSKLASSE_ONLINECHECK, 3, ' ')); alDaten.add(sb); } // sortieren String datenGesamt = ""; for (int i = alDaten.size() - 1; i > 0; --i) { for (int j = 0; j < i; ++j) { if ((new String(alDaten.get(j))).compareTo(new String(alDaten.get(j + 1))) > 0) { StringBuffer lagerbewegungDtoTemp = alDaten.get(j); alDaten.set(j, alDaten.get(j + 1)); alDaten.set(j + 1, lagerbewegungDtoTemp); } } } for (int i = 0; i < alDaten.size(); i++) { StringBuffer sbTemp = alDaten.get(i); sbTemp.append("\r\n"); datenGesamt += new String(sbTemp); } myLogger.info(command + ":" + datenGesamt); getTheClient(request, response).setSMsg(datenGesamt); } else if (command.startsWith(TheApp.CMD_ZU_MECS_ZUTRITT_ONLINE_CHECK)) { String termid = request.getParameter("termid"); String card = request.getParameter("card"); String pin = request.getParameter("pin"); try { ZutrittsobjektDto dto = getZutrittscontrollerFac().zutrittsobjektFindByCNr(termid); boolean b = getZutrittscontrollerFac().onlineCheck(card, pin, new Timestamp(System.currentTimeMillis()), dto.getIId()); if (b == true) { myLogger.info(command + ": ZUTRITT ERLAUBT"); getTheClient(request, response).setSMsg("A"); } else { myLogger.info(command + ": ZUTRITT VERWEIGERT"); getTheClient(request, response).setSMsg("Z"); } } catch (EJBExceptionLP ex4) { if (ex4.getCause() instanceof EJBExceptionLP) { EJBExceptionLP lpex = (EJBExceptionLP) ex4.getCause(); if (lpex.getCode() == EJBExceptionLP.FEHLER_BEI_FIND) { response.sendError(HttpServletResponse.SC_NOT_FOUND, "Zutrittsobjekt '" + termid + "' nicht angelegt"); myLogger.error("Zutrittsobjekt '" + termid + "' nicht angelegt", ex4); } else { myLogger.error(ex4.getMessage(), ex4); response.sendError(HttpServletResponse.SC_NOT_FOUND, ex4.getMessage()); } } } } else if (command.startsWith(TheApp.CMD_ZU_MECS_ZUTRITT_EVENTS)) { String termid = request.getParameter("termid"); if (termid == null || termid.length() == 0) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Es ist der Parameter termid='LanPortName' erforderlich"); return null; } ZutrittsobjektDto dto = null; try { dto = getZutrittscontrollerFac().zutrittsobjektFindByCNr(termid); } catch (EJBExceptionLP e) { if (e.getCode() == EJBExceptionLP.FEHLER_BEI_FIND) { response.sendError(HttpServletResponse.SC_NOT_FOUND, "Zutrittsobjekt '" + termid + "' nicht angelegt"); return null; } else { e.printStackTrace(); response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Unerwarteter Fehler aufgetreten."); return null; } } String s = getZutrittscontrollerFac().getZutrittsEventsFuerMecs(dto.getIId(), theclientDto); myLogger.info(command + ":" + s); getTheClient(request, response).setSMsg(s); } else if (command.startsWith(TheApp.CMD_ZU_MECS_MAXTRANSNR)) { getTheClient(request, response).setSMsg("999"); } else if (command.startsWith(TheApp.CMD_ZU_MECS_LOG)) { String record = command.substring(17); ZutrittslogDto dto = new ZutrittslogDto(); Calendar c = Calendar.getInstance(); String zeitpunkt = record.substring(5, 19); int iJahr = new Integer(zeitpunkt.substring(0, 4)); int iMonat = new Integer(zeitpunkt.substring(4, 6)) - 1; int iTag = new Integer(zeitpunkt.substring(6, 8)); int iStunden = new Integer(zeitpunkt.substring(8, 10)); int iMinuten = new Integer(zeitpunkt.substring(10, 12)); int iSekunden = new Integer(zeitpunkt.substring(12, 14)); c.set(iJahr, iMonat, iTag, iStunden, iMinuten, iSekunden); dto.setTZeitpunkt(new Timestamp(c.getTimeInMillis())); String personalnr = record.substring(19, 24); String erlaubt = record.substring(24, 27); String objekt = record.substring(46, 67).trim(); String ausweis = record.substring(106, 135).trim(); String event = record.substring(126, 137).trim(); PersonalDto personalDto = getPersonalFac().personalFindByCAusweis(ausweis); if (personalDto != null || event.equals("PINONLINE") || personalnr.equals("?????") || personalnr.equals(" ")) { if (personalDto != null) { dto.setCPerson( getPartnerFac().partnerFindByPrimaryKey(personalDto.getPartnerIId(), theclientDto) .formatFixAnredeTitelName2Name1()); dto.setMandantCNr(personalDto.getMandantCNr()); } else if (personalnr.equals(" ")) { dto.setCPerson("Besucher"); dto.setMandantCNr(mandant); } else if (event != null && event.equals("PINONLINE")) { dto.setCPerson("Tempor\u00E4rer Pin-Code"); dto.setMandantCNr(mandant); } else { dto.setCPerson("Unbekannt"); dto.setMandantCNr(mandant); } if (erlaubt.equals("ZZ1")) { dto.setBErlaubt(Helper.boolean2Short(true)); } else { dto.setBErlaubt(Helper.boolean2Short(false)); } dto.setCAusweis(ausweis); dto.setCZutrittscontroller(null); try { ZutrittsobjektDto zutrittsobjektDto = getZutrittscontrollerFac() .zutrittsobjektFindByCNr(objekt); dto.setCZutrittsobjekt( zutrittsobjektDto.getBezeichnung() + "-" + zutrittsobjektDto.getCAdresse()); dto.setCZutrittscontroller(getZutrittscontrollerFac() .zutrittscontrollerFindByPrimaryKey(zutrittsobjektDto.getZutrittscontrollerIId()) .getCNr()); dto.setMandantCNrObjekt(zutrittsobjektDto.getMandantCNr()); } catch (RemoteException ex6) { dto.setCZutrittsobjekt("Zutrittsobjekt unbekannt"); } getZutrittscontrollerFac().createZutrittslog(dto); } myLogger.info(command); } else if (command.startsWith(TheApp.CMD_ZU_MECS_TEMPLATES)) { String sAendern = request.getParameter("changedsince"); PersonalfingerDto[] personalfingerDtos = null; if (sAendern == null) { personalfingerDtos = getZutrittscontrollerFac().personalfingerFindAll(); } else { Calendar c = Calendar.getInstance(); int iJahr = new Integer(sAendern.substring(0, 4)); int iMonat = new Integer(sAendern.substring(4, 6)) - 1; int iTag = new Integer(sAendern.substring(6, 8)); int iStunden = new Integer(sAendern.substring(8, 10)); int iMinuten = new Integer(sAendern.substring(10, 12)); c.set(iJahr, iMonat, iTag, iStunden, iMinuten, 0); c.set(Calendar.MILLISECOND, 0); personalfingerDtos = getZutrittscontrollerFac() .personalfingerFindByTAendern(new java.sql.Timestamp(c.getTimeInMillis()), theclientDto); } StringBuffer sb = new StringBuffer(); // Zuerts alle loeschen sb.append(Helper.fitString2LengthAlignRight("0", 5, ' ')); sb.append(Helper.fitString2LengthAlignRight("0", 2, ' ')); sb.append(Helper.fitString2Length("X", 512, 'X')); StringBuffer zeit = new StringBuffer(); Calendar cAendern = Calendar.getInstance(); zeit.append(Helper.fitString2Length(cAendern.get(Calendar.YEAR) + "", 4, '0')); zeit.append(Helper.fitString2Length((cAendern.get(Calendar.MONTH) + 1) + "", 2, '0')); zeit.append(Helper.fitString2Length(cAendern.get(Calendar.DAY_OF_MONTH) + "", 2, '0')); zeit.append(Helper.fitString2Length(cAendern.get(Calendar.HOUR_OF_DAY) + "", 2, '0')); zeit.append(Helper.fitString2Length(cAendern.get(Calendar.MINUTE) + "", 2, '0')); sb.append(zeit); sb.append("\r\n"); for (int i = 0; i < personalfingerDtos.length; i++) { PersonalfingerDto personalfingerDto = personalfingerDtos[i]; sb.append(Helper.fitString2LengthAlignRight(personalfingerDto.getIId() + "", 5, ' ')); sb.append(Helper.fitString2LengthAlignRight("1", 2, ' ')); String templateBase64 = new String( org.apache.commons.codec.binary.Base64.encodeBase64(personalfingerDto.getOTemplate1())); sb.append(Helper.fitString2Length(templateBase64, 512, ' ')); cAendern = Calendar.getInstance(); cAendern.setTimeInMillis(personalfingerDto.getTAendern().getTime()); zeit = new StringBuffer(); zeit.append(Helper.fitString2Length(cAendern.get(Calendar.YEAR) + "", 4, '0')); zeit.append(Helper.fitString2Length((cAendern.get(Calendar.MONTH) + 1) + "", 2, '0')); zeit.append(Helper.fitString2Length(cAendern.get(Calendar.DAY_OF_MONTH) + "", 2, '0')); zeit.append(Helper.fitString2Length(cAendern.get(Calendar.HOUR_OF_DAY) + "", 2, '0')); zeit.append(Helper.fitString2Length(cAendern.get(Calendar.MINUTE) + "", 2, '0')); sb.append(zeit); sb.append("\r\n"); if (personalfingerDto.getOTemplate2() != null) { sb.append(Helper.fitString2LengthAlignRight(personalfingerDto.getIId() + "", 5, ' ')); sb.append(Helper.fitString2LengthAlignRight("2", 2, ' ')); templateBase64 = new String( org.apache.commons.codec.binary.Base64.encodeBase64(personalfingerDto.getOTemplate2())); sb.append(Helper.fitString2Length(templateBase64, 512, ' ')); sb.append(zeit); if (i == personalfingerDtos.length - 1) { // sb.append("\r"); } else { sb.append("\r\n"); } } } getTheClient(request, response).setSMsg(new String(sb)); } return getSJSPNext(); }
From source file:edu.harvard.mcz.imagecapture.encoder.LabelEncoder.java
@SuppressWarnings("hiding") public static boolean printList(List<UnitTrayLabel> taxa) throws PrintFailedException { boolean result = false; UnitTrayLabel label = new UnitTrayLabel(); LabelEncoder encoder = new LabelEncoder(label); Image image = encoder.getImage(); int counter = 0; try {//from ww w. j a v a2s . c o m Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream("labels.pdf")); document.setPageSize(PageSize.LETTER); document.open(); PdfPTable table = new PdfPTable(4); table.setWidthPercentage(100f); //table.setHorizontalAlignment(PdfPTable.ALIGN_LEFT); float[] cellWidths = { 30f, 20f, 30f, 20f }; table.setWidths(cellWidths); UnitTrayLabelLifeCycle uls = new UnitTrayLabelLifeCycle(); if (taxa == null) { taxa = uls.findAll(); } Iterator<UnitTrayLabel> i = taxa.iterator(); PdfPCell cell = null; PdfPCell cell_barcode = null; // Create two lists of 12 cells, the first 6 of each representing // the left hand column of 6 labels, the second 6 of each // representing the right hand column. // cells holds the text for each label, cells_barcode the barcode. ArrayList<PdfPCell> cells = new ArrayList<PdfPCell>(12); ArrayList<PdfPCell> cells_barcode = new ArrayList<PdfPCell>(12); for (int x = 0; x < 12; x++) { cells.add(null); cells_barcode.add(null); } int cellCounter = 0; while (i.hasNext()) { // Loop through all of the taxa (unit tray labels) found to print label = i.next(); for (int toPrint = 0; toPrint < label.getNumberToPrint(); toPrint++) { // For each taxon, loop through the number of requested copies // Generate a text and a barcode cell for each, and add to array for page log.debug("Label " + toPrint + " of " + label.getNumberToPrint()); cell = new PdfPCell(); cell.setBorderColor(Color.LIGHT_GRAY); cell.setVerticalAlignment(PdfPCell.ALIGN_TOP); cell.disableBorderSide(PdfPCell.RIGHT); cell.setPaddingLeft(3); String higherNames = ""; if (label.getTribe().trim().length() > 0) { higherNames = label.getFamily() + ": " + label.getSubfamily() + ": " + label.getTribe(); } else { higherNames = label.getFamily() + ": " + label.getSubfamily(); } Paragraph higher = new Paragraph(); higher.setFont(new Font(Font.TIMES_ROMAN, 11, Font.NORMAL)); higher.add(new Chunk(higherNames)); cell.addElement(higher); Paragraph name = new Paragraph(); Chunk genus = new Chunk(label.getGenus().trim() + " "); genus.setFont(new Font(Font.TIMES_ROMAN, 11, Font.ITALIC)); Chunk species = new Chunk(label.getSpecificEpithet().trim()); Chunk normal = null; // normal font prefix to preceed specific epithet (nr. <i>epithet</i>) if (label.getSpecificEpithet().contains(".") || label.getSpecificEpithet().contains("[")) { if (label.getSpecificEpithet().startsWith("nr. ")) { normal = new Chunk("nr. "); normal.setFont(new Font(Font.TIMES_ROMAN, 11, Font.NORMAL)); species = new Chunk(label.getSpecificEpithet().trim().substring(4)); species.setFont(new Font(Font.TIMES_ROMAN, 11, Font.ITALIC)); } else { species.setFont(new Font(Font.TIMES_ROMAN, 11, Font.NORMAL)); } } else { species.setFont(new Font(Font.TIMES_ROMAN, 11, Font.ITALIC)); } String s = ""; if (label.getSubspecificEpithet().trim().length() > 0) { s = " "; } else { s = ""; } Chunk subspecies = new Chunk(s + label.getSubspecificEpithet().trim()); if (label.getSubspecificEpithet().contains(".") || label.getSubspecificEpithet().contains("[")) { subspecies.setFont(new Font(Font.TIMES_ROMAN, 11, Font.NORMAL)); } else { subspecies.setFont(new Font(Font.TIMES_ROMAN, 11, Font.ITALIC)); } if (label.getInfraspecificRank().trim().length() > 0) { s = " "; } else { s = ""; } Chunk infraRank = new Chunk(s + label.getInfraspecificRank().trim()); infraRank.setFont(new Font(Font.TIMES_ROMAN, 11, Font.NORMAL)); if (label.getInfraspecificEpithet().trim().length() > 0) { s = " "; } else { s = ""; } Chunk infra = new Chunk(s + label.getInfraspecificEpithet().trim()); infra.setFont(new Font(Font.TIMES_ROMAN, 11, Font.ITALIC)); if (label.getUnNamedForm().trim().length() > 0) { s = " "; } else { s = ""; } Chunk unNamed = new Chunk(s + label.getUnNamedForm().trim()); unNamed.setFont(new Font(Font.TIMES_ROMAN, 11, Font.NORMAL)); name.add(genus); if (normal != null) { name.add(normal); } name.add(species); name.add(subspecies); name.add(infraRank); name.add(infra); name.add(unNamed); cell.addElement(name); Paragraph authorship = new Paragraph(); authorship.setFont(new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)); if (label.getAuthorship() != null && label.getAuthorship().length() > 0) { Chunk c_authorship = new Chunk(label.getAuthorship()); authorship.add(c_authorship); } cell.addElement(authorship); //cell.addElement(new Paragraph(" ")); if (label.getDrawerNumber() != null && label.getDrawerNumber().length() > 0) { Paragraph drawerNumber = new Paragraph(); drawerNumber.setFont(new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)); Chunk c_drawerNumber = new Chunk(label.getDrawerNumber()); drawerNumber.add(c_drawerNumber); cell.addElement(drawerNumber); } else { if (label.getCollection() != null && label.getCollection().length() > 0) { Paragraph collection = new Paragraph(); collection.setFont(new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)); Chunk c_collection = new Chunk(label.getCollection()); collection.add(c_collection); cell.addElement(collection); } } cell_barcode = new PdfPCell(); cell_barcode.setBorderColor(Color.LIGHT_GRAY); cell_barcode.disableBorderSide(PdfPCell.LEFT); cell_barcode.setVerticalAlignment(PdfPCell.ALIGN_TOP); encoder = new LabelEncoder(label); image = encoder.getImage(); image.setAlignment(Image.ALIGN_TOP); cell_barcode.addElement(image); cells.add(cellCounter, cell); cells_barcode.add(cellCounter, cell_barcode); cellCounter++; // If we have hit a full set of 12 labels, add them to the document // in two columns, filling left column first, then right if (cellCounter == 12) { // add a page of 12 cells in columns of two. for (int x = 0; x < 6; x++) { if (cells.get(x) == null) { PdfPCell c = new PdfPCell(); c.setBorder(0); table.addCell(c); table.addCell(c); } else { table.addCell(cells.get(x)); table.addCell(cells_barcode.get(x)); } if (cells.get(x + 6) == null) { PdfPCell c = new PdfPCell(); c.setBorder(0); table.addCell(c); table.addCell(c); } else { table.addCell(cells.get(x + 6)); table.addCell(cells_barcode.get(x + 6)); } } // Reset to begin next page cellCounter = 0; document.add(table); table = new PdfPTable(4); table.setWidthPercentage(100f); table.setWidths(cellWidths); for (int x = 0; x < 12; x++) { cells.set(x, null); cells_barcode.set(x, null); } } } // end loop through toPrint (for a taxon) counter++; } // end while results has next (for all taxa requested) // get any remaining cells in pairs for (int x = 0; x < 6; x++) { if (cells.get(x) == null) { PdfPCell c = new PdfPCell(); c.setBorder(0); table.addCell(c); table.addCell(c); } else { table.addCell(cells.get(x)); table.addCell(cells_barcode.get(x)); } if (cells.get(x + 6) == null) { PdfPCell c = new PdfPCell(); c.setBorder(0); table.addCell(c); table.addCell(c); } else { table.addCell(cells.get(x + 6)); table.addCell(cells_barcode.get(x + 6)); } } // add any remaining cells document.add(table); try { document.close(); } catch (Exception e) { throw new PrintFailedException("No labels to print." + e.getMessage()); } // Check to see if there was content in the document. if (counter == 0) { result = false; } else { // Printed to pdf ok. result = true; // Increment number printed. i = taxa.iterator(); while (i.hasNext()) { label = i.next(); for (int toPrint = 0; toPrint < label.getNumberToPrint(); toPrint++) { label.setPrinted(label.getPrinted() + 1); } label.setNumberToPrint(0); try { uls.attachDirty(label); } catch (SaveFailedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); throw new PrintFailedException("File not found."); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); throw new PrintFailedException("Error buiding PDF document."); } catch (OutOfMemoryError e) { System.out.println("Out of memory error. " + e.getMessage()); System.out.println("Failed. Too many labels."); throw new PrintFailedException("Ran out of memory, too many labels at once."); } return result; }
From source file:es.pode.catalogadorWeb.presentacion.categoriasAvanzado.usoeducativo.detalleUsoEducativo.DetalleUsoEduControllerImpl.java
private void cambioFormulario(HttpServletRequest request, int[] longitudTextosDesc, int[] longitudTextosRangoEdad, int longitudDescripciones, int longitudRangos, int longitudIdiomas, int longitudTipoRecurso, int longitudRoles, int longitudContextos, int longitudProcesos, int longitudTADesc, String source) throws Exception { idiomas = new IdiomaVO[longitudIdiomas]; descripciones = new DescripcionVO[longitudDescripciones]; descripcionesCat = new DescripcionUsoEdu[longitudDescripciones][]; //categorias descripciones rangosEdad = new RangoEdadVO[longitudRangos]; tiposRecurso = new SourceValueVO[longitudTipoRecurso]; roles = new SourceValueVO[longitudRoles]; contextos = new SourceValueVO[longitudContextos]; procesosCognitivos = new SourceValueVO[longitudProcesos]; tiempoApDescripcion = new DescripcionVO[1]; ArrayList[] textoDescripciones = new ArrayList[longitudDescripciones]; ArrayList[] listaDescripcionesCat = new ArrayList[longitudDescripciones]; //categorias descripciones ArrayList[] idiomaDescripciones = new ArrayList[longitudDescripciones]; ArrayList[] textoRangoEdad = new ArrayList[longitudRangos]; ArrayList[] idiomaRangoEdad = new ArrayList[longitudRangos]; String[] idiomaValor = new String[longitudIdiomas]; String[] tipoRecursoValor = new String[longitudTipoRecurso]; String[] rolesValor = new String[longitudRoles]; String[] contextosValor = new String[longitudContextos]; String[] procesosValor = new String[longitudProcesos]; String[] textoTADesc = new String[longitudTADesc]; String[] idiomaTADesc = new String[longitudTADesc]; for (Enumeration names = request.getParameterNames(); names.hasMoreElements();) { String name = String.valueOf(names.nextElement()); if (name.equals("Anyos")) anyos = request.getParameter(name); if (name.equals("Meses")) meses = request.getParameter(name); if (name.equals("Dias")) dias = request.getParameter(name); if (name.equals("Horas")) horas = request.getParameter(name); if (name.equals("Minutos")) minutos = request.getParameter(name); if (name.equals("SegundosP1")) segundosP1 = request.getParameter(name); if (name.equals("SegundosP2")) segundosP2 = request.getParameter(name); if (name.startsWith("Idio")) {//idiomas int i = Integer.parseInt(name.substring(4, name.length())); idiomaValor[i] = request.getParameter(name); }//from w w w.j a va 2 s . co m if (name.startsWith("PCog")) {//proceso cognitvos int i = Integer.parseInt(name.substring(4, name.length())); procesosValor[i] = request.getParameter(name); } if (name.startsWith("TRecur")) {//tipo recurso int i = Integer.parseInt(name.substring(6, name.length())); tipoRecursoValor[i] = request.getParameter(name); } if (name.startsWith("Contxt")) {//contexto int i = Integer.parseInt(name.substring(6, name.length())); contextosValor[i] = request.getParameter(name); } if (name.startsWith("Rol")) {//rol int i = Integer.parseInt(name.substring(3, name.length())); rolesValor[i] = request.getParameter(name); } if (name.startsWith("TADes")) { if (name.startsWith("TADesTex")) { int i = Integer.parseInt(name.substring(8, name.length())); textoTADesc[i] = request.getParameter(name); } if (name.startsWith("TADesIdio")) { int i = Integer.parseInt(name.substring(9, name.length())); idiomaTADesc[i] = request.getParameter(name); } } if (name.startsWith("Des")) {//descripciones String[] namePartido = name.split("_"); int i = Integer.parseInt(namePartido[0].substring(3, namePartido[0].length())); if (namePartido[1].startsWith("Tex")) { int j = Integer.parseInt(namePartido[1].substring(3, namePartido[1].length())); ArrayList lDesc = textoDescripciones[i]; if (lDesc == null) { lDesc = new ArrayList(); for (int k = 0; k < longitudTextosDesc[i]; k++) lDesc.add(""); } lDesc.set(j, request.getParameter(name)); textoDescripciones[i] = lDesc; } else if (namePartido[1].startsWith("Idio")) {//Idio int j = Integer.parseInt(namePartido[1].substring(4, namePartido[1].length())); ArrayList lDesc = idiomaDescripciones[i]; if (lDesc == null) { lDesc = new ArrayList(); for (int k = 0; k < longitudTextosDesc[i]; k++) lDesc.add(""); } lDesc.set(j, request.getParameter(name)); idiomaDescripciones[i] = lDesc; } else if (namePartido[1].startsWith("Sel")) { // seleccion de tipo de descripcion [0,1,2,3] int j = Integer.parseInt(namePartido[1].substring("Sel".length(), namePartido[1].length())); ArrayList lDesc = listaDescripcionesCat[i]; if (lDesc == null) { lDesc = new ArrayList(); for (int k = 0; k < longitudTextosDesc[i]; k++) lDesc.add(DescripcionUsoEdu.getInstance()); } DescripcionUsoEdu aux = (DescripcionUsoEdu) lDesc.get(j); aux.setSeleccionado(Integer.parseInt(request.getParameter(name))); lDesc.set(j, aux); listaDescripcionesCat[i] = lDesc; } else if (namePartido[1].startsWith("CPre")) { // Conocimiento previo int j = Integer.parseInt(namePartido[1].substring("CPre".length(), namePartido[1].length())); ArrayList lDesc = listaDescripcionesCat[i]; if (lDesc == null) { lDesc = new ArrayList(); for (int k = 0; k < longitudTextosDesc[i]; k++) lDesc.add(DescripcionUsoEdu.getInstance()); } DescripcionUsoEdu aux = (DescripcionUsoEdu) lDesc.get(j); aux.setConocimientoPrevio(request.getParameter(name)); lDesc.set(j, aux); listaDescripcionesCat[i] = lDesc; } else if (namePartido[1].startsWith("ODid")) { // Objetivos didcticos int j = Integer.parseInt(namePartido[1].substring("ODid".length(), namePartido[1].length())); ArrayList lDesc = listaDescripcionesCat[i]; if (lDesc == null) { lDesc = new ArrayList(); for (int k = 0; k < longitudTextosDesc[i]; k++) lDesc.add(DescripcionUsoEdu.getInstance()); } DescripcionUsoEdu aux = (DescripcionUsoEdu) lDesc.get(j); aux.setObjetivosDidacticos(request.getParameter(name)); lDesc.set(j, aux); listaDescripcionesCat[i] = lDesc; } else if (namePartido[1].startsWith("TCon")) { // Tipo de Conocimiento int j = Integer.parseInt(namePartido[1].substring("TCon".length(), namePartido[1].length())); ArrayList lDesc = listaDescripcionesCat[i]; if (lDesc == null) { lDesc = new ArrayList(); for (int k = 0; k < longitudTextosDesc[i]; k++) lDesc.add(DescripcionUsoEdu.getInstance()); } DescripcionUsoEdu aux = (DescripcionUsoEdu) lDesc.get(j); aux.setTipoConocimiento(Arrays.asList(request.getParameterValues(name))); lDesc.set(j, aux); listaDescripcionesCat[i] = lDesc; } } else if (name.startsWith("Edad")) {//rangos edad String[] namePartido = name.split("_"); int i = Integer.parseInt(namePartido[0].substring(4, namePartido[0].length())); if (namePartido[1].startsWith("Tex")) { int j = Integer.parseInt(namePartido[1].substring(3, namePartido[1].length())); ArrayList lRango = textoRangoEdad[i]; if (lRango == null) { lRango = new ArrayList(); for (int k = 0; k < longitudTextosRangoEdad[i]; k++) lRango.add(""); } lRango.set(j, request.getParameter(name)); textoRangoEdad[i] = lRango; } else {//Idio int j = Integer.parseInt(namePartido[1].substring(4, namePartido[1].length())); ArrayList lRango = idiomaRangoEdad[i]; if (lRango == null) { lRango = new ArrayList(); for (int k = 0; k < longitudTextosRangoEdad[i]; k++) lRango.add(""); } lRango.set(j, request.getParameter(name)); idiomaRangoEdad[i] = lRango; } } } //idioma for (int i = 0; i < idiomaValor.length; i++) { IdiomaVO idioVO = new IdiomaVO(); idioVO.setTexto(idiomaValor[i]); idiomas[i] = idioVO; } //procesos cognitivos for (int i = 0; i < procesosValor.length; i++) { SourceValueVO procesoVO = new SourceValueVO(); procesoVO.setValor(procesosValor[i]); procesoVO.setSource(source); procesosCognitivos[i] = procesoVO; } //contextos for (int i = 0; i < contextosValor.length; i++) { SourceValueVO contextoVO = new SourceValueVO(); contextoVO.setValor(contextosValor[i]); contextoVO.setSource(source); contextos[i] = contextoVO; } //roles for (int i = 0; i < rolesValor.length; i++) { SourceValueVO rolVO = new SourceValueVO(); rolVO.setValor(rolesValor[i]); rolVO.setSource(source); roles[i] = rolVO; } //tipo recurso for (int i = 0; i < tipoRecursoValor.length; i++) { SourceValueVO tipoRecrusoVO = new SourceValueVO(); tipoRecrusoVO.setValor(tipoRecursoValor[i]); tipoRecrusoVO.setSource(source); tiposRecurso[i] = tipoRecrusoVO; } //descripcion tiempo de aprendizaje DescripcionVO taDescVO = new DescripcionVO(); LangStringVO[] aLangTADesc = new LangStringVO[textoTADesc.length]; for (int i = 0; i < textoTADesc.length; i++) { LangStringVO langTADesc = new LangStringVO(); String textoTADescI = textoTADesc[i] != null ? textoTADesc[i] : ""; langTADesc.setTexto(textoTADescI.trim()); langTADesc.setIdioma(idiomaTADesc[i]); aLangTADesc[i] = langTADesc; } taDescVO.setTextos(aLangTADesc); tiempoApDescripcion[0] = taDescVO; //descripciones categorias for (int i = 0; i < listaDescripcionesCat.length; i++) { descripcionesCat[i] = (DescripcionUsoEdu[]) listaDescripcionesCat[i].toArray(new DescripcionUsoEdu[0]); } //descripciones I18n i18n = I18n.getInstance(); for (int i = 0; i < textoDescripciones.length; i++) { DescripcionVO descVO = new DescripcionVO(); DescripcionUsoEdu[] aDescripcionesUsoEdu = null; if (textoDescripciones[i] != null) { LangStringVO[] aLangDesc = new LangStringVO[textoDescripciones[i].size()]; aDescripcionesUsoEdu = new DescripcionUsoEdu[textoDescripciones[i].size()]; // caracteristica descripcion for (int j = 0; j < textoDescripciones[i].size(); j++) { LangStringVO langDesc = new LangStringVO(); String textoDescIJ = ""; String idiomaDescIJ = (idiomaDescripciones[i].get(j) != null ? idiomaDescripciones[i].get(j) : "").toString(); String idioma = (String) listaIdiomas.get(idiomaDescIJ); if (idioma == null) idioma = this.getCatalogadorAvSession(request).getIdioma(); if (descripcionesCat[i][j] != null && !descripcionesCat[i][j].getVacio() && idioma != null) { String[] captions = i18n.getResource("catalogadorAvanzado.descripcionesUsoEdu.titulos", "application-resources", new Locale(idioma)).split(","); DescripcionUsoEdu descEUAux = descripcionesCat[i][j]; StringBuffer sb = new StringBuffer(); if (!descEUAux.getVacio() && descEUAux.getSeleccionado() == 1) { // completar la descripcion con conocimiento previo... sb.append(captions[0].toUpperCase()).append(descEUAux.getConocimientoPrevio()); descEUAux.setObjetivosDidacticos(""); descEUAux.setTipoConocimiento(new ArrayList()); aDescripcionesUsoEdu[j] = descEUAux; } else if (!descEUAux.getVacio() && descEUAux.getSeleccionado() == 2) { // completar la descripcion con objetivos didacticos... sb.append(captions[1].toUpperCase()).append(descEUAux.getObjetivosDidacticos()); descEUAux.setConocimientoPrevio(""); descEUAux.setTipoConocimiento(new ArrayList()); aDescripcionesUsoEdu[j] = descEUAux; } else if (!descEUAux.getVacio() && descEUAux.getSeleccionado() == 3) { // completar con las traducciones de los tipos de conocimientos String[] lista = (String[]) descEUAux.getTipoConocimiento().toArray(new String[0]); TerminoVO[] terminos = this.getSrvVocabulariosControladosService() .crearTraduccionAIdioma(lista, idioma); if (terminos != null && terminos.length > 0) { sb.append(captions[2].toUpperCase()).append(" "); for (int k = 0; k < terminos.length; k++) { sb.append(terminos[k].getNomTermino()); if (terminos.length - k > 1) { sb.append(", "); } } } descEUAux.setObjetivosDidacticos(""); descEUAux.setConocimientoPrevio(""); aDescripcionesUsoEdu[j] = descEUAux; } else { listaDescripcionesCat[i].set(j, DescripcionUsoEdu.getInstance()); sb.append((textoDescripciones[i].get(j) != null ? textoDescripciones[i].get(j) : "") .toString()); } textoDescIJ = sb.toString(); } else { if (descripcionesCat[i][j] != null && descripcionesCat[i][j].getVacio() && descripcionesCat[i][j].getSeleccionado() > 0) textoDescIJ = ""; else textoDescIJ = (textoDescripciones[i].get(j) != null ? textoDescripciones[i].get(j) : "") .toString(); } langDesc.setTexto(textoDescIJ.trim()); langDesc.setIdioma(idiomaDescIJ.trim()); aLangDesc[j] = langDesc; aDescripcionesUsoEdu[j] = (DescripcionUsoEdu) listaDescripcionesCat[i].get(j); } descVO.setTextos(aLangDesc); } else { LangStringVO[] aLangString = new LangStringVO[1]; LangStringVO langString = new LangStringVO(); langString.setIdioma(""); langString.setTexto(""); aLangString[0] = langString; descVO.setTextos(aLangString); aDescripcionesUsoEdu = new DescripcionUsoEdu[1]; aDescripcionesUsoEdu[0] = DescripcionUsoEdu.getInstance(); } descripciones[i] = descVO; descripcionesCat[i] = aDescripcionesUsoEdu; } //rangos de edad for (int i = 0; i < textoRangoEdad.length; i++) { RangoEdadVO rangoEdadVO = new RangoEdadVO(); if (textoRangoEdad[i] != null) { LangStringVO[] aLangRango = new LangStringVO[textoRangoEdad[i].size()]; for (int j = 0; j < textoRangoEdad[i].size(); j++) { LangStringVO langRango = new LangStringVO(); String textoRangoEdadIJ = (textoRangoEdad[i].get(j) != null ? textoRangoEdad[i].get(j) : "") .toString(); String idiomaRangoEdadIJ = (idiomaRangoEdad[i].get(j) != null ? idiomaRangoEdad[i].get(j) : "") .toString(); langRango.setTexto(textoRangoEdadIJ.trim()); langRango.setIdioma(idiomaRangoEdadIJ.trim()); aLangRango[j] = langRango; } rangoEdadVO.setTextos(aLangRango); } else { LangStringVO[] aLangString = new LangStringVO[1]; LangStringVO langString = new LangStringVO(); langString.setIdioma(""); langString.setTexto(""); aLangString[0] = langString; rangoEdadVO.setTextos(aLangString); } rangosEdad[i] = rangoEdadVO; } }
From source file:com.mimp.hibernate.HiberNna.java
public ArrayList<Nna> ListaNnaSeguimiento(String clasificacion) { Session session = sessionFactory.getCurrentSession(); final String clasif = clasificacion; final ArrayList<Nna> allNna = new ArrayList(); final ArrayList<Nna> allNnaAux = new ArrayList(); final ArrayList<Nna> allNnaFinal = new ArrayList(); Work work = new Work() { @Override/*from w w w. j a v a 2s.c om*/ public void execute(Connection connection) throws SQLException { ExpedienteNna expnna; Nna tempnna; Designacion desig; EstudioCaso est; String hql = "{call HN_GET_NNA_SEG(?)}"; CallableStatement statement = connection.prepareCall(hql); statement.registerOutParameter(1, OracleTypes.CURSOR); statement.execute(); temp = (ResultSet) statement.getObject(1); while (temp.next()) { tempnna = new Nna(); tempnna.setIdnna(temp.getLong(1)); tempnna.setNombre(temp.getString(2)); tempnna.setApellidoP(temp.getString(3)); tempnna.setApellidoM(temp.getString(4)); tempnna.setSexo(temp.getString(5)); tempnna.setFechaNacimiento(temp.getDate(6)); tempnna.setEdadAnhos(temp.getShort(7)); tempnna.setEdadMeses(temp.getShort(8)); tempnna.setActaNacimiento(temp.getShort(9)); tempnna.setCondicionSalud(temp.getString(10)); tempnna.setDepartamentoNacimiento(temp.getString(11)); tempnna.setProvinciaNacimiento(temp.getString(12)); tempnna.setDistritoNacimiento(temp.getString(13)); tempnna.setPaisNacimiento(temp.getString(14)); tempnna.setLugarNac(temp.getString(15)); tempnna.setFechaResolAbandono(temp.getDate(16)); tempnna.setFechaResolConsentida(temp.getDate(17)); tempnna.setClasificacion(temp.getString(18)); tempnna.setIncesto(temp.getShort(19)); tempnna.setMental(temp.getShort(20)); tempnna.setEpilepsia(temp.getShort(21)); tempnna.setAbuso(temp.getShort(22)); tempnna.setSifilis(temp.getShort(23)); tempnna.setSeguiMedico(temp.getShort(24)); tempnna.setOperacion(temp.getShort(25)); tempnna.setHiperactivo(temp.getShort(26)); tempnna.setEspecial(temp.getShort(27)); tempnna.setEnfermo(temp.getShort(28)); tempnna.setMayor(temp.getShort(29)); tempnna.setAdolescente(temp.getShort(30)); tempnna.setHermano(temp.getShort(31)); tempnna.setNn(temp.getShort(32)); tempnna.setObservaciones(temp.getString(33)); tempnna.setNResolAband(temp.getString(34)); tempnna.setNResolCons(temp.getString(35)); try { expnna = getExpNna(temp.getLong(1)); if (expnna.getIdexpedienteNna() != 0) { Set<ExpedienteNna> listexp = new HashSet<ExpedienteNna>(); listexp.add(expnna); tempnna.setExpedienteNnas(listexp); } } catch (Exception e) { } allNnaAux.add(tempnna); } statement.close(); temp.close(); //AQUI DESIGNACIONES Y ESTUDIO DE CASOS EN CASO SEA PRIORITARIO for (Nna auxnna : allNnaAux) { Set<Designacion> listDesig = new HashSet<Designacion>(); String hql2 = "{call HN_GET_DESIGNACIONES(?,?)}"; CallableStatement statement2 = connection.prepareCall(hql2); statement2.setLong(1, auxnna.getIdnna()); statement2.registerOutParameter(2, OracleTypes.CURSOR); statement2.execute(); ResultSet rs2 = (ResultSet) statement2.getObject(2); while (rs2.next()) { desig = new Designacion(); desig.setIddesignacion(rs2.getLong(1)); desig.setNDesignacion(rs2.getString(5)); desig.setPrioridad(rs2.getLong(6)); desig.setFechaPropuesta(rs2.getDate(7)); desig.setFechaConsejo(rs2.getDate(8)); desig.setAceptacionConsejo(rs2.getShort(9)); desig.setTipoPropuesta(rs2.getString(10)); desig.setObs(rs2.getString(11)); listDesig.add(desig); } auxnna.setDesignacions(listDesig); allNna.add(auxnna); statement2.close(); rs2.close(); } for (Nna auxnna : allNna) { if (auxnna.getClasificacion().equals("prioritario")) { Set<EstudioCaso> listEst = new HashSet<EstudioCaso>(); String hql3 = "{call HN_GET_ESTUDIOS_CASO(?,?)}"; CallableStatement statement3 = connection.prepareCall(hql3); statement3.setLong(1, auxnna.getIdnna()); statement3.registerOutParameter(2, OracleTypes.CURSOR); statement3.execute(); ResultSet rs3 = (ResultSet) statement3.getObject(2); while (rs3.next()) { est = new EstudioCaso(); est.setIdestudioCaso(rs3.getLong(1)); est.setOrden(rs3.getString(4)); est.setFechaEstudio(rs3.getDate(5)); est.setFechaSolAdop(rs3.getDate(6)); est.setResultado(rs3.getString(7)); est.setPrioridad(rs3.getLong(8)); est.setNSolicitud(rs3.getLong(9)); listEst.add(est); } auxnna.setEstudioCasos(listEst); statement3.close(); rs3.close(); } allNnaFinal.add(auxnna); } //METODO BUBBLESORT PARA ORDENAR POR CODIGO if (clasif.equals("prioritario")) { Nna auxnna2; int n = allNnaFinal.size(); for (int i = 0; i < n - 1; i++) { for (int j = i; j < n - 1; j++) { if (allNnaFinal.get(i).getExpedienteNnas().isEmpty()) { if (!allNnaFinal.get(j + 1).getExpedienteNnas().isEmpty()) { auxnna2 = allNnaFinal.get(i); allNnaFinal.set(i, allNnaFinal.get(j + 1)); allNnaFinal.set(j + 1, auxnna2); } else { String apellidoPrev = ""; String apellidoNext = ""; try { apellidoPrev = allNnaFinal.get(i).getApellidoP(); if (apellidoPrev == null) { apellidoPrev = ""; } } catch (Exception ex) { apellidoPrev = ""; } try { apellidoNext = allNnaFinal.get(j + 1).getApellidoP(); if (apellidoNext == null) { apellidoNext = ""; } } catch (Exception ex) { apellidoNext = ""; } if (apellidoPrev.compareToIgnoreCase(apellidoNext) > 0) { auxnna2 = allNnaFinal.get(i); allNnaFinal.set(i, allNnaFinal.get(j + 1)); allNnaFinal.set(j + 1, auxnna2); } } } else { Set<ExpedienteNna> listExp1 = allNnaFinal.get(i).getExpedienteNnas(); Set<ExpedienteNna> listExp2 = allNnaFinal.get(j + 1).getExpedienteNnas(); if (!listExp2.isEmpty()) { for (ExpedienteNna exp1 : listExp1) { for (ExpedienteNna exp2 : listExp2) { String codant = exp1.getCodigoReferencia(); String codpost = exp2.getCodigoReferencia(); if (codant == null) { codant = ""; } if (codpost == null) { codpost = ""; } if (codant.compareToIgnoreCase(codpost) > 0) { auxnna2 = allNnaFinal.get(i); allNnaFinal.set(i, allNnaFinal.get(j + 1)); allNnaFinal.set(j + 1, auxnna2); } } } } } } } } } }; session.doWork(work); return allNnaFinal; }