Files
wace_plm/WebContent/WEB-INF/view/main/mainContents.jsp
chpark da06c4684c Initial commit: WACE PLM with database initialization features
- Add Docker Compose configurations for dev, prod, and standalone environments
- Add database initialization scripts (init-db.sh, init-db-docker.sh)
- Add enhanced start-docker-linux.sh with DB init support
- Add comprehensive database initialization guide
- Support for automatic dbexport.pgsql import on first run
- Include safety checks for production environment
2025-08-29 15:46:08 +09:00

672 lines
24 KiB
Plaintext

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="com.pms.common.utils.*"%>
<%@ page import="java.util.*" %>
<%@include file= "/init.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><%=Constants.SYSTEM_NAME%></title>
<%
//영업관리
/* response.sendRedirect("/project/dashBoardMain.do?menuObjId=986034818"); */
//response.sendRedirect("/contractMgmt/contractDashBoard.do?menuObjId=374465610"); //o 현황
/* 240411 header에서 첫 메뉴 결정하게 수정
if(!partnerCd.equals("")){
response.sendRedirect("/supplyChainMgmt/purchaseOrderMgmtList.do?menuObjId=609918474"); //계약
}else{
response.sendRedirect("/contractMgmt/contractList.do?menuObjId=374465610"); //계약
}
*/
//response.sendRedirect("/contractMgmt/fundMgmtList.do?menuObjId=374465610"); //자금
//response.sendRedirect("/releaseMgmt/releaseMgmtList.do?menuObjId=374465610"); //출고
//프로젝트관리
//response.sendRedirect("/project/projectMgmtStatusList.do?menuObjId=-574787667"); //현황
//response.sendRedirect("/project/projectMgmtList.do?menuObjId=153558301"); //진행관리
//response.sendRedirect("/project/projectMgmtWbsList.do?menuObjId=-1197291590"); //일정관리
//response.sendRedirect("/project/projectMgmtStructureReviewList.do?menuObjId=1178118254"); //o 구조검토관리
//response.sendRedirect("/project/projectMgmtRadiationHisList.do?menuObjId=-958864135"); //시사출이력관리
//response.sendRedirect("/project/wbsTemplateMngList.do?menuObjId=-958864135"); //표준WBS관리
//response.sendRedirect("/project/projectMgmtWbsList.do?menuObjId=-958864135"); //표준WBS관리
//제품관리
//response.sendRedirect("/partMng/searchStructureList.do?menuObjId=-958864135"); //PART 및 구조등록
//response.sendRedirect("/partMng/searchStructureList.do?menuObjId=-958864135"); //PART조회
//response.sendRedirect("/partMng/searchStructureList.do?menuObjId=-958864135"); //BOM 회
//response.sendRedirect("/partMng/searchStructureList.do?menuObjId=-958864135"); //설계변경 리스트
%>
<script>
/*
if(parent && parent.frames["headerFS"] && typeof(parent.frames["headerFS"].fn_goMyTask) == "function" ){
parent.frames["headerFS"].fn_goMyTask();
}
*/
/* */
if(parent && parent.parent && parent.parent.frames["headerFS"] && typeof(parent.parent.frames["headerFS"].fn_goMyTask) == "function" ){
//parent.parent.frames["headerFS"].fn_goMyTask();
}
$(document).ready(function(){
$("#btnPopup").click(function(){
window.open("<%=Constants.QMS_ISIR_LINK_URL%>", "", "width=900, height=600");
});
$(".btnOpenBoard").click(function(){
var boardType = $(this).attr("boardType");
fn_openBoardList(boardType);
});
$(".btnBoardDetail").click(function(){
var boardType = $(this).attr("boardType");
var objId = $(this).attr("data-OBJID");
if(boardType == "notice"){
fn_openNoticeFormPopUp(objId);
}
});
//project 팝업
$(".btnProjectDetail").click(function(){
var objId = $(this).attr("data-OBJID");
window.open("/project/projectDetailPopUp.do?objId="+objId,"projectFormPopUp","width=1150, height=670");
});
//수주품목 팝업
$(".btnProdCnt").click(function(){
var objId = $(this).attr("data-OBJID");
window.open("/project/projectOrderItemListPopup.do?objId="+objId, "", "width=620, height=342");
});
$(".issue_btn").click(function(){
window.open("/board/issue/issueList.do", "", "width=1290, height=600");
});
//차종별 Task 진행현황 pie chart구성
//$("input[type=radio]").eq(0).prop("checked", true);
$("input[type=radio]").click(function(){
var carObjId = $(this).val();
var carCode = $(this).attr("data-CAR_CODE");
fn_getTaskStatusInfo(carObjId);
$("#taskTitle").text(carCode+" Task 진행현황");
});
$("input[type=radio]").eq(0).trigger("click");
//차종별 문제점 진행현황 Chart
var problemStatusList = ${empty PROBLEM_STATUS_LIST?'[]':PROBLEM_STATUS_LIST};
if(problemStatusList != null){
setProblemStatusChart("problemStatus", problemStatusList);
}else{
var noData = "<div id=\"problemStatusMessageArea\" style=\"width:100%;height:50%;padding-top:10%;text-align:center;\">조회된 Data가 없습니다.</div>";
$("#problemTaskStatus").html(noData);
}
//EO 적용현황 Chart
var eoApplyStatusList = ${empty EO_APPLY_STATUS_LIST?'[]':EO_APPLY_STATUS_LIST};
if(eoApplyStatusList != null){
setEOApplyStatusChart("eoApplyStatus", eoApplyStatusList);
}else{
var noData = "<div id=\"eoApplyStatusMessageArea\" style=\"width:100%;height:50%;padding-top:10%;text-align:center;\">조회된 Data가 없습니다.</div>";
$("#eoApplyStatus").html(noData);
}
//문제점 팝업
$(".btnProblemList").click(function(){
var oemObjId = $(this).attr("data-OEM_OBJID");
var carObjId = $(this).attr("data-CAR_OBJID");
var status = $(this).attr("data-STATUS");
//Swal.fire("carObjId : "+carObjId+", status : "+status);
var params = "?search_oemObjId="+oemObjId+"&search_carObjId="+carObjId+"&search_status="+status;
window.open("/dashboard/problemListPopUp.do"+params, "", "width=1700, height=585");
});
//이슈 팝업
$(".btnOpenIssue").click(function(){
var oemObjId = $(this).attr("data-OEM_OBJID");
var carObjId = $(this).attr("data-CAR_OBJID");
var params = "?search_oem="+oemObjId+"&search_carType="+carObjId;
location.href="/project/gate/issueList.do"+params;
//window.open("/project/gate/issueList.do"+params, "issuePopup", "width=1400, height=600");
//Swal.fire("oemObjId : "+oemObjId+", carObjId : "+carObjId);
});
//task 팝업
$(".btnOpenTask").click(function(){
var oemObjId = $(this).attr("data-OEM_OBJID");
var carObjId = $(this).attr("data-CAR_OBJID");
var taskType = $(this).attr("data-TASK_TYPE");
if(taskType != null && taskType != ""){
var params = "?search_oem="+oemObjId+"&search_carType="+carObjId+"&search_status_type="+taskType;
}else{
var params = "?search_oem="+oemObjId+"&search_carType="+carObjId;
}
window.open("/project/taskList.do"+params, "taskPopup", "width=1520, height=800");
});
//eo적용현황 팝업
$(".btnOpenEOApply").click(function(){
var oemObjId = $(this).attr("data-OEM_OBJID");
var carObjId = $(this).attr("data-CAR_OBJID");
var applyStatus = $(this).attr("data-APPLY_STATUS");
fn_openEOApplyPopup(oemObjId, carObjId, applyStatus);
});
});
</script>
<script>
//Task List Popup
function fn_openTaskList(obj){
var oemObjId = obj.options.oemObjId;
var carObjId = obj.options.carObjId;
var taskType = obj.options.taskType;
if(taskType != null && taskType != ""){
var params = "?search_oem="+oemObjId+"&search_carType="+carObjId+"&search_status_type="+taskType;
}else{
var params = "?search_oem="+oemObjId+"&search_carType="+carObjId;
}
window.open("/project/taskList.do"+params, "", "width=1700, height=800");
}
//eo적용현황 팝업
function fn_openEOApplyPopup(oemObjId, carObjId, applyStatus){
var params = "?search_oemObjId="+oemObjId+"&search_carObjId="+carObjId+"&search_applyStatus="+applyStatus;
window.open("/productDevMng/eoApplyStatusList.do"+params, "taskPopup", "width=1600 height=800");
}
//eo적용현황 팝업
function fn_openEOApplyPopup_byChart(obj){
console.log(obj);
var category = obj.category; //car code
var seriesName = obj.series.name; //상태
var oemObjId = obj.series.userOptions.oemObjId[obj.index]; //oem objid
var carObjId = obj.series.userOptions.carObjId[obj.index]; //car objid
var status = seriesName == "진행중"?'uncomplete':'complete';
fn_openEOApplyPopup(oemObjId, carObjId, status);
//Swal.fire("category : "+category+", seriesName : "+seriesName+", oemObjId : "+oemObjId+", carObjId : "+carObjId);
}
//게시판 목록을 보여준다.
function fn_openBoardList(type){
if(type == "notice"){
window.open("/notice/getNoticeList.do","noticeList","width=1200 height=600 menubar=no status=no");
}else if(type == "qna"){
window.open("/qna/getQnaList.do","qnaList","width=1200 height=600 menubar=no status=no");
}
}
//공지사항 상세
function fn_openNoticeFormPopUp(objId){
var url = "/notice/openNoticeFormPopUp.do?objId="+objId;
if("true" != "${isAdmin}"){
url = "/notice/openNoticeDetailPopUp.do?objId="+objId;
}
window.open(url,"openNoticeFormPopUp","width=650 height=510 menubar=no status=no");
}
//task 진행현황 (pie chart)
function fn_getTaskStatusInfo(carObjId){
$.ajax({
url:"/dashboard/getTaskStatusList.do",
type:"POST",
data:{"carObjId":carObjId},
dataType:"json",
success:function(data){
//set chart
setCarTaskStatusChart("carTaskStatus", data);
},
error: function(jqxhr, status, error){
}
});
}
//task 진행현황(pie chart)
function setCarTaskStatusChart(divId, resultList){
var name = [];
var allCnt = [];
var completeCnt = [];
var planCnt = [];
var ongoingCnt = [];
var delayCnt = [];
var oemObjId = [];
var carObjId = [];
$.each(resultList , function(i){
name[i] = resultList[i].CAR_CODE;
oemObjId[i] = resultList[i].OEM_OBJID;
carObjId[i] = resultList[i].CAR_OBJID;
allCnt[i] = Number(fnc_checkNullDefaultValue(resultList[i].ALL_CNT, 0));
completeCnt[i] = Number(fnc_checkNullDefaultValue(resultList[i].COMPLETE_CNT, 0));
planCnt[i] = Number(fnc_checkNullDefaultValue(resultList[i].PLAN_CNT, 0));
ongoingCnt[i] = Number(fnc_checkNullDefaultValue(resultList[i].ONGOING_CNT, 0));
delayCnt[i] = Number(fnc_checkNullDefaultValue(resultList[i].DELAY_CNT, 0));
//Swal.fire("name["+i+"] : "+name[i]+", cnt["+i+"] : "+cnt[i]);
});
//Swal.fire("name : "+name+", allCnt : "+allCnt+", completeCnt : "+completeCnt);
$('#'+divId).highcharts({
colors: ['#558ed5', '#b6a6ca', '#90ff7d','#ff6d6d'],
chart: {
type : 'pie'
},
title: {
text: ''
},
plotOptions:{
series: {
dataLabels: {
enabled: true,
format: '{point.name}: {point.y}건'
},
cursor:'pointer',
point:{
events:{
click:function(){
console.log(this);
fn_openTaskList(this);
}
}
}
}
},
"series": [
{
name: '건수'
, data : [
{
'name' : '완료',
'y' : completeCnt[0]
, oemObjId : oemObjId
, carObjId : carObjId
, taskType : 'complete'
},
{
'name' : '계획',
'y' : planCnt[0]
, oemObjId : oemObjId
, carObjId : carObjId
, taskType : 'plan'
},
{
'name' : '진행중',
'y' : ongoingCnt[0]
, oemObjId : oemObjId
, carObjId : carObjId
, taskType : 'ongoing'
},
{
'name' : '지연',
'y' : delayCnt[0]
, oemObjId : oemObjId
, carObjId : carObjId
, taskType : 'delay'
}
]
}
]
});
}
//문제점 진행현황
function setProblemStatusChart(divId, resultList){
var name = [];
var allCnt = [];
var completeCnt = [];
var ongoingCnt = [];
var carObjId = [];
var oemObjId = [];
$.each(resultList , function(i){
name[i] = resultList[i].CAR_CODE;
allCnt[i] = Number(fnc_checkNullDefaultValue(resultList[i].ALL_CNT, 0));
completeCnt[i] = Number(fnc_checkNullDefaultValue(resultList[i].COMPLETE_CNT, 0));
ongoingCnt[i] = Number(fnc_checkNullDefaultValue(resultList[i].ONGOING_CNT, 0));
carObjId[i] = Number(fnc_checkNullDefaultValue(resultList[i].CAR_OBJID, 0));
oemObjId[i] = Number(fnc_checkNullDefaultValue(resultList[i].OEM_OBJID, 0));
//Swal.fire("name["+i+"] : "+name[i]+", cnt["+i+"] : "+cnt[i]);
});
//Swal.fire("name : "+name+", allCnt : "+allCnt+", completeCnt : "+completeCnt);
$('#'+divId).highcharts({
colors: ['#558ed5','#90ff7d'],
chart: {
zoomType: 'xy'
, type : 'column'
},
title: {
text: ''
},
xAxis: [{
categories: name
}],
yAxis: [{ // Primary yAxis
min : 0
, labels: {
format: '{value}'
}
, stackLabels: {
enabled : true
}
, title : ''
, tickInterval : 1
}],
tooltip: {
headerFormat: '<b>{point.x}</b><br/>',
pointFormat: '{series.name}: {point.y}<br/>Total: {point.stackTotal}',
useHTML: true
},
legend: {
align: 'right',
verticalAlign: 'top',
floating: false,
y:0
},
series: [
/* {
name: '전체'
, data: allCnt
}, */
{
name: '완료'
, data : completeCnt
, oemObjId : oemObjId
, carObjId : carObjId
}, {
name: '미결'
, data : ongoingCnt
, oemObjId : oemObjId
, carObjId : carObjId
}
],
plotOptions:{
column : {
stacking : 'normal'
, dataLabels : {
enabled : true
}
}
, series:{
cursor:'pointer',
point:{
events:{
click:function(){
fn_openProblemList_byCar(this);
}
}
}
}
}
});
}
//EO 적용현황
function setEOApplyStatusChart(divId, resultList){
var name = [];
var allCnt = [];
var ongoingCnt = [];
var completeCnt = [];
var oemObjId = [];
var carObjId = [];
$.each(resultList , function(i){
name[i] = resultList[i].CAR_CODE;
allCnt[i] = Number(fnc_checkNullDefaultValue(resultList[i].ALL_CNT, 0));
ongoingCnt[i] = Number(fnc_checkNullDefaultValue(resultList[i].ONGOING_CNT, 0));
completeCnt[i] = Number(fnc_checkNullDefaultValue(resultList[i].COMPLETE_CNT, 0));
oemObjId[i] = fnc_checkNull(resultList[i].OEM_OBJID);
carObjId[i] = fnc_checkNull(resultList[i].CAR_OBJID);
//Swal.fire("name["+i+"] : "+name[i]+", cnt["+i+"] : "+cnt[i]);
});
//Swal.fire("name : "+name+", allCnt : "+allCnt+", completeCnt : "+completeCnt);
$('#'+divId).highcharts({
colors: ['#90ff7d','#558ed5'],
chart: {
zoomType: 'xy'
, type : 'column'
},
title: {
text: ''
},
xAxis: [{
categories: name
}],
yAxis: [{ // Primary yAxis
min : 0
, labels: {
format: '{value}'
}
, stackLabels: {
enabled : true
}
, title : ''
, tickInterval : 15
}],
tooltip: {
headerFormat: '<b>{point.x}</b><br/>',
pointFormat: '{series.name}: {point.y}<br/>Total: {point.stackTotal}',
useHTML: true
},
legend: {
align: 'right',
verticalAlign: 'top',
floating: false,
y:0,
margin:0
},
series: [
/* {
name: '전체'
, data: allCnt
}, */
{
name: '진행중'
, data : ongoingCnt
, oemObjId : oemObjId
, carObjId : carObjId
}, {
name: '적용'
, data : completeCnt
, oemObjId : oemObjId
, carObjId : carObjId
}
],
plotOptions:{
column : {
stacking : 'normal'
, dataLabels : {
enabled : true
}
}
, series:{
cursor:'pointer',
point:{
events:{
click:function(){
fn_openEOApplyPopup_byChart(this);
}
}
}
}
}
});
}
</script>
</head>
<body id="main">
<%--
<div class="plmMainImg"></div>
<div class="contents_page_basic_margin">
<section id="" class="mainUpperSection main_secion" style="padding-bottom:10px;">
<div class="title_div" style="margin: 22px 0 10px 0; color:darkred;">프로젝트 현황(2018년 현재)</div>
<div style="overflow-y:scroll; width:100%;">
<table class="plm_table" style="width:100%;">
<colgroup>
<col width="2%">
<col width="4%">
<col width="4%">
<col width="6%">
<col width="6%">
<col width="6%">
<col width="*">
<col width="6%">
<col width="6%">
<col width="6%">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
</colgroup>
<thead>
<tr class="plm_thead">
<td rowspan="2">선택</td>
<td rowspan="2">고객사</td>
<td rowspan="2">차종</td>
<td rowspan="2">연간생산수량</td>
<td rowspan="2">생산공장</td>
<td rowspan="2">SOP</td>
<td rowspan="2" title="수주제품">수주제품</td>
<td rowspan="2">단계(Gate)</td>
<td rowspan="2">TFT장</td>
<td colspan="6">Task진행현황</td>
<td colspan="4">문제점 발생현황</td>
<td colspan="4">EO 적용현황</td>
<td rowspan="2">이슈현황</td>
</tr>
<tr class="plm_sub_thead">
<td>진행율(%)</td>
<td>전체</td>
<td>완료</td>
<td>예정</td>
<td>진행중</td>
<td>지연</td>
<td>조치율(%)</td>
<td>발생</td>
<td>조치</td>
<td>미결</td>
<td>적용율(%)</td>
<td>발생</td>
<td>적용</td>
<td>미적용</td>
</tr>
</thead>
</table>
</div>
<div class="plm_scroll_table" style="width:100%; height:170px; border-bottom:1px solid #eee;">
<table class="plm_table gate_status_table">
<colgroup>
<col width="2%">
<col width="4%">
<col width="4%">
<col width="6%">
<col width="6%">
<col width="6%">
<col width="*">
<col width="6%">
<col width="6%">
<col width="6%">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
<col width="*">
</colgroup>
<tbody class="hover_tr">
<c:choose>
<c:when test="${!empty PROJECT_STATUS_LIST}">
<c:forEach var="info" items="${PROJECT_STATUS_LIST}" varStatus="status">
<tr>
<td><input type="radio" name="car" value="${info.CAR_OBJID}" data-CAR_CODE="${info.CAR_CODE}"></td>
<td title="${info.OEM_NAME}">${info.OEM_NAME}</td>
<td title="${info.CAR_CODE}"><a href="#" class="btnProjectDetail" data-OBJID="${info.OBJID}">${info.CAR_CODE}</a></td>
<td title="${info.YEARLY_AVG_PRODUCTION_CNT}">${info.YEARLY_AVG_PRODUCTION_CNT}</td>
<td title="${info.OEM_FACTORY_NAME}">${info.OEM_FACTORY_NAME}</td>
<td title="${info.SOP_DATE}">${info.SOP_DATE}</td>
<td title="${info.PROD_CNT}"><a href="#" class="btnProdCnt" data-OBJID="${info.OBJID}">${info.PROD_CNT}</a></td>
<td title="${info.CURRENT_GATE}">${info.CURRENT_GATE}</td>
<td title="${info.TFT_LEADER_USER_NAME}">${info.TFT_LEADER_USER_NAME}</td>
<td title="${info.TASK_RATIO}">${info.TASK_RATIO}</td>
<td title="${info.TASK_ALL_CNT}"><a href="#" class="btnOpenTask" data-OEM_OBJID="${info.OEM_OBJID}" data-CAR_OBJID="${info.CAR_OBJID}">${info.TASK_ALL_CNT}</a></td>
<td title="${info.TASK_COMPLETE_CNT}"><a href="#" class="btnOpenTask" data-OEM_OBJID="${info.OEM_OBJID}" data-CAR_OBJID="${info.CAR_OBJID}" data-TASK_TYPE="complete">${info.TASK_COMPLETE_CNT}</a></td>
<td title="${info.TASK_PLAN_CNT}"><a href="#" class="btnOpenTask" data-OEM_OBJID="${info.OEM_OBJID}" data-CAR_OBJID="${info.CAR_OBJID}" data-TASK_TYPE="plan">${info.TASK_PLAN_CNT}</a></td>
<td title="${info.TASK_ONGOING_CNT}"><a href="#" class="btnOpenTask" data-OEM_OBJID="${info.OEM_OBJID}" data-CAR_OBJID="${info.CAR_OBJID}" data-TASK_TYPE="ongoing">${info.TASK_ONGOING_CNT}</a></td>
<td title="${info.TASK_DELAY_CNT}"><a href="#" class="btnOpenTask" data-OEM_OBJID="${info.OEM_OBJID}" data-CAR_OBJID="${info.CAR_OBJID}" data-TASK_TYPE="delay">${info.TASK_DELAY_CNT}</a></td>
<td title="${info.PROBLEM_RATIO}">${info.PROBLEM_RATIO}</td>
<td title="${info.PROBLEM_ALL_CNT}"><a href="#" class="btnProblemList" data-OEM_OBJID="${info.OEM_OBJID}" data-CAR_OBJID="${info.CAR_OBJID}" data-STATUS="">${info.PROBLEM_ALL_CNT}</a></td>
<td title="${info.PROBLEM_COMPLETE_CNT}"><a href="#" class="btnProblemList" data-OEM_OBJID="${info.OEM_OBJID}" data-CAR_OBJID="${info.CAR_OBJID}" data-STATUS="complete">${info.PROBLEM_COMPLETE_CNT}</a></td>
<td title="${info.PROBLEM_ONGOING_CNT}"><a href="#" class="btnProblemList" data-OEM_OBJID="${info.OEM_OBJID}" data-CAR_OBJID="${info.CAR_OBJID}" data-STATUS="create">${info.PROBLEM_ONGOING_CNT}</a></td>
<td title="${info.EO_APPLY_RATIO}">${info.EO_APPLY_RATIO}</td>
<td title="${info.EO_APPLY_ALL_CNT}"><a href="#" class="btnOpenEOApply" data-OEM_OBJID="${info.OEM_OBJID}" data-CAR_OBJID="${info.CAR_OBJID}" data-APPLY_STATUS="">${info.EO_APPLY_ALL_CNT}</a></td>
<td title="${info.EO_APPLY_COMPLETE_CNT}"><a href="#" class="btnOpenEOApply" data-OEM_OBJID="${info.OEM_OBJID}" data-CAR_OBJID="${info.CAR_OBJID}" data-APPLY_STATUS="complete">${info.EO_APPLY_COMPLETE_CNT}</a></td>
<td title="${info.EO_APPLY_ONGOING_CNT}"><a href="#" class="btnOpenEOApply" data-OEM_OBJID="${info.OEM_OBJID}" data-CAR_OBJID="${info.CAR_OBJID}" data-APPLY_STATUS="uncomplete">${info.EO_APPLY_ONGOING_CNT}</a></td>
<td title="${info.ISSUE_ALL_CNT}"><a href="#" class="btnOpenIssue" data-OEM_OBJID="${info.OEM_OBJID}" data-CAR_OBJID="${info.CAR_OBJID}">${info.ISSUE_ALL_CNT}</a></td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td align="center" colspan="24">등록된 Project가 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</section>
</div>
<div class="contents_page_basic_margin" style="height:333px; margin-top:35px;">
<div style="width:30%; float:left; border:1px solid #eee; border-radius:10px;height:280px;">
<div class="title_div" style="margin-top:-20px;" id="taskTitle">Task 진행현황</div>
<div id="carTaskStatus" class="main_chart1" style="height:220px; margin-top:50px;"></div>
</div>
<div style="width:30%; height:280px; float:left; margin-left:5%; border:1px solid #eee; border-radius:10px;">
<div class="title_div" style="margin-top:-20px;">문제점 진행현황</div>
<div id="problemStatus" class="main_chart2" style="height:250px; margin-top:0px;"></div>
</div>
<div style="width:30%; height:280px; float:right; border:1px solid #eee; border-radius:10px;">
<div class="title_div" style="margin-top:-20px;">EO 적용현황</div>
<div id="eoApplyStatus" class="main_chart3" style="height:250px; margin-top:0px;"></div>
</div>
</div>
--%>
</body>
</html>