mbom 팝업창 조건 수정
This commit is contained in:
@@ -375,48 +375,95 @@ function fn_openBomCopyPopupWindow(objId) {
|
|||||||
|
|
||||||
// 할당 정보 확인 후 M-BOM 팝업 열기
|
// 할당 정보 확인 후 M-BOM 팝업 열기
|
||||||
function fn_checkAssignmentAndOpenMbom(projectObjId) {
|
function fn_checkAssignmentAndOpenMbom(projectObjId) {
|
||||||
// PROJECT_MGMT의 BOM 할당 정보 조회
|
// 먼저 해당 프로젝트의 M-BOM이 실제로 존재하는지 확인
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: "/productionplanning/getMbomAssignmentInfo.do",
|
url: "/productionplanning/getLatestMbomByProjectId.do",
|
||||||
type: "POST",
|
type: "POST",
|
||||||
data: { projectObjId: projectObjId },
|
data: { projectObjId: projectObjId },
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function(response) {
|
success: function(mbomResponse) {
|
||||||
console.log("BOM 할당 정보:", response);
|
if(mbomResponse && mbomResponse.OBJID) {
|
||||||
|
// M-BOM이 실제로 존재하면 무조건 팝업 열기
|
||||||
// Machine(0000928) 이외 제품인지 확인
|
console.log("M-BOM 존재 - 팝업 열기");
|
||||||
var productCode = response ? response.PRODUCT_CODE : null;
|
|
||||||
var partNo = response ? response.PART_NO : null;
|
|
||||||
|
|
||||||
if(!response || !response.SOURCE_BOM_TYPE) {
|
|
||||||
// 할당 정보가 없는 경우
|
|
||||||
|
|
||||||
// Machine 이외 제품이고 품번이 있으면 템플릿 확인
|
|
||||||
if(productCode && productCode !== '0000928' && partNo) {
|
|
||||||
console.log("Machine 이외 제품 - 템플릿 확인 후 팝업 열기");
|
|
||||||
// 템플릿이 있을 수 있으므로 팝업 열기
|
|
||||||
fn_openMBomFormPopup(projectObjId);
|
fn_openMBomFormPopup(projectObjId);
|
||||||
} else {
|
return;
|
||||||
// Machine 제품이거나 품번이 없으면 할당 필요
|
|
||||||
Swal.fire({
|
|
||||||
title: '알림',
|
|
||||||
text: 'BOM 할당 정보가 없습니다.\nBOM 복사 버튼을 통해 먼저 BOM을 할당해주세요.',
|
|
||||||
icon: 'info'
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
}
|
// M-BOM이 없으면 할당 정보 확인
|
||||||
|
$.ajax({
|
||||||
// 할당된 BOM 정보가 있는 경우 기존 M-BOM 팝업 열기
|
url: "/productionplanning/getMbomAssignmentInfo.do",
|
||||||
fn_openMBomFormPopup(projectObjId);
|
type: "POST",
|
||||||
},
|
data: { projectObjId: projectObjId },
|
||||||
error: function(xhr, status, error) {
|
dataType: "json",
|
||||||
console.error("BOM 할당 정보 조회 오류:", error);
|
success: function(response) {
|
||||||
Swal.fire({
|
console.log("BOM 할당 정보:", response);
|
||||||
title: '오류',
|
|
||||||
text: 'BOM 할당 정보를 조회하는 중 오류가 발생했습니다.',
|
// Machine(0000928) 이외 제품인지 확인
|
||||||
icon: 'error'
|
var productCode = response ? response.PRODUCT_CODE : null;
|
||||||
});
|
var partNo = response ? response.PART_NO : null;
|
||||||
|
|
||||||
|
if(!response || !response.SOURCE_BOM_TYPE) {
|
||||||
|
// 할당 정보가 없는 경우
|
||||||
|
|
||||||
|
// Machine 이외 제품이고 품번이 있으면 동일 품번의 M-BOM 확인
|
||||||
|
if(productCode && productCode !== '0000928' && partNo) {
|
||||||
|
console.log("Machine 이외 제품 - 동일 품번의 M-BOM 확인");
|
||||||
|
|
||||||
|
// 동일 품번의 M-BOM이 있는지 확인
|
||||||
|
$.ajax({
|
||||||
|
url: "/productionplanning/getLatestMbomByPartNo.do",
|
||||||
|
type: "POST",
|
||||||
|
data: { partNo: partNo },
|
||||||
|
dataType: "json",
|
||||||
|
async: false,
|
||||||
|
success: function(templateResponse) {
|
||||||
|
if(templateResponse && templateResponse.MBOM_PART_NO) {
|
||||||
|
console.log("동일 품번의 M-BOM 템플릿 발견 - 팝업 열기");
|
||||||
|
fn_openMBomFormPopup(projectObjId);
|
||||||
|
} else {
|
||||||
|
console.log("동일 품번의 M-BOM 템플릿 없음 - 할당 필요");
|
||||||
|
Swal.fire({
|
||||||
|
title: '알림',
|
||||||
|
text: 'BOM 할당 정보가 없습니다.\nBOM 복사 버튼을 통해 먼저 BOM을 할당해주세요.',
|
||||||
|
icon: 'info'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function() {
|
||||||
|
console.log("M-BOM 조회 실패 - 할당 필요");
|
||||||
|
Swal.fire({
|
||||||
|
title: '알림',
|
||||||
|
text: 'BOM 할당 정보가 없습니다.\nBOM 복사 버튼을 통해 먼저 BOM을 할당해주세요.',
|
||||||
|
icon: 'info'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
// Machine 제품이거나 품번이 없으면 할당 필요
|
||||||
|
Swal.fire({
|
||||||
|
title: '알림',
|
||||||
|
text: 'BOM 할당 정보가 없습니다.\nBOM 복사 버튼을 통해 먼저 BOM을 할당해주세요.',
|
||||||
|
icon: 'info'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 할당된 BOM 정보가 있는 경우 팝업 열기
|
||||||
|
fn_openMBomFormPopup(projectObjId);
|
||||||
|
},
|
||||||
|
error: function(xhr, status, error) {
|
||||||
|
console.error("BOM 할당 정보 조회 오류:", error);
|
||||||
|
Swal.fire({
|
||||||
|
title: '오류',
|
||||||
|
text: 'BOM 할당 정보를 조회하는 중 오류가 발생했습니다.',
|
||||||
|
icon: 'error'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
error: function(xhr, status, error) {
|
||||||
|
console.error("M-BOM 존재 여부 조회 오류:", error);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user