1448 lines
65 KiB
Plaintext
1448 lines
65 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");
|
||
%>
|
||
<!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>
|
||
<c:set var="sysDate"><fmt:formatDate value="${now}" pattern="yyyy-MM-dd" /></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"; //발주구분코드:잡자재
|
||
|
||
$(document).ready(function(){
|
||
|
||
var _saving = false;
|
||
$("#btnReg").click(function(e){
|
||
e.preventDefault();
|
||
var formData = $("#form1").serialize();
|
||
if(fn_checkInputData()){
|
||
if(confirm("저장하시겠습니까?")){
|
||
if(_saving){
|
||
alert('ing');
|
||
return;
|
||
}
|
||
_startLoading("Loading...");
|
||
|
||
_saving = true;
|
||
|
||
$("input[name*='_QTY']").each(function(){
|
||
$(this).val($(this).val().replace(/,/gi,""));
|
||
});
|
||
|
||
$.ajax({
|
||
type: "POST",
|
||
/* url: "/purchaseOrder/saveDeliveryAcceptanceInfo.do", */
|
||
url: "/purchaseOrder/saveDeliveryInfo.do",
|
||
data: $("#form1").serialize(),
|
||
dataType:"json",
|
||
success:function(data){
|
||
_saving = false;
|
||
alert(data.message);
|
||
/* if(data.RESULT){ */
|
||
opener.fn_search();
|
||
self.close();
|
||
/* } */
|
||
},
|
||
complete:function(){
|
||
//_endLoading();
|
||
},
|
||
error: function(jqxhr, status, error){
|
||
_saving = false;
|
||
alert("저장 중 오류가 발생했습니다.");
|
||
_endLoading();
|
||
}
|
||
});
|
||
}
|
||
}
|
||
/* fn_save(); */
|
||
});
|
||
|
||
//추가
|
||
$("#btnAdd").click(function(){
|
||
fn_addarrival();
|
||
});
|
||
|
||
//상신된 결재라인 가져오기
|
||
fn_getApprLine();
|
||
|
||
if("${info.PARTNER_OBJID}" != ""){
|
||
changelist("${info.PARTNER_OBJID}");
|
||
}
|
||
|
||
$("#btnApply").click(function(){
|
||
fn_Apply();
|
||
});
|
||
$("#btnLocation").click(function(){
|
||
fn_location_save();
|
||
});
|
||
$("#btnRemove").click(function() {
|
||
fn_removearrival();
|
||
});
|
||
//fn_calc();
|
||
|
||
//부가세 선택불가처리 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();
|
||
|
||
var originalValue;
|
||
|
||
$("[id^=RECEIPT_QTY_]").focus(function() {
|
||
originalValue = $(this).val(); // Store the original value when the input gains focus
|
||
//alert("originalValue:"+originalValue);
|
||
});
|
||
|
||
$("[id^=RECEIPT_QTY_]").change(function() {
|
||
var objid = $(this).attr('id').split('_')[2]; // id에서 objid 추출
|
||
|
||
var arrivalPlanDate = $("#ARRIVAL_PLAN_DATE_"+objid).val();
|
||
var invoiceObjid = $("#INVOICE_OBJID_"+objid).val();
|
||
var sysDate = "${sysDate}";
|
||
var arrivalDate = new Date(arrivalPlanDate);
|
||
var systemDate = new Date(sysDate);
|
||
//alert("invoiceObjid:"+invoiceObjid);
|
||
if(invoiceObjid != null && invoiceObjid != ""){
|
||
Swal.fire("거래명세서가 발행되어있습니다. </br> 차수를 추가하여 입고등록해주세요.");
|
||
//$(this).val(originalValue);
|
||
return;
|
||
}
|
||
//alert("arrivalPlanDate:"+arrivalPlanDate);
|
||
//alert("sysDate:"+sysDate);
|
||
//alert("originalValue:"+originalValue);
|
||
/* if(arrivalDate < systemDate){
|
||
Swal.fire("입고예정일 이후에는 변경할 수 없습니다.");
|
||
$(this).val(originalValue); // 값을 원래 값으로 되돌림
|
||
return;
|
||
} */
|
||
});
|
||
|
||
addZeroEvtAtPriceInput();
|
||
|
||
});
|
||
|
||
//차수를 추가한다.
|
||
function fn_addarrival(){
|
||
var trCount = $("#addData tr").length;
|
||
var appendText = "";
|
||
var appendHead1Text = "";
|
||
var appendHead2Text = "";
|
||
var listSize = "${partList.size()}";
|
||
|
||
var addColStr = '<col width="90px" /><col width="90px" /><col width="90px" /><col width="130x" /><col width="130px" /><col width="90px" /><col width="90px" class="lastCol" />';
|
||
var tdHeaderCount = $(".tdHeader").length + 1;
|
||
|
||
// 현재 최대 그룹 시퀀스를 찾기 위해 추가
|
||
var maxGroupSeq = 0;
|
||
$("input[name='GROUP_SEQ']").each(function() {
|
||
var currentGroupSeq = parseInt($(this).val());
|
||
if (currentGroupSeq > maxGroupSeq) {
|
||
maxGroupSeq = currentGroupSeq;
|
||
}
|
||
});
|
||
var newGroupSeq = maxGroupSeq + 1;
|
||
|
||
// 현재 최대 시퀀스를 찾기 위해 추가
|
||
var maxSeq = 0;
|
||
$("input[name='SEQ']").each(function() {
|
||
var currentSeq = parseInt($(this).val());
|
||
if (currentSeq > maxSeq) {
|
||
maxSeq = currentSeq;
|
||
}
|
||
});
|
||
|
||
if(trCount==0){
|
||
var seq=1;
|
||
appendText+="<thead style='position: relative; z-index: 2;'>";
|
||
appendText+="<tr class='plm_thead' id='head1' >";
|
||
appendText+="<td class='tdHeader thead' colspan='6'>1차</td>";
|
||
appendText+= "<td rowspan='2' class='NON_ARRIVAL_QTY_TXT'>미입고수량</td>";
|
||
//appendText+="<td rowspan='2'>미입고수량</td>";
|
||
appendText+="</tr>";
|
||
appendText+="<tr class='plm_thead' id='head2'>";
|
||
appendText+="<td>입고예정수량</td>";
|
||
appendText+="<td>입고예정일</td>";
|
||
appendText+="<td>입고일</td>";
|
||
appendText+="<td><input type='checkbox' name='groupCheck_1' value='1'>Location</td>";
|
||
appendText+="<td><input type='checkbox' name='groupSubCheck_1' value='1'>SubLocation</td>";
|
||
appendText+="<td>입고수량</td>";
|
||
appendText+="</tr>";
|
||
appendText+="</thead>";
|
||
for(var i=0;i<listSize;i++){
|
||
appendText+="<tr id='dataTr_"+seq+"'>";
|
||
appendText+="<td>";
|
||
appendText+="<input type='hidden' name='OBJID' />";
|
||
appendText+="<input type='hidden' name='GROUP_SEQ' value='1' />";
|
||
appendText+="<input type='hidden' name='SEQ' value='"+seq+"' />";
|
||
appendText+="<input type='hidden' name='INVENTORY_STATUS' value='' />";
|
||
appendText+="<input type='hidden' name='RECEIPT_INV_QTY' value='' />";
|
||
|
||
var ARRIVAL_QTY = $('#part_table tbody tr').eq(i).find('td').eq(5).text().trim();
|
||
var RECEIPT_DATE = $('#part_table tbody tr').eq(i).find('td').eq(6).text().trim();
|
||
var PART_OBJID = $('#part_table tbody tr').eq(i).find("input[name^='PART_OBJID']").val();
|
||
var ORDER_PART_OBJID = $('#part_table tbody tr').eq(i).find("input[name^='ORDER_PART_OBJID']").val();
|
||
var sysDate = "${sysDate}";
|
||
//alert("PART_OBJID:"+PART_OBJID)
|
||
appendText+=" <input type='text' name='ARRIVAL_QTY' class='date' value='"+ARRIVAL_QTY+"'/>";
|
||
appendText+="</td>";
|
||
appendText+="<td>";
|
||
appendText+=" <input type='text' name='ARRIVAL_PLAN_DATE' class='date' value='"+RECEIPT_DATE+"'/>";
|
||
appendText+="</td>";
|
||
appendText+="<td>";
|
||
appendText+=" <input type='text' name='RECEIPT_DATE' class='date' value='"+sysDate+"'/>";
|
||
appendText+="</td>";
|
||
appendText+="<td>";
|
||
appendText+=" <select name='LOCATION' id='LOCATION_"+seq+"' class='LOCATION_1' data-select='${item.LOCATION}' onchange='chageLangSelect("+seq+",\"${item.SUB_LOCATION}\")'><option value=''>선택</option>${code_map.location}</select>";
|
||
appendText+="</td>";
|
||
appendText+="<td>";
|
||
appendText+=" <select name='SUB_LOCATION' id='SUB_LOCATION_"+seq+"' class='SUB_LOCATION_1' data-select='${item.SUB_LOCATION}'><option value=''>선택</option></select>";
|
||
appendText+="</td>";
|
||
appendText+="<td>";
|
||
appendText+=" <input type='text' style='text-align:center; color:red;' name='RECEIPT_QTY' class='RECEIPT_QTY_"+ORDER_PART_OBJID+"' value='"+ARRIVAL_QTY+"' onchange='fn_calc("+ORDER_PART_OBJID+");' />";
|
||
appendText+="</td>";
|
||
appendText+="<td style='width:100px;' id='NON_ARRIVAL_QTY_TXT_"+ORDER_PART_OBJID+"' class='NON_ARRIVAL_QTY_TXT'><input type='text' value='0' style='text-align: center;'/></td>";
|
||
/* appendText+="<td>";
|
||
appendText+="</td>";
|
||
appendText+="<td>";
|
||
appendText+="</td>";
|
||
appendText+="<td>";
|
||
appendText+="</td>"; */
|
||
appendText+="</tr>";
|
||
seq++;
|
||
}
|
||
$("#addColgroup1").append(addColStr);
|
||
$("#addData").append(appendText);
|
||
|
||
} else {
|
||
$(".NON_ARRIVAL_QTY_TXT").remove();
|
||
$('.lastCol').remove();
|
||
var seq = maxSeq;
|
||
appendHead1Text += "<td class='tdHeader' colspan='6'>" + tdHeaderCount + "차</td>";
|
||
appendHead1Text += "<td rowspan='2' class='NON_ARRIVAL_QTY_TXT'>미입고수량</td>";
|
||
appendHead2Text += "<td>입고예정수량</td>";
|
||
appendHead2Text += "<td>입고예정일</td>";
|
||
appendHead2Text += "<td>입고일</td>";
|
||
appendHead2Text += "<td><input type='checkbox' name='groupCheck_" + newGroupSeq + "' value='" + newGroupSeq + "'>Location</td>";
|
||
appendHead2Text += "<td><input type='checkbox' name='groupSubCheck_" + newGroupSeq + "' value='" + newGroupSeq + "'>SubLocation</td>";
|
||
appendHead2Text += "<td>입고수량</td>";
|
||
|
||
$("#head1").append(appendHead1Text);
|
||
$("#head2").append(appendHead2Text);
|
||
$("#addColgroup1").append(addColStr);
|
||
for(var i=0;i<listSize;i++){
|
||
seq++;
|
||
var Text = "";
|
||
//Text+="<tr id='dataTr_"+seq+"'>";
|
||
Text+="<td>";
|
||
Text+="<input type='hidden' name='OBJID' />";
|
||
Text+="<input type='hidden' name='GROUP_SEQ' value='"+newGroupSeq+"' />";
|
||
Text+="<input type='hidden' name='SEQ' value='"+seq+"' />";
|
||
Text+="<input type='hidden' name='INVENTORY_STATUS' value='' />";
|
||
Text+="<input type='hidden' name='RECEIPT_INV_QTY' value='' />";
|
||
|
||
var ARRIVAL_QTY = $('#part_table tbody tr').eq(i).find('td').eq(5).text().trim();
|
||
var RECEIPT_DATE = $('#part_table tbody tr').eq(i).find('td').eq(6).text().trim();
|
||
var PART_OBJID = $('#part_table tbody tr').eq(i).find("input[name^='PART_OBJID']").val();
|
||
var ORDER_PART_OBJID = $('#part_table tbody tr').eq(i).find("input[name^='ORDER_PART_OBJID']").val();
|
||
var NON_ARRIVAL_QTY = $('#part_table tbody tr').eq(i).find("input[name^='NON_RECEIPT_QTY']").val();
|
||
var sysDate = "${sysDate}";
|
||
|
||
Text+=" <input type='text' style='text-align:center;' name='ARRIVAL_QTY' class='' value='"+NON_ARRIVAL_QTY+"'/>";
|
||
Text+="</td>";
|
||
Text+="<td>";
|
||
Text+=" <input type='text' name='ARRIVAL_PLAN_DATE' class='date' value='"+sysDate+"'/>";
|
||
Text+="</td>";
|
||
Text+="<td>";
|
||
Text+=" <input type='text' name='RECEIPT_DATE' class='date' value='"+sysDate+"'/>";
|
||
Text+="</td>";
|
||
Text+="<td>";
|
||
Text+=" <select name='LOCATION' id='LOCATION_"+seq+"' class='LOCATION_"+newGroupSeq+"' data-select='${item.LOCATION}' onchange='chageLangSelect("+seq+",\"${item.SUB_LOCATION}\")'><option value=''>선택</option>${code_map.location}</select>";
|
||
Text+="</td>";
|
||
Text+="<td>";
|
||
Text+=" <select name='SUB_LOCATION' id='SUB_LOCATION_"+seq+"' class='SUB_LOCATION_"+newGroupSeq+"' data-select='${item.SUB_LOCATION}'><option value=''>선택</option></select>";
|
||
Text+="</td>";
|
||
Text+="<td>";
|
||
Text+=" <input type='text' style='text-align:center; color:red;' name='RECEIPT_QTY' class='RECEIPT_QTY_"+ORDER_PART_OBJID+"' value='"+NON_ARRIVAL_QTY+"' onchange='fn_calc("+ORDER_PART_OBJID+");' />";
|
||
//Text+=" <input type='text' style='text-align:center;' name='RECEIPT_QTY' class='RECEIPT_QTY_"+PART_OBJID+"' value='"+ARRIVAL_QTY+"' onchange='fn_calc("+PART_OBJID+");' />";
|
||
Text+="</td>";
|
||
Text+="<td style='width:100px;' id='NON_ARRIVAL_QTY_TXT_"+ORDER_PART_OBJID+"' class='NON_ARRIVAL_QTY_TXT'><input type='text' value='0' style='text-align: center;'/></td>";
|
||
//Text+="</tr>";
|
||
|
||
$("#dataTr_" + parseInt(i + 1)).append(Text);
|
||
}
|
||
}
|
||
$('.date').each(function(i,o){
|
||
$(this).attr("size","10");
|
||
$(this).datepicker({
|
||
changeMonth:true,
|
||
changeYear:true
|
||
});
|
||
});
|
||
$("input[name*=RECEIPT_QTY]").trigger("change");
|
||
applyScrollHandler();
|
||
}
|
||
|
||
function fn_removearrival() {
|
||
var tdHeaderCount = $(".tdHeader").length;
|
||
|
||
if (tdHeaderCount <= 1) {
|
||
alert("1차는 삭제할 수 없습니다.");
|
||
return;
|
||
}
|
||
|
||
// '#head1' 테이블의 마지막 'td.tdHeader' 요소를 선택
|
||
var lastTdHeader = $("#head1 td.tdHeader:last");
|
||
|
||
// 'realData' 클래스가 포함되어 있는지 확인
|
||
if (lastTdHeader.hasClass("realData")) {
|
||
alert("입고된 데이터는 삭제할 수 없습니다.")
|
||
return;
|
||
}
|
||
|
||
// 마지막 차수의 열 삭제
|
||
$("#head1 td.tdHeader:last").remove();
|
||
|
||
// head2에서 마지막 차수 삭제
|
||
var head2Cells = $("#head2 td");
|
||
var cellsToRemove = 6;
|
||
//var cellsToRemove = head2Cells.slice(-3).find("input[type='checkbox']").length > 0 ? 2 : 3;
|
||
head2Cells.slice(-cellsToRemove).remove();
|
||
|
||
// 데이터 행에서 마지막 차수 삭제
|
||
$("tr[id^='dataTr_']").each(function() {
|
||
var cells = $(this).find("td");
|
||
var lastCell = cells.last(); // 마지막 td를 선택
|
||
var cellsToRemove = cells.slice(-7, -1); // 마지막 td를 제외하고 그 앞의 네 개 td를 선택
|
||
|
||
cellsToRemove.remove(); // 선택한 td를 삭제
|
||
$("input[name*=RECEIPT_QTY]").trigger("change");
|
||
/* cellsToRemove.find("input[name='OBJID']").each(function() {
|
||
var objId = $(this).val();
|
||
if (objId) {
|
||
deletedObjIds.push(objId);
|
||
}
|
||
});
|
||
|
||
cellsToRemove.remove(); */
|
||
});
|
||
// colgroup 조정
|
||
//var colsToRemove = $("#addColgroup col").slice(-3).length === 3 ? 3 : 2;
|
||
$("#addColgroup1 col").slice(-7, -1).remove();
|
||
applyScrollHandler();
|
||
|
||
// 창 크기 조정
|
||
//adjustWindowSize();
|
||
}
|
||
|
||
function applyScrollHandler() {
|
||
var tableHeader1 = document.querySelector('.plm_table4 thead');
|
||
console.log(tableHeader1);
|
||
var tableBody = document.querySelector('.plm_table4 tbody');
|
||
console.log(tableBody);
|
||
var tableHeader2 = document.querySelector('.plm_table3 thead');
|
||
var tableBody1 = document.querySelector('.plm_table3 tbody');
|
||
console.log(tableBody1);
|
||
// 부모 요소인 plm_over를 찾습니다.
|
||
var parentElement = document.getElementById('plm_over');
|
||
|
||
// 부모 요소인 plm_over에 스크롤 이벤트 리스너를 등록합니다.
|
||
parentElement.addEventListener('scroll', function() {
|
||
// 테이블 1: 상하 스크롤 시에는 헤더만 고정
|
||
tableHeader1.style.transform = 'translate(' + parentElement.scrollLeft + 'px, ' + parentElement.scrollTop + 'px)';
|
||
// 테이블 2: 상하 스크롤 시에는 헤더만 고정
|
||
tableHeader2.style.transform = 'translateY(' + parentElement.scrollTop + 'px)';
|
||
// 테이블 1의 본문을 좌우로 고정
|
||
tableBody.style.transform = 'translateX(' + parentElement.scrollLeft + 'px)';
|
||
});
|
||
}
|
||
//저장 정보 표현용
|
||
function fn_setMultiInfoForSaved(val){
|
||
$(".APPLICATION_PROJECT_NO").attr("disabled", "disabled"); //전체 비활성화
|
||
$(".APPLICATION_PROJECT_NUMBER").attr("readonly", "readonly");
|
||
<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();
|
||
<%} %>
|
||
</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('');
|
||
|
||
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);
|
||
}
|
||
if(projectCnt-2 <= i){ //projectCnt == 0 ||
|
||
break;
|
||
}
|
||
}
|
||
|
||
//마스터 프로젝트번호 제거
|
||
if(fnc_isNotEmpty(val)){
|
||
$("select[name^=APPLICATION_PROJECT_NO]").each(function(){
|
||
$(this).find('option[value='+val+']').remove();
|
||
});
|
||
}
|
||
}
|
||
|
||
//동시구매건수 + 메인(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 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" ] );
|
||
}
|
||
}
|
||
}
|
||
|
||
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 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 chageLangSelect(objId, subLocation){
|
||
var location = $("#LOCATION_"+objId).val();
|
||
fnc_getCodeListAppend(location, "SUB_LOCATION_"+objId, subLocation);
|
||
}
|
||
|
||
function fn_setInventoryLocation(){
|
||
var resultList = fnc_getCodeList("<%=Constants.INVENTORY_LOCATION_CD%>");
|
||
var _sel = [];
|
||
_sel.push("<option value=''>선택</option>");
|
||
if(resultList != null && 0 < resultList.length){
|
||
for (var i = 0; i < resultList.length; i++) {
|
||
var commonCodeId = resultList[i].CODE_ID;
|
||
var commonCodeName = resultList[i].CODE_NAME;
|
||
_sel.push("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
||
}
|
||
}
|
||
|
||
$("input[name=OBJID]").each(function(i) {
|
||
var targetObjId = $(this).val();
|
||
$("#DELIVERY_PLACE_CD_"+targetObjId).empty();
|
||
$("#DELIVERY_PLACE_CD_"+targetObjId).append(_sel.join(""));
|
||
$("#DELIVERY_PLACE_CD_"+targetObjId).val("");
|
||
});
|
||
}
|
||
|
||
function fn_Apply(){
|
||
var location = $("#LOCATION_CD").val();
|
||
var SubLocation = $("#SUB_LOCATION_CD").val();
|
||
var locationCheck = $("input[name='LOCATION_CHECK']:checked").val();
|
||
var subCheck = $("input[name='SUB_CHECK']:checked").val();
|
||
|
||
if(locationCheck == 'YES'){
|
||
$("input[name^='groupCheck_']").each(function(index) {
|
||
var groupCheck = $(this).val();
|
||
//alert("groupCheck:"+groupCheck);
|
||
if ($(this).is(":checked")) {
|
||
var locationClass = ".LOCATION_" + groupCheck;
|
||
$(locationClass).val(location).trigger("change");
|
||
}
|
||
});
|
||
}
|
||
if(subCheck == 'YES'){
|
||
$("input[name^='groupSubCheck_']").each(function(index) {
|
||
var groupSubCheck = $(this).val();
|
||
//alert("groupSubCheck:"+groupSubCheck);
|
||
if ($(this).is(":checked")) {
|
||
var subLocationClass = ".SUB_LOCATION_" + groupSubCheck;
|
||
$(subLocationClass).val(SubLocation).trigger("change");
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
/* function fn_save(){
|
||
var formData = $("#form1").serialize();
|
||
if(fn_checkInputData()){
|
||
if(confirm("저장하시겠습니까?")){
|
||
|
||
$("input[name*='_QTY']").each(function(){
|
||
$(this).val($(this).val().replace(/,/gi,""));
|
||
});
|
||
|
||
$.ajax({
|
||
type: "POST",
|
||
url: "/purchaseOrder/saveDeliveryAcceptanceInfo.do",
|
||
url: "/purchaseOrder/saveDeliveryInfo.do",
|
||
data: $("#form1").serialize(),
|
||
dataType:"json",
|
||
success:function(data){
|
||
alert(data.message);
|
||
opener.fn_search();
|
||
self.close();
|
||
},
|
||
error: function(jqxhr, status, error){
|
||
}
|
||
});
|
||
}
|
||
}
|
||
} */
|
||
|
||
function fn_checkInputData(){
|
||
|
||
var returnFlag = true;
|
||
|
||
$("input[name=OBJID]").each(function(i) {
|
||
var targetObjId = $(this).val();
|
||
var DELIVERY_QTY = Number($("#RECEIPT_QTY_"+targetObjId).val());
|
||
var RECEIPT_INV_QTY = Number($("#RECEIPT_INV_QTY_"+targetObjId).val());
|
||
var DELIVERY_DATE = $("#RECEIPT_DATE_"+targetObjId).val();
|
||
var DELIVERY_PLACE_CD = $("#LOCATION_"+targetObjId).val();
|
||
var SUB_LOCATION = $("#SUB_LOCATION_"+targetObjId).val();
|
||
|
||
//var DEFECT_QTY = $("#ERROR_QTY_"+targetObjId).val()
|
||
//var DEFECT_REASON = $("#ERROR_REASON_"+targetObjId).val()
|
||
//var DEFECT_RESP = $("#ATTRIBUTION_"+targetObjId).val()
|
||
var INSPECT_DATE = $("#INSPECT_DATE"+targetObjId).val()
|
||
|
||
if(RECEIPT_INV_QTY > DELIVERY_QTY){
|
||
Swal.fire("입고수량이 기입고수량보다 작을 수 없습니다.");
|
||
returnFlag = false;
|
||
return false;
|
||
}
|
||
|
||
if(0 < DELIVERY_QTY){
|
||
if("" == DELIVERY_DATE){
|
||
Swal.fire("입력된 입고일자가 없습니다.");
|
||
returnFlag = false;
|
||
return false;
|
||
}
|
||
// 2024-08-08
|
||
/* if("" == DELIVERY_PLACE_CD){
|
||
Swal.fire("입력된 Location이 없습니다.");
|
||
returnFlag = false;
|
||
return false;
|
||
}
|
||
if("" == SUB_LOCATION){
|
||
Swal.fire("입력된 SubLocation이 없습니다.");
|
||
returnFlag = false;
|
||
return false;
|
||
} */
|
||
}
|
||
|
||
/* if(0 < DEFECT_QTY){
|
||
if("" == DEFECT_REASON){
|
||
Swal.fire("입력된 사유가 없습니다.");
|
||
returnFlag = false;
|
||
return false;
|
||
}
|
||
if("" == DEFECT_RESP){
|
||
Swal.fire("입력된 귀책이 없습니다.");
|
||
returnFlag = false;
|
||
return false;
|
||
}
|
||
} */
|
||
|
||
});
|
||
|
||
$("input[name^=ORDER_PART_OBJID_]").each(function(i) {
|
||
var targetPartObjId = $(this).val();
|
||
var NON_ARRIVAL_QTY = Number($("#NON_ARRIVAL_QTY_TXT_"+targetPartObjId).text());
|
||
|
||
//alert("targetPartObjId:"+targetPartObjId);
|
||
//alert("NON_ARRIVAL_QTY:"+NON_ARRIVAL_QTY);
|
||
|
||
if(0 > NON_ARRIVAL_QTY){
|
||
Swal.fire("입고수량이 발주수량보다 큽니다.");
|
||
returnFlag = false;
|
||
return false;
|
||
}
|
||
});
|
||
|
||
return returnFlag;
|
||
}
|
||
|
||
//자동계산
|
||
function fn_calc(objid){
|
||
//alert("objid::"+objid);
|
||
//alert($(".ORDER_QTY_" +objid).val());
|
||
var ORDER_QTY = Number($(".ORDER_QTY_" +objid).val().replace(/[^0-9]/g,"")); //발주수량
|
||
var DELIVERY_QTY = 0;
|
||
var originalValues = [];
|
||
|
||
$(".RECEIPT_QTY_"+objid).each(function(index) {
|
||
originalValues[index] = $(this).val();
|
||
var value = Number($(this).val().replace(/[^0-9]/g,""));
|
||
DELIVERY_QTY += value;
|
||
});
|
||
|
||
/* var DEFECT_QTY = 0;
|
||
$(".ERROR_QTY_"+objid).each(function() {
|
||
var errorValue = Number($(this).val().replace(/[^0-9]/g,""));
|
||
DEFECT_QTY += errorValue;
|
||
}); */
|
||
//alert(ORDER_QTY + ":" + DELIVERY_QTY);
|
||
//alert("ORDER_QTY::"+ORDER_QTY);
|
||
//alert("DELIVERY_QTY::"+DELIVERY_QTY);
|
||
//alert("DEFECT_QTY::"+DEFECT_QTY);
|
||
|
||
//미입고수량
|
||
var nonQty = ORDER_QTY - DELIVERY_QTY;
|
||
//alert("nonQty:"+nonQty);
|
||
//if(nonQty < 0){
|
||
// Swal.fire("입고수량이 발주수량보다 큽니다.");
|
||
// return false;
|
||
//}
|
||
//nonQty = nonQty < 0 ? 0 : nonQty;
|
||
//var nonQty = ORDER_QTY - (DELIVERY_QTY - DEFECT_QTY);
|
||
//alert("nonQty::"+nonQty);
|
||
|
||
$("#NON_ARRIVAL_QTY_"+objid).val(nonQty);
|
||
$("#NON_ARRIVAL_QTY_TXT_"+objid).text(nonQty);
|
||
//alert("originalValues:"+originalValues);
|
||
// 변경한 .RECEIPT_QTY_의 value를 원래값으로
|
||
//$(".RECEIPT_QTY_" + objid).each(function(index) {
|
||
// $(this).val(originalValues[index]);
|
||
//});
|
||
}
|
||
|
||
//location 저장
|
||
function fn_location_save(){
|
||
|
||
if(confirm("저장 하시겠습니까?")){
|
||
$.ajax({
|
||
url:"/purchaseOrder/deliveryAcceptanceFormPopUp_locationSave.do"
|
||
,type:"POST"
|
||
,data: $("#form1").serialize()
|
||
,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="ORDER_OBJID" id="ORDER_OBJID" value="${objId}" />
|
||
<input type="hidden" name="PARENT_OBJID" id="PARENT_OBJID" value="${objId}" />
|
||
<input type="hidden" name="BOM_REPORT_OBJID" id="BOM_REPORT_OBJID" value="${info.BOM_REPORT_OBJID}" />
|
||
<input type="hidden" name="TYPE" id="TYPE" value="${info.TYPE}" />
|
||
<input type="hidden" name="MULTI_YN" id="MULTI_YN" value="${info.MULTI_YN}" />
|
||
<input type="hidden" name="DELIVERY_STATUS" id="DELIVERY_STATUS" value="${param.DELIVERY_STATUS}" />
|
||
<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">
|
||
<input type="text" name="TYPE_NAME" id="TYPE_NAME" value="${info.TYPE_NAME }" readonly />
|
||
<%-- <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">
|
||
<input type="text" name="PROJECT_NO" id="PROJECT_NO" value="${info.PROJECT_NO }" readonly />
|
||
<input type="hidden" name="CONTRACT_MGMT_OBJID" id="CONTRACT_MGMT_OBJID" value="${info.CONTRACT_MGMT_OBJID }" readonly />
|
||
<%-- <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">
|
||
<input type="text" name="UNIT_NAME" id="UNIT_NAME" value="${info.UNIT_NAME }" readonly />
|
||
<input type="hidden" name="UNIT_CODE" id="UNIT_CODE" value="${info.UNIT_CODE }" readonly />
|
||
<!-- <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%;">(Inspection sheet)</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">우성에스이주식회사</td>
|
||
|
||
<td rowspan="6" colspan="2" class="input_title">공급처</td>
|
||
<td class="input_title">회사명</td>
|
||
<td colspan="3">
|
||
<input type="text" name="PARTNER_OBJID" id="PARTNER_OBJID" value="${info.PARTNER_NAME }" readonly />
|
||
</td>
|
||
|
||
</tr>
|
||
<tr>
|
||
<td class="input_title">사업자번호</td>
|
||
<td colspan="3">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>
|
||
<input type="text" name="SALES_MNG_USER_ID" id="SALES_MNG_USER_ID" value="${info.SALES_MNG_USER }" readonly />
|
||
</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="${oemInfo.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="${oemInfo.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">ilshin@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">대구광역시 달성군 다사읍 세천로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">
|
||
<input type="text" name="ORDER_TYPE_CD_NAME" id="ORDER_TYPE_CD_NAME" value="${info.ORDER_TYPE_CD_NAME}" required reqTitle="발주구분" readonly style="width:100%;"/>
|
||
<%-- <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">
|
||
<input type="text" name="DELIVERY_PLACE" id="DELIVERY_PLACE" value="${info.DELIVERY_PLACE_NAME}" required reqTitle="납품장소" readonly style="width:100%;"/>
|
||
</td>
|
||
<td colspan="1" class="input_title">검수방법</td>
|
||
<td colspan="2">
|
||
<input type="text" name="INSPECT_METHOD" id="INSPECT_METHOD" value="${info.INSPECT_METHOD_NAME}" required reqTitle="검수방법" readonly style="width:100%;"/>
|
||
</td>
|
||
<td colspan="1" class="input_title">결제조건</td>
|
||
<td colspan="1">
|
||
<input type="text" name="PAYMENT_TERMS" id="PAYMENT_TERMS" value="${info.PAYMENT_TERMS_NAME}" required reqTitle="결제조건" readonly style="width:100%;"/>
|
||
</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">
|
||
<input type="text" name="PURCHASE_ORDER_NO_ORG" id="PURCHASE_ORDER_NO_ORG" value="${info.PURCHASE_ORDER_NO_ORG}" readonly style="width:100%;"/>
|
||
<!-- <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> -->
|
||
</td>
|
||
<td colspan="1" class="input_title">제목</td>
|
||
<td colspan="2"><input type="text" name="TITLE" id="TITLE" value="${info.TITLE }" required reqTitle="제목" readonly style="width:100%;"/></td>
|
||
<td colspan="2" class="input_title">합계금액(원)</td>
|
||
<td colspan="5"><input type="text" name="TOTAL_PRICE_TXT" id="TOTAL_PRICE_TXT" value="${info.TOTAL_PRICE_TXT }" readonly placeHolder="금액합계 자동계산"/></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'}">
|
||
<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:choose>
|
||
<c:when test="${param.DELIVERY_STATUS ne '입고완료' and param.actionType ne 'view'}">
|
||
<div style="float: left;">
|
||
<span style="color:red;">미입고 </span>
|
||
<td><input type="checkbox" name="LOCATION_CHECK" id="LOCATION_CHECK" value="YES"/></td>
|
||
<td><select name="LOCATION_CD" id="LOCATION_CD" style="width:100px;margin-right:10px;" onchange="chageLangSelect('CD','')"><option value=''>선택</option>${code_map.location}</select></td>
|
||
<td><input type="checkbox" name="SUB_CHECK" id="SUB_CHECK" value="YES"/></td>
|
||
<td><select name="SUB_LOCATION_CD" id="SUB_LOCATION_CD" style="width:100px;margin-right:10px;"></select></td>
|
||
</div>
|
||
<%-- <c:if test="${info.TYPE eq '0001538'}"> --%>
|
||
<input type="button" value="추가" id="btnAdd" class="plm_btns" style="background:#dfeffc">
|
||
<input type="button" value="삭제" id="btnRemove" class="plm_btns">
|
||
<%-- </c:if> --%>
|
||
<input type="button" value="일괄적용" id="btnApply" class="plm_btns" style="background:#dfeffc">
|
||
<input type="button" value="저장" class="plm_btns" id="btnReg" name="btnReg" style="background:#dfeffc">
|
||
</c:when>
|
||
<c:otherwise>
|
||
<!-- <input type="button" value="Location저장" id="btnLocation" class="plm_btns" style="background:#dfeffc"> -->
|
||
</c:otherwise>
|
||
</c:choose>
|
||
<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 id="plm_over" style="height:379px ; overflow-y: auto; overflow-x: auto;">
|
||
<div style="width:44%; display: inline-block; float:left;">
|
||
<div class="plm_table_wrap1" style="height: auto;">
|
||
<div class="in_table_scroll_wrap _table1" style="height:40%;">
|
||
<table class="plm_table4" style="position:absolute; border-Spacing:0; border-Collapse: separate;" id="part_table">
|
||
<colgroup>
|
||
<col width="13%" />
|
||
<col width="15%" />
|
||
<col width="14%" />
|
||
<col width="10%" />
|
||
<col width="5%" />
|
||
<col width="5%" />
|
||
<col width="8%" />
|
||
</colgroup>
|
||
<thead style="position: relative; z-index: 4;">
|
||
<tr class="plm_thead">
|
||
<td colspan="7">발주품목</td>
|
||
</tr>
|
||
<tr class="plm_thead">
|
||
<td>품번</td>
|
||
<td>품명</td>
|
||
<td>규격</td>
|
||
<td>Maker</td>
|
||
<td>단위</td>
|
||
<td>수량</td>
|
||
<td>입고요청일</td>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="plm_tb" style="position: relative; z-index: 3; background: #fff;">
|
||
<c:choose>
|
||
<c:when test="${empty partList}">
|
||
<tr style="text-align:center;">
|
||
<td align="center" colspan="7">조회된 데이터가 없습니다.</td>
|
||
</tr>
|
||
</c:when>
|
||
<c:otherwise>
|
||
<c:forEach var="item" items="${partList}" varStatus="varStatus">
|
||
<tr>
|
||
<input type="hidden" name="DETAIL_GROUP" value="${varStatus.count}" />
|
||
<input type="hidden" name="DH_OBJID" value="${item.OBJID}" />
|
||
<input type="hidden" name="ORDER_PART_OBJID_${varStatus.count}" value="${item.ORDER_PART_OBJID}" />
|
||
<input type="hidden" name="PART_OBJID_${varStatus.count}" value="${item.PART_OBJID}" />
|
||
<input type="hidden" name="ORDER_QTY_${varStatus.count}" value="${item.ORDER_QTY}" />
|
||
<input type="hidden" name="REAL_ORDER_QTY_${varStatus.count}" value="${item.REAL_ORDER_QTY}" />
|
||
<input type="hidden" name="NON_RECEIPT_QTY_${varStatus.count}" value="${item.NON_ARRIVAL_QTY}" />
|
||
<input type="hidden" name="LD_PART_OBJID_${varStatus.count}" value="${item.LD_PART_OBJID}" />
|
||
|
||
<td title="${item.PART_NO}" style="text-align:left;">${item.PART_NO}</td>
|
||
<td title="${item.PART_NAME}" style="text-align:left;">${item.PART_NAME}</td>
|
||
<td title="${item.SPEC}" style="text-align:left;">${item.SPEC}</td>
|
||
<td title="${item.MAKER}" style="text-align:left;">${item.MAKER}</td>
|
||
<td title="${item.UNIT_TITLE}">${item.UNIT_TITLE}</td>
|
||
<td title="${item.REAL_ORDER_QTY}"><input type="hidden" name="ORDER_QTY" class="ORDER_QTY_${item.ORDER_PART_OBJID}" value="${item.REAL_ORDER_QTY}" onchange="fn_calc('${item.ORDER_PART_OBJID}');"/><fmt:formatNumber value="${item.REAL_ORDER_QTY}" pattern="#,###" /></td>
|
||
<td title="${item.POM_DELIVERY_DATE}">${item.POM_DELIVERY_DATE}</td>
|
||
</tr>
|
||
</c:forEach>
|
||
</c:otherwise>
|
||
</c:choose>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<c:set var="GROUP_SEQ" value="1" />
|
||
<div style="width:56%; display: inline-block;">
|
||
<div class="plm_table_wrap1" style="height: auto;">
|
||
<div class="in_table_scroll_wrap _table1" style="height:40%; width: 100%;">
|
||
<table class="plm_table3" style="position:absolute; border-Spacing:0; border-Collapse: separate; width: 100%;" id="addData">
|
||
<c:choose>
|
||
<c:when test="${empty arrivalList}">
|
||
</c:when>
|
||
<c:otherwise>
|
||
<c:forEach var="item" items="${arrivalList}" varStatus="varStatus">
|
||
<c:choose>
|
||
<c:when test="${varStatus.index == 0}">
|
||
<colgroup id="addColgroup1">
|
||
<col width="90px" />
|
||
<col width="90px" />
|
||
<col width="90px" />
|
||
<col width="130px" />
|
||
<col width="130px" />
|
||
<col width="90px" />
|
||
<!-- <col width="75px" />
|
||
<col width="80px" />
|
||
<col width="80px" /> -->
|
||
</colgroup>
|
||
<thead style="position: relative; z-index: 2;">
|
||
<tr class="plm_thead" id="head1">
|
||
<td colspan="6" class="tdHeader">1차</td>
|
||
</tr>
|
||
<tr class="plm_thead" id='head2'>
|
||
<td>입고예정수량</td>
|
||
<td>입고예정일</td>
|
||
<td>입고일</td>
|
||
<td><input type='checkbox' name='groupCheck_1' value='1'>Location</td>
|
||
<td><input type='checkbox' name='groupSubCheck_1' value='1'>SubLocation</td>
|
||
<td>입고수량</td>
|
||
<!-- <td>부적합수량</td>
|
||
<td>부적합사유</td>
|
||
<td>귀책</td> -->
|
||
</tr>
|
||
</thead>
|
||
<tbody style="position: relative; z-index: 1;" >
|
||
<tr id="dataTr_${varStatus.count}">
|
||
<td>
|
||
<c:set var="GROUP_SEQ" value="${item.GROUP_SEQ}" />
|
||
<input type="hidden" name="OBJID" value="${item.OBJID}" />
|
||
<input type="hidden" name="GROUP_SEQ" value="${item.GROUP_SEQ}" />
|
||
<input type="hidden" name="SEQ" value="${item.SEQ}" />
|
||
<input type="hidden" name="INVENTORY_STATUS" value="${item.INVENTORY_STATUS}" />
|
||
<input type="hidden" name="INVOICE_OBJID" id="INVOICE_OBJID_${item.OBJID}" value="${item.INVOICE_OBJID}" />
|
||
<input type="text" name="ARRIVAL_QTY" style="text-align:center;" value="<fmt:formatNumber value="${item.ARRIVAL_QTY}" pattern="#,###" />" numberOnly />
|
||
<%-- <fmt:formatNumber value="${item.ARRIVAL_QTY}" pattern="#,###" /> --%>
|
||
</td>
|
||
<td>
|
||
<input type='text' name='ARRIVAL_PLAN_DATE' readonly id='ARRIVAL_PLAN_DATE_${item.OBJID}' class='date' value='${item.ARRIVAL_PLAN_DATE}' />
|
||
</td>
|
||
<td>
|
||
<c:choose>
|
||
<c:when test="${item.INVENTORY_STATUS eq 'Y'}">
|
||
<input type="text" name="RECEIPT_DATE" id="RECEIPT_DATE_${item.OBJID}" class="date" value="${item.RECEIPT_DATE}" />
|
||
</c:when>
|
||
<c:otherwise>
|
||
<input type="text" name="RECEIPT_DATE" id="RECEIPT_DATE_${item.OBJID}" class="date" value="${sysDate}" />
|
||
</c:otherwise>
|
||
</c:choose>
|
||
</td>
|
||
<td>
|
||
<select name="LOCATION" id="LOCATION_${item.OBJID}" data-select="${item.LOCATION}" class="LOCATION_1" onchange="chageLangSelect('${item.OBJID}','${item.SUB_LOCATION}')"><option value="">선택</option>${code_map.location}</select>
|
||
</td>
|
||
<td>
|
||
<select name="SUB_LOCATION" id="SUB_LOCATION_${item.OBJID}" data-select="${item.SUB_LOCATION}" class="SUB_LOCATION_1"><option value="">선택</option></select>
|
||
</td>
|
||
<td>
|
||
<input type="hidden" name="RECEIPT_INV_QTY" id="RECEIPT_INV_QTY_${item.OBJID}" value="${item.RECEIPT_QTY}" />
|
||
<c:choose>
|
||
<c:when test="${item.INVENTORY_STATUS eq 'Y' or param.DELIVERY_STATUS eq '입고완료'}">
|
||
<input type="text" name="RECEIPT_QTY" id="RECEIPT_QTY_${item.OBJID}" class="RECEIPT_QTY_${item.ORDER_PART_OBJID}" style="text-align:center;" value="<fmt:formatNumber value="${item.RECEIPT_QTY}" pattern="#,###" />" numberOnly onchange="fn_calc('${item.ORDER_PART_OBJID}');" />
|
||
</c:when>
|
||
<c:otherwise>
|
||
<input type="text" name="RECEIPT_QTY" id="RECEIPT_QTY_${item.OBJID}" class="RECEIPT_QTY_${item.ORDER_PART_OBJID}" style="text-align:center; color:red;" value="<fmt:formatNumber value="${item.ARRIVAL_QTY}" pattern="#,###" />" numberOnly onchange="fn_calc('${item.ORDER_PART_OBJID}');" />
|
||
</c:otherwise>
|
||
</c:choose>
|
||
</td>
|
||
<%-- <td>
|
||
<input type="text" name="ERROR_QTY" id="ERROR_QTY_${item.OBJID}" class="ERROR_QTY_${item.PART_OBJID}" style="text-align:center;" value="${item.ERROR_QTY}" numberOnly onchange="fn_calc('${item.PART_OBJID}');" />
|
||
</td>
|
||
<td>
|
||
<select name="ERROR_REASON" id="ERROR_REASON_${item.OBJID}" data-select="${item.ERROR_REASON}" ><option value="">선택</option>${code_map.defectReason}</select>
|
||
</td>
|
||
<td>
|
||
<select name="ATTRIBUTION" id="ATTRIBUTION_${item.OBJID}" data-select="${item.ATTRIBUTION}"><option value="">선택</option>${code_map.defectResp}</select>
|
||
</td> --%>
|
||
</tr>
|
||
</c:when>
|
||
<c:otherwise>
|
||
<c:if test="${varStatus.index % partList.size() == 0}">
|
||
<colgroup id="addColgroup">
|
||
<col width="90px" />
|
||
<col width="90px" />
|
||
<col width="90px" />
|
||
<col width="130x" />
|
||
<col width="130px" />
|
||
<col width="90px" />
|
||
<!-- <col width="75px" />
|
||
<col width="80px" />
|
||
<col width="80px" /> -->
|
||
</colgroup>
|
||
<script>
|
||
var appendHead1Text ="<td colspan='6' class='tdHeader realData'>${item.GROUP_SEQ}차</td>";
|
||
var appendHead2Text ="<td>입고예정수량</td> <td>입고예정일</td> <td>입고일</td> <td><input type='checkbox' name='groupCheck_${item.GROUP_SEQ}' value='${item.GROUP_SEQ}'>Location</td> <td><input type='checkbox' name='groupSubCheck_${item.GROUP_SEQ}' value='${item.GROUP_SEQ}'>SubLocation</td> <td>입고수량</td>";
|
||
$("#head1").append(appendHead1Text);
|
||
$("#head2").append(appendHead2Text);
|
||
</script>
|
||
</c:if>
|
||
<c:if test="${varStatus.count <= partList.size()}">
|
||
|
||
<tr id="dataTr_${varStatus.count}">
|
||
<td>
|
||
<input type="hidden" name="OBJID" value="${item.OBJID}" />
|
||
<input type="hidden" name="GROUP_SEQ" value="${item.GROUP_SEQ}" />
|
||
<input type="hidden" name="SEQ" value="${item.SEQ}" />
|
||
<input type="hidden" name="INVENTORY_STATUS" value="${item.INVENTORY_STATUS}" />
|
||
<input type="hidden" name="INVOICE_OBJID" id="INVOICE_OBJID_${item.OBJID}" value="${item.INVOICE_OBJID}" />
|
||
<input type="text" name="ARRIVAL_QTY" style="text-align:center;" value="<fmt:formatNumber value="${item.ARRIVAL_QTY}" pattern="#,###" />" numberOnly />
|
||
<%-- <fmt:formatNumber value="${item.ARRIVAL_QTY}" pattern="#,###" /> --%>
|
||
</td>
|
||
<td>
|
||
<input type='text' name='ARRIVAL_PLAN_DATE' readonly id='ARRIVAL_PLAN_DATE_${item.OBJID}' class='date' value='${item.ARRIVAL_PLAN_DATE}' />
|
||
</td>
|
||
<td>
|
||
<c:choose>
|
||
<c:when test="${item.INVENTORY_STATUS eq 'Y'}">
|
||
<input type="text" name="RECEIPT_DATE" id="RECEIPT_DATE_${item.OBJID}" class="date" value="${item.RECEIPT_DATE}" />
|
||
</c:when>
|
||
<c:otherwise>
|
||
<input type="text" name="RECEIPT_DATE" id="RECEIPT_DATE_${item.OBJID}" class="date" value="${sysDate}" />
|
||
</c:otherwise>
|
||
</c:choose>
|
||
</td>
|
||
<td>
|
||
<select name="LOCATION" id="LOCATION_${item.OBJID}" class="LOCATION_${item.GROUP_SEQ}" data-select="${item.LOCATION}" onchange="chageLangSelect('${item.OBJID}','${item.SUB_LOCATION}')"><option value="">선택</option>${code_map.location}</select>
|
||
</td>
|
||
<td>
|
||
<select name="SUB_LOCATION" id="SUB_LOCATION_${item.OBJID}" class="SUB_LOCATION_${item.GROUP_SEQ}" data-select="${item.SUB_LOCATION}" ><option value="">선택</option></select>
|
||
</td>
|
||
<td>
|
||
<input type="hidden" name="RECEIPT_INV_QTY" id="RECEIPT_INV_QTY_${item.OBJID}" value="${item.RECEIPT_QTY}" />
|
||
<c:choose>
|
||
<c:when test="${item.INVENTORY_STATUS eq 'Y'}">
|
||
<input type="text" name="RECEIPT_QTY" id="RECEIPT_QTY_${item.OBJID}" class="RECEIPT_QTY_${item.ORDER_PART_OBJID}" style="text-align:center;" value="<fmt:formatNumber value="${item.RECEIPT_QTY}" pattern="#,###" />" numberOnly onchange="fn_calc('${item.ORDER_PART_OBJID}');"/>
|
||
</c:when>
|
||
<c:otherwise>
|
||
<input type="text" name="RECEIPT_QTY" id="RECEIPT_QTY_${item.OBJID}" class="RECEIPT_QTY_${item.ORDER_PART_OBJID}" style="text-align:center; color:red;" value="<fmt:formatNumber value="${item.ARRIVAL_QTY}" pattern="#,###" />" numberOnly onchange="fn_calc('${item.ORDER_PART_OBJID}');"/>
|
||
</c:otherwise>
|
||
</c:choose>
|
||
</td>
|
||
<%-- <td>
|
||
<input type="text" name="ERROR_QTY" id="ERROR_QTY_${item.OBJID}" class="ERROR_QTY_${item.PART_OBJID}" style="text-align:center;" value="${item.ERROR_QTY}" numberOnly onchange="fn_calc('${item.PART_OBJID}');"/>
|
||
</td>
|
||
<td>
|
||
<select name="ERROR_REASON" id="ERROR_REASON_${item.OBJID}" data-select="${item.ERROR_REASON}" ><option value="">선택</option>${code_map.defectReason}</select>
|
||
</td>
|
||
<td>
|
||
<select name="ATTRIBUTION" id="ATTRIBUTION_${item.OBJID}" data-select="${item.ATTRIBUTION}" ><option value="">선택</option>${code_map.defectResp}</select>
|
||
</td> --%>
|
||
</tr>
|
||
</c:if>
|
||
</tbody>
|
||
<c:if test="${varStatus.count > partList.size()}">
|
||
<script>
|
||
var Text ="";
|
||
Text += "<td>";
|
||
Text += "<input type='hidden' name='OBJID' value='${item.OBJID}' />";
|
||
Text += "<input type='hidden' name='GROUP_SEQ' value='${item.GROUP_SEQ}' />";
|
||
Text += "<input type='hidden' name='SEQ' value='${item.SEQ}' />";
|
||
Text += "<input type='hidden' name='INVENTORY_STATUS' value='${item.INVENTORY_STATUS}' />";
|
||
Text += "<input type='hidden' name='INVOICE_OBJID' id='INVOICE_OBJID_${item.OBJID}' value='${item.INVOICE_OBJID}' />";
|
||
Text += "<input type='text' name='ARRIVAL_QTY' style='text-align:center;' value='${item.ARRIVAL_QTY}' numberOnly />";
|
||
/* Text += numberWithCommas(fnc_checkNull(${item.ARRIVAL_QTY})); */
|
||
Text += "</td>";
|
||
Text += "<td>";
|
||
/* Text += ${item.ARRIVAL_PLAN_DATE}; */
|
||
Text += "<input type='text' name='ARRIVAL_PLAN_DATE' readonly id='ARRIVAL_PLAN_DATE_${item.OBJID}' class='date' value='${item.ARRIVAL_PLAN_DATE}' />";
|
||
Text += "</td>";
|
||
/* 박창현 */
|
||
if("${item.INVENTORY_STATUS}"=="Y"){
|
||
//alert("qwe");
|
||
Text += "<td>";
|
||
Text += "<input type='text' name='RECEIPT_DATE' id='RECEIPT_DATE_${item.OBJID}' class='date' value='${item.RECEIPT_DATE}' />";
|
||
Text += "</td>";
|
||
Text += "<td class='align_c'>";
|
||
Text += " <select name='LOCATION' id='LOCATION_${item.OBJID}' class='LOCATION_${item.GROUP_SEQ}' data-select='${item.LOCATION}' onchange='chageLangSelect(\"${item.OBJID}\",\"${item.SUB_LOCATION}\")'><option value=''>선택</option>${code_map.location}</select>";
|
||
Text += "</td>";
|
||
Text += "<td class='align_c'>";
|
||
Text += " <select name='SUB_LOCATION' id='SUB_LOCATION_${item.OBJID}' class='SUB_LOCATION_${item.GROUP_SEQ}' data-select='${item.SUB_LOCATION}'><option value=''>선택</option></select>";
|
||
Text += "</td>";
|
||
Text += "<td class='align_c'>";
|
||
Text += "<input type='hidden' name='RECEIPT_INV_QTY' id='RECEIPT_INV_QTY_${item.OBJID}' value='${item.RECEIPT_QTY}' />";
|
||
Text += "<input type='text' numberOnly name='RECEIPT_QTY' id='RECEIPT_QTY_${item.OBJID}' class='RECEIPT_QTY_${item.ORDER_PART_OBJID}' value='${item.RECEIPT_QTY}' style='text-align:center;' onchange='fn_calc(${item.ORDER_PART_OBJID});'>";
|
||
Text += "</td>";
|
||
}else{
|
||
Text += "<td>";
|
||
Text += "<input type='text' name='RECEIPT_DATE' id='RECEIPT_DATE_${item.OBJID}' class='date' value='${sysDate}' />";
|
||
Text += "</td>";
|
||
Text += "<td class='align_c'>";
|
||
Text += " <select name='LOCATION' id='LOCATION_${item.OBJID}' class='LOCATION_${item.GROUP_SEQ}' data-select='${item.LOCATION}' onchange='chageLangSelect(\"${item.OBJID}\",\"${item.SUB_LOCATION}\")'><option value=''>선택</option>${code_map.location}</select>";
|
||
Text += "</td>";
|
||
Text += "<td class='align_c'>";
|
||
Text += " <select name='SUB_LOCATION' id='SUB_LOCATION_${item.OBJID}' class='SUB_LOCATION_${item.GROUP_SEQ}' data-select='${item.SUB_LOCATION}'><option value=''>선택</option></select>";
|
||
Text += "</td>";
|
||
Text += "<td class='align_c'>";
|
||
Text += "<input type='hidden' name='RECEIPT_INV_QTY' id='RECEIPT_INV_QTY_${item.OBJID}' value='${item.RECEIPT_QTY}' />";
|
||
Text += "<input type='text' numberOnly name='RECEIPT_QTY' id='RECEIPT_QTY_${item.OBJID}' class='RECEIPT_QTY_${item.ORDER_PART_OBJID}' value='${item.ARRIVAL_QTY}' style='text-align:center; color:red; ' onchange='fn_calc(${item.ORDER_PART_OBJID});'>";
|
||
Text += "</td>";
|
||
}
|
||
|
||
|
||
/* Text += "<td class='align_c'>";
|
||
Text += "<input type='text' numberOnly name='ERROR_QTY' id='ERROR_QTY_${item.OBJID}' class='ERROR_QTY_${item.PART_OBJID}' value='${item.ERROR_QTY}' style='text-align:center;' onchange='fn_calc(${item.PART_OBJID});'>";
|
||
Text += "</td>";
|
||
Text += "<td class='align_c'>";
|
||
Text += " <select name='ERROR_REASON' id='ERROR_REASON_${item.OBJID}' data-select='${item.ERROR_REASON}'><option value=''>선택</option>${code_map.defectReason}</select>";
|
||
Text += "</td>";
|
||
Text += "<td class='align_c'>";
|
||
Text += " <select name='ATTRIBUTION' id='ATTRIBUTION_${item.OBJID}' data-select='${item.ATTRIBUTION}'><option value=''>선택</option>${code_map.defectResp}</select>";
|
||
Text += "</td>"; */
|
||
|
||
$("#dataTr_${varStatus.index % partList.size()+1}").append(Text);
|
||
//selectSetVal("data-select", true);
|
||
//var selVal = $("#LOCATION_${item.OBJID}").attr("data-select");
|
||
//$("#LOCATION_${item.OBJID}").val('${item.LOCATION}').trigger("change");//.select2();
|
||
//$("#SUB_LOCATION_${item.OBJID}").select2();
|
||
</script>
|
||
</c:if>
|
||
</c:otherwise>
|
||
</c:choose>
|
||
</c:forEach>
|
||
<script>
|
||
|
||
var groupseq = ${GROUP_SEQ}; //${arrivalList.size()} / ${partList.size()}
|
||
var addColStr = '<col width="100px" class="lastCol">'
|
||
if(groupseq == 1){
|
||
//addColStr = '<col width="100%">'
|
||
}
|
||
$("#addColgroup").append(addColStr);
|
||
|
||
var appendText ="<td rowspan='2' class='NON_ARRIVAL_QTY_TXT' style='width:100px;'>미입고수량</td>";
|
||
$("#head1").append(appendText);
|
||
|
||
selectSetVal("data-select", true);
|
||
</script>
|
||
|
||
<c:forEach var="item" items="${partList}" varStatus="varStatus">
|
||
<script>
|
||
|
||
var groupseq = ${GROUP_SEQ}; //${arrivalList.size()} / ${partList.size()}
|
||
var widthStr = '100px';
|
||
if(groupseq == 1){
|
||
widthStr = '150px';
|
||
}
|
||
|
||
var Text ="";
|
||
Text += "<tr class='NON_ARRIVAL_QTY_TXT'>";
|
||
Text += "<input type='hidden' name='NON_ARRIVAL_QTY_${varStatus.count}' class='NON_ARRIVAL_QTY_TXT' id='NON_ARRIVAL_QTY_${item.ORDER_PART_OBJID}' value='${item.NON_ARRIVAL_QTY}'>";
|
||
Text += "<td style='width:"+widthStr+";' id='NON_ARRIVAL_QTY_TXT_${item.ORDER_PART_OBJID}' class='NON_ARRIVAL_QTY_TXT'>"+numberWithCommas(${item.NON_ARRIVAL_QTY})+"</td>";
|
||
Text += "</tr>";
|
||
$("#dataTr_${varStatus.index % partList.size()+1}").append(Text);
|
||
|
||
//selectSetVal("data-select", true);
|
||
$("input[name*=RECEIPT_QTY]").trigger("change");
|
||
//$(".select2").select2();
|
||
</script>
|
||
</c:forEach>
|
||
</c:otherwise>
|
||
</c:choose>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="expenseApplyPopupFormWrap1" style="margin-top:30px;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"/>
|
||
|
||
<td rowspan="" colspan="" class="input_title">동시적용 프로젝트번호</td>
|
||
<td><input type="text" name="APPLICATION_PROJECT_NUMBER1" id="APPLICATION_PROJECT_NUMBER1" value="" class="APPLICATION_PROJECT_NUMBER"/></td>
|
||
<td><input type="text" name="APPLICATION_PROJECT_NUMBER2" id="APPLICATION_PROJECT_NUMBER2" value="" class="APPLICATION_PROJECT_NUMBER"/></td>
|
||
<td><input type="text" name="APPLICATION_PROJECT_NUMBER3" id="APPLICATION_PROJECT_NUMBER3" value="" class="APPLICATION_PROJECT_NUMBER"/></td>
|
||
<td><input type="text" name="APPLICATION_PROJECT_NUMBER4" id="APPLICATION_PROJECT_NUMBER4" value="" class="APPLICATION_PROJECT_NUMBER"/></td>
|
||
<td><input type="text" name="APPLICATION_PROJECT_NUMBER5" id="APPLICATION_PROJECT_NUMBER5" value="" class="APPLICATION_PROJECT_NUMBER"/></td>
|
||
<td><input type="text" name="APPLICATION_PROJECT_NUMBER6" id="APPLICATION_PROJECT_NUMBER6" value="" class="APPLICATION_PROJECT_NUMBER"/></td>
|
||
<td><input type="text" name="APPLICATION_PROJECT_NUMBER7" id="APPLICATION_PROJECT_NUMBER7" value="" class="APPLICATION_PROJECT_NUMBER"/></td>
|
||
<td><input type="text" name="APPLICATION_PROJECT_NUMBER8" id="APPLICATION_PROJECT_NUMBER8" value="" class="APPLICATION_PROJECT_NUMBER"/></td>
|
||
<td><input type="text" name="APPLICATION_PROJECT_NUMBER9" id="APPLICATION_PROJECT_NUMBER9" value="" class="APPLICATION_PROJECT_NUMBER"/></td>
|
||
<td><input type="text" name="APPLICATION_PROJECT_NUMBER10" id="APPLICATION_PROJECT_NUMBER10" value="" class="APPLICATION_PROJECT_NUMBER"/></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>
|
||
|
||
</form>
|
||
<script>
|
||
window.onload = function() {
|
||
applyScrollHandler();
|
||
/* var tableHeader1 = document.querySelector('.plm_table4 thead');
|
||
console.log(tableHeader1);
|
||
var tableBody = document.querySelector('.plm_table4 tbody');
|
||
console.log(tableBody);
|
||
var tableHeader2 = document.querySelector('.plm_table3 thead');
|
||
var tableBody1 = document.querySelector('.plm_table3 tbody');
|
||
console.log(tableBody1);
|
||
// 부모 요소인 plm_over를 찾습니다.
|
||
var parentElement = document.getElementById('plm_over');
|
||
|
||
// 부모 요소인 plm_over에 스크롤 이벤트 리스너를 등록합니다.
|
||
parentElement.addEventListener('scroll', function() {
|
||
// 테이블 1: 상하 스크롤 시에는 헤더만 고정
|
||
tableHeader1.style.transform = 'translate(' + parentElement.scrollLeft + 'px, ' + parentElement.scrollTop + 'px)';
|
||
// 테이블 2: 상하 스크롤 시에는 헤더만 고정
|
||
tableHeader2.style.transform = 'translateY(' + parentElement.scrollTop + 'px)';
|
||
// 테이블 1의 본문을 좌우로 고정
|
||
tableBody.style.transform = 'translateX(' + parentElement.scrollLeft + 'px)';
|
||
}); */
|
||
};
|
||
</script>
|
||
</body>
|
||
</html> |