367 lines
13 KiB
Plaintext
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> |