diff --git a/WebContent/WEB-INF/view/contractMgmt/estimateList_new.jsp b/WebContent/WEB-INF/view/contractMgmt/estimateList_new.jsp index 8911cf4..ee7854f 100644 --- a/WebContent/WEB-INF/view/contractMgmt/estimateList_new.jsp +++ b/WebContent/WEB-INF/view/contractMgmt/estimateList_new.jsp @@ -63,11 +63,26 @@ $(document).ready(function(){ //영업활동 등록 팝업 $(".btnRegist").click(function(){ + var selectedData = _tabulGrid.getSelectedData(); var popup_width = 1400; - var popup_height = 560; - var params = "?actionType=regist" - var url = "/contractMgmt/estimateRegistFormPopup.do"+params; - //window.open("/ordermgmt/ordermgmtUpdateFormPopup.do"+params, "", "width=650, height=750","menubars=no, scrollbars=yes, resizable=yes"); + var popup_height = 560; + var url = ""; + + // 선택된 행이 없으면 신규 등록 + if(selectedData.length === 0){ + url = "/contractMgmt/estimateRegistFormPopup.do?actionType=regist"; + } + // 한 줄 선택된 경우 상세 팝업 (영업번호 클릭과 동일) + else if(selectedData.length === 1){ + var objid = fnc_checkNull(selectedData[0].OBJID); + url = "/contractMgmt/estimateRegistFormPopup.do?objId=" + objid; + } + // 여러 줄 선택된 경우 경고 + else { + Swal.fire("한 개의 행만 선택해주세요."); + return false; + } + fn_centerPopup(popup_width, popup_height, url); }); @@ -502,11 +517,11 @@ function fn_FileRegist(objId, docType, docTypeName){ fn_centerPopup(popup_width, popup_height, url); } -//영업활동등록 상세 +//영업활동등록 상세 (뷰 전용 팝업) function fn_projectConceptDetail(objId){ - var popup_width = 1400; - var popup_height = 560; - var url = "/contractMgmt/estimateRegistFormPopup.do?objId="+objId; + var popup_width = 900; + var popup_height = 700; + var url = "/contractMgmt/estimateViewPopup.do?objId="+objId; fn_centerPopup(popup_width, popup_height, url); } diff --git a/WebContent/WEB-INF/view/contractMgmt/estimateViewPopup.jsp b/WebContent/WEB-INF/view/contractMgmt/estimateViewPopup.jsp new file mode 100644 index 0000000..1bf8a2f --- /dev/null +++ b/WebContent/WEB-INF/view/contractMgmt/estimateViewPopup.jsp @@ -0,0 +1,201 @@ +<%@ 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_new.jsp"%> +<% + PersonBean person = (PersonBean) session.getAttribute(Constants.PERSON_BEAN); + String userId = CommonUtils.checkNull(person.getUserId()); +%> + + + + +<%=Constants.SYSTEM_NAME%> + + + + + + + + diff --git a/WebContent/WEB-INF/view/contractMgmt/orderMgmtList.jsp b/WebContent/WEB-INF/view/contractMgmt/orderMgmtList.jsp index 611b9ce..737cd77 100644 --- a/WebContent/WEB-INF/view/contractMgmt/orderMgmtList.jsp +++ b/WebContent/WEB-INF/view/contractMgmt/orderMgmtList.jsp @@ -317,11 +317,11 @@ function fn_FileRegist(objId, docType, docTypeName){ fn_centerPopup(popup_width, popup_height, url); } -//영업활동등록 상세 +//영업활동등록 상세 (뷰 전용 팝업) function fn_projectConceptDetail(objId){ - var popup_width = 1400; - var popup_height = 560; - var url = "/contractMgmt/estimateRegistFormPopup.do?objId="+objId; + var popup_width = 900; + var popup_height = 700; + var url = "/contractMgmt/estimateViewPopup.do?objId="+objId; fn_centerPopup(popup_width, popup_height, url); } diff --git a/src/com/pms/salesmgmt/controller/ContractMgmtController.java b/src/com/pms/salesmgmt/controller/ContractMgmtController.java index b41b717..c349951 100644 --- a/src/com/pms/salesmgmt/controller/ContractMgmtController.java +++ b/src/com/pms/salesmgmt/controller/ContractMgmtController.java @@ -1813,6 +1813,40 @@ public class ContractMgmtController { return "/contractMgmt/estimateRegistFormPopup"; } + /** + * 견적요청 조회 전용 팝업 (View Only) + * @param request + * @param paramMap + * @return + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + @RequestMapping("/contractMgmt/estimateViewPopup.do") + public String estimateViewPopup(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){ + String objId = CommonUtils.checkNull(paramMap.get("objId")); + + try{ + Map info = null; + List> itemList = new ArrayList>(); + + if(paramMap.get("objId")!=null){ + paramMap.put("objId",objId); + info = CommonUtils.keyChangeUpperMap(contractMgmtService.getContractMgmtInfo(paramMap)); + + // 품목 목록 조회 + itemList = contractMgmtService.getContractItemList(objId); + } + + request.setAttribute("info", info); + request.setAttribute("objId", objId); + request.setAttribute("itemList", itemList); + + }catch(Exception e){ + e.printStackTrace(); + } + + return "/contractMgmt/estimateViewPopup"; + } + /** * 품번 검색 (AJAX용) */ diff --git a/src/com/pms/salesmgmt/mapper/contractMgmt.xml b/src/com/pms/salesmgmt/mapper/contractMgmt.xml index 69c1f69..d76311a 100644 --- a/src/com/pms/salesmgmt/mapper/contractMgmt.xml +++ b/src/com/pms/salesmgmt/mapper/contractMgmt.xml @@ -1411,8 +1411,11 @@ SELECT A.OBJID ,A.CATEGORY_CD + ,CODE_NAME(A.CATEGORY_CD) AS CATEGORY_NAME ,A.CUSTOMER_OBJID + ,(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID = A.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_NAME ,A.PRODUCT + ,CODE_NAME(A.PRODUCT) AS PRODUCT_NAME ,A.CUSTOMER_PROJECT_NAME ,A.STATUS_CD ,A.DUE_DATE @@ -1455,12 +1458,14 @@ ,A.EST_COMP_DATE ,A.EST_RESULT_CD ,A.AREA_CD + ,CODE_NAME(A.AREA_CD) AS AREA_NAME ,A.TARGET_PROJECT_NO ,A.TARGET_PROJECT_NO_DIRECT ,A.CUSTOMER_PRODUCTION_NO ,A.MECHANICAL_TYPE ,A.OVERHAUL_ORDER ,A.PAID_TYPE + ,(case when A.PAID_TYPE = 'paid' then '유상' when A.PAID_TYPE = 'free' then '무상' else A.PAID_TYPE end) AS PAID_TYPE_NAME ,A.RECEIPT_DATE ,A.PART_NO ,A.PART_NAME