diff --git a/WebContent/WEB-INF/view/partMng/structureBomCopyFormPopup.jsp b/WebContent/WEB-INF/view/partMng/structureBomCopyFormPopup.jsp
index ce7101d..1d3989a 100644
--- a/WebContent/WEB-INF/view/partMng/structureBomCopyFormPopup.jsp
+++ b/WebContent/WEB-INF/view/partMng/structureBomCopyFormPopup.jsp
@@ -717,11 +717,11 @@ function fn_excel() {
|
-
+
|
|
-
+
|
|
diff --git a/WebContent/WEB-INF/view/productionplanning/mBomHeaderPopup.jsp b/WebContent/WEB-INF/view/productionplanning/mBomHeaderPopup.jsp
index ddb36dc..d093d44 100644
--- a/WebContent/WEB-INF/view/productionplanning/mBomHeaderPopup.jsp
+++ b/WebContent/WEB-INF/view/productionplanning/mBomHeaderPopup.jsp
@@ -58,6 +58,7 @@ $(function(){
// 저장된 M-BOM 품번 조회 및 표시
var projectObjId = "${info.OBJID}";
+
$.ajax({
url: "/productionplanning/getLatestMbomByProjectId.do",
type: "POST",
@@ -68,7 +69,29 @@ $(function(){
if(response && response.MBOM_NO) {
console.log("저장된 M-BOM 발견:", response);
$("#search_mbom_part_no").val(response.MBOM_NO);
- $("#search_save_date").val(response.REGDATE);
+
+ // 날짜 형식 변환 (타임스탬프 또는 문자열 -> YYYY-MM-DD)
+ var regDate = response.REGDATE;
+ if(regDate) {
+ var dateStr = "";
+
+ // 타임스탬프(숫자)인 경우
+ if(typeof regDate === 'number') {
+ var date = new Date(regDate);
+ var year = date.getFullYear();
+ var month = String(date.getMonth() + 1).padStart(2, '0');
+ var day = String(date.getDate()).padStart(2, '0');
+ dateStr = year + '-' + month + '-' + day;
+ }
+ // 문자열인 경우 (YYYY-MM-DD HH:mm:ss 형식)
+ else if(typeof regDate === 'string') {
+ dateStr = regDate.split(' ')[0];
+ }
+
+ $("#search_save_date").val(dateStr);
+ } else {
+ $("#search_save_date").val("");
+ }
} else {
console.log("저장된 M-BOM 없음");
$("#search_mbom_part_no").val("");
@@ -84,13 +107,23 @@ $(function(){
var sourceBomType = "${info.SOURCE_BOM_TYPE}";
var sourceEbomObjId = "${info.SOURCE_EBOM_OBJID}";
var sourceMbomObjId = "${info.SOURCE_MBOM_OBJID}";
+ var productCode = "${info.PRODUCT_CODE}";
console.log("할당된 BOM 정보:", {
sourceBomType: sourceBomType,
sourceEbomObjId: sourceEbomObjId,
- sourceMbomObjId: sourceMbomObjId
+ sourceMbomObjId: sourceMbomObjId,
+ productCode: productCode
});
+ // Machine 이외 제품: M-BOM 템플릿 자동 로드
+
+ console.log("M-BOM 템플릿 발견 - 자동 로드 시작");
+ setTimeout(function() {
+ fn_loadMbomTemplate();
+ }, 500);
+
+
// Controller에서 이미 데이터를 로드하여 JSP에 전달하므로 자동 조회 불필요
// setTimeout(function() {
// fn_searchMbom();
@@ -126,7 +159,7 @@ $(function(){
// 닫기 버튼 클릭
$("#btnClose").click(function(){
- window.close();
+ fn_closeWindow();
});
// 일괄 적용 버튼 클릭
@@ -174,6 +207,59 @@ function fn_applyBulkDeadline() {
}
}
+// M-BOM 템플릿 로드 (Machine 이외 제품)
+function fn_loadMbomTemplate() {
+ console.log("fn_loadMbomTemplate 호출됨");
+
+ // 템플릿 데이터를 JSP에서 받아옴
+ var templateDetails = [];
+
+
+ templateDetails.push({
+ OBJID: '', // 새로 생성될 ID
+ CHILD_OBJID: '${item.CHILD_OBJID}', // 템플릿의 CHILD_OBJID 유지 (트리 구조용)
+ PARENT_OBJID: '${item.PARENT_OBJID}',
+ SEQ: ${item.SEQ},
+ LEVEL: ${item.LEVEL},
+ PART_OBJID: '${item.PART_OBJID}',
+ PART_NO: '${item.PART_NO}',
+ PART_NAME: '${item.PART_NAME}',
+ QTY: ${item.QTY},
+ ITEM_QTY: ${item.QTY}, // 항목수량
+ QTY_TEMP: ${item.QTY},
+ UNIT: '${item.UNIT}',
+ SUPPLY_TYPE: '${item.SUPPLY_TYPE}',
+ MAKE_OR_BUY: '${item.MAKE_OR_BUY}',
+ RAW_MATERIAL: '${item.RAW_MATERIAL}',
+ RAW_MATERIAL_SPEC: '${item.RAW_MATERIAL_SPEC}',
+ SIZE: '${item.RAW_MATERIAL_SIZE}',
+ RAW_MATERIAL_NO: '${item.RAW_MATERIAL_PART_NO}',
+ PROCESSING_VENDOR: '${item.PROCESSING_VENDOR}',
+ PROCESSING_DEADLINE: '${item.PROCESSING_DEADLINE}',
+ GRINDING_DEADLINE: '${item.GRINDING_DEADLINE}',
+ REQUIRED_QTY: ${item.REQUIRED_QTY != null ? item.REQUIRED_QTY : 0},
+ // ORDER_QTY, PRODUCTION_QTY는 명시적으로 설정하지 않음 (undefined)
+ // 이렇게 하면 formatter에서 자동 계산됨
+ REMARK: '${item.REMARK}',
+ STATUS: 'ACTIVE'
+ });
+
+
+
+ console.log("템플릿 데이터 개수:", templateDetails.length);
+
+ // 왼쪽 프레임에 데이터 로드
+ var bottomFrame = parent.frames[1];
+ var leftFrame = bottomFrame ? bottomFrame.frames['leftFrame'] : null;
+
+ if(leftFrame && leftFrame._tabulGrid) {
+ leftFrame._tabulGrid.setData(templateDetails);
+ console.log("템플릿 데이터 로드 완료");
+ } else {
+ console.error("왼쪽 프레임 또는 그리드를 찾을 수 없습니다.");
+ }
+}
+
// M-BOM 조회
function fn_searchMbom() {
var partNo = $("#search_part_no").val().trim();
@@ -306,7 +392,7 @@ function fn_saveMbom() {
}
// 현재 창 닫기
- window.close();
+ fn_closeWindow();
} else {
alert("M-BOM 저장에 실패했습니다: " + (data.message || ""));
}
@@ -792,30 +878,30 @@ function compareItemFields(before, after) {
|