최초커밋

This commit is contained in:
kjs
2025-08-21 09:41:46 +09:00
commit a0e5b57a24
2454 changed files with 1476904 additions and 0 deletions

View File

@@ -0,0 +1,96 @@
<%@ 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">
<link rel="stylesheet" href="css/basic.css">
<title><%=Constants.SYSTEM_NAME%></title>
<style>
</style>
<script>
$(function(){
$(document).ready(function(){
$("#btnModify").click(function(){
//if(confirm("Edit Mode로 이동하시겠습니까?")){
document.form1.action = "/admin/dfmeaAttributeFormPopup.do";
document.form1.submit();
//}
});
});
});
</script>
</head>
<body>
<section id="commonSection">
<div class=admin_title>
<h2>잠재적 고장필터 관리</h2>
</div>
<div id="adminPopupFormWrap">
<form id="form1" name="form1" method="post">
<input type="hidden" id="objId" name="objId" value="${info.OBJID}">
<table id="adminPopupForm" style="border:1px;">
<colgroup>
<col width="37%" />
<col width="63%" />
</colgroup>
<tbody>
<tr>
<td><label>DFMEA 중분류</label></td>
<td style="font-size:13px;" class="admin_tr_data_border_bottom">${info.CATEGORY_NAME}</td>
</tr>
<tr>
<td><label>잠재적 고장필터명</label></td>
<td style="font-size:13px;" class="admin_tr_data_border_bottom">${info.ATTRIBUTE_NAME}</td>
</tr>
<tr>
<td><label>고장의 잠재적 영향</label></td>
<td style="font-size:13px;" class="admin_tr_data_border_bottom">${info.POTENTIAL_IMPACT}</td>
</tr>
<tr>
<td><label>고장의 잠재적 원인</label></td>
<td style="font-size:13px;" class="admin_tr_data_border_bottom">${info.POTENTIAL_CAUSE}</td>
</tr>
<tr>
<td><label>현실 개선관리(예방)</label></td>
<td style="font-size:13px;" class="admin_tr_data_border_bottom">${info.CURRENT_DESIGN_MANAGE_PREVENT}</td>
</tr>
<tr>
<td><label>현실 개선관리(검출)</label></td>
<td style="font-size:13px;" class="admin_tr_data_border_bottom">${info.CURRENT_DESIGN_MANAGE_DETECT}</td>
</tr>
<tr>
<td><label>권고조치사항</label></td>
<td style="font-size:13px;" class="admin_tr_data_border_bottom">${info.RECOMMEND_OPTION}</td>
</tr>
<tr>
<td><label>활성화 여부</label></td>
<td style="font-size:13px;">
<c:if test="${info.STATUS eq 'active'}">
활성화
</c:if>
<c:if test="${info.STATUS eq 'inActive'}">
비활성화
</c:if>
</td>
</tr>
</tbody>
</table>
<div id="adminPopupBtnWrap">
</div>
</form>
</div>
<div class="btnCenterWrap">
<center class="center_btns_wrap">
<input type="button" value="Edit" class="btns" id="btnModify">
<input type="button" value="닫기" name="" id="btn_close" class="btns" onclick="javascript:self.close();">
</center>
</div>
</section>
</body>
</html>

View File

