ERP-node/WebContent/WEB-INF/view/dashboard/qualityMngStatus.jsp

812 lines
28 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>
<script>
$(document).ready(function(){
//고객사 목록 조회
fn_setOEMList();
fn_setProductGroupList();
fn_setCarTypeList($("#search_oemObjId").val());
//고객사별 차종 목록 조회
$("#search_oemObjId").change(function(){
var oemObjId = $(this).val();
fn_setCarTypeList(oemObjId);
});
$(".btnSearch").click(function(){
if($("#search_oemObjId").val() == ""){
Swal.fire("선택된 고객사가 없습니다.");
return false;
}
if($("#search_carObjId").val() == ""){
Swal.fire("선택된 차종이 없습니다.");
return false;
}
if($("#search_productGroupObjId").val() == ""){
Swal.fire("선택된 제품군이 없습니다.");
return false;
}
getDesignCheckListApplyChartInfo();
getDesignCheckListApplyListInfo();
fn_dfmeaStepRPNStatus();
fn_getDFMEARPNStatusInfo();
});
$(document).on("click", ".btnOpenCheckList", function(e){
fn_openCheckListPopUp()
});
$(document).on("click", ".dfmeaListLink", function(e){
fn_openDFMEAListPopUp();
});
getDesignCheckListApplyChartInfo();
getDesignCheckListApplyListInfo();
fn_dfmeaStepRPNStatus();
fn_getDFMEARPNStatusInfo();
});
</script>
<script>
function fn_openDFMEAListPopUp(){
var oemObjId = fnc_checkNullDefaultValue($("#search_carObjId").find("option:selected").attr("data-OEM_OBJID"),"");
var carObjId = fnc_checkNullDefaultValue($("#search_carObjId").val(),"");
var prodGroupObjId = fnc_checkNullDefaultValue($("#search_productGroupObjId").val(),"");
var params ="?actionType=extra";
if(oemObjId != null) params += "&search_oem="+oemObjId;
if(carObjId != null) params += "&search_carType="+carObjId;
if(prodGroupObjId != null) params += "&search_productGroup="+prodGroupObjId;
window.open("/productDevMng/dfmea/dfmeaBaseInfoList.do"+params,"","width=1600, height=800");
}
function fn_openCheckListPopUp(){
var oemObjId = fnc_checkNullDefaultValue($("#search_carObjId").find("option:selected").attr("data-OEM_OBJID"),"");
var carObjId = fnc_checkNullDefaultValue($("#search_carObjId").val(),"");
var prodGroupObjId = fnc_checkNullDefaultValue($("#search_productGroupObjId").val(),"");
var params ="?actionType=extra";
if(oemObjId != null) params += "&search_oem="+oemObjId;
if(carObjId != null) params += "&search_carType="+carObjId;
if(prodGroupObjId != null) params += "&search_productGroup="+prodGroupObjId;
window.open("/productDevMng/designCheckList/checkListBaseInfoList.do"+params,"","width=1600, height=800");
}
//oem 목록 조회
function fn_setOEMList(){
$.ajax({
url:"/common/getOEMList.do",
type:"POST",
data:{"isJson":true},
dataType:"json",
async:false,
success:function(data){
var appendCode = "";
$.each(data, function(i){
appendCode += "<option value='"+data[i].OBJID+"'>"+data[i].OEM_NAME+"("+data[i].OEM_CODE+")</option>";
});
$("#search_oemObjId").append(appendCode);
var paramValue = "${empty param.search_oemObjId?baseCarParamMap.OEM_OBJID:param.search_oemObjId}";
if(paramValue != ""){
$("#search_oemObjId > option[value="+paramValue+"]").attr("selected", "true");
$("#search_oemObjId").trigger("change");
}
},
error: function(jqxhr, status, error){
}
});
}
//car 목록 조회
function fn_setCarTypeList(oemObjId){
if(oemObjId !=""){
$.ajax({
url:"/common/getCarTypeList.do",
type:"POST",
data:{"isJson":true, "search_oemObjId":oemObjId},
dataType:"json",
async:false,
success:function(data){
var appendCode = "";
$.each(data, function(i){
appendCode += "<option value='"+data[i].OBJID+"' data-OEM_OBJID='"+data[i].OEM_OBJID+"'>"+data[i].CAR_CODE+"("+data[i].CAR_NAME+")</option>";
});
$("#search_carObjId").children().remove();
$("#search_carObjId").append(appendCode);
var paramValue = "${empty param.search_carObjId?baseCarParamMap.CAR_OBJID:param.search_carObjId}";
if(paramValue != ""){
$("#search_carObjId > option[value="+paramValue+"]").attr("selected", "true");
}
},
error: function(jqxhr, status, error){
}
});
}else{
$("#search_carObjId").children().remove();
$("#search_carObjId").append("<option value=''>선택</option>");
}
}
//제품군 목록 조회
function fn_setProductGroupList(){
$.ajax({
url:"/common/getProductGroupList.do",
type:"POST",
data:{"isJson":true},
dataType:"json",
async:false,
success:function(data){
var appendCode = "";
//var prodGroupObjId = "";
$.each(data, function(i){
/* prodGroupObjId = fnc_checkNull(data[i].PRODUCT_GROUP_OBJID);
appendCode += "<option value='"+data[i].OBJID+"' data-PROD_GROUP_OBJID='"+prodGroupObjId+"'>"+data[i].PRODUCT_NAME+"("+data[i].PRODUCT_CODE+")</option>"; */
appendCode += "<option value='"+data[i].OBJID+"'>"+data[i].PRODUCT_GROUP_NAME+"</option>";
});
$("#search_productGroupObjId").children().remove();
$("#search_productGroupObjId").append(appendCode);
var paramValue = "${empty param.search_productGroupObjId?baseCarParamMap.PRODUCT_GROUP_OBJID:param.search_productGroupObjId}";
if(paramValue != ""){
$("#search_productGroupObjId > option[value="+paramValue+"]").attr("selected", "true");
}
},
error: function(jqxhr, status, error){
}
});
}
//설계 체크리스트 적용 관련 정보를 가져온다(chart).
function getDesignCheckListApplyChartInfo(){
$.ajax({
url:"/dashboard/getDesignCheckListApplyChartInfo.do",
type:"POST",
data:$("#form1").serialize(),
dataType:"json",
async:false,
success:function(data){
Chart1("chart1", data);
},
error: function(jqxhr, status, error){
}
});
}
//DFMEA 의 목록 정보를 가져온다.
function fn_getDFMEARPNStatusInfo(){
$("#dfmeaInfo").empty();
$.ajax({
url:"/dashboard/getDFMERPNStatusInfo.do",
type:"POST",
data:$("#form1").serialize(),
dataType:"json",
async:false,
success:function(data){
var appendText =" <tr>";
appendText+=" <td>L1</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='red'>"+fnc_checkNullDefaultValue(data.L1_HIGH_SCORE,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.L1_RATIO,0)+"</td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.TOTAL_CNT,0)+"</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='blue'>"+fnc_checkNullDefaultValue(data.L1_IMPROV_CNT,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.L1_KEEP_CNT,0)+"</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='red'>"+fnc_checkNullDefaultValue(data.L1_WORSE_CNT,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.L1_EMPTY_CNT,0)+"</td>";
appendText+=" </tr>";
appendText+=" <tr>";
appendText+=" <td>L2</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='red'>"+fnc_checkNullDefaultValue(data.L2_HIGH_SCORE,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.L2_RATIO,0)+"</td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.TOTAL_CNT,0)+"</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='blue'>"+fnc_checkNullDefaultValue(data.L2_IMPROV_CNT,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.L2_KEEP_CNT,0)+"</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='red'>"+fnc_checkNullDefaultValue(data.L2_WORSE_CNT,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.L2_EMPTY_CNT,0)+"</td>";
appendText+=" </tr>";
appendText+=" <tr>";
appendText+=" <td>L3</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='red'>"+fnc_checkNullDefaultValue(data.L3_HIGH_SCORE,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.L3_RATIO,0)+"</td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.TOTAL_CNT,0)+"</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='blue'>"+fnc_checkNullDefaultValue(data.L3_IMPROV_CNT,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.L3_KEEP_CNT,0)+"</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='red'>"+fnc_checkNullDefaultValue(data.L3_WORSE_CNT,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.L3_EMPTY_CNT,0)+"</td>";
appendText+=" </tr>";
appendText+=" <tr>";
appendText+=" <td>L4</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='red'>"+fnc_checkNullDefaultValue(data.L4_HIGH_SCORE,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.L4_RATIO,0)+"</td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.TOTAL_CNT,0)+"</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='blue'>"+fnc_checkNullDefaultValue(data.L4_IMPROV_CNT,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.L4_KEEP_CNT,0)+"</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='red'>"+fnc_checkNullDefaultValue(data.L4_WORSE_CNT,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.L4_EMPTY_CNT,0)+"</td>";
appendText+=" </tr>";
appendText+=" <tr>";
appendText+=" <td>INSTL</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='red'>"+fnc_checkNullDefaultValue(data.INSTL_HIGH_SCORE,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.INSTL_RATIO,0)+"</td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.TOTAL_CNT,0)+"</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='blue'>"+fnc_checkNullDefaultValue(data.INSTL_IMPROV_CNT,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.INSTL_KEEP_CNT,0)+"</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='red'>"+fnc_checkNullDefaultValue(data.INSTL_WORSE_CNT,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.INSTL_EMPTY_CNT,0)+"</td>";
appendText+=" </tr>";
appendText+=" <tr>";
appendText+=" <td>S/B</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='red'>"+fnc_checkNullDefaultValue(data.SB_HIGH_SCORE,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.SB_RATIO,0)+"</td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.TOTAL_CNT,0)+"</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='blue'>"+fnc_checkNullDefaultValue(data.SB_IMPROV_CNT,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.SB_KEEP_CNT,0)+"</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='red'>"+fnc_checkNullDefaultValue(data.SB_WORSE_CNT,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.SB_EMPTY_CNT,0)+"</td>";
appendText+=" </tr>";
appendText+=" <tr>";
appendText+=" <td>P1</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='red'>"+fnc_checkNullDefaultValue(data.P1_HIGH_SCORE,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.P1_RATIO,0)+"</td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.TOTAL_CNT,0)+"</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='blue'>"+fnc_checkNullDefaultValue(data.P1_IMPROV_CNT,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.P1_KEEP_CNT,0)+"</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='red'>"+fnc_checkNullDefaultValue(data.P1_WORSE_CNT,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.P1_EMPTY_CNT,0)+"</td>";
appendText+=" </tr>";
appendText+=" <tr>";
appendText+=" <td>P2</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='red'>"+fnc_checkNullDefaultValue(data.P2_HIGH_SCORE,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.P2_RATIO,0)+"</td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.TOTAL_CNT,0)+"</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='blue'>"+fnc_checkNullDefaultValue(data.P2_IMPROV_CNT,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.P2_KEEP_CNT,0)+"</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='red'>"+fnc_checkNullDefaultValue(data.P2_WORSE_CNT,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.P2_EMPTY_CNT,0)+"</td>";
appendText+=" </tr>";
appendText+=" <tr>";
appendText+=" <td>M</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='red'>"+fnc_checkNullDefaultValue(data.M_HIGH_SCORE,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.M_RATIO,0)+"</td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.TOTAL_CNT,0)+"</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='blue'>"+fnc_checkNullDefaultValue(data.M_IMPROV_CNT,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.M_KEEP_CNT,0)+"</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='red'>"+fnc_checkNullDefaultValue(data.M_WORSE_CNT,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.M_EMPTY_CNT,0)+"</td>";
appendText+=" </tr>";
appendText+=" <tr>";
appendText+=" <td>SOP</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='red'>"+fnc_checkNullDefaultValue(data.SOP_HIGH_SCORE,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.SOP_RATIO,0)+"</td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.TOTAL_CNT,0)+"</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='blue'>"+fnc_checkNullDefaultValue(data.SOP_IMPROV_CNT,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.SOP_KEEP_CNT,0)+"</td>";
appendText+=" <td><a href='#' class='dfmeaListLink'><font color='red'>"+fnc_checkNullDefaultValue(data.SOP_WORSE_CNT,0)+"</font></a></td>";
appendText+=" <td>"+fnc_checkNullDefaultValue(data.SOP_EMPTY_CNT,0)+"</td>";
appendText+=" </tr>";
$("#dfmeaInfo").append(appendText);
},
error: function(jqxhr, status, error){
}
});
}
//설계 체크리스트 적용 관련 정보를 가져온다(list).
function getDesignCheckListApplyListInfo(){
$("#list1").empty();
$("#list2").empty();
$.ajax({
url:"/dashboard/getDesignCheckListApplyListInfo.do",
type:"POST",
data:$("#form1").serialize(),
dataType:"json",
async:false,
success:function(data){
var appenText = "";
var appenText1 = "";
var testType = "";
if(data != null && data.length > 0){
for(var i=0;i<data.length;i++){
if(i == 0){
appenText1+=" <td>계</td>";
appenText1+=" <td><a href='#' class='btnOpenCheckList' data-TYPE='"+testType+"'>"+data[i].RATIO+"</a></td>";
appenText1+=" <td>"+data[i].APPLY_CNT+"</td>";
appenText1+=" <td>"+data[i].REVIEW_CNT+"</td>";
appenText1+=" <td>"+data[i].UNAPPLY_CNT+"</td>";
appenText1+=" <td><fmt:formatNumber value='"+data[i].TOTAL_CNT+"' pattern='#,###'/>"+data[i].TOTAL_CNT+"</td>";
}else{
appenText+="<tr>";
appenText+=" <td>"+data[i].GUBUN.substring(2)+"</td>";
testType = data[i].GUBUN.substring(2);
appenText+=" <td><a href='#' class='btnOpenCheckList' data-TYPE='"+testType+"'>"+data[i].RATIO+"</a></td>";
appenText+=" <td>"+data[i].APPLY_CNT+"</td>";
appenText+=" <td>"+data[i].REVIEW_CNT+"</td>";
appenText+=" <td>"+data[i].UNAPPLY_CNT+"</td>";
appenText+=" <td><fmt:formatNumber value='"+data[i].TOTAL_CNT+"' pattern='#,###'/>"+data[i].TOTAL_CNT+"</td>";
appenText+="</tr>";
}
}
}else{
appenText+="<tr>";
appenText+=" <td colspan='6'>조회된 데이터가 없습니다.</td>";
appenText+="</tr>";
}
$("#list1").append(appenText1);
$("#list2").append(appenText);
},
error: function(jqxhr, status, error){
}
});
}
//설계단계별 체크리스트 현황
function Chart1(divId, resultMap){
if(fnc_checkNull(resultMap.L1_APPLY_CNT) != "" || fnc_checkNull(resultMap.L2_APPLY_CNT) != "" || fnc_checkNull(resultMap.L3_APPLY_CNT) != "" || fnc_checkNull(resultMap.L1_APPLY_CNT) != "" || fnc_checkNull(resultMap.INSTL_APPLY_CNT) != ""){
$('#'+divId).highcharts({
chart: {
zoomType: 'xy'
},
title: {
text: ''
},
subtitle: {
text: ''
},
xAxis: [{
categories: ['L1', 'L2', 'L3' ,'L4' ,'INSTL'],
crosshair: true
}],
yAxis: [{ // Primary yAxis
labels: {
format: '{value} %',
style: {
color: Highcharts.getOptions().colors[1]
}
},
title: {
text: '',
style: {
color: Highcharts.getOptions().colors[1]
}
}
}, { // Secondary yAxis
title: {
text: '',
style: {
color: Highcharts.getOptions().colors[0]
}
},
labels: {
format: '{value} 건',
style: {
color: Highcharts.getOptions().colors[0]
}
},
opposite: true,
tickInterval:5
}],
tooltip: {
shared: true
},
plotOptions: {
series: {
cursor: 'pointer',
point: {
events: {
click: function () {
if(this.y != null){
fn_openCheckListPopUp();
}
}
}
}
}
},
legend: {
layout: 'vertical',
align: 'left',
x: 470,
verticalAlign: 'top',
y: 0,
floating: true,
backgroundColor:'#FFFFFF'
},
series: [{
name: '적용건수',
type: 'column',
yAxis: 1,
data: [
Number(fnc_checkNullDefaultValue(resultMap.L1_APPLY_CNT, 0)),
Number(fnc_checkNullDefaultValue(resultMap.L2_APPLY_CNT, 0)),
Number(fnc_checkNullDefaultValue(resultMap.L3_APPLY_CNT, 0)),
Number(fnc_checkNullDefaultValue(resultMap.L4_APPLY_CNT, 0)),
Number(fnc_checkNullDefaultValue(resultMap.INSTL_APPLY_CNT, 0))
],
tooltip: {
valueSuffix: '건'
}
}, {
name: '반영률',
type: 'spline',
data: [
Number(fnc_checkNullDefaultValue(resultMap.L1_APPLY_RATIO, 0)),
Number(fnc_checkNullDefaultValue(resultMap.L2_APPLY_RATIO, 0)),
Number(fnc_checkNullDefaultValue(resultMap.L3_APPLY_RATIO, 0)),
Number(fnc_checkNullDefaultValue(resultMap.L4_APPLY_RATIO, 0)),
Number(fnc_checkNullDefaultValue(resultMap.INSTL_APPLY_RATIO, 0))
],
color: '#ff6d6d',
tooltip: {
valueSuffix: '%'
}
}]
});
}else{
var noData = "<div id=\"chart3MessageArea\" style=\"width:100%;height:50%;padding-top:10%;text-align:center;\">조회된 정보가 없습니다.</div>";
$("#"+divId).html(noData);
}
}
//chart3
function fn_dfmeaStepRPNStatus(){
var oemObjId = "";
var carObjId = "";
var step1RPNChartList = [];
var step2RPNChartList = [];
$.ajax({
url:"/dashboard/getDFMEAStep1RPNStatus.do",
type:"POST",
data:$("#form1").serialize(),
dataType:"json",
async:false,
success:function(data){
//set chart data
step1RPNChartList = data;
},
error: function(jqxhr, status, error){
}
});
$.ajax({
url:"/dashboard/getDFMEAStep2RPNStatus.do",
type:"POST",
data:$("#form1").serialize(),
dataType:"json",
async:false,
success:function(data){
//set chart data
step2RPNChartList = data;
},
error: function(jqxhr, status, error){
/*
Swal.fire(jqxhr.statusText + ", " + status + ", " + error);
Swal.fire(jqxhr.status);
Swal.fire(jqxhr.responseText);
*/
//$("#chart3").text(jqxhr.responseText);
}
});
if(step1RPNChartList == "" && step2RPNChartList == ""){
var noData = "<div id=\"chart3MessageArea\" style=\"width:100%;height:50%;padding-top:10%;text-align:center;\">조회된 정보가 없습니다.</div>";
$("#chart2").html(noData);
}else{
setDFMEAStepRPNStatusChart("chart2", step1RPNChartList, step2RPNChartList);
}
}
function setDFMEAStepRPNStatusChart(areaId,step1RPNChartList,step2RPNChartList){
var step1Arr = [];
var step1ArrUnder50 = [];
var step1Arr50_79 = [];
var step1Arr80_99 = [];
var step1Arr100_150 = [];
var step1Arr150Over = [];
var step2Arr = [];
$.each(step1RPNChartList , function(i){
var step1Name = fnc_checkNull(step1RPNChartList[i].STEP1);
var step1Code = fnc_checkNull(step1RPNChartList[i].STEP1_CODE);
step1ArrUnder50.push({
name: step1Name,
y: Number(fnc_checkNullDefaultValue(step1RPNChartList[i].RANGE_50_UNDER_CNT,0)),
drilldown: step1Code+"_under50",
color:"#7171ff"
});
step1Arr50_79.push({
name: step1Name,
y: Number(fnc_checkNullDefaultValue(step1RPNChartList[i].RANGE_50_70_CNT,0)),
drilldown: step1Code+"_50_70",
color:"#bdbdff"
});
step1Arr80_99.push({
name: step1Name,
y: Number(fnc_checkNullDefaultValue(step1RPNChartList[i].RANGE_80_99_CNT,0)),
drilldown: step1Code+"_80_99",
color:"#dbdbdb"
});
step1Arr100_150.push({
name: step1Name,
y: Number(fnc_checkNullDefaultValue(step1RPNChartList[i].RANGE_100_150_CNT,0)),
drilldown: step1Code+"_100_150",
color:"#ffb9b9"
});
step1Arr150Over.push({
name: step1Name,
y: Number(fnc_checkNullDefaultValue(step1RPNChartList[i].RANGE_150_OVER_CNT,0)),
drilldown: step1Code+"_over_150",
color:"#ff6d6d"
});
var step2ArrUnder50 = [];
var step2Arr50_79 = [];
var step2Arr80_99 = [];
var step2Arr100_150 = [];
var step2Arr150Over = [];
$.each(step2RPNChartList , function(j){
var step2ParentCode = fnc_checkNull(step2RPNChartList[j].STEP1_CODE);
var step2Name = fnc_checkNull(step2RPNChartList[j].STEP2);
if(step1Code == step2ParentCode){
step2ArrUnder50.push(
[step2Name,Number(fnc_checkNullDefaultValue(step2RPNChartList[j].RANGE_50_UNDER_CNT,0))]
);
step2Arr50_79.push(
[step2Name,Number(fnc_checkNullDefaultValue(step2RPNChartList[j].RANGE_50_70_CNT,0))]
);
step2Arr80_99.push(
[step2Name,Number(fnc_checkNullDefaultValue(step2RPNChartList[j].RANGE_80_99_CNT,0))]
);
step2Arr100_150.push(
[step2Name,Number(fnc_checkNullDefaultValue(step2RPNChartList[j].RANGE_100_150_CNT,0))]
);
step2Arr150Over.push(
[step2Name,Number(fnc_checkNullDefaultValue(step2RPNChartList[j].RANGE_150_OVER_CNT,0))]
);
}
step2Arr.push({
id:step1Code+"_under50",
name:"50미만",
data: step2ArrUnder50
},{
id:step1Code+"_50_70",
name:"50~70",
data: step2Arr50_79
},{
id:step1Code+"_80_99",
name:"80~99",
data: step2Arr80_99
},{
id:step1Code+"_100_150",
name:"100~150",
data: step2Arr100_150
},{
id:step1Code+"_over_150",
name:"150이상",
data: step2Arr150Over
});
});
});
step1Arr.push({
name: '50미만',
data: step1ArrUnder50,
color:"#7171ff"
},{
name: '50~79',
data: step1Arr50_79,
color:"#bdbdff"
},{
name: '80~99',
data: step1Arr80_99,
color:"#dbdbdb"
},{
name: '100~150',
data: step1Arr100_150,
color:"#ffb9b9"
},{
name: '150초과',
data: step1Arr150Over,
color:"#ff6d6d"
});
// Create the chart
$("#"+areaId).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:1
},
plotOptions: {
series: {
stacking: 'normal',
borderWidth: 0,
dataLabels: {
enabled: true
},
cursor: 'pointer',
point: {
events: {
click: function () {
console.log(this);
if(this.y != null){
fn_openDFMEAListPopUp();
}
}
}
}
}
},
series: step1Arr,
drilldown: {
series: step2Arr
}
});
}
</script>
</head>
<body>
<form name="form1" id="form1" action="" method="post">
<div style="min-width:1500px;">
<div class="plm_menu_name">
<h2>
<span>설계품질 관리 현황</span>
</h2>
</div>
<div id="plmSearchZon">
<table class="short_search">
<tr>
<td><label for="">고객사</label></td>
<td>
<select name="search_oemObjId" id="search_oemObjId">
<option value="">선택</option>
</select>
</td>
<td><label for="">차종</label></td>
<td>
<select name="search_carObjId" id="search_carObjId">
</select>
</td>
<td><label for="">제품군</label></td>
<td>
<select name="search_productGroupObjId" id="search_productGroupObjId" style="width:250px;">
</select>
</td>
<td>
<input type="button" value="조회" class="btnSearch blue_btn" style="float:none;">
</td>
</tr>
</table>
</div>
<div class="contents_page_basic_margin">
<div class="fourblock" style="margin: 40px 0 30px 0;">
<div class="title_div" style="margin-top:-20px;line-height: 13px;">설계 체크리스트 적용현황</div>
<div id="chart1" style="width:80%; height:300px; margin: 30px auto 0;"></div>
</div>
<div class="fourblock" style="margin-bottom:30px; margin-top:40px; margin-right: 5%;">
<div class="title_div" style="margin-top:-20px;line-height: 13px;">DFMEA RPN 관리현황</div>
<div id="chart2" style="width:80%; height:300px; margin: 30px auto 0;"></div>
</div>
<div class="fourblock" style="border:0;">
<div class="plm_table_wrap">
<div style="overflow-y:scroll;">
<table class="plm_table" style="width:100%;">
<thead>
<tr class="plm_thead">
<td></td>
<td>반영율(%)</td>
<td>적용(●)</td>
<td>검토(◐)</td>
<td>미적용(X)</td>
<td>(소계)</td>
</tr>
<tr id="list1" class="plm_sub_thead">
</tr>
</thead>
</table>
</div>
<div class="plm_scroll_table" style="width:100%; height:263px;">
<table class="plm_table">
<tbody id="list2" class="hover_tr"></tbody>
</table>
</div>
</div>
</div>
<div class="fourblock" style="border:0; margin-right: 5%;">
<div class="plm_table_wrap">
<div style="overflow-y:scroll;">
<table class="plm_table" style="width:100%;">
<thead>
<tr class="plm_thead">
<td rowspan="2">단계</td>
<td rowspan="2">고RPN건수</br>(100RPN이상)</td>
<td rowspan="2">개선율(%)</td>
<td rowspan="2">전체건수</td>
<td colspan="3">변경건수</td>
<td rowspan="2">미등록건수</td>
</tr>
<tr class="plm_sub_thead">
<td>개선</td>
<td>유지</td>
<td>악화</td>
</tr>
</thead>
</table>
</div>
<div class="plm_scroll_table" style="width:100%; height:261px;">
<table class="plm_table">
<tbody id="dfmeaInfo" class="hover_tr"></tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</form>
</body>
</html>