파트 재고단위, 관리단위 관련 수정

This commit is contained in:
2026-03-11 10:49:03 +09:00
parent 30b5f76010
commit c856a9b4ad
8 changed files with 196 additions and 28 deletions

View File

@@ -401,12 +401,16 @@ public class PartMngController {
}
// 단위 코드 셀렉트박스
code_map.put("unit_dc_cd", commonService.bizMakeOptionList("0001399", CommonUtils.nullToEmpty((String)resultMap.get("UNIT_DC")), "common.getCodeselect"));
code_map.put("unitmang_dc_cd", commonService.bizMakeOptionList("0001399", CommonUtils.nullToEmpty((String)resultMap.get("UNITMANG_DC")), "common.getCodeselect"));
}catch(Exception e){
e.printStackTrace();
}
request.setAttribute("code_map", code_map);
request.setAttribute("resultMap", resultMap);
return "/partMng/partMngFormPopUp";
}
@@ -456,6 +460,10 @@ public class PartMngController {
resultMap.put("OBJID", objId);
}
// 단위 코드 셀렉트박스
code_map.put("unit_dc_cd", commonService.bizMakeOptionList("0001399", CommonUtils.nullToEmpty((String)resultMap.get("UNIT_DC")), "common.getCodeselect"));
code_map.put("unitmang_dc_cd", commonService.bizMakeOptionList("0001399", CommonUtils.nullToEmpty((String)resultMap.get("UNITMANG_DC")), "common.getCodeselect"));
}catch(Exception e){
e.printStackTrace();
}
@@ -676,7 +684,12 @@ public class PartMngController {
Map acctfgParam = new HashMap();
acctfgParam.put("codeId", Constants.ACCTFG_CODE);
code_map.put("acctfg_code", commonService.getJqGridSelectBoxJsonData("common.getCodeList", acctfgParam, "선택"));
// 단위(UNIT_DC) 공통코드 조회 - jqGrid selectBox용 JSON
Map unitDcParam = new HashMap();
unitDcParam.put("codeId", "0001399");
code_map.put("unit_dc_code", commonService.getJqGridSelectBoxJsonData("common.getCodeList", unitDcParam, "선택"));
/*
code_map.put("customer_cd",commonService.bizMakeOptionList("", (String)paramMap.get("customer_cd"),"common.getsupplyselect"));
code_map.put("project_name",commonService.bizMakeOptionList("", (String)paramMap.get("project_name"),"common.getProjectNameList"));

View File

@@ -162,7 +162,9 @@
P.ODRFG,
CASE WHEN P.ODRFG = '0' THEN '구매' WHEN P.ODRFG = '1' THEN '생산' WHEN P.ODRFG = '8' THEN 'Phantom' ELSE '' END AS ODRFG_NM,
P.UNIT_DC,
(SELECT CODE_NAME FROM COMM_CODE WHERE CODE_ID = P.UNIT_DC) AS UNIT_DC_NM,
P.UNITMANG_DC,
(SELECT CODE_NAME FROM COMM_CODE WHERE CODE_ID = P.UNITMANG_DC) AS UNITMANG_DC_NM,
P.UNITCHNG_NB,
P.LOT_FG,
CASE WHEN P.LOT_FG = '1' THEN '사용' WHEN P.LOT_FG = '0' THEN '미사용' ELSE '' END AS LOT_FG_NM,
@@ -7925,12 +7927,21 @@ SELECT PM.OBJID
<!-- 계정구분 코드 조회 (한글명 → ERP 코드값) -->
<select id="getAcctfgCode" parameterType="map" resultType="map">
SELECT
SELECT
CODE_ID
FROM COMM_CODE
WHERE CODE_NAME = #{CODE_NAME}
WHERE CODE_NAME = #{CODE_NAME}
AND PARENT_CODE_ID = '0900213'
</select>
<!-- 단위 코드 조회 (코드명 → 코드값) -->
<select id="getUnitDcCode" parameterType="map" resultType="map">
SELECT
CODE_ID
FROM COMM_CODE
WHERE UPPER(TRIM(CODE_NAME)) = UPPER(TRIM(#{CODE_NAME}))
AND PARENT_CODE_ID = '0001399'
</select>
<!-- 공급업체명으로 OBJID 조회 -->
<select id="getSupplyCodeByName" parameterType="map" resultType="map">

View File

@@ -3106,10 +3106,40 @@ public class PartMngService extends BaseService {
}
// ERP 연동 필드 파싱
String unitDc = getCellValue(row, columnIndex++, formatter, emptyColCnt);
partMap.put("UNIT_DC", unitDc.trim());
if(!StringUtils.isBlank(unitDc)){
if(unitDc.trim().matches("\\d+")){
partMap.put("UNIT_DC", unitDc.trim());
} else {
Map unitDcParam = new HashMap();
unitDcParam.put("CODE_NAME", unitDc.trim());
Map unitDcResult = sqlSession.selectOne("partMng.getUnitDcCode", unitDcParam);
if(unitDcResult != null && !StringUtils.isBlank((String)unitDcResult.get("code_id"))){
partMap.put("UNIT_DC", unitDcResult.get("code_id"));
} else {
partMap.put("UNIT_DC", unitDc.trim());
}
}
} else {
partMap.put("UNIT_DC", "");
}
String unitmangDc = getCellValue(row, columnIndex++, formatter, emptyColCnt);
partMap.put("UNITMANG_DC", unitmangDc.trim());
if(!StringUtils.isBlank(unitmangDc)){
if(unitmangDc.trim().matches("\\d+")){
partMap.put("UNITMANG_DC", unitmangDc.trim());
} else {
Map unitmangParam = new HashMap();
unitmangParam.put("CODE_NAME", unitmangDc.trim());
Map unitmangResult = sqlSession.selectOne("partMng.getUnitDcCode", unitmangParam);
if(unitmangResult != null && !StringUtils.isBlank((String)unitmangResult.get("code_id"))){
partMap.put("UNITMANG_DC", unitmangResult.get("code_id"));
} else {
partMap.put("UNITMANG_DC", unitmangDc.trim());
}
}
} else {
partMap.put("UNITMANG_DC", "");
}
String unitchngNb = getCellValue(row, columnIndex++, formatter, emptyColCnt);
partMap.put("UNITCHNG_NB", unitchngNb.trim());
@@ -3678,9 +3708,40 @@ public class PartMngService extends BaseService {
} else {
partMap.put("ODRFG", "");
}
// ERP 연동 필드
partMap.put("UNIT_DC", unitDc.trim());
partMap.put("UNITMANG_DC", unitmangDc.trim());
// 재고단위(UNIT_DC) - 코드명 입력 시 코드값으로 변환
if(!StringUtils.isBlank(unitDc)){
if(unitDc.trim().matches("\\d+")){
partMap.put("UNIT_DC", unitDc.trim());
} else {
Map unitDcParam = new HashMap();
unitDcParam.put("CODE_NAME", unitDc.trim());
Map unitDcResult = sqlSession.selectOne("partMng.getUnitDcCode", unitDcParam);
if(unitDcResult != null && !StringUtils.isBlank((String)unitDcResult.get("code_id"))){
partMap.put("UNIT_DC", unitDcResult.get("code_id"));
} else {
partMap.put("UNIT_DC", unitDc.trim());
}
}
} else {
partMap.put("UNIT_DC", "");
}
// 관리단위(UNITMANG_DC) - 코드명 입력 시 코드값으로 변환
if(!StringUtils.isBlank(unitmangDc)){
if(unitmangDc.trim().matches("\\d+")){
partMap.put("UNITMANG_DC", unitmangDc.trim());
} else {
Map unitmangParam = new HashMap();
unitmangParam.put("CODE_NAME", unitmangDc.trim());
Map unitmangResult = sqlSession.selectOne("partMng.getUnitDcCode", unitmangParam);
if(unitmangResult != null && !StringUtils.isBlank((String)unitmangResult.get("code_id"))){
partMap.put("UNITMANG_DC", unitmangResult.get("code_id"));
} else {
partMap.put("UNITMANG_DC", unitmangDc.trim());
}
}
} else {
partMap.put("UNITMANG_DC", "");
}
partMap.put("UNITCHNG_NB", unitchngNb.trim());
// LOT구분 - 한글명 입력 시 코드값으로 변환 (0:미사용, 1:사용)
if(!CommonUtils.isBlank(lotFg)){
@@ -4198,7 +4259,7 @@ public class PartMngService extends BaseService {
int emptyRowCnt = 0;
AtomicInteger emptyColCnt = new AtomicInteger(0);
Map partNoUniqueMap = new HashMap();
for(int rowIndex= 1 ; rowIndex < rows ; rowIndex++){ // 2번째 행(index 1)부터 시작 (헤더 1줄 건너뜀)
Row row = sheet.getRow(rowIndex);
if(null != row){
@@ -4390,9 +4451,40 @@ public class PartMngService extends BaseService {
partMap.put("ODRFG", "");
}
// ERP 연동 필드
partMap.put("UNIT_DC", unitDc);
partMap.put("UNITMANG_DC", unitmangDc);
// 재고단위(UNIT_DC) - 코드명 입력 시 코드값으로 변환
if(!StringUtils.isBlank(unitDc)){
if(unitDc.trim().matches("\\d+")){
partMap.put("UNIT_DC", unitDc.trim());
} else {
Map unitDcParam = new HashMap();
unitDcParam.put("CODE_NAME", unitDc.trim());
Map unitDcResult = sqlSession.selectOne("partMng.getUnitDcCode", unitDcParam);
if(unitDcResult != null && !StringUtils.isBlank((String)unitDcResult.get("code_id"))){
partMap.put("UNIT_DC", unitDcResult.get("code_id"));
} else {
partMap.put("UNIT_DC", unitDc.trim());
}
}
} else {
partMap.put("UNIT_DC", "");
}
// 관리단위(UNITMANG_DC) - 코드명 입력 시 코드값으로 변환
if(!StringUtils.isBlank(unitmangDc)){
if(unitmangDc.trim().matches("\\d+")){
partMap.put("UNITMANG_DC", unitmangDc.trim());
} else {
Map unitmangParam = new HashMap();
unitmangParam.put("CODE_NAME", unitmangDc.trim());
Map unitmangResult = sqlSession.selectOne("partMng.getUnitDcCode", unitmangParam);
if(unitmangResult != null && !StringUtils.isBlank((String)unitmangResult.get("code_id"))){
partMap.put("UNITMANG_DC", unitmangResult.get("code_id"));
} else {
partMap.put("UNITMANG_DC", unitmangDc.trim());
}
}
} else {
partMap.put("UNITMANG_DC", "");
}
partMap.put("UNITCHNG_NB", unitchngNb);
// LOT구분 - 한글명 입력 시 코드값으로 변환
@@ -5789,4 +5881,5 @@ public class PartMngService extends BaseService {
}
}
}
}