구매관리 검색 조건 추가, 컬럼 변경, 추가 등.. #128

Merged
hjjeong merged 1 commits from V2026012702 into main 2026-01-29 06:36:50 +00:00
10 changed files with 207 additions and 35 deletions

View File

@@ -104,6 +104,7 @@ var columns = [
{headerHozAlign:'center', hozAlign:'left', minWidth:120, widthGrow:1.5, title:'품번', field:'PART_NO'},
{headerHozAlign:'center', hozAlign:'left', minWidth:150, widthGrow:2, title:'품명', field:'PART_NAME'},
{headerHozAlign:'center', hozAlign:'left', minWidth:120, widthGrow:1.2, title:'공급업체', field:'PARTNER_NAME'},
{headerHozAlign : 'center', hozAlign : 'center', minWidth : 90, widthGrow : 1, title : '구매담당자', field : 'WRITER_NAME' },
{headerHozAlign:'center', hozAlign:'right', minWidth:80, widthGrow:0.8, title:'발주수량', field:'ORDER_QTY',
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false}
},
@@ -113,6 +114,15 @@ var columns = [
{headerHozAlign:'center', hozAlign:'right', minWidth:80, widthGrow:0.8, title:'미입고수량', field:'NON_DELIVERY_QTY',
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false}
},
{headerHozAlign : 'center', hozAlign : 'right', minWidth : 90, widthGrow : 1, title : '발주금액', field : 'TOTAL_SUPPLY_PRICE',
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false }
},
{headerHozAlign : 'center', hozAlign : 'right', minWidth : 90, widthGrow : 1, title : '입고금액', field : 'TOTAL_DELIVERY_PRICE',
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false }
},
{headerHozAlign : 'center', hozAlign : 'right', minWidth : 90, widthGrow : 1, title : '미입고금액', field : 'TOTAL_NOT_DELIVERY_PRICE',
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false }
},
{headerHozAlign:'center', hozAlign:'center', minWidth:90, widthGrow:1.1, title:'수입검사 검사현황', field:'INSPECTION_STATUS'},
{headerHozAlign:'center', hozAlign:'right', minWidth:80, widthGrow:1.1, title:'처리결과 폐기수량', field:'DEFECT_QTY',
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false}

View File

@@ -1052,6 +1052,7 @@ function fn_executeOrderCancel(objId){
<option value="">전체</option>
<option value="Y" ${param.mail_send_yn eq 'Y' ? 'selected' : ''}>발송완료</option>
<option value="N" ${param.mail_send_yn eq 'N' ? 'selected' : ''}>미발송</option>
<option value="orderCancel" ${param.mail_send_yn eq 'orderCancel' ? 'selected' : ''}>발주취소</option>
</select>
</td>

View File

@@ -221,7 +221,8 @@ var columns = [
}
}
},
{headerHozAlign:'center', hozAlign:'center', title:"작성일", field:"REGDATE_TITLE", widthGrow:1.0}
{headerHozAlign:'center', hozAlign:'center', title:"작성일", field:"REGDATE_TITLE", widthGrow:1.0},
{headerHozAlign:'center', hozAlign:'center', title:"작성자", field:"WRITER_NAME", widthGrow:1.0}
];
// 검색

View File

