Files
vexplor/WebContent/WEB-INF/view/projectConcept/projectConceptTempList_back.jsp
2025-08-21 09:41:46 +09:00

608 lines
21 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();
Map code_map = new HashMap();
code_map = (Map)request.getAttribute("code_map");
String region_h_cd = code_map.get("region_h_cd").toString();
String region_m_cd = code_map.get("region_m_cd").toString();
String customer_cd = code_map.get("customer_cd").toString();
String c_type_cd = code_map.get("c_type_cd").toString();
String c_agency_cd = code_map.get("c_agency_cd").toString();
String c_class_cd = code_map.get("c_class_cd").toString();
String status_cd = code_map.get("status_cd").toString();
String result_cd = code_map.get("result_cd").toString();
%>
<!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 %>" />
<script>
$(document).ready(function(){
$("#btnSearch").click(function(){
$("#page").val("1");
fn_search();
});
//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");
});
//qna 팝업
$(".btnQna").click(function(){
window.open("/projectConcept/projectConceptQnaListPopup.do", "", "width=1180, height=730");
});
//수주활동 등록 팝업
$(".btnRegist").click(function(){
var params = "?actionType=regist"
window.open("/projectConcept/projectConceptFormPopup.do"+params, "", "width=995, height=448");
});
//입찰품목 등록팝업
$(".conceptItemRegist").click(function(){
var params = "?actionType=regist"
window.open("/projectConcept/projectConceptProductInfoFormPopup.do"+params, "", "width=705, height=785");
});
$(".btnChart").click(function(){
var url = $(this).attr("url");
var carType = $(this).attr("carType");
var productType = $(this).attr("productType");
var pageUrl = url+"_"+carType+"_"+productType+".html";
window.open(pageUrl, "" ,"width=1000, height=400");
});
//수주활동 상세
$(".btnProjectConceptDetail").click(function(){
var objId = $(this).attr("data-OBJID");
fn_projectConceptDetail(objId);
});
//수주활동 제품별 상세
$(".btnProjectConceptProductDetail").click(function(){
var objId = $(this).attr("data-OBJID");
fn_projectConceptProductDetail(objId);
});
$(".biddingResult").change(function(){
var projectConceptProdObjId = $(this).attr("data-OBJID");
var biddingResult = $(this).val();
$.ajax({
url:"/projectConcept/updateProjectConceptProdBiddingResult.do",
type:"POST",
data:{"projectConceptProdObjId":projectConceptProdObjId, "biddingResult":biddingResult},
dataType:"html",
success:function(data){
console.log("biddingResult : "+biddingResult);
},
error: function(jqxhr, status, error){
}
});
});
//고객사 목록 조회
fn_setOEMList();
//고객사별 차종 목록 조회
$("#search_oem").change(function(){
var oemObjId = $(this).val();
fn_setCarTypeList(oemObjId);
});
//제품군 제품 목록 조회
$("#search_productGroup").change(function(){
var productGroup = $(this).val();
fn_setProductTypeList(productGroup);
});
//메일배포
$("#btnSendMail").click(function(){
fn_sendMail();
});
//확정
$(".btnComplete").click(function(){
fn_completeProjectConcept();
});
//엔터 조회
$("input").keyup(function(e){
if(e.keyCode == 13){
$("#page").val("1");
fn_search();
}
});
/*
$("input[type=radio]").change(function(){
if($(this).prop("checked")){
var finalFileCnt = $(this).attr("data-FINAL_FILE_CNT");
if(finalFileCnt > 0){
$(".btnComplete").show();
}else{
$(".btnComplete").hide();
}
}
});
*/
fnc_datepick();
if('${param.team_cd}'!=""){
optionJobGroup('${param.team_cd}');
$("#writer").val('${param.writer}');
}
});
//영업활동등록 상세
function fn_projectConceptDetail(objId){
window.open("/projectConcept/projectConceptFormPopup.do?objId="+objId, "", "width=995, height=620");
}
//영업현황 상세
function fn_projectConceptSubDetail(objId,writer){
window.open("/projectConcept/projectConceptSubFormPopup.do?objId="+objId+"&writer="+writer, "", "width=995, height=620");
}
//수주활동 제품별 상세
function fn_projectConceptProductDetail(objId){
window.open("/projectConcept/projectConceptProductDetailPopup.do?objId="+objId, "", "width=770, height=685");
}
//수주활동 검색 기능
function fn_search(){
document.form1.action = "/projectConcept/getProjectConceptProductList.do";
document.form1.submit();
}
//oem 목록 조회
function fn_setOEMList(){
$.ajax({
url:"/common/getOEMList.do",
type:"POST",
data:{"isJson":true},
dataType:"json",
success:function(data){
var appendCode = "";
$.each(data, function(i){
appendCode += "<option value='"+data[i].OBJID+"'>"+data[i].OEM_NAME+"("+data[i].OEM_CODE+")</option>";
});
$("#search_oem").append(appendCode);
var paramValue = "${param.search_oem}";
if(paramValue != ""){
$("#search_oem > option[value="+paramValue+"]").attr("selected", "true");
$("#search_oem").trigger("change");
}
},
error: function(jqxhr, status, error){
}
});
}
//car 목록 조회
function fn_setCarTypeList(oemObjId){
if(oemObjId != ""){
$.ajax({
url:"/common/getCarTypeList.do",
type:"POST",
data:{"isJson":true, "search_oemObjId":oemObjId},
dataType:"json",
success:function(data){
var appendCode = "";
appendCode += "<option value=''>선택</option>";
$.each(data, function(i){
appendCode += "<option value='"+data[i].OBJID+"'>"+data[i].CAR_CODE+"("+data[i].CAR_NAME+")</option>";
});
$("#search_carType").children().remove();
$("#search_carType").append(appendCode);
$("#search_carType > option[value=${param.search_carType}]").attr("selected", "true");
},
error: function(jqxhr, status, error){
}
});
}else{
$("#search_carType").children().remove();
$("#search_carType").append("<option value=''>선택</option>");
}
}
//제품군 목록 조회
function fn_setProductGroupList(){
$.ajax({
url:"/common/getProductGroupList.do",
type:"POST",
data:{"isJson":true},
dataType:"json",
success:function(data){
var appendCode = "";
$.each(data, function(i){
appendCode += "<option value='"+data[i].OBJID+"'>"+data[i].PRODUCT_GROUP_NAME+"</option>";
});
$("#search_productGroup").append(appendCode);
var paramValue = "${param.search_productGroup}";
if(paramValue != ""){
$("#search_productGroup > option[value="+paramValue+"]").attr("selected", "true");
$("#search_productGroup").trigger("change");
}
},
error: function(jqxhr, status, error){
}
});
}
//프로젝트 등록 Excel Export
function excelExport(){
document.form1.action = "/projectConcept/getProjectConceptProductList.do?actionType=excel";
document.form1.submit();
}
//코드값을 받아와서 동적으로 selectbox 생성
function optionJobGroup(code){
var val=code;
var params = "";
var option="";
var combobox = $("#writer");
combobox.empty();
if(val!=""){
params += "codeId="+val;
$.ajax({
type : "POST",
url : "/projectConcept/makewrite.do",
data : params,
dataType:"json",
async: false,
success: function(data){
if(data.RESULT !=""){
option += "<option value=''>전체</option>";
option += data.RESULT;
combobox.append(option);
}
}
});
// Swal.fire(Number(lev-1));
//$("#code"+Number(lev-1)).val(code).prop("selected", true);
}else{
option += "<option value=''>전체</option>";
combobox.append(option);
}
}
</script>
</head>
<body>
<form name="form1"id="form1" action="" method="post">
<div style="min-width:1680px;">
<div class="plm_menu_name">
<h2>
<span>영업활동등록</span>
</h2>
</div>
<div id="plmSearchZon">
<table>
<tr>
<td><label for="region_h_cd">구분</label></td>
<td>
<select name="region_h_cd" id="region_h_cd" style="">
<option value="">선택</option>
<%=region_h_cd %>
</select>
</td>
<td><label for="region_m_cd">국가</label></td>
<td>
<select name="region_m_cd" id="region_m_cd" style="">
<option value="">선택</option>
<%=region_m_cd %>
</select>
</td>
<td><label for="customer_cd">거래처</label></td>
<td>
<select name="customer_cd" id="customer_cd" style="">
<option value="">선택</option>
<%=customer_cd %>
</select>
</td>
<td><label for="c_type_cd">거래유형</label></td>
<td>
<select name="c_type_cd" id="c_type_cd" style="">
<option value="">선택</option>
<%=c_type_cd %>
</select>
</td>
<td><label for="c_agency_cd">계약기관</label></td>
<td>
<select name="c_agency_cd" id="c_agency_cd" style="width:100%;">
<option value="">선택</option>
<%=c_agency_cd %>
</select>
</td>
<td><label for="c_class_cd">계약구분</label></td>
<td>
<select name="c_class_cd" id="c_class_cd" style="">
<option value="">선택</option>
<%=c_class_cd %>
</select>
</td>
</tr>
<tr>
<td><label for="">팀명</label></td>
<td>
<select name="team_cd" id="team_cd" onchange='optionJobGroup($(this).val())' >
<option value="">선택</option>
${code_map.team_cd}
</select>
</td>
<td><label for="writer">담당자</label></td>
<td>
<select name="writer" id="writer" style="">
<option value="">선택</option>
</select>
</td>
<td><label for="status_cd">영업진행상황</label></td>
<td>
<select name="status_cd" id="status_cd" style="">
<option value="">선택</option>
<%=status_cd %>
</select>
</td>
<td><label for="result_cd">계약결과</label></td>
<td>
<select name="result_cd" id="result_cd" style="">
<option value="">선택</option>
<%=result_cd %>
</select>
</td>
<td><label for="search_fromDate">등록일</label></td>
<td colspan="">
<input type="text" id="search_fromDate" name="search_fromDate" class="date_icon" value="${param.search_fromDate}" style="width:85px !important;">
~ <input type="text" id="search_toDate" name="search_toDate" class="date_icon" value="${param.search_toDate}" style="width:85px !important;">
</td>
</tr>
</table>
</div>
<section class="contents_page_basic_margin">
<div class="btn_wrap">
<div class="plm_btn_wrap">
<input type="button" value="조회" class="plm_btns" id="btnSearch" name="btnSearch">
<!-- <input type="button" value="QnA" class="plm_btns btnQna"> -->
<!-- <input type="button" value="메일배포" class="plm_btns" id="btnSendMail"> -->
<input type="button" value="영업활동 등록" class="plm_btns btnRegist">
<!-- <input type="button" value="확정" class="plm_btns btnComplete" style="display:none;">
<input type="button" value="Excel Export" class="plm_btns" onclick="excelExport()"> -->
</div>
</div>
<div class="plm_table_wrap">
<div style="overflow-x:scroll;">
<div style="width:2800px;">
<div style="overflow-y:scroll;height:400px;">
<table class="plm_table">
<colgroup>
<col width="3%"> <!-- 고객정보 -->
<col width="2%">
<col width="3%">
<col width="2%">
<col width="8%">
<col width="2%">
<col width="3%"> <!-- 계약정보 -->
<col width="3%">
<col width="3%">
<col width="2%">
<col width="10%">
<col width="2%"> <!-- 담당정보 -->
<col width="3%">
<col width="4%">
<col width="3%"> <!-- 영업현황 -->
<col width="10%">
<col width="2%">
<col width="3%">
<col width="5%">
<col width="4%">
<col width="5%">
<col width="5%">
<col width="3%">
<col width="5%">
<col width="3%">
<col width="3%"> <!-- 출고예정일 -->
<col width="5%">
<col width="5%">
<col width="5%">
<col width="3%">
<col width="5%">
<col width="3%">
<col width="4%">
<col width="3%">
</colgroup>
<thead>
<tr class="plm_thead">
<td rowspan="2">No.</td>
<td colspan="5">고객정보</td>
<td colspan="5">계약정보</td>
<td colspan="3">담당(등록자)정보</td>
<td colspan="2">영업현황</td>
<td colspan="3">계약현황</td>
<td colspan="6">매출예정</td>
<td>생산정보</td>
<td colspan="8">매출실적</td>
</tr>
<tr class="plm_sub_thead">
<td>구분</td>
<td>국가</td>
<td>지역</td>
<td>거래처</td>
<td>자료</td>
<td>계약유형</td>
<td>계약기관</td>
<td>계약구분</td>
<td>사양</td>
<td>수주명</td>
<td>팀</td>
<td>담당자</td>
<td>등록일</td>
<td>진행상황</td>
<td>영업품목</td>
<td>자료</td>
<td>계약결과</td>
<td>이탈원인</td>
<td>매출일자</td>
<td>소계</td>
<td>제품</td>
<td>비율</td>
<td>상품</td>
<td>비율</td>
<td>출고예정일</td>
<td>매출일(계산서)</td>
<td>소계</td>
<td>제품</td>
<td>비율</td>
<td>상품</td>
<td>비율</td>
<td>수금일</td>
<td>달성율</td>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${!empty LIST}">
<c:forEach var="info" items="${LIST}" varStatus="status">
<tr>
<td title="${info.ESTIMATE_NO}">${info.ESTIMATE_NO}</td>
<td title="${info.REGION_HIGH_NAME}">${info.REGION_HIGH_NAME}</td>
<td title="${info.REGION_MID_NAME}">${info.REGION_MID_NAME}</td>
<td title="${info.REGION_LOW_NAME}">${info.REGION_LOW_NAME}</td>
<td title="${info.CUSTOMER_NAME}">${info.CUSTOMER_NAME}</td>
<td><a href="#" class="File file_${info.CU01_CNT eq 0?'empty_':''}icon" data-OBJID="${info.OBJID}" data-docType="CUSTOMER_01" data-docTypeName="고객정보자료01"></a></td>
<td title="${info.C_TYPE_NAME}">${info.C_TYPE_NAME}</td>
<td title="${info.C_AGENCY_NAME}">${info.C_AGENCY_NAME}</td>
<td title="${info.C_CLASS_NAME}">${info.C_CLASS_NAME}</td>
<td title="${info.SPEC_NAME}">${info.SPEC_NAME}</td>
<td title="${info.ORDER_TITLE}"><a href="#" onclick="javascript:fn_projectConceptDetail('${info.OBJID}')">${info.ORDER_TITLE}</a></td>
<td title="${info.TEAM}">${info.TEAM}</td>
<td title="${info.WRITER_NAME}">${info.WRITER_NAME}</td>
<td title="${info.REGDATE}">${info.REGDATE}</td>
<td title="${info.STATUS_NAME}">${info.STATUS_NAME}</td>
<td title="${info.TITLE}"><a href="#" onclick="javascript:fn_projectConceptSubDetail('${info.OBJID}','${info.WRITER}')">${info.TITLE}</a></td>
<td><a href="#" class="File file_${info.CU02_CNT eq 0?'empty_':''}icon" data-OBJID="${info.OBJID}" data-docType="CUSTOMER_02" data-docTypeName="고객정보자료02"></a></td>
<td title="${info.RESULT_NAME}">${info.RESULT_NAME}</a></td>
<td title="${info.REASON}">${info.REASON}</a></td>
<td title="${info.SALES_P_DATE}">${info.SALES_P_DATE}</td>
<td title="${info.SUB_P_SUM}"><fmt:formatNumber value="${info.SUB_P_SUM}" pattern="#,###"/>&nbsp;&nbsp;</td>
<td title="${info.DEV_P_PRODUCT}"><fmt:formatNumber value="${info.DEV_P_PRODUCT}" pattern="#,###"/>&nbsp;&nbsp;</td>
<td title="${info.DEV_P}">${info.DEV_P}</td>
<td title="${info.SALE_P_PRODUCT}"><fmt:formatNumber value="${info.SALE_P_PRODUCT}" pattern="#,###"/>&nbsp;&nbsp;</td>
<td title="${info.SALE_P}">${info.SALE_P}</td>
<td title="${info.SCH_DATE}">${info.SCH_DATE}</td>
<td title="${info.SALES_R_DATE}">${info.SALES_R_DATE}</td>
<td title="${info.SUB_R_SUM}"><fmt:formatNumber value="${info.SUB_R_SUM}" pattern="#,###"/>&nbsp;&nbsp;</td>
<td title="${info.DEV_R_PRODUCT}"><fmt:formatNumber value="${info.DEV_R_PRODUCT}" pattern="#,###"/>&nbsp;&nbsp;</td>
<td title="${info.DEV_R}">${info.DEV_R}</td>
<td title="${info.SALE_R_PRODUCT}"><fmt:formatNumber value="${info.SALE_R_PRODUCT}" pattern="#,###"/>&nbsp;&nbsp;</td>
<td title="${info.SALE_R}">${info.SALE_R}</td>
<td title="${info.RECV_DATE}">${info.RECV_DATE}</td>
<td title="${info.ACHIEVEMENT_RATE}">${info.ACHIEVEMENT_RATE}</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="19" align="center">조회된 데이터가 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div>
</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>
<c:if test="${!empty LIST}">
<p id="adminPageCount">총 ${totalCount}건</p>
</c:if>
</div>
</c:if>
</div>
</section>
</div>
</form>
</body>
</html>