328 lines
10 KiB
Plaintext
328 lines
10 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){
|
|
$.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 += " <input type='hidden' name='fileRelCnt_"+data[i].HISTORY_OBJID+"' id='fileRelCnt_"+data[i].HISTORY_OBJID+"' value='"+data[i].REL_FILE_CNT+"'>";
|
|
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 currentStatus = "";
|
|
if(fnc_checkNull(data[i].FINAL_STATUS) == 'OK'){
|
|
currentStatus = "인수완료";
|
|
}else if(fnc_checkNull(data[i].FINAL_STATUS) == 'NG'){
|
|
currentStatus = "인수거부";
|
|
}else if(fnc_checkNull(data[i].FINAL_STATUS) == 'PROCESSING'){
|
|
currentStatus = "진행중";
|
|
}
|
|
appendCode += " <input type='hidden' name='currentStatus' value='"+fnc_checkNull(data[i].FINAL_STATUS)+"'>";
|
|
|
|
appendCode += " <td title='"+currentStatus+"'>"+currentStatus+"</td>";
|
|
appendCode += "</tr>";
|
|
});
|
|
}else{
|
|
appendCode = "";
|
|
appendCode += "<tr>";
|
|
appendCode += " <td colspan='9'>등록된 내용이 없습니다.</td>";
|
|
appendCode += "</tr>";
|
|
}
|
|
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
|
|
$("#docInfoList").append(appendCode);
|
|
}
|
|
|
|
//인계 등록팝업
|
|
function fn_openTakingInfoFormPopUp(objId){
|
|
var result = true;
|
|
$("input[name=currentStatus]").each(function(){
|
|
if($(this).val() == "PROCESSING"){
|
|
result = false;
|
|
}
|
|
});
|
|
|
|
if(result){
|
|
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");
|
|
}else{
|
|
Swal.fire("인수 진행 중에는 인계 내용을 등록 할 수 없습니다.");
|
|
return false;
|
|
}
|
|
}
|
|
|
|
//인계 상세 팝업
|
|
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");
|
|
}
|
|
|
|
function fn_sendMail(objId){
|
|
var params = "";
|
|
params += "?parentType=docTransferHanfOver";
|
|
params += "&objId="+objId;
|
|
window.open("/common/searchMailReceiver.do"+params, "", "width=480, height=367");
|
|
}
|
|
|
|
//인계 내용을 확정한다.
|
|
function fn_confirmTakingInfo(){
|
|
var checkedObj = $("input:checkbox[name=takingObjId]:checked");
|
|
|
|
if(checkedObj.length == 0){
|
|
Swal.fire("선택된 내용이 없습니다.");
|
|
return false;
|
|
}else{
|
|
|
|
var fileFlag = true;
|
|
|
|
$(checkedObj).each(function(){
|
|
var fileCnt = $("#fileRelCnt_"+$(this).val()).val();
|
|
|
|
if(fileCnt == 0){
|
|
fileFlag = false;
|
|
}
|
|
});
|
|
|
|
if(fileFlag){
|
|
if(confirm("선택된 내용을 확정 하시겠습니까?\n확정 시 수정 불가합니다.")){
|
|
|
|
$("#status").val("confirm");
|
|
|
|
$.ajax({
|
|
url:"/transfer/changeTakingOverStatus.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){
|
|
}
|
|
});
|
|
}
|
|
}else{
|
|
Swal.fire("첨부된 파일이 없습니다.\n인계문서 첨부파일을 확인하시기 바랍니다.");
|
|
}
|
|
}
|
|
}
|
|
|
|
//인수내용을 확정한다.
|
|
function fn_confirmTakeInfo(){
|
|
var checkedObj = $("input:checkbox[name=takingObjId]:checked");
|
|
var takeOverObjIdArr = new Array();
|
|
|
|
if(checkedObj.length == 0){
|
|
Swal.fire("선택된 내용이 없습니다.");
|
|
return false;
|
|
}else{
|
|
var validateFlag = true;
|
|
|
|
$("input:checkbox[name=takingObjId]:checked").each(function(i){
|
|
if(fnc_checkNull($(this).attr("data-STATUS")) != "confirm"){
|
|
validateFlag = false;
|
|
}
|
|
});
|
|
if(!validateFlag){
|
|
Swal.fire("인계 확정된 데이터만 인수 확정 가능합니다.");
|
|
}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="${param.entryType eq 'handOver' and param.isCharger eq 'true'}">
|
|
<input type="button" value="인계등록" class="plm_btns handOverRegist" onclick="fn_openTakingInfoFormPopUp('');">
|
|
<input type="button" value="인계확정" class="plm_btns handOverConfirm" onclick="fn_confirmTakingInfo();">
|
|
</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="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>
|
|
</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="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> |