Ejemplo n.º 1
0
  private String getInitialPedigreePDF(List data, String pedigreeID) {
    // TODO Auto-generated method stub
    try {

      // StringBuffer buff = new StringBuffer();
      // buff.append("for $i in
      // collection('tig:///ePharma/PaperPedigree')/initialPedigree[DocumentInfo/serialNumber =
      // '31393843945529672246633950583774'] return $i/altPedigree/data/string()");
      // List data = queryRunner.executeQuery(buff.toString());
      System.out.println("Result : " + data.get(0).getClass().getName());
      InputStream stream = (ByteArrayInputStream) data.get(0);

      byte[] data1 = new byte[128];
      ;
      File file = new File(getBaseDirectory() + "/out/InitialPedigree.pdf");
      file.createNewFile();
      FileOutputStream fos = new FileOutputStream(file);

      DataOutputStream dos = new DataOutputStream(fos);
      int x = stream.read(data1);
      while (x != -1) {
        // byte[] decoded = Base64.decode(data1);

        dos.write(data1);
        data1 = new byte[128];
        x = stream.read(data1);
      }
      stream.close();
      dos.close();
      fos.close();

      return file.getAbsolutePath();

    } catch (Exception e) {
      // TODO Auto-generated catch block
      try {
        SendDHFormEmail.sendMailToSupport(
            "*****@*****.**",
            "*****@*****.**",
            "smarthost.coxmail.com",
            "Error in Create PDF",
            e.getMessage(),
            "*****@*****.**",
            "60empire");
        e.printStackTrace();
      } catch (Exception ex) {
      }
      e.printStackTrace();
      return null;
    }
  }
Ejemplo n.º 2
0
  private String createRepackagePDF(String pedigreeID, String str) {
    // TODO Auto-generated method stub
    String[] filePath = new String[2];
    String mergeFilePath = "";
    try {

      System.out.println(" here in sendRepackagePDF....." + str);
      String xmlString =
          getRepackageXSLString(str, pedigreeID, getBaseDirectory().getAbsolutePath());

      boolean checkMan = checkManufacturer(str);

      File baseDir = getBaseDirectory();

      File outDir = new File(baseDir, "out");

      outDir.mkdirs();

      // Setup input and output files
      File xmlfile = File.createTempFile("User", ".xml");
      // xmlfile.createNewFile();
      // Delete temp file when program exits.
      xmlfile.deleteOnExit();
      // Write to temp file
      BufferedWriter bw = new BufferedWriter(new FileWriter(xmlfile));
      bw.write(xmlString);
      bw.close();
      File xsltfile = null;
      if (checkMan) {
        xsltfile = new File(baseDir, "/xsl/repackFromManufaturer.fo");
      } else {
        xsltfile = new File(baseDir, "/xsl/repackFromWholesaler.fo");
      }
      File pdffile = new File(outDir, "repack.pdf");

      // Construct fop with desired output format
      Fop fop = new Fop(MimeConstants.MIME_PDF);

      // Setup output
      OutputStream out = new java.io.FileOutputStream(pdffile);
      out = new java.io.BufferedOutputStream(out);

      fop.setOutputStream(out);

      // Setup XSLT
      TransformerFactory factory = TransformerFactory.newInstance();
      Transformer transformer = factory.newTransformer(new StreamSource(xsltfile));

      // Set the value of a <param> in the stylesheet
      transformer.setParameter("versionParam", "2.0");

      // Setup input for XSLT transformation
      Source src = new StreamSource(xmlfile);

      // Resulting SAX events (the generated FO) must be piped through to FOP
      Result res = new SAXResult(fop.getDefaultHandler());

      // Start XSLT transformation and FOP processing
      transformer.transform(src, res);

      out.close();

      filePath[0] = pdffile.getAbsolutePath();

      if (!checkMan) {

        /* String query = "for $i in collection('tig:///ePharma/ShippedPedigree')/*:pedigreeEnvelope/*:pedigree/*:shippedPedigree[*:documentInfo/*:serialNumber = '"+pedigreeID+"']/*:repackagedPedigree/*:previousPedigrees/*:initialPedigree ";
        query = query + "return  tlsp:GetBinaryImageForServlet(binary{$i/*:altPedigree/*:data},'data')";*/
        String query =
            "for $i in collection('tig:///ePharma_MD/ShippedPedigree')/*:pedigreeEnvelope/*:pedigree/*:shippedPedigree ";
        query = query + "where  $i/*:documentInfo/*:serialNumber = '" + pedigreeID + "' ";
        query =
            query
                + "return if(exists($i//*:initialPedigree/*:altPedigree)) then tlsp:GetBinaryImageForServlet(binary{$i//*:initialPedigree/*:altPedigree/*:data},'data') else ()";

        System.out.println("Query : " + query);
        List initialStatus = queryRunner.executeQuery(query);
        if (initialStatus != null && initialStatus.size() > 0) {
          // String initialStatus = queryRunner.returnExecuteQueryStringsAsString(query);
          filePath[1] = getInitialPedigreePDF(initialStatus, str);
          // filePath[1] = getInitialPedigreePDF1(initialStatus,str);
          System.out.println("file path : " + filePath[1]);
          mergeFilePath = mergePDF(filePath[1], filePath[0]);
        }

      } else mergeFilePath = pdffile.getAbsolutePath();
      System.out.println(" file path : " + mergeFilePath);

    } catch (Exception e) {
      try {
        SendDHFormEmail.sendMailToSupport(
            "*****@*****.**",
            "*****@*****.**",
            "smarthost.coxmail.com",
            "Error in Create PDF",
            e.getMessage(),
            "*****@*****.**",
            "60empire");
        e.printStackTrace();
      } catch (Exception ex) {
      }
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    return mergeFilePath;
  }