V20260210 #212

Merged
hjjeong merged 2 commits from V20260210 into main 2026-04-29 05:38:58 +00:00
12 changed files with 71 additions and 20 deletions

View File

@@ -470,11 +470,12 @@ $(function(){
<col width="10%"> <!-- 재질 -->
<col width="4%">
<col width="8%"> <!-- 도금 -->
<col width="3%">
<col width="3%">
<col width="3%">
<col width="3%">
<col width="3%"> <!-- 작성자 -->
<col width="3%"> <!-- 상태 -->
</colgroup>
<thead>
<tr class="plm_thead">
@@ -489,7 +490,8 @@ $(function(){
<td rowspan="2">원소재사이즈</td>
<td rowspan="2">도금</td>
<td colspan="2">중량</td>
<td rowspan="2">등록일</td>
<td rowspan="2">작성자</td>
<td rowspan="2">등록일</td>
<td rowspan="2">상태</td>
</tr>
@@ -505,7 +507,7 @@ $(function(){
<c:choose>
<c:when test="${empty partList}">
<tr style="text-align:center;">
<td align="center" colspan="17">조회된 데이터가 없습니다.</td>
<td align="center" colspan="18">조회된 데이터가 없습니다.</td>
</tr>
</c:when>
<c:otherwise>
@@ -545,9 +547,10 @@ $(function(){
<td>${item.THICKNESS}</td>
<td>${item.PLATED}</td>
<td>${item.WEIGHT}</td>
<td>${item.SPRUE}</td>
<td>${item.SPRUE}</td>
<td>${item.WRITER_NAME}</td>
<td>${item.REGDATE}</td>
<td>${item.STATUS_STR}</td>
<td>${item.STATUS_STR}</td>
</tr>
</c:forEach>
</c:otherwise>

View File

@@ -154,13 +154,22 @@ var columns = [
// 6. 접수일
{
headerHozAlign: 'center',
headerHozAlign: 'center',
hozAlign: 'center',
width: 100,
title: '접수일',
field: 'RECEIPT_DATE'
},
// 6-1. 작성자
{
headerHozAlign: 'center',
hozAlign: 'center',
width: 90,
title: '작성자',
field: 'WRITER_NAME'
},
// 7. 고객사
{
headerHozAlign: 'center',

View File

@@ -1020,8 +1020,10 @@ function fn_initGrid() {
// 서버에서 전달받은 데이터 확인
var bomTreeData = ${bomTreeListJson};
var bomDataType = '${bomDataType}';
console.log("bomTreeData:", bomTreeData);
console.log("bomTreeData length:", bomTreeData ? bomTreeData.length : 0);
console.log("bomDataType:", bomDataType);
// 대소문자 무관하게 필드값 가져오기 (PostgreSQL map은 소문자, UpperKeyMap은 대문자)
function fn_getField(row, upperName) {
@@ -1093,9 +1095,10 @@ function fn_initGrid() {
} else {
row.ORDER_QTY = fn_calcOrderQty(row);
}
// 가공업체 기본값: Level 2 이상 비구매품에만 RPS 설정 (Level 1 제외)
if(!row.PROCESSING_VENDOR) {
// 가공업체 기본값: 할당(ASSIGNED_*/TEMPLATE) 단계의 신규 표시에만 RPS 자동주입.
// SAVED는 사용자가 저장한 값(빈값 포함)을 그대로 보존.
if(bomDataType !== 'SAVED' && !row.PROCESSING_VENDOR) {
var partTypeTitle = row.PART_TYPE_TITLE || row.part_type_title || '';
var level = parseInt(row.LEVEL || row.LEV || 0);
if(level > 1 && partTypeTitle.indexOf('구매품') < 0) {

View File

@@ -100,9 +100,9 @@ var columns = [
columns:[
{headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '주문유형', field : 'CATEGORY_NAME', sorter:"string" },
{headerHozAlign : 'center', hozAlign : 'left', width : '90', title : '제품구분', field : 'PRODUCT_NAME', sorter:"string" },
{headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '국내/해외', field : 'AREA_NAME', sorter:"string" },
{headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '접수일', field : 'REG_DATE', sorter:"string" },
{headerHozAlign : 'center', hozAlign : 'left', width : '120', title : '고객사', field : 'CUSTOMER_NAME', sorter:"string" },
{headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '국내/해외', field : 'AREA_NAME', sorter:"string" },
{headerHozAlign : 'center', hozAlign : 'center', width : '90', title : '접수일', field : 'REG_DATE', sorter:"string" },
{headerHozAlign : 'center', hozAlign : 'left', width : '120', title : '고객사', field : 'CUSTOMER_NAME', sorter:"string" },
{headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '유/무상', field : 'FREE_OF_CHARGE', sorter:"string"},
{headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '품번', field : 'PRODUCT_ITEM_CODE', sorter:"string" },
{headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '품명', field : 'PRODUCT_ITEM_NAME', sorter:"string" },

View File

@@ -112,7 +112,9 @@ var columns = [
{headerHozAlign : 'center', hozAlign : 'left', minWidth : 180, widthGrow : 3, title : '품명', field : 'PART_NAME' },
{headerHozAlign : 'center', hozAlign : 'left', minWidth : 150, widthGrow : 2, title : '공급업체', field : 'PARTNER_NAME' },
{headerHozAlign : 'center', hozAlign : 'center', minWidth : 60, widthGrow : 0.6, title : '환종', field : 'CURRENCY_NAME' },
{headerHozAlign : 'center', hozAlign : 'center', minWidth : 90, widthGrow : 1, title : '구매담당자', field : 'WRITER_NAME' },
{headerHozAlign : 'center', hozAlign : 'center', minWidth : 90, widthGrow : 1, title : '구매담당자', field : 'WRITER_NAME' },
{headerHozAlign : 'center', hozAlign : 'center', minWidth : 90, widthGrow : 1, title : '입고등록자', field : 'DELIVERY_WRITER_NAME' },
{headerHozAlign : 'center', hozAlign : 'center', minWidth : 90, widthGrow : 1, title : '입고등록일', field : 'DELIVERY_REGDATE' },
{headerHozAlign : 'center', hozAlign : 'right', minWidth : 90, widthGrow : 1, title : '발주수량', field : 'TOTAL_PO_QTY',
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false }
},

View File

@@ -130,7 +130,9 @@ var columns = [
{headerHozAlign:'center', hozAlign:'left', minWidth:120, widthGrow:1.2, title:'공급업체', field:'PARTNER_NAME'},
{headerHozAlign:'center', hozAlign:'center', minWidth:60, widthGrow:0.6, title:'환종', field:'CURRENCY_NAME'},
{headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:0.8, title:'입고요청일', field:'DELIVERY_REQUEST_DATE'},
{headerHozAlign : 'center', hozAlign : 'center', minWidth : 90, widthGrow : 1, title : '구매담당자', field : 'WRITER_NAME' },
{headerHozAlign : 'center', hozAlign : 'center', minWidth : 90, widthGrow : 1, title : '구매담당자', field : 'WRITER_NAME' },
{headerHozAlign:'center', hozAlign:'center', minWidth:90, widthGrow:1, title:'입고등록자', field:'DELIVERY_WRITER_NAME'},
{headerHozAlign:'center', hozAlign:'center', minWidth:90, widthGrow:1, title:'입고등록일', field:'DELIVERY_REGDATE'},
{headerHozAlign:'center', hozAlign:'right', minWidth:80, widthGrow:0.8, title:'발주수량', field:'ORDER_QTY',
formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false}
},

View File

@@ -296,6 +296,7 @@ var columns = [
{headerHozAlign:'center', hozAlign:'center', minWidth:90, widthGrow:0.7, title:'입고일', field:'RECEIPT_DATE'},
//{headerHozAlign:'center', hozAlign:'center', minWidth:100, widthGrow:0.8, title:'입고요청일', field:'DELIVERY_REQUEST_DATE'},
{headerHozAlign:'center', hozAlign:'center', minWidth:90, widthGrow:1, title:'구매담당자', field:'WRITER_NAME'},
{headerHozAlign:'center', hozAlign:'center', minWidth:90, widthGrow:1, title:'입고등록자', field:'DELIVERY_WRITER_NAME'},
// {headerHozAlign:'center', hozAlign:'right', minWidth:80, widthGrow:0.8, title:'발주수량', field:'ORDER_QTY',
// formatter:"money", formatterParams:{thousand:",", symbolAfter:"p", precision:false}
// },

View File

@@ -381,7 +381,8 @@ var columns = [
}
},
{headerHozAlign:'center', hozAlign:'center', widthGrow:1, title:'발주일', field:'MAIL_SEND_DATE'},
{headerHozAlign:'center', hozAlign:'center', widthGrow:1, title:'구매담당자', field:'WRITER_NAME'}
{headerHozAlign:'center', hozAlign:'center', widthGrow:1, title:'구매담당자', field:'WRITER_NAME'},
{headerHozAlign:'center', hozAlign:'center', widthGrow:1, title:'작성일', field:'REGDATE'}
];
function editCheck (cell) {

View File

@@ -1259,6 +1259,7 @@ public class ProductionPlanningController extends BaseService {
request.setAttribute("MAXLEV", maxLevel);
request.setAttribute("bomTreeListJson", gson.toJson(mbomDetailList));
request.setAttribute("bomDataType", bomDataType);
return "/productionplanning/mBomPopupLeft";
}
}
@@ -1270,6 +1271,7 @@ public class ProductionPlanningController extends BaseService {
// 데이터가 없을 때 빈 배열 설정
request.setAttribute("MAXLEV", 1);
request.setAttribute("bomTreeListJson", "[]");
request.setAttribute("bomDataType", "");
return "/productionplanning/mBomPopupLeft";
}

View File

@@ -1265,8 +1265,9 @@
(SELECT OBJID FROM ATTACH_FILE_INFO WHERE UPPER(DOC_TYPE) = 'PART_CONVERT_2D' AND TARGET_OBJID = PART.OBJID AND UPPER(STATUS) = 'ACTIVE') AS CONVERT_2D_OBJID,
(SELECT OBJID FROM ATTACH_FILE_INFO WHERE UPPER(DOC_TYPE) = 'PART_CONVERT_3D' AND TARGET_OBJID = PART.OBJID AND UPPER(STATUS) = 'ACTIVE') AS CONVERT_3D_OBJID,
(SELECT REPLACE(FILE_PATH, '\', '\\') FILE_PATH FROM ATTACH_FILE_INFO WHERE TARGET_OBJID = PART.OBJID AND DOC_TYPE = 'PART_SHAPE' AND UPPER(STATUS) = 'ACTIVE') AS FILE_PATH,
PART.IS_LAST,
PART.IS_LAST,
PART.WRITER,
(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = PART.WRITER) AS WRITER_NAME,
PART.CAVITY,
PART.REMARKS,
PART.MOLD_CLASSIFICATION,

View File

@@ -2893,6 +2893,12 @@
''
) AS AREA_NAME,
TO_CHAR(PM.REGDATE, 'YYYY-MM-DD') AS RECEIPT_DATE,
(SELECT user_name(MH.WRITER)
FROM MBOM_HEADER MH
WHERE MH.PROJECT_OBJID = PM.OBJID::VARCHAR
AND MH.STATUS = 'Y'
ORDER BY MH.REGDATE DESC
LIMIT 1) AS WRITER_NAME,
CM.CUSTOMER_OBJID,
COALESCE(
CASE WHEN CM.CUSTOMER_OBJID LIKE 'C_%' THEN (SELECT CLIENT_NM FROM CLIENT_MNG AS C WHERE 'C_' || C.OBJID::VARCHAR = CM.CUSTOMER_OBJID LIMIT 1) ELSE (SELECT SUPPLY_NAME FROM SUPPLY_MNG WHERE OBJID::VARCHAR = CM.CUSTOMER_OBJID::VARCHAR LIMIT 1) END,

View File

@@ -4460,6 +4460,8 @@ SELECT POM.OBJID
,POM.ORDER_TYPE_CD
,(SELECT CODE_NAME FROM COMM_CODE CC WHERE CC.CODE_ID = POM.ORDER_TYPE_CD) AS ORDER_TYPE_CD_NAME
,(SELECT user_name(RECEIVER_ID) FROM ARRIVAL_PLAN AP WHERE AP.parent_objid = POM.OBJID ORDER BY AP.RECEIPT_DATE desc LIMIT 1) AS CUR_RECEIVER_NAME
,(SELECT user_name(WRITER) FROM ARRIVAL_PLAN AP WHERE AP.parent_objid = POM.OBJID AND AP.RECEIPT_QTY IS NOT NULL AND AP.RECEIPT_QTY::NUMERIC <![CDATA[ > ]]> 0 ORDER BY AP.RECEIPT_DATE DESC LIMIT 1) AS DELIVERY_WRITER_NAME
,(SELECT AP.RECEIPT_DATE FROM ARRIVAL_PLAN AP WHERE AP.parent_objid = POM.OBJID AND AP.RECEIPT_QTY IS NOT NULL AND AP.RECEIPT_QTY::NUMERIC <![CDATA[ > ]]> 0 ORDER BY AP.RECEIPT_DATE DESC LIMIT 1) AS DELIVERY_REGDATE
,(SELECT COUNT(1) FROM ATTACH_FILE_INFO AF WHERE AF.TARGET_OBJID = POM.OBJID AND AF.DOC_TYPE = 'INSPECTION_FILE' AND UPPER(AF.STATUS) = 'ACTIVE') AS INSPECTION_FILE_CNT
,POM.PURCHASE_CLOSE_DATE
,(SELECT CC.CODE_NAME FROM COMM_CODE CC
@@ -6349,11 +6351,27 @@ FROM(
<!-- 구매담당자 -->
,(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = POM.WRITER) AS WRITER_NAME
<!-- 입고등록자 (해당 품목 최근 입고건 기준) -->
,(SELECT user_name(AP.WRITER)
FROM ARRIVAL_PLAN AP
WHERE AP.PARENT_OBJID = POM.OBJID
AND AP.PART_OBJID = POP.PART_OBJID
AND AP.RECEIPT_QTY IS NOT NULL AND AP.RECEIPT_QTY::NUMERIC <![CDATA[ > ]]> 0
ORDER BY AP.RECEIPT_DATE DESC LIMIT 1) AS DELIVERY_WRITER_NAME
<!-- 입고등록일 (해당 품목 최근 입고건 기준) -->
,(SELECT AP.RECEIPT_DATE
FROM ARRIVAL_PLAN AP
WHERE AP.PARENT_OBJID = POM.OBJID
AND AP.PART_OBJID = POP.PART_OBJID
AND AP.RECEIPT_QTY IS NOT NULL AND AP.RECEIPT_QTY::NUMERIC <![CDATA[ > ]]> 0
ORDER BY AP.RECEIPT_DATE DESC LIMIT 1) AS DELIVERY_REGDATE
<!-- 환종 -->
,(SELECT CC.CODE_NAME FROM COMM_CODE CC
WHERE CC.CODE_ID = POP.CURRENCY) AS CURRENCY_NAME
<!-- 발주수량 -->
,COALESCE(POP.ORDER_QTY::NUMERIC, 0) AS ORDER_QTY
@@ -6575,6 +6593,9 @@ FROM(
<!-- 구매담당자 -->
,(SELECT USER_NAME FROM USER_INFO WHERE USER_ID = POM.WRITER) AS WRITER_NAME
<!-- 입고등록자 (해당 입고건의 등록자) -->
,user_name(AP.WRITER) AS DELIVERY_WRITER_NAME
<!-- 환종 -->
,(SELECT CC.CODE_NAME FROM COMM_CODE CC
WHERE CC.CODE_ID = POP.CURRENCY) AS CURRENCY_NAME