2008/JAVA2008. 7. 28. 16:54

/*
 * update 2007.03.14 PM table삭제메소드 추가
 * update 2007.04.05 getPlanStandbyApprovalList일경우 추가(결재대기), SendMail메소드추가
 */
package midas.pm;

import java.util.Vector;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import midas.admin.FabAction;
import midas.admin.UserData;
import midas.modules.util.ChartFile;
import midas.modules.util.IllegalCommandException;
import midas.modules.util.Manager;
import midas.modules.util.StringUtil;
import midas.modules.util.PageForward;
import midas.modules.db.SqlUtil;
import midas.monitoring.ChartInfoData;

public class PMSheetManager implements Manager {

 final static public int INSERT = 1;
 final static public int UPDATE = 2;
 final static public int DELETE = 3;
 
 final static public int Error_SQLException = -1;
 final static public int Error_Equipment_UsingSetup = -731;
 final static public int Error_Part_ExistChild = -741;
 final static public int Error_Part_UsingEquipment = -742;
 final static public int Error_Util_UsingEquipment = -751;

 public PageForward execute(HttpServletRequest request, HttpServletResponse response, String strMethod) throws Exception {
 
  PageForward objForward = new PageForward();
  UserData objLogined  = null;
  Object objClassObject  = request.getSession().getAttribute("LoginedUser");
 
  if (objClassObject != null)
  {
   Class objClassChecker = objClassObject.getClass();
   if (objClassChecker.getName().equals("midas.admin.UserData"))
    objLogined = (UserData) objClassObject;
  }
 
  if (objLogined == null || objLogined.userid == null || objLogined.userid.equals(""))
  {
   request.getSession().removeAttribute("LoginedUser");
   objLogined = new UserData();
   objForward.setPath("/");
  }
 
  String strUserId = objLogined.userid;
  String strUserName = objLogined.username;
 
  request.setAttribute("strUserID", strUserId);
  request.setAttribute("strUserName", strUserName);
 

  //=======================================================
  //  PM Trend
  //=======================================================
  if(strMethod.equals("getPmSheetTrend"))
  {
   Vector objList = null;

   //----------------------------------------
   // 리스트 정보 조회.
   //----------------------------------------
   String strFabId  = StringUtil.nvl( request.getParameter("fabid") );
   String strEqType = StringUtil.nvl( request.getParameter("eqtype") );
   String strEqMn   = StringUtil.nvl( request.getParameter("eqmn") );
   String strEqCode = StringUtil.nvl( request.getParameter("eqcode") );
   
   // Parameter List
   objList = PMSheetAction.getPmSheetTrendParameterList(strFabId, strEqType, strEqMn, strEqCode);
   
   //--------------------------------------------------
   // Attribute 정보 전달.
   //--------------------------------------------------
   request.setAttribute("objListTrend", objList);
   
   objForward.setPath("/pm/PmSheetTrend.jsp");
   return objForward;
  }

  //=======================================================
  //  PM Trend[Data History]
  //=======================================================
  else if(strMethod.equals("getPmSheetTrendDataHistory"))
  {
   Vector objList1 = null;
   Vector objList2 = null;
   Vector objList3 = null;
   ChartInfoData objChartData = null;

   //----------------------------------------
   // 리스트 정보 조회.
   //----------------------------------------
   String strItemName    = request.getParameter("itemname");
   String strFabId       = request.getParameter("fabid");
   String strEqType      = request.getParameter("eqtype");
   String strEqMn        = request.getParameter("eqmn");
   String strEqCode      = request.getParameter("eqcode");
   String strPeriodStart = request.getParameter("periodStart");
   String strPeriodEnd   = request.getParameter("periodEnd");
   
   // Parameter List
   objList1 = PMSheetAction.getPmSheetTrendParameterList(strFabId, strEqType, strEqMn, strEqCode);
   

   //----------------------------------------
   // 조회조건 공통
   //----------------------------------------
   StringBuffer strWhere = new StringBuffer();
   // fabid
   if (strFabId != null && strFabId != "" && strFabId.length() != 0)
    strWhere.append("    AND A.FABID = '"+ strFabId +"'                                 \n");
   // eqtype
   //if (strEqType != null && strEqType != "" && strEqType.length() != 0)
    //strWhere.append("    AND A.EQCODE LIKE '%"+ strEqType +"%'                          \n");
   // eqmn
   if (strEqMn != null && strEqMn != "" && strEqMn.length() != 0)
    strWhere.append("    AND A.EQMN = '"+ strEqMn +"'                                   \n");
   // eqcode
   if (strEqCode != null && strEqCode != "" && strEqCode.length() != 0)
    strWhere.append("    AND A.EQCODE IN "+ SqlUtil.generateInQuery(strEqCode.split(",")) +" \n");
   // periodStart
   if (strPeriodStart != null && strPeriodStart != "" && strPeriodStart.length() != 0)
    strWhere.append("    AND B.REGDATE BETWEEN TO_DATE('"+ strPeriodStart +" 00:00:00','YYYY-MM-DD HH24:MI:SS') AND TO_DATE('"+ strPeriodEnd +" 23:59:59','YYYY-MM-DD HH24:MI:SS')  \n");

   // Data History
   objList2 = PMSheetAction.getPmSheetTrendDataHistory(strItemName, strWhere.toString());
   
   // Data History
   objList3 = PMSheetAction.getPmSheetTrendEqcode(strItemName, strWhere.toString());
   
   //--------------------------------------------------
   // Attribute 정보 전달.
   //--------------------------------------------------
   request.setAttribute("objListTrend", objList1);
   request.setAttribute("objListTrendDataHistory", objList2);
   request.setAttribute("objListTrendEqcode", objList3);

   try {
    objChartData = PMSheetAction.getPmSheetTrendDataHistoryChart(strItemName, strWhere.toString());
    ChartFile.writeStatFile(objChartData.chartString, objChartData.chartFileName);
    objChartData.chartString = null;
   } catch (Exception e) {
   
   }
   request.setAttribute("objChart", objChartData);
   
   objForward.setPath("/pm/PmSheetTrend.jsp");
   return objForward;
  }
 
  //=======================================================
  //  PM 상신대기
  //=======================================================
  else if(strMethod.equals("getPmSheetApproval"))
  {
   Vector objData = null;

   //----------------------------------------
   // 리스트 정보 조회.
   //----------------------------------------
   String strUserID = (String)request.getAttribute("strUserID");
   
   // PM 상신대기
   objData = PMSheetAction.getPmSheetApproval(strUserID);
   
   //--------------------------------------------------
   // Attribute 정보 전달.
   //--------------------------------------------------
   request.setAttribute("objList", objData);
   
   objForward.setPath("/pm/PmSheetApproval.jsp");
   return objForward;
  }

  //--------------------------------------
  // 조회조건 Eqcode list 생성
  //--------------------------------------
  else if(strMethod.equals("getEqcodeList"))
  {
   Vector objList = null;
   //----------------------------------------
   // 리스트 정보 조회.
   //----------------------------------------
   String strFabId  = request.getParameter("fabid");
   String strEqType = request.getParameter("eqtype");
   String strEqMn   = request.getParameter("eqmn");
   
   String selectedfabid   = StringUtil.nvl( request.getParameter("selectedfabid"));
   String selectedeqtype  = StringUtil.nvl( request.getParameter("selectedeqtype"));
   String selectedeqmodel = StringUtil.nvl( request.getParameter("selectedeqmodel"));
   String selectedeqcode  = StringUtil.nvl( request.getParameter("eqcode") );
   
   //----------------------------------------
   // 조회조건 공통
   //----------------------------------------
   // Eqcode list
   objList  = PMSheetAction.getEqcodeList(selectedfabid , selectedeqtype , selectedeqmodel);       // FAB정보

   request.setAttribute("vEqcodeList", objList);
   
   objForward.setPath("/common/DisplayEqcodeList.jsp");
   
   return objForward;
  }
 
  //----------------------------------------
  // 존재하지 않는 Mehod
  //----------------------------------------
  else
  {
   throw new IllegalCommandException("잘못된 Method! 올바른 Method를 실행해 주십시오.");
  }
 }
}

