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

295 lines
13 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="now" value="<%=new java.util.Date() %>"/>
<c:set var="sysYear"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set>
<c:set var="connector" value="<%=connector %>" />
<script>
$(document).ready(function(){
$('.select2').select2();
$("#btnSearch").click(function(){
fn_search();
});
//엔터 조회
$("input").keyup(function(e){
if(e.keyCode == 13){
fn_search();
}
});
$("#project_no").change(function(){
fn_UnitCodeList(this.value, "unit_code", "");
});
fn_search();
});
var columns = [
{title:"프로젝트", headerHozAlign:'center',frozen:true,
formatter:fnc_createGridAnchorTag, //고객정보
columns:[
{headerHozAlign : 'center', hozAlign : 'center', width : '110', title : '프로젝트번호', field : 'PROJECT_NO',
formatter:fnc_createGridAnchorTag,
cellClick:function(e, cell){
var objid = fnc_checkNull(cell.getData().OBJID);
openProjectFormPopUp(objid);
}
},
{headerHozAlign : 'center', hozAlign : 'left', width : '250', title : '프로젝트명', field : 'PROJECT_NAME' }
],
},
{title:"투입공수현황", headerHozAlign:'center',
columns:[
{title: '영업', field: 'SALES_INPUT', headerHozAlign: 'center', hozAlign: 'center', /* width:"8%" ,*/
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false,},
cellClick:function(e, cell){
var projectObjId = fnc_checkNull(cell.getData().OBJID);
var productObjId = fnc_checkNull(cell.getData().PROD_REL_OBJID);
var milestoneObjId = fnc_checkNull(cell.getData().MILESTONE_OBJID);
fn_openInvestmentCostPricePopUp(projectObjId,productObjId,milestoneObjId);
}
},
{title: '관리', field: 'MGMT_INPUT', headerHozAlign: 'center', hozAlign: 'center', /* width:"8%" ,*/
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false,},
cellClick:function(e, cell){
var projectObjId = fnc_checkNull(cell.getData().OBJID);
var productObjId = fnc_checkNull(cell.getData().PROD_REL_OBJID);
var milestoneObjId = fnc_checkNull(cell.getData().MILESTONE_OBJID);
fn_openInvestmentCostPricePopUp(projectObjId,productObjId,milestoneObjId);
}
},
{title: '설계', field: 'DESIGN_INPUT', headerHozAlign: 'center', hozAlign: 'center', /* width:"8%" ,*/
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false,},
cellClick:function(e, cell){
var projectObjId = fnc_checkNull(cell.getData().OBJID);
var productObjId = fnc_checkNull(cell.getData().PROD_REL_OBJID);
var milestoneObjId = fnc_checkNull(cell.getData().MILESTONE_OBJID);
fn_openInvestmentCostPricePopUp(projectObjId,productObjId,milestoneObjId);
}
},
{title: '구매', field: 'PURCHASE_INPUT', headerHozAlign: 'center', hozAlign: 'center', /* width:"8%" ,*/
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false,},
cellClick:function(e, cell){
var projectObjId = fnc_checkNull(cell.getData().OBJID);
var productObjId = fnc_checkNull(cell.getData().PROD_REL_OBJID);
var milestoneObjId = fnc_checkNull(cell.getData().MILESTONE_OBJID);
fn_openInvestmentCostPricePopUp(projectObjId,productObjId,milestoneObjId);
}
},
{title: '생관', field: 'PRODUCTION_MGMT_INPUT', headerHozAlign: 'center', hozAlign: 'center', /* width:"8%" ,*/
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false,},
cellClick:function(e, cell){
var projectObjId = fnc_checkNull(cell.getData().OBJID);
var productObjId = fnc_checkNull(cell.getData().PROD_REL_OBJID);
var milestoneObjId = fnc_checkNull(cell.getData().MILESTONE_OBJID);
fn_openInvestmentCostPricePopUp(projectObjId,productObjId,milestoneObjId);
}
},
{title: '생산', field: 'PRODUCTION_INPUT', headerHozAlign: 'center', hozAlign: 'center', /* width:"8%", */
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false,},
cellClick:function(e, cell){
var projectObjId = fnc_checkNull(cell.getData().OBJID);
var productObjId = fnc_checkNull(cell.getData().PROD_REL_OBJID);
var milestoneObjId = fnc_checkNull(cell.getData().MILESTONE_OBJID);
fn_openInvestmentCostPricePopUp(projectObjId,productObjId,milestoneObjId);
}
},
{title: '외주', field: 'OUTSOURCING', headerHozAlign: 'center', hozAlign: 'center', /* width:"8%", */
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false,},
cellClick:function(e, cell){
var projectObjId = fnc_checkNull(cell.getData().OBJID);
var productObjId = fnc_checkNull(cell.getData().PROD_REL_OBJID);
var milestoneObjId = fnc_checkNull(cell.getData().MILESTONE_OBJID);
fn_openInvestmentCostPricePopUp(projectObjId,productObjId,milestoneObjId);
}
},
{title: '작업시간(h)', field: 'WORK_HOUR', headerHozAlign: 'center', hozAlign: 'center', /* width:"8%", */
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false,},
cellClick:function(e, cell){
var projectObjId = fnc_checkNull(cell.getData().OBJID);
var productObjId = fnc_checkNull(cell.getData().PROD_REL_OBJID);
var milestoneObjId = fnc_checkNull(cell.getData().MILESTONE_OBJID);
fn_openInvestmentCostPricePopUp(projectObjId,productObjId,milestoneObjId);
}
},
{title: 'Day/Man', field: 'MAN_DAY', headerHozAlign: 'center', hozAlign: 'center', /* width:"8%", */
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false,},
cellClick:function(e, cell){
var projectObjId = fnc_checkNull(cell.getData().OBJID);
var productObjId = fnc_checkNull(cell.getData().PROD_REL_OBJID);
var milestoneObjId = fnc_checkNull(cell.getData().MILESTONE_OBJID);
fn_openInvestmentCostPricePopUp(projectObjId,productObjId,milestoneObjId);
}
},
{title: 'Month/Man', field: 'MAN_MONTH', headerHozAlign: 'center', hozAlign: 'center', /* width:"8%", */
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false,},
cellClick:function(e, cell){
var projectObjId = fnc_checkNull(cell.getData().OBJID);
var productObjId = fnc_checkNull(cell.getData().PROD_REL_OBJID);
var milestoneObjId = fnc_checkNull(cell.getData().MILESTONE_OBJID);
fn_openInvestmentCostPricePopUp(projectObjId,productObjId,milestoneObjId);
}
}
],
},
];
//var grid;
function fn_search(){
_tabulGrid = fnc_tabul_search(_tabul_layout_fitColumns, _tabulGrid, "/productionplanning/workMgmtdashboardGridList.do", columns, false);
}
//영업활동등록 상세
function fn_projectConceptDetail(objId){
var popup_width = 1200;
var popup_height = 760;
var url = "/contractMgmt/contracMgmtFormPopup.do?objId="+objId;
fn_centerPopup(popup_width, popup_height, url);
}
//프로젝트의 form,detail 팝업을 보여준다.
function openProjectFormPopUp(objId){
var popup_width = 420;
var popup_height = 350;
var objId = objId;
var params = "?OBJID="+objId;
var url = "/project/projectmodifyPopUp.do"+params;
fn_centerPopup(popup_width, popup_height, url);
}
//프로젝트의 form,detail 팝업을 보여준다.
function openIssueFormPopUp(status,projectobjid){
var popup_width = 1720;
var popup_height = 900;
var objId = objId;
var params = "?status="+status+"&project_no="+projectobjid;
var url = "/productionplanning/issuemgmtList.do"+params;
fn_centerPopup(popup_width, popup_height, url);
}
function wbs_popup(objId){
var popup_width = 900;
var popup_height = 800;
var objId = objId;
var params = "?OBJID="+objId;
//var url = "/project/wbsTaskProductGanttFormPopUp.do"+params;
var url = "/project/wbsTaskProductProduceFormPopUp.do"+params;
fn_centerPopup(popup_width, popup_height, url);
}
function setup_wbs_popup(objId){
var popup_width = 1100;
var popup_height = 750;
var objId = objId;
var params = "?OBJID="+objId;
//var url = "/project/wbsTaskProductGanttFormPopUp.do"+params;
var url = "/project/wbsTaskProductSetupFormPopUp.do"+params;
fn_centerPopup(popup_width, popup_height, url);
}
</script>
</head>
<body>
<form name="form1" id="form1" action="" method="post">
<input type="hidden" name="actionType" value="" />
<div class="min_part_enroll">
<div class="content-box">
<div class="content-box-s">
<div class="plm_menu_name_gdnsi">
<h2>
<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="search_division">구분</label></td>
<td>
<select name="search_division" id="search_division" style="" class="select2" autocomplete="off">
<option value="">선택</option>
<option value="project">프로젝트</option>
<option value="non_project">비프로젝트</option>
</select>
</td> -->
<td><label for="project_no">프로젝트번호</label></td>
<td>
<select name="project_no" id="project_no" style="" class="select2" autocomplete="off">
<option value="">선택</option>
${code_map.project_no}
</select>
</td>
<%-- <td><label for="unit_code">유닛명</label></td>
<td>
<select name="unit_code" id="unit_code" class="select2" type="select" autocomplete="off">
</td> --%>
<td><label for="">팀명</label></td>
<td><select name="busUsersDeptId" id="busUsersDeptId" class="select2" autocomplete="off" ><option value="">선택</option>
${code_map.busUsersDeptId}</select></td>
<%-- <td><label for="">작업자</label></td>
<td><select name="worker" id="worker" class="select2" autocomplete="off"><option value="">선택</option>${code_map.worker}</select></td> --%>
</tr>
</table>
</div>
<%@include file= "/WEB-INF/view/common/common_gridArea.jsp" %>
</div>
</div>
</form>
</body>
</html>