ERP-node/WebContent/WEB-INF/view/transfer/docTransferHistoryListPopUp...

367 lines
13 KiB
Plaintext

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="com.pms.common.utils.*"%>
<%@ page import="java.util.*" %>
<%@include file= "/init.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><%=Constants.SYSTEM_NAME%></title>
</head>
<script>
$(document).ready(function(){
$("#btnClose").click(function(){
opener.location.reload();
self.close();
});
fnc_datepick();
fn_getDocTransferHistoryListPopUp();
//인계 정보 PopUp
$(document).on("click",".takingDetail",function(){
var objId = $(this).attr("data-OBJID");
fn_openTakingInfoDetailPopUp(objId);
});
//인수 정보 PopUp
$(document).on("click",".takeOver",function(){
var objId = fnc_checkNull($(this).attr("data-OBJID"));
var targetStatus = $(this).attr("data-HAND_OVER_STATUS");
if(fnc_checkNull(targetObjId) == ""){
Swal.fire("선택된 인계 내용이 없습니다.");
return false;
}else if(targetStatus != "confirm"){
Swal.fire("확정되지 않은 인계 내용입니다.");
return false;
}
fn_openTakeOverInfoDetailPopUp(objId);
});
});
</script>
<script>
/* Part에 저장된 적용 관련정보 목록을 가져온다. */
function fn_getDocTransferHistoryListPopUp(){
$("#docInfoList").empty();
var appendCode = "";
$.ajax({
url:"/transfer/getDocTransferHistoryList.do",
type:"POST",
data:{"targetObjId":$("#targetObjId").val(),"docTargetObjId":$("#docTargetObjId").val(),"productObjId":$("#productObjId").val()},
dataType:"json",
async:false,
success:function(data){
if(0 < data.length){
var confirmFlag = false;
$.each(data, function(i){
appendCode += "<tr>";
appendCode += " <td><input type='checkbox' name='takingObjId' value='"+data[i].HISTORY_OBJID+"' data-TASK_OVER_OBJID='"+data[i].HISTORY_TARGET_OBJID+"' data-STATUS='"+data[i].HAND_OVER_STATUS+"'></td>";
appendCode += " <td>"+data[i].RNUM+"</td>";
var handOverDeptName = fnc_checkNull(data[i].HANDOVER_DEPT_NAME);
var handOverUserName = fnc_checkNull(data[i].HANDOVER_USER_NAME);
appendCode += " <td title='"+handOverDeptName+" "+handOverUserName+"'>"+handOverDeptName+" "+handOverUserName+"</td>";
appendCode += " <td title='"+data[i].DOC_TYPE_TITLE+"'>"+data[i].DOC_TYPE_TITLE+"</td>";
var fileClass= "";
if(data[i].REL_FILE_CNT > 0){
fileClass = "file_icon";
}else{
fileClass = "file_empty_icon";
}
appendCode += " <td><a href='#' class='"+fileClass+"' data-OBJID='"+data[i].HISTORY_OBJID+"'></a></td>";
appendCode += " <td title='"+data[i].HAND_OVER_REGDATE_TITLE+"'>"+data[i].HAND_OVER_REGDATE_TITLE+"</td>";
appendCode += " <td title='"+fnc_checkNull(data[i].HAND_OVER_COMMENT)+"'>"+fnc_checkNull(data[i].HAND_OVER_COMMENT)+"</td>";
appendCode += " <td title='"+data[i].HAND_OVER_STATUS_TITLE+"'><a href='#' class='takingDetail' data-OBJID='"+data[i].HISTORY_OBJID+"'>"+data[i].HAND_OVER_STATUS_TITLE+"</a></td>";
var takeDeptName = "";
var takeUserName = "";
var takeDate = "";
var takeStatus = "";
var takeComment = "";
var takeStatusTitle = "";
var takeFinalStatusTitle = "";
if($("#entryType").val() == "production"){
takeDeptName = fnc_checkNull(data[i].PRODUCTION_DEPT_NAME);
takeUserName = fnc_checkNull(data[i].PRODUCTION_USER_NAME);
takeDate = fnc_checkNull(data[i].PRODUCTION_REGDATE_TITLE);
takeStatus = fnc_checkNull(data[i].PRODUCTION_STATUS);
takeComment = fnc_checkNull(data[i].PRODUCTION_COMMENT);
}else if($("#entryType").val() == "productMng"){
takeDeptName = fnc_checkNull(data[i].PRODUCT_MNG_DEPT_NAME);
takeUserName = fnc_checkNull(data[i].PRODUCT_MNG_USER_NAME);
takeDate = fnc_checkNull(data[i].PRODUCT_MNG_REGDATE_TITLE);
takeStatus = fnc_checkNull(data[i].PRODUCT_MNG_STATUS);
takeComment = fnc_checkNull(data[i].PRODUCT_MNG_COMMENT);
}else if($("#entryType").val() == "integrity"){
takeDeptName = fnc_checkNull(data[i].INTEGRITY_DEPT_NAME);
takeUserName = fnc_checkNull(data[i].INTEGRITY_USER_NAME);
takeDate = fnc_checkNull(data[i].INTEGRITY_REGDATE_TITLE);
takeStatus = fnc_checkNull(data[i].INTEGRITY_STATUS);
takeComment = fnc_checkNull(data[i].INTEGRITY_COMMENT);
}else if($("#entryType").val() == "componentBuy"){
takeDeptName = fnc_checkNull(data[i].COMPONENT_BUY_DEPT_NAME);
takeUserName = fnc_checkNull(data[i].COMPONENT_BUY_USER_NAME);
takeDate = fnc_checkNull(data[i].COMPONENT_BUY_REGDATE_TITLE);
takeStatus = fnc_checkNull(data[i].COMPONENT_BUY_STATUS);
takeComment = fnc_checkNull(data[i].COMPONENT_BUY_COMMENT);
}else if($("#entryType").val() == "productQuality"){
takeDeptName = fnc_checkNull(data[i].PRODUCT_QUALITY_DEPT_NAME);
takeUserName = fnc_checkNull(data[i].PRODUCT_QUALITY_USER_NAME);
takeDate = fnc_checkNull(data[i].PRODUCT_QUALITY_REGDATE_TITLE);
takeStatus = fnc_checkNull(data[i].PRODUCT_QUALITY_STATUS);
takeComment = fnc_checkNull(data[i].PRODUCT_QUALITY_COMMENT);
}
//이전에 승인또는 수용승인한 경우 다음에 등록된 인계 내용에 대해 별도 인수 진행하지 않는다.
if(confirmFlag){
takeStatusTitle = "";
takeFinalStatusTitle = "";
}else{
if(takeStatus == "ok"){
takeStatusTitle = "승인";
}else if(takeStatus == "acceptOk"){
takeStatusTitle = "수용승인";
}else if(takeStatus == "ng"){
takeStatusTitle = "승인거부";
}else{
takeStatusTitle = "미등록";
}
if(fnc_checkNull(takeDate) != ""){
takeFinalStatusTitle = "확정";
}
if((takeStatus == "ok" || takeStatus == "acceptOk") && fnc_checkNull(takeDate) != ""){
confirmFlag = true;
}
}
appendCode += " <input type='hidden' name='"+data[i].HISTORY_OBJID+"_takeStatus' id='"+data[i].HISTORY_OBJID+"_takeStatus' value='"+takeStatus+"'>";
appendCode += " <td title='"+takeDeptName+" "+takeUserName+"'>"+takeDeptName+" "+takeUserName+"</td>";
appendCode += " <td title='"+takeStatusTitle+"'><a href='#' class='takeOver' data-OBJID='"+data[i].HISTORY_OBJID+"' data-HAND_OVER_STATUS='"+fnc_checkNull(data[i].HAND_OVER_STATUS)+"'>"+takeStatusTitle+"</a></td>";
appendCode += " <td title='"+takeDate+"'>"+takeDate+"</td>";
appendCode += " <td title='"+takeComment+"'>"+takeComment+"</td>";
appendCode += " <td title=''>"+takeFinalStatusTitle+"</td>";
appendCode += "</tr>";
});
}else{
appendCode = "";
appendCode += "<tr>";
appendCode += " <td colspan='13'>등록된 내용이 없습니다.</td>";
appendCode += "</tr>";
}
},
error: function(jqxhr, status, error){
}
});
$("#docInfoList").append(appendCode);
}
//인계 등록팝업
function fn_openTakingInfoFormPopUp(objId){
var param = "";
param+= "?objId="+objId;
param+= "&targetObjId="+$("#targetObjId").val();
param+= "&docTargetObjId="+$("#docTargetObjId").val();
param+= "&productObjId="+$("#productObjId").val();
if(fnc_checkNull(objId) == ""){
param+= "&actionType=regist";
}
window.open("/transfer/openDocTransferTakingFormPopUp.do"+param,"","width=700, height=500");
}
//인계 상세 팝업
function fn_openTakingInfoDetailPopUp(objId){
var param = "";
param+= "?objId="+objId;
param+= "&targetObjId="+$("#targetObjId").val();
param+= "&docTargetObjId="+$("#docTargetObjId").val();
param+= "&productObjId="+$("#productObjId").val();
window.open("/transfer/openDocTransferTakingDetailPopUp.do"+param,"","width=700, height=500");
}
//인수 Form PopUp
function fn_openTakeOverInfoFormPopUp(objId){
var param = "";
param+= "?objId="+objId;
param+= "&targetObjId="+$("#targetObjId").val();
param+= "&docTargetObjId="+$("#docTargetObjId").val();
param+= "&productObjId="+$("#productObjId").val();
window.open("/transfer/openDocTransferTakeOverFormPopUp.do"+param,"","width=600, height=633");
}
//인수 Detail PopUp
function fn_openTakeOverInfoDetailPopUp(objId){
var param = "";
param+= "?objId="+objId;
param+= "&docTargetObjId="+$("#docTargetObjId").val();
param+= "&targetObjId="+$("#targetObjId").val();
param+= "&productObjId="+$("#productObjId").val();
param+= "&entryType="+$("#entryType").val();
window.open("/transfer/openDocTransferTakeOverDetailPopUp.do"+param,"","width=600, height=633");
}
//인수내용을 확정한다.
function fn_confirmTakeInfo(){
var checkedObj = $("input:checkbox[name=takingObjId]:checked");
var takeOverObjIdArr = new Array();
if(checkedObj.length == 0){
Swal.fire("선택된 내용이 없습니다.");
return false;
}else{
var handOverValidateFlag = true;
var takeOverValidateFlag = true;
$("input:checkbox[name=takingObjId]:checked").each(function(i){
if(fnc_checkNull($(this).attr("data-STATUS")) != "confirm"){
handOverValidateFlag = false;
}
if($("#"+fnc_checkNull($(this).val())+"_takeStatus").val() == ""){
takeOverValidateFlag = false;
}
});
if(!handOverValidateFlag){
Swal.fire("인계 확정된 데이터만 인수 확정 가능합니다.");
return false;
}else if(!takeOverValidateFlag){
Swal.fire("입력된 승인여부가 없습니다.");
return false;
}else{
if(confirm("선택된 내용을 확정 하시겠습니까?")){
$("#status").val("confirm");
$.ajax({
url:"/transfer/changeTakeOverStatus.do",
type:"POST",
data:$("#form1").serialize(),
dataType:"json",
async:false,
success:function(data){
if(fnc_checkTrue(data.result)){
Swal.fire("변경되었습니다.");
fn_getDocTransferHistoryListPopUp();
}else{
Swal.fire("오류가 발생하였습니다.");
}
},
error: function(jqxhr, status, error){
}
});
}
}
}
}
</script>
<body>
<form name="form1" id="form1" action="" method="post">
<input type="hidden" name="targetObjId" id="targetObjId" value="${param.targetObjId}">
<input type="hidden" name="docTargetObjId" id="docTargetObjId" value="${param.docTargetObjId}">
<input type="hidden" name="productObjId" id="productObjId" value="${param.productObjId}">
<input type="hidden" name="objId" id="objId">
<input type="hidden" name="entryType" id="entryType" value="${param.entryType}">
<input type="hidden" name="isCharger" id="isCharger" value="${param.isCharger}">
<input type="hidden" name="status" id="status">
<div style="min_width:490px;">
<div class="plm_menu_name">
<h2>
<span>인수,인계 이력</span>
</h2>
</div>
<section class="contents_page_basic_margin" style="width:96%;">
<div class="btn_wrap">
<div class="plm_btn_wrap">
<c:if test="${null ne param.entryType and param.entryType ne 'handOver' and param.isCharger eq 'true'}">
<input type="button" value="인수확정" class="plm_btns takeOverConfirm" onclick="fn_confirmTakeInfo();">
</c:if>
</div>
</div>
<div class="plm_table_wrap">
<div style="overflow-y:scroll;">
<table class="plm_table">
<colgroup>
<col width="19px;">
<col width="19px;">
<col width="8%">
<col width="3%">
<col width="3%">
<col width="5%">
<col width="7%">
<col width="3%">
<col width="7%">
<col width="4%">
<col width="5%">
<col width="7%">
<col width="3%">
</colgroup>
<thead>
<tr class="plm_thead">
<td></td>
<td>No</td>
<td>인계자</td>
<td>문서유형</td>
<td>첨부파일</td>
<td>등록일자</td>
<td>비고</td>
<td>상태</td>
<td>인수자</td>
<td>문서이관<br>승인여부</td>
<td>승인일자</td>
<td>인수자<br>Comment</td>
<td>인수상태</td>
</tr>
</thead>
</table>
</div>
<div class="plm_scroll_table" style="width:100%;height:200px;">
<table class="plm_table">
<colgroup>
<col width="19px;">
<col width="19px;">
<col width="8%">
<col width="3%">
<col width="3%">
<col width="5%">
<col width="7%">
<col width="3%">
<col width="7%">
<col width="4%">
<col width="5%">
<col width="7%">
<col width="3%">
</colgroup>
<tbody id="docInfoList"></tbody>
</table>
</div>
</div>
</section>
<div class="btn_wrap" style="margin-top:5px;">
<div class="plm_btn_wrap_center">
<input type="button" value="닫기" class="plm_btns" id="btnClose">
</div>
</div>
</div>
</form>
</body>
</html>