@@ -0,0 +1,215 @@
<%@ 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>
var isEditMode = "${empty info?'false':'true'}";
$(function(){
$(document).ready(function(){
$("#attributeName").focus();
});
//save
$("#btnSave").click(function(){
fn_save();
});
});
</script>
<script>
//정합성 검사
function fn_validate(){
if($("#categoryObjId").val() == null || $("#categoryObjId").val() == ""){
Swal.fire("중분류명이 선택되지 않았습니다.");
$("#categoryObjId").focus();
return false;
}
if($("#attributeName").val() == null || $("#attributeName").val() == ""){
Swal.fire("잠재적 고장필터명이 입력되지 않았습니다.");
$("#attributeName").focus();
return false;
}
if($("#potentialImpact").val() == null || $("#potentialImpact").val() == ""){
Swal.fire("고장의 잠재적 영향명이 입력되지 않았습니다.");
$("#potentialImpact").focus();
return false;
}
if($("#potentialCause").val() == null || $("#potentialCause").val() == ""){
Swal.fire("고장의 잠재적 원인명이 입력되지 않았습니다.");
$("#potentialCause").focus();
return false;
}
if($("#currentPrevent").val() == null || $("#currentPrevent").val() == ""){
Swal.fire("현실 개선관리(예방)이 입력되지 않았습니다.");
$("#currentPrevent").focus();
return false;
}
if($("#currentDetect").val() == null || $("#currentDetect").val() == ""){
Swal.fire("현실 개선관리(검출)명이 입력되지 않았습니다.");
$("#currentDetect").focus();
return false;
}
// if($("#recommendOption").val() == null || $("#recommendOption").val() == ""){
// Swal.fire("권고조치사항명이 입력되지 않았습니다.");
// $("#recommendOption").focus();
// return false;
// }
return true;
}
//잠재적 고장필터명 저장
function fn_save(){
var flag = false;
if(isEditMode == "false"){
flag = fn_duplicateNameCheck();
}else{
flag = true;
}
if(flag){
if(fn_validate()){
if(confirm("저장하시겠습니까?")){
$.ajax({
url:"/admin/saveDfmeaAttributeInfo.do",
type:"POST",
data:$("#form1").serialize(),
dataType:"json",
async:false,
success:function(data){
Swal.fire(data.msg);
if(data.result == "true" || data.result == true || data.result){
opener.fn_search();
self.close(0);
}
},
error: function(jqxhr, status, error){
}
});
}
}
}
}
//잠재적 고장필터명 중복체크
function fn_duplicateNameCheck(){
var result = false;
var attributeName = $("#attributeName").val();
var catecoryObjId = $("#catecoryObjId").val();
$.ajax({
url:"/admin/checkDuplicateDfmeaAttributeName.do",
type:"POST",
data:{"attributeName":attributeName, "catecoryObjId":catecoryObjId},
dataType:"json",
async:false,
success:function(data){
if(data.result == "false" || data.result == false || !data.result){
if(attributeName == "${info.ATTRIBUTE_NAME}"){
return true;
}
Swal.fire(data.msg);
}else{
result = true;
}
},
error: function(jqxhr, status, error){
}
});
return result;
}
</script>
</head>
<body>
<section id="commonSection">
<div class=admin_title>
<h2>잠재적 고장필터 관리</h2>
</div>
<div id="adminPopupFormWrap">
<form id="form1" name="form1" method="post">
<input type="hidden" id="objId" name="objId" value="${info.OBJID}">
<table id="adminPopupForm">
<colgroup>
<col width="37%" />
<col width="63%" />
</colgroup>
<tbody>
<tr>
<td><label>DFMEA 중분류</label></td>
<c:choose>
<c:when test="${!empty dfmeaMngList}">
<td>
<select type="select" title="DFMEA 중분류" id="categoryObjId" name="categoryObjId" required>
<option value="">선택</option>
<c:forEach var="dfmeaMng" items="${dfmeaMngList}">
<option id="catecoryObjId" value="${dfmeaMng.OBJID}" ${info.CATEGORY_OBJID eq dfmeaMng.OBJID?'selected':''}>${dfmeaMng.CATEGORY_NAME}</option>
</c:forEach>
</select>
</td>
</c:when>
<c:otherwise>
<td><input type="text" value="조회된 정보가 없습니다." style="text-align:center;" readonly></td>
</c:otherwise>
</c:choose>
</tr>
<tr>
<td><label>잠재적 고장필터명</label></td>
<td><textarea type="text" title="잠재적 고장필터명" name="attributeName" id="attributeName" maxlength="60" required >${info.ATTRIBUTE_NAME}</textarea></td>
</tr>
<tr>
<td><label>고장의 잠재적 영향</label></td>
<td><textarea type="text" title="고장의 잠재적 영향" name="potentialImpact" id="potentialImpact" maxlength="200" required>${info.POTENTIAL_IMPACT}</textarea></td>
</tr>
<tr>
<td><label>고장의 잠재적 원인</label></td>
<td><textarea type="text" title="고장의 잠재적 원인" name="potentialCause" id="potentialCause" maxlength="200" required>${info.POTENTIAL_CAUSE}</textarea></td>
</tr>
<tr>
<td><label>현실 개선관리(예방)</label></td>
<td><textarea type="text" title="현실 개선관리(예방)" name="currentPrevent" id="currentPrevent" maxlength="200" required>${info.CURRENT_DESIGN_MANAGE_PREVENT}</textarea></td>
</tr>
<tr>
<td><label>현실 개선관리(검출)</label></td>
<td><textarea type="text" title="현실 개선관리(검출)" name="currentDetect" id="currentDetect" maxlength="200" required>${info.CURRENT_DESIGN_MANAGE_DETECT}</textarea></td>
</tr>
<tr>
<td><label>권고조치사항</label></td>
<%-- <td><textarea type="text" title="권고조치사항" name="recommendOption" id="recommendOption" maxlength="100" required>${info.RECOMMEND_OPTION}</textarea></td> --%>
<td><textarea type="text" title="권고조치사항" name="recommendOption" id="recommendOption" maxlength="200">${info.RECOMMEND_OPTION}</textarea></td>
</tr>
<tr>
<td><label>활성화 여부</label></td>
<td>
<select name="status" id="status">
<option value="active" ${info.STATUS eq 'active'?'selected':''}>활성화</option>
<option value="inActive" ${info.STATUS eq 'inActive'?'selected':''}>비활성화</option>
</select>
</td>
</tr>
</tbody>
</table>
<div id="adminPopupBtnWrap">
</div>
</form>
</div>
<div class="btnCenterWrap">
<div class="center_btns_wrap">
<input type="button" value="저장" class="btns" id="btnSave">
<input type="button" value="닫기" name="" id="btn_close" class="btns" onclick="javascript:self.close();">
</div>
</div>
</section>
</body>
</html>

