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

385 lines
12 KiB
Plaintext

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="com.pms.common.utils.*"%>
<%@ page import="java.util.*" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@include file= "/init.jsp" %>
<%
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
String userId = CommonUtils.checkNull(person.getUserId());
%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><%=Constants.SYSTEM_NAME%></title>
<!-- //JSTL 페이징 변수선언 -->
<c:set var="now" value="<%=new java.util.Date() %>"/>
<c:set var="sysYear"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set>
<script type="text/javascript">
$(function(){
//첨부파일
fnc_setFileDropZone("YEAR_GOALDropZone", "${resultMap.YEAR_GOAL_OBJID}", "YEAR_GOAL", "YEAR_GOAL", "fileAreaDraw",false,null,null);
fileAreaDraw();
$("#btnUpload").click(function(){
var files = $("#file1")[0].files;
if(files.length > 0){
fnc_fileMultiUpload(files, null, "${resultMap.YEAR_GOAL_OBJID}", "YEAR_GOAL", "YEAR_GOAL", null, "fileAreaDraw");
//file객체 초기화
$("#file1").val("");
}else{
alert("선택된 File이 없습니다.");
}
});
$("input[numberOnly='']")
.each(function(){
$(this).css({'text-align':'right'})
})
.on("keyup", function() {
$(this).val(fnc_addComma($(this).val().replace(/[^0-9]/g,"")));
});
$("#btnUpload1").click(function(){
var files = $("#file1")[0].files;
if(files.length > 0){
fnc_fileMultiUpload(files, null, "${resultMap.YEAR_GOAL_OBJID}", "YEAR_GOAL", "YEAR_GOAL", null, "fileAreaDraw");
//file객체 초기화
$("#file1").val("");
}else{
alert("선택된 File이 없습니다.");
}
});
//날짜
_fnc_datepick();
$('.select2').select2();
//저장
$("#btnSave").click(function(){
fn_save();
});
$("#btnClose").click(function(){
self.close();
});
$(".File2").click(function(){
var objId = $(this).attr("data-OBJID");
var docType =$(this).attr("data-docType");
var docTypeName = $(this).attr("data-docTypeName");
var params = "?targetObjId="+objId+"&docType="+docType+"&docTypeName="+docTypeName;
window.open("/common/FileRegistPopup.do"+params, "", "width=800, height=335");
});
//$("#INSTALL_RESULT").val("${resultMap.INSTALL_RESULT}").trigger("change");
$("#Year").change(function(){
var params = "?actionType=regist&YEAR_GOAL_OBJID&Year="+$("#Year").val();
var url = "/contractMgmt/yearGoalFormPopUp.do"+params;
//window.open(url, "", "width=550, height=300");
window.location = url;
});
//사업부별 조회
/* $("#operation_division_code").change(function(){
var params = "?actionType=regist&YEAR_GOAL_OBJID=&operation_division_code="+$("#operation_division_code").val()+"&Year="+$("#Year").val();
var url = "/contractMgmt/yearGoalFormPopUp.do"+params;
//window.open(url, "", "width=550, height=300");
window.location = url;
}); */
});
function fn_setoption(){
$.ajax({
url:"/common/getContractOptionList.do",
type:"POST",
data:{"isJson":true,"objId":"${resultMap.OBJID}"},
dataType:"json",
async:false,
success:function(data){
resultList = data
if(0 < resultList.length){
for (var i = 0; i < resultList.length; i++) {
var commonCodeId = resultList[i].CODE;
$("input[name=option_type][value="+commonCodeId+"]").prop("checked",true);
}
}
},
error: function(jqxhr, status, error){
}
});
}
function fn_save(){
if(fnc_valitate("form1")){
if(confirm("저장하시겠습니까?")){
$("input[numberOnly='']").each(function(){
$(this).val($(this).val().replace(/,/gi,""));
});
$.ajax({
url:"/contractMgmt/saveYearGoalInfo.do",
type:"POST",
data:$("#form1").serialize(),
dataType:"json",
success:function(data){
alert(data.msg);
if(data.result){
opener.fn_search();
self.close();
}
},
error: function(jqxhr, status, error){
}
});
}
}
}
function _fnc_datepick(){
var $dateinput = $("input.date_icon");
for(var i=0; i<$dateinput.length; i++){
$dateinput.eq(i).attr("size","10");
$dateinput.eq(i).datepicker({
changeMonth:true,
changeYear:true
});
}
}
function fileAreaDraw(){
fn_fileCallback("YEAR_GOAL" ,"YEAR_GOAL" );
fn_fileCallback("RELEASE_ORDER" ,"RELEASE_ORDER" );
fn_fileCallback("RELEASE_TAKING_OVER","RELEASE_TAKING_OVER");
}
//첨부파일 목록을 가져온다.
function fn_fileCallback(areaId,fileType){
$.ajax({
url:"/common/getFileList.do",
type:"POST",
data:{"targetObjId":"${resultMap.YEAR_GOAL_OBJID}", "docType":fileType},
dataType:"json",
async:false,
success:function(data){
if(data.length > 0){
//첨부파일 목록 영역 show
$("#"+areaId+"FileArea").empty();
if($("#"+areaId+"DefaultRow").length > 0){
$("#"+areaId+"DefaultRow").hide();
}
var appendText = "";
appendText +="<colgroup>";
appendText +=" <col width='10%''>";
appendText +=" <col width='*'>";
appendText +=" <col width='20%'>";
appendText +="</colgroup>";
$.each(data, function(i){
var _appendText = "";
var path = data[i].FILE_PATH;
var fileName = data[i].SAVED_FILE_NAME;
var fileExt = data[i].UPPER_FILE_EXT;
_appendText += "<tr>";
_appendText += " <td>"+[i+1]+"</td>";
_appendText += " <td class='align_l'><a href='javascript:fnc_downloadFile(\""+data[i].OBJID+"\")'>&nbsp;&nbsp;"+data[i].REAL_FILE_NAME+"</a>";
<c:if test="${param.actionType eq 'regist' or info.WRITER eq connectUserId or 'plm_admin' eq connectUserId}">
_appendText += " <a href='javascript:fileDelete(\""+data[i].OBJID+"\",\""+areaId+"\")'><div class='delete_btn'></div></a>";
</c:if>
_appendText += " </td>";
_appendText += " <td>"+data[i].REGDATE+"</td>";
_appendText += "</tr>";
appendText += _appendText;
});
$("#"+areaId +"FileArea").append(appendText);
$("#"+areaId+"FileArea").show();
}else{
$("#"+areaId+"DropZone").show();
$("#"+areaId+"FileArea").empty();
$("#"+areaId+"FileArea").hide();
}
},
error: function(jqxhr, status, error){
}
});
}
//첨부 파일 삭제
function fileDelete(fileObjId, areaId){
var type =areaId;
if(confirm("파일을 삭제하시겠습니까?")){
$.ajax({
url:"/common/deleteFileInfo.do",
type:"POST",
data:{"objId":fileObjId},
dataType:"json",
async:true,
success:function(data){
fileAreaDraw();
},
error: function(jqxhr, status, error){
}
});
}
}
</script>
</head>
<body>
<form name="form1" id="form1" action="" method="post">
<input type="hidden" name="YEAR_GOAL_OBJID" id="YEAR_GOAL_OBJID" value="${resultMap.YEAR_GOAL_OBJID}">
<input type="hidden" name="PARENT_OBJID" id="CONTRACT_OBJID" value="${resultMap.OBJID}">
<input type="hidden" name="PRODUCT_GROUP" id="PRODUCT_GROUP" value="${resultMap.CM_PRODUCT_GROUP}">
<input type="hidden" name="PRODUCT" id="PRODUCT" value="${resultMap.CM_PRODUCT}">
<input type="hidden" name="objId" id="objId" value="${resultMap.CONTRACT_OBJID}">
<input type="hidden" name="option" id="option">
<section>
<div class="plm_menu_name">
<h2>
<span>연간목표 등록</span>
</h2>
</div>
<div id="businessPopupFormWrap">
<!-- <h4><span>출고관리 정보</span></h4> -->
<table class="pmsPopupForm">
<colgroup>
<col width="20%">
<col width="*">
<col width="20%">
<col width="*">
</colgroup>
<tr>
<td class="input_title"><label for="" class="">년도</label></td>
<td>
<select name="Year" id="Year" style="width:150px;" class="select2" autocomplete="off">
<option value="">선택</option>
<c:forEach begin="${sysYear-4}" end="${sysYear}" var="req_year">
<option value="${req_year}"${param.Year eq req_year ? 'selected':'' }>${req_year}</option>
</c:forEach>
</select>
</td>
<td class="input_title" ><label for="">목표매출액(억원)</label></td>
<td class="input_sub_title" style="text-align: right; padding-right: 4px;">
<input type="text" name="PRICE" id="PRICE" value="<fmt:formatNumber value="${resultMap.PRICE}" pattern="#,###" />" numberOnly />
</td>
</tr>
<%-- <tr>
<td class="input_title">
<label for="">사업부</label>
</td>
<td colspan="">
<select name="operation_division_code" id="operation_division_code" reqTitle="사업부" type="select" class="select2">
${code_map.operation_division_code}
</select>
</td>
</tr> --%>
<tr>
<td class="input_title"><label for="">첨부파일</label></td>
<td class="input_sub_title" colspan="3">
<%-- <a href="#" class="File2 file_${resultMap.YEAR_GOAL_CNT eq 0?'empty_':''}icon" data-OBJID="${resultMap.YEAR_GOAL_OBJID}" data-docType="YEAR_GOAL" data-docTypeName="YEAR_GOAL"></a> --%>
<div id="businessPopupFormWrap">
<h4><span> </span></h4>
<table class="pmsPopupForm">
<colgroup>
<col width="12.5%">
<col width="12.5%">
<col width="12.5%">
<col width="12.5%">
<col width="12.5%">
<col width="12.5%">
</colgroup>
<tr>
<td colspan="6">
<div id="YEAR_GOALDropZone" class="dropzone"style="width:99%; height:40px; !important;">Drag & Drop Files Here</div>
<input type="file" name="file1" id="file1" multiple>
<input type="button" id="btnUpload" value="Upload" class="upload_btns">
</td>
</tr>
<tr>
<td colspan="6">
<div class="project_form_in_table" style="width: 100%" id="YEAR_GOALFileAreaTable">
<!--
<input type="file" name="file1" id="file1" multiple>
<input type="button" id="btnUpload1" value="Upload" class="upload_btns">
-->
<div style="overflow-y: scroll;">
<table style="width: 100%;">
<colgroup>
<col width="10%">
<col width="*">
<col width="20%">
</colgroup>
<thead>
<tr class="plm_thead">
<td>No</td>
<td>첨부파일명</td>
<td>등록일</td>
</tr>
</thead>
</table>
</div>
<div class="plm_scroll_table" style="height: 40px;">
<table id="YEAR_GOALFileArea" class="fileListscrollTbody">
</table>
</div>
</div>
</td>
</tr>
</table>
</div>
</td>
</tr>
<%--
<tr>
<td class="input_title"><label for="">인수자</label></td>
<td class="input_sub_title">
<input type="text" name="TASK_OVER_USER_ID" id="TASK_OVER_USER_ID" value="${resultMap.TASK_OVER_USER_ID}">
</td>
</tr>
<tr>
<td class="input_title"><label for="">인수일</label></td>
<td class="input_sub_title">
<input type="text" name="TASK_OVER_DATE" id="TASK_OVER_DATE" value="${resultMap.TASK_OVER_DATE}" class="date_icon">
</td>
</tr>
<tr>
<td class="input_title"><label for="">확인</label></td>
<td class="input_sub_title">
<input type="text" name="TASK_OVER_COMMENT" id="TASK_OVER_COMMENT" value="${resultMap.TASK_OVER_COMMENT}">
</td>
</tr>
<tr>
<td class="input_title"><label for="">설치결과</label></td>
<td class="input_sub_title">
<select name="INSTALL_RESULT" id="INSTALL_RESULT" style="" class="select2" autocomplete="off">
<option value="">선택</option>
<option value="OPEN">OPEN</option>
<option value="CLOSED">CLOSED</option>
</select>
</td>
</tr>
--%>
</table>
</div>
<div class="btn_wrap">
<div class="plm_btn_wrap_center">
<input type="button" value="저장" id="btnSave" class="plm_btns">
<input type="button" value="닫기" id="btnClose" class="plm_btns">
</div>
</div>
</section>
</form>
</body>
</html>