@@ -23,9 +23,6 @@ String menuName = CommonUtils.getMenuName(menuObjId, "구매요청_품의서관
margin: 0;
padding: 0;
}
.pmsPopupForm tr:last-child td {
border-bottom: none;
}
.select2-selection__choice {
font-size: 11px;
background-color: #fff !important;
@@ -44,17 +41,8 @@ String menuName = CommonUtils.getMenuName(menuObjId, "구매요청_품의서관
.select2-selection__rendered {
height: 18px !important;
}
/* frozen 컬럼 오른쪽 굵은 선 제거 (헤더) */
.tabulator .tabulator-header .tabulator-frozen-left {
border-right: none !important;
}
/* frozen 컬럼 기본 두꺼운 테두리 제거 */
.tabulator .tabulator-frozen-left {
border-right: none !important;
}
/* 체크박스 컬럼 오른쪽에 얇은 구분선 추가 (데이터 행만) */
.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.tabulator-frozen-left {
border-right: 1px solid #ddd !important;
.select2-container .select2-selection--multiple .select2-selection__rendered {
overflow: auto !important;
}
</style>
<script>
@@ -118,13 +106,13 @@ $(document).ready(function(){
var columns = [
{title:'OBJID', field:'OBJID', visible: false},
{title:'STATUS', field:'STATUS', visible: false},
{headerHozAlign:'center', hozAlign:'center', title:"품의서 No", field:"PROPOSAL_NO", widthGrow:1.2, frozen:true,
{headerHozAlign:'center', hozAlign:'center', title:"품의서 No", field:"PROPOSAL_NO", widthGrow:1.2,
formatter: fnc_createGridAnchorTag,
cellClick : function(e, cell) {
fn_openProposalFormPopUp(cell.getData().OBJID);
}
},
{headerHozAlign:'center', hozAlign:'left', title:"프로젝트번호", field:"PROJECT_NUMBER", widthGrow:1.3},
{headerHozAlign:'center', hozAlign:'center', title:"프로젝트번호", field:"PROJECT_NUMBER", widthGrow:1.3},
{headerHozAlign:'center', hozAlign:'center', title:"구매유형", field:"PURCHASE_TYPE_NAME", widthGrow:1.0},
{headerHozAlign:'center', hozAlign:'center', title:"주문유형", field:"ORDER_TYPE_NAME", widthGrow:1.0},
{headerHozAlign:'center', hozAlign:'center', title:"제품구분", field:"PRODUCT_NAME_TITLE", widthGrow:1.0},
@@ -139,11 +127,25 @@ var columns = [
}
}
},
{headerHozAlign:'center', hozAlign:'center', title:"작성일", field:"REGDATE_TITLE", widthGrow:1.0}
{headerHozAlign:'center', hozAlign:'center', title:"작성일", field:"REGDATE_TITLE", widthGrow:1.0},
{headerHozAlign:'center', hozAlign:'center', title:"작성자", field:"WRITER_NAME", widthGrow:1.0}
];
// 검색 - 구매요청_품의서 전용 API 호출
function fn_search(){
// 기존 hidden 제거
$("input[name='purchase_types']").remove();
// 구매유형 멀티선택 값 처리
var selectedPurchaseTypes = $("#purchase_type").val();
if(selectedPurchaseTypes && selectedPurchaseTypes.length > 0) {
$('<input>').attr({
type: 'hidden',
name: 'purchase_types',
value: selectedPurchaseTypes.join(',')
}).appendTo('#form1');
}
_tabulGrid = fnc_tabul_search(_tabul_layout_fitColumns, _tabulGrid, "/salesMng/purchaseRegProposalMngGridList.do", columns, true);
}
@@ -208,6 +210,29 @@ function _fnc_datepick(){
<input type="text" name="regdate_start" id="regdate_start" style="width:110px;" autocomplete="off" value="${param.regdate_start}" class="date_icon">~
<input type="text" name="regdate_end" id="regdate_end" style="width:110px;" autocomplete="off" value="${param.regdate_end}" class="date_icon">
</td>
<%-- 구매유형 (멀티선택) --%>
<td class="align_r"><label for="purchase_type">구매유형</label></td>
<td>
<select name="purchase_type" id="purchase_type" class="select2" autocomplete="off" style="width:200px;" multiple="multiple">
${code_map.purchase_type}
</select>
</td>
<%-- 작성자 --%>
<td class="align_r"><label for="writer">작성자</label></td>
<td>
<select name="writer" id="writer" class="select2" autocomplete="off" style="">
<option value="">선택</option>
${code_map.writer}
</select>
</td>
<%-- 제품구분 --%>
<td class="align_r"><label for="part_type">제품구분</label></td>
<td>
<select name="part_type" id="part_type" class="select2" autocomplete="off" style="">
<option value="">선택</option>
${code_map.part_type}
</select>
</td>
</tr>
</tbody>
</table>

View File

@@ -38,7 +38,7 @@ String menuName = CommonUtils.getMenuName(menuObjId, "구매관리_구매요청
height: 18px !important;
}
.select2-container .select2-selection--multiple .select2-selection__rendered {
/* overflow: auto !important; */
overflow: auto !important;
}
</style>
<script>
@@ -219,6 +219,19 @@ function fn_search(){
value: selectedValues
}).appendTo('#form1');
// 기존 hidden 제거
$("input[name='purchase_types']").remove();
// 구매유형 멀티선택 값 처리
var selectedPurchaseTypes = $("#purchase_type").val();
if(selectedPurchaseTypes && selectedPurchaseTypes.length > 0) {
$('<input>').attr({
type: 'hidden',
name: 'purchase_types',
value: selectedPurchaseTypes.join(',')
}).appendTo('#form1');
}
// 구매요청서 작성 페이지용 API 호출
_tabulGrid = fnc_tabul_search(_tabul_layout_fitColumns, _tabulGrid, "/salesMng/purchaseRequestRegGridList.do", columns, true);
}
@@ -673,6 +686,29 @@ function fn_executeCreateProposal(salesRequestObjid) {
<input type="text" name="regdate_start" id="regdate_start" style="width:120px;" autocomplete="off" value="${param.regdate_start}" class="date_icon">~
<input type="text" name="regdate_end" id="regdate_end" style="width:120px;" autocomplete="off" value="${param.regdate_end}" class="date_icon">
</td>
<%-- 구매유형 (멀티선택) --%>
<td class="align_r"><label for="purchase_type">구매유형</label></td>
<td>
<select name="purchase_type" id="purchase_type" class="select2" autocomplete="off" style="width:200px;" multiple="multiple">
${code_map.purchase_type}
</select>
</td>
<%-- 작성자 --%>
<td class="align_r"><label for="writer">작성자</label></td>
<td>
<select name="writer" id="writer" class="select2" autocomplete="off" style="">
<option value="">선택</option>
${code_map.writer}
</select>
</td>
<%-- 제품구분 --%>
<td class="align_r"><label for="part_type">제품구분</label></td>
<td>
<select name="part_type" id="part_type" class="select2" autocomplete="off" style="">
<option value="">선택</option>
${code_map.part_type}
</select>
</td>
</tr>
</tbody>
</table>

View File

@@ -73,7 +73,7 @@ var columns = [
{title:'VENDOR_OBJID', field:'VENDOR_OBJID', visible:false},
{title:'VENDOR_TYPE', field:'VENDOR_TYPE', visible:false},
{headerHozAlign:'center', hozAlign:'center', width:140, title:'견적번호', field:'QUOTATION_REQUEST_NO', frozen:true,
{headerHozAlign:'center', hozAlign:'center', width:110, title:'견적번호', field:'QUOTATION_REQUEST_NO',
formatter: function(cell, formatterParams, onRendered){
var value = fnc_checkNull(cell.getValue());
return "<a href='#none' style='color:#0000EE'>" + value + "</a>";
@@ -84,8 +84,8 @@ var columns = [
}
},
{headerHozAlign:'center', hozAlign:'center', widthGrow:1, title:'요청번호', field:'REQUEST_MNG_NO'},
{headerHozAlign:'center', hozAlign:'center', widthGrow:0.8, title:'구매유형', field:'PURCHASE_TYPE_NAME'},
{headerHozAlign:'center', hozAlign:'center', widthGrow:1.2, title:'프로젝트번호', field:'PROJECT_NUMBER'},
{headerHozAlign:'center', hozAlign:'center', widthGrow:0.7, title:'구매유형', field:'PURCHASE_TYPE_NAME'},
{headerHozAlign:'center', hozAlign:'center', widthGrow:1.1, 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',
@@ -110,7 +110,7 @@ var columns = [
return partName;
}
},
{headerHozAlign:'center', hozAlign:'left', widthGrow:1.2, title:'업체', field:'VENDOR_NAME',
{headerHozAlign:'center', hozAlign:'left', widthGrow:1.2, title:'공급업체', field:'VENDOR_NAME',
formatter: function(cell, formatterParams, onRendered){
var value = fnc_checkNull(cell.getValue());
var vendorType = fnc_checkNull(cell.getData().VENDOR_TYPE);
@@ -123,7 +123,7 @@ var columns = [
return value + badge;
}
},
{headerHozAlign:'center', hozAlign:'center', widthGrow:0.6, title:'견적요청서', field:'QUOTATION_REQUEST_NO',
{headerHozAlign:'center', hozAlign:'center', widthGrow:0.8, title:'견적요청서', field:'QUOTATION_REQUEST_NO',
formatter: function(cell, formatterParams, onRendered){
return '<a href="#" class="File file_icon" style="width:20px; height:20px; display:inline-block;"></a>';
},
@@ -132,7 +132,7 @@ var columns = [
fn_formPopUp(objId);
}
},
{headerHozAlign:'center', hozAlign:'center', widthGrow:0.9, title:'메일발송', field:'MAIL_SEND_DATE_TITLE',
{headerHozAlign:'center', hozAlign:'center', widthGrow:0.8, title:'메일발송', field:'MAIL_SEND_DATE_TITLE',
formatter: function(cell, formatterParams, onRendered){
var sendYn = fnc_checkNull(cell.getData().MAIL_SEND_YN);
var sendDate = fnc_checkNull(cell.getValue());
@@ -143,13 +143,14 @@ var columns = [
}
}
},
{headerHozAlign:'center', hozAlign:'center', widthGrow:0.6, title:'수신견적서', field:'ATTACH_FILE_CNT',
{headerHozAlign:'center', hozAlign:'center', widthGrow:0.7, title:'수신견적서', field:'ATTACH_FILE_CNT',
formatter: fnc_subInfoValueFormatter,
cellClick: function(e, cell){
var objId = fnc_checkNull(cell.getData().OBJID);
fn_openAttachFilePopUp(objId);
}
}
},
{headerHozAlign:'center', hozAlign:'center', widthGrow:0.7, title:'작성자', field:'WRITER_NAME'}
];
// 조회
@@ -352,11 +353,17 @@ function fn_openMailFormPopup(quotationRequestObjId){
<td><label for="">견적요청서No.</label></td>
<td><input type="text" name="QUOTATION_REQUEST_NO" id="QUOTATION_REQUEST_NO" autocomplete="off" value="${param.QUOTATION_REQUEST_NO}" style=""/></td>
<td><label for="">업체</label></td>
<td><label for="">공급업체</label></td>
<td><select name="VENDOR_OBJID" id="VENDOR_OBJID" class="select2" autocomplete="off" style=""><option value="">선택</option>${code_map.vendor_objid}</select></td>
<td><label for="">상태</label></td>
<td><select name="STATUS" id="STATUS" class="select2" autocomplete="off" style="">${code_map.status}</select></td>
<td><label for="">작성자</label></td>
<td><select name="writer" id="writer" class="select2" autocomplete="off" style=""><option value="">선택</option>${code_map.writer}</select></td>
<td><label for="">제품구분</label></td>
<td><select name="product_cd" id="product_cd" class="select2" autocomplete="off" style=""><option value="">선택</option>${code_map.product_cd}</select></td>
</tr>
</table>

View File

@@ -197,7 +197,7 @@ var columns = [
}
,{headerHozAlign : 'center', hozAlign : 'center', title : "주문유형", field :"ORDER_TYPE_NAME" , widthGrow:1.1 }
,{headerHozAlign : 'center', hozAlign : 'center', title : "제품구분", field :"PRODUCT_NAME_FULL" , widthGrow:1.1}
,{headerHozAlign : 'center', hozAlign : 'left' , title : "공급업체", field :"CUSTOMER_NAME" , widthGrow:1.5 }
,{headerHozAlign : 'center', hozAlign : 'left' , title : "고객사", field :"CUSTOMER_NAME" , widthGrow:1.5 }
,{headerHozAlign : 'center', hozAlign : 'center', title : "유/무상", field :"PAID_TYPE_NAME" , widthGrow:0.9 }
,{headerHozAlign : 'center', hozAlign : 'left', title : "품번", field :"PART_NO" , widthGrow:1.4}
,{headerHozAlign : 'center', hozAlign : 'left' , title : "품명", field :"PART_NAME" , widthGrow:1.8 }
@@ -1062,8 +1062,8 @@ function fn_executeCreateQuotationRequests(salesRequestObjid, supplyVendorGroups
<input type="text" name="regdate_start" id="regdate_start" style="width:110px;" autocomplete="off" value="${param.regdate_start}" class="date_icon">~
<input type="text" name="regdate_end" id="regdate_end" style="width:110px;" autocomplete="off" value="${param.regdate_end}" class="date_icon">
</td>
<%-- 공급업체 --%>
<td class="align_r"><label for="customer_cd">공급업체</label></td>
<%-- 고객사 --%>
<td class="align_r"><label for="customer_cd">고객사</label></td>
<td>
<select name="customer_cd" id="customer_cd" class="select2" autocomplete="off" style="width:200px;">
<option value="">선택</option>

View File

@@ -3470,9 +3470,14 @@ WHERE 1=1
<choose>
<when test='mail_send_yn == "Y"'>
AND POM.MAIL_SEND_YN = 'Y'
AND (POM.STATUS IS NULL OR POM.STATUS != 'orderCancel')
</when>
<when test='mail_send_yn == "orderCancel"'>
AND POM.STATUS = 'orderCancel'
</when>
<otherwise>
AND (POM.MAIL_SEND_YN IS NULL OR POM.MAIL_SEND_YN = '' OR POM.MAIL_SEND_YN = 'N')
AND (POM.STATUS IS NULL OR POM.STATUS != 'orderCancel')
</otherwise>
</choose>
</if>
@@ -6213,6 +6218,9 @@ FROM(
<!-- 공급업체 -->
,(SELECT CLIENT_NM FROM CLIENT_MNG WHERE OBJID::VARCHAR = POM.PARTNER_OBJID) AS PARTNER_NAME
<!-- 구매담당자 -->
,(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = POM.WRITER) AS WRITER_NAME
<!-- 발주수량 -->
,COALESCE(POP.ORDER_QTY::NUMERIC, 0) AS ORDER_QTY
@@ -6222,6 +6230,15 @@ FROM(
<!-- 미입고수량 = 발주수량 - 입고수량 -->
,(COALESCE(POP.ORDER_QTY::NUMERIC, 0) - COALESCE(AP_AGG.DELIVERY_QTY, 0)) AS NON_DELIVERY_QTY
<!-- 발주금액 = 단가 × 발주수량 -->
,COALESCE(POP.PARTNER_PRICE::NUMERIC, 0) * COALESCE(POP.ORDER_QTY::NUMERIC, 0) AS TOTAL_SUPPLY_PRICE
<!-- 입고금액 = 단가 × 입고수량 -->
,COALESCE(POP.PARTNER_PRICE::NUMERIC, 0) * COALESCE(AP_AGG.DELIVERY_QTY, 0) AS TOTAL_DELIVERY_PRICE
<!-- 미입고금액 = 단가 × 미입고수량 -->
,COALESCE(POP.PARTNER_PRICE::NUMERIC, 0) * (COALESCE(POP.ORDER_QTY::NUMERIC, 0) - COALESCE(AP_AGG.DELIVERY_QTY, 0)) AS TOTAL_NOT_DELIVERY_PRICE
<!-- 수입검사 검사현황 (품목별: INVENTORY_MGMT_IN → INVENTORY_MGMT → PART_MNG 연결) -->
,(CASE
WHEN IID_AGG.TOTAL_COUNT > 0 AND IID_AGG.TOTAL_COUNT = IID_AGG.COMPLETED_COUNT THEN '완료'

View File

@@ -1379,6 +1379,19 @@ VALUES
AND SRM.PROJECT_NO = #{project_no}
</if>
<!-- 구매유형 검색 (멀티선택) -->
<if test="purchase_types != null and !''.equals(purchase_types)">
AND SRM.PURCHASE_TYPE IN
<foreach item="item" collection="purchase_types.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<!-- 작성자 검색 (writer 파라미터) -->
<if test="writer != null and !''.equals(writer)">
AND (SRM.REQUEST_USER_ID = #{writer} OR SRM.WRITER = #{writer})
</if>
ORDER BY SRM.REGDATE desc
</select>
@@ -4322,6 +4335,25 @@ ORDER BY V.PATH2
<if test="regdate_end != null and !''.equals(regdate_end)">
AND SRM.REGDATE::DATE <![CDATA[ <= ]]> #{regdate_end}::DATE
</if>
<!-- 구매유형 검색 (멀티선택) -->
<if test="purchase_types != null and !''.equals(purchase_types)">
AND SRM.PURCHASE_TYPE IN
<foreach item="item" collection="purchase_types.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<!-- 작성자 검색 -->
<if test="writer != null and !''.equals(writer)">
AND SRM.WRITER = #{writer}
</if>
<!-- 제품구분 검색 -->
<if test="part_type != null and !''.equals(part_type)">
AND SRM.PRODUCT_NAME = #{part_type}
</if>
ORDER BY SRM.REGDATE DESC
</select>
@@ -4498,7 +4530,7 @@ ORDER BY V.PATH2
FROM QUOTATION_REQUEST_MASTER QRM
LEFT JOIN SALES_REQUEST_MASTER SRM ON QRM.SALES_REQUEST_MASTER_OBJID::VARCHAR = SRM.OBJID::VARCHAR
LEFT JOIN PROJECT_MGMT PM ON PM.OBJID = SRM.PROJECT_NO
LEFT JOIN CLIENT_MNG CM ON QRM.VENDOR_OBJID::VARCHAR = CM.OBJID::VARCHAR
LEFT JOIN CONTRACT_MGMT CTM ON CTM.OBJID = PM.CONTRACT_OBJID
WHERE 1=1
<if test="SALES_REQUEST_MASTER_OBJID != null and SALES_REQUEST_MASTER_OBJID != ''">
AND QRM.SALES_REQUEST_MASTER_OBJID::VARCHAR = #{SALES_REQUEST_MASTER_OBJID}
@@ -4509,15 +4541,25 @@ ORDER BY V.PATH2
<if test="QUOTATION_REQUEST_NO != null and QUOTATION_REQUEST_NO != ''">
AND QRM.QUOTATION_REQUEST_NO LIKE '%' || #{QUOTATION_REQUEST_NO} || '%'
</if>
<!-- 프로젝트번호 검색 (OBJID로 비교) -->
<if test="PROJECT_NO != null and PROJECT_NO != ''">
AND PM.PROJECT_NO LIKE '%' || #{PROJECT_NO} || '%'
AND SRM.PROJECT_NO = #{PROJECT_NO}
</if>
<!-- 공급업체 검색 -->
<if test="VENDOR_OBJID != null and VENDOR_OBJID != ''">
AND QRM.VENDOR_OBJID::VARCHAR = #{VENDOR_OBJID}
</if>
<if test="STATUS != null and STATUS != ''">
AND QRM.STATUS = #{STATUS}
</if>
<!-- 작성자 검색 -->
<if test="writer != null and writer != ''">
AND QRM.WRITER = #{writer}
</if>
<!-- 제품구분 검색 -->
<if test="part_type != null and part_type != ''">
AND (SRM.PRODUCT_NAME = #{part_type} OR CTM.PRODUCT = #{part_type})
</if>
</select>
<select id="getQuotationRequestList" parameterType="map" resultType="map">
@@ -4543,6 +4585,7 @@ ORDER BY V.PATH2
TO_CHAR(QRM.DUE_DATE, 'YYYY-MM-DD') AS DUE_DATE_TITLE,
QRM.REMARK,
QRM.WRITER,
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = QRM.WRITER) AS WRITER_NAME,
QRM.REG_DATE,
TO_CHAR(QRM.REG_DATE, 'YYYY-MM-DD') AS REG_DATE_TITLE,
-- 구매요청서 정보
@@ -4588,15 +4631,25 @@ ORDER BY V.PATH2
<if test="QUOTATION_REQUEST_NO != null and QUOTATION_REQUEST_NO != ''">
AND QRM.QUOTATION_REQUEST_NO LIKE '%' || #{QUOTATION_REQUEST_NO} || '%'
</if>
<!-- 프로젝트번호 검색 (OBJID로 비교) -->
<if test="PROJECT_NO != null and PROJECT_NO != ''">
AND PM.PROJECT_NO LIKE '%' || #{PROJECT_NO} || '%'
AND SRM.PROJECT_NO = #{PROJECT_NO}
</if>
<!-- 공급업체 검색 -->
<if test="VENDOR_OBJID != null and VENDOR_OBJID != ''">
AND QRM.VENDOR_OBJID::VARCHAR = #{VENDOR_OBJID}
</if>
<if test="STATUS != null and STATUS != ''">
AND QRM.STATUS = #{STATUS}
</if>
<!-- 작성자 검색 -->
<if test="writer != null and writer != ''">
AND QRM.WRITER = #{writer}
</if>
<!-- 제품구분 검색 -->
<if test="product_cd != null and product_cd != ''">
AND PM.PRODUCT = #{product_cd}
</if>
ORDER BY QRM.REG_DATE DESC
<if test="startRow != null and countPerPage != null">
OFFSET #{startRow} LIMIT #{countPerPage}

View File

@@ -230,6 +230,12 @@ public class SalesMngController {
code_map.put("request_cd",commonService.bizMakeOptionList("0000167", (String)paramMap.get("request_cd"),"common.getCodeselect"));
code_map.put("product_code",commonService.bizMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductCodeselect"));
// 구매유형 (0001814)
code_map.put("purchase_type", commonService.bizMakeOptionList("0001814", (String)paramMap.get("purchase_type"), "common.getCodeselect"));
// 제품구분 (0000001)
code_map.put("part_type", commonService.bizMakeOptionList("0000001", (String)paramMap.get("part_type"), "common.getCodeselect"));
// 작성자
code_map.put("writer", commonService.bizMakeOptionList("", (String)paramMap.get("writer"), "common.getUserselect"));
} catch (Exception e) {
e.printStackTrace();
}
@@ -1351,6 +1357,18 @@ public class SalesMngController {
*/
@RequestMapping("/salesMng/purchaseRegProposalMngList.do")
public String purchaseRegProposalMngList(HttpServletRequest request, @RequestParam Map paramMap){
Map code_map = new HashMap();
try {
// 구매유형 (0001814)
code_map.put("purchase_type", commonService.bizMakeOptionList("0001814", (String)paramMap.get("purchase_type"), "common.getCodeselect"));
// 제품구분 (0000001)
code_map.put("part_type", commonService.bizMakeOptionList("0000001", (String)paramMap.get("part_type"), "common.getCodeselect"));
// 작성자
code_map.put("writer", commonService.bizMakeOptionList("", (String)paramMap.get("writer"), "common.getUserselect"));
} catch (Exception e) {
e.printStackTrace();
}
request.setAttribute("code_map", code_map);
return "/salesMng/purchaseRegProposalMngList";
}
@@ -1586,7 +1604,7 @@ public class SalesMngController {
// 프로젝트번호
code_map.put("project_no", commonService.bizMakeOptionList("", (String)paramMap.get("project_no"), "common.getProjectNameList"));
// 업체 목록
code_map.put("vendor_objid", commonService.bizMakeOptionList("", (String)paramMap.get("vendor_objid"), "common.getsupplyselect"));
code_map.put("vendor_objid", commonService.bizMakeOptionList("", (String)paramMap.get("vendor_objid"), "common.getClientMngSupplySelect"));
// 상태
String statusOptions = "";
statusOptions += "<option value=''>전체</option>";
@@ -1595,6 +1613,10 @@ public class SalesMngController {
statusOptions += "<option value='received'" + ("received".equals(paramMap.get("status")) ? " selected" : "") + ">견적수신</option>";
statusOptions += "<option value='completed'" + ("completed".equals(paramMap.get("status")) ? " selected" : "") + ">완료</option>";
code_map.put("status", statusOptions);
// 작성자
code_map.put("writer", commonService.bizMakeOptionList("", (String)paramMap.get("writer"), "common.getUserselect"));
//제품구분
code_map.put("product_cd", commonService.bizMakeOptionList("0000001", (String)paramMap.get("product_cd"), "common.getCodeselect"));
} catch (Exception e) {
e.printStackTrace();