View File

@@ -0,0 +1,242 @@
<%@ 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>
<!-- //JSTL 변수선언 -->
<c:set var="totalCount" value="${empty TOTAL_COUNT?0:TOTAL_COUNT}" />
<c:set var="maxPage" value="${empty MAX_PAGE_SIZE?1:MAX_PAGE_SIZE}" />
<c:set var="nPage" value="${empty param.page?1:param.page}" />
<c:set var="pageIndex" value="${(nPage-1)/10}" />
<c:set var="nextPage" value="${empty NEXT_PAGE?1:NEXT_PAGE}" />
<c:set var="prevPage" value="${empty PREV_PAGE?1:PREV_PAGE}" />
<style>
#thead{
height:50;
white-space: normal;
}
</style>
<script type="text/javascript">
$(function(){
$(document).ready(function(){
fnc_datepick();
});
// 잠재적 고장필터 수정
$(".btnModify").click(function(){
var objId = $(this).attr("data-OBJID");
var actionType = $(this).attr("data-actionType");
fnc_registFormPopup(objId, actionType);
});
//엔터키로 조회
$("input").keyup(function(e){
if(e.keyCode == 13){
$("#page").val("1");
fn_search();
}
});
//Form Popup
$("#btnRegist").click(function(){
fn_registFormPopup();
});
//Detail Popup
$(".btnDetail").click(function(){
var objId = $(this).attr("data-OBJID");
fn_registDetailPopup(objId);
});
//change status
$(".comboStatus").change(function(){
var objId = $(this).attr("data-OBJID");
var status = $(this).val();
fn_changeStatus(objId, status);
});
//search
$("#btnSearch").click(function(){
document.form1.page.value = "1";
fn_search();
});
});
//조회 기능
function fn_search(){
document.form1.action = "/admin/dfmeaAttributeList.do";
document.form1.submit();
}
//엑셀 기능
function excelExport(){
document.form1.action = "/admin/dfmeaAttributeList.do?actionType=excel";
document.form1.submit();
}
//잠재적 고장필터 등록 Form Popup
function fn_registFormPopup(){
var params = "";
window.open("/admin/dfmeaAttributeFormPopup.do"+params,"dfmeaAttributeFormPopup","width=1000,height=420");
}
//잠재적 고장필터 상세 Detail Popup
function fn_registDetailPopup(objId){
var params = "?objId="+objId;
window.open("/admin/dfmeaAttributeDetailPopup.do"+params,"dfmeaAttributeDetailPopup","width=1000,height=420");
}
//잠재적 고장필터에 대한 상태값 수정
function fn_changeStatus(objId, status){
$.ajax({
url:"/admin/changeDfmeaAttributeStatus.do",
type:"POST",
data:{"objId":objId, "status":status},
dataType:"text",
success:function(data){
},
error: function(jqxhr, status, error){
}
});
}
</script>
</head>
<body>
<form name="form1" method="POST">
<input type="hidden" name="actionType" id="actionType" value="" />
<section id="commonSection" class="admin1">
<div class="admin_title">
<h2>잠재적 고장필터 관리</h2>
</div>
<div id="adminFormWrap">
<table id="adminForm">
<tbody>
<tr>
<td class="label"><label>잠재적 고장필터명</label></td>
<td><input type="text" id="search_attributeName" name="search_attributeName" value="${param.search_attributeName}" maxlength="16"></td>
<td class="label"><label>등록자</label></td>
<td><input type="text" id="search_writer" name="search_writer" value="${param.search_writer}" maxlength="8"></td>
<td class="label"><label>상태</label></td>
<td>
<select id="search_status" name="search_status">
<option value="">선택</option>
<option value="active" ${param.search_status eq 'active'?'selected':''}>활성화</option>
<option value="inActive" ${param.search_status eq 'inActive'?'selected':''}>비활성화</option>
</select>
</td>
</tr>
</tbody>
</table>
</div>
<div id="adminBtnWrap">
<input type="button" value="조회" class="btns" id="btnSearch">
<input type="button" value="잠재적 고장필터명등록" class="btns" id="btnRegist">
<input type="button" value="Excel Export" class="btns" onclick="excelExport()">
</div>
<div id="adminTableWrap">
<div id="tableWrap">
<table id="adminTable">
<colgroup>
<col width="4%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
</colgroup>
<tr id="thead">
<td>No</td>
<td>DFMEA<br>중분류명</td>
<td>잠재적<br>고장필터명</td>
<td>고장의<br>잠재적 영향</td>
<td>고장의<br>잠재적 원인</td>
<td>현실 개선<br>관리(예방)</td>
<td>현실 개선<br>관리(검출)</td>
<td>권고조치사항</td>
<td>상태</td>
</tr>
<c:choose>
<c:when test="${!empty LIST}">
<c:forEach var="info" items="${LIST}" varStatus="status">
<tr>
<td>${info.RNUM}</td>
<td title="${info.CATEGORY_NAME}">${info.CATEGORY_NAME}</td>
<td><a href="#" class="btnDetail" data-OBJID="${info.OBJID}" title="${info.ATTRIBUTE_NAME}">${info.ATTRIBUTE_NAME}</a></td>
<td title="${info.POTENTIAL_IMPACT}">${info.POTENTIAL_IMPACT}</td>
<td title="${info.POTENTIAL_CAUSE}">${info.POTENTIAL_CAUSE}</td>
<td title="${info.CURRENT_DESIGN_MANAGE_PREVENT}">${info.CURRENT_DESIGN_MANAGE_PREVENT}</td>
<td title="${info.CURRENT_DESIGN_MANAGE_DETECT}">${info.CURRENT_DESIGN_MANAGE_DETECT}</td>
<td title="${info.RECOMMEND_OPTION}">${info.RECOMMEND_OPTION}</td>
<td title="">
<select name="status" id="status" data-OBJID="${info.OBJID}" class="comboStatus">
<option value="">선택</option>
<option value="active" ${info.STATUS eq 'active'?'selected':''}>활성화</option>
<option value="inActive" ${info.STATUS eq 'inActive'?'selected':''}>비활성화</option>
</select>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<td align="center" colspan="9">조회된 정보가 없습니다.</td>
</c:otherwise>
</c:choose>
</table>
</div>
</div>
<div class="pdm_page">
<input type="hidden" name="page" id="page" value="${nPage}">
<c:if test="${!empty LIST}">
<div class="page_pro">
<table>
<tr>
<c:choose>
<c:when test="${nPage > 1}">
<td><a href="javascript:fnc_goPrev('${prevPage}');">prev</a></td>
</c:when>
<c:otherwise>
<td class="no_more_page">prev</td>
</c:otherwise>
</c:choose>
<c:forEach var="v" begin="${nPage>5?nPage-5:1}" end="${nPage>5?nPage+4:10}" step="1" varStatus="status">
<c:if test="${status.index -1 < maxPage}">
<c:choose>
<c:when test="${status.index eq nPage}">
<td><a href="#" class="now_page">${nPage}</a></td>
</c:when>
<c:otherwise>
<td><a href="javascript:fnc_goPage('${status.index}');">${status.index}</a></td>
</c:otherwise>
</c:choose>
</c:if>
</c:forEach>
<c:choose>
<c:when test="${nPage < maxPage}">
<td><a href="javascript:fnc_goNext('${nextPage}');">next</a></td>
</c:when>
<c:otherwise>
<td class="no_more_page">next</td>
</c:otherwise>
</c:choose>
</tr>
</table>
<p id="adminPageCount">총 ${totalCount}건</p>
</div>
</c:if>
</div>
</section>
</form>
</body>
</html>

