Files
wace_plm/WebContent/WEB-INF/view/problem/problemMngStatus.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

756 lines
27 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>
</head>
<script>
$(document).ready(function(){
fn_setCarTypeList();
fn_setProductGroupList();
fn_getCarProductProblemMngPieChart("${empty param.carObjId1?baseParamMap.CAR_OBJID:param.carObjId1}","${empty param.productGroupObjId1?baseParamMap.PRODUCT_GROUP_OBJID:param.productGroupObjId1}","","","");
fn_getCarProductProblemMngList("${empty param.carObjId1?baseParamMap.CAR_OBJID:param.carObjId1}","${empty param.productGroupObjId1?baseParamMap.PRODUCT_GROUP_OBJID:param.productGroupObjId1}","","","");
fn_getProblemTypeColumnChart("${empty param.carObjId2?baseParamMap.CAR_OBJID:param.carObjId2}","${empty param.productGroupObjId2?baseParamMap.PRODUCT_GROUP_OBJID:param.productGroupObjId2}","","","");
fn_getProblemTypeList("${empty param.carObjId2?baseParamMap.CAR_OBJID:param.carObjId2}","${empty param.productGroupObjId2?baseParamMap.PRODUCT_GROUP_OBJID:param.productGroupObjId2}","","","");
fn_setProductTypeList("productObjId1","${empty param.productGroupObjId1?baseParamMap.PRODUCT_GROUP_OBJID:param.productGroupObjId1}");
fn_setProductTypeList("productObjId2","${empty param.productGroupObjId2?baseParamMap.PRODUCT_GROUP_OBJID:param.productGroupObjId2}");
//단계 change
$("#step1").change(function(){
fnc_setStep2($(this).val(), "");
});
//단계1 change trigger
$("#step1").trigger("change");
//유형 change
$("#type1").change(function(){
fnc_setType2($(this).val(), "");
});
$("#type1").trigger("change");
$("#type1").change(function(){
fnc_setType2($(this).val(), "");
});
$("#productGroupObjId1").trigger("change");
$("#productGroupObjId2").trigger("change");
$("#productGroupObjId1").change(function(){
fn_setProductTypeList("productObjId1",$(this).val());
});
$("#productGroupObjId2").change(function(){
fn_setProductTypeList("productObjId2",$(this).val());
});
$("#searchProductType").click(function(){
var carObjId = $("#carObjId1").val();
var productGroupObjId = $("#productGroupObjId1").val();
var productObjId = $("#productObjId1").val();
var step1 = $("#step1").val();
var step2 = $("#step2").val();
fn_getCarProductProblemMngPieChart(carObjId,productGroupObjId,productObjId,step1,step2);
fn_getCarProductProblemMngList(carObjId,productGroupObjId,productObjId,step1,step2);
});
$("#searchProblemType").click(function(){
var carObjId = $("#carObjId2").val();
var productGroupObjId = $("#productGroupObjId2").val();
var productObjId = $("#productObjId2").val();
var type1 = $("#type1").val();
var type2 = $("#type2").val();
fn_getProblemTypeColumnChart(carObjId,productGroupObjId,productObjId,type1,type2);
fn_getProblemTypeList(carObjId,productGroupObjId,productObjId,type1,type2);
});
$(document).on("click", ".btnOpenProblemList", function(e){
var oemObjIdProd = "";
var carObjIdProd = "";
var problemType = fnc_checkNullDefaultValue($(this).attr("data-TYPE"),"");
if(problemType == "product"){
oemObjId = fnc_checkNullDefaultValue($("#carObjId1").find("option:selected").attr("data-OEM_OBJID"),"");
carObjId = fnc_checkNullDefaultValue($("#carObjId1").val(),"");
prodGroupObjId = fnc_checkNull($(this).attr("data-PROD_GROUP_OBJID"));
prodObjId = fnc_checkNull($(this).attr("data-PROD_OBJID"));
}else if(problemType == "type"){
oemObjId = fnc_checkNullDefaultValue($("#carObjId2").find("option:selected").attr("data-OEM_OBJID"),"");
carObjId = fnc_checkNullDefaultValue($("#carObjId2").val(),"");
prodGroupObjId = fnc_checkNullDefaultValue($("#productGroupObjId2").val(),"");
prodObjId = fnc_checkNullDefaultValue($("#productObjId2").val(),"");
}
var type1 = fnc_checkNull($(this).attr("data-TYPE1"));
var type2 = fnc_checkNull($(this).attr("data-TYPE2"));
var status = fnc_checkNull($(this).attr("data-STATUS"));
//검색시 값 재세팅
if(type1 == "") type1 = $("#type1").val();
if(type2 == "") type2 = $("#type2").val();
var step1 = $("#step1").val();
var step2 = $("#step2").val();
fn_openProblemList(oemObjId, carObjId, prodGroupObjId, prodObjId, step1, step2, type1, type2, null, status, null, null, null, null);
});
});
</script>
<script>
//문제점 유형별 팝업
function fn_openProblemTypeList(obj){
var carObjId = fnc_checkNullDefaultValue($("#carObjId2").val(),"");
var oemObjId = fnc_checkNullDefaultValue($("#carObjId2").find("option:selected").attr("data-OEM_OBJID"),"");
var prodGroup = fnc_checkNullDefaultValue($("#productGroupObjId2").val(),"");
var prod = fnc_checkNullDefaultValue($("#productObjId2").val(),"");
var type1 = fnc_checkNullDefaultValue(obj.series.userOptions.type1,"");
var type2 = fnc_checkNullDefaultValue(obj.name,"");
var name = fnc_checkNullDefaultValue(obj.series.name);
if(name == "조치"){
var status = "complete";
}else{
var status = "create";
}
var params = "?";
if(carObjId != null) params += "&search_carObjId="+carObjId;
if(oemObjId != null) params += "&search_oemObjId="+oemObjId;
if(prodGroup != null) params += "&search_prodGroupObjId="+prodGroup;
if(prod != null) params += "&search_prodObjId="+prod;
if(type1 != null) params += "&type1="+type1;
if(type2 != null) params += "&type2="+type2;
if(status != null) params += "&search_status="+status;
window.open("/dashboard/problemListPopUp.do"+params, "", "width=1700, height=585");
}
//문제점 목록 팝업(단위문제점) 제품정보
function fn_openProblemList_byProduct(obj){
var carObjId = fnc_checkNullDefaultValue($("#carObjId1").val(),"");
var oemObjId = fnc_checkNullDefaultValue($("#carObjId1").find("option:selected").attr("data-OEM_OBJID"),"");
var prodGroupObjId = obj.options.prodGroupObjId;
var prodObjId = obj.options.prodObjId;
var step1 = fnc_checkNullDefaultValue($("#step1").val(),"");
var step2 = fnc_checkNullDefaultValue($("#step2").val(),"");
var params = "?";
if(carObjId != null) params += "&search_carObjId="+carObjId;
if(oemObjId != null) params += "&search_oemObjId="+oemObjId;
if(prodGroupObjId != null) params += "&search_prodGroupObjId="+prodGroupObjId;
if(prodObjId != null) params += "&search_prodObjId="+prodObjId;
if(step1 != null) params += "&step1="+step1;
if(step2 != null) params += "&step2="+step2;
window.open("/dashboard/problemListPopUp.do"+params, "", "width=1700, height=585");
}
//제품 문제점 관리 차종, 제품별 문제점 현황 Pie chart
function fn_getCarProductProblemMngPieChart(carObjId,productGroupObjId,productObjId,step1,step2){
var productArr = [];
$.ajax({
url:"/dashboard/getCarProductProblemMngPieChart.do",
type:"POST",
data:{"carObjId":carObjId,"productGroupObjId":productGroupObjId,"productObjId":productObjId,"step1":step1,"step2":step2},
dataType:"json",
async:false,
success:function(data){
if(null == data || 0 == data.length){
var noData = "<div id=\"chart1MessageArea\" style=\"width:100%;height:50%;padding-top:10%;text-align:center;\">조회된 정보가 없습니다.</div>";
$("#carProductProblemPieChart").html(noData);
}else{
$.each(data , function(i){
productArr.push(
{
"name": fnc_checkNull(data[i].PRODUCT_NAME),
"y": Number(data[i].CAR_PROBLEM_RATIO),
"prodGroupObjId":Number(data[i].PROD_GROUP_OBJID),
"prodObjId":Number(data[i].PROD_OBJID),
}
);
});
$('#carProductProblemPieChart').highcharts({
colors: ['#558ed5', '#ff6d6d', '#bed0f6','#90ff7d', '#b6a6ca', '#bfbfbf','#cc7b38', '#383838', '#00cc99','#9bbb59', '#40e1f2', '#6155f9','#9c4f30', '#aabad7', '#d9aaa9'],
chart: {
type: 'pie'
},
title: {
text: ''
},
plotOptions: {
series: {
dataLabels: {
enabled: true,
format: '{point.name}: {point.y:.1f}%'
}, point:{
events:{
click:function(){
console.log(this);
fn_openProblemList_byProduct(this);
}
}
}, cursor:'pointer'
}
},
tooltip: {
headerFormat: '<span style="font-size:11px">{series.name}</span><br>',
pointFormat: '<span style="color:{point.color}">{point.name}</span>: <b>{point.y:.1f}%</b> of total<br/>'
},
"series": [
{
"name": "제품",
"colorByPoint": true,
"data":productArr
}
]
});
}
},
error: function(jqxhr, status, error){
}
});
}
//제품 문제점 관리 차종, 제품별 문제점 현황 List
function fn_getCarProductProblemMngList(search_carObjId,search_productGroupObjId,search_productObjId,search_step1,search_step2){
var appendText = "";
$("#carProductProblemList").empty();
$.ajax({
url:"/dashboard/getCarProductProblemMngList.do",
type:"POST",
data:{"carObjId":search_carObjId,"productGroupObjId":search_productGroupObjId,"productObjId":search_productObjId,"step1":search_step1,"step2":search_step2},
dataType:"json",
async:false,
success:function(data){
$.each(data , function(i){
var productName = fnc_checkNull(data[i].PRODUCT_NAME);
var totalCnt = fnc_checkNull(data[i].TOTAL_PROBLEM_CNT);
var completeCnt = fnc_checkNull(data[i].COMPLETE_CNT);
var notCompleteCnt = fnc_checkNull(data[i].NOT_COMPLETE_CNT);
var completeRatio = fnc_checkNull(data[i].COMPLETE_RATIO);
var prodGroupObjId = fnc_checkNull(data[i].PROD_GROUP_OBJID);
var prodObjId = fnc_checkNull(data[i].PROD_OBJID);
if("" == productName){
appendText+="<tr style='background:#CDDEEA;'>";
appendText+=" <td>계</td>";
appendText+=" <td title='"+totalCnt+"'><a href='#' class='btnOpenProblemList' data-PROD_GROUP_OBJID='"+prodGroupObjId+"' data-PROD_OBJID='"+prodObjId+"' data-TYPE='product'>"+totalCnt+"</a></td>";
appendText+=" <td title='"+completeCnt+"'><a href='#' class='btnOpenProblemList' data-PROD_GROUP_OBJID='"+prodGroupObjId+"' data-PROD_OBJID='"+prodObjId+"' data-STATUS='complete' data-TYPE='product'>"+completeCnt+"</a></td>";
appendText+=" <td title='"+notCompleteCnt+"'><a href='#' class='btnOpenProblemList' data-PROD_GROUP_OBJID='"+prodGroupObjId+"' data-PROD_OBJID='"+prodObjId+"' data-STATUS='create' data-TYPE='product'>"+notCompleteCnt+"</a></td>";
appendText+=" <td title='"+completeRatio+"'>"+completeRatio+"</td>";
appendText+="</tr>";
}else{
appendText+="<tr>";
appendText+=" <td title='"+productName+"'>"+productName+"</td>";
appendText+=" <td title='"+totalCnt+"'><a href='#' class='btnOpenProblemList' data-PROD_GROUP_OBJID='"+prodGroupObjId+"' data-PROD_OBJID='"+prodObjId+"' data-TYPE='product'>"+totalCnt+"</a></td>";
appendText+=" <td title='"+completeCnt+"'><a href='#' class='btnOpenProblemList' data-PROD_GROUP_OBJID='"+prodGroupObjId+"' data-PROD_OBJID='"+prodObjId+"' data-STATUS='complete' data-TYPE='product'>"+completeCnt+"</a></td>";
appendText+=" <td title='"+notCompleteCnt+"'><a href='#' class='btnOpenProblemList' data-PROD_GROUP_OBJID='"+prodGroupObjId+"' data-PROD_OBJID='"+prodObjId+"' data-STATUS='create' data-TYPE='product'>"+notCompleteCnt+"</a></td>";
appendText+=" <td title='"+completeRatio+"'>"+completeRatio+"</td>";
appendText+="</tr>";
}
});
if(0 == data.length){
appendText+="<tr>";
appendText+=" <td colspan='5'>조회된 내용이 없습니다.</td>";
appendText+="</tr>";
}
$("#carProductProblemList").append(appendText);
},
error: function(jqxhr, status, error){
}
});
}
//문제점 유형1,2 별 진행현황
function fn_getProblemTypeColumnChart(carObjId,productGroupObjId,productObjId,type1,type2){
var type1Arr = [];
var type2Arr = [];
$.ajax({
url:"/dashboard/getCarProductProblemType1ColumnChart.do",
type:"POST",
data:{"carObjId":carObjId,"productGroupObjId":productGroupObjId,"productObjId":productObjId,"type1":type1,"type2":type2},
dataType:"json",
async:false,
success:function(data){
type1Arr = data;
},
error: function(jqxhr, status, error){
}
});
$.ajax({
url:"/dashboard/getCarProductProblemType2ColumnChart.do",
type:"POST",
data:{"carObjId":carObjId,"productGroupObjId":productGroupObjId,"productObjId":productObjId,"type1":type1,"type2":type2},
dataType:"json",
async:false,
success:function(data){
type2Arr = data;
},
error: function(jqxhr, status, error){
}
});
if(type1Arr == "" && type2Arr == ""){
var noData = "<div id=\"chart3MessageArea\" style=\"width:100%;height:50%;padding-top:10%;text-align:center;\">조회된 정보가 없습니다.</div>";
$("#problemTypeColumnChart").html(noData);
}else{
fn_setProblemTypeColumnChart(type1Arr,type2Arr);
}
}
//제품 문제점 관리 문제점 유형별 현황 column chart
function fn_setProblemTypeColumnChart(type1ProblemArr,type2ProblemArr){
var type1Arr = [];
var type1CompleteProblem = [];
var type1NotCompleteProblem = [];
var type2Arr = [];
$.each(type1ProblemArr , function(i){
var type1Code = fnc_checkNull(type1ProblemArr[i].TYPE1);
var type1Name = fnc_checkNull(type1ProblemArr[i].TYPE1_NAME);
type1CompleteProblem.push({
name: type1Name,
y: Number(fnc_checkNullDefaultValue(type1ProblemArr[i].COMPLETE_CNT,0)),
drilldown: type1Code+"_complete"
});
type1NotCompleteProblem.push({
name: type1Name,
y: Number(fnc_checkNullDefaultValue(type1ProblemArr[i].NOT_COMPLETE_CNT,0)),
drilldown: type1Code+"_notComplete"
});
var type2CompleteProblem = [];
var type2NotCompleteProblem = [];
$.each(type2ProblemArr , function(j){
var type2ParentCode = fnc_checkNull(type2ProblemArr[j].TYPE1);
var type2Name = fnc_checkNull(type2ProblemArr[j].TYPE2);
if(type1Code == type2ParentCode){
type2CompleteProblem.push(
[type2Name,Number(fnc_checkNullDefaultValue(type2ProblemArr[j].COMPLETE_CNT,0))]
);
type2NotCompleteProblem.push(
[type2Name,Number(fnc_checkNullDefaultValue(type2ProblemArr[j].NOT_COMPLETE_CNT,0))]
);
}
type2Arr.push({
id:type1Code+"_complete",
name:"조치",
data: type2CompleteProblem,
type1:type1Code
},{
id:type1Code+"_notComplete",
name:"미결",
data: type2NotCompleteProblem,
type1:type1Code
});
});
});
type1Arr.push({
name: '조치',
data: type1CompleteProblem
},{
name: '미결',
data: type1NotCompleteProblem
});
// Create the chart
$("#problemTypeColumnChart").highcharts({
chart: {
type: 'column'
},
title: {
text: ''
},
subtitle: {
text: ''
},
xAxis: {
type: 'category'
},yAxis: {
labels: {
format: '{value} 건',
style: {
color: Highcharts.getOptions().colors[1]
}
},
title: {
text: '',
style: {
color: Highcharts.getOptions().colors[1]
}
},
tickInterval:5
},
plotOptions: {
column: {
stacking: 'normal',
borderWidth: 0,
dataLabels: {
enabled: true
}
}, series:{
cursor:'pointer',
point:{
events:{
click:function(){
if(this.name != null){
console.log(this);
fn_openProblemTypeList(this);
}
}
}
}
}
},
series: type1Arr,
drilldown: {
series: type2Arr
}
});
}
//제품 문제점 관리 문제점 유형별 현황 List
function fn_getProblemTypeList(carObjId,productGroupObjId,productObjId,type1,type2){
var appendText = "";
$("#problemTypeList").empty();
$.ajax({
url:"/dashboard/getCarProductProblemTypeList.do",
type:"POST",
data:{"carObjId":carObjId,"productGroupObjId":productGroupObjId,"productObjId":productObjId,"type1":type1,"type2":type2},
dataType:"json",
async:false,
success:function(data){
$.each(data , function(i){
var type1 = fnc_checkNull(data[i].TYPE1);
var type1Name = "";
var type2 = fnc_checkNull(data[i].TYPE2);
var type2Name = fnc_checkNull(data[i].TYPE2);
if(type1 == 'design') type1Name = "[설계]";
else if(type1 == 'mold') type1Name = "[금형/단품]";
else if(type1 == 'facilities') type1Name = "[조립/설비]";
else if(type1 == 'etc') type1Name = "[부자재/기타]";
else type1Name = type1;
var totalCnt = fnc_checkNull(data[i].ALL_CNT);
var completeCnt = fnc_checkNull(data[i].COMPLETE_CNT);
var notCompleteCnt = fnc_checkNull(data[i].CREATE_CNT);
if("" == type1Name){
appendText+="<tr style='background:#CDDEEA;'>";
appendText+=" <td>계</td>";
appendText+=" <td title='"+totalCnt+"'><a href='#' class='btnOpenProblemList' data-TYPE1='"+type1+"' data-TYPE2='"+type2+"' data-TYPE='type'>"+totalCnt+"</a></td>";
appendText+=" <td title='"+completeCnt+"'><a href='#' class='btnOpenProblemList' data-TYPE1='"+type1+"' data-TYPE2='"+type2+"' data-STATUS='complete' data-TYPE='type'>"+completeCnt+"</a></td>";
appendText+=" <td title='"+notCompleteCnt+"'><a href='#' class='btnOpenProblemList' data-TYPE1='"+type1+"' data-TYPE2='"+type2+"' data-STATUS='create' data-TYPE='type'>"+notCompleteCnt+"</a></td>";
appendText+="</tr>";
}else{
appendText+="<tr>";
appendText+=" <td title='"+type1Name+" "+type2Name+"'>"+type1Name+" "+type2Name+"</td>";
appendText+=" <td title='"+totalCnt+"'><a href='#' class='btnOpenProblemList' data-TYPE1='"+type1+"' data-TYPE2='"+type2+"' data-TYPE='type'>"+totalCnt+"</a></td>";
appendText+=" <td title='"+completeCnt+"'><a href='#' class='btnOpenProblemList' data-TYPE1='"+type1+"' data-TYPE2='"+type2+"' data-STATUS='complete' data-TYPE='type'>"+completeCnt+"</a></td>";
appendText+=" <td title='"+notCompleteCnt+"'><a href='#' class='btnOpenProblemList' data-TYPE1='"+type1+"' data-TYPE2='"+type2+"' data-STATUS='create' data-TYPE='type'>"+notCompleteCnt+"</a></td>";
appendText+="</tr>";
}
});
if(0 == data.length){
appendText+="<tr>";
appendText+=" <td colspan='4'>조회된 내용이 없습니다.</td>";
appendText+="</tr>";
}
$("#problemTypeList").append(appendText);
},
error: function(jqxhr, status, error){
}
});
}
//car 목록 조회
function fn_setCarTypeList(){
$.ajax({
url:"/common/getCarTypeList.do",
type:"POST",
data:{"isJson":true},
dataType:"json",
success:function(data){
var appendCode = "";
var oemObjId = "";
appendCode += "<option value=''>전체</option>";
$.each(data, function(i){
oemObjId = fnc_checkNull(data[i].OEM_OBJID);
appendCode += "<option value='"+data[i].OBJID+"' data-OEM_OBJID='"+oemObjId+"'>"+data[i].CAR_CODE+"("+data[i].CAR_NAME+")</option>";
});
$("#carObjId1").children().remove();
$("#carObjId1").append(appendCode);
$("#carObjId2").children().remove();
$("#carObjId2").append(appendCode);
var paramValue1 = "${empty param.carObjId1?baseParamMap.CAR_OBJID:param.carObjId1}";
if(paramValue1 != ""){
$("#carObjId1 > option[value="+paramValue1+"]").attr("selected", "true");
}
var paramValue2 = "${empty param.carObjId2?baseParamMap.CAR_OBJID:param.carObjId2}";
if(paramValue2 != ""){
$("#carObjId2 > option[value="+paramValue2+"]").attr("selected", "true");
}
},
error: function(jqxhr, status, error){
}
});
}
//제품군 목록 조회
function fn_setProductGroupList(){
$.ajax({
url:"/common/getProductGroupList.do",
type:"POST",
data:{"isJson":true},
dataType:"json",
success:function(data){
var appendCode = "";
appendCode += "<option value=''>전체</option>";
$.each(data, function(i){
appendCode += "<option value='"+data[i].OBJID+"'>"+data[i].PRODUCT_GROUP_NAME+"</option>";
});
$("#productGroupObjId1").children().remove();
$("#productGroupObjId1").append(appendCode);
$("#productGroupObjId2").children().remove();
$("#productGroupObjId2").append(appendCode);
var paramValue1 = "${empty param.productGroupObjId1?baseParamMap.PRODUCT_GROUP_OBJID:param.productGroupObjId1}";
if(paramValue1 != ""){
$("#productGroupObjId1 > option[value="+paramValue1+"]").attr("selected", "true");
}
var paramValue2 = "${empty param.productGroupObjId2?baseParamMap.PRODUCT_GROUP_OBJID:param.productGroupObjId2}";
if(paramValue2 != ""){
$("#productGroupObjId2 > option[value="+paramValue2+"]").attr("selected", "true");
}
},
error: function(jqxhr, status, error){
}
});
}
//제품 목록 조회
function fn_setProductTypeList(target,productGroupObjId){
$.ajax({
url:"/common/getProductList.do",
type:"POST",
data:{"isJson":true, "search_productGroupObjId":productGroupObjId},
dataType:"json",
success:function(data){
var appendCode = "";
appendCode += "<option value=''>전체</option>";
$.each(data, function(i){
appendCode += "<option value='"+data[i].OBJID+"'>"+data[i].PRODUCT_NAME+"("+data[i].PRODUCT_CODE+")</option>";
});
$("#"+target).children().remove();
$("#"+target).append(appendCode);
},
error: function(jqxhr, status, error){
}
});
}
</script>
<body>
<form name="form1" action="" method="post">
<div style="min-width:1700px;">
<div class="plm_menu_name">
<h2>
<span>제품문제점 관리</span>
</h2>
</div>
<div id="plmSearchZon">
<table>
<tr>
<td>
<lable for="" class="orangeTitleDot" style="font-size:13px;">차종</lable>
</td>
<td>
<select id="carObjId1" name="carObjId1" style="width:160px;"></select>
</td>
<td>
<lable for="" class="orangeTitleDot" style="font-size:13px;">제품군</lable>
</td>
<td>
<select id="productGroupObjId1" name="productGroupObjId1" style="width:100px;"></select>
</td>
<td>
<lable for="" class="orangeTitleDot" style="font-size:13px;">제품</lable>
</td>
<td>
<select id="productObjId1" name="productObjId1" style="width:180px;"></select>
</td>
<td>
<lable for="" class="orangeTitleDot" style="font-size:13px;">단계</lable>
</td>
<td colspan="3">
<select id="step1" name="step1" style="width:100px;" >
<option value="">전체</option>
<option value="design">설계</option>
<option value="develop">개발</option>
<option value="production">양산</option>
</select>
<select id="step2" name="step2" style="width:100px;"></select>
<input type="button" value="조회" id="searchProductType" class="btnSearch plm_btns" style="float:right; margin-left:20px;">
</td>
</tr>
</table>
</div>
<div class="contents_page_basic_margin" style="overflow:hidden;">
<div class="plm_table_wrap" style="float:left; width:40%; margin: 30px 0;">
<div style="overflow-y:scroll;">
<table class="plm_table" style="width:100%;">
<colgroup>
<col width="*">
<col width="15%">
<col width="15%">
<col width="15%">
<col width="15%">
</colgroup>
<thead class="plm_thead">
<tr>
<td></td>
<td>발생건수</td>
<td>조치건수</td>
<td>미결건수</td>
<td>조치율(%)</td>
</tr>
</thead>
</table>
</div>
<div class="plm_scroll_table" style="width:100%; height:230px;">
<table class="plm_table">
<colgroup>
<col width="*">
<col width="15%">
<col width="15%">
<col width="15%">
<col width="15%">
</colgroup>
<tbody id="carProductProblemList" class="hover_tr">
</tbody>
</table>
</div>
</div>
<div style="width:35%; float:left; margin:30px 0 0 40px;">
<div class="plm_thead" style="width:100%; height:26px; text-align:center; line-height:26px; font-size:13px;">제품별 문제점 현황</div>
<div id="carProductProblemPieChart" style="width:100%; height:250px;"></div>
</div>
</div>
<div id="plmSearchZon" style="border-top: 1px solid #d4d4d4;">
<table>
<tr>
<td>
<lable for="" class="orangeTitleDot" style="font-size:13px;">차종</lable>
</td>
<td>
<select id="carObjId2" name="carObjId2" style="width:160px;"></select>
</td>
<td>
<lable for="" class="orangeTitleDot" style="font-size:13px;">제품군</lable>
</td>
<td>
<select id="productGroupObjId2" name="productGroupObjId2" style="width:100px;"></select>
</td>
<td>
<lable for="" class="orangeTitleDot" style="font-size:13px;">제품</lable>
</td>
<td>
<select id="productObjId2" name="productObjId2" style="width:180px;"></select>
</td>
<td>
<lable for="" class="orangeTitleDot" style="font-size:13px;">유형</lable>
</td>
<td colspan="3">
<select id="type1" name="type1" style="width:100px;">
<option value="">전체</option>
<option value="design">설계</option>
<option value="mold">금형/단품</option>
<option value="facilities">조립/설비</option>
<option value="etc">부자재/기타</option>
</select>
<select id="type2" name="type2" style="width:100px;"></select>
<input type="button" value="조회" id="searchProblemType" class="btnSearch plm_btns" style="float:right; margin-left:20px;">
</td>
</tr>
</table>
</div>
<div class="contents_page_basic_margin" style="overflow:hidden;">
<div class="plm_table_wrap" style="width:40%; float:left; margin: 30px 0 0 0;">
<div style="overflow-y:scroll;">
<table class="plm_table" style="width:100%;">
<colgroup>
<col width="*">
<col width="20%">
<col width="20%">
<col width="20%">
</colgroup>
<thead class="plm_thead">
<tr>
<td></td>
<td>발생건수</td>
<td>조치건수</td>
<td>미결건수</td>
</tr>
</thead>
</table>
</div>
<div class="plm_scroll_table" style="width:100%; height:230px;">
<table class="plm_table">
<colgroup>
<col width="*">
<col width="20%">
<col width="20%">
<col width="20%">
</colgroup>
<tbody id="problemTypeList" class="hover_tr">
</tbody>
</table>
</div>
</div>
<div style="width:35%; float:left; margin:30px 0 0 40px;">
<div class="plm_thead" style="width:100%; height:26px; text-align:center; line-height:26px; font-size:13px;">문제점 유형별 발생현황</div>
<div id="problemTypeColumnChart" style="width:90%; height:280px; margin: 0 auto;"></div>
</div>
</div>
</div>
</form>
</body>
</html>