diff --git a/WebContent/WEB-INF/classes/com/pms/salesmgmt/mapper/contractMgmt.xml b/WebContent/WEB-INF/classes/com/pms/salesmgmt/mapper/contractMgmt.xml index 9dba008..4765e7f 100644 --- a/WebContent/WEB-INF/classes/com/pms/salesmgmt/mapper/contractMgmt.xml +++ b/WebContent/WEB-INF/classes/com/pms/salesmgmt/mapper/contractMgmt.xml @@ -4681,6 +4681,24 @@ WHERE OBJID, CONTRACT_NO, CUSTOMER_OBJID, + (SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID = CONTRACT_MGMT.CUSTOMER_OBJID::NUMERIC) AS CUSTOMER_NAME, + -- 주문유형 + CATEGORY_CD, + CODE_NAME(CATEGORY_CD) AS CATEGORY_NAME, + -- 제품구분 + PRODUCT, + CODE_NAME(PRODUCT) AS PRODUCT_NAME, + -- 국내/해외 + AREA_CD, + CODE_NAME(AREA_CD) AS AREA_NAME, + -- 유/무상 + PAID_TYPE, + -- 접수일 (이미 날짜 형식이면 그대로, YYYYMMDD 형식이면 변환) + CASE + WHEN RECEIPT_DATE ~ '^\d{8}$' THEN TO_CHAR(TO_DATE(RECEIPT_DATE, 'YYYYMMDD'), 'YYYY-MM-DD') + ELSE RECEIPT_DATE + END AS RECEIPT_DATE, + -- 환종/환율 CONTRACT_CURRENCY, (SELECT CODE_NAME FROM COMM_CODE WHERE CODE_ID = CONTRACT_CURRENCY) AS CONTRACT_CURRENCY_NAME, EXCHANGE_RATE, diff --git a/WebContent/WEB-INF/classes/com/pms/salesmgmt/mapper/salesNcollectMgmt.xml b/WebContent/WEB-INF/classes/com/pms/salesmgmt/mapper/salesNcollectMgmt.xml index 492a09c..aadbaa6 100644 --- a/WebContent/WEB-INF/classes/com/pms/salesmgmt/mapper/salesNcollectMgmt.xml +++ b/WebContent/WEB-INF/classes/com/pms/salesmgmt/mapper/salesNcollectMgmt.xml @@ -1645,6 +1645,24 @@ ORDER BY T.REGDATE DESC, T.PROJECT_NO DESC WHERE project_no LIKE #{orderNo} || '%' + + + /* salesNcollectMgmt.getTotalShippedQuantity - shipment_log의 split_quantity 합계 */ + SELECT COALESCE(SUM(split_quantity), 0) + FROM shipment_log + WHERE target_objid = #{projectNo} + + + + + /* salesNcollectMgmt.getProjectInfo - PROJECT_MGMT의 CONTRACT_OBJID 조회 (최신 1개) */ + SELECT CONTRACT_OBJID + FROM PROJECT_MGMT + WHERE PROJECT_NO = #{orderNo} + ORDER BY REGDATE DESC + LIMIT 1 + + /* salesNcollectMgmt.getSaleRegistrationCount - project_no로 시작하는 레코드 개수 */ diff --git a/WebContent/WEB-INF/view/contractMgmt/estimateRegistFormPopup.jsp b/WebContent/WEB-INF/view/contractMgmt/estimateRegistFormPopup.jsp index 71a483a..1a4549e 100644 --- a/WebContent/WEB-INF/view/contractMgmt/estimateRegistFormPopup.jsp +++ b/WebContent/WEB-INF/view/contractMgmt/estimateRegistFormPopup.jsp @@ -1908,21 +1908,21 @@ - - - - - 품목정보 - 품목 추가 - - - - - - - - - + + + + + 품목정보 + 품목 추가 + + + + + + + + + diff --git a/WebContent/WEB-INF/view/contractMgmt/orderMgmtList.jsp b/WebContent/WEB-INF/view/contractMgmt/orderMgmtList.jsp index e9cca4a..88e8c7b 100644 --- a/WebContent/WEB-INF/view/contractMgmt/orderMgmtList.jsp +++ b/WebContent/WEB-INF/view/contractMgmt/orderMgmtList.jsp @@ -75,6 +75,32 @@ $(document).ready(function(){ } }); + //결재상신 + $("#btnApproval").click(function(){ + var selectedData = _tabulGrid.getSelectedData(); + if(selectedData.length<1){ + Swal.fire("결재상신할 행을 선택해주십시오."); + return false; + }else if(selectedData.length>1){ + Swal.fire("한번에 한개의 결재만 가능합니다."); + return false; + }else{ + + var targetStatus = fnc_checkNull(selectedData[0].APPR_STATUS); + var status = fnc_checkNull(selectedData[0].STATUS); + + if(targetStatus == "결재완료" || targetStatus == "결재중" || status == "cancel"){ + Swal.fire("작성중/결재반려인 상태만 결재상신 가능합니다."); + return false; + }else{ + if(confirm("결재상신 하시겠습니까?")){ + var objId = fnc_checkNull(selectedData[0].OBJID); + var title = encodeURIComponent(fnc_checkNull(selectedData[0].CONTRACT_NO)); + window.open("/approval/registApproval.do?targetType=CONTRACT_ORDER&targetObjId="+objId+"&approvalTitle="+title,"registApproval","width=700,height=700"); + } + } + } + }); //엔터 조회 $("input").keyup(function(e){ @@ -610,10 +636,11 @@ function openProjectFormPopUp(objId){ 영업관리_주문서관리 - - - - + + + + + diff --git a/WebContent/WEB-INF/view/salesmgmt/salesMgmt/projectDetailView.jsp b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/projectDetailView.jsp new file mode 100644 index 0000000..f3a84a7 --- /dev/null +++ b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/projectDetailView.jsp @@ -0,0 +1,168 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ page import="com.pms.common.utils.*"%> +<%@ page import="java.util.*"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ 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%> + + + + + + 프로젝트 상세 정보 + + + + + 프로젝트정보 + + + 주문유형 + ${info.CATEGORY_NAME} + 제품구분 + ${info.PRODUCT_NAME} + 국내/해외 + ${info.AREA_NAME} + 고객사 + ${info.CUSTOMER_NAME} + + + 유/무상 + + + 유상 + 무상 + ${info.PAID_TYPE} + + + 접수일 + ${info.RECEIPT_DATE} + 견적환종 + ${info.CONTRACT_CURRENCY_NAME} + 견적환율 + ${info.EXCHANGE_RATE} + + + + + 품목정보 + + + + No + 품번 + 품명 + S/N + 요청납기 + 고객요청사항 + 반납사유 + + + + + 1 + ${info.PART_NO} + ${info.PART_NAME} + - + - + - + - + + + + + + + 결재 정보 + + + + 순번 + 기안자 + 기안일 + 결재자 + 결재일 + 상태 + + + + + + ${approval.SEQ} + ${approval.WRITER} + ${approval.REGDATE} + ${approval.TARGET_USER_NAME} + ${approval.PROC_DATE} + + + 승인 + 반려 + 대기 + ${approval.STATUS} + + + + + + + + + + + + + + + + diff --git a/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesMgmtList.jsp b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesMgmtList.jsp index 83ee2cf..09df2bf 100644 --- a/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesMgmtList.jsp +++ b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesMgmtList.jsp @@ -235,8 +235,8 @@ var columns = [ formatter: fnc_createGridAnchorTag, cellClick: function(e, cell){ var orderNo = cell.getData().PROJECT_NO; - var saleNo = cell.getData().SALE_NO; - fn_openSaleRegPopup(orderNo, saleNo); + // 프로젝트 번호 클릭 시: 결재 정보 조회 모드 (saleNo에 "detail" 전달) + fn_openSaleRegPopup(orderNo, "detail"); } }, {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '주문유형', field : 'ORDER_TYPE'}, diff --git a/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesRegForm.jsp b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesRegForm.jsp index 9d8fe5e..0bbfecd 100644 --- a/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesRegForm.jsp +++ b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesRegForm.jsp @@ -15,6 +15,7 @@ <%=Constants.SYSTEM_NAME%> +