구매관리 검색 조건 추가, 컬럼 변경, 추가 등.. #128
@@ -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}
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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}
|
||||
];
|
||||
|
||||
// 검색
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 '완료'
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user