Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 8

系統資訊

 系統專案路徑:http://10.1.1.75/zk_project/deplm.git
 連線資訊:10.1.1.190:1522/PLMDB02
帳號/密碼:FTLPLM/FTLPLM
頁面資訊
 頁面代號:P000085
SELECT * FROM PLMPB208 WHERE PFC_VER = '231A' AND PAGE_ID = 'P000085';

頁面名稱(綠底):Conform Cushioning Thermoforming


頁面 zul 檔路徑(紅底):/ds/plmpfc/PLMPFC584M_PLMPFC721_01.zul
 頁面位置:
(1) 進入 PFC 管理→日常維護→PFC 專案維護
(2) 雙擊 23.1 版 1678276011241 的專案

(3) 選擇語系
(4) 輸入頁面名稱,按下查詢
(5) 點選該頁面,即可進入
 顯示新增的欄位或調整後的欄位標題,需判斷 PFC 版本:
if (PFC_VER >= 230) {
顯示新增的欄位
顯示新的欄位標題
} else {
不顯示新增的欄位
顯示原本設定的欄位標題
}

頁面調整項目
1. 調整閱讀模式的介面:

(1) 調整欄位標題為 PART NAME。


(2) 調整欄位標題為 MATERIAL NAME。
(3) 新增欄位:
i. 內:Checkbox,不可勾選,對應 PLMPFC721.IS_INSIDE,若為’Y’則打勾,若為’N’則不勾。
ii. 外:Checkbox,不可勾選,對應 PLMPFC721.IS_OUTSIDE,若為’Y’則打勾,若為’N’則不
勾。
iii. DESCRIPTION:Label,對應 PLMPFC721.DESCRIPTION。
iv. DESCRIPTION(cn):Label,對應 PLMPFC721.DESCRIPTION_CN,僅在中文語系顯示。
v. DESCRIPTION(vn):Label,對應 PLMPFC721.DESCRIPTION_VN,僅在越文語系顯示。
2. 調整編輯模式介面:

(1) 調整開窗按鈕 來源為/util/openwin/PLMPCC003W03.zul,選取帶回:


PART NAME = entity.getSPART_NA()
MATERIAL NAME = entity.getMATERIAL_NA()
MCS # = entity.getMCS_NO()
MATERIAL # = entity.getSP_MTL()
新增清除按鈕 ,僅需清除 PART NAME,其餘帶回的欄位保留。
(2) 新增欄位:
i. 內:Checkbox,可勾選,勾選連動 DESCRIPTION、DESCRIPTION(cn)、DESCRIPTION(vn)。
ii. 外:Checkbox,可勾選,勾選連動 DESCRIPTION、DESCRIPTION(cn)、DESCRIPTION(vn)。
iii. DESCRIPTION:Textbox,可編輯。
iv. DESCRIPTION(cn):Textbox,可編輯。
v. DESCRIPTION(vn):Textbox,可編輯。

Ps. 以上欄位皆可參考 P162-Injected Rubber OS Process (Dual Color Inject. M/C),頁面 zul 檔為
PLMPFC661_PLMPFC631_01.zul,各欄位編輯連動的邏輯與開窗來源。
報表資訊
 報表檔案路徑:三個語系的報表都要分別調整。
P000085.jrxml
cn
P000085.jasper
P000085.jrxml
/deplm/src/main/webapp/ds/plmpfc/report/231A/ en
P000085.jasper
P000085.jrxml
vn
P000085.jasper
 報表程式代號:PfcP000085Run
 報表列印方式:以下兩種方式都要點擊,確認報表各元件顯示沒有問題。
(1) 按下預覽列印,可列印 PDF。
(2) 按下 Export Excel,可下載 Excel。

報表調整項目
1. 新增 Parameters:

Name(參數名稱) Parameter Class(型態)


PFC_BOL_LP1
BOL_COUNTS1
java.util.List
PFC_BOL_LP2
BOL_COUNTS2
2. 調整報表 SQL:

 新增欄位:
