mbom 팝업창 조건 수정

This commit is contained in:
2025-11-26 15:45:58 +09:00
parent 930ee1a20b
commit af4cf42ba3

View File

@@ -375,48 +375,95 @@ function fn_openBomCopyPopupWindow(objId) {
// 할당 정보 확인 후 M-BOM 팝업 열기
function fn_checkAssignmentAndOpenMbom(projectObjId) {
// PROJECT_MGMT의 BOM 할당 정보 조회
$.ajax({
url: "/productionplanning/getMbomAssignmentInfo.do",
type: "POST",
data: { projectObjId: projectObjId },
dataType: "json",
success: function(response) {
console.log("BOM 할당 정보:", response);
// Machine(0000928) 이외 제품인지 확인
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 이외 제품 - 템플릿 확인 후 팝업 열기");
// 템플릿이 있을 수 있으므로 팝업 열기
// 먼저 해당 프로젝트의 M-BOM이 실제로 존재하는지 확인
$.ajax({
url: "/productionplanning/getLatestMbomByProjectId.do",
type: "POST",
data: { projectObjId: projectObjId },
dataType: "json",
success: function(mbomResponse) {
if(mbomResponse && mbomResponse.OBJID) {
// M-BOM이 실제로 존재하면 무조건 팝업 열기
console.log("M-BOM 존재 - 팝업 열기");
fn_openMBomFormPopup(projectObjId);
} else {
// Machine 제품이거나 품번이 없으면 할당 필요
Swal.fire({
title: '알림',
text: 'BOM 할당 정보가 없습니다.\nBOM 복사 버튼을 통해 먼저 BOM을 할당해주세요.',
icon: 'info'
});
return;
}
return;
}
// 할당된 BOM 정보가 있는 경우 기존 M-BOM 팝업 열기
fn_openMBomFormPopup(projectObjId);
},
error: function(xhr, status, error) {
console.error("BOM 할당 정보 조회 오류:", error);
Swal.fire({
title: '오류',
text: 'BOM 할당 정보를 조회하는 중 오류가 발생했습니다.',
icon: 'error'
});
// M-BOM이 없으면 할당 정보 확인
$.ajax({
url: "/productionplanning/getMbomAssignmentInfo.do",
type: "POST",
data: { projectObjId: projectObjId },
dataType: "json",
success: function(response) {
console.log("BOM 할당 정보:", response);
// Machine(0000928) 이외 제품인지 확인
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);
}
});
}