View File

@@ -0,0 +1,96 @@
<%@ page import="com.pms.common.utils.*"%>
<%@ page import="java.util.*" %>
<%@ page isThreadSafe = "true" %>
<%@ page buffer="256kb" %>
<%@ page autoFlush = "true" %>
<%@ page contentType="application/vnd.ms-excel;charset=UTF-8" %>
<%
java.text.SimpleDateFormat frm= new java.text.SimpleDateFormat ("yyyy_MM_dd_HH_mm");
Calendar cal = Calendar.getInstance();
String todayKor = frm.format(cal.getTime());
String excelName = "잠재적 고장필터 목록";
String encodeName = excelName+todayKor+".xls";
String fileName = java.net.URLEncoder.encode(encodeName,"UTF-8");
response.setHeader("Content-Disposition", "attachment;filename="+fileName+"");
response.setHeader("Content-Description", "JSP Generated Data");
ArrayList dfmeaAttributeMngList = (ArrayList)request.getAttribute("LIST");
%>
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=UTF-8">
<meta name=ProgId content=Excel.Sheet>
<meta name=Generator content="Microsoft Excel 11">
<style type="text/css">
.plm_menu_name {width:100%; background: #e7eaee; border-bottom: 1px solid #d4d4d4;}
.plm_menu_name h2 {width:97.5%; margin: 0 auto; height:35px; color:000; font-size: 13px; line-height: 35px;}
.plm_menu_name h2 span {height: 35px; padding-left: 23px; }
</style>
</head>
<body>
<form name="factoryListForm" method="POST">
<h2>잠재적 고장필터 관리</h2><br>
<table border="1">
<tr align="center" bgColor="yellow" style="font-weight:bold;">
<td>No</td>
<td>DFMEA 중분류명</td>
<td>잠재적 고장필터명</td>
<td>고장의 잠재적 영향</td>
<td>고장의 잠재적 원인</td>
<td>현실 개선 관리(예방)</td>
<td>현실 개선 관리(검출)</td>
<td>권고조치사항</td>
<td>등록자</td>
<td>등록일</td>
<td>상태</td>
</tr>
<%
if(dfmeaAttributeMngList != null && dfmeaAttributeMngList.size() > 0){
for(int i = 0 ; i < dfmeaAttributeMngList.size() ; i++){
HashMap map = (HashMap)dfmeaAttributeMngList.get(i);
String categoryName = CommonUtils.checkNull(map.get("CATEGORY_NAME"));
String attributeName = CommonUtils.checkNull(map.get("ATTRIBUTE_NAME"));
String potentialImpact = CommonUtils.checkNull(map.get("POTENTIAL_IMPACT"));
String potentialCause = CommonUtils.checkNull(map.get("POTENTIAL_CAUSE"));
String currentPrevent = CommonUtils.checkNull(map.get("CURRENT_DESIGN_MANAGE_PREVENT"));
String crruentDetect = CommonUtils.checkNull(map.get("CURRENT_DESIGN_MANAGE_DETECT"));
String recommendOption = CommonUtils.checkNull(map.get("RECOMMEND_OPTION"));
String regDate = CommonUtils.checkNull(map.get("REGDATE"));
String deptName = CommonUtils.checkNull(map.get("WRITER_DEPT_NAME"));
String userName = CommonUtils.checkNull(map.get("WRITER_USER_NAME"));
String status = CommonUtils.checkNull(map.get("STATUS_STR"));
%>
<tr align="center">
<td><%=i+1%></td>
<td><%=categoryName%></td>
<td><%=attributeName%></td>
<td><%=potentialImpact%></td>
<td><%=potentialCause%></td>
<td><%=currentPrevent%></td>
<td><%=crruentDetect%></td>
<td><%=recommendOption%></td>
<td><%=deptName%> <%=userName%></td>
<td><%=regDate%></td>
<td><%=status%></td>
</tr>
<%
}
}else{
%>
<tr>
<td align="center" colspan="5">조회된 정보가 없습니다.</td>
</tr>
<%
}
%>
</table>
</form>
</body>
</html>