- 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
249 lines
9.0 KiB
Plaintext
249 lines
9.0 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>
|
|
$(function(){
|
|
$(document).ready(function(){
|
|
$("#btnSave").click(function(){
|
|
fn_save();
|
|
});
|
|
|
|
$(".score").keyup(function(){
|
|
if($(this).val().length > 3){
|
|
$(this).val($(this).val().substring(0,3));
|
|
}
|
|
|
|
if($(this).val() > 100){
|
|
$(this).val(100);
|
|
}
|
|
|
|
if($(this).val() < 0){
|
|
$(this).val(0);
|
|
}
|
|
});
|
|
|
|
$(".score").click(function(){
|
|
$(".score").trigger("keyup");
|
|
});
|
|
|
|
$(".type1").change(function(){
|
|
var partNo = $(this).attr("data-PART_NO");
|
|
|
|
fn_setType2($(this).val(), "type2_"+partNo, "");
|
|
});
|
|
|
|
$("#btnDetail").click(function(){
|
|
document.form1.action = "/quality/qualityTestPartListDetailPopup.do";
|
|
document.form1.submit();
|
|
});
|
|
|
|
//닫기
|
|
$("#btnClose").click(function(){
|
|
self.close(0);
|
|
});
|
|
});
|
|
});
|
|
</script>
|
|
<script>
|
|
function fn_save(){
|
|
var returnUrl = "/quality/qualityTestPartListDetailPopup.do";
|
|
var saveUrl = "/quality/saveQualityTestPartInfo.do";
|
|
|
|
if(confirm("저장하시겠습니까?")){
|
|
$.ajax({
|
|
url:saveUrl,
|
|
type:"POST",
|
|
data:$("#form1").serialize(),
|
|
dataType:"json",
|
|
success:function(data){
|
|
Swal.fire(data.msg);
|
|
if(data.result == "true"){
|
|
document.form1.action = returnUrl;
|
|
document.form1.submit();
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
//setType2
|
|
function fn_setType2(type1Value, type2ObjId, type2Value){
|
|
var append = "<option value=''>선택</option>";
|
|
if(type1Value == "design"){
|
|
append += "<option value='구조'>구조</option>";
|
|
append += "<option value='Data오류'>Data오류</option>";
|
|
append += "<option value='생산성'>생산성</option>";
|
|
append += "<option value='조립성'>조립성</option>";
|
|
append += "<option value='성형성'>성형성</option>";
|
|
append += "<option value='EO'>EO</option>";
|
|
}else if(type1Value == "mold"){
|
|
append += "<option value='외관'>외관</option>";
|
|
append += "<option value='안전'>안전</option>";
|
|
append += "<option value='표명_인부'>표명_인부</option>";
|
|
append += "<option value='조립'>조립</option>";
|
|
append += "<option value='습동'>습동</option>";
|
|
append += "<option value='셋팅'>셋팅</option>";
|
|
append += "<option value='보수성'>보수성</option>";
|
|
append += "<option value='내구성'>내구성</option>";
|
|
append += "<option value='생산성'>생산성</option>";
|
|
}else if(type1Value == "quality"){
|
|
append += "<option value='정도'>정도</option>";
|
|
append += "<option value='외관'>외관</option>";
|
|
append += "<option value='EO'>EO</option>";
|
|
append += "<option value='설계'>설계</option>";
|
|
append += "<option value='용접'>용접</option>";
|
|
append += "<option value='Tool'>Tool</option>";
|
|
append += "<option value='작업자'>작업자</option>";
|
|
append += "<option value='기타'>기타</option>";
|
|
}else if(type1Value == "facilities"){
|
|
append += "<option value='지그'>지그</option>";
|
|
append += "<option value='용접'>용접</option>";
|
|
append += "<option value='보전성'>보전성</option>";
|
|
append += "<option value='품질'>품질</option>";
|
|
append += "<option value='생산성'>생산성</option>";
|
|
append += "<option value='안전'>안전</option>";
|
|
append += "<option value='작업성'>작업성</option>";
|
|
}
|
|
|
|
$("#"+type2ObjId).children().remove();
|
|
$("#"+type2ObjId).append(append);
|
|
|
|
var dbVal = fnc_checkNull(type2Value);
|
|
if(dbVal != ""){
|
|
$("#"+type2ObjId+" > option[value="+dbVal+"]").attr("selected", "true");
|
|
}
|
|
}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<form name="form1" id="form1" action="" method="post">
|
|
<input type="hidden" name="targetObjId" id="targetObjId" value="${param.targetObjId}" />
|
|
<div class="plm_menu_name">
|
|
<h2>
|
|
<span>품질검사결과</span>
|
|
</h2>
|
|
</div>
|
|
<section class="contents_page_basic_margin">
|
|
<div class="plm_table_wrap" style="margin-top:15px;">
|
|
<div style="overflow-y:scroll;">
|
|
<table class="plm_table" style="width:100%">
|
|
<colgroup>
|
|
<col width="3%">
|
|
<col width="10%">
|
|
<col width="*">
|
|
<col width="6%">
|
|
<col width="12%">
|
|
<col width="6%">
|
|
<col width="6%">
|
|
<!--
|
|
<col width="6%">
|
|
<col width="10%">
|
|
-->
|
|
<col width="6%">
|
|
</colgroup>
|
|
<thead>
|
|
<tr class="plm_thead">
|
|
<td>No</td>
|
|
<td>품번</td>
|
|
<td>품명</td>
|
|
<td>등급</td>
|
|
<td>금형제작처</td>
|
|
<td>점수</td>
|
|
<td>판정</td>
|
|
<!--
|
|
<td>유형1</td>
|
|
<td>유형2</td>
|
|
-->
|
|
<td>문제건수</td>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</div>
|
|
<div class="plm_scroll_table" style="width:100%; height:300px;">
|
|
<table class="plm_table">
|
|
<colgroup>
|
|
<col width="3%">
|
|
<col width="10%">
|
|
<col width="*">
|
|
<col width="6%">
|
|
<col width="12%">
|
|
<col width="6%">
|
|
<col width="6%">
|
|
<!--
|
|
<col width="6%">
|
|
<col width="10%">
|
|
-->
|
|
<col width="6%">
|
|
</colgroup>
|
|
<tbody>
|
|
<c:choose>
|
|
<c:when test="${!empty LIST}">
|
|
|
|
</c:when>
|
|
<c:otherwise>
|
|
<tr>
|
|
<td align="center" colspan="8">조회된 Part가 없습니다.</td>
|
|
</tr>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
<c:forEach var="info" items="${LIST}" varStatus="status">
|
|
<tr>
|
|
<td>${info.RNUM}</td>
|
|
<td>${info.PART_NO}</td>
|
|
<td>${info.PART_NAME}</td>
|
|
<td>${info.RATE}</td>
|
|
<td>${info.MOLD_MAKE_COMPANY}</td>
|
|
<td><input type="number" name="score_${info.PART_NO}" id="score_${info.PART_NO}" value="${info.SCORE}" style="width:97%" class="score"></td>
|
|
<td>
|
|
<select name="result_${info.PART_NO}" id="result_${info.PART_NO}">
|
|
<option value="">선택</option>
|
|
<option value="Y" ${info.RESULT eq 'Y'?'selected':''}>합격</option>
|
|
<option value="N" ${info.RESULT eq 'N'?'selected':''}>불합격</option>
|
|
</select>
|
|
</td>
|
|
<%--
|
|
<td>
|
|
<select name="type1_${info.PART_NO}" id="type1_${info.PART_NO}" style="width:95%;" class="type1" data-PART_NO="${info.PART_NO}">
|
|
<option value="">선택</option>
|
|
<option value="design" ${info.TYPE1 eq 'design'?'selected':''}>설계</option>
|
|
<option value="mold" ${info.TYPE1 eq 'mold'?'selected':''}>금형</option>
|
|
<option value="quality" ${info.TYPE1 eq 'quality'?'selected':''}>품질</option>
|
|
<option value="facilities" ${info.TYPE1 eq 'facilities'?'selected':''}>설비</option>
|
|
</select>
|
|
</td>
|
|
<td>
|
|
<select name="type2_${info.PART_NO}" id="type2_${info.PART_NO}" style="width:95%;" class="type2" data-PART_NO="${info.PART_NO}">
|
|
<option value="">선택</option>
|
|
</select>
|
|
|
|
<!-- //더 좋은방법이 있으면 수정바람.. -->
|
|
<script>fn_setType2("${info.TYPE1}", "type2_${info.PART_NO}", "${info.TYPE2}");</script>
|
|
|
|
</td>
|
|
--%>
|
|
<td>${info.PROBLEM_CNT}</td>
|
|
</tr>
|
|
</c:forEach>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<div class="btn_wrap">
|
|
<div class="plm_btn_wrap_center">
|
|
<input type="button" value="저장" id="btnSave" class="plm_btns">
|
|
<input type="button" value="취소" id="btnDetail" class="plm_btns">
|
|
<input type="button" value="닫기" id="btnClose" class="plm_btns">
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</body>
|
|
</html> |