Files
wace_plm/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_new.jsp

1958 lines
83 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page import="com.pms.common.utils.*"%>
<%@ page import="java.util.*"%>
<%@include file="/init_jqGrid.jsp"%>
<%
Map info = (HashMap)(request.getAttribute("info"));
boolean isModify = true;
if(info!=null &&
( CommonUtils.checkNull(info.get("APPR_STATUS")).equals( "결재중" )
||CommonUtils.checkNull(info.get("APPR_STATUS")).equals( "결재완료" )
||CommonUtils.checkNull(info.get("MULTI_YN")).equals( "Y") && !CommonUtils.checkNull(info.get("MULTI_MASTER_YN")).equals( "Y")
||CommonUtils.checkNull(info.get("STATUS")).equals( "cancel" )
)
){
isModify = false; //수정불가
}
String actType = (String)request.getAttribute("actType");
boolean isPriceInput = false;
if(info!=null && CommonUtils.checkNull(info.get("STATUS")).equals( "approvalComplete" )){
isPriceInput = true;
}
%>
<!DOCTYPE html>
<html>
<head>
<!-- //JSTL 페이징 변수선언 -->
<c:set var="now" value="<%=new java.util.Date() %>" />
<c:set var="sysYear"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set>
<style>
/*
#gview_list_Attachments .ui-jqgrid-bdiv{
max-height: 300px;
overflow-y: visible;
}
*/
.ui-jqgrid-view {
max-height: 322px;
//min-height: 100px !important;
}
.ui-jqgrid-bdiv {
overflow-y: scroll !important;
max-height: 280px !important;
//min-height: 100px !important;
}
.footrow {
display : none;
}
.pointer {
cursor: pointer;
text-decoration: underline;
}
</style>
<script type="text/javascript">
var grid;
//발주구분코드
var TYPE_STANDARD = "0001069"; //일반부품
var TYPE_LONG_DLV = "0001070"; //장납기부품
var TYPE_ETC = "0001538"; //잡자재
var TYPE_SUBCONTRACT = "0001654"; //사급품
var TYPE_TURNKEY = "0001785"; //턴키
var TYPE_BUY_ITEM = "0001787"; //구매품표준
var _PRE_TYPE = '${info.TYPE}';
var _PRE_PURCHASE_ORDER_NO_ORG = '${info.PURCHASE_ORDER_NO_ORG}';
var _PRE_ORDER_TYPE_CD = '${info.ORDER_TYPE_CD}';
var _QTY_ID = 'BOM_QTY';
$(document).ready(function(){
//$("#VAT_METHOD").val("0001079");
/* $("input[name*='PRICE']").each(function(){
$(this).val(numberWithCommas($(this).val()));
});
$("input[name*='QTY']").each(function(){
$(this).val(numberWithCommas($(this).val()));
}); */
$("input[numberOnly='']").each(function(){
$(this).css({'text-align':'right'})
})
.on("keyup", function() {
$(this).val(fnc_addComma($(this).val().replace(/[^0-9]/g,"")));
});
//상신된 결재라인 가져오기
fn_getApprLine();
//구매요청서 정보 가져오기
//fn_getSalesRequest();
//grid.data = $.parseJSON($("#gridDetailList").val());
var unit_cd = $.parseJSON($("#unit_cd").val()); //jqGrid 구분
//단가저장이면 입력 불가 필드
var editable = true;
if(<%=isPriceInput%>){
editable = false;;
}
grid = $("#grid1").jqGrid({
url: ""
,datatype: "local"
,data : $.parseJSON($("#gridDetailList").val())
,colNames: ["OBJID","PART_OBJID","LD_PART_OBJID"
,"품명","품번","규격","메이커","단위"
,"수량","단가","공급가"
]
,colModel: [
{name:"OBJID" , hidden: true, sortable:false, editable:false}
,{name:"PART_OBJID" , hidden: true, sortable:false, editable:false}
,{name:"LD_PART_OBJID" , hidden: true, sortable:false, editable:false}
,{name:"PART_NAME" , width:300, align:"left", sortable:false, editable:false}
,{name:"PART_NO" , width:300, align:"left", sortable:false, editable:false, formatter:setLink}
,{name:"SPEC" , width:180, align:"left", sortable:false, editable:false}
,{name:"MAKER" , width:180, align:"left", sortable:false, editable:false}
,{name:"UNIT" , width:60, align:"center", sortable:false, editable:true
,edittype:"select", formatter:"select"
,editoptions:{ value: unit_cd }
}
,{name:"ORDER_QTY" , width:90, align:"right", sortable:false, editable:false
,formatter:"integer", formatoptions:{thousandsSeparator:","}
,editoptions:{
dataInit: function(e){ e.style.textAlign = "right"; }
,dataEvents: [{type:"change", fn:function(e){ gridFn.calcRowAll(e); }}]
}
}
,{name:"PARTNER_PRICE" , width:110, align:"right", sortable:false, editable:false
,formatter:"integer", formatoptions:{thousandsSeparator:","}
,editoptions:{
dataInit: function(e){ e.style.textAlign = "right"; }
,dataEvents: [{type:"change", fn:function(e){ gridFn.calcRowAll(e); }}]
}
}
,{name:"SUPPLY_UNIT_PRICE", width:130, align:"right", sortable:false, editable:false
,formatter:"integer", formatoptions:{thousandsSeparator:","}
}
]
,ignoreCase : true
,rownumbers : false
,viewrecords : true
,height : '250' //300
,multiselect : <% if(isModify){ %>true<% }else{ %>false<% } %> //선택가능
,shrinkToFit : false
,autowidth : true
,sortable : false
,rowNum : 10000
,forceFit : true //컬럼의 width를 변화시킬때 그리드의 width를 고정 여부
,jsonReader : {repeatitems: false}
,mtype :"POST"
,footerrow : true //바닥합계
,userDataOnFooter: true //바닥합계
//,caption :"제목"
,loadComplete: function(){
var gid = this.id;
var grid_wrap_div = $("#gbox_"+gid);
setTimeout("fn_jqGrid_init($('#"+gid+"'), false);", 50); //윈도우크기 비례 자동조절
// 디버깅: 데이터 확인
//footer 커스텀..
var $fr = $(this.grid.sDiv).find("tr.footrow");
var $frNew1;
var footerTdCss = {"border-right-width":"0","font-weight":"bold","overflow":"hidden","white-space":"nowrap","height":"21px","padding":"0 2px 0 2px","border-top-width":"1px","border-top-color":"inherit","border-top-style":"solid"};
//1.footerRow 스타일 조정
$fr.find(">td.ui-state-default").removeClass("ui-state-default");
$fr.find(">td").addClass("footerTd");
$("td.footerTd").css(footerTdCss);
//2.footerRow 추가
$frNew1 = $(this.grid.sDiv).find("tr.footerRowNew1");
if ($frNew1.length === 0) {
$frNew1 = $fr.clone();
$frNew1.removeClass("footrow").addClass("footerRowNew1 ui-widget-content");
$frNew1.children("td").each(function () {
//this.style.width = "";
});
$frNew1.insertAfter($fr);
}
//3.셋팅
var _pf = ">td[aria-describedby="+this.id+"_"; //search prefix
var _sf = "]"; //search suffix
//$fr.find( _pf+"PRICE1" +_sf).text("소계(원)");
//$fr.find( _pf+"PRICE3" +_sf).html('<input type="text" class="mytotalinput" name="TOTAL_SUPPLY_UNIT_PRICE" id="TOTAL_SUPPLY_UNIT_PRICE" readonly value="<fmt:formatNumber value="${info.TOTAL_SUPPLY_UNIT_PRICE}" pattern="#,###" />"/>');
//$frNew1.find(_pf+"SPEC" +_sf).text("할인적용");
$frNew1.find(_pf+"MAKER" +_sf).text("합계(원)");
//$frNew1.find(_pf+"MAKER" +_sf).text("할인적용");
//$frNew1.find(_pf+"UNIT" +_sf).text("최종발주금액(원)");
$frNew1.find(_pf+"ORDER_QTY" +_sf).text("");
//$frNew1.find(_pf+"PARTNER_PRICE" +_sf).text("");
//$frNew1.find(_pf+"PRICE1" +_sf).text("할인금액 : ");
//$frNew1.find(_pf+"PRICE2" +_sf).html('<input type="text" class="mytotalinput" name="DISCOUNT_PRICE" id="DISCOUNT_PRICE" placeHolder="할인금액입력" numberOnly value="${info.DISCOUNT_PRICE}" readonly/>');
$frNew1.find(_pf+"SUPPLY_UNIT_PRICE"+_sf).html('<input type="text" class="mytotalinput" name="TOTAL_SUPPLY_PRICE" id="TOTAL_SUPPLY_PRICE" readonly value="${info.TOTAL_SUPPLY_PRICE}"/>');
$frNew1.find(_pf+"SUPPLY_UNIT_VAT_SUM_PRICE" +_sf).html('<input type="text" class="mytotalinput" name="TOTAL_SUPPLY_UNIT_PRICE" id="TOTAL_SUPPLY_UNIT_PRICE" readonly value="<fmt:formatNumber value="${info.TOTAL_SUPPLY_UNIT_PRICE}" pattern="#,###" />"/>');
$frNew1.find(_pf+"REAL_SUPPLY_PRICE" +_sf).html('<input type="text" class="mytotalinput" name="TOTAL_REAL_SUPPLY_PRICE" id="TOTAL_REAL_SUPPLY_PRICE" readonly value="<fmt:formatNumber value="${info.TOTAL_REAL_SUPPLY_PRICE}" pattern="#,###" />"/>');
$("input.mytotalinput").css({"width":"100%", "height":"24px", "border":"1px solid #eee", "padding":"0", "text-align":"right", "font-size":"13px"});
$("#DISCOUNT_PRICE").change(function(){ gridFn.footerSummary(); });
//기타 스타일 1열
var _idx = $("td[aria-describedby=grid1_PRICE4]", $(".footrow")).index(); //"용접단가"의 el번호
$("td", $(".footrow")).slice(0,_idx+1).css({"background-color":"#e4e4e4"}); //0~"용접단가" 요소까지 배경색 변경(회색)
//기타 스타일 2열
//$("#TOTAL_SUPPLY_PRICE").parents("tr:first").find("td[aria-describedby=grid1_SPEC], td[aria-describedby=grid1_ORDER_QTY]").css({"width":"10px"});
$("#DISCOUNT_PRICE").parents("tr:first").find("td[aria-describedby=grid1_MAKER]").css({"text-align":"left"});
//$("#TOTAL_SUPPLY_PRICE").parents("tr:first").find("td[aria-describedby=grid1_UNIT], td[aria-describedby=grid1_PARTNER_PRICE]").css({"width":"40px"});
_idx = $("td[aria-describedby=grid1_PRICE1]", $(".footerRowNew1")).index(); //Maker의 el번호
$("td", $(".footerRowNew1")).slice(0,_idx+1).css({"background-color":"#e4e4e4"});
$("td", $(".footerRowNew1")).slice(_idx+1).css({"background-color":"#e4e4e4"}); //(옅은핑크)
$("#TOTAL_SUPPLY_PRICE,#TOTAL_SUPPLY_UNIT_PRICE,#TOTAL_REAL_SUPPLY_PRICE").css({"background-color":"#fbead9"});
// 합계 계산
setTimeout(function(){ gridFn.footerSummary(); }, 100);
}
,beforeSubmitCell: function (rowid, cellname, value, iRow, iCol) {
// 'linkColumn' 컬럼에 대해서만 링크 태그를 제외하고 값만 전송
if (cellname === 'linkColumn') {
// value에는 <a> 태그가 포함된 값이 들어있음
// 이 값을 처리하여 실제 데이터를 추출하거나 가공하는 로직을 여기에 추가
var dataWithoutLink = extractDataWithoutLink(value);
// 전처리된 값을 반환
return { value: dataWithoutLink };
}
// 다른 컬럼들에 대해서는 기본 동작 유지
return true;
},
});
// 이미 저장된 발주서(OBJID가 있는 경우)는 그리드 데이터는 유지하고 공급처 정보만 가져옴
if("${info.OBJID}" != "" && "${info.PARTNER_OBJID}" != ""){
// 공급처 정보만 가져오기
var list = fnc_getJsonAllDataListBySqlId({"sqlId":"purchaseOrder.purchaseOrderAdminSupplyInfo", "PARTNER_OBJID":"${info.PARTNER_OBJID}"});
if(fnc_checkNull(list) != ""){
var row = list[0];
$("#SUPPLY_BUS_NO").val(row["SUPPLY_BUS_NO"]);
$("#SUPPLY_USER_NAME").val(row["SUPPLY_USER_NAME"]);
$("#SUPPLY_USER_HP").val(row["SUPPLY_USER_HP"]);
$("#SUPPLY_USER_TEL").val(row["SUPPLY_USER_TEL"]);
$("#SUPPLY_USER_FAX").val(row["SUPPLY_USER_FAX"]);
$("#SUPPLY_USER_EMAIL").val(row["SUPPLY_USER_EMAIL"]);
$("#SUPPLY_ADDR").val(row["SUPPLY_ADDR"]);
}
} else if("${info.PARTNER_OBJID}" != "" && "${info.SALES_REQUEST_OBJID}" != ""){
// 신규 작성시 changelist 호출
changelist("${info.PARTNER_OBJID}");
}
gridFn.opennEdit(); //수정가능
gridFn.footerSummary(); // 합계 계산
<% if(isModify){ %>
//수정가능
$("#PO_CLIENT_ID,#TYPE,#UNIT_CODE,#SALES_MNG_USER_ID,#PARTNER_OBJID,#CONTRACT_MGMT_OBJID,#DELIVERY_PLACE,#INSPECT_METHOD,#PAYMENT_TERMS,#VAT_METHOD,#ORDER_TYPE_CD,#PURCHASE_ORDER_NO_ORG").prop("disabled","");
$("#TITLE,#DISCOUNT_PRICE,#TOTAL_PRICE_TXT,#TOTAL_PRICE_TXT_ALL,#REMARK").removeAttr("readonly");
//공급업체 변경시
$("#PARTNER_OBJID").change(function(){
$("#SUPPLY_BUS_NO, #SUPPLY_USER_NAME, #SUPPLY_USER_HP, #SUPPLY_USER_TEL, #SUPPLY_USER_FAX, #SUPPLY_USER_EMAIL, #SUPPLY_ADDR").val("");
if($(this).val()!=""){
//공급업체에 발주서공급담당자(0000330)로 지정된 정보를 가져온다
var list = fnc_getJsonAllDataListBySqlId({"sqlId":"purchaseOrder.purchaseOrderAdminSupplyInfo", "PARTNER_OBJID":$(this).val()});
if(fnc_checkNull( list )!=""){
var row = list[0];
$("#SUPPLY_BUS_NO" ).val( row["SUPPLY_BUS_NO" ] );
$("#SUPPLY_USER_NAME" ).val( row["SUPPLY_USER_NAME" ] );
$("#SUPPLY_USER_HP" ).val( row["SUPPLY_USER_HP" ] );
$("#SUPPLY_USER_TEL" ).val( row["SUPPLY_USER_TEL" ] );
$("#SUPPLY_USER_FAX" ).val( row["SUPPLY_USER_FAX" ] );
$("#SUPPLY_USER_EMAIL").val( row["SUPPLY_USER_EMAIL"] );
$("#SUPPLY_ADDR" ).val( row["SUPPLY_ADDR" ] );
}
}
if("${info.SALES_REQUEST_OBJID}"!=""){
grid.clearGridData();
var type = $("#TYPE").val();
var sales_request_objid = "${info.SALES_REQUEST_OBJID}";
var partner_objid = $("#PARTNER_OBJID").val();
//sales_request_master_objid에 연결된 part 정보를 가져온다.
var list = fnc_getJsonAllDataListBySqlId({"sqlId":"purchaseOrder.SalesRequestPartListBySupply"
, "SALES_REQUEST_MASTER_OBJID":sales_request_objid
, "PARTNER_OBJID": partner_objid });
if(fnc_checkNull( list )!=""){
var text = "";
var sameProjectCount = fn_getProjectCount();
$.each(list, function(i,o){
if(i==0){
$("#BOM_REPORT_OBJID" ).val( list[0].BOM_REPORT_OBJID );
}
// PART_NO와 REMARK를 가져와서 연결
var partNo = o.PART_NO;
var remark = o.REMARK;
var partText = partNo + ": " + remark;
if (i > 0) {
text += "\n";
}
// 현재 항목을 전체 텍스트에 추가
text += partText;
var rowData = new Map();
if(type==TYPE_STANDARD || type==TYPE_BUY_ITEM){
rowData.put("PART_OBJID" , o.PART_OBJID );
}else if(type==TYPE_LONG_DLV){
rowData.put("LD_PART_OBJID", o.PART_OBJID );
}else{
rowData.put("PART_OBJID" , o.PART_OBJID );
}
rowData.put("PART_NAME" , o.PART_NAME );
rowData.put("PART_NO" , o.PART_NO );
rowData.put("SPEC" , o.SPEC );
rowData.put("MAKER" , o.MAKER );
rowData.put("UNIT" , o.UNIT );
rowData.put("QTY" , o.ORDER_QTY );
rowData.put("ORDER_QTY" , o.ORDER_QTY );
rowData.put("PARTNER_PRICE", o.PARTNER_PRICE);
rowData.put("PRICE1" , o.PRICE1 );
rowData.put("PRICE2" , o.PRICE2 );
rowData.put("PRICE3" , o.PRICE3 );
rowData.put("PRICE4" , o.PRICE4 );
rowData.put("TOTAL_ORDER_QTY" , o.ORDER_QTY * sameProjectCount );
var STOCK_QTY = o.STOCK_QTY;
var REAL_ORDER_QTY = o.ORDER_QTY * sameProjectCount - o.STOCK_QTY * sameProjectCount;
rowData.put("REAL_ORDER_QTY" , REAL_ORDER_QTY < 0 ? 0 : REAL_ORDER_QTY );
rowData.put("STOCK_QTY" , STOCK_QTY );
fn_addRow(rowData, true);
});
}
}
});
if("${info.ORDER_TYPE_CD}" == '0001408'){//재발주
$("#PURCHASE_ORDER_NO_ORG").prop("disabled","");
$("#PURCHASE_ORDER_NO_ORG").prop("required","required");
fnc_getPurchaseOrderCdListAppend("PURCHASE_ORDER_NO_ORG","${info.PURCHASE_ORDER_NO_ORG}","","");
}else if("${info.ORDER_TYPE_CD}" == '0001407'){ //신규
$("#PURCHASE_ORDER_NO_ORG").prop("disabled","disabled");
$("#PURCHASE_ORDER_NO_ORG").prop("required","");
}
//발주처 변경시 정보 셋팅
$("#PO_CLIENT_ID").change(function(){
$("#SALES_BUS_NO").html($(this).find("option:selected").attr("data-bus_reg_no"));
$("#SALES_MNG_USER_TEL").val($(this).find("option:selected").attr("data-office_no"));
$("#SALES_MNG_USER_FAX").val($(this).find("option:selected").attr("data-supply_fax_no"));
$("#SALES_EMAIL").html($(this).find("option:selected").attr("data-email"));
$("#SALES_ADDR").html($(this).find("option:selected").attr("data-supply_address"));
});
//발주처 담당자 변경시 HP셋팅
$("#SALES_MNG_USER_ID").change(function(){
$("#SALES_MNG_USER_HP").val($(this).find("option:selected").attr("data-cell_phone"));
});
<c:if test="${empty info || empty info.PO_CLIENT_ID || info.actType eq 'C'}">
$("#PO_CLIENT_ID").val('-1130201617'); //RPS default
$("#PO_CLIENT_ID").trigger("change");
</c:if>
<% if(isModify){ %>
//$("#SALES_MNG_USER_ID").val('<%=connectUserId%>');
<% } %>
$("#SALES_MNG_USER_ID").trigger("change");
//발주부품 변경시
$("#TYPE").change(function(){
var type = $("#TYPE").val();
if(_PRE_TYPE != type){ //이전이 선택이 아니거나 선택 선택하면 초기화
//grid.clearGridData();
getPartData(''); //품목 초기화
}
var targetIds = "#UNIT_CODE,#CONTRACT_MGMT_OBJID";
$(targetIds).prop("disabled","");
$(targetIds).prop("required","required");
/* 240808 잡자재도 프로젝트 선택할수 있게(위로 수정) */
//if(fnc_checkNull(type)==TYPE_ETC){ //잡자재
if(fnc_checkNull(type)==TYPE_BUY_ITEM){ //구매품 241009 프로젝트/유닛 선택 불가
targetIds = "#UNIT_CODE";
//targetIds = ''; //선택가능
$(targetIds).val('');
$(targetIds).select2();
//$(targetIds).prop("disabled","disabled"); //당사프로젝트번호, 유닛명 선택불가
$(targetIds).prop("required","");
}else{
$(targetIds).prop("disabled","");
$(targetIds).prop("required","required");
}
$("#CONTRACT_MGMT_OBJID").trigger("change");
_PRE_TYPE = $(this).val(); //이전 값 저장
});
$("#TYPE").val('${info.TYPE}');
$("#TYPE").trigger("change");
if($("#TYPE").val()==""){
$("#TYPE").val(TYPE_STANDARD); //발주구분 기본값 : 일반부품
}
if('${info.TYPE}' == TYPE_ETC || '${info.TYPE}' == TYPE_LONG_DLV || '${info.TYPE}' == TYPE_SUBCONTRACT){ //잡자재 장납기 사급품
fn_editGridColumnEditableCondition('QTY', true); //수량 수정가능
}
//프로젝트명 변경시 유닛명 셋팅
$("#CONTRACT_MGMT_OBJID").change(function(){
fn_UnitCodeList(this.value, "UNIT_CODE", $("#UNIT_CODE").val());
var val = this.value;
fn_setMultiInfo(val); //동시적용 정보 셋팅
});
//발주구분,프로젝트,유닛명,공급업체 변경시 - 구매BOM에서 등록한 PART정보를 가져온다
//$("#TYPE,#CONTRACT_MGMT_OBJID,#UNIT_CODE,#PARTNER_OBJID").change(function(){
//alert(_PRE_ORDER_TYPE_CD);
// var ORDER_TYPE_CD = $("#ORDER_TYPE_CD").val(); //발주구분
// if("${info.SALES_REQUEST_OBJID}"=="" || "${info.SALES_REQUEST_OBJID}" == null){
// if(ORDER_TYPE_CD == '0001407'){ //신규면 자동조회 //재발주(0001408)가 아니면 초기화(자동 조회)
// addBomPart(); //이전 발주 목록
// }
// }
//});
// $("#ORDER_TYPE_CD").change(function(){ //발주구분
// var ORDER_TYPE_CD = $("#PURCHASE_ORDER_NO_ORG").val("");
// //alert(_PRE_ORDER_TYPE_CD);
// // if(!fnc_isEmpty(_PRE_ORDER_TYPE_CD) || fnc_isEmpty(ORDER_TYPE_CD)){ //이전이 선택이 아니거나 선택 선택하면 초기화
// // getPartData(''); //품목 초기화
// // }
// if($(this).val() == '0001408'){//재발주
// var partnerObjid = $("#PARTNER_OBJID").val();
// //alert("partnerObjid:"+partnerObjid);
// $("#PURCHASE_ORDER_NO_ORG").prop("disabled","");
// $("#PURCHASE_ORDER_NO_ORG").prop("required","required");
// fnc_getPurchaseOrderCdListAppend("PURCHASE_ORDER_NO_ORG","${info.PURCHASE_ORDER_NO_ORG}","",partnerObjid); //발주 정보목록
// }else{
// $("#PURCHASE_ORDER_NO_ORG").prop("disabled","disabled");
// $("#PURCHASE_ORDER_NO_ORG").prop("required","");
// if($(this).val() == '0001407'){//신규
// addBomPart();
// }
// }
// $("#PURCHASE_ORDER_NO_ORG").trigger("change");
// //$("#PARTNER_OBJID").trigger("change");
// _PRE_ORDER_TYPE_CD = $(this).val(); //이전 값 저장
// });
// $("#PURCHASE_ORDER_NO_ORG").change(function(){
// var val = $(this).val();
// if(fnc_isNotEmpty(val)){
// getPartData(val);
// //changelist(val);
// }else{
// }
// });
fnc_datepick(); //달력
$(".select2").select2();
gridFn.opennEdit(); //수정가능
gridFn.footerSummary(); // 합계 계산
//버튼
$("#btnAdd" ).click(function(){ fn_openPartMngListPopUp(); }); //행추가
$("#btnDel" ).click(function(){ gridFn.delRow(); }); //행삭제
$("#btnSave").click(function(){ fn_save(); }); //저장
$("#btnAppr").click(function(){ //결재상신
if(fnc_valitate("form1")){
var objId = "${objId}";
if(""==grid.getRowData()){
Swal.fire('저장할 품목이 존재 하지 않습니다');
return;
}
//동시발주(동시결재)
/*
var objIds = "";
$(".APPLICATION_PROJECT_NO").each(function(){
if(this.value != ''){
objIds += this.value+",";
}
});
*/
var title = encodeURIComponent($("#TITLE").val());
//var title = encodeURIComponent("발주서 상신");
window.open("/approval/registApproval.do?targetType=PURCHASE_ORDER&targetObjId="+objId+"&approvalTitle="+title+"&callbackFnc=fn_save_process&targetObjIds=${info.MULTI_OBJIDS}","registApproval","width=700,height=700");
}
});
<% }else{ %>
$("#btnDown").click(function(){ //발주서다운
document.form1.action = "/purchaseOrder/purchaseOrderFormPopup_new.do?actType=DOWN&PURCHASE_ORDER_MASTER_OBJID=${objId}";
document.form1.submit();
});
$("#btnPriceSave").click(function(){ fn_price_save(); }); //단가저장
<% } %>
//부가세 선택불가처리 230908
$("#VAT_METHOD").prop("disabled","disabled");
$("input:text[numberOnly]").on("keyup", function() {
$(this).val(fnc_addComma($(this).val().replace(/[^0-9]/g,"")));
});
$("input[name*=PRICE]").each(function(){
$(this).val(fnc_addComma($(this).val()));
});
//유닛명
// if("${info.CONTRACT_MGMT_OBJID}"!=""){
// fn_UnitCodeList("${info.CONTRACT_MGMT_OBJID}", "UNIT_CODE","");
// $("#UNIT_CODE").val("${info.UNIT_CODE}");
// }
//프로젝트번호 triggger로 동시적용 정보 셋팅(240109)
//$("#CONTRACT_MGMT_OBJID").val("${info.CONTRACT_MGMT_OBJID}");
//$("#CONTRACT_MGMT_OBJID").trigger("change");
//fn_setMultiInfo("${info.CONTRACT_MGMT_OBJID}")
//fn_setMultiInfoForSaved("${info.CONTRACT_MGMT_OBJID}"); //동시적용 정보 셋팅
fnc_datepick(); //달력
$(".select2").select2();
//동시프로젝트 선택
// $(".APPLICATION_PROJECT_NO").on("change", function() {
// reCalculatePrice();
// });
addZeroEvtAtPriceInput();
});
function reCalculatePrice(){
var tempGrid = $("#grid1");
if(""!= tempGrid.getRowData()){ //grid &&
//alert('change');
//alert(grid.getRowData(1).TOTAL_ORDER_QTY);
var sameProjectCount = fn_getProjectCount();
//gridFn.closeEdit();
// 그리드 내의 각 행 반복
$("#grid1").find("tr").each(function(i) {
var rowClass = $(this).attr("class");
if(rowClass == 'jqgfirstrow') return;
var rowId = $(this).attr("id"); // 행의 id 가져오기
var BOM_QTY = parseInt(fnc_checkNullDefaultValue(fnc_checkNull($("#"+rowId+"_BOM_QTY").val()).replace(/,/gi,""), grid.jqGrid('getCell', rowId, "BOM_QTY")).replace(/,/gi,""));
var QTY = parseInt(fnc_checkNullDefaultValue(fnc_checkNull($("#"+rowId+"_QTY").val()).replace(/,/gi,""), grid.jqGrid('getCell', rowId, "QTY")).replace(/,/gi,""));
var ORDER_QTY = parseInt(fnc_checkNullDefaultValue(fnc_checkNull($("#"+rowId+"_ORDER_QTY").val()).replace(/,/gi,""), grid.jqGrid('getCell', rowId, "ORDER_QTY")).replace(/,/gi,""));
var v1 = QTY;
if(sameProjectCount > 2){
//v1 = QTY;
}
var STOCK_QTY = parseInt(fnc_checkNullDefaultValue(fnc_checkNull($("#"+rowId+"_STOCK_QTY").val()).replace(/,/gi,""), grid.jqGrid('getCell', rowId, "STOCK_QTY")).replace(/,/gi,""));
var STOCK_QTY_ORG = parseInt(fnc_checkNull(grid.jqGrid('getCell', rowId, "STOCK_QTY_ORG")).replace(/,/gi,""));
//var SUPPLY_UNIT_PRICE = parseInt(fnc_checkNull($("#"+rowId+"_SUPPLY_UNIT_PRICE").val()).replace(/,/gi,""));
var TOTAL_ORDER_QTY = v1 * sameProjectCount;
//STOCK_QTY = STOCK_QTY_ORG > TOTAL_ORDER_QTY ? TOTAL_ORDER_QTY : STOCK_QTY_ORG;
var REAL_ORDER_QTY = TOTAL_ORDER_QTY - STOCK_QTY;
var ORDER_QTY = v1 - (v1*(sameProjectCount-1) == 0 ? STOCK_QTY : (STOCK_QTY < v1*(sameProjectCount-1) ? 0 : STOCK_QTY - v1*(sameProjectCount-1)) );
var v2 = parseInt(fnc_checkNullDefaultValue($("#"+rowId+"_PARTNER_PRICE").val(), '0').replace(/,/gi,""));
var v3 = parseInt(fnc_checkNullDefaultValue($("#"+rowId+"_PRICE1").val(), '0' ).replace(/,/gi,""));
var v4 = parseInt(fnc_checkNullDefaultValue($("#"+rowId+"_PRICE2").val(), '0' ).replace(/,/gi,""));
var v5 = parseInt(fnc_checkNullDefaultValue($("#"+rowId+"_PRICE3").val(), '0' ).replace(/,/gi,""));
var v6 = parseInt(fnc_checkNullDefaultValue($("#"+rowId+"_PRICE4").val(), '0' ).replace(/,/gi,""));
var REAL_SUPPLY_PRICE = (v2 + v3 + v4 + v5 + v6) * REAL_ORDER_QTY;
//console.log(i, rowId, ORDER_QTY, STOCK_QTY, TOTAL_ORDER_QTY, REAL_ORDER_QTY);
//$("#"+rowId+"_TOTAL_ORDER_QTY").val(TOTAL_ORDER_QTY);
$("#"+rowId+"_STOCK_QTY").val(STOCK_QTY);
$("#"+rowId+"_QTY").val(QTY);
if(<%=isModify%>){
$("#"+rowId+"_ORDER_QTY").val(numberWithCommas( ORDER_QTY ));
}else{
tempGrid.jqGrid('setCell', rowId, "ORDER_QTY", numberWithCommas( ORDER_QTY ));
}
tempGrid.jqGrid('setCell', rowId, "ORDER_QTY", numberWithCommas( ORDER_QTY ));
tempGrid.find("#"+rowId+"_SUPPLY_UNIT_PRICE").val( numberWithCommas(ORDER_QTY * (v2+v3+v4+v5+v6)));
tempGrid.find("#"+rowId+"_SUPPLY_UNIT_VAT_PRICE").val( numberWithCommas(ORDER_QTY * (v2+v3+v4+v5+v6) * 0.1));
tempGrid.find("#"+rowId+"_SUPPLY_UNIT_VAT_SUM_PRICE").val( numberWithCommas( Math.floor(ORDER_QTY * (v2+v3+v4+v5+v6) * 1.1) )); //.toFixed()
//tempGrid.jqGrid('setCell', rowId, 'STOCK_QTY', STOCK_QTY);
tempGrid.jqGrid('setCell', rowId, 'TOTAL_ORDER_QTY', TOTAL_ORDER_QTY);
tempGrid.jqGrid('setCell', rowId, 'REAL_ORDER_QTY', REAL_ORDER_QTY);
//$("#"+rowId+"_REAL_ORDER_QTY").val(REAL_ORDER_QTY);
tempGrid.jqGrid('setCell', rowId, 'REAL_SUPPLY_PRICE', REAL_SUPPLY_PRICE);
gridFn.footerSummary();
});
/*
var ids = tempGrid.jqGrid('getDataIDs');
//alert(ids);
for (var i = 0; i < ids.length; i++) {
var rowId = ids[i];
//var rowData = grid.jqGrid('getRowData', rowId);
var rowData = tempGrid.getRowData(rowId);
var ORDER_QTY = parseInt(rowData.ORDER_QTY.replace(/,/gi,""))
var STOCK_QTY = parseInt(rowData.STOCK_QTY.replace(/,/gi,""))
var TOTAL_ORDER_QTY = ORDER_QTY * sameProjectCount;
STOCK_QTY = STOCK_QTY > TOTAL_ORDER_QTY ? TOTAL_ORDER_QTY : STOCK_QTY;
var REAL_ORDER_QTY = TOTAL_ORDER_QTY - STOCK_QTY;
var v1 = parseInt(rowData.ORDER_QTY.replace(/,/gi,""))
var v2 = parseInt(rowData.PARTNER_PRICE.replace(/,/gi,""))
var v3 = parseInt(rowData.PRICE1.replace(/,/gi,""))
var v4 = parseInt(rowData.PRICE2.replace(/,/gi,""))
var v5 = parseInt(rowData.PRICE3.replace(/,/gi,""))
var v6 = parseInt(rowData.PRICE4.replace(/,/gi,""))
alert(TOTAL_ORDER_QTY + ":" +REAL_ORDER_QTY + ":" +STOCK_QTY )
//tempGrid.jqGrid('setCell', rowId, 'TOTAL_ORDER_QTY', TOTAL_ORDER_QTY);
//tempGrid.jqGrid('setCell', rowId, 'REAL_ORDER_QTY', REAL_ORDER_QTY);
//tempGrid.jqGrid('setCell', rowId, 'STOCK_QTY', STOCK_QTY); //재고 최대수량 계산 셋팅
//합계 계산 //numberWithCommas()
//tempGrid.jqGrid('setCell', rowId, 'SUPPLY_UNIT_PRICE', REAL_ORDER_QTY * (v2+v3+v4+v5+v6));
//tempGrid.jqGrid('setCell', rowId, 'SUPPLY_UNIT_VAT_PRICE', REAL_ORDER_QTY * (v2+v3+v4+v5+v6) * 0.1);
//tempGrid.jqGrid('setCell', rowId, 'SUPPLY_UNIT_VAT_SUM_PRICE', Math.floor(REAL_ORDER_QTY * (v2+v3+v4+v5+v6) * 1.1));
//rowData.TOTAL_ORDER_QTY = rowData.TOTAL_ORDER_QTY * sameProjectCount;
//rowData.REAL_ORDER_QTY = rowData.TOTAL_ORDER_QTY * sameProjectCount - rowData.STOCK_QTY;
//grid.setRowData(rowId, rowData, {});
//tempGrid.jqGrid("editRow", rowId);
}
*/
/*
var data = grid.getRowData();
$.each(data, function(i,o){
o.TOTAL_ORDER_QTY = o.TOTAL_ORDER_QTY * sameProjectCount;
o.REAL_ORDER_QTY = o.TOTAL_ORDER_QTY * sameProjectCount - o.STOCK_QTY;
$grid.setRowData(rowId, data, {});
});
*/
// 그리드 다시 그리기
//tempGrid.trigger('reloadGrid');
//gridFn.opennEdit(); //수정가능
//gridFn.footerSummary(); //부품하단 합계 자동계산
}
}
function getPartData(objid){
grid.clearGridData();
if(fnc_isEmpty(objid)){
return;
}
var type = $("#TYPE").val();
//sales_request_master_objid에 연결된 part 정보를 가져온다.
var list = fnc_getJsonAllDataListBySqlId({"sqlId":"purchaseOrder.getPURCHASE_ORDER_PART" //저장된 발주품 조회
, "PURCHASE_ORDER_MASTER_OBJID":objid
});
if(fnc_checkNull( list )!=""){
var text = "";
var sameProjectCount = fn_getProjectCount();
$.each(list, function(i,o){
if(i==0){
$("#BOM_REPORT_OBJID" ).val( list[0].BOM_REPORT_OBJID );
}
// PART_NO와 REMARK를 가져와서 연결
var partNo = o.PART_NO;
var remark = o.REMARK;
var partText = partNo + ": " + remark;
if (i > 0) {
text += "\n";
}
// 현재 항목을 전체 텍스트에 추가
text += partText;
var rowData = new Map();
if(type==TYPE_STANDARD || type==TYPE_BUY_ITEM){ //일반 TYPE_STANDARD TYPE_LONG_DLV TYPE_ETC TYPE_SUBCONTRACT
rowData.put("PART_OBJID" , o.PART_OBJID );
}else if(type==TYPE_ETC || '${info.TYPE}' == TYPE_LONG_DLV || '${info.TYPE}' == TYPE_SUBCONTRACT){ //잡자재 장납기 사급품
rowData.put("LD_PART_OBJID", o.PART_OBJID );
fn_editGridColumnEditableCondition('QTY', true);
}else{
rowData.put("LD_PART_OBJID", o.PART_OBJID );
}
rowData.put("PART_NAME" , o.PART_NAME );
rowData.put("PART_NO" , o.PART_NO );
rowData.put("SPEC" , o.SPEC );
rowData.put("MAKER" , o.MAKER );
rowData.put("UNIT" , o.UNIT );
rowData.put("ORDER_QTY" , o.ORDER_QTY );
rowData.put("PARTNER_PRICE", o.PARTNER_PRICE);
rowData.put("PRICE1" , o.PRICE1 );
rowData.put("PRICE2" , o.PRICE2 );
rowData.put("PRICE3" , o.PRICE3 );
rowData.put("PRICE4" , o.PRICE4 );
rowData.put("TOTAL_ORDER_QTY", o.TOTAL_ORDER_QTY );
rowData.put("REAL_ORDER_QTY" , o.REAL_ORDER_QTY );
rowData.put("STOCK_QTY" , o.STOCK_QTY );
fn_addRow(rowData);
});
}
}
//저장 정보 표현용
function fn_setMultiInfoForSaved(val){
<%if(!isModify){%>
$(".APPLICATION_PROJECT_NO").attr("disabled", "disabled"); //전체 비활성화
<%} %>
<c:choose>
<c:when test="${empty multiMasterList}">
</c:when>
<c:otherwise>
//$(".APPLICATION_PROJECT_NO option").remove();
<c:forEach var="mInfo" items="${multiMasterList}" varStatus="status">
var i = '${status.index+1}';
var APPLICATION_PROJECT_NO = "APPLICATION_PROJECT_NO"+i;
//fn_projectNameList("", APPLICATION_PROJECT_NO, "${mInfo.CONTRACT_MGMT_OBJID}", "${info.CONTRACT_MGMT_OBJID}");
//projectCnt = $("#"+APPLICATION_PROJECT_NO).find('option').length;
$("#"+APPLICATION_PROJECT_NO).val("${mInfo.CONTRACT_MGMT_OBJID}");
$("#APPLICATION_PROJECT_NUMBER"+i).val("${mInfo.CONTRACT_NO}");
$("#APPLICATION_OBJID"+i).val("${mInfo.OBJID}")
$("#DELIVERY_PLAN_DATE"+i).val("${mInfo.DELIVERY_PLAN_DATE}");
$("#DELIVERY_PLAN_QTY"+i).val("${mInfo.DELIVERY_PLAN_QTY}");
<%if(!isModify){%>
var jSelObj = $("#"+APPLICATION_PROJECT_NO);
var thisVal = jSelObj.val();
//alert(thisVal);
if(fnc_isEmpty(thisVal)){ //선택값없으면 disabled
jSelObj.attr("disabled", "disabled");
jSelObj.find('option').remove(); //전체 삭제
}else{
jSelObj.attr("disabled", false); //저장된 프로젝트번호만 활성화
jSelObj.find('option').not('option[value='+thisVal+']').remove(); //본인 제외 삭제
}
jSelObj.select2();
<%} %>
/*
if(projectCnt > 2){
$("#"+APPLICATION_PROJECT_NO).attr("disabled", false);
$("#DELIVERY_PLAN_DATE"+i).attr("disabled", false);
$("#DELIVERY_PLAN_QTY"+i).attr("disabled", false);
}
if(projectCnt-2 <= i){ //projectCnt == 0 ||
break;
}
*/
</c:forEach>
</c:otherwise>
</c:choose>
}
//동시발주 영역 내용 생성
function fn_setMultiInfo(val){
var projectCnt = 0;
$(".APPLICATION_PROJECT_NO option").remove();
$(".APPLICATION_PROJECT_NO").attr("disabled", "disabled");
$(".DELIVERY_PLAN_DATE").attr("disabled", "disabled");
$(".DELIVERY_PLAN_QTY").attr("disabled", "disabled");
$(".APPLICATION_PROJECT_NO").val('');
$(".DELIVERY_PLAN_DATE").val('');
$(".DELIVERY_PLAN_QTY").val('');
var type = $("#TYPE").val();
if(fnc_checkNull(type) != TYPE_STANDARD && fnc_checkNull(type) != TYPE_BUY_ITEM){ //일반품 아니면 동시적용 불가적용(24027)
return;
}
for (i=1; i < 11; i++){
var APPLICATION_PROJECT_NO = "APPLICATION_PROJECT_NO"+i
fn_projectNameList("", APPLICATION_PROJECT_NO, "", val);
projectCnt = $("#"+APPLICATION_PROJECT_NO).find('option').length;
if(projectCnt > 2){
$("#"+APPLICATION_PROJECT_NO).attr("disabled", false);
$("#DELIVERY_PLAN_DATE"+i).attr("disabled", false);
$("#DELIVERY_PLAN_QTY"+i).attr("disabled", false);
}
if(projectCnt-2 <= i){ //projectCnt == 0 ||
break;
}
}
//alert($("select[name^=APPLICATION_PROJECT_NO]").length);
//마스터 프로젝트번호 제거
if(fnc_isNotEmpty(val)){
$("select[name^=APPLICATION_PROJECT_NO]").each(function(){
$(this).find('option[value='+val+']').remove();
});
}
}
function changelist(objid, kindCode){
$("#SUPPLY_BUS_NO, #SUPPLY_USER_NAME, #SUPPLY_USER_HP, #SUPPLY_USER_TEL, #SUPPLY_USER_FAX, #SUPPLY_USER_EMAIL, #SUPPLY_ADDR").val("");
if(objid!=""){
//공급업체에 발주서공급담당자(0000330)로 지정된 정보를 가져온다
var list = fnc_getJsonAllDataListBySqlId({"sqlId":"purchaseOrder.purchaseOrderAdminSupplyInfo", "PARTNER_OBJID":objid});
if(fnc_checkNull( list )!=""){
var row = list[0];
$("#SUPPLY_BUS_NO" ).val( row["SUPPLY_BUS_NO" ] );
$("#SUPPLY_USER_NAME" ).val( row["SUPPLY_USER_NAME" ] );
$("#SUPPLY_USER_HP" ).val( row["SUPPLY_USER_HP" ] );
$("#SUPPLY_USER_TEL" ).val( row["SUPPLY_USER_TEL" ] );
$("#SUPPLY_USER_FAX" ).val( row["SUPPLY_USER_FAX" ] );
$("#SUPPLY_USER_EMAIL").val( row["SUPPLY_USER_EMAIL"] );
$("#SUPPLY_ADDR" ).val( row["SUPPLY_ADDR" ] );
}
}
if("${info.SALES_REQUEST_OBJID}"!=""){
grid.clearGridData();
var type = $("#TYPE").val();
var sales_request_objid = "${info.SALES_REQUEST_OBJID}";
var partner_objid = $("#PARTNER_OBJID").val();
//sales_request_master_objid에 연결된 part 정보를 가져온다.
var list = fnc_getJsonAllDataListBySqlId({"sqlId":"purchaseOrder.SalesRequestPartListBySupply"
, "SALES_REQUEST_MASTER_OBJID":sales_request_objid
, "PARTNER_OBJID": partner_objid });
if(fnc_checkNull( list )!=""){
var text = "";
var sameProjectCount = fn_getProjectCount();
$.each(list, function(i,o){
if(i==0){
$("#BOM_REPORT_OBJID" ).val( list[0].BOM_REPORT_OBJID );
}
// PART_NO와 REMARK를 가져와서 연결
var partNo = o.PART_NO;
var remark = o.REMARK;
var partText = partNo + ": " + remark;
if (i > 0) {
text += "\n";
}
// 현재 항목을 전체 텍스트에 추가
text += partText;
var rowData = new Map();
if(type==TYPE_STANDARD || type==TYPE_BUY_ITEM){
rowData.put("PART_OBJID" , o.PART_OBJID );
}else{
rowData.put("LD_PART_OBJID", o.PART_OBJID );
}
rowData.put("PART_NAME" , o.PART_NAME );
rowData.put("PART_NO" , o.PART_NO );
rowData.put("SPEC" , o.SPEC );
rowData.put("MAKER" , o.MAKER );
rowData.put("UNIT" , o.UNIT );
rowData.put("ORDER_QTY" , o.ORDER_QTY );
rowData.put("PARTNER_PRICE", o.PARTNER_PRICE);
rowData.put("PRICE1" , o.PRICE1 );
rowData.put("PRICE2" , o.PRICE2 );
rowData.put("PRICE3" , o.PRICE3 );
rowData.put("PRICE4" , o.PRICE4 );
rowData.put("TOTAL_ORDER_QTY" , o.ORDER_QTY * sameProjectCount );
rowData.put("REAL_ORDER_QTY" , o.ORDER_QTY * sameProjectCount );
rowData.put("STOCK_QTY" , o.STOCK_QTY );
fn_addRow(rowData, true);
});
}
}
}
function addZeroEvtAtPriceInput(){
$("input:text[name*=PRICE]").on("focus", function() {
var val = $(this).val();
if(val == 0 || val == '0'){
$(this).val(zero_to_null());
}
});
$("input:text[name*=PRICE]").on("focusout", function() {
var val = $(this).val();
if(val == ''){
$(this).val(0);
}
});
}
function zero_to_null(value){
if(value=="0"){
return "";
}else{
return value;
}
}
function setLink(cellval, options, rowObject) {
if(typeof(cellval) == "undefined") {
return "";
}
if(fnc_isEmpty(rowObject.PART_OBJID)){
return rowObject.PART_NO;
}else{
if(rowObject.PART_NO.indexOf('openPartMngPopup') < 0){
return "<a onclick='openPartMngPopup(\"" + rowObject.PART_OBJID + "\");' class='pointer'>" + rowObject.PART_NO + "</a>";
}else{
return rowObject.PART_NO;
}
}
}
function openPartMngPopup(objId){
var popup_width = 600;
var popup_height = 500;
var hiddenForm = document.hiddenForm;
var url = "/partMng/partMngFormPopUp.do";
if("" != objId){
url = "/partMng/partMngDetailPopUp.do";
}
var target = "partMngPopUp";
fn_centerPopup(popup_width, popup_height, url, target);
hiddenForm.action = url;
hiddenForm.OBJID.value = objId;
hiddenForm.target = target;
hiddenForm.submit();
}
//상신된 결재라인가져오기
function fn_getApprLine(){
if('${objId}'!=''){
$.ajax({
url:"/common/getApprovalLine.do",
type:"POST",
data:{"objId":"${objId}"},
dataType:"json",
async:false,
success:function(data){
$.each(data.RESULT, function(i,o){
if(i==0){
$("#appr"+i).html(o.WRITER +"<br/>"+ o.REGDATE);
}
$("#appr"+(i+1)).html(o.TARGET_USER_NAME +"<br/>"+ (o.PROC_DATE!=undefined?o.PROC_DATE:" "));
});
},
error: function(jqxhr, status, error){
}
});
}
}
function fn_getSalesRequest(){
//alert("1234")
if('${param.sales_request_objid}'!=''){
$.ajax({
url:"/salesMng/getSalesRequest.do",
type:"POST",
data:{"SALES_REQUEST_MASTER_OBJID":"${param.sales_request_objid}"},
dataType:"json",
async:false,
success:function(data){
$.each(data.RESULT, function(i,o){
$("#CONTRACT_MGMT_OBJID").val(o.PROJECT_NO);
$("#UNIT_CODE").val(o.UNIT_NAME);
fn_UnitCodeList(o.PROJECT_NO, "UNIT_CODE","");
$("#UNIT_CODE").val(o.UNIT_NAME);
});
},
error: function(jqxhr, status, error){
}
});
}
}
//프로젝트(계약), 유닛, 업체명(선택시)으로 구매BOM에 등록된 부품정보를 자동 추가(조회)
function addBomPart(){
grid.clearGridData();
$("#BOM_REPORT_OBJID").val("");
//$("#SALES_MNG_USER_ID").val("").trigger("change");
var type = $("#TYPE").val(); //발주부품
var contract_mgmt_objid = $("#CONTRACT_MGMT_OBJID").val(); //프로젝트명
var unit_code = $("#UNIT_CODE").val(); //유닛명
var partner_objid = $("#PARTNER_OBJID").val(); //공급업체
//console.log('type:'+type + ' contract_mgmt_objid:'+contract_mgmt_objid + ' unit_code:'+unit_code + ' partner_objid:'+partner_objid);
//일반부품이고, 프로젝트명, 유닛명, 공급업체가 선택되어있으면
if( (fnc_checkNull(type)==TYPE_STANDARD
|| fnc_checkNull(type)==TYPE_BUY_ITEM //241021 구매품표준 추가
|| fnc_checkNull(type)==TYPE_TURNKEY //240823 턴키 추가
)
&& fnc_checkNull(contract_mgmt_objid)!=""
&& (fnc_checkNull(unit_code)!="" || fnc_checkNull(type)==TYPE_BUY_ITEM)
&& fnc_checkNull(partner_objid)!=""
){
var type = $("#TYPE").val();
var ORDER_TYPE_CD = $("#ORDER_TYPE_CD").val(); //발주구분
if(type==TYPE_STANDARD && ORDER_TYPE_CD == '0001407'){ //일반부품 && 신규
$("#preventDuplYN").val('Y');
}else{
$("#preventDuplYN").val('');
}
var sqlId = "purchaseOrder.purchaseOrderSalesBomPartListByPartnerContract";
if(fnc_checkNull(type)==TYPE_BUY_ITEM){ //fnc_checkNull(unit_code) == "" &&
sqlId += "TypeBuy";
}
//구매BOM 조회해서 부품정보를 가져온다
var list = fnc_getJsonAllDataListBySqlId({"sqlId":sqlId
, "CONTRACT_MGMT_OBJID":contract_mgmt_objid
, "UNIT_CODE":unit_code
, "PARTNER_OBJID": partner_objid
, "preventDuplYN": $("#preventDuplYN").val()
, "TYPE": type
, "PART_TYPE": fnc_convertTypePOToPart(type)
, "TYPE_TURNKEY_YN": (type == TYPE_TURNKEY ? "Y" : "N") });
if(fnc_checkNull( list )!=""){
var text = "";
var sameProjectCount = fn_getProjectCount();
$.each(list, function(i,o){
if(i==0){
$("#BOM_REPORT_OBJID" ).val( list[0].BOM_REPORT_OBJID );
//$("#SALES_MNG_USER_ID").val( list[0].WRITER ).trigger("change");
}
// PART_NO와 REMARK를 가져와서 연결
var partNo = o.PART_NO;
var remark = o.REMARK;
var ORDER_QTY = Number(fnc_checkNullDefaultValue(o.ORDER_QTY, '0'));
var TOTAL_ORDER_QTY = ORDER_QTY * sameProjectCount;
//alert(sameProjectCount + ":" +TOTAL_ORDER_QTY);
var partText = partNo + ": " + remark;
if (i > 0) {
text += "\n";
}
// 현재 항목을 전체 텍스트에 추가
text += partText;
var rowData = new Map();
if(type==TYPE_STANDARD || type==TYPE_BUY_ITEM){
rowData.put("PART_OBJID" , o.PART_OBJID );
}else{
rowData.put("LD_PART_OBJID", o.PART_OBJID );
}
rowData.put("PART_NAME" , o.PART_NAME );
rowData.put("PART_NO" , o.PART_NO );
rowData.put("SPEC" , o.SPEC );
rowData.put("MAKER" , o.MAKER );
rowData.put("UNIT" , o.UNIT );
rowData.put("ORDER_QTY" , o.ORDER_QTY );
rowData.put("PARTNER_PRICE", o.PARTNER_PRICE);
rowData.put("PRICE1" , o.PRICE1 );
rowData.put("PRICE2" , o.PRICE2 );
rowData.put("PRICE3" , o.PRICE3 );
rowData.put("PRICE4" , o.PRICE4 );
rowData.put("STOCK_QTY" , o.STOCK_QTY );
rowData.put("TOTAL_ORDER_QTY" , TOTAL_ORDER_QTY );
//rowData.put("REAL_ORDER_QTY" , TOTAL_ORDER_QTY );
fn_addRow(rowData, true);
});
}
console.log("text::"+text);
$("#REMARK").val(text);
}
gridFn.footerSummary(); //부품하단 합계 자동계산
}
//행추가시 품목선택 팝업
function fn_openPartMngListPopUp(){
/*
fn_editGridColumnEditableCondition('QTY', false);
fn_editGridColumnEditableCondition('PART_NAME', false);
fn_editGridColumnEditableCondition('PART_NO', false);
fn_editGridColumnEditableCondition('SPEC', false);
fn_editGridColumnEditableCondition('MAKER', false);
var ORDER_TYPE_CD = $("#ORDER_TYPE_CD").val("");
*/
var hiddenForm = document.hiddenForm;
var target = "purchaseOrderPartSelectListPopUp";
var typeVal = $("#TYPE").val();
var isLD = typeVal == TYPE_LONG_DLV; //발주구분: 장납기부품 //TYPE_STANDARD TYPE_LONG_DLV TYPE_ETC
var isBuy = typeVal == TYPE_BUY_ITEM;//구매품표준
if(isLD){
//fn_editGridColumnEditableCondition('QTY', true);
var url = "/salesMng/salesLongDeliveryList.do?callbackFnc=fn_addRow&callType=purchaseOrder&actionType=SelectPopup&admin_supply="+$("#PARTNER_OBJID").val();
window.open(url,target,"width=1510,height=800");
}else if(typeVal == TYPE_STANDARD || typeVal==TYPE_BUY_ITEM){
if(ORDER_TYPE_CD == '0001408'){//재발주
//fn_editGridColumnEditableCondition('QTY', true);
}
var url = "/partMng/partMngListPopUp.do?callbackFnc=fn_addRow&callType=purchaseOrder&SEARCH_PART_TYPE="+fnc_convertTypePOToPart(typeVal)+"&searchTypePO="+typeVal;
if(isBuy){
url += "&isFixType=Y";
}
window.open(url,target,"width=1480,height=850");
}else if(!fnc_isEmpty(typeVal)){ //잡자재추가(230807)
var rowData = new Map();
/*
if(type==TYPE_STANDARD){
rowData.put("PART_OBJID" , o.PART_OBJID );
}else{
rowData.put("LD_PART_OBJID", o.PART_OBJID );
}
rowData.put("PART_NAME" , o.PART_NAME );
rowData.put("PART_NO" , o.PART_NO );
rowData.put("SPEC" , o.SPEC );
rowData.put("MAKER" , o.MAKER );
rowData.put("UNIT" , o.UNIT );
rowData.put("ORDER_QTY" , o.ORDER_QTY );
rowData.put("PARTNER_PRICE", o.PARTNER_PRICE);
rowData.put("PRICE1" , o.PRICE1 );
rowData.put("PRICE2" , o.PRICE2 );
rowData.put("PRICE3" , o.PRICE3 );
fn_editGridColumnEditableCondition('QTY', true);
fn_editGridColumnEditableCondition('PART_NAME', true);
fn_editGridColumnEditableCondition('PART_NO', true);
fn_editGridColumnEditableCondition('SPEC', true);
fn_editGridColumnEditableCondition('MAKER', true);
*/
fn_addRow(rowData, true);
//var colModels = grid.jqGrid('getGridParam','colModel');
/*
var ids = grid.jqGrid("getDataIDs");
for (var i = 0; i < ids.length; i++) {
grid.jqGrid("editRow",ids[i]);
}
*/
}else{
var url = "/partMng/partMngListPopUp.do?callbackFnc=fn_addRow&callType=purchaseOrder";
window.open(url,target,"width=1480,height=850");
}
}
function fn_editGridColumnEditableCondition(colName, editable){
var nameColModel = grid.jqGrid('getColProp', colName);
nameColModel.editable = editable; // 또는 false로 변경할 수 있음
/*
if(!editable && colName == "PART_NO"){
nameColModel.formatter = setLink;
}else{
nameColModel.formatter = null;
}
*/
// 변경된 설정을 업데이트
grid.jqGrid('setColProp', colName, nameColModel);
}
function resetColumnCondition(){
fn_editGridColumnEditableCondition('QTY', false);
fn_editGridColumnEditableCondition('PART_NAME', false);
fn_editGridColumnEditableCondition('PART_NO', false);
fn_editGridColumnEditableCondition('SPEC', false);
fn_editGridColumnEditableCondition('MAKER', false);
var typeVal = $("#TYPE").val();
var isLD = typeVal == TYPE_LONG_DLV; //발주구분: 장납기부품 //TYPE_STANDARD TYPE_LONG_DLV TYPE_ETC
if(isLD){
fn_editGridColumnEditableCondition('QTY', true);
}else if(typeVal == TYPE_STANDARD){
var ORDER_TYPE_CD = $("#ORDER_TYPE_CD").val();
if(ORDER_TYPE_CD == '0001408'){ //재발주
fn_editGridColumnEditableCondition('QTY', true);
}
}else if(typeVal==TYPE_BUY_ITEM){ //구매품표준
fn_editGridColumnEditableCondition('QTY', true);
}else if(typeVal == TYPE_ETC || typeVal == TYPE_SUBCONTRACT){ //잡자재추가(230807) 사급품추가(240527)
fn_editGridColumnEditableCondition('QTY', true);
fn_editGridColumnEditableCondition('PART_NAME', true);
fn_editGridColumnEditableCondition('PART_NO', true);
fn_editGridColumnEditableCondition('SPEC', true);
fn_editGridColumnEditableCondition('MAKER', true);
}else{
}
}
//품목선택 callbackFnc :: 자동 및 수동 행추가시 사용됨
function fn_addRow(rowData, isNew){
//console.log(rowData);
resetColumnCondition();
var sameProjectCount = fn_getProjectCount();
var v1 = Number( fnc_checkNullDefaultValue(rowData.map.ORDER_QTY ,0) );
var v2 = Number( fnc_checkNullDefaultValue(rowData.map.PARTNER_PRICE,0) );
var v3 = Number( fnc_checkNullDefaultValue(rowData.map.PRICE1 ,0) );
var v4 = Number( fnc_checkNullDefaultValue(rowData.map.PRICE2 ,0) );
var v5 = Number( fnc_checkNullDefaultValue(rowData.map.PRICE3 ,0) );
var v6 = Number( fnc_checkNullDefaultValue(rowData.map.PRICE4 ,0) );
var STOCK_QTY = Number(fnc_checkNullDefaultValue(rowData.map.STOCK_QTY, 0));
STOCK_QTY = STOCK_QTY * sameProjectCount > rowData.map.ORDER_QTY * sameProjectCount ? rowData.map.ORDER_QTY : STOCK_QTY;
var ORDER_QTY = v1 - (v1*(sameProjectCount-1) == 0 ? STOCK_QTY : (STOCK_QTY < v1*(sameProjectCount-1) ? 0 : STOCK_QTY - v1*(sameProjectCount-1)) );
//var REAL_ORDER_QTY = rowData.map.REAL_ORDER_QTY ? rowData.map.REAL_ORDER_QTY : ORDER_QTY * sameProjectCount;
var REAL_ORDER_QTY = ORDER_QTY * sameProjectCount;
var v7 = Number( fnc_checkNullDefaultValue(rowData.map.REAL_ORDER_QTY, ORDER_QTY) );
var _rowSum = ORDER_QTY * (v2+v3+v4+v5+v6);
var _rowSum2 = REAL_ORDER_QTY * (v2+v3+v4+v5+v6);
var addData = {
"PART_OBJID" : rowData.map.PART_OBJID
,"LD_PART_OBJID": rowData.map.LD_PART_OBJID
,"PART_NAME" : rowData.map.PART_NAME
,"PART_NO" : rowData.map.PART_NO
,"SPEC" : rowData.map.SPEC
,"MAKER" : rowData.map.MAKER
,"UNIT" : !isNew ? rowData.map.UNIT : fnc_checkNullDefaultValue(rowData.map.UNIT, '0001400') //240312 신규시 default 0001400 EA
,"BOM_QTY" : fnc_checkNullDefaultValue(rowData.map.BOM_QTY, rowData.map.ORDER_QTY)
,"QTY" : fnc_checkNullDefaultValue(fnc_checkNullDefaultValue(rowData.map.QTY, rowData.map.ORDER_QTY), rowData.map.BOM_QTY)
,"ORDER_QTY" : fnc_checkNullDefaultValue(ORDER_QTY, rowData.map.QTY)
,"PARTNER_PRICE": rowData.map.PARTNER_PRICE //numberWithCommas(rowData.map.PARTNER_PRICE )
,"PRICE1" : rowData.map.PRICE1 //numberWithCommas(rowData.map.PRICE1 )
,"PRICE2" : rowData.map.PRICE2 //numberWithCommas(rowData.map.PRICE2 )
,"PRICE3" : rowData.map.PRICE3 //numberWithCommas(rowData.map.PRICE3 )
,"PRICE4" : rowData.map.PRICE4 //numberWithCommas(rowData.map.PRICE4 )
,"SUPPLY_UNIT_PRICE" : _rowSum
,"SUPPLY_UNIT_VAT_PRICE": (_rowSum * 0.1)
,"SUPPLY_UNIT_VAT_SUM_PRICE": Math.floor(_rowSum * 1.1)//.toFixed()
,"TOTAL_ORDER_QTY": rowData.map.TOTAL_ORDER_QTY ? rowData.map.TOTAL_ORDER_QTY : rowData.map.ORDER_QTY * sameProjectCount //240402 추가
,"REAL_ORDER_QTY" : REAL_ORDER_QTY
,"STOCK_QTY" : STOCK_QTY
,"STOCK_QTY_ORG" : rowData.map.STOCK_QTY
,"REAL_SUPPLY_PRICE" : _rowSum2
}
var newId = grid.getGridParam("reccount")+1;
grid.addRowData(newId, addData);
grid.jqGrid("editRow", newId);
addZeroEvtAtPriceInput();
rowData.map.SUPPLY_UNIT_PRICE = _rowSum;
// 추가된 행의 특정 셀 데이터 갱신
//var cellValue = $("#grid1").jqGrid('getCell', newId, 'PARTNER_PRICE');
//var formattedValue = cellValue.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
//$("#grid").jqGrid('setCell', newId, 'PARTNER_PRICE', formattedValue);
//240910 comma처리 추가
var rowId = newId;
var $g = $("#grid1");
$g.find("#"+rowId+"_PARTNER_PRICE").val( numberWithCommas(rowData.map.PARTNER_PRICE));
$g.find("#"+rowId+"_PRICE1").val( numberWithCommas(rowData.map.PRICE1));
$g.find("#"+rowId+"_PRICE2").val( numberWithCommas(rowData.map.PRICE2));
$g.find("#"+rowId+"_PRICE3").val( numberWithCommas(rowData.map.PRICE3));
$g.find("#"+rowId+"_PRICE4").val( numberWithCommas(rowData.map.PRICE4));
$g.find("#"+rowId+"_SUPPLY_UNIT_PRICE").val( numberWithCommas(rowData.map.SUPPLY_UNIT_PRICE));
//gridFn.calcRowAll(null, newId);
/*
// 데이터 포맷팅을 다시 적용하기 위해 그리드 리프레시
grid.jqGrid('setCell', 1, 'amount', $("#grid").jqGrid('getCell', 1, 'amount'), {
formatter: 'number',
formatoptions: {
decimalPlaces: 0,
thousandsSeparator: ","
}
});
*/
}
function fn_save(){
if(fnc_valitate("form1")){
if(""==grid.getRowData()){
Swal.fire('저장할 품목이 존재 하지 않습니다.');
return;
}
var existsDup = false;
var ARR_APPLICATION_PROJECT_NO = new Array();
$(".APPLICATION_PROJECT_NO").each(function(){
//ARR_APPLICATION_PROJECT_NO.push($(this).val());
});
$(".APPLICATION_PROJECT_NO").each(function(){
for(var i=0; i<ARR_APPLICATION_PROJECT_NO.length; i++){
if(this.value != '' && ARR_APPLICATION_PROJECT_NO[i] == this.value){
existsDup = true;
break;
}
}
ARR_APPLICATION_PROJECT_NO.push($(this).val());
});
if(existsDup){
Swal.fire('동시적용 프로젝트번호에 중복건이 존재합니다.');
return;
}
//$("#status").val("PURSTCD00100");
var isValid = fn_checkQty();
if(!isValid){
return;
}
if(confirm("저장 하시겠습니까?")){
fn_save_process();
}
}
}
function fn_checkQty(){
var isValid = true;
var $g = $("#grid1");
var ids = grid.jqGrid("getDataIDs");
for (var i = 0; i < ids.length; i++) {
var rowId = ids[i];
// 수량
var qtyVal = fnc_checkNullDefaultValue($g.find("#"+rowId+"_ORDER_QTY").val(), grid.jqGrid('getCell', rowId, "ORDER_QTY"));
var v1 = Number((qtyVal || "0").toString().replace(/,/gi,""));
// 단가
var priceVal = fnc_checkNullDefaultValue($g.find("#"+rowId+"_PARTNER_PRICE").val(), grid.jqGrid('getCell', rowId, "PARTNER_PRICE"));
var v2 = Number((priceVal || "0").toString().replace(/,/gi,""));
if(!$.isNumeric(v1) || !$.isNumeric(v2)){
Swal.fire("단가와 수량은 숫자로 입력해 주세요.");
isValid = false;
break;
} else if(v1 < 1){
Swal.fire("수량은 0보다 커야합니다.");
isValid = false;
break;
}
}
return isValid;
}
<% if(isModify){ %>
function fn_save_process(){
//var master_title = grid.getRowData(1).PART_NAME;
//if(grid.getRowData().length > 1){
// master_title += " 외 "+(grid.getRowData().length-1)+"건";
//}
//$("input[name=TITLE]").val(master_title);
//$("#facility_qty").val($("#facility_qty").val().replace(/,/gi,""));
$("input[name*='PRICE']").not($("#TOTAL_PRICE_TXT,#TOTAL_PRICE_TXT_ALL")).each(function(){
$(this).val($(this).val().replace(/,/gi,""));
});
$("input[name*='QTY']").each(function(){
$(this).val($(this).val().replace(/,/gi,""));
});
$("select[name^='APPLICATION_PROJECT_NO']").each(function(i){
//alert($(this).find("option:selected").text());
$("input[name='APPLICATION_PROJECT_NUMBER"+(i+1)+"']").val($(this).find("option:selected").text());
});
var ORDER_TYPE_CD = $("#ORDER_TYPE_CD").val(); //발주구분
if(ORDER_TYPE_CD == '0001407'){ //신규
$("#preventDuplYN").val('Y');
}else{
$("#preventDuplYN").val('');
}
//alert('return');
//return;
gridFn.closeEdit();
$.ajax({
url:"/purchaseOrder/purchaseOrderFormPopup_newSave.do"
,type:"POST"
,data: $("#form1").serialize() + "&jqGrid="+ encodeURIComponent(JSON.stringify(grid.getRowData()))
,dataType:"json"
,success:function(data){
//if(data =="SUCCESS"){
console.log('data:'+data);
if(data && data.RESULT == 'S'){
alert("저장되었습니다.");
if(typeof opener.fn_search =="function"){ opener.fn_search() };
self.close();
}else{
alert(data.MSG);
}
}
,error: function(jqxhr, status, error){
alert('에러가 발생하였습니다. 시스템 관리자에게 문의하여 주세요.');
}
});
}
<% } %>
var gridFn = {
addRow : function() {
//var newId = grid.getGridParam("reccount")+1;
//var addData = {
// "PART_OBJID" : ""
// ,"PART_NAME" : ""
// ,"DO_NO" : ""
// ,"THICKNESS" : ""
// ,"WIDTH" : ""
// ,"HEIGHT" : ""
// ,"OUT_DIAMETER" : ""
// ,"IN_DIAMETER" : ""
// ,"LENGTH" : ""
// ,"ORDER_QTY" : ""
//};
//grid.addRowData(newId, addData);
//grid.jqGrid("editRow", newId);
}
,delRow : function(){
var selectedRowIds = grid.jqGrid("getGridParam","selarrrow");
if(selectedRowIds.length==0){
Swal.fire("삭제할 행을 선택해주십시오.");
return false;
}
for(var i = selectedRowIds.length - 1; i >= 0; i--){
grid.delRowData(selectedRowIds[i]);
}
reCalculatePrice(); //240528add
}
,opennEdit : function() { //수정가능
var ids = grid.jqGrid("getDataIDs");
for (var i = 0; i < ids.length; i++) {
grid.jqGrid("editRow",ids[i]);
}
}
,closeEdit : function() { //수정불가
var ids = grid.jqGrid("getDataIDs");
for (var i = 0; i < ids.length; i++) {
grid.jqGrid("saveRow", ids[i], /*successFunction*/null, /*url*/"clientArray"/*, extraparam, aftersavefunc,errorfunc, afterrestorefunc*/);
}
}
,search : function() {
//grid.setGridParam({
// url: "/materMgmt/searchPartMgmt.do"
// ,datatype : "json"
// ,postData : $("#form1").serialize()
// ,loadComplete : function(data) {
// gridFn.footerSummary();
// }
// ,gridComplete : function() {
// gridFn.opennEdit(); //수정가능
// }
//}).trigger("reloadGrid");
//grid.setGridParam({url: "", datatype : "local"});
}
,calcRowAll : function(e, pRowId){ //행 계산: 수량 * 단가 = 공급가
var $g = $("#grid1");
var rowId = e ? e.target.id.split("_")[0] : pRowId;
// 수량 (ORDER_QTY)
var qty = Number(fnc_checkNullDefaultValue($g.find("#"+rowId+"_ORDER_QTY").val(), grid.jqGrid('getCell', rowId, "ORDER_QTY")).toString().replace(/,/g,""));
// 단가
var unitPrice = Number(fnc_checkNullDefaultValue($g.find("#"+rowId+"_PARTNER_PRICE").val(), grid.jqGrid('getCell', rowId, "PARTNER_PRICE")).toString().replace(/,/g,""));
// 공급가 = 수량 * 단가
var supplyPrice = qty * unitPrice;
// 공급가 셋팅
$g.jqGrid('setCell', rowId, "SUPPLY_UNIT_PRICE", supplyPrice);
this.footerSummary();
}
/*
,calcRowRealQty : function(e){ //실발주수량 계산(위에거 사용)
var $g = $("#grid1");
//var rowId = $g.jqGrid('getGridParam', 'selrow'); //선택된행 번호
var rowId = e.target.id.split("_")[0]; //수정중인 행번호 (행선택은 안될수있음)
var eVal = $(e.target).val().replace(/,/gi,"");
var v1 = Number( $g.find("#"+rowId+"_ORDER_QTY").val().replace(/,/gi,"") ) * sameProjectCount;
var q1 = Number( $g.find("#"+rowId+"_TOTAL_ORDER_QTY").val().replace(/,/gi,"") );
var q2 = Number( $g.find("#"+rowId+"_STOCK_QTY").val().replace(/,/gi,"") );
var q3 = Number( $g.find("#"+rowId+"_REAL_ORDER_QTY").val().replace(/,/gi,"") );
var sameProjectCount = fn_getProjectCount();
if(!$.isNumeric( fnc_checkNullDefaultValue(eVal,"0")) ){
Swal.fire("숫자를 입력해주세요."); $(e.target).select(); return;
}
//else if(v1/q2){
// Swal.fire("재고수량은 마지막 동시발주건의 수량이 입력되도록 수량보다 작아야 합니다."); $(e.target).select(); return;
//}
else if(q1<q2){
Swal.fire("재고수량은 총발주수량보다 클 수 없습니다."); $(e.target).select(); return;
}else{
$(e.target).val(fnc_addComma(eVal.replace(/[^0-9]/g,"")));
}
if( e.target.id == rowId+"_ORDER_QTY"
|| e.target.id == rowId+"_TOTAL_ORDER_QTY"
|| e.target.id == rowId+"_STOCK_QTY"
|| e.target.id == rowId+"_REAL_ORDER_QTY"
){
var v1 = Number( $g.find("#"+rowId+"_ORDER_QTY").val().replace(/,/gi,"") );
if( e.target.id == rowId+"_ORDER_QTY"){
$g.find("#"+rowId+"_TOTAL_ORDER_QTY").val( numberWithCommas( v1*sameProjectCount ));
}
q1 = Number( $g.find("#"+rowId+"_TOTAL_ORDER_QTY").val().replace(/,/gi,"") );
q2 = Number( $g.find("#"+rowId+"_STOCK_QTY").val().replace(/,/gi,"") );
q3 = Number( $g.find("#"+rowId+"_REAL_ORDER_QTY").val().replace(/,/gi,"") );
$g.find("#"+rowId+"_REAL_ORDER_QTY").val( numberWithCommas( q1-q2 ));
}
}
*/
,footerSummary: function(){ //자동합계: 공급가 합계
var totalSupplyPrice = 0;
$.each($("#grid1").jqGrid('getDataIDs'), function(i, rowId){
var supplyPrice = grid.jqGrid('getCell', rowId, "SUPPLY_UNIT_PRICE");
supplyPrice = fnc_checkNullDefaultValue(supplyPrice, "0").toString().replace(/,/g,"");
if($.isNumeric(supplyPrice)){
totalSupplyPrice += Number(supplyPrice);
}
});
var totalWithVat = Math.floor(totalSupplyPrice * 1.1); // 부가세 포함
$("#TOTAL_SUPPLY_PRICE").val(numberWithCommas(totalSupplyPrice));
$("#TOTAL_SUPPLY_UNIT_PRICE").val(numberWithCommas(totalWithVat));
$("#TOTAL_REAL_SUPPLY_PRICE").val(numberWithCommas(totalSupplyPrice));
$("#TOTAL_PRICE_TXT").val(fnc_numToKr(totalSupplyPrice+"","일금 "," 원정") + " (₩ "+numberWithCommas(totalSupplyPrice)+")");
$("#TOTAL_PRICE_TXT_ALL").val(fnc_numToKr(totalWithVat+"","일금 "," 원정") + " (₩ "+numberWithCommas(totalWithVat)+")");
}
}
//동시구매건수 + 메인(1) 건수
function fn_getProjectCount(){
var sameProjectCount = $('.APPLICATION_PROJECT_NO').filter(function(){
return $(this).val() !== '' && fnc_isEmpty($(this).attr("disabled"));
}).length;
return fnc_checkNullDefaultValue(sameProjectCount, 0) + 1;
}
//단가저장
function fn_price_save(){
//var master_title = grid.getRowData(1).PART_NAME;
//if(grid.getRowData().length > 1){
// master_title += " 외 "+(grid.getRowData().length-1)+"건";
//}
//$("input[name=TITLE]").val(master_title);
//$("#facility_qty").val($("#facility_qty").val().replace(/,/gi,""));
var isValid = fn_checkQty();
if(!isValid){
return;
}
if(confirm("저장 하시겠습니까?")){
$("input[name*='PRICE']").not($("#TOTAL_PRICE_TXT,#TOTAL_PRICE_TXT_ALL")).each(function(){
$(this).val($(this).val().replace(/,/gi,""));
});
$("input[name*='QTY']").each(function(){
$(this).val($(this).val().replace(/,/gi,""));
});
gridFn.closeEdit();
$.ajax({
url:"/purchaseOrder/purchaseOrderFormPopup_PriceSave.do"
,type:"POST"
,data: $("#form1").serialize() + "&jqGrid="+ encodeURIComponent(JSON.stringify(grid.getRowData()))
,dataType:"json"
,success:function(data){
if(data =="SUCCESS"){
alert("저장되었습니다.");
};
if(typeof opener.fn_search =="function"){ opener.fn_search() };
self.close();
}
,error: function(jqxhr, status, error){
}
});
}
}
</script>
</head>
<body>
<form name="hiddenForm" id="hiddenForm" method="post">
<input type="hidden" name="OBJID" id="OBJID">
</form>
<form name="form1" id="form1" action="" method="post">
<input type="hidden" name="MASTER_OBJID" id="MASTER_OBJID" value="${objId}" />
<input type="hidden" name="BOM_REPORT_OBJID" id="BOM_REPORT_OBJID" value="${info.BOM_REPORT_OBJID}" />
<input type="hidden" name="SALES_REQUEST_OBJID" id="SALES_REQUEST_OBJID" value="${info.SALES_REQUEST_OBJID}" />
<input type="hidden" name="preventDuplYN" id="preventDuplYN" value="" />
<section>
<div class="plm_menu_name">
<h2><span>발주서</span></h2>
</div>
<div id="expenseApplyPopupFormWrap1">
<table class="pmsPopupForm">
<colgroup>
<col width="5%" />
<col width="5%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<!-- <col width="10%" /> -->
<col width="5%" />
<col width="5%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
</colgroup>
<tr>
<td colspan="2">발주번호</td>
<td colspan="1"><input type="text" name="PURCHASE_ORDER_NO" id="PURCHASE_ORDER_NO" value="${info.PURCHASE_ORDER_NO }" readonly /></td>
<td colspan="">발주부품</td>
<td colspan="2">
<select name="TYPE" id="TYPE" required reqTitle="발주부품" type="select" class="select2" autocomplete="off" disabled>
<option value="">선택</option>
${code_map.type}
</select>
</td>
<td colspan="2">프로젝트번호</td>
<td colspan="1">
<select name="CONTRACT_MGMT_OBJID" id="CONTRACT_MGMT_OBJID" required reqTitle="PROJECT명" type="select" class="select2" autocomplete="off" disabled>
<option value="">선택</option>
${code_map.project_no}
</select>
</td>
<!-- <td colspan="">유닛명</td>
<td colspan="2">
<select name="UNIT_CODE" id="UNIT_CODE" required reqTitle="유닛명" type="select" class="select2" autocomplete="off" disabled></select>
</td> -->
</tr>
<tr>
<td rowspan="2" colspan="6" style="text-align:center; height: 65px;"><h1 style="font-size: 35px;">발 주 서<br/><p style="font-size:12px; border:none; width:100%;">(Purchase Order)</p></h1></td>
<td rowspan="2" colspan="2" style="height: 65px;" class="input_title">결재</td>
<td style="text-align:center; height: 15px;" class="input_title">담당</td>
<td style="text-align:center;" class="input_title">검토</td>
<td style="text-align:center;" class="input_title">결재</td>
<td style="text-align:center;" class="input_title">대표</td>
</tr>
<tr>
<td style="text-align:center;" id="appr0"></td>
<td style="text-align:center;" id="appr1"></td>
<td style="text-align:center;" id="appr2"></td>
<td style="text-align:center;" id="appr3"></td>
</tr>
<tr>
<td rowspan="6" colspan="2" class="input_title">발주처</td>
<td class="input_title">회사명</td>
<td colspan="3">
<!-- 우성에스이주식회사 -->
<select name="PO_CLIENT_ID" id="PO_CLIENT_ID" required reqTitle="발주처 회사명" type="select" class="select2" autocomplete="off" disabled >
${code_map.PO_CLIENT_ID}
</select>
</td>
<td rowspan="6" colspan="2" class="input_title">공급처</td>
<td class="input_title">회사명</td>
<td colspan="3">
<select name="PARTNER_OBJID" id="PARTNER_OBJID" required reqTitle="공급처회사명" type="select" class="select2" autocomplete="off" disabled>
<option value="">선택</option>
${code_map.partner_cd}
</select>
</td>
</tr>
<tr>
<td class="input_title">사업자번호</td>
<td colspan="3" id="SALES_BUS_NO">${info.SALES_REG_NO }<!-- 514-81-95155 --></td>
<td class="input_title">사업자번호</td>
<td colspan="3"><input type="text" name="SUPPLY_BUS_NO" id="SUPPLY_BUS_NO" value="${info.SUPPLY_BUS_NO }" readonly /></td>
</tr>
<tr>
<td class="input_title">담당자</td>
<td>
<select name="SALES_MNG_USER_ID" id="SALES_MNG_USER_ID" required reqTitle="구매담당자" type="select" class="select2" autocomplete="off" disabled>
<option value="">선택</option>
${code_map.sales_mng_user_id}
</select>
</td>
<td class="input_title">HP</td>
<td><input type="text" name="SALES_MNG_USER_HP" id="SALES_MNG_USER_HP" value="${info.SALES_MNG_USER_CELL_PHONE }" readonly /></td>
<td class="input_title">대표자</td>
<td><input type="text" name="SUPPLY_USER_NAME" id="SUPPLY_USER_NAME" value="${info.SUPPLY_USER_NAME }" readonly /></td>
<td class="input_title">HP</td>
<td><input type="text" name="SUPPLY_USER_HP" id="SUPPLY_USER_HP" value="${info.SUPPLY_USER_HP }" readonly /></td>
</tr>
<tr>
<td class="input_title">전 화</td>
<td><input type="text" name="SALES_MNG_USER_TEL" id="SALES_MNG_USER_TEL" value="${info.SALES_SUPPLY_OFFICE_NO }" readonly /></td>
<td class="input_title">FAX</td>
<td><input type="text" name="SALES_MNG_USER_FAX" id="SALES_MNG_USER_FAX" value="${info.SALES_SUPPLY_FAX_NO }" readonly /></td>
<td class="input_title">전 화</td>
<td><input type="text" name="SUPPLY_USER_TEL" id="SUPPLY_USER_TEL" value="${info.SUPPLY_USER_TEL }" readonly /></td>
<td class="input_title">FAX</td>
<td><input type="text" name="SUPPLY_USER_FAX" id="SUPPLY_USER_FAX" value="${info.SUPPLY_USER_FAX }" readonly /></td>
</tr>
<tr>
<td class="input_title">E-MAIL</td>
<td colspan="3" id="SALES_EMAIL">${info.SALES_EMAIL }<!-- woosung@wsse.co.kr --></td>
<td class="input_title">E-MAIL</td>
<td colspan="3"><input type="text" name="SUPPLY_USER_EMAIL" id="SUPPLY_USER_EMAIL" value="${info.SUPPLY_USER_EMAIL }" readonly /></td>
</tr>
<tr>
<td class="input_title">주 소</td>
<td colspan="3" id="SALES_ADDR">${info.SALES_SUPPLY_ADDRESS }<!-- 대구광역시 달성군 다사읍 세천로3길 28 --></td>
<td class="input_title">주 소</td>
<td colspan="3"><input type="text" name="SUPPLY_ADDR" id="SUPPLY_ADDR" value="${info.SUPPLY_ADDR }" readonly /></td>
</tr>
<tr>
<td colspan="12" style="text-align: center; height:40px; color:#003399; font-weight:500;">아래의 자재를 발주하오니 기일 내 필히 납품하여 주시기 바랍니다.</td>
</tr>
<tr>
<td colspan="2" class="input_title">발주구분</td>
<td colspan="1">
<select name="ORDER_TYPE_CD" id="ORDER_TYPE_CD" required reqTitle="발주구분" type="select" class="select2" autocomplete="off" disabled style="width:100%;">
<option value="">선택</option>
${code_map.order_type_cd}
</select>
</td>
<td colspan="" class="input_title">납품장소</td>
<td colspan="1">
<select name="DELIVERY_PLACE" id="DELIVERY_PLACE" required reqTitle="납품장소" type="select" class="select2" autocomplete="off" disabled style="width:100%;">
<option value="">선택</option>
${code_map.delivery_place}
</select>
</td>
<td colspan="1" class="input_title">검수방법</td>
<td colspan="2">
<select name="INSPECT_METHOD" id="INSPECT_METHOD" required reqTitle="검수방법" type="select" class="select2" autocomplete="off" disabled style="width:100%;">
<option value="">선택</option>
${code_map.inspect_method}
</select>
</td>
<td colspan="1" class="input_title">결제조건</td>
<td colspan="1">
<select name="PAYMENT_TERMS" id="PAYMENT_TERMS" required reqTitle="결제조건" type="select" class="select2" autocomplete="off" disabled style="width:100%;">
<option value="">선택</option>
${code_map.payment_terms}
</select>
</td>
<td colspan="1" class="input_title">입고요청일</td>
<td colspan="1"><input type="text" name="DELIVERY_DATE" id="DELIVERY_DATE" class="date_icon" required reqTitle="입고요청일" value="${info.DELIVERY_DATE }" readonly/></td>
</tr>
<tr>
<!-- <td colspan="2" class="input_title">발주서 No.</td>
<td colspan="1">
<%if(isModify){ %>
<select name="PURCHASE_ORDER_NO_ORG" id="PURCHASE_ORDER_NO_ORG" required reqTitle="발주서 No." type="select" class="select2" autocomplete="off" disabled style="width:100%;">
</select>
<%}else{ %>
${info.PURCHASE_ORDER_NO_ORG_NO}
<%}%>
</td> -->
<td colspan="2" class="input_title">제목</td>
<td colspan="3"><input type="text" name="TITLE" id="TITLE" value="${info.TITLE }" required reqTitle="제목" readonly style="width:100%;"/></td>
<td colspan="" class="input_title">부가세포함 발주금액(원)</td>
<td colspan="6"><input type="hidden" name="TOTAL_PRICE_TXT" id="TOTAL_PRICE_TXT" value="${info.TOTAL_PRICE_TXT }" readonly placeHolder="금액합계 자동계산"/>
<input type="text" name="TOTAL_PRICE_TXT_ALL" id="TOTAL_PRICE_TXT_ALL" value="${info.TOTAL_PRICE_TXT_ALL}" readonly placeHolder="금액합계 자동계산"/></td>
<%--
<td colspan="5"><input type="text" name="TOTAL_PRICE_TXT" id="TOTAL_PRICE_TXT" value="${info.TOTAL_PRICE_TXT }" readonly placeHolder="금액합계 자동계산"/></td>
<td colspan="1" class="input_title">부가세</td>
<td colspan="1">
<select name="VAT_METHOD" id="VAT_METHOD" reqTitle="부가세" type="select" class="select2" autocomplete="off" disabled>
<option value="">선택</option>
${code_map.vat_method}
</select>
</td> --%>
</tr>
</table>
</div>
<div class="btn_wrap" style="height:40px;">
<div class="plm_btn_wrap" style="padding:0 8 0 8; text-align: right;">
<% if(isModify){ %>
<c:if test="${empty info || empty info.MULTI_YN || info.MULTI_YN eq 'Y' and info.MULTI_MASTER_YN eq 'Y'}">
<!-- <input type="button" value="행추가" class="plm_btns" id="btnAdd" name="btnAdd" style="background:#dfeffc">
<input type="button" value="행삭제" class="plm_btns" id="btnDel" name="btnDel" style="background:#dfeffc"> -->
<input type="button" value="저장" class="plm_btns" id="btnSave" name="btnSave" style="background:#dfeffc">
<c:if test="${!empty info && !empty info.OBJID && !empty info.WRITER }">
<!-- 240305 막음(목록에서만 상신)
<input type="button" value="결재상신" class="plm_btns" id="btnAppr" name="btnAppr" style="background:#dfeffc">
-->
</c:if>
</c:if>
<% }else{ %>
<c:if test="${info.STATUS eq 'approvalComplete' and param.action ne 'view'}"> <!--and info.APPR_STATUS eq '결재완료' ( && !empty info && empty info.MULTI_YN || info.MULTI_YN eq 'Y' and info.MULTI_MASTER_YN eq 'Y') -->
<input type="button" value="단가저장" class="plm_btns" id="btnPriceSave" name="btnPriceSave" style="background:#dfeffc">
</c:if>
<input type="button" value="발주서다운" class="plm_btns" id="btnDown" name="btnDown" style="background:#dfeffc">
<% } %>
<input type="button" value="닫기" class="plm_btns" style="background:#dfeffc" onclick="window.close();" >
</div>
</div>
<div id="plm_table_wrap1" style="padding:0 8 0 8;">
<div style="height: ;">
<table id="grid1""></table>
<!-- <div id="jqGridPager"></div> -->
<textarea style="width:0px; height:0px; visibility: hidden;" id="gridDetailList">${gridDetailList}<c:if test="${empty gridDetailList}">[]</c:if></textarea><!-- [{},{},{}] -->
</div>
</div>
<!-- <div id="expenseApplyPopupFormWrap1" style="margin-top:0px;position:relative;">
<div style="width:50%;position: absolute;left:0"></div>
<div style="width:48%;position: absolute;right:0">
<table class="pmsPopupForm" style="with:200px !important;border:1px solid">
<colgroup>
<col width="60px" />
<col width="70px" />
<col width="50px" />
<col width="50px" />
<col width="75px" />
<col width="75px" />
</colgroup>
<tr>
<td rowspan="" colspan="" class="input_title align_c"><b>할인금액(원)</b></td>
<td class="align_r2"><b><fmt:formatNumber value="${info.DISCOUNT_PRICE_ALL}" pattern="#,###" /></b></td>
<td rowspan="" colspan="" class="input_title align_c"><b>네고율</b></td>
<td class="align_r2"><b>${info.NEGO_RATE}</b></td>
<td rowspan="" colspan="" class="input_title align_c"><b>할인공급가(원)</b></td>
<td class="align_r2"><b><fmt:formatNumber value="${info.TOTAL_PRICE_ALL}" pattern="#,###" /></b></td>
<%--
<td><input type="text" name="DISCOUNT_PRICE_ALL" id="DISCOUNT_PRICE_ALL" value="${info.DISCOUNT_PRICE_ALL}" readonly numberOnly class=""/></td>
<td><input type="text" name="NEGO_RATE" id="NEGO_RATE" value="${info.NEGO_RATE}" readonly numberOnly class=""/></td>
<td><input type="text" name="TOTAL_PRICE_ALL" id="TOTAL_PRICE_ALL" value="${info.TOTAL_PRICE_ALL}" readonly numberOnly class=""/></td>
--%>
</tr>
</table>
</div>
</div> -->
<!-- <div id="expenseApplyPopupFormWrap1" style="margin-top:35px;position: ">
<table class="pmsPopupForm">
<colgroup>
<col width="10%" />
<col width="9%" />
<col width="9%" />
<col width="9%" />
<col width="9%" />
<col width="9%" />
<col width="9%" />
<col width="9%" />
<col width="9%" />
<col width="9%" />
<col width="9%" />
</colgroup>
<tr>
<input type="hidden" name="APPLICATION_OBJID1" id="APPLICATION_OBJID1" value="" class="APPLICATION_OBJID"/>
<input type="hidden" name="APPLICATION_OBJID2" id="APPLICATION_OBJID2" value="" class="APPLICATION_OBJID"/>
<input type="hidden" name="APPLICATION_OBJID3" id="APPLICATION_OBJID3" value="" class="APPLICATION_OBJID"/>
<input type="hidden" name="APPLICATION_OBJID4" id="APPLICATION_OBJID4" value="" class="APPLICATION_OBJID"/>
<input type="hidden" name="APPLICATION_OBJID5" id="APPLICATION_OBJID5" value="" class="APPLICATION_OBJID"/>
<input type="hidden" name="APPLICATION_OBJID6" id="APPLICATION_OBJID6" value="" class="APPLICATION_OBJID"/>
<input type="hidden" name="APPLICATION_OBJID7" id="APPLICATION_OBJID7" value="" class="APPLICATION_OBJID"/>
<input type="hidden" name="APPLICATION_OBJID8" id="APPLICATION_OBJID8" value="" class="APPLICATION_OBJID"/>
<input type="hidden" name="APPLICATION_OBJID9" id="APPLICATION_OBJID9" value="" class="APPLICATION_OBJID"/>
<input type="hidden" name="APPLICATION_OBJID10" id="APPLICATION_OBJID10" value="" class="APPLICATION_OBJID"/>
<input type="hidden" name="APPLICATION_PROJECT_NUMBER1" id="APPLICATION_PROJECT_NUMBER1" value="" class="APPLICATION_PROJECT_NUMBER"/>
<input type="hidden" name="APPLICATION_PROJECT_NUMBER2" id="APPLICATION_PROJECT_NUMBER2" value="" class="APPLICATION_PROJECT_NUMBER"/>
<input type="hidden" name="APPLICATION_PROJECT_NUMBER3" id="APPLICATION_PROJECT_NUMBER3" value="" class="APPLICATION_PROJECT_NUMBER"/>
<input type="hidden" name="APPLICATION_PROJECT_NUMBER4" id="APPLICATION_PROJECT_NUMBER4" value="" class="APPLICATION_PROJECT_NUMBER"/>
<input type="hidden" name="APPLICATION_PROJECT_NUMBER5" id="APPLICATION_PROJECT_NUMBER5" value="" class="APPLICATION_PROJECT_NUMBER"/>
<input type="hidden" name="APPLICATION_PROJECT_NUMBER6" id="APPLICATION_PROJECT_NUMBER6" value="" class="APPLICATION_PROJECT_NUMBER"/>
<input type="hidden" name="APPLICATION_PROJECT_NUMBER7" id="APPLICATION_PROJECT_NUMBER7" value="" class="APPLICATION_PROJECT_NUMBER"/>
<input type="hidden" name="APPLICATION_PROJECT_NUMBER8" id="APPLICATION_PROJECT_NUMBER8" value="" class="APPLICATION_PROJECT_NUMBER"/>
<input type="hidden" name="APPLICATION_PROJECT_NUMBER9" id="APPLICATION_PROJECT_NUMBER9" value="" class="APPLICATION_PROJECT_NUMBER"/>
<input type="hidden" name="APPLICATION_PROJECT_NUMBER10" id="APPLICATION_PROJECT_NUMBER10" value="" class="APPLICATION_PROJECT_NUMBER"/>
<td rowspan="" colspan="" class="input_title">동시적용 프로젝트번호</td>
<td><select name="APPLICATION_PROJECT_NO1" id="APPLICATION_PROJECT_NO1" type="select" class="select2 APPLICATION_PROJECT_NO" autocomplete="off"></select></td>
<td><select name="APPLICATION_PROJECT_NO2" id="APPLICATION_PROJECT_NO2" type="select" class="select2 APPLICATION_PROJECT_NO" autocomplete="off"></select></td>
<td><select name="APPLICATION_PROJECT_NO3" id="APPLICATION_PROJECT_NO3" type="select" class="select2 APPLICATION_PROJECT_NO" autocomplete="off"></select></td>
<td><select name="APPLICATION_PROJECT_NO4" id="APPLICATION_PROJECT_NO4" type="select" class="select2 APPLICATION_PROJECT_NO" autocomplete="off"></select></td>
<td><select name="APPLICATION_PROJECT_NO5" id="APPLICATION_PROJECT_NO5" type="select" class="select2 APPLICATION_PROJECT_NO" autocomplete="off"></select></td>
<td><select name="APPLICATION_PROJECT_NO6" id="APPLICATION_PROJECT_NO6" type="select" class="select2 APPLICATION_PROJECT_NO" autocomplete="off"></select></td>
<td><select name="APPLICATION_PROJECT_NO7" id="APPLICATION_PROJECT_NO7" type="select" class="select2 APPLICATION_PROJECT_NO" autocomplete="off"></select></td>
<td><select name="APPLICATION_PROJECT_NO8" id="APPLICATION_PROJECT_NO8" type="select" class="select2 APPLICATION_PROJECT_NO" autocomplete="off"></select></td>
<td><select name="APPLICATION_PROJECT_NO9" id="APPLICATION_PROJECT_NO9" type="select" class="select2 APPLICATION_PROJECT_NO" autocomplete="off"></select></td>
<td><select name="APPLICATION_PROJECT_NO10" id="APPLICATION_PROJECT_NO10" type="select" class="select2 APPLICATION_PROJECT_NO" autocomplete="off"></select></td>
</tr>
<tr>
<td rowspan="" colspan="" class="input_title">입고계획일</td>
<td><input type="text" name="DELIVERY_PLAN_DATE1" id="DELIVERY_PLAN_DATE1" value="" class="DELIVERY_PLAN_DATE"/></td>
<td><input type="text" name="DELIVERY_PLAN_DATE2" id="DELIVERY_PLAN_DATE2" value="" class="DELIVERY_PLAN_DATE"/></td>
<td><input type="text" name="DELIVERY_PLAN_DATE3" id="DELIVERY_PLAN_DATE3" value="" class="DELIVERY_PLAN_DATE"/></td>
<td><input type="text" name="DELIVERY_PLAN_DATE4" id="DELIVERY_PLAN_DATE4" value="" class="DELIVERY_PLAN_DATE"/></td>
<td><input type="text" name="DELIVERY_PLAN_DATE5" id="DELIVERY_PLAN_DATE5" value="" class="DELIVERY_PLAN_DATE"/></td>
<td><input type="text" name="DELIVERY_PLAN_DATE6" id="DELIVERY_PLAN_DATE6" value="" class="DELIVERY_PLAN_DATE"/></td>
<td><input type="text" name="DELIVERY_PLAN_DATE7" id="DELIVERY_PLAN_DATE7" value="" class="DELIVERY_PLAN_DATE"/></td>
<td><input type="text" name="DELIVERY_PLAN_DATE8" id="DELIVERY_PLAN_DATE8" value="" class="DELIVERY_PLAN_DATE"/></td>
<td><input type="text" name="DELIVERY_PLAN_DATE9" id="DELIVERY_PLAN_DATE9" value="" class="DELIVERY_PLAN_DATE"/></td>
<td><input type="text" name="DELIVERY_PLAN_DATE10" id="DELIVERY_PLAN_DATE10" value="" class="DELIVERY_PLAN_DATE"/></td>
</tr>
<tr>
<td rowspan="" colspan="" class="input_title">입고계획수량</td>
<td><input type="text" name="DELIVERY_PLAN_QTY1" id="DELIVERY_PLAN_QTY1" value="" class="DELIVERY_PLAN_QTY" numberOnly/></td>
<td><input type="text" name="DELIVERY_PLAN_QTY2" id="DELIVERY_PLAN_QTY2" value="" class="DELIVERY_PLAN_QTY" numberOnly/></td>
<td><input type="text" name="DELIVERY_PLAN_QTY3" id="DELIVERY_PLAN_QTY3" value="" class="DELIVERY_PLAN_QTY" numberOnly/></td>
<td><input type="text" name="DELIVERY_PLAN_QTY4" id="DELIVERY_PLAN_QTY4" value="" class="DELIVERY_PLAN_QTY" numberOnly/></td>
<td><input type="text" name="DELIVERY_PLAN_QTY5" id="DELIVERY_PLAN_QTY5" value="" class="DELIVERY_PLAN_QTY" numberOnly/></td>
<td><input type="text" name="DELIVERY_PLAN_QTY6" id="DELIVERY_PLAN_QTY6" value="" class="DELIVERY_PLAN_QTY" numberOnly/></td>
<td><input type="text" name="DELIVERY_PLAN_QTY7" id="DELIVERY_PLAN_QTY7" value="" class="DELIVERY_PLAN_QTY" numberOnly/></td>
<td><input type="text" name="DELIVERY_PLAN_QTY8" id="DELIVERY_PLAN_QTY8" value="" class="DELIVERY_PLAN_QTY" numberOnly/></td>
<td><input type="text" name="DELIVERY_PLAN_QTY9" id="DELIVERY_PLAN_QTY9" value="" class="DELIVERY_PLAN_QTY" numberOnly/></td>
<td><input type="text" name="DELIVERY_PLAN_QTY10" id="DELIVERY_PLAN_QTY10" value="" class="DELIVERY_PLAN_QTY" numberOnly/></td>
</tr>
<tr>
<td rowspan="" colspan="" class="input_title">작업지시사항</td>
<td rowspan="" colspan="10">
<textarea style="width:100%; height: 80px;background-color: #fff;" name="REMARK" id="REMARK" readonly>${info.REMARK}</textarea>
</td>
</tr>
<tr>
<td colspan="12" style="text-align: right; color: #980000; font-weight:500;">★거래명세서 자동생성은 발주서 기준으로 입고수량 대비 정품수량 동일시 구매팀 확인후 발주서 기준으로 자동생성 된다.</td>
</tr>
</table>
</div> -->
</section>
<textarea style="width:0px; height:0px; visibility: hidden;" id="unit_cd">${code_map.unit_cd}</textarea><!-- 코드동적설정 -->
</form>
</body>
</html>