432 lines
14 KiB
Plaintext
432 lines
14 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 isModfidy = true;
|
||
if(info!=null &&
|
||
( CommonUtils.checkNull(info.get("APPR_STATUS_CD")).equals( "inProcess")
|
||
||CommonUtils.checkNull(info.get("APPR_STATUS_CD")).equals( "complete" )
|
||
)
|
||
){
|
||
isModfidy = false;
|
||
}
|
||
%>
|
||
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<!-- //JSTL 페이징 변수선언 -->
|
||
<c:set var="now" value="<%=new java.util.Date() %>" />
|
||
<c:set var="sysYear"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set>
|
||
<c:set var="fileDocType" value="MATER_MASTER"/>
|
||
<c:set var="fileDocTypeName" value="발주서" />
|
||
<script type="text/javascript">
|
||
var grid;
|
||
$(document).ready(function(){
|
||
//상신된 결재라인 가져오기
|
||
fn_getApprLine();
|
||
|
||
grid = $("#formGrid1").jqGrid({
|
||
url: ""
|
||
,datatype: "local"
|
||
,data : $.parseJSON($("#gridDetailList").val())
|
||
//,datatype: "jsonstring"
|
||
//,datastr : $.parseJSON('{"total":1,"page":1,"records":1,"rows":[{"part_name":""}]}')
|
||
,colNames: ["RESOURCE_OBJID","품명","품번","두께","가로","세로","외경","내경","길이","수량"]
|
||
,colModel: [
|
||
{name:"RESOURCE_OBJID", index:"RESOURCE_OBJID", width: 0, align:"center", hidden: true, sortable:false, editable:false}
|
||
,{name:"PART_NAME" , index:"PART_NAME" , width: 80, align:"center", hidden:false, sortable:false, editable:false}
|
||
,{name:"DO_NO" , index:"DO_NO" , width: 80, align:"center", hidden:false, sortable:false, editable:false}
|
||
,{name:"THICKNESS" , index:"THICKNESS" , width: 80, align:"center", hidden:false, sortable:false, editable:false}
|
||
,{name:"WIDTH" , index:"WIDTH" , width: 80, align:"center", hidden:false, sortable:false, editable:false}
|
||
,{name:"HEIGHT" , index:"HEIGHT" , width: 80, align:"center", hidden:false, sortable:false, editable:false}
|
||
,{name:"OUT_DIAMETER" , index:"OUT_DIAMETER" , width: 80, align:"center", hidden:false, sortable:false, editable:false}
|
||
,{name:"IN_DIAMETER" , index:"IN_DIAMETER" , width: 80, align:"center", hidden:false, sortable:false, editable:false}
|
||
,{name:"LENGTH" , index:"LENGTH" , width: 80, align:"center", hidden:false, sortable:false, editable:false}
|
||
,{name:"QTY" , index:"QTY" , width:150, align: "right", hidden:false, sortable:false, editable: true, formatter:"integer", formatoptions:{thousandsSeparator:","}}
|
||
]
|
||
,ignoreCase : true
|
||
,rownumbers : true
|
||
,viewrecords : true
|
||
,height : 250
|
||
,multiselect : <% if(isModfidy){ %>true<% }else{ %>false<% } %> //선택가능
|
||
,shrinkToFit : false
|
||
,autowidth : true
|
||
,sortable : false
|
||
,rowNum : 10000
|
||
,forceFit : false //컬럼의 width를 변화시킬때 그리드의 width를 고정 여부
|
||
,jsonReader : {repeatitems: false}
|
||
,mtype :"POST"
|
||
,footerrow : false //바닥합계
|
||
,userDataOnFooter: true //바닥합계
|
||
//,caption :"제목"
|
||
,loadComplete: function(){
|
||
//footer 커스텀..
|
||
}
|
||
});
|
||
|
||
var optJson = {
|
||
useColSpanStyle: true,
|
||
groupHeaders:[
|
||
{startColumnName: 'THICKNESS', numberOfColumns: 6, titleText: '<center><em>규 격</em></center>'}
|
||
]
|
||
};
|
||
fn_jqGrid_setGroupHeaders(grid, optJson);
|
||
|
||
<% if(isModfidy){ %>
|
||
$("#sup_cd").prop("disabled","");
|
||
|
||
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=MATERIAL_SORTAPPLY&targetObjId="+objId+"&approvalTitle="+title+"&callbackFnc=fn_appr_status","registApproval","width=700,height=700");
|
||
}
|
||
});
|
||
<% } %>
|
||
|
||
});
|
||
|
||
//상신된 결재라인가져오기
|
||
function fn_getApprLine(){
|
||
$.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_appr_status(){
|
||
$("#status_cd").val("PURSTCD00500");
|
||
|
||
//결재 프로세스 변경으로 인한 주석
|
||
/* if("SRT00020"==$("#sort_cd").val()){
|
||
$("#status_cd").val("PURSTCD00500");
|
||
}else{
|
||
$("#status_cd").val("PURSTCD00200");
|
||
}
|
||
*/
|
||
|
||
fn_save_process();
|
||
}
|
||
|
||
//행추가시 품목선택 팝업
|
||
function fn_openPartMngListPopUp(){
|
||
var hiddenForm = document.hiddenForm;
|
||
|
||
var target = "partMngListPopUp";
|
||
//var url = "/eoMng/partMngListPopUp.do?OBJID="+ ${resultMap.OBJID};
|
||
var url = "/partMng/partMngListPopUp.do?callbackFnc=fn_addRow&callType=purchaseOrder";
|
||
window.open(url,target,"width=1480,height=800");
|
||
}
|
||
|
||
//품목선택 callbackFnc
|
||
function fn_addRow(rowData){
|
||
var addData = {
|
||
"RESOURCE_OBJID" : rowData.map.PART_OBJID
|
||
,"PART_NAME" : rowData.map.PART_NAME
|
||
,"DO_NO" : rowData.map.DO_NO
|
||
,"THICKNESS" : rowData.map.THICKNESS
|
||
,"WIDTH" : rowData.map.WIDTH
|
||
,"HEIGHT" : rowData.map.HEIGHT
|
||
,"OUT_DIAMETER" : rowData.map.OUT_DIAMETER
|
||
,"IN_DIAMETER" : rowData.map.IN_DIAMETER
|
||
,"LENGTH" : rowData.map.LENGTH
|
||
}
|
||
|
||
var newId = grid.getGridParam("reccount")+1;
|
||
grid.addRowData(newId, addData);
|
||
grid.jqGrid("editRow", newId);
|
||
}
|
||
|
||
function fn_save(){
|
||
if(fnc_valitate("form1")){
|
||
|
||
if(""==grid.getRowData()){
|
||
Swal.fire('저장할 품목이 존재 하지 않습니다');
|
||
return;
|
||
}
|
||
$("#status_cd").val("PURSTCD00100");
|
||
|
||
if(confirm("저장 하시겠습니까?")){
|
||
fn_save_process();
|
||
}
|
||
}
|
||
}
|
||
<% if(isModfidy){ %>
|
||
function fn_save_process(){
|
||
//$("#final_order_amount").prop('disabled', false);
|
||
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);
|
||
|
||
gridFn.closeEdit();
|
||
$.ajax({
|
||
url:"/materMgmt/materMgmtSave.do"
|
||
,type:"POST"
|
||
,data: $("#form1").serialize() + "&jqGrid="+ encodeURIComponent(JSON.stringify(grid.getRowData()))
|
||
,dataType:"json"
|
||
,success:function(data){
|
||
if(data =="SUCCESS"){
|
||
Swal.fire("저장되었습니다.");
|
||
};
|
||
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 = {
|
||
// "RESOURCE_OBJID" : ""
|
||
// ,"PART_NAME" : ""
|
||
// ,"DO_NO" : ""
|
||
// ,"THICKNESS" : ""
|
||
// ,"WIDTH" : ""
|
||
// ,"HEIGHT" : ""
|
||
// ,"OUT_DIAMETER" : ""
|
||
// ,"IN_DIAMETER" : ""
|
||
// ,"LENGTH" : ""
|
||
// ,"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"});
|
||
}
|
||
,footerSummary: function(){ //자동합계
|
||
/* var colSum1 = 0;
|
||
var colSum2 = 0;
|
||
var colSum3 = 0;
|
||
$("input[id*=UNIT_PRICE]").each(function(){ if($.isNumeric($(this).val())){ colSum1 += parseInt($(this).val()); } }); */
|
||
//$("input[id*=CASH_USED]").each(function(){ if($.isNumeric($(this).val())){ colSum2 += parseInt($(this).val()); } });
|
||
//$("input[id*=PAYMENT]" ).each(function(){ if($.isNumeric($(this).val())){ colSum3 += parseInt($(this).val()); } });
|
||
|
||
//$("#total_amount").val(numberWithCommas(colSum1+""));
|
||
//$("#summuryTotalCASH_USED").text(numberWithCommas(colSum2+""));
|
||
//$("#summuryTotalPAYMENT" ).text(numberWithCommas(colSum3+""));
|
||
//$("#summuryTotal").text(numberWithCommas((colSum1+colSum2-colSum3)+""));
|
||
|
||
//var ids = grid.jqGrid("getDataIDs");
|
||
//var total =0;
|
||
//for (var i = 0; i < ids.length; i++) {
|
||
// if($.isNumeric(grid.jqGrid('getCell', i+1, 'UNIT_PRICE'))){
|
||
// //Swal.fire(parseInt(grid.jqGrid('getCell', i+1, 'UNIT_PRICE')));
|
||
// total = parseInt(total) + parseInt(grid.jqGrid('getCell', i+1, 'UNIT_PRICE'));
|
||
// }
|
||
//
|
||
//}
|
||
//
|
||
//$("#total").text(total);
|
||
//$("#final_order_amount").val(total);
|
||
}
|
||
}
|
||
</script>
|
||
</head>
|
||
<body>
|
||
<form name="form1" id="form1" action="" method="post">
|
||
<input type="hidden" name="material_master_objid" id="material_master_objid" value="${objId}">
|
||
<input type="hidden" name="status_cd" id="status_cd">
|
||
<input type="hidden" name="title" >
|
||
<section>
|
||
<div class="plm_menu_name">
|
||
<h2><span>발주서</span></h2>
|
||
</div>
|
||
<div id="expenseApplyPopupFormWrap1">
|
||
<table class="pmsPopupForm">
|
||
<colgroup>
|
||
<col width="11%" />
|
||
<col width="11%" />
|
||
<col width="11%" />
|
||
<col width="11%" />
|
||
<col width="11%" />
|
||
<col width="11%" />
|
||
<col width="11%" />
|
||
<col width="11%" />
|
||
<col width="11%" />
|
||
</colgroup>
|
||
<tr>
|
||
<td rowspan="2" colspan="2" style="background-color: #1159bc;"><image src="/images/mainLogo_myungjin.png" style="width: 197px; height: 33px;" /></td>
|
||
<td rowspan="2" colspan="3" style="text-align: center;"><h1><b>발주서</b></h1></td>
|
||
<td></td>
|
||
<td>P/O NO</td>
|
||
<td></td>
|
||
<td>크로샤</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td>PAGE</td>
|
||
<td></td>
|
||
<td></td>
|
||
</tr>
|
||
<tr>
|
||
<td rowspan="2" colspan="2" style="text-align: center;">업체명</td>
|
||
<td rowspan="2" colspan="3">
|
||
<select name="sup_cd" id="sup_cd" required reqTitle="업체명" type="select" class="select2" autocomplete="off" disabled>
|
||
<option value="">선택</option>
|
||
${code_map.supply_cd}
|
||
</select>
|
||
</td>
|
||
<td></td>
|
||
<td>주문일자</td>
|
||
<td colspan="2">
|
||
<input type="text" name="order_date" id="order_date" class="date_icon" required reqTitle="주문일자" value="${info.ORDER_DATE}" readonly/>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td>납품일자</td>
|
||
<td colspan="2">
|
||
<input type="text" name="recv_date" id="recv_date" class="date_icon" required reqTitle="납품일자" value="${info.RECV_DATE }" readonly/>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>발신</td>
|
||
<td colspan="2">명진스틸산업(주)</td>
|
||
<td>담당자</td>
|
||
<td colspan="5">${writerName}</td>
|
||
</tr>
|
||
<tr>
|
||
<td>전화</td>
|
||
<td colspan="2">626-1031</td>
|
||
<td>FAX</td>
|
||
<td colspan="5">626-1032</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="9">1. 귀사의 일의 번창하심을 기원합니다.</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="9">2. 아래와 같이 발주하오니 검토하시고 납기를 준수하여 주시기 바랍니다.</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
|
||
<div id="plm_table_wrap1" style="padding:0 8 0 8;">
|
||
<div style="">
|
||
<div style="height: 300px;">
|
||
<table id="formGrid1""></table>
|
||
<!-- <div id="jqGridPager"></div> -->
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="expenseApplyPopupFormWrap1">
|
||
<table class="pmsPopupForm">
|
||
<colgroup>
|
||
<col width="10%" />
|
||
<col width="40%" />
|
||
<col width="10%" />
|
||
<col width="10%" />
|
||
<col width="10%" />
|
||
<col width="10%" />
|
||
<col width="10%" />
|
||
</colgroup>
|
||
<tr>
|
||
<td rowspan="2" class="input_title">비고</td>
|
||
<td rowspan="2">
|
||
<textarea style="width:100%; height: 100px;background-color: #fff;" name="reason" id="reason">${info.REASON}</textarea>
|
||
</td>
|
||
<td rowspan="2" style="text-align:center;" class="input_title">결<br>재</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>
|
||
<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>
|
||
|
||
<div class="btn_wrap">
|
||
<div class="plm_btn_wrap" style="padding:0 8 0 8; text-align: right;">
|
||
<% if(isModfidy){ %>
|
||
<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">
|
||
<% } %>
|
||
<input type="button" value="닫기" class="plm_btns" style="background:#dfeffc" onclick="window.close();" >
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<textarea style="width:0px; height:0px; visibility: hidden;" id="gridDetailList">${gridDetailList}</textarea>
|
||
</form>
|
||
</body>
|
||
</html> |