diff --git a/WebContent/WEB-INF/view/salesMng/quotationRequestList.jsp b/WebContent/WEB-INF/view/salesMng/quotationRequestList.jsp index f42f22a..3273969 100644 --- a/WebContent/WEB-INF/view/salesMng/quotationRequestList.jsp +++ b/WebContent/WEB-INF/view/salesMng/quotationRequestList.jsp @@ -88,8 +88,28 @@ var columns = [ {headerHozAlign:'center', hozAlign:'center', widthGrow:1.2, title:'프로젝트번호', field:'PROJECT_NUMBER'}, {headerHozAlign:'center', hozAlign:'center', widthGrow:0.7, title:'주문유형', field:'ORDER_TYPE_NAME'}, {headerHozAlign:'center', hozAlign:'center', widthGrow:0.7, title:'제품구분', field:'PRODUCT_NAME_TITLE'}, - {headerHozAlign:'center', hozAlign:'left', widthGrow:1.2, title:'품번', field:'PART_NO'}, - {headerHozAlign:'center', hozAlign:'left', widthGrow:1.5, title:'품명', field:'PART_NAME'}, + {headerHozAlign:'center', hozAlign:'left', widthGrow:1.2, title:'품번', field:'PART_NO', + formatter: function(cell, formatterParams, onRendered){ + var partNo = fnc_checkNull(cell.getValue()); + var detailCount = parseInt(fnc_checkNull(cell.getData().DETAIL_COUNT)) || 0; + if(partNo === '') return ''; + if(detailCount > 1) { + return partNo + ' 외 ' + (detailCount - 1) + '건'; + } + return partNo; + } + }, + {headerHozAlign:'center', hozAlign:'left', widthGrow:1.5, title:'품명', field:'PART_NAME', + formatter: function(cell, formatterParams, onRendered){ + var partName = fnc_checkNull(cell.getValue()); + var detailCount = parseInt(fnc_checkNull(cell.getData().DETAIL_COUNT)) || 0; + if(partName === '') return ''; + if(detailCount > 1) { + return partName + ' 외 ' + (detailCount - 1) + '건'; + } + return partName; + } + }, {headerHozAlign:'center', hozAlign:'left', widthGrow:1.2, title:'업체명', field:'VENDOR_NAME', formatter: function(cell, formatterParams, onRendered){ var value = fnc_checkNull(cell.getValue()); diff --git a/src/com/pms/mapper/salesMng.xml b/src/com/pms/mapper/salesMng.xml index 8cbe26c..8971137 100644 --- a/src/com/pms/mapper/salesMng.xml +++ b/src/com/pms/mapper/salesMng.xml @@ -4503,9 +4503,16 @@ ORDER BY V.PATH2 PM.PROJECT_NO AS PROJECT_NUMBER, -- 업체 정보 CM.CLIENT_NM AS VENDOR_NAME, - -- 품번/품명 (프로젝트 정보) - PM.PART_NO, - PM.PART_NAME, + -- 품번/품명 (견적요청서 상세 - 첫 번째 품목) + (SELECT QRD.PART_NO FROM QUOTATION_REQUEST_DETAIL QRD + WHERE QRD.QUOTATION_REQUEST_MASTER_OBJID = QRM.OBJID + ORDER BY QRD.OBJID LIMIT 1) AS PART_NO, + (SELECT QRD.PART_NAME FROM QUOTATION_REQUEST_DETAIL QRD + WHERE QRD.QUOTATION_REQUEST_MASTER_OBJID = QRM.OBJID + ORDER BY QRD.OBJID LIMIT 1) AS PART_NAME, + -- 견적요청서 상세 품목 개수 + (SELECT COUNT(*) FROM QUOTATION_REQUEST_DETAIL QRD + WHERE QRD.QUOTATION_REQUEST_MASTER_OBJID = QRM.OBJID) AS DETAIL_COUNT, -- 수신견적서 첨부파일 개수 (SELECT COUNT(*) FROM ATTACH_FILE_INFO WHERE TARGET_OBJID = QRM.OBJID::VARCHAR AND DOC_TYPE = 'QUOTATION_RECEIVED' AND STATUS = 'Active') AS ATTACH_FILE_CNT FROM QUOTATION_REQUEST_MASTER QRM