1958 lines
83 KiB
Plaintext
1958 lines
83 KiB
Plaintext
<%@ 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> |