feat: 견적/주문서 관리 기능 개선

- 견적등록 유/무상 select 박스에 selected 속성 추가
- 주문서 목록 페이지 업데이트
- 수주 관련 컬럼 추가 SQL 스크립트 추가 (add_order_columns.sql)
- estimate_template_tables.sql 업데이트
- contractMgmt.xml 쿼리 개선
This commit is contained in:
2025-10-17 14:24:23 +09:00
parent 141ef2c580
commit 34f5207ded
5 changed files with 86 additions and 75 deletions

View File

@@ -971,14 +971,14 @@
<!-- 두번째 행: 유/무상, 품번, 접수일, 품명 -->
<tr>
<td class="input_title"><label for="">유/무상 <span style="color:red;">*</span></label></td>
<td>
<select name="paid_type" id="paid_type" reqTitle="유/무상" type="select" class="select2">
<option value="">선택</option>
<option value="paid">유상</option>
<option value="free">무상</option>
</select>
</td>
<td class="input_title"><label for="">유/무상 <span style="color:red;">*</span></label></td>
<td>
<select name="paid_type" id="paid_type" reqTitle="유/무상" type="select" class="select2">
<option value="">선택</option>
<option value="paid" ${info.PAID_TYPE eq 'paid' ? 'selected' : ''}>유상</option>
<option value="free" ${info.PAID_TYPE eq 'free' ? 'selected' : ''}>무상</option>
</select>
</td>
<td class="input_title"><label for="">접수일 <span style="color:red;">*</span></label></td>
<td>

View File

@@ -130,44 +130,31 @@ var columns = [
{headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '수량', field : 'QUANTITY' },
{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '요청납기', field : 'DUE_DATE' },
{headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '고객요청사항', field : 'CUSTOMER_REQUEST' },
{headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '견적현황', field : 'EST_STATUS',
{headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '수주상태', field : 'CONTRACT_RESULT_NAME' },
{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '발주번호', field : 'PO_NO' },
{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '발주일', field : 'ORDER_DATE' },
{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '주문서첨부', field : 'CU01_CNT' ,
formatter:fnc_subInfoValueFormatter,
cellClick:function(e, cell){
var objid = fnc_checkNull(cell.getData().OBJID);
fn_showEstimateList(objid);
}
fn_FileRegist(objid,"ORDER_DOC","ORDER_DOC");
}
},
{headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '결재상태', field : 'APPR_STATUS',
formatter:fnc_createGridAnchorTag,
cellClick:function(e, cell){
var APPROVAL_OBJID = fnc_checkNull(cell.getData().APPROVAL_OBJID);
var ROUTE_OBJID = fnc_checkNull(cell.getData().ROUTE_OBJID);
approval_form(APPROVAL_OBJID,ROUTE_OBJID);
}
},
{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '메일발송', field : 'MAIL_SEND_STATUS',
formatter: function(cell, formatterParams, onRendered){
var status = fnc_checkNull(cell.getValue());
var sendDate = fnc_checkNull(cell.getData().MAIL_SEND_DATE);
if(status === 'Y'){
return '<span style="color:green;">발송완료</span>';
} else if(status === 'N'){
return '<span style="color:red;">발송실패</span>';
} else {
return '<span style="color:#999;">미발송</span>';
}
// if(status === 'Y'){
// return '<span style="color:green;">발송완료</span><br/><span style="font-size:11px;">' + sendDate + '</span>';
// } else if(status === 'N'){
// return '<span style="color:red;">발송실패</span><br/><span style="font-size:11px;">' + sendDate + '</span>';
// } else {
// return '<span style="color:#999;">미발송</span>';
// }
}
},
{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '견적단가', field : 'EST_PRICE' },
{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '견적공급가액', field : 'EST_SUPPLY_PRICE' },
{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '단가', field : 'ORDER_UNIT_PRICE',
formatter:"money", formatterParams:{thousand:",", symbolAfter:"", precision:false,},
},
{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '공급가액', field : 'ORDER_SUPPLY_PRICE',
formatter:"money", formatterParams:{thousand:",", symbolAfter:"", precision:false,},
},
{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '부가세', field : 'ORDER_VAT',
formatter:"money", formatterParams:{thousand:",", symbolAfter:"", precision:false,},
},
{headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '총액', field : 'ORDER_TOTAL_AMOUNT',
formatter:"money", formatterParams:{thousand:",", symbolAfter:"", precision:false,},
},
{headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '환종', field : 'CONTRACT_CURRENCY_NAME' },
{headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '환율', field : 'EXCHANGE_RATE' },
];
@@ -241,13 +228,13 @@ function approval_form(APPROVAL_OBJID,ROUTE_OBJID){
function fn_FileRegist(objId, docType, docTypeName){
var popup_width = 800;
var popup_height = 300;
var popup_height = 350;
var objId = objId;
var docType = docType;
var docTypeName = docTypeName;
var params = "?targetObjId="+objId+"&docType="+docType+"&docTypeName="+docTypeName;
var url = "/projectConcept/FileRegistPopup.do"+params;
var url = "/common/FileRegistPopup.do"+params;
fn_centerPopup(popup_width, popup_height, url);
}
@@ -613,9 +600,9 @@ function openProjectFormPopUp(objId){
<input type="text" name="search_serialNo" id="search_serialNo" value="${param.search_serialNo}"/>
</td>
<td><label for="result_cd">수주상태</label></td>
<td><label for="contract_result">수주상태</label></td>
<td>
<select name="result_cd" id="result_cd" style="width:130px" class="select2" autocomplete="off">
<select name="contract_result" id="contract_result" style="width:130px" class="select2" autocomplete="off">
<option value="">선택</option>
${code_map.result_cd}
</select>
@@ -640,8 +627,8 @@ function openProjectFormPopUp(objId){
<label>발주일</label>
</td>
<td>
<input type="text" name="receipt_start_date" id="receipt_start_date" style="width:90px;" autocomplete="off" value="${param.receipt_start_date}" class="date_icon">~
<input type="text" name="receipt_end_date" id="receipt_end_date" style="width:90px;" autocomplete="off" value="${param.receipt_end_date}" class="date_icon">
<input type="text" name="order_start_date" id="order_start_date" style="width:90px;" autocomplete="off" value="${param.order_start_date}" class="date_icon">~
<input type="text" name="order_end_date" id="order_end_date" style="width:90px;" autocomplete="off" value="${param.order_end_date}" class="date_icon">
</td>
</tr>
</table>