PLMPFC721.DESCRIPTION, PLMPFC721.DESCRIPTION_CN, PLMPFC721.DESCRIPTION_VN
3. 調整報表介面:
(1) 拿掉標題 PROCESS DETAILS。
調整標題 TEMP(℃)(Machine set)為 TEMP(℃),
並調整所有高度對齊 Height=36。
(2) 調整上區塊圖片標題為 MOLD。
調整下區塊圖片標題為 STABILIZATION JIG。
將上下區塊貼齊,中間不要有空白,並對齊左區塊。
(3) 將區塊下移一點,上邊緣對齊左區塊。
(4) 調整區塊:可參考 Excel 的畫面。

以下欄位不同語系設定不同:
cn ($F{PART_NA} == null ? "" : $F{PART_NA})
PART NAME vn + ($F{SPART_NA} == null ? "" : "-" + $F{SPART_NA})
en $F{PART_NA}
cn ($F{DESCRIPTION} == null ? "" : $F{DESCRIPTION})
+ ($F{DESCRIPTION_CN} == null ? "" : "-" + $F{DESCRIPTION_CN})
DESCRIPTION en $F{DESCRIPTION}
vn ($F{DESCRIPTION} == null ? "" : $F{DESCRIPTION})
+ ($F{DESCRIPTION_VN} == null ? "" : "-" + $F{DESCRIPTION_VN})
以下欄位所有語系設定相同:
MACHINE TYPE $F{MACHINE_TYPE}
MATERIAL NAME $F{MTRL_NA}
MCS# $F{MCS}
MATERIAL # $F{MTRL_CODE}
BOL $F{COUNT}.intValue() < $V{REPORT_COUNT}.intValue() ? "" :
$P{PFC_BOL_LP1}.get($V{REPORT_COUNT}.intValue() - 1)
# $F{COUNT}.intValue() < $V{REPORT_COUNT}.intValue() ? "" :
$P{BOL_COUNTS1}.get($V{REPORT_COUNT}.intValue() - 1)
BOL $F{COUNT}.intValue() < $V{REPORT_COUNT}.intValue() ? "" :
$P{PFC_BOL_LP2}.get($V{REPORT_COUNT}.intValue() - 1)
# $F{COUNT}.intValue() < $V{REPORT_COUNT}.intValue() ? "" :
$P{BOL_COUNTS2}.get($V{REPORT_COUNT}.intValue() - 1)
黃底欄位屬性設定如下:

4. 調整報表程式 PfcP000085Run:
// 20230322 PFC23.1 版顯示 BOL 資訊
List<String> lstPFC_BOL_LP1 = new ArrayList<String>();
List<String> lstPFC_BOL_LP2 = new ArrayList<String>();
List<String> lstBOL_COUNTS1 = new ArrayList<String>();
List<String> lstBOL_COUNTS2 = new ArrayList<String>();
sql = PfcCommonLib.getPlmcbd509WithSql(project_uuid, page_uuid, pfc_ver_code, "PART_ID")
+ "SELECT BOL1.PFC_BOL_LP PFC_BOL_LP1, BOL1.COUNTS COUNTS1, "
+" BOL2.PFC_BOL_LP PFC_BOL_LP2, BOL2.COUNTS COUNTS2 "
+ " FROM PLMPFC721 A "
+" LEFT JOIN PLMCBD509_TEMP BOL1 ON A.PART_ID = BOL1.PART_ID AND BOL1.SEQ = 1 "
+" LEFT JOIN PLMCBD509_TEMP BOL2 ON A.PART_ID = BOL2.PART_ID AND BOL2.SEQ = 2 "
+ " WHERE A.PROJECT_UUID = '" + project_uuid + "' AND A.PAGE_UUID = '" + page_uuid + "' "
+ " ORDER BY A.PART_ID ";
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
lstPFC_BOL_LP1.add(BlackBox.getValue(rs.getString("PFC_BOL_LP1")));
lstPFC_BOL_LP2.add(BlackBox.getValue(rs.getString("PFC_BOL_LP2")));
lstBOL_COUNTS1.add(BlackBox.getValue(rs.getString("COUNTS1")));
lstBOL_COUNTS2.add(BlackBox.getValue(rs.getString("COUNTS2")));
}
rs.close();
ps.close();

parameters.put("PFC_BOL_LP1", lstPFC_BOL_LP1);
parameters.put("PFC_BOL_LP2", lstPFC_BOL_LP2);
parameters.put("BOL_COUNTS1", lstBOL_COUNTS1);
parameters.put("BOL_COUNTS2", lstBOL_COUNTS2);

You might also like