- 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
672 lines
24 KiB
Plaintext
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> |