Posted by penguindori
2008/JAVA2008. 7. 28. 16:52

package midas.pm;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import midas.equipment.ManagementManager;

import midas.application.SearchUserManager;
import midas.modules.util.IllegalCommandException;
import midas.modules.util.Manager;
import midas.modules.util.PageForward;

public class PMServlet  extends HttpServlet {
 
 /**
  *
  */
 private static final long serialVersionUID = 4749453770777604392L;

 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
 {
  doPost(request, response);
 }

 public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException
 {
  //-----------------------
  // Session Check.  update 2007.04.06
  //-----------------------
  if(request.getSession().getAttribute("LoginedUser")==null){
   RequestDispatcher rd = getServletContext().getRequestDispatcher("/common/AfterSessionOut.jsp");
   rd.forward(request,response);
   return;
  }

  PageForward objForward = null;
  Manager objManager = null;
  try
  {
   String strClass  = request.getParameter("wrk");      //비즈니스 클래스명을 넘겨줌
   String strMethod = request.getParameter("cmd");      //클래스내의 메소드명을 넘겨줌

   objManager = getManager(strClass);         //CLASS의 오브젝트를 할당받는다.
   objForward = objManager.execute(request, response, strMethod);  //실행로직
   
  }
  catch(Exception e)
  {
   e.printStackTrace();
   throw new ServletException(e.getMessage());
  }

  if(objForward.isRedirect())
  {
   response.sendRedirect(objForward.getPath());
  }
  else
  {
   RequestDispatcher rd = request.getRequestDispatcher(objForward.getPath());
   rd.forward(request, response);  
  }
 }
 
 /**
  * Get Action
  * @param strCommand
  * @return
  * @throws IllegalCommandException
  */
 public Manager getManager(String strCommand) throws IllegalCommandException
 {
  Manager objManager = null;
 
  if (strCommand.equals("pm")) {
   objManager = new PMManager();
  }
  else if (strCommand.equals("SearchUser")) {
   objManager = new SearchUserManager();
  }
  else if (strCommand.equals("equipment")) {
   objManager = new ManagementManager();
  }
  else if (strCommand.equals("inspection")) {
   objManager = new InspectionEqManager();
  }
  else if (strCommand.equals("pmsheet")) {
   objManager = new PMSheetManager();
  }
  else if (strCommand.equals("eqhispart")) {
   objManager = new EqHisPartManager();
  }
  else {
   throw new IllegalCommandException("잘못된 실행명령! 올바른 클래스를 실행하세요. ");
  }

  return objManager;
 }
}

Posted by penguindori