반제품, 원자재 소요량 엠봄선택 품명자동표시 오류 수정
This commit is contained in:
@@ -46,8 +46,10 @@ var resultGrid;
|
||||
var grid;
|
||||
// 입력 행 번호
|
||||
var rowSeq = 0;
|
||||
// M-BOM 옵션 데이터
|
||||
// M-BOM 옵션 데이터 (셀렉트박스용)
|
||||
var mbomOptionsData = {};
|
||||
// M-BOM 품명 데이터 (OBJID -> PART_NAME 매핑)
|
||||
var mbomPartNameData = {};
|
||||
|
||||
$(document).ready(function(){
|
||||
$('.select2').select2();
|
||||
@@ -87,7 +89,14 @@ function fn_initMbomOptions() {
|
||||
mbomOptionsData[val] = text;
|
||||
}
|
||||
});
|
||||
|
||||
// M-BOM 품명 데이터 초기화 (서버에서 전달받은 데이터)
|
||||
<c:forEach var="item" items="${mbom_part_name_list}">
|
||||
mbomPartNameData["${item.OBJID}"] = "${item.PART_NAME}";
|
||||
</c:forEach>
|
||||
|
||||
console.log("M-BOM 옵션:", mbomOptionsData);
|
||||
console.log("M-BOM 품명:", mbomPartNameData);
|
||||
}
|
||||
|
||||
// 입력 그리드 초기화
|
||||
@@ -136,12 +145,12 @@ function fn_initInputGrid() {
|
||||
return mbomOptionsData[value] || "";
|
||||
},
|
||||
cellEdited: function(cell) {
|
||||
// M-BOM 선택 시 품명 자동 입력
|
||||
// M-BOM 선택 시 품명 자동 입력 (MBOM_HEADER.PART_NAME 사용)
|
||||
var mbomObjid = cell.getValue();
|
||||
var row = cell.getRow();
|
||||
if(mbomObjid) {
|
||||
var mbomName = mbomOptionsData[mbomObjid] || "";
|
||||
row.update({PART_NAME: mbomName});
|
||||
var partName = mbomPartNameData[mbomObjid] || "";
|
||||
row.update({PART_NAME: partName});
|
||||
} else {
|
||||
row.update({PART_NAME: ""});
|
||||
}
|
||||
|
||||
@@ -46,8 +46,10 @@ var resultGrid;
|
||||
var grid;
|
||||
// 입력 행 번호
|
||||
var rowSeq = 0;
|
||||
// M-BOM 옵션 데이터
|
||||
// M-BOM 옵션 데이터 (셀렉트박스용)
|
||||
var mbomOptionsData = {};
|
||||
// M-BOM 품명 데이터 (OBJID -> PART_NAME 매핑)
|
||||
var mbomPartNameData = {};
|
||||
|
||||
$(document).ready(function(){
|
||||
$('.select2').select2();
|
||||
@@ -87,7 +89,14 @@ function fn_initMbomOptions() {
|
||||
mbomOptionsData[val] = text;
|
||||
}
|
||||
});
|
||||
|
||||
// M-BOM 품명 데이터 초기화 (서버에서 전달받은 데이터)
|
||||
<c:forEach var="item" items="${mbom_part_name_list}">
|
||||
mbomPartNameData["${item.OBJID}"] = "${item.PART_NAME}";
|
||||
</c:forEach>
|
||||
|
||||
console.log("M-BOM 옵션:", mbomOptionsData);
|
||||
console.log("M-BOM 품명:", mbomPartNameData);
|
||||
}
|
||||
|
||||
// 입력 그리드 초기화
|
||||
@@ -136,12 +145,12 @@ function fn_initInputGrid() {
|
||||
return mbomOptionsData[value] || "";
|
||||
},
|
||||
cellEdited: function(cell) {
|
||||
// M-BOM 선택 시 품명 자동 입력
|
||||
// M-BOM 선택 시 품명 자동 입력 (MBOM_HEADER.PART_NAME 사용)
|
||||
var mbomObjid = cell.getValue();
|
||||
var row = cell.getRow();
|
||||
if(mbomObjid) {
|
||||
var mbomName = mbomOptionsData[mbomObjid] || "";
|
||||
row.update({PART_NAME: mbomName});
|
||||
var partName = mbomPartNameData[mbomObjid] || "";
|
||||
row.update({PART_NAME: partName});
|
||||
} else {
|
||||
row.update({PART_NAME: ""});
|
||||
}
|
||||
|
||||
@@ -1863,6 +1863,10 @@ public class ProductionPlanningController extends BaseService {
|
||||
// M-BOM 목록 (셀렉트박스용)
|
||||
code_map.put("mbom_list", commonService.bizMakeOptionList("", "", "productionplanning.getMbomListForSelect2"));
|
||||
|
||||
// M-BOM 목록 (품명 포함) - 품명 자동 입력용
|
||||
List<Map> mbomListWithPartName = productionPlanningService.getMbomListWithPartName();
|
||||
request.setAttribute("mbom_part_name_list", mbomListWithPartName);
|
||||
|
||||
request.setAttribute("code_map", code_map);
|
||||
} catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
@@ -1902,6 +1906,10 @@ public class ProductionPlanningController extends BaseService {
|
||||
// M-BOM 목록 (셀렉트박스용)
|
||||
code_map.put("mbom_list", commonService.bizMakeOptionList("", "", "productionplanning.getMbomListForSelect2"));
|
||||
|
||||
// M-BOM 목록 (품명 포함) - 품명 자동 입력용
|
||||
List<Map> mbomListWithPartName = productionPlanningService.getMbomListWithPartName();
|
||||
request.setAttribute("mbom_part_name_list", mbomListWithPartName);
|
||||
|
||||
request.setAttribute("code_map", code_map);
|
||||
} catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
|
||||
@@ -3969,6 +3969,17 @@
|
||||
ORDER BY REGDATE DESC, MBOM_NO
|
||||
</select>
|
||||
|
||||
<!-- M-BOM 목록 (품명 포함, 원자재소요량/반제품소요량용) -->
|
||||
<select id="getMbomListWithPartName" parameterType="map" resultType="com.pms.common.UpperKeyMap">
|
||||
SELECT
|
||||
OBJID,
|
||||
MBOM_NO,
|
||||
COALESCE(PART_NAME, '') AS PART_NAME
|
||||
FROM MBOM_HEADER
|
||||
WHERE STATUS = 'Y'
|
||||
ORDER BY REGDATE DESC, MBOM_NO
|
||||
</select>
|
||||
|
||||
<!-- M-BOM 헤더 정보 조회 (OBJID로) -->
|
||||
<select id="getMbomHeaderByObjid" parameterType="map" resultType="com.pms.common.UpperKeyMap">
|
||||
SELECT
|
||||
|
||||
@@ -2102,4 +2102,27 @@ public class ProductionPlanningService {
|
||||
return 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* M-BOM 목록 조회 (품명 포함)
|
||||
* 원자재소요량/반제품소요량 화면에서 품명 자동 입력용
|
||||
* @return M-BOM 목록 (OBJID, MBOM_NO, PART_NAME)
|
||||
*/
|
||||
public List<Map> getMbomListWithPartName() {
|
||||
List<Map> resultList = new ArrayList<>();
|
||||
SqlSession sqlSession = null;
|
||||
|
||||
try {
|
||||
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
||||
resultList = sqlSession.selectList("productionplanning.getMbomListWithPartName", new HashMap<>());
|
||||
// JSP에서 대문자 키로 접근하므로 변환
|
||||
resultList = CommonUtils.keyChangeUpperList(resultList);
|
||||
} catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
if(sqlSession != null) sqlSession.close();
|
||||
}
|
||||
|
||||
return resultList;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user