mbom 팝업창 조건 수정
This commit is contained in:
@@ -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);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user