/*
* 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를 실행해 주십시오.");
}
}
}