Files
wace_plm/WebContent/WEB-INF/view/purchaseOrder/purchaseOrderFormPopup_new_back.jsp
chpark da06c4684c Initial commit: WACE PLM with database initialization features
- Add Docker Compose configurations for dev, prod, and standalone environments
- Add database initialization scripts (init-db.sh, init-db-docker.sh)
- Add enhanced start-docker-linux.sh with DB init support
- Add comprehensive database initialization guide
- Support for automatic dbexport.pgsql import on first run
- Include safety checks for production environment
2025-08-29 15:46:08 +09:00

1239 lines
46 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page import="com.pms.common.utils.*"%>
<%@ page import="java.util.*"%>
<%@include file="/init_jqGrid.jsp"%>
<%
Map info = (HashMap)(request.getAttribute("info"));
boolean isModify = true;
if(info!=null &&
( CommonUtils.checkNull(info.get("APPR_STATUS")).equals( "결재중" )
||CommonUtils.checkNull(info.get("APPR_STATUS")).equals( "결재완료" )
)
){
isModify = false; //수정불가
}
String actType = (String)request.getAttribute("actType");
%>
<!DOCTYPE html>
<html>
<head>
<!-- //JSTL 페이징 변수선언 -->
<c:set var="now" value="<%=new java.util.Date() %>" />
<c:set var="sysYear"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set>
<style>
/*
#gview_list_Attachments .ui-jqgrid-bdiv{
max-height: 300px;
overflow-y: visible;
}
*/
.ui-jqgrid-view {
max-height: 422px;
}
.ui-jqgrid-bdiv {
overflow-y: scroll !important;
max-height: 380px !important;
}
.pointer {
cursor: pointer;
text-decoration: underline;
}
</style>
<script type="text/javascript">
var grid;
var TYPE_STANDARD = "0001069"; //발주구분코드:일반부품
var TYPE_LONG_DLV = "0001070"; //발주구분코드:장납기부품
var TYPE_ETC = "0001538"; //발주구분코드:잡자재
$(document).ready(function(){
//$("#VAT_METHOD").val("0001079");
/* $("input[name*='PRICE']").each(function(){
$(this).val(numberWithCommas($(this).val()));
});
$("input[name*='QTY']").each(function(){
$(this).val(numberWithCommas($(this).val()));
}); */
//상신된 결재라인 가져오기
fn_getApprLine();
//구매요청서 정보 가져오기
fn_getSalesRequest();
//유닛명
if("${info.CONTRACT_MGMT_OBJID}"!=""){
fn_UnitCodeList("${info.CONTRACT_MGMT_OBJID}", "UNIT_CODE","");
$("#UNIT_CODE").val("${info.UNIT_CODE}");
}
var unit_cd = $.parseJSON($("#unit_cd").val()); //jqGrid 구분
grid = $("#grid1").jqGrid({
url: ""
,datatype: "local"
,data : $.parseJSON($("#gridDetailList").val())
,colNames: ["OBJID","PART_OBJID","LD_PART_OBJID"
,"품명"
,"품번"
,"규격","Maker","단위","수량","공급단가","레이져단가","용접단가","가공단가","후처리단가","공급가","부가세"]
,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:160, 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:110, align:"left", hidden:false, sortable:false, editable:false
//,formatter:'showlink'
//,formatoptions:{baseLinkUrl:'/partMng/partMngDetailPopUp.do', addParam: '&action=display'}
,formatter:setLink
,editoptions:{
dataInit: function(e){ e.style.textAlign = "left"; e.style.fontSize = 13; }
,dataEvents: [ {type:"change", fn:function(e) { }} ]
}
}
,{name:"SPEC" , index:"", width:120, 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:80, 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:"ORDER_QTY" , index:"", width:40, 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:"PARTNER_PRICE" , index:"", width:80, 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:"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:80, 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:80, 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:80, 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:80, 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:80, 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: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); }} ]
}
}
]
,ignoreCase : true
,rownumbers : true
,viewrecords : true
,height : 'auto' //300
,multiselect : <% if(isModify){ %>true<% }else{ %>false<% } %> //선택가능
,shrinkToFit : false
,autowidth : true
,sortable : false
,rowNum : 10000
,forceFit : true //컬럼의 width를 변화시킬때 그리드의 width를 고정 여부
,jsonReader : {repeatitems: false}
,mtype :"POST"
,footerrow : true //바닥합계
,userDataOnFooter: true //바닥합계
//,caption :"제목"
,loadComplete: function(){
var gid = this.id;
var grid_wrap_div = $("#gbox_"+gid);
setTimeout("fn_jqGrid_init($('#"+gid+"'), false);", 50); //윈도우크기 비례 자동조절
//footer 커스텀..
var $fr = $(this.grid.sDiv).find("tr.footrow");
var $frNew1;
var footerTdCss = {"border-right-width":"0","font-weight":"bold","overflow":"hidden","white-space":"nowrap","height":"21px","padding":"0 2px 0 2px","border-top-width":"1px","border-top-color":"inherit","border-top-style":"solid"};
//1.footerRow 스타일 조정
$fr.find(">td.ui-state-default").removeClass("ui-state-default");
$fr.find(">td").addClass("footerTd");
$("td.footerTd").css(footerTdCss);
//2.footerRow 추가
$frNew1 = $(this.grid.sDiv).find("tr.footerRowNew1");
if ($frNew1.length === 0) {
$frNew1 = $fr.clone();
$frNew1.removeClass("footrow").addClass("footerRowNew1 ui-widget-content");
$frNew1.children("td").each(function () {
this.style.width = "";
});
$frNew1.insertAfter($fr);
}
//3.셋팅
var _pf = ">td[aria-describedby="+this.id+"_"; //search prefix
var _sf = "]"; //search suffix
$fr.find( _pf+"PRICE1" +_sf).text("소계(원)");
$fr.find( _pf+"PRICE3" +_sf).html('<input type="text" class="mytotalinput" name="TOTAL_SUPPLY_UNIT_PRICE" id="TOTAL_SUPPLY_UNIT_PRICE" readonly value="<fmt:formatNumber value="${info.TOTAL_SUPPLY_UNIT_PRICE}" pattern="#,###" />"/>');
$frNew1.find(_pf+"SPEC" +_sf).text("할인적용");
$frNew1.find(_pf+"MAKER" +_sf).text("최종발주금액(원)");
//$frNew1.find(_pf+"MAKER" +_sf).text("할인적용");
//$frNew1.find(_pf+"UNIT" +_sf).text("최종발주금액(원)");
$frNew1.find(_pf+"ORDER_QTY" +_sf).text("");
//$frNew1.find(_pf+"PARTNER_PRICE" +_sf).text("");
$frNew1.find(_pf+"PRICE1" +_sf).text("할인금액 : ");
$frNew1.find(_pf+"PRICE2" +_sf).html('<input type="text" class="mytotalinput" name="DISCOUNT_PRICE" id="DISCOUNT_PRICE" placeHolder="할인금액입력" numberOnly value="${info.DISCOUNT_PRICE}" readonly/>');
$frNew1.find(_pf+"PRICE3" +_sf).html('<input type="text" class="mytotalinput" name="TOTAL_PRICE" id="TOTAL_PRICE" readonly value="<fmt:formatNumber value="${info.TOTAL_PRICE}" pattern="#,###" />"/>');
$frNew1.find(_pf+"SUPPLY_UNIT_PRICE"+_sf).html('<input type="text" class="mytotalinput" name="NEGO_RATE" id="NEGO_RATE" readonly value="${info.NEGO_RATE}"/>');
$("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_PRICE2]", $(".footrow")).index(); //"용접단가"의 el번호
$("td", $(".footrow")).slice(0,_idx+1).css({"background-color":"#e4e4e4"}); //0~"용접단가" 요소까지 배경색 변경(회색)
//기타 스타일 2열
$("#DISCOUNT_PRICE").parents("tr:first").find("td[aria-describedby=grid1_SPEC], td[aria-describedby=grid1_ORDER_QTY]").css({"text-align":"right"});
$("#DISCOUNT_PRICE").parents("tr:first").find("td[aria-describedby=grid1_MAKER]").css({"text-align":"left"});
$("#DISCOUNT_PRICE").parents("tr:first").find("td[aria-describedby=grid1_UNIT], td[aria-describedby=grid1_PARTNER_PRICE]").css({"text-align":"left"});
_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":"#fbead9"}); //(옅은핑크)
$("#DISCOUNT_PRICE,#TOTAL_PRICE,#NEGO_RATE").css({"background-color":"#fbead9"});
}
});
if("${info.PARTNER_OBJID}" != "" && ("${info.SALES_REQUEST_OBJID}" != "" || "${info.SALES_REQUEST_OBJID}" != null)){
changelist("${info.PARTNER_OBJID}");
}
gridFn.opennEdit(); //수정가능
<% if(isModify){ %>
//수정가능
$("#TYPE,#UNIT_CODE,#SALES_MNG_USER_ID,#PARTNER_OBJID,#CONTRACT_MGMT_OBJID,#DELIVERY_PLACE,#INSPECT_METHOD,#PAYMENT_TERMS,#VAT_METHOD,#ORDER_TYPE_CD").prop("disabled","");
$("#TITLE,#DISCOUNT_PRICE,#TOTAL_PRICE_TXT,#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 = "";
$.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){
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 );
fn_addRow(rowData);
});
}
}
});
//발주처 담당자 변경시 HP셋팅
$("#SALES_MNG_USER_ID").change(function(){
$("#SALES_MNG_USER_HP").val($(this).find("option:selected").attr("data-cell_phone"));
});
<% if(isModify){ %>
//$("#SALES_MNG_USER_ID").val('<%=connectUserId%>');
<% } %>
$("#SALES_MNG_USER_ID").trigger("change");
//발주부품 변경시
$("#TYPE").change(function(){
var type = $("#TYPE").val();
if(fnc_checkNull(type)==TYPE_ETC){ //잡자재
$("#UNIT_CODE,#CONTRACT_MGMT_OBJID").prop("disabled","disabled"); //당사프로젝트번호, 유닛명 선택불가
$("#UNIT_CODE,#CONTRACT_MGMT_OBJID").prop("required","");
}else{
$("#UNIT_CODE,#CONTRACT_MGMT_OBJID").prop("disabled","");
$("#UNIT_CODE,#CONTRACT_MGMT_OBJID").prop("required","required");
}
});
$("#TYPE").val('${info.TYPE}');
$("#TYPE").trigger("change");
if($("#TYPE").val()==""){
$("#TYPE").val(TYPE_STANDARD); //발주구분 기본값 : 일반부품
}
//프로젝트명 변경시 유닛명 셋팅
$("#CONTRACT_MGMT_OBJID").change(function(){
fn_UnitCodeList(this.value, "UNIT_CODE", "");
});
//발주구분,프로젝트,유닛명,공급업체 변경시 - 구매BOM에서 등록한 PART정보를 가져온다
$("#TYPE,#CONTRACT_MGMT_OBJID,#UNIT_CODE,#PARTNER_OBJID").change(function(){
if("${info.SALES_REQUEST_OBJID}"=="" || "${info.SALES_REQUEST_OBJID}" == null){
addBomPart();
}
});
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 title = encodeURIComponent($("#TITLE").val());
//var title = encodeURIComponent("발주서 상신");
window.open("/approval/registApproval.do?targetType=PURCHASE_ORDER&targetObjId="+objId+"&approvalTitle="+title+"&callbackFnc=fn_save_process","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()));
});
addZeroEvtAtPriceInput();
});
function changelist(objid){
$("#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 = "";
$.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){
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 );
fn_addRow(rowData);
});
}
}
}
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{
return "<a onclick='openPartMngPopup(\"" + rowObject.PART_OBJID + "\");' class='pointer'>" + rowObject.PART_NO + "</a>";
}
}
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(contract_mgmt_objid)!=""
&& fnc_checkNull(unit_code)!=""
&& fnc_checkNull(partner_objid)!=""
){
//구매BOM 조회해서 부품정보를 가져온다
var list = fnc_getJsonAllDataListBySqlId({"sqlId":"purchaseOrder.purchaseOrderSalesBomPartListByPartnerContract"
, "CONTRACT_MGMT_OBJID":contract_mgmt_objid
, "UNIT_CODE":unit_code
, "PARTNER_OBJID": partner_objid });
if(fnc_checkNull( list )!=""){
var text = "";
$.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 partText = partNo + ": " + remark;
if (i > 0) {
text += "\n";
}
// 현재 항목을 전체 텍스트에 추가
text += partText;
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 );
rowData.put("PRICE4" , o.PRICE4 );
fn_addRow(rowData);
});
}
console.log("text::"+text);
$("#REMARK").val(text);
}
gridFn.footerSummary(); //부품하단 합계 자동계산
}
//행추가시 품목선택 팝업
function fn_openPartMngListPopUp(){
fn_editGridColumnEditableCondition('PART_NAME', false);
fn_editGridColumnEditableCondition('PART_NO', false);
fn_editGridColumnEditableCondition('SPEC', false);
fn_editGridColumnEditableCondition('MAKER', false);
var hiddenForm = document.hiddenForm;
var target = "purchaseOrderPartSelectListPopUp";
var typeVal = $("#TYPE").val();
var isLD = typeVal == TYPE_LONG_DLV; //발주구분: 장납기부품
if(isLD){
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){
var url = "/partMng/partMngListPopUp.do?callbackFnc=fn_addRow&callType=purchaseOrder";
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('PART_NAME', true);
fn_editGridColumnEditableCondition('PART_NO', true);
fn_editGridColumnEditableCondition('SPEC', true);
fn_editGridColumnEditableCondition('MAKER', true);
fn_addRow(rowData);
//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);
}
//품목선택 callbackFnc :: 자동 및 수동 행추가시 사용됨
function fn_addRow(rowData){
//console.log(rowData);
var v1 = Number( rowData.map.ORDER_QTY );
var v2 = Number( rowData.map.PARTNER_PRICE );
var v3 = Number( rowData.map.PRICE1 );
var v4 = Number( rowData.map.PRICE2 );
var v5 = Number( rowData.map.PRICE3 );
var v6 = Number( rowData.map.PRICE4 );
var _rowSum = v1 * (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" : rowData.map.UNIT
,"ORDER_QTY" : rowData.map.ORDER_QTY
,"PARTNER_PRICE": rowData.map.PARTNER_PRICE
,"PRICE1" : rowData.map.PRICE1
,"PRICE2" : rowData.map.PRICE2
,"PRICE3" : rowData.map.PRICE3
,"PRICE4" : rowData.map.PRICE4
,"SUPPLY_UNIT_PRICE" : _rowSum
,"SUPPLY_UNIT_VAT_PRICE": (_rowSum * 0.1)
}
var newId = grid.getGridParam("reccount")+1;
grid.addRowData(newId, addData);
grid.jqGrid("editRow", newId);
addZeroEvtAtPriceInput();
}
function fn_save(){
if(fnc_valitate("form1")){
if(""==grid.getRowData()){
Swal.fire('저장할 품목이 존재 하지 않습니다');
return;
}
//$("#status").val("PURSTCD00100");
if(confirm("저장 하시겠습니까?")){
fn_save_process();
}
}
}
<% 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")).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_newSave.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){
}
});
}
<% } %>
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]);
}
}
,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){ //행 모든 컬럼 계산
var $g = $("#grid1");
//var rowId = $g.jqGrid('getGridParam', 'selrow'); //선택된행 번호
var rowId = e.target.id.split("_")[0]; //수정중인 행번호 (행선택은 안될수있음)
var v1 = Number( $g.find("#"+rowId+"_ORDER_QTY").val().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 v6 = Number( $g.find("#"+rowId+"_SUPPLY_UNIT_PRICE").val() );
var eVal = $(e.target).val() .replace(/,/gi,"");
if(!$.isNumeric( fnc_checkNullDefaultValue(eVal,"0")) ){
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+"_PARTNER_PRICE"
|| e.target.id == rowId+"_PRICE1"
|| e.target.id == rowId+"_PRICE2"
|| e.target.id == rowId+"_PRICE3"
|| e.target.id == rowId+"_PRICE4"
){
//공급가 = 수량 *(공급단가+레이져단가+용접단가+가공단가)
$g.find("#"+rowId+"_SUPPLY_UNIT_PRICE").val( numberWithCommas(v1 * (v2+v3+v4+v5+v6)));
$g.find("#"+rowId+"_SUPPLY_UNIT_VAT_PRICE").val( numberWithCommas(v1 * (v2+v3+v4+v5+v6) * 0.1));
}
this.footerSummary();
}
,footerSummary: function(){ //자동합계
$("#TOTAL_SUPPLY_UNIT_PRICE, #TOTAL_PRICE, #NEGO_RATE").val("");
//footer1
var colSum1 = 0; //공급가합계
$.each($("#grid1").getDataIDs(), function(i,o){
//console.log(i+" :: " + o);
var _v1 = $("#"+o+"_SUPPLY_UNIT_PRICE").val().replace(/,/gi,""); //공급가
var _v2 = $("#"+o+"_SUPPLY_UNIT_VAT_PRICE").val().replace(/,/gi,""); //부가세
if($.isNumeric(_v1)){
colSum1 += Number( _v1 ) + Number( _v2 );
}
});
$("#TOTAL_SUPPLY_UNIT_PRICE").val( numberWithCommas( colSum1+"" ) ); //소계
//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 = colSum1 - vDC;
$("#TOTAL_PRICE").val(numberWithCommas( vTP )); //최종발주금액 : 소계-할인금액
$("#TOTAL_PRICE_TXT").val( fnc_numToKr((vTP)+"","일금 "," 원정") + " (₩ "+numberWithCommas( vTP )+")" );
if(colSum1 != 0){
$("#NEGO_RATE" ).val( ((1-((vTP)/colSum1))*100).toFixed(1) +"%" ); //Nego율 : 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,""));
$("input[name*='PRICE']").not($("#TOTAL_PRICE_TXT")).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}" />
<section>
<div class="plm_menu_name">
<h2><span>발주서</span></h2>
</div>
<div id="expenseApplyPopupFormWrap1">
<table class="pmsPopupForm">
<colgroup>
<col width="4%" />
<col width="7%" />
<col width="12%" />
<col width="7%" />
<col width="12%" />
<col width="4%" />
<col width="7%" />
<col width="12%" />
<col width="7%" />
<col width="12%" />
</colgroup>
<tr>
<td colspan="2">발주번호</td>
<td colspan="3"><input type="text" name="PURCHASE_ORDER_NO" id="PURCHASE_ORDER_NO" value="${info.PURCHASE_ORDER_NO }" readonly /></td>
<td colspan="2">프로젝트번호</td>
<td colspan="3">
<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>
</tr>
<tr>
<td colspan="2">발주부품</td>
<td colspan="3">
<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="3">
<select name="UNIT_CODE" id="UNIT_CODE" required reqTitle="유닛명" type="select" class="select2" autocomplete="off" disabled></select>
</td>
</tr>
<tr>
<td colspan="10" style="text-align: center; height: 50px;"><h1><b>발주서<br/><p style="font-size:12px">(Purchase Order)</p></b></h1></td>
</tr>
<tr>
<td rowspan="6" class="input_title">발주처</td>
<td class="input_title">회사명</td>
<td colspan="3">우성에스이주식회사</td>
<td rowspan="6" 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">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="${oemInfo.OFFICE_NO }" readonly /></td>
<td class="input_title">FAX</td>
<td><input type="text" name="SALES_MNG_USER_FAX" id="SALES_MNG_USER_FAX" value="${oemInfo.SUPPLY_FAX_NO }" readonly /></td>
<td class="input_title">전 화</td>
<td><input type="text" name="SUPPLY_USER_TEL" id="SUPPLY_USER_TEL" value="${info.SUPPLY_USER_TEL }" readonly /></td>
<td class="input_title">FAX</td>
<td><input type="text" name="SUPPLY_USER_FAX" id="SUPPLY_USER_FAX" value="${info.SUPPLY_USER_FAX }" readonly /></td>
</tr>
<tr>
<td class="input_title">E-MAIL</td>
<td colspan="3">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">대구광역시 달성군 다사읍 세천로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="10" style="text-align: center; height:40px;">아래의 자재를 발주하오니 기일 내 필히 납품하여 주시기 바랍니다.</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>
<option value="">선택</option>
${code_map.order_type_cd}
</select>
</td>
<td colspan="" class="input_title">제목</td>
<td colspan="6"><input type="text" name="TITLE" id="TITLE" value="${info.TITLE }" required reqTitle="제목" readonly /></td>
</tr>
<tr>
<td colspan="2" class="input_title">납품장소</td>
<td colspan="1">
<select name="DELIVERY_PLACE" id="DELIVERY_PLACE" required reqTitle="납품장소" type="select" class="select2" autocomplete="off" disabled>
<option value="">선택</option>
${code_map.delivery_place}
</select>
</td>
<td colspan="1" class="input_title">검수방법</td>
<td colspan="1">
<select name="INSPECT_METHOD" id="INSPECT_METHOD" required reqTitle="검수방법" type="select" class="select2" autocomplete="off" disabled>
<option value="">선택</option>
${code_map.inspect_method}
</select>
</td>
<td colspan="2" class="input_title">결제조건</td>
<td colspan="1">
<select name="PAYMENT_TERMS" id="PAYMENT_TERMS" required reqTitle="결제조건" type="select" class="select2" autocomplete="off" disabled>
<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">금액합계</td>
<td colspan="6"><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){ %>
<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">
<input type="button" value="결재상신" class="plm_btns" id="btnAppr" name="btnAppr" style="background:#dfeffc">
<% }else{ %>
<input type="button" value="단가저장" class="plm_btns" id="btnPriceSave" name="btnPriceSave" style="background:#dfeffc">
<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:30px;position: ">
<table class="pmsPopupForm">
<colgroup>
<col width="7%" />
<col width="42%" />
<col width="8%" />
<col width="11%" />
<col width="11%" />
<col width="11%" />
<col width="11%" />
</colgroup>
<tr>
<td rowspan="2" class="input_title">작업지시사항</td>
<td rowspan="2">
<textarea style="width:100%; height: 80px;background-color: #fff;" name="REMARK" id="REMARK" readonly>${info.REMARK}</textarea>
</td>
<td rowspan="2" style="text-align:center;height: 65px;" class="input_title">결<br>재</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 colspan="8" style="text-align: right;">★거래명세서 작성시 필히 프로젝트명 과 발주서 사양 순서로 작성 바랍니다.</td>
</tr>
</table>
</div>
</section>
<textarea style="width:0px; height:0px; visibility: hidden;" id="unit_cd">${code_map.unit_cd}</textarea><!-- 코드동적설정 -->
</form>
</body>
</html>