- 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
1026 lines
31 KiB
Plaintext
1026 lines
31 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
<%@ page import="com.pms.common.utils.*"%>
|
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
|
<%@ page import="java.util.*" %>
|
|
<%@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>
|
|
</head>
|
|
<script>
|
|
$(document).ready(function(){
|
|
|
|
if("${info.PLANT_CD}"!=""){
|
|
makeSelect("${info.PLANT_CD}");
|
|
$("#outc_cd6").val("${info.OUTC_CD6}");
|
|
}
|
|
|
|
if("${param.edit}"=="view"){
|
|
$("#btnSave").remove();
|
|
}
|
|
|
|
|
|
$('.select2').select2();
|
|
/* $('#region_cd').select2();
|
|
$('#customer_cd').select2();
|
|
$('#order_cd').select2();
|
|
$('#plant_cd').select2();
|
|
$('#result_cd').select2();
|
|
|
|
|
|
$('#design_pm').select2();
|
|
$('#production_pm').select2();
|
|
$('#electro_pm').select2();
|
|
$('#se_pm').select2();
|
|
$('#manager_pm').select2();
|
|
$('#purchase_pm').select2(); */
|
|
|
|
/* $('#project_derivation_no').select2();
|
|
$('#project_mean').select2(); */
|
|
|
|
/* //닫기
|
|
if("Y"=="${param.view}"){
|
|
$("#btnSave").hide();
|
|
} */
|
|
//사용자 창 숨기기 기능
|
|
if("<%=userId%>" == "plm_admin"){
|
|
}
|
|
|
|
else if("<%=userId%>" == "${info.WRITER}"){
|
|
}
|
|
|
|
else if("<%=userId%>" == "${projectPmId.managerPm}"){
|
|
}
|
|
|
|
else{
|
|
if("${actionType}" != 'regist'){
|
|
/* $('input').prop('readonly', true);
|
|
$('select').prop('disabled', true);
|
|
$('textarea').prop('readonly', true);
|
|
$("#issueDropZone").hide();
|
|
$("#shapeDropZone").hide();
|
|
$("#btnSave").hide();
|
|
$("#resultDropZone").hide();
|
|
$("#resultshapeDropZone").hide();
|
|
$("#result").prop('readonly', true);
|
|
$("#cur_cost").prop('readonly', true);
|
|
$(".date_icon").prop('disabled', true); */
|
|
/* <c:if test="${info.SOL_USERID eq connectUserId}">
|
|
$("#btnSave").show();
|
|
$("#resultDropZone").show();
|
|
$("#resultshapeDropZone").show();
|
|
$("#result").prop('readonly', false);
|
|
$("#cur_cost").prop('readonly', false);
|
|
</c:if> */
|
|
}
|
|
}
|
|
|
|
$("#btnClose").click(function(){
|
|
self.close(0);
|
|
});
|
|
|
|
//수정
|
|
$("#btnSave").click(function(){
|
|
fn_save();
|
|
});
|
|
|
|
//입찰품목 등록
|
|
$("#conceptItemRegist").click(function(){
|
|
var params = "";
|
|
params += "?targetObjId=${objId}";
|
|
window.open("/projectConcept/projectConceptProductInfoFormPopup.do"+params, "", "width=760, height=920");
|
|
});
|
|
|
|
//취소
|
|
$("#btnCancel").click(function(){
|
|
var objId = $(this).attr("data-OBJID");
|
|
var params = "?objId="+objId;
|
|
document.form1.action ="/projectConcept/projectConceptDetailPopup.do"+params;
|
|
document.form1.submit();
|
|
});
|
|
|
|
fnc_setFileDropZone("projectDropZone", "${objId}", "CUSTOMER_01", "고객정보자료01", "projectAreaDraw",false,null,null);
|
|
fnc_setFileDropZone("project1DropZone", "${objId}", "CUSTOMER_02", "고객정보자료02", "projectAreaDraw1",false,null,null);
|
|
fnc_setFileDropZone("project2DropZone", "${objId}", "CUSTOMER_03", "고객정보자료03", "projectAreaDraw2",false,null,null);
|
|
|
|
projectAreaDraw();
|
|
projectAreaDraw1();
|
|
//projectAreaDraw2();
|
|
|
|
|
|
$("#btnUpload").click(function(){
|
|
var files = $("#file1")[0].files;
|
|
if(files.length > 0){
|
|
fnc_fileMultiUpload(files, null, "${objId}", "CUSTOMER_01", "고객정보자료", null, "projectAreaDraw");
|
|
//file객체 초기화
|
|
$("#file1").val("");
|
|
}else{
|
|
Swal.fire("선택된 File이 없습니다.");
|
|
}
|
|
});
|
|
|
|
fnc_datepick();
|
|
});
|
|
|
|
//SR자료등록 팝업
|
|
$(".File").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("/projectConcept/FileRegistPopup.do"+params, "", "width=800, height=335");
|
|
});
|
|
|
|
|
|
|
|
</script>
|
|
<script>
|
|
function inputNumberFormat(obj) {
|
|
|
|
var sub_p_sum ="";
|
|
var sub_r_sum ="";
|
|
var sub_ps_sum ="";
|
|
var avr="";
|
|
var average="";
|
|
var avr1="";
|
|
var average1="";
|
|
|
|
if(obj.id=="dev_p_product" || obj.id=="sale_p_product"){
|
|
sub_p_sum = Number($("#dev_p_product").val().replace(/,/gi,"")) + Number($("#sale_p_product").val().replace(/,/gi,""));
|
|
|
|
$("#sub_p_sum").val(sub_p_sum);
|
|
|
|
avr = Number($("#dev_p_product").val().replace(/,/gi,"")) / Number($("#sub_p_sum").val().replace(/,/gi,"")) * 100 ;
|
|
|
|
avr1 = Number($("#sale_p_product").val().replace(/,/gi,"")) / Number($("#sub_p_sum").val().replace(/,/gi,"")) * 100 ;
|
|
|
|
average = avr.toPrecision(3);
|
|
average1 = avr1.toPrecision(3);
|
|
if(average!="NaN" && average!="Infinity"){
|
|
$("#dev_p").val(average+"%");
|
|
}
|
|
if(average1!="NaN" && average1!="Infinity"){
|
|
$("#sale_p").val(average1+"%");
|
|
}
|
|
|
|
$("#sub_p_sum").val(comma(uncomma(sub_p_sum)));
|
|
|
|
}
|
|
|
|
if(obj.id=="dev_r_product" || obj.id=="sale_r_product"){
|
|
sub_r_sum = Number($("#dev_r_product").val().replace(/,/gi,"")) + Number($("#sale_r_product").val().replace(/,/gi,""));
|
|
|
|
$("#sub_r_sum").val(sub_r_sum);
|
|
|
|
avr = Number($("#dev_r_product").val().replace(/,/gi,"")) / Number($("#dev_p_product").val().replace(/,/gi,"")) * 100 ;
|
|
|
|
avr1 = Number($("#sale_r_product").val().replace(/,/gi,"")) / Number($("#sale_p_product").val().replace(/,/gi,"")) * 100 ;
|
|
|
|
average = avr.toPrecision(3);
|
|
average1 = avr1.toPrecision(3);
|
|
if(average1!="NaN" && average1!="Infinity"){
|
|
$("#dev_r").val(average1+"%");
|
|
}
|
|
if(average!="NaN" && average!="Infinity"){
|
|
$("#sale_r").val(average+"%");
|
|
}
|
|
|
|
$("#sub_r_sum").val(comma(uncomma(sub_r_sum)));
|
|
|
|
}
|
|
|
|
|
|
if(obj.id=="dev_ps_product" || obj.id=="sale_ps_product"){
|
|
sub_ps_sum = Number($("#dev_ps_product").val().replace(/,/gi,"")) + Number($("#sale_ps_product").val().replace(/,/gi,""));
|
|
|
|
$("#sub_ps_sum").val(sub_ps_sum);
|
|
|
|
avr = Number($("#dev_p_product").val().replace(/,/gi,"")) / Number($("#dev_ps_product").val().replace(/,/gi,"")) * 100 ;
|
|
|
|
avr1 = Number($("#sale_p_product").val().replace(/,/gi,"")) / Number($("#sale_ps_product").val().replace(/,/gi,"")) * 100 ;
|
|
|
|
average = avr.toPrecision(3);
|
|
average1 = avr1.toPrecision(3);
|
|
if(average1!="NaN" && average1!="Infinity"){
|
|
$("#dev_ps").val(average1+"%");
|
|
}
|
|
if(average!="NaN" && average!="Infinity"){
|
|
$("#sale_ps").val(average+"%");
|
|
}
|
|
|
|
$("#sub_ps_sum").val(comma(uncomma(sub_ps_sum)));
|
|
|
|
}
|
|
|
|
|
|
obj.value = comma(uncomma(obj.value));
|
|
|
|
}
|
|
|
|
function comma(str) {
|
|
str = String(str);
|
|
return str.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,');
|
|
}
|
|
|
|
function uncomma(str) {
|
|
str = String(str);
|
|
return str.replace(/[^\d]+/g, '');
|
|
}
|
|
|
|
|
|
//형상 영역을 display 한다.
|
|
function projectAreaDraw(){
|
|
fn_fileCallback("project","CUSTOMER_01");
|
|
}
|
|
|
|
//형상 영역을 display 한다.
|
|
function projectAreaDraw1(){
|
|
fn_fileCallback("project1","CUSTOMER_02");
|
|
}
|
|
|
|
//형상 영역을 display 한다.
|
|
function projectAreaDraw2(){
|
|
fn_fileCallback("project2","CUSTOMER_03");
|
|
}
|
|
|
|
//첨부파일 목록을 가져온다.
|
|
function fn_fileCallback(areaId,fileType){
|
|
$.ajax({
|
|
url:"/common/getFileList.do",
|
|
type:"POST",
|
|
data:{"targetObjId":"${objId}", "docType":fileType},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
if(0 < data.length){
|
|
|
|
//첨부파일 목록 영역 show
|
|
$("#"+areaId+"FileArea").empty();
|
|
|
|
if(0 < $("#"+areaId+"DefaultRow").length){
|
|
$("#"+areaId+"DefaultRow").hide();
|
|
}
|
|
|
|
$.each(data, function(i){
|
|
|
|
var appendText = "";
|
|
if("project" == areaId || "project1" == areaId || "project2" == areaId){
|
|
var path = data[i].FILE_PATH;
|
|
var fileName = data[i].SAVED_FILE_NAME;
|
|
var fileExt = data[i].UPPER_FILE_EXT;
|
|
appendText += "<colgroup>";
|
|
appendText +=" <col width='10%''>";
|
|
appendText +=" <col width='*'>";
|
|
appendText +=" <col width='20%'>";
|
|
appendText +=" </colgroup>";
|
|
appendText+= "<tr>";
|
|
appendText+= " <td>"+[i+1]+"</td>";
|
|
appendText+= " <td class='align_l'><a href='javascript:fnc_downloadFile(\""+data[i].OBJID+"\")'> "+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>";
|
|
}
|
|
$("#"+areaId+"FileArea").append(appendText);
|
|
});
|
|
}else{
|
|
$("#"+areaId+"DropZone").show();
|
|
$("#"+areaId+"AttachFileList").hide();
|
|
$("#"+areaId+"FileArea").empty();
|
|
var appendText = "";
|
|
appendText += "<tr>";
|
|
appendText += "<td>첨부 파일이 없습니다.</td>";
|
|
appendText +="</tr>";
|
|
$("#"+areaId+"FileArea").append(appendText);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}//파일 첨부 END
|
|
|
|
|
|
/*첨부 파일 삭제 */
|
|
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){
|
|
if(type=="project"){
|
|
fn_fileCallback("project","CUSTOMER_01");
|
|
}else if(type=="project1"){
|
|
fn_fileCallback("project1","CUSTOMER_02");
|
|
}else if(type=="project2"){
|
|
fn_fileCallback("project2","CUSTOMER_03");
|
|
}
|
|
|
|
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
//수주활동 등록정보 수정
|
|
function fn_save(){
|
|
if(fnc_valitate("form1")){
|
|
var message="수정";
|
|
if("${actionType}"=='regist'){
|
|
message="등록";
|
|
}
|
|
if(confirm(message+"하시겠습니까?")){
|
|
saveProcess();
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
function fn_checkProductCnt(){
|
|
var result = false;
|
|
var objId = $("#objId").val();
|
|
|
|
$.ajax({
|
|
url:"/projectConcept/getProjectConceptProductCnt.do",
|
|
type:"POST",
|
|
data:{"targetObjId":objId},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
var cnt = data.CNT;
|
|
|
|
if(cnt > 0){
|
|
result = true;
|
|
}else{
|
|
result = false;
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
|
|
return result;
|
|
}
|
|
|
|
function saveProcess(){
|
|
// 날짜 - 제거
|
|
$("#start_date").val($("#start_date").val().replace(/-/gi,""));
|
|
$("#del_date").val($("#del_date").val().replace(/-/gi,""));
|
|
$("#req_date").val($("#req_date").val().replace(/-/gi,""));
|
|
|
|
|
|
$("#reason").val($("#reason").val().replace(/,/gi,""));
|
|
$("#outc_cd2").val($("#outc_cd2").val().replace(/,/gi,""));
|
|
$("#outc_cd3").val($("#outc_cd3").val().replace(/,/gi,""));
|
|
$.ajax({
|
|
url:"/ordermgmt/saveOrderMgmtInfo.do",
|
|
type:"POST",
|
|
data:$("#form1").serialize(),
|
|
dataType:"json",
|
|
success:function(data){
|
|
Swal.fire(data.RESULT.msg);
|
|
opener.fn_search();
|
|
self.close();
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
//코드값을 받아와서 동적으로 selectbox 생성
|
|
function optionDerivationGroup(code){
|
|
|
|
var val=code;
|
|
|
|
if(val == "PND00100"){
|
|
return;
|
|
}else{
|
|
|
|
var params = "";
|
|
var option="";
|
|
var combobox = $("#project_mean");
|
|
combobox.empty();
|
|
|
|
if(val!=""){
|
|
params += "codeId=PND20000";
|
|
$.ajax({
|
|
type : "POST",
|
|
url : "/admin/makeSelect.do",
|
|
data : params,
|
|
dataType:"json",
|
|
async: false,
|
|
success: function(data){
|
|
if(data.RESULT !=""){
|
|
option += "<option value=''>전체</option>";
|
|
option += data.RESULT;
|
|
combobox.append(option);
|
|
}
|
|
}
|
|
});
|
|
|
|
|
|
}else{
|
|
|
|
option += "<option value=''>전체</option>";
|
|
combobox.append(option);
|
|
}
|
|
}
|
|
}
|
|
//영업관리 실시간 계산
|
|
function ex_material_cost_calculation(){
|
|
$("#order_price").val($("#order_price").val().replace(/,/gi,""))
|
|
$("#ex_material_cost_w").val($("#ex_material_cost_w").val().replace(/,/gi,""))
|
|
|
|
first = parseInt(form1.order_price.value);
|
|
//Swal.fire(first);
|
|
second = parseInt(form1.ex_material_cost.value);
|
|
form1.ex_material_cost_w.value = ((first*second)/100);
|
|
}
|
|
|
|
//영업관리 실시간 계산
|
|
function ex_labor_cost_calculation(){
|
|
$("#order_price").val($("#order_price").val().replace(/,/gi,""))
|
|
$("#ex_labor_cost_w").val($("#ex_labor_cost_w").val().replace(/,/gi,""))
|
|
|
|
first = parseInt(form1.order_price.value);
|
|
//Swal.fire(first);
|
|
second = parseInt(form1.ex_labor_cost.value);
|
|
form1.ex_labor_cost_w.value = ((first*second)/100);
|
|
}
|
|
|
|
//영업관리 실시간 계산
|
|
function ex_expense_cost_calculation(){
|
|
$("#order_price").val($("#order_price").val().replace(/,/gi,""))
|
|
$("#ex_expense_cost_w").val($("#ex_expense_cost_w").val().replace(/,/gi,""))
|
|
|
|
first = parseInt(form1.order_price.value);
|
|
//Swal.fire(first);
|
|
second = parseInt(form1.ex_expense_cost.value);
|
|
form1.ex_expense_cost_w.value = ((first*second)/100);
|
|
}
|
|
|
|
|
|
function fn_openWBSTaskDetailPopUp(objId,orderObjId) {
|
|
//wbs 등록 팝업
|
|
Swal.fire("${param.objId}");
|
|
Swal.fire("${param.taskObjId}");
|
|
window.open("/orderMgmt/orderwbsTaskFormPopUp.do?taskObjId="+objId+"&orderObjId="+orderObjId, objId, "width=700, height=450");
|
|
}
|
|
|
|
|
|
function fn_Recfilepopup1(objId){
|
|
var objId = objId;
|
|
var docType ="OUTF1"
|
|
var docTypeName = "기구외주FILE1"
|
|
var params = "?targetObjId="+objId+"&docType="+docType+"&docTypeName="+docTypeName;
|
|
var url="/common/FileRegistPopup.do";
|
|
|
|
window.open(url+params, "", "width=800, height=335");
|
|
}
|
|
|
|
function fn_Recfilepopup2(objId){
|
|
var objId = objId;
|
|
var docType ="OUTF2"
|
|
var docTypeName = "기구외주FILE2"
|
|
var params = "?targetObjId="+objId+"&docType="+docType+"&docTypeName="+docTypeName;
|
|
var url="/common/FileRegistPopup.do";
|
|
|
|
window.open(url+params, "", "width=800, height=335");
|
|
}
|
|
|
|
function fn_Recfilepopup3(objId){
|
|
var objId = objId;
|
|
var docType ="OUTF3"
|
|
var docTypeName = "기구외주FILE3"
|
|
var params = "?targetObjId="+objId+"&docType="+docType+"&docTypeName="+docTypeName;
|
|
var url="/common/FileRegistPopup.do";
|
|
|
|
window.open(url+params, "", "width=800, height=335");
|
|
}
|
|
|
|
function fn_Recfilepopup4(objId){
|
|
var objId = objId;
|
|
var docType ="OUTF4"
|
|
var docTypeName = "기구외주FILE4"
|
|
var params = "?targetObjId="+objId+"&docType="+docType+"&docTypeName="+docTypeName;
|
|
var url="/common/FileRegistPopup.do";
|
|
|
|
window.open(url+params, "", "width=800, height=335");
|
|
}
|
|
|
|
function fn_Recfilepopup5(objId){
|
|
var objId = objId;
|
|
var docType ="OUTF5"
|
|
var docTypeName = "기구외주FILE5"
|
|
var params = "?targetObjId="+objId+"&docType="+docType+"&docTypeName="+docTypeName;
|
|
var url="/common/FileRegistPopup.do";
|
|
|
|
window.open(url+params, "", "width=800, height=335");
|
|
}
|
|
|
|
function fn_Recfilepopup6(objId){
|
|
var objId = objId;
|
|
var docType ="OUTF6"
|
|
var docTypeName = "기구외주FILE6"
|
|
var params = "?targetObjId="+objId+"&docType="+docType+"&docTypeName="+docTypeName;
|
|
var url="/common/FileRegistPopup.do";
|
|
|
|
window.open(url+params, "", "width=800, height=335");
|
|
}
|
|
|
|
|
|
//코드값을 받아와서 동적으로 selectbox 생성
|
|
function makeSelect(code){
|
|
var val=code;
|
|
var params = "";
|
|
var option="";
|
|
var combobox = $("#outc_cd6_td");
|
|
combobox.empty();
|
|
|
|
|
|
/* <select name="outc_cd6" id="outc_cd6" type="select">
|
|
<option value="">선택</option>
|
|
</select> */
|
|
|
|
if(val!="" && val!="PLA03000"){
|
|
params += "codeId="+val;
|
|
$.ajax({
|
|
type : "POST",
|
|
url : "/ordermgmt/makeCodeselect.do",
|
|
data : params,
|
|
dataType:"json",
|
|
async: false,
|
|
success: function(data){
|
|
if(data.RESULT !=""){
|
|
option += "<select name='outc_cd6' id='outc_cd6' type='select'>"
|
|
option += "<option value=''>선택</option>";
|
|
option += data.RESULT;
|
|
option += "</select>";
|
|
combobox.append(option);
|
|
}
|
|
}
|
|
});
|
|
}else{
|
|
if(val=="PLA03000"){
|
|
option += "<input type='text' name='outc_cd6' id='outc_cd6'>"
|
|
combobox.append(option);
|
|
}else{
|
|
option += "<select name='outc_cd6' id='outc_cd6' type='select'>"
|
|
option += "<option value=''>선택</option>";
|
|
option += "</select>";
|
|
combobox.append(option);
|
|
}
|
|
}
|
|
}
|
|
|
|
/*실시간 콤마 삽입 */
|
|
function cmaComma(obj) {
|
|
var firstNum = obj.value.substring(0,1); // 첫글자 확인 변수
|
|
var strNum = /^[/,/,0,1,2,3,4,5,6,7,8,9,/]/; // 숫자와 , 만 가능
|
|
var str = "" + obj.value.replace(/,/gi,''); // 콤마 제거
|
|
var regx = new RegExp(/(-?\d+)(\d{3})/);
|
|
var bExists = str.indexOf(".",0);
|
|
var strArr = str.split('.');
|
|
|
|
if (!strNum.test(obj.value)) {
|
|
Swal.fire("숫자만 입력하십시오.\n\n특수문자와 한글/영문은 사용할수 없습니다.");
|
|
obj.value = 1;
|
|
obj.focus();
|
|
return false;
|
|
}
|
|
|
|
if ((firstNum < "0" || "9" < firstNum)){
|
|
Swal.fire("숫자만 입력하십시오.");
|
|
obj.value = 1;
|
|
obj.focus();
|
|
return false;
|
|
}
|
|
|
|
while(regx.test(strArr[0])){
|
|
strArr[0] = strArr[0].replace(regx,"$1,$2");
|
|
}
|
|
if (bExists > -1) {
|
|
obj.value = strArr[0] + "." + strArr[1];
|
|
} else {
|
|
obj.value = strArr[0];
|
|
}
|
|
}
|
|
|
|
</script>
|
|
<body>
|
|
<form name="form1" id="form1" action="" method="post">
|
|
<input type="hidden" name="objId" id="objId" value="${objId}">
|
|
<section>
|
|
<div class="plm_menu_name">
|
|
<h2>
|
|
<span>프로젝트관리_영업활동등록</span>
|
|
</h2>
|
|
</div>
|
|
<div id="businessPopupFormWrap" >
|
|
<!-- <div class="form_popup_title"> 영업활동 등록</div> -->
|
|
<table class="pmsPopupForm">
|
|
<colgroup>
|
|
<col width="25%">
|
|
<col width="25%">
|
|
<col width="25%">
|
|
<col width="25%">
|
|
</colgroup>
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">영업번호</label>
|
|
</td>
|
|
<td class="input_sub_title" >
|
|
${info.REGION_CD}
|
|
</td>
|
|
|
|
<td class="input_title">
|
|
<label for="">구분</label>
|
|
</td>
|
|
|
|
<td class="input_sub_title">
|
|
<select name="order_cd" id="order_cd" required reqTitle="구분" type="select">
|
|
<option value="">선택</option>
|
|
${code_map.order_cd}
|
|
</select>
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">지역</label>
|
|
</td>
|
|
<td colspan="" class="input_sub_title">
|
|
<input style="padding:0px 0px 0px 8px;" type="text" name="outc_cd5" id="outc_cd5" value="${info.OUTC_CD5}" maxlength="20">
|
|
</td>
|
|
<td class="input_title">
|
|
<label for="">거래처</label>
|
|
</td>
|
|
|
|
<td class="input_sub_title">
|
|
<select name="customer_cd" id="customer_cd" required reqTitle="거래처" type="select" class="select2">
|
|
<option value="">선택</option>
|
|
${code_map.customer_cd}
|
|
</select>
|
|
</td>
|
|
|
|
<%-- <td class="input_sub_title">
|
|
<select name="customer_cd" id="customer_cd" required reqTitle="고객사명" type="select">
|
|
<option value="">선택</option>
|
|
${code_map.customer_cd}
|
|
</select>
|
|
</td> --%>
|
|
|
|
<%-- <td class="input_title">
|
|
<label for="">모델명</label>
|
|
</td>
|
|
<td class="input_sub_title">
|
|
<input style="padding:0px 0px 0px 8px;" type="text" name="plant_cd" id="plant_cd" value="${info.PLANT_CD}">
|
|
</td> --%>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">프로젝트구분</label>
|
|
</td>
|
|
<td class="input_sub_title">
|
|
<select name="project_division" id="project_division" required reqTitle="프로젝트구분" type="select">
|
|
<option value="">선택</option>
|
|
${code_map.project_division}
|
|
</select>
|
|
</td>
|
|
|
|
<td class="input_title">
|
|
<label for="">관련프로젝트</label>
|
|
</td>
|
|
<td class="input_sub_title">
|
|
<select name="project_derivation_no" id="project_derivation_no" type="select">
|
|
<option value="">선택</option>
|
|
${code_map.project_derivation_no}
|
|
</select>
|
|
</td>
|
|
|
|
<%-- <td class="input_title">
|
|
<label for="req_date" style="color:red">견적요청일</label>
|
|
</td>
|
|
<td class="input_sub_title">
|
|
<input style="padding:0px 0px 0px 8px;" type="text" name="req_date" id="req_date" value="${info.REQ_DATE}" class="date_icon" required reqTitle="등록일">
|
|
</td> --%>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">작업현장</label>
|
|
</td>
|
|
<td colspan="3" class="input_sub_title">
|
|
<input style="padding:0px 0px 0px 8px;" type="text" name="outc_cd1" id="outc_cd1" value="${info.OUTC_CD1}" maxlength="20">
|
|
</td>
|
|
|
|
|
|
<%-- <td class="input_title">
|
|
<label for="req_date" style="color:red">견적요청일</label>
|
|
</td>
|
|
<td class="input_sub_title">
|
|
<input style="padding:0px 0px 0px 8px;" type="text" name="req_date" id="req_date" value="${info.REQ_DATE}" class="date_icon" required reqTitle="등록일">
|
|
</td> --%>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">제품군</label>
|
|
</td>
|
|
<td class="input_sub_title">
|
|
<select name="plant_cd" id="plant_cd" onchange='makeSelect($(this).val())' required reqTitle="제품군" type="select">
|
|
<option value="">선택</option>
|
|
${code_map.plant_cd}
|
|
</select>
|
|
</td>
|
|
|
|
<td class="input_title">
|
|
<label for="">종류</label>
|
|
</td>
|
|
<td class="input_sub_title" id="outc_cd6_td">
|
|
<!-- <select name="outc_cd6" id="outc_cd6" type="select">
|
|
<option value="">선택</option>
|
|
</select> -->
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">중량</label>
|
|
</td>
|
|
<td class="input_sub_title">
|
|
<input style="padding:0px 0px 0px 8px;" type="text" name="reason" id="reason" value="<fmt:formatNumber value="${info.REASON}" pattern="#,###" />" maxlength="20" onkeyup="cmaComma(this);" onchange="cmaComma(this);">
|
|
</td>
|
|
|
|
<td class="input_title">
|
|
<label for="">SPAN</label>
|
|
</td>
|
|
<td class="input_sub_title">
|
|
<input style="padding:0px 0px 0px 8px;" type="text" name="outc_cd2" id="outc_cd2" value="<fmt:formatNumber value="${info.OUTC_CD2}" pattern="#,###" />" maxlength="20" onkeyup="cmaComma(this);" onchange="cmaComma(this);">
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">주행거리</label>
|
|
</td>
|
|
<td colspan="3" class="input_sub_title">
|
|
<input style="padding:0px 0px 0px 8px;" type="text" name="outc_cd3" id="outc_cd3" value="<fmt:formatNumber value="${info.OUTC_CD3}" pattern="#,###" />" maxlength="20" onkeyup="cmaComma(this);" onchange="cmaComma(this);">
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">견적요청일</label>
|
|
</td>
|
|
<td class="input_sub_title">
|
|
<input style="padding:0px 0px 0px 8px;" type="text" name="req_date" id="req_date" value="${info.REQ_DATE}" class="date_icon" required reqTitle="견적요청일">
|
|
</td>
|
|
|
|
<td class="input_title">
|
|
<label for="">견적No.</label>
|
|
</td>
|
|
<td class="input_sub_title">
|
|
<input style="padding:0px 0px 0px 8px;" type="text" name="outc_cd4" id="outc_cd4" value="${info.OUTC_CD4}" maxlength="20">
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">제목</label>
|
|
</td>
|
|
<td colspan="3" class="input_sub_title">
|
|
<input style="padding:0px 0px 0px 8px;" type="text" name="order_title" id="order_title" required reqTitle="제목" value="${info.ORDER_TITLE}" maxlength="20">
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="3" class="input_title">
|
|
<label for="req_date">입수자료</label>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="4">
|
|
<div id="projectDropZone" class="dropzone"style="width:99% !important;">Drag & Drop Files Here</div>
|
|
<!-- <input type="file" name="file1" id="file1" multiple style="width:90%;"> -->
|
|
<!-- <input type="button" id="btnUpload" value="Upload" class="upload_btns"> -->
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="4">
|
|
<div class="project_form_in_table"style="width:100%" id="projectFileAreaTable" >
|
|
<div style="overflow-y:scroll;">
|
|
<table class=""fileListscrollThead"" 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:75px;">
|
|
<table class="plm_table">
|
|
<colgroup>
|
|
<col width="10%">
|
|
<col width="*">
|
|
<col width="20%">
|
|
</colgroup>
|
|
</table>
|
|
<table id="projectFileArea" class="fileListscrollTbody">
|
|
|
|
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
<td rowspan="3" class="input_title">
|
|
<!-- <label for="">견적서</label> -->
|
|
<label for="">제출자료</label>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td colspan="4">
|
|
<div id="project1DropZone" class="dropzone"style="width:99% !important;">Drag & Drop Files Here</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td colspan="4">
|
|
<div class="project_form_in_table"style="width:100%" id="project1FileAreaTable" >
|
|
<div style="overflow-y:scroll;">
|
|
<table class=""fileListscrollThead"" 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:75px;">
|
|
<table class="plm_table">
|
|
<colgroup>
|
|
<col width="10%">
|
|
<col width="*">
|
|
<col width="20%">
|
|
</colgroup>
|
|
</table>
|
|
<table id="project1FileArea" class="fileListscrollTbody">
|
|
|
|
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">수주결과</label>
|
|
</td>
|
|
<td colspan="" class="input_sub_title">
|
|
<select name="result_cd" id="result_cd" required reqTitle="수주결과" type="select">
|
|
<option value="">선택</option>
|
|
${code_map.result_cd}
|
|
</select>
|
|
</td>
|
|
|
|
<td class="input_title">
|
|
<label for="project_no">Project No.</label>
|
|
</td>
|
|
<td colspan="" class="input_sub_title">
|
|
<input style="padding:0px 0px 0px 8px;" type="text" name="project_no" id="project_no" required reqTitle="Project No" value="${info.PROJECT_NO}" maxlength="20">
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="start_date">수주일</label>
|
|
</td>
|
|
<td>
|
|
<input style="padding:0px 0px 0px 8px;" type="text" name="start_date" id="start_date" value="${info.START_DATE}" class="date_icon" reqTitle="제품납기일">
|
|
</td>
|
|
<td class="input_title">
|
|
<label for="del_date" >납기일</label>
|
|
</td>
|
|
<td>
|
|
<input style="padding:0px 0px 0px 8px;" type="text" name="del_date" id="del_date" value="${info.DEL_DATE}" class="date_icon" reqTitle="금형납기일">
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<%-- <td class="input_title">
|
|
<label for="order_price">수주가</label>
|
|
</td>
|
|
<td class="input_sub_title">
|
|
<input style="text-align:right; padding:0px 8px 0px 0px;" type="text" name="order_price" id="order_price" value="<fmt:formatNumber value="${info.ORDER_PRICE}" pattern="#,###"/>" onKeyUp=ex_material_cost_calculation(); maxlength="20" required>
|
|
</td> --%>
|
|
<td class="input_title">
|
|
<label for="">PM</label>
|
|
</td>
|
|
<td colspan="" class="input_sub_title">
|
|
<select name="manager_pm" id="manager_pm" reqTitle="총괄 PM" type="select">
|
|
<option value="">선택</option>
|
|
${code_map.manager_pm}
|
|
</select>
|
|
</td>
|
|
<td class="input_title">
|
|
<label for="">설계</label>
|
|
</td>
|
|
<td colspan="" class="input_sub_title">
|
|
<select name="design_pm" id="design_pm" reqTitle="설계 PM" type="select">
|
|
<option value="">선택</option>
|
|
${code_map.design_pm}
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">구매</label>
|
|
</td>
|
|
<td colspan="" class="input_sub_title">
|
|
<select name="se_pm" id="se_pm" reqTitle="구매 PM" type="select">
|
|
<option value="">선택</option>
|
|
${code_map.se_pm}
|
|
</select>
|
|
</td>
|
|
|
|
<td class="input_title">
|
|
<label for="">생산</label>
|
|
</td>
|
|
<td colspan="" class="input_sub_title">
|
|
<select name="production_pm" id="production_pm" reqTitle="총괄 PM" type="select">
|
|
<option value="">선택</option>
|
|
${code_map.production_pm}
|
|
</select>
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
</div>
|
|
<div class="btn_wrap">
|
|
<!-- <input type="button" value="Edit" class="plm_btns" onclick=""> -->
|
|
<div class="plm_btn_wrap_center">
|
|
<c:choose>
|
|
<%-- <c:when test="${actionType eq 'regist' and (info.WRITER eq connectUserId or 'plm_admin' eq connectUserId)}"> --%>
|
|
<c:when test="${actionType eq 'regist' or 'plm_admin' eq connectUserId}">
|
|
<input type="button" value="저장" id="btnSave" class="plm_btns">
|
|
</c:when>
|
|
<c:otherwise>
|
|
<c:if test="${info.REG_ID eq connectUserId or 'plm_admin' eq connectUserId}">
|
|
<input type="button" value="수정" id="btnSave" class="plm_btns">
|
|
</c:if>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
|
|
|
|
<%--
|
|
<c:if test="${actionType eq 'regist' or info.WRITER eq connectUserId or 'plm_admin' eq connectUserId}">
|
|
<input type="button" value="수정" id="btnSave" class="plm_btns">
|
|
</c:if> --%>
|
|
<input type="button" value="닫기" id="btnClose" class="plm_btns">
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</section>
|
|
</form>
|
|
</body>
|
|
</html> |