350 lines
14 KiB
Plaintext
350 lines
14 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 connector = 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="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}" />
|
|
<c:set var="now" value="<%=new java.util.Date() %>" />
|
|
<c:set var="sysYear"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set>
|
|
<c:set var="connector" value="<%=connector %>" />
|
|
|
|
<style>
|
|
.select2-selection__choice {
|
|
font-size: 11px;
|
|
background-color: #fff !important;
|
|
border: none !important;
|
|
margin-right: 0px !important;
|
|
}
|
|
.select2-selection__choice__remove {
|
|
display: contents !important;
|
|
}
|
|
.select2-container .select2-selection--multiple {
|
|
min-height: 20px !important;
|
|
}
|
|
.select2-container--default .select2-selection--multiple .select2-selection__choice {
|
|
margin-top: 3.5px !important;
|
|
}
|
|
.select2-selection__rendered {
|
|
height: 18px !important;
|
|
}
|
|
.select2-container .select2-selection--multiple .select2-selection__rendered {
|
|
overflow: auto !important;
|
|
}
|
|
body {
|
|
overflow-x: hidden !important;
|
|
}
|
|
</style>
|
|
|
|
<script type="text/javascript">
|
|
|
|
$(document).ready(function(){
|
|
$('.select2').select2();
|
|
|
|
// 품번/품명 Select2 AJAX 초기화
|
|
initPartSelect2Ajax("#product_item_code", "#product_item_name", "#search_part_objid");
|
|
|
|
// 요청납기일 datepicker 적용
|
|
$('#contract_start_date, #contract_end_date').datepicker({
|
|
changeMonth: true,
|
|
changeYear: true
|
|
});
|
|
//$('#Year' ).select2();
|
|
|
|
$("#btnSearch").click(function(){
|
|
$("#page").val("1");
|
|
fn_search();
|
|
});
|
|
$("#btnApply").click(function(){
|
|
//fn_apply("","regist");
|
|
});
|
|
|
|
// 엔터키로 조회
|
|
$('#plmSearchZon input[type="text"]').keypress(function(e){
|
|
if(e.which == 13){
|
|
$("#page").val("1");
|
|
fn_search();
|
|
}
|
|
});
|
|
|
|
fn_search();
|
|
});
|
|
|
|
var columns = [
|
|
{title:'CATEGORY_CD' ,field:'CATEGORY_CD' ,visible:false ,frozen:true},
|
|
{headerHozAlign : 'center', hozAlign : 'left', width : '140', title : '프로젝트번호', field : 'PROJECT_NO' ,frozen:true,
|
|
sorter:"string",
|
|
formatter:fnc_createGridAnchorTag,
|
|
cellClick:function(e, cell){
|
|
var orderNo = cell.getData().PROJECT_NO;
|
|
fn_openSaleRegPopup(orderNo, "detail");
|
|
}
|
|
},
|
|
|
|
{title:"프로젝트정보", headerHozAlign:'center', //고객정보
|
|
columns:[
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '주문유형', field : 'CATEGORY_NAME', sorter:"string" },
|
|
{headerHozAlign : 'center', hozAlign : 'left', width : '90', title : '제품구분', field : 'PRODUCT_NAME', sorter:"string" },
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '국내/해외', field : 'AREA_NAME', sorter:"string" },
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '접수일', field : 'REG_DATE', sorter:"string" },
|
|
{headerHozAlign : 'center', hozAlign : 'left', width : '120', title : '고객사', field : 'CUSTOMER_NAME', sorter:"string" },
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '유/무상', field : 'FREE_OF_CHARGE', sorter:"string"},
|
|
{headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '품번', field : 'PRODUCT_ITEM_CODE', sorter:"string" },
|
|
{headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '품명', field : 'PRODUCT_ITEM_NAME', sorter:"string" },
|
|
{headerHozAlign : 'center', hozAlign : 'left', width : '150', title : 'S/N', field : 'SERIAL_NO', sorter:"string" },
|
|
{headerHozAlign : 'center', hozAlign : 'right', width : '90', title : '수주수량', field : 'CONTRACT_QTY', sorter:"number" },
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '요청납기', field : 'REQ_DEL_DATE', sorter:"string" }
|
|
],
|
|
},
|
|
|
|
{
|
|
title:'설계', headerHozAlign:'center',
|
|
columns:[
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '90', title : 'E-BOM', field : 'EBOM_STATUS', sorter:"string"}
|
|
]
|
|
},
|
|
|
|
{
|
|
title:'생산관리', headerHozAlign:'center',
|
|
columns:[
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '90', title : 'M-BOM', field : 'MBOM_STATUS', sorter:"string"}
|
|
]
|
|
},
|
|
|
|
{
|
|
title:'구매', headerHozAlign:'center',
|
|
columns:[
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '발주일', field : 'ORDER_DATE', sorter:"string"},
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '입고율', field : 'RECEIVING_RATE', sorter:"number"}
|
|
]
|
|
},
|
|
|
|
{
|
|
title:'생산', headerHozAlign:'center',
|
|
columns:[
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '제조1,2팀', field : 'PRODUCTION_TEAM_12', sorter:"string"},
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '제조3팀', field : 'PRODUCTION_TEAM_3', sorter:"string"}
|
|
]
|
|
},
|
|
|
|
{
|
|
title:'장비', headerHozAlign:'center',
|
|
columns:[
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '조립', field : 'ASSEMBLY', sorter:"string"},
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '검증', field : 'VERIFICATION', sorter:"string"}
|
|
]
|
|
},
|
|
|
|
{
|
|
title:'출하', headerHozAlign:'center',
|
|
columns:[
|
|
{headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '출하일', field : 'SHIPMENT_DATE', sorter:"string"}
|
|
]
|
|
}
|
|
];
|
|
|
|
//var grid;
|
|
function fn_search(){
|
|
// 기존 project_nos hidden input 제거
|
|
$('input[name="project_nos"]').remove();
|
|
|
|
var selectedValues = $("#project_no").val();
|
|
console.log('선택된 프로젝트 번호:', selectedValues);
|
|
|
|
// 배열을 콤마로 구분된 문자열로 변환
|
|
var projectNosValue = '';
|
|
if(selectedValues && Array.isArray(selectedValues) && selectedValues.length > 0) {
|
|
projectNosValue = selectedValues.join(',');
|
|
}
|
|
console.log('전송할 project_nos 값:', projectNosValue);
|
|
|
|
// hidden input 추가 (값이 있을 때만)
|
|
if(projectNosValue) {
|
|
$('<input>').attr({
|
|
type: 'hidden',
|
|
name: 'project_nos',
|
|
value: projectNosValue
|
|
}).appendTo('#form1');
|
|
}
|
|
|
|
console.log('Form 데이터:', $('#form1').serializeObject());
|
|
_tabulGrid = fnc_tabul_search(_tabul_layout_fitColumns, _tabulGrid, "/project/projectMgmtWbsGridList.do", columns, false);
|
|
}
|
|
|
|
//프로젝트의 form,detail 팝업을 보여준다.
|
|
function openProjectFormPopUp(objId){
|
|
var popup_width = 420;
|
|
var popup_height = 350;
|
|
var objId = objId;
|
|
var params = "?OBJID="+objId+"&ACTION_TYPE=edit";
|
|
var url = "/project/projectmodifyPopUp.do"+params;
|
|
fn_centerPopup(popup_width, popup_height, url);
|
|
}
|
|
|
|
function fn_openSaleRegPopup(orderNo, saleNo){
|
|
var popup_width = 1000;
|
|
var popup_height = 550;
|
|
// 한글 프로젝트 번호 인코딩 처리
|
|
var url = "/salesMgmt/salesRegForm.do?orderNo=" + encodeURIComponent(orderNo) + "&saleNo=" + (saleNo ? encodeURIComponent(saleNo) : "");
|
|
fn_centerPopup(popup_width, popup_height, url);
|
|
}
|
|
|
|
</script>
|
|
|
|
</head>
|
|
<body class="<%--bodyNoScrollX--%>">
|
|
<form name="form1" id="form1" action="" method="post">
|
|
<div class="content-box">
|
|
<div class="content-box-s">
|
|
<div class="plm_menu_name_gdnsi" style="position:;">
|
|
<h2 style="">
|
|
<span>프로젝트관리_진행관리</span>
|
|
</h2>
|
|
<div class="btnArea">
|
|
<input type="button" value="조회" class="plm_btns" id="btnSearch" name="btnSearch">
|
|
</div>
|
|
</div>
|
|
<div id="plmSearchZon">
|
|
<table>
|
|
<tr>
|
|
<td><label for="Year">년도</label></td>
|
|
<td>
|
|
<select name="Year" id="Year" 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><label for="project_no">프로젝트번호</label></td>
|
|
<td>
|
|
<select name="project_no" id="project_no" style="width:300px;" class="select2" autocomplete="off" multiple="multiple">
|
|
<option value="">선택</option>
|
|
${code_map.project_no}
|
|
</select>
|
|
</td>
|
|
|
|
<td><label for="category_cd">주문유형</label></td>
|
|
<td>
|
|
<select name="category_cd" id="category_cd" style="" class="select2" autocomplete="off">
|
|
<option value="">선택</option>
|
|
${code_map.category_cd}
|
|
</select>
|
|
</td>
|
|
|
|
|
|
<td><label for="customer_objid">고객사</label></td>
|
|
<td>
|
|
<select name="customer_objid" id="customer_objid" style="" class="select2" autocomplete="off">
|
|
<option value="">선택</option>
|
|
${code_map.customer_cd}
|
|
</select>
|
|
</td>
|
|
|
|
<td><label for="product">제품구분</label></td>
|
|
<td>
|
|
<select name="product" id="product" style="" class="select2" autocomplete="off">
|
|
<option value="">선택</option>
|
|
${code_map.product_cd}
|
|
</select>
|
|
</td>
|
|
<td class="align_r">
|
|
<label>요청납기일</label>
|
|
</td>
|
|
<td>
|
|
<input type="text" name="contract_start_date" id="contract_start_date" style="width:90px;" autocomplete="off" value="${param.contract_start_date}" class="date_icon">~
|
|
<input type="text" name="contract_end_date" id="contract_end_date" style="width:90px;" autocomplete="off" value="${param.contract_end_date}" class="date_icon">
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><label for="area_cd">국내/해외</label></td>
|
|
<td>
|
|
<select name="area_cd" id="area_cd" style="" class="select2" autocomplete="off">
|
|
<option value="">선택</option>
|
|
<option value="국내"${param.area_cd eq '국내' ? ' selected':'' }>국내</option>
|
|
<option value="해외"${param.area_cd eq '해외' ? ' selected':'' }>해외</option>
|
|
</select>
|
|
</td>
|
|
|
|
<td><label for="free_of_charge">유/무상</label></td>
|
|
<td>
|
|
<select name="free_of_charge" id="free_of_charge" style="" class="select2" autocomplete="off">
|
|
<option value="">선택</option>
|
|
<option value="유상"${param.free_of_charge eq '유상' ? ' selected':'' }>유상</option>
|
|
<option value="무상"${param.free_of_charge eq '무상' ? ' selected':'' }>무상</option>
|
|
</select>
|
|
</td>
|
|
|
|
<td><label for="product_item_code">품번</label></td>
|
|
<td>
|
|
<select name="product_item_code" id="product_item_code" class="select2-part" style="width:150px;">
|
|
<option value="">품번 선택</option>
|
|
</select>
|
|
<input type="hidden" name="search_part_objid" id="search_part_objid" value="">
|
|
</td>
|
|
|
|
<td><label for="product_item_name">품명</label></td>
|
|
<td>
|
|
<select name="product_item_name" id="product_item_name" class="select2-part" style="width:150px;">
|
|
<option value="">품명 선택</option>
|
|
</select>
|
|
</td>
|
|
|
|
<td><label for="serial_no">S/N</label></td>
|
|
<td>
|
|
<input type="text" name="serial_no" id="serial_no" style="width:150px;" autocomplete="off" value="${param.serial_no}">
|
|
</td>
|
|
</tr>
|
|
|
|
<%-- 입고지, 셋업지, PM 검색필터 주석처리
|
|
<tr>
|
|
<td class="align_r">
|
|
<label>입고지</label>
|
|
</td>
|
|
<td>
|
|
<input type="text" name="location" id="location" style="width:150px;" autocomplete="off" value="${param.location}">
|
|
</td>
|
|
|
|
<td class="align_r">
|
|
<label>셋업지</label>
|
|
</td>
|
|
<td>
|
|
<input type="text" name="setup" id="setup" style="width:150px;" autocomplete="off" value="${param.setup}">
|
|
</td>
|
|
|
|
<td><label for="pm_user_id">PM</label></td>
|
|
<td>
|
|
<select name="pm_user_id" id="pm_user_id" style="" class="select2" autocomplete="off">
|
|
<option value="">선택</option>
|
|
${code_map.pm_user_id}
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
--%>
|
|
|
|
</table>
|
|
</div>
|
|
|
|
<%@include file= "/WEB-INF/view/common/common_gridArea.jsp" %>
|
|
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</body>
|
|
</html> |