2308 lines
100 KiB
Plaintext
2308 lines
100 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"
|
||
,"품명"
|
||
,"품번"
|
||
//,"품번2"
|
||
,"규격","메이커","단위","설계수량","수량","실발주수량"
|
||
,"공급단가"
|
||
//,"레이져단가","용접단가","가공단가","후처리단가"
|
||
,"공급가","부가세","부가세포함공급가"
|
||
,"총발주수량","재고수량","재고수량(org)","총실발주수량","실공급가" //sum
|
||
]
|
||
,colModel: [
|
||
{name:"OBJID" , index:"", width: 0, align:"center", hidden: true, sortable:false, editable:false}
|
||
,{name:"PART_OBJID" , index:"", width: 0, align:"center", hidden: true, sortable:false, editable:false}
|
||
,{name:"LD_PART_OBJID" , index:"", width: 0, align:"center", hidden: true, sortable:false, editable:false}
|
||
,{name:"PART_NAME" , index:"", width:200, align:"left", hidden:false, sortable:false, editable:false
|
||
,editoptions:{
|
||
dataInit: function(e){ e.style.textAlign = "left"; e.style.fontSize = 13; }
|
||
,dataEvents: [ {type:"change", fn:function(e) { }} ]
|
||
}
|
||
}
|
||
,{name:"PART_NO" , index:"", width:200, align:"left", hidden:false, sortable:false, editable:false
|
||
<%--
|
||
,formatter:'showlink'
|
||
,formatoptions:{baseLinkUrl:'/partMng/partMngDetailPopUp.do', //?OBJID=
|
||
//addParam: '&action=display&OBJID='
|
||
//baseLinkUrl:'javascript:openPartMngPopup()',
|
||
idName:'OBJID',
|
||
addParam: function (options) {
|
||
//console.log(options.rowData.PART_OBJID);
|
||
//return "/partMng/partMngDetailPopUp.do?OBJID=" + options.rowData.PART_OBJID;
|
||
//return 'openPartMngPopup(\"" + rowObject.PART_OBJID + "\");'
|
||
//return 'openPartMngPopup(' + rowData.PART_OBJID + ')';
|
||
return rowData.PART_OBJID;
|
||
}
|
||
}
|
||
--%>
|
||
,formatter:setLink
|
||
,editoptions:{
|
||
dataInit: function(e){ e.style.textAlign = "left"; e.style.fontSize = 13; }
|
||
,dataEvents: [ {type:"change", fn:function(e) { }} ]
|
||
}
|
||
}
|
||
<%--
|
||
,{name:"PART_OBJID" , index:"", width:110, align:"left", hidden:false, sortable:false, editable:false
|
||
,formatter:'showlink'
|
||
,formatoptions:{baseLinkUrl:'/partMng/partMngDetailPopUp.do', //?OBJID=
|
||
//addParam: '&action=display&OBJID='
|
||
//baseLinkUrl:'javascript:openPartMngPopup()',
|
||
idName:'PART_OBJID',
|
||
/*
|
||
addParam: function (options) {
|
||
//console.log(options.rowData.PART_OBJID);
|
||
//return "/partMng/partMngDetailPopUp.do?OBJID=" + options.rowData.PART_OBJID;
|
||
//return 'openPartMngPopup(\"" + rowObject.PART_OBJID + "\");'
|
||
//return 'openPartMngPopup(' + rowData.PART_OBJID + ')';
|
||
return rowData.PART_OBJID;
|
||
}
|
||
*/
|
||
}
|
||
//,formatter:setLink
|
||
,editoptions:{
|
||
dataInit: function(e){ e.style.textAlign = "left"; e.style.fontSize = 13; }
|
||
,dataEvents: [ {type:"change", fn:function(e) { }} ]
|
||
}
|
||
}
|
||
--%>
|
||
,{name:"SPEC" , index:"", width:140, align:"left", hidden:false, sortable:false, editable:false
|
||
,editoptions:{
|
||
dataInit: function(e){ e.style.textAlign = "left"; e.style.fontSize = 13; }
|
||
,dataEvents: [ {type:"change", fn:function(e) { }} ]
|
||
}
|
||
}
|
||
,{name:"MAKER" , index:"", width:110, align:"left", hidden:false, sortable:false, editable:false
|
||
,editoptions:{
|
||
dataInit: function(e){ e.style.textAlign = "left"; e.style.fontSize = 13; }
|
||
,dataEvents: [ {type:"change", fn:function(e) { }} ]
|
||
}
|
||
}
|
||
,{name:"UNIT" , index:"", width:52, align:"center", hidden:false, sortable:false, editable: true
|
||
,edittype :"select"
|
||
,formatter :"select"
|
||
,editoptions:{
|
||
value: unit_cd
|
||
,dataInit : function(e){
|
||
e.style.width = "92%";
|
||
e.style.fontSize = 13;
|
||
}
|
||
}
|
||
}
|
||
,{name:"BOM_QTY" , index:"", width:53, align: "right", hidden:true, sortable:false, editable: false
|
||
,formatter: "integer", formatoptions:{thousandsSeparator:","}
|
||
,editoptions:{
|
||
dataInit: function(e){ e.style.textAlign = "right"; e.style.fontSize = 13; }
|
||
,dataEvents: [ {type:"change", fn:function(e) { gridFn.calcRowAll(e); }} ]
|
||
}
|
||
}
|
||
,{name:"QTY" , index:"", width:40, align: "right", hidden:false, sortable:false, editable: (<%=isModify%> && ('${info.TYPE}' == TYPE_BUY_ITEM ||'${info.TYPE}' == TYPE_ETC || '${info.TYPE}' == TYPE_LONG_DLV || '${info.TYPE}' == TYPE_SUBCONTRACT || "${info.ORDER_TYPE_CD}" == '0001408') ? true : false) <%--=isModify--%>
|
||
//,formatter: "integer", formatoptions:{thousandsSeparator:","}
|
||
,editoptions:{
|
||
dataInit: function(e){ e.style.textAlign = "right"; e.style.fontSize = 13; }
|
||
,dataEvents: [ {type:"change", fn:function(e) { gridFn.calcRowAll(e); }} ]
|
||
}
|
||
}
|
||
,{name:"ORDER_QTY" , index:"", width:53, align: "right", hidden:false, sortable:false, editable: false
|
||
//,formatter: "integer", formatoptions:{thousandsSeparator:","}
|
||
,editoptions:{
|
||
dataInit: function(e){ e.style.textAlign = "right"; e.style.fontSize = 13; }
|
||
,dataEvents: [ {type:"change", fn:function(e) { gridFn.calcRowAll(e); }} ]
|
||
}
|
||
}
|
||
,{name:"PARTNER_PRICE" , index:"", width:80, align: "right", hidden:false, sortable:false, editable: true
|
||
,formatter: "integer", formatoptions:{//decimalPlaces: 0, // 소수점 자리수 (0으로 설정하면 정수만 표시)
|
||
thousandsSeparator:","}
|
||
,editoptions:{
|
||
dataInit: function(e){ e.style.textAlign = "right"; e.style.fontSize = 13; }
|
||
,dataEvents: [ {type:"change", fn:function(e) { gridFn.calcRowAll(e); }
|
||
}
|
||
/*
|
||
,{type:"onclick", fn:function(e) {
|
||
var rowid = this.id.replace("_PARTNER_PRICE","");
|
||
var value = zero_to_null(this.value);
|
||
grid.jqGrid('setCell', rowid, 'PARTNER_PRICE', value);
|
||
}
|
||
}
|
||
*/
|
||
]
|
||
}
|
||
}
|
||
// ,{name:"PRICE1" , index:"", width:70, align: "right", hidden:false, sortable:false, editable: true
|
||
// ,formatter: "integer", formatoptions:{thousandsSeparator:","}
|
||
// ,editoptions:{
|
||
// dataInit: function(e){ e.style.textAlign = "right"; e.style.fontSize = 13; }
|
||
// ,dataEvents: [ {type:"change", fn:function(e) { gridFn.calcRowAll(e); }}
|
||
/*
|
||
,
|
||
{type:"focus", fn:function(e) {
|
||
var rowid = this.id.replace("_PRICE1","");
|
||
var value = zero_to_null(this.value);
|
||
grid.jqGrid('setCell', rowid, 'PRICE1', value);
|
||
}
|
||
}
|
||
*/
|
||
// ]
|
||
// }
|
||
// }
|
||
// ,{name:"PRICE2" , index:"", width:60, align: "right", hidden:false, sortable:false, editable: true
|
||
// ,formatter: "integer", formatoptions:{thousandsSeparator:","}
|
||
// ,editoptions:{
|
||
// dataInit: function(e){ e.style.textAlign = "right"; e.style.fontSize = 13; }
|
||
// ,dataEvents: [ {type:"change", fn:function(e) { gridFn.calcRowAll(e); }} ]
|
||
// }
|
||
// }
|
||
// ,{name:"PRICE3" , index:"", width:60, align: "right", hidden:false, sortable:false, editable: true
|
||
// ,formatter: "integer", formatoptions:{thousandsSeparator:","}
|
||
// ,editoptions:{
|
||
// dataInit: function(e){ e.style.textAlign = "right"; e.style.fontSize = 13; }
|
||
// ,dataEvents: [ {type:"change", fn:function(e) {
|
||
// gridFn.calcRowAll(e); }} ]
|
||
// }
|
||
// }
|
||
// ,{name:"PRICE4" , index:"", width:70, align: "right", hidden:false, sortable:false, editable: true
|
||
// ,formatter: "integer", formatoptions:{thousandsSeparator:","}
|
||
// ,editoptions:{
|
||
// dataInit: function(e){ e.style.textAlign = "right"; e.style.fontSize = 13; }
|
||
// ,dataEvents: [ {type:"change", fn:function(e) {
|
||
// gridFn.calcRowAll(e); }} ]
|
||
// }
|
||
// }
|
||
,{name:"SUPPLY_UNIT_PRICE", index:"", width:100, align: "right", hidden:false, sortable:false, editable: true
|
||
,formatter: "integer", formatoptions:{thousandsSeparator:","}
|
||
,editoptions:{
|
||
dataInit: function(e){ e.style.textAlign = "right"; e.style.fontSize = 13; }
|
||
,dataEvents: [ {type:"change", fn:function(e) { gridFn.calcRowAll(e); }} ]
|
||
}
|
||
}
|
||
,{name:"SUPPLY_UNIT_VAT_PRICE", index:"", /* width:70, */ align: "right", hidden:true, sortable:false, editable: true
|
||
,formatter: "integer", formatoptions:{thousandsSeparator:","}
|
||
,editoptions:{
|
||
dataInit: function(e){ e.style.textAlign = "right"; e.style.fontSize = 13; }
|
||
,dataEvents: [ {type:"change", fn:function(e) { gridFn.calcRowAll(e); }} ]
|
||
}
|
||
}
|
||
,{name:"SUPPLY_UNIT_VAT_SUM_PRICE", index:"", width:110, align: "right", hidden:true, sortable:false, editable: true
|
||
,formatter: "integer", formatoptions:{thousandsSeparator:","}
|
||
,editoptions:{
|
||
dataInit: function(e){ e.style.textAlign = "right"; e.style.fontSize = 13; }
|
||
,dataEvents: [ {type:"change", fn:function(e) { gridFn.calcRowAll(e);gridFn.calcRowAll(e); }} ]
|
||
}
|
||
}
|
||
,{name:"TOTAL_ORDER_QTY" , index:"", width:66, align: "right", hidden:false, sortable:false, editable: false
|
||
,formatter: "integer", formatoptions:{thousandsSeparator:","}
|
||
,editoptions:{
|
||
dataInit: function(e){ e.style.textAlign = "right"; e.style.fontSize = 13; }
|
||
,dataEvents: [ {type:"change", fn:function(e) { gridFn.calcRowAll(e); }} ]
|
||
}
|
||
}
|
||
,{name:"STOCK_QTY" , index:"", width:55, align: "right", hidden:false, sortable:false, editable: <%=isModify%> //240426 임시로 수정 가능하게 반영 editable: editable
|
||
,formatter: "integer", formatoptions:{thousandsSeparator:","}
|
||
,editoptions:{
|
||
dataInit: function(e){ e.style.textAlign = "right"; e.style.fontSize = 13; }
|
||
,dataEvents: [ {type:"change", fn:function(e) { gridFn.calcRowAll(e); }} ]
|
||
}
|
||
}
|
||
,{name:"STOCK_QTY_ORG" , index:"", width:55, align: "right", hidden:true, sortable:false, editable: false
|
||
,formatter: "integer", formatoptions:{thousandsSeparator:","}
|
||
,editoptions:{
|
||
dataInit: function(e){ e.style.textAlign = "right"; e.style.fontSize = 13; }
|
||
,dataEvents: [ {type:"change", fn:function(e) { gridFn.calcRowAll(e); }} ]
|
||
}
|
||
}
|
||
,{name:"REAL_ORDER_QTY" , index:"", width:79, align: "right", hidden:false, sortable:false, editable: false //240501 입력으로 변경하려다 stop
|
||
,formatter: "integer", formatoptions:{thousandsSeparator:","}
|
||
,editoptions:{
|
||
dataInit: function(e){ e.style.textAlign = "right"; e.style.fontSize = 13; }
|
||
}
|
||
}
|
||
,{name:"REAL_SUPPLY_PRICE" , index:"", width:96, align: "right", hidden:false, sortable:false, editable: false
|
||
,formatter: "integer", formatoptions:{thousandsSeparator:","}
|
||
,editoptions:{
|
||
dataInit: function(e){ e.style.textAlign = "right"; e.style.fontSize = 13; }
|
||
}
|
||
}
|
||
]
|
||
,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 ids = $("#grid1").jqGrid('getDataIDs');
|
||
//var arrNumColumNames = ['PARTNER_PRICE', 'PRICE1', 'PRICE2', 'PRICE3', 'PRICE4']
|
||
for (var i = 0; i < ids.length; i++) {
|
||
var rowId = ids[i];
|
||
var cellValue = $("#grid").jqGrid('getCell', rowId, 'PARTNER_PRICE');
|
||
//var formattedValue = cellValue.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
||
$("#grid").jqGrid('setCell', rowId, 'PARTNER_PRICE', numberWithCommas(cellValue));
|
||
}
|
||
*/
|
||
|
||
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"});
|
||
}
|
||
,beforeSubmitCell: function (rowid, cellname, value, iRow, iCol) {
|
||
// 'linkColumn' 컬럼에 대해서만 링크 태그를 제외하고 값만 전송
|
||
if (cellname === 'linkColumn') {
|
||
// value에는 <a> 태그가 포함된 값이 들어있음
|
||
// 이 값을 처리하여 실제 데이터를 추출하거나 가공하는 로직을 여기에 추가
|
||
var dataWithoutLink = extractDataWithoutLink(value);
|
||
|
||
// 전처리된 값을 반환
|
||
return { value: dataWithoutLink };
|
||
}
|
||
|
||
// 다른 컬럼들에 대해서는 기본 동작 유지
|
||
return true;
|
||
},
|
||
});
|
||
|
||
if("${info.PARTNER_OBJID}" != "" && ("${info.SALES_REQUEST_OBJID}" != "" || "${info.SALES_REQUEST_OBJID}" != null)){
|
||
changelist("${info.PARTNER_OBJID}");
|
||
}
|
||
|
||
gridFn.opennEdit(); //수정가능
|
||
|
||
|
||
<% 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(); //수정가능
|
||
|
||
//버튼
|
||
$("#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(){
|
||
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 rowId = $g.jqGrid('getGridParam', 'selrow'); //선택된행 번호
|
||
var isValid = true;
|
||
var ids = grid.jqGrid("getDataIDs");
|
||
for (var i = 0; i < ids.length; i++) {
|
||
var rowId = ids[i]; //수정중인 행번호 (행선택은 안될수있음)
|
||
var v1 = Number( fnc_checkNullDefaultValue($g.find("#"+rowId+"_ORDER_QTY").val(), grid.jqGrid('getCell', rowId, "ORDER_QTY")).replace(/,/gi,"") );
|
||
var v2 = Number( $g.find("#"+rowId+"_PARTNER_PRICE").val().replace(/,/gi,"") );
|
||
var v3 = Number( $g.find("#"+rowId+"_PRICE1").val().replace(/,/gi,"") );
|
||
var v4 = Number( $g.find("#"+rowId+"_PRICE2").val().replace(/,/gi,"") );
|
||
var v5 = Number( $g.find("#"+rowId+"_PRICE3").val().replace(/,/gi,"") );
|
||
var v6 = Number( $g.find("#"+rowId+"_PRICE4").val().replace(/,/gi,"") );
|
||
//var q1 = Number( $g.find("#"+rowId+"_TOTAL_ORDER_QTY").val().replace(/,/gi,"") );
|
||
var q1 = grid.jqGrid('getCell', rowId, "TOTAL_ORDER_QTY").replace(/,/gi,"");
|
||
var q2 = Number( fnc_checkNullDefaultValue($g.find("#"+rowId+"_STOCK_QTY").val(), grid.jqGrid('getCell', rowId, "STOCK_QTY")).replace(/,/gi,"") );
|
||
var q3 = grid.jqGrid('getCell', rowId, "REAL_ORDER_QTY").replace(/,/gi,"");
|
||
//var q3 = Number( $g.find("#"+rowId+"_REAL_ORDER_QTY").val().replace(/,/gi,"") );
|
||
//var v6 = Number( $g.find("#"+rowId+"_SUPPLY_UNIT_PRICE").val() );
|
||
|
||
var sameProjectCount = fn_getProjectCount();
|
||
//alert(v1);
|
||
/*
|
||
if(!$.isNumeric( fnc_checkNullDefaultValue(eVal,"0")) ){
|
||
Swal.fire("숫자를 입력해주세요."); $(e.target).select(); return;
|
||
}
|
||
else if(v1<=q2){
|
||
Swal.fire("재고수량은 마지막 동시발주건의 수량이 입력되도록 수량보다 작아야 합니다."); $(e.target).select(); return;
|
||
}
|
||
*/
|
||
|
||
if( !$.isNumeric(v1)
|
||
|| !$.isNumeric(v2)
|
||
|| !$.isNumeric(v3)
|
||
|| !$.isNumeric(v4)
|
||
|| !$.isNumeric(v5)
|
||
|| !$.isNumeric(v6)
|
||
|| !$.isNumeric(q1)
|
||
|| !$.isNumeric(q2)
|
||
|| !$.isNumeric(q3)
|
||
){
|
||
Swal.fire("단가와 수량은 숫자로 입력해 주세요."); $(e.target).select(); return;
|
||
} else if(v1 < 1){
|
||
Swal.fire("실발주수량은 0보다 커야합니다.");
|
||
isValid = false;
|
||
break;
|
||
}else if(q3 < 1){
|
||
Swal.fire("총실발주수량이 0보다 커야합니다.");
|
||
isValid = false;
|
||
break;
|
||
/*
|
||
}else if(sameProjectCount > 1 && q1 - q2 < v1){
|
||
Swal.fire("총 발주수량이 수량만큼은 확보되도록 재고수량을 입력해 주세요.");
|
||
isValid = false;
|
||
break;
|
||
*/
|
||
}else if(q1<q2){
|
||
Swal.fire("재고수량은 총발주수량보다 클 수 없습니다.");
|
||
isValid = false;
|
||
break;
|
||
}else{
|
||
}
|
||
}
|
||
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");
|
||
//alert('calcrowall');
|
||
//var rowId = $g.jqGrid('getGridParam', 'selrow'); //선택된행 번호
|
||
var rowId = e ? e.target.id.split("_")[0] : pRowId; //수정중인 행번호 (행선택은 안될수있음)
|
||
//var v1 = Number( $g.find("#"+rowId+"_ORDER_QTY").val().replace(/,/gi,"") ); 240411 아래로 변경(단가 저장시 editable:false)
|
||
var v0 = Number( fnc_checkNullDefaultValue(fnc_checkNull($g.find("#"+rowId+"_BOM_QTY").val()).replace(/,/gi,"") , grid.jqGrid('getCell', rowId, "BOM_QTY")).replace(/,/gi,"") );
|
||
var v1 = Number( fnc_checkNullDefaultValue(fnc_checkNull($g.find("#"+rowId+"_QTY").val()).replace(/,/gi,"") , grid.jqGrid('getCell', rowId, "QTY")).replace(/,/gi,"") );
|
||
var v11= Number( fnc_checkNullDefaultValue(fnc_checkNull($g.find("#"+rowId+"_ORDER_QTY").val()).replace(/,/gi,"") , grid.jqGrid('getCell', rowId, "ORDER_QTY")).replace(/,/gi,"") );
|
||
var v2 = Number( $g.find("#"+rowId+"_PARTNER_PRICE").val().replace(/,/gi,"") );
|
||
var v3 = Number( $g.find("#"+rowId+"_PRICE1").val().replace(/,/gi,"") );
|
||
var v4 = Number( $g.find("#"+rowId+"_PRICE2").val().replace(/,/gi,"") );
|
||
var v5 = Number( $g.find("#"+rowId+"_PRICE3").val().replace(/,/gi,"") );
|
||
var v6 = Number( $g.find("#"+rowId+"_PRICE4").val().replace(/,/gi,"") );
|
||
|
||
var eVal = $(e.target).val() .replace(/,/gi,"");
|
||
var sameProjectCount = fn_getProjectCount();
|
||
|
||
if(!$.isNumeric( fnc_checkNullDefaultValue(eVal,"0").replace(/,/g,"")) ){
|
||
Swal.fire("숫자를 입력해주세요."); $(e.target).select(); return;
|
||
}
|
||
/*
|
||
else if(v1<=q2){
|
||
Swal.fire("재고수량은 마지막 동시발주건의 수량이 입력되도록 수량보다 작아야 합니다."); $(e.target).select(); return;
|
||
}
|
||
*/
|
||
|
||
if(e.target.id == rowId+"_ORDER_QTY"
|
||
|| e.target.id == rowId+"_QTY"
|
||
|| e.target.id == rowId+"_BOM_QTY"
|
||
|| e.target.id == rowId+"_PARTNER_PRICE"
|
||
|| e.target.id == rowId+"_PRICE1"
|
||
|| e.target.id == rowId+"_PRICE2"
|
||
|| e.target.id == rowId+"_PRICE3"
|
||
|| e.target.id == rowId+"_PRICE4"
|
||
|| 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"
|
||
|| e.target.id == rowId+"_QTY"
|
||
|| e.target.id == rowId+"_BOM_QTY"
|
||
//|| e.target.id == rowId+"_STOCK_QTY"
|
||
|| e.target.id == rowId+"_REAL_ORDER_QTY" //240501 입력으로 변경하려다 stop
|
||
){
|
||
//$g.find("#"+rowId+"_TOTAL_ORDER_QTY").val( numberWithCommas( v1*sameProjectCount ));
|
||
//$g.jqGrid('setCell', rowId, "TOTAL_ORDER_QTY", numberWithCommas( v1*sameProjectCount ));
|
||
$g.jqGrid('setCell', rowId, "TOTAL_ORDER_QTY", v1*sameProjectCount );
|
||
}
|
||
|
||
//q1 = Number( $g.find("#"+rowId+"_TOTAL_ORDER_QTY").val().replace(/,/gi,"") );
|
||
var q1 = Number( grid.jqGrid('getCell', rowId, "TOTAL_ORDER_QTY").replace(/,/gi,"") );
|
||
//q2 = Number( $g.find("#"+rowId+"_STOCK_QTY").val().replace(/,/gi,"") );
|
||
var q2 = Number( fnc_checkNullDefaultValue(fnc_checkNull($g.find("#"+rowId+"_STOCK_QTY").val()).replace(/,/gi,""), grid.jqGrid('getCell', rowId, "STOCK_QTY")).replace(/,/gi,"") );
|
||
var q3 = Number( fnc_checkNullDefaultValue(fnc_checkNull($g.find("#"+rowId+"_REAL_ORDER_QTY").val()).replace(/,/gi,""), grid.jqGrid('getCell', rowId, "REAL_ORDER_QTY")).replace(/,/gi,"") );
|
||
var STOCK_QTY = q2;
|
||
|
||
//q3 = Number( $g.find("#"+rowId+"_REAL_ORDER_QTY").val().replace(/,/gi,"") );
|
||
var realQ = q1-q2;
|
||
//var realQ = q3;
|
||
var ORDER_QTY = v1 - (v1*(sameProjectCount-1) == 0 ? STOCK_QTY : (STOCK_QTY < v1*(sameProjectCount-1) ? 0 : STOCK_QTY - v1*(sameProjectCount-1)) );
|
||
//$g.find("#"+rowId+"_REAL_ORDER_QTY").val( numberWithCommas( realQ ));
|
||
//$g.jqGrid('setCell', rowId, "REAL_ORDER_QTY", numberWithCommas( realQ ));
|
||
//alert(v1*sameProjectCount-q2);
|
||
$g.jqGrid('setCell', rowId, "REAL_ORDER_QTY", v1*sameProjectCount-q2 );
|
||
$g.jqGrid('setCell', rowId, "REAL_SUPPLY_PRICE", (v1*sameProjectCount-q2) * (v2+v3+v4+v5+v6));
|
||
|
||
//240904 comma처리 추가
|
||
$g.find("#"+rowId+"_PARTNER_PRICE").val( numberWithCommas(v2));
|
||
$g.find("#"+rowId+"_PRICE1").val( numberWithCommas(v3));
|
||
$g.find("#"+rowId+"_PRICE2").val( numberWithCommas(v4));
|
||
$g.find("#"+rowId+"_PRICE3").val( numberWithCommas(v5));
|
||
$g.find("#"+rowId+"_PRICE4").val( numberWithCommas(v6));
|
||
|
||
//공급가 = 수량 *(공급단가+레이져단가+용접단가+가공단가)
|
||
|
||
$g.find("#"+rowId+"_SUPPLY_UNIT_PRICE").val( numberWithCommas(ORDER_QTY * (v2+v3+v4+v5+v6)));
|
||
$g.find("#"+rowId+"_SUPPLY_UNIT_VAT_PRICE").val( numberWithCommas(ORDER_QTY * (v2+v3+v4+v5+v6) * 0.1));
|
||
$g.find("#"+rowId+"_SUPPLY_UNIT_VAT_SUM_PRICE").val( numberWithCommas( Math.floor(ORDER_QTY * (v2+v3+v4+v5+v6) * 1.1) )); //.toFixed()
|
||
|
||
if( e.target.id == rowId+"_ORDER_QTY"
|
||
//|| e.target.id == rowId+"_BOM_QTY"
|
||
|| e.target.id == rowId+"_QTY"
|
||
|| e.target.id == rowId+"_STOCK_QTY"
|
||
|| e.target.id == rowId+"_REAL_ORDER_QTY"
|
||
){
|
||
if( e.target.id == rowId+"_STOCK_QTY"
|
||
|| e.target.id == rowId+"_QTY"
|
||
){
|
||
if(<%=isModify%>){
|
||
//$("#"+rowId+"_QTY").val(numberWithCommas( ORDER_QTY ));
|
||
$("#"+rowId+"_ORDER_QTY").val(numberWithCommas( ORDER_QTY ));
|
||
}else{
|
||
//$g.jqGrid('setCell', rowId, "QTY", numberWithCommas( ORDER_QTY ));
|
||
$g.jqGrid('setCell', rowId, "ORDER_QTY", numberWithCommas( ORDER_QTY ));
|
||
}
|
||
$g.jqGrid('setCell', rowId, "ORDER_QTY", numberWithCommas( ORDER_QTY ));
|
||
}
|
||
|
||
if(v1 < 1){
|
||
Swal.fire("실발주수량은 0보다 커야합니다."); $(e.target).select(); return;
|
||
}else if(realQ < 1){
|
||
Swal.fire("총실발주수량이 0보다 커야합니다."); $(e.target).select(); return;
|
||
/*
|
||
}else if(sameProjectCount > 1 && q1 - q2 < v1){
|
||
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,"")));
|
||
}
|
||
}
|
||
}
|
||
|
||
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(){ //자동합계
|
||
$("#TOTAL_SUPPLY_UNIT_PRICE, #TOTAL_PRICE, #NEGO_RATE").val("");
|
||
|
||
//footer1
|
||
var colSum1 = 0; //세금포함공급가합계
|
||
var colSum2 = 0; //공급가합계
|
||
var colSum3 = 0; //실공급가합계
|
||
var colSum4 = 0; //실공급가합계(세금포함)
|
||
$.each($("#grid1").getDataIDs(), function(i,o){
|
||
//console.log(i+" :: " + o);
|
||
var rowId = o;
|
||
var _v1 = $("#"+o+"_SUPPLY_UNIT_PRICE").val().replace(/,/gi,""); //공급가
|
||
var _v2 = $("#"+o+"_SUPPLY_UNIT_VAT_PRICE").val().replace(/,/gi,""); //부가세
|
||
var _v3 = $("#"+o+"_SUPPLY_UNIT_VAT_SUM_PRICE").val().replace(/,/gi,""); //부가세포함공급가
|
||
var _v4 = grid.jqGrid('getCell', rowId, "REAL_SUPPLY_PRICE").replace(/,/gi,""); //실공급가
|
||
//var q2 = Number( fnc_checkNullDefaultValue($g.find("#"+rowId+"_STOCK_QTY").val(), grid.jqGrid('getCell', rowId, "STOCK_QTY")).replace(/,/gi,"") );
|
||
|
||
if($.isNumeric(_v1)){
|
||
colSum1 += Number( _v1 ) + Number( _v2 );
|
||
colSum2 += Number( _v1 );
|
||
colSum3 += Number( _v4 );
|
||
//colSum4 += Number( _v4 ) + Math.floor(Number( _v4 )*0.1) ;
|
||
}
|
||
});
|
||
|
||
colSum4 = Number( colSum3 ) + Math.round(Number( colSum3 )*0.1) ; //250110 위에서 아래로 변경
|
||
$("#TOTAL_SUPPLY_UNIT_PRICE").val( numberWithCommas( Math.floor(colSum1)+"" ) ); //소계
|
||
$("#TOTAL_SUPPLY_PRICE").val( numberWithCommas( colSum2+"" ) ); //소계(세금미포함)
|
||
$("#TOTAL_REAL_SUPPLY_PRICE").val( numberWithCommas( Math.floor(colSum3)+"" ) ); //소계
|
||
|
||
//footer2
|
||
var vDC = fnc_checkcommmanumberDefaultValue($("#DISCOUNT_PRICE").val(),"0"); // 할인금액
|
||
if(!$.isNumeric(vDC)){
|
||
Swal.fire("숫자를 입력해주세요.");
|
||
$("#DISCOUNT_PRICE").select();
|
||
$("#DISCOUNT_PRICE").val("");
|
||
return;
|
||
}
|
||
vDC = Number(vDC);
|
||
|
||
var vTP = Math.floor(colSum1 - vDC); //내림 (원래 TOTAL_PRICE_TXT 240502전)
|
||
//alert(vTP);
|
||
$("#TOTAL_PRICE").val(numberWithCommas( vTP )); //최종발주금액 : 소계-할인금액
|
||
$("#TOTAL_PRICE_TXT").val( fnc_numToKr((colSum3)+"","일금 "," 원정") + " (₩ "+numberWithCommas( vTP )+")" );
|
||
$("#TOTAL_PRICE_TXT_ALL").val( fnc_numToKr((colSum4)+"","일금 "," 원정") + " (₩ "+numberWithCommas( colSum4 )+")" );
|
||
if(colSum1 != 0){
|
||
$("#NEGO_RATE" ).val( ((1-((vTP)/colSum1))*100).toFixed(1) +"%" ); //Nego율 : 1-(최종금액/소계)
|
||
}
|
||
}
|
||
}
|
||
|
||
//동시구매건수 + 메인(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="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="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> |