⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pipemain.java

📁 简介: 今天为网友提供的是JAVA源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.power.pipeengine;

import java.awt.*;
import java.io.*;
import java.text.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.util.*;

import com.power.util.Message.*;
import com.power.util.urltools.*;
import com.power.pipeengine.Constraint.*;
import com.power.pipeengine.Entity.*;
import com.power.pipeengine.InputData.*;
import com.power.pipeengine.LPModel.*;
import com.power.pipeengine.Report.*;
import com.power.pipeengine.Variable.*;
import com.power.pipeengine.EngineUI.*;
import com.power.pipeengine.DispatchReport.*;
import com.power.lpsolver.LPSolve.*;
import java.util.ResourceBundle;
import com.power.pipe.*;

/**
 * This class can take a variable number of parameters on the command
 * line. Program execution begins with the main() method. The class
 * constructor is not invoked unless an object of type 'Class1'
 * created in the main() method.
 */
public class PIPEMain
    extends Thread {
  private String errMsg = "**Error";
  private int INTERVAL = 30; //secends
  /**
   * The main entry point for the application.
   *
   * @param args Array of parameters passed to the application
   * via the command line.
   */

  static ResourceBundle res = ResourceBundle.getBundle(
      "com.power.pipeengine.Res",
      EngineConfig.getInstance().getLocale());
  private static final PIPEMain INSTANCE =
      new PIPEMain();

  // Private constructor supresses
  // default public constructor
  private PIPEMain() {
  }

  public static PIPEMain getInstance() {
    return INSTANCE;
  }

  private boolean runPIPE = true;
  private boolean isWait;
  private boolean db2CSVError = false;
  private boolean csv2DBError = false;
  private JApplet engineApplet;

  public void setEngineApplet(JApplet anApplet) {
    engineApplet = anApplet;
  }

  public void runpipe() {

    while (true) {
      if (EngineConfig.getInstance().getRunFlag() == true) {
        EngineConfig.getInstance().setRunFlag(false);
        runpipe();
      }

      try {
        isWait = true;
        waitThread wT = new waitThread(2);
        wT.start();
        while (isWait) {}
        ;
        //this.sleep( 1000 );
      }
      catch (Exception e) {
        MessageArea.getInstance().addMessage("Error while waiting: " +
                                             e.getMessage() + "\n");
      }

    }

  }

  public void extractDataFromDB(String fileName) {
    String urlAddr = GlobalConfig.getInstance().getLPServerURL() +
        "com.power.pipeengine.LP_ConvertData";
    URL url = null;
    HttpURLConnection urlconn = null;
    BufferedReader d = null;
    InputStream in = null;
    try {
      url = new URL(urlAddr + "?" +
                    "cmd=DB-CSV&" +
                    "FileName=c:\\paraster\\script\\" + fileName + "&" +
                    "Folder=c:\\paraster\\input");
      urlconn = (HttpURLConnection) (url.openConnection());
      urlconn.setRequestMethod("GET");
      in = urlconn.getInputStream();
      d = new BufferedReader(new InputStreamReader(in));
      String tmpStr;
      while ( (tmpStr = d.readLine()) != null) {
        if (tmpStr.length() >= errMsg.length() &&
            tmpStr.substring(0, errMsg.length()).equals(errMsg)) {
          MessageArea.getInstance().addMessage(
              "Error writing file through URL: " + tmpStr + "\n");
          db2CSVError = true;
          break;
        }
        else
          MessageArea.getInstance().addSvrSideMsg(tmpStr + "\n");
      }
    }
    catch (Exception e) {
      MessageArea.getInstance().addSvrSideMsg(e.getMessage() + "\n");
    }
    finally {
      try {
        d.close();
        in.close();
      }
      catch (Exception e) {
        MessageArea.getInstance().addSvrSideMsg(e.getMessage() + "\n");
      }
    }
  }

  public void writeDispatchListToDB(String csvName, String tblName) {
    /**** CSV to DB ****/

    String urlAddr = GlobalConfig.getInstance().getLPServerURL() +
        //String urlAddr = "http://127.0.0.1/ChangRong/servlet" +
        "com.power.pipeengine.LP_ConvertData";
    URL url = null;
    HttpURLConnection urlconn = null;
    BufferedReader d = null;
    InputStream in = null;
    try {
      url = new URL(urlAddr + "?" +
                    "cmd=CSV-DB&" +
                    "FileName=c:\\paraster\\output\\" + csvName + "&" +
                    "TableName=" + tblName);
      urlconn = (HttpURLConnection) (url.openConnection());
      urlconn.setRequestMethod("POST");
      in = urlconn.getInputStream();
      d = new BufferedReader(new InputStreamReader(in));
      String tmpStr;
      while ( (tmpStr = d.readLine()) != null) {
        if (tmpStr.length() >= errMsg.length() &&
            tmpStr.substring(0, errMsg.length()).equals(errMsg)) {
          MessageArea.getInstance().addMessage(
              "Error writing file through URL: " + tmpStr + "\n");
          csv2DBError = true;
          break;
        }
        else
          MessageArea.getInstance().addSvrSideMsg(tmpStr + "\n");
      }
    }
    catch (Exception e) {
      MessageArea.getInstance().addSvrSideMsg(e.getMessage() + "\n");
    }
    finally {
      try {
        d.close();
        in.close();
      }
      catch (Exception e) {
        MessageArea.getInstance().addSvrSideMsg(e.getMessage() + "\n");
      }
    }

  }

  private SimpleDateFormat sdfInput = new SimpleDateFormat(
      "yyyy/MM/dd hh:mm:ss");

  public void run() {
    MessageArea.getInstance().addMessage(res.getString("EngineStartTime"));
    Date startDate = new Date(), endDate;
    MessageArea.getInstance().addMessage(sdfInput.format(startDate) + "\n");
    EngineRunTime.getInstance().start();

    try {
      MessageArea.getInstance().addMessage(res.getString("GeneratingDataModel") +
                                           "\n");
      /**** DB to CSV ****/
      String fileName = "normalDBtoCSV.txt";
      if (EngineConfig.getInstance().isATPScheduling()) {
        fileName = "atpDBtoCSV.txt";
      }

      extractDataFromDB(fileName);

      if (db2CSVError == true) {
        //do some cleanup and return
        MessageArea.getInstance().addMessage(res.getString("db2CSVError"));
        cleanup();
        return;
      }

      String msg = res.getString("Engine0999");
      MessageArea.getInstance().addMessage(msg);

      /*DataModel dataModel = DataModel.getInstance();

      dataModel.createModel();

      if (EngineConfig.getInstance().isDataSufficient() == false) {
        MessageArea.getInstance().addMessage(
            res.getString("Engine1750"));
        return;
      }

      buildConstraints();

      System.gc();

      MPSFileWriter.getInstance().write("c:\\paraster\\work\\model.mps");

      solve();
      Solution.getInstance().createSolution();

      //build routing network.
      createRoutingNetwork();*/

      //createReports();

      //DispatchList.getInstance().createReport();
      SimpleDispatchRule.getInstance().createReport();
      if (!EngineConfig.getInstance().isATPScheduling()) {
        writeDispatchListToDB("dispatchlist.csv", "tbl_QADispatchList");
      }
//if(true) return;

      /*writeDispatchListToDB("plansummary.csv", "tbl_PlanSummary");
      writeDispatchListToDB("plandetails.csv", "tbl_PlanDetails");
      writeDispatchListToDB("nextop.csv", "tbl_QANextOperator");

      if (csv2DBError == true) {
        //do some cleanup and return
        MessageArea.getInstance().addMessage(res.getString("csv2DBError"));
        cleanup();
        return;
      }*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -