Suggested case list:
Using timer to refresh a grid
383guest172.69.33.12125nk0uiMay 7, 2020 7:23:47 AMlinkuser model to move item to another listbox
120guest162.158.193.148d0n3krApr 2, 2020 5:28:28 AMlinkDisabled list item row passed to VM-1981
296fatih123160.83.36.13025nk0uiFeb 13, 2018 4:25:44 PMlinkDisabled list item row passed to VM-1981
295fatih123160.83.36.13025nk0uiFeb 13, 2018 4:25:16 PMlinkDisabled list item row passed to VM-1981
294fatih123160.83.36.13225nk0uiFeb 13, 2018 3:30:44 PMlinkgrid sample with ListModel/RowRenderer
816guest80.82.2.1312vah9ajFeb 21, 2017 11:42:21 AMlinkgrid sample with ListModel/RowRenderer
809guest175.98.113.1622vah9ajJan 26, 2017 9:19:33 AMlinkgrid sample with ListModel/RowRenderer
196guest79.185.142.402vah9ajApr 26, 2014 10:53:57 PMlinkgrid sample with ListModel/RowRenderer
195guest79.185.142.402vah9ajApr 26, 2014 10:53:54 PMlinkgrid sample with ListModel/RowRenderer
194guest79.185.142.402vah9ajApr 26, 2014 10:53:51 PMlinkgrid sample with ListModel/RowRenderer
193guest79.185.142.402vah9ajApr 26, 2014 10:53:48 PMlinkgrid sample with ListModel/RowRenderer
192guest79.185.142.402vah9ajApr 26, 2014 10:53:44 PMlinkgrid sample with ListModel/RowRenderer
191guest79.185.142.402vah9ajApr 26, 2014 10:53:40 PMlinkHierarchy table without using ZK PE/EE
1aaknai151.28.135.2131s871daJul 29, 2013 11:02:46 PMlinkgrid sample with ListModel/RowRenderer
128aaknai151.28.135.2132vah9ajJul 29, 2013 7:20:00 PMlinkuser model to move item to another listbox
1TonyQ114.25.109.94d0n3krApr 21, 2012 10:43:27 AMlinkUsing timer to refresh a grid
1TonyQ220.133.44.3725nk0uiFeb 17, 2012 3:17:34 AMlinkFire a event from child iframe
1TonyQ220.133.44.372eupjotFeb 3, 2012 5:04:52 AMlinkTextbox input restriction sample
1TonyQ72.21.245.2431b3nlr0Dec 20, 2011 10:09:10 AMlinkTest web core taglib in ZUL
1TonyQ198.203.175.175ofqkemDec 17, 2011 3:36:08 AMlinkLatest 10 Fiddles :
constraint binding textbox
3guest172.68.151.16220peldaDec 5, 2025 5:08:19 PMlinkAnother new ZK fiddle
2guest172.68.151.16320peldaDec 5, 2025 5:07:51 PMlinkAnother new ZK fiddle
1guest172.68.151.16220peldaDec 5, 2025 5:07:32 PMlinkAnother new ZK fiddle
1peggypeng172.71.154.99364f4neDec 5, 2025 9:24:31 AMlinktooltip example
2guest104.22.23.13rc1ntoDec 4, 2025 2:23:45 PMlinkAnother new ZK fiddle
1guest172.69.134.2277t7602Dec 4, 2025 1:40:46 PMlinkAnother new ZK fiddle
1peggypeng104.22.17.1802df6e3oDec 4, 2025 8:41:29 AMlinkonClose
1peggypeng172.68.87.248j8kd8aDec 3, 2025 4:10:26 AMlinkAnother new ZK fiddle
1peggypeng172.69.134.2271rm7f4eNov 26, 2025 3:31:24 AMlinkZK-5912-Suggestion
2rebeccalai104.22.20.1442qrmiiuNov 26, 2025 2:07:15 AMlinkcombobox
3guest172.68.87.24036kt95hAug 4, 2025 3:54:20 AMlinkresources
index.zulzul<?page title="" contentType="text/html;charset=UTF-8"?>
<zk>
<dynaWindow id="H0051DynaWindow" apply="com.miwbs.client.typeH.controller.H0051Controller" style="background-color: transparent">
<vlayout style="overflow-x:hidden;overflow-y: scroll;" height="560px">
<groupbox id="queryGbx" visible="true">
<grid>
<columns>
<column width="10%" />
<column width="40%" />
<column width="8%" />
<column width="42%" />
</columns>
<rows>
<row>
<label value="欲查詢 QUEUE"/>
<dynaCodeComboBox id="queue" kind="P_H0003" cols="40" sclass="mfCombobox" autodrop="true"/>
<label value="電文種類"/>
<cell style="combine">
<dynaCodeComboBox kind="P_H0031" id="mx" showKey="false" cols="4" />
-
<extTextbox id="mt" disabled="false" cols="3" maxlength="3" checkNumberWord="true"/>
</cell>
</row>
<row>
<extTextbox visible="false" />
<extTextbox visible="false" />
<extTextbox visible="false" />
<extTextbox visible="false" />
</row>
</rows>
</grid>
</groupbox>
<groupbox title="查詢結果" id="resultGbx" visible="false">
<grid id="resultGrid" mold="paging" pageSize="50">
<auxhead>
<auxheader id="resultCount" label="總筆數: " colspan="10" rowspan="1" style="text-align:right;" />
</auxhead>
<columns>
<column label="TRN Ref No" align="left" width="12%"/>
<column label="SWIFT RecordID" align="left" width="12%"/>
<column label="QUEUE Status" align="left" width="12%"/>
<column label="TimeStamp" align="left" width="12%"/>
<column label="EntryTeller" align="center"/>
<column label="AlterTeller" align="center"/>
<column label="VerifyTeller" align="center"/>
<column label="ReleaseTeller" align="center" width="10%"/>
<column label="RTGS Flag" align="center" width="8%"/>
<column label="RTGSRSP Flag" align="center" width="10%"/>
</columns>
</grid>
<paging id="paging" pageSize="50" detailed="true"/>
</groupbox>
<groupbox title="查詢結果" id="resultGbx2" visible="false">
<grid>
<columns>
<column/>
</columns>
<rows>
<row style="text-align: right; width: 100%;">
<checkbox id="selectPageCheckbox2" label="刪除本頁" />
</row>
</rows>
</grid>
<grid id="resultGrid2" mold="paging" pageSize="50">
<auxhead>
<auxheader label="Copy QUEUE" colspan="2" rowspan="1" style="text-align: left;" />
<auxheader id="resultCount2" label="總筆數: " colspan="5" rowspan="1" style="text-align:right;" />
</auxhead>
<columns>
<column label="檢視" align="center" width="7%"/>
<column label="取件" align="center" width="7%"/>
<column label="電文種類" align="center" width="15%"/>
<column label="複製電文名稱" align="center" width="29%"/>
<column label="建立日期" align="center" width="15%"/>
<column label="RTGS記號" align="center" width="15%"/>
<column label="刪除" align="center" width="7%"/>
</columns>
</grid>
<paging id="paging2" pageSize="50" detailed="true"/>
</groupbox>
</vlayout>
</dynaWindow>
</zk>TestComposer.javajavapackage com.miwbs.client.typeH.controller;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import com.miwbs.client.typeH.common.controller.PreviewFullNameController;
import com.miwbs.model.common.bo.PageInfoH0051;
import com.miwbs.model.common.bo.PageInfoSWTSfoutm;
import com.miwbs.model.mx.bo.MxMessage;
import com.miwbs.model.swift.mx.util.SwiftMxUtils;
import com.miwbs.webservice.IWSSwtBusinessService;
import org.apache.commons.beanutils.DynaBean;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.math.NumberUtils;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.event.CheckEvent;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.event.ForwardEvent;
import org.zkoss.zk.ui.util.Clients;
import org.zkoss.zkplus.spring.SpringUtil;
import org.zkoss.zul.Auxheader;
import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Column;
import org.zkoss.zul.Grid;
import org.zkoss.zul.Groupbox;
import org.zkoss.zul.ListModelList;
import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Paging;
import org.zkoss.zul.Row;
import org.zkoss.zul.Window;
import org.zkoss.zul.event.PagingEvent;
import com.mitac.tms.ElkLog;
import com.miwbs.client.Args;
import com.miwbs.client.CommonController;
import com.miwbs.client.common.controller.MainPortalController;
import com.miwbs.client.doc.utils.DocUtils;
import com.miwbs.client.typeH.renderer.H0051Renderer;
import com.miwbs.client.utility.ComponentTool;
import com.miwbs.client.zkComp2.component.common.DynaCodeComboBox;
import com.miwbs.client.zkComp2.component.common.DynaWindow;
import com.miwbs.client.zkComp2.component.common.ExtTextbox;
import com.miwbs.constant.CommonConstant;
import com.miwbs.exception.WebOSException;
import com.miwbs.model.common.bo.ActionInfo;
import com.miwbs.model.common.bo.H0051;
import com.miwbs.model.common.bo.JournalInfo;
import com.miwbs.model.common.bo.SWTSfcpym;
import com.miwbs.model.common.bo.SWTSfoutm;
import com.miwbs.model.raa.bo.FunctionInfo;
import com.miwbs.model.wosa.WosaUtils;
import com.miwbs.utility.DynaCodeUtil;
import com.miwbs.webservice.IWSSwtEnquiryService;
import miwbs.util.DateUtil;
import miwbs.util.StringUtil;
@SuppressWarnings({ "unchecked", "rawtypes" })
public class H0051Controller extends CommonController {
private static final long serialVersionUID = 1L;
private DynaWindow H0051DynaWindow;
private DynaCodeComboBox queue, mx;
private ExtTextbox mt;
private Groupbox queryGbx, resultGbx, resultGbx2;
private Grid resultGrid, resultGrid2;
private Auxheader resultCount, resultCount2;
private boolean ecFlag = false;
private IWSSwtEnquiryService iWSSwtEnquiryService = (IWSSwtEnquiryService) SpringUtil.getBean("iWSSwtEnquiryService");
private IWSSwtBusinessService iWSSwtBusinessService = (IWSSwtBusinessService) SpringUtil.getBean("iWSSwtBusinessService");
List<SWTSfoutm> outList = new ArrayList<>();
List<H0051> cpyList = new ArrayList<H0051>();
List H0051print = new ArrayList();
// 查詢參數
private SWTSfoutm swtfoutm = null;
private SWTSfcpym swtsfcpym = null;
private Paging paging, paging2;
private int totalSize, totalSize2;
private Checkbox selectPageCheckbox2; // resultGbx2 刪除本頁
private Set<Long> selectedSfcpymSeqs = new HashSet<>();
private List<String> selectedSfcpymReckeys = new ArrayList<>();
public void onCreate() {
// 存下列印
savePrintData();
// 按鍵走訪
createSendBtnForward((Component) spaceOwner);
ComponentTool.setShowButton(queryBTN, exitBTN);
// 註冊事件
DynaBean bo;
// 更正交易
if (arg.get(Args.EC_FLAG) != null) {
ecFlag = (boolean) arg.get(Args.EC_FLAG);
bo = (DynaBean) arg.get(Args.CASE_BO);
ComponentTool.bo2UI(self, bo);
ecEvent();
}
addComponentTabEvent(queue, "onBlurQueue", this);
// queue.addForward(Events.ON_FOCUS, queue, "onFocusQueue");
addComponentTabEvent(mx, "onBlurMX", this);
addComponentTabEvent(mt, "onBlurMT", this);
// queryBTN.addForward(Events.ON_FOCUS, queryBTN, "onFocusQueryBTN");
// queue.focus();
paging.addEventListener("onPaging", this::onPaging); // #14339 H0051_調整Select *寫法
// paging2.addEventListener("onPaging", this::onPaging2);
paging2.addEventListener("onPaging", createPaging2Listener());
selectPageCheckbox2.addEventListener(Events.ON_CHECK, createSelectPageCheckbox2Listener());
}
private void ecEvent() {
disabledAllComponent(self, true);
sendBTN.setDisabled(true);
}
public void onExit() throws Exception {
clearPrintData();
portalController.closeWindow();
Clients.clearBusy();
}
public void onBack() throws Exception {
this.onClear();
}
private void savePrintData() {
desktop.setAttribute(this.getClass().getSimpleName() + this.getActionInfoForQuery().getUuid(), this);
}
private void clearPrintData() {
desktop.setAttribute(this.getClass().getSimpleName() + this.getActionInfoForQuery().getUuid(), null);
}
public void onBlurQueue() {
//this.showMsg(getQueue());
ElkLog.info(logger, this.getTeller(), "into onBlurQueue");
mx.setValue(StringUtils.EMPTY);
mx.setDisabled(true);
mt.setValue(StringUtils.EMPTY);
mt.setDisabled(true);
if(queue.getSelectedKey() != null) {
if(8 == getQueue()){
ElkLog.info(logger, this.getTeller(), "8 == getQueue()");
mx.setDisabled(false);
mx.focus();
mt.setDisabled(false);
// mt.focus();
}else {
ElkLog.info(logger, this.getTeller(), "8 != getQueue()");
queryBTN.setDisabled(false);
queryBTN.focus();
}
}
else {
ElkLog.info(logger, this.getTeller(), "queue.getSelectedKey() == null");
queryBTN.setDisabled(true);
queue.focus();
}
queue.setOpen(false);
ElkLog.info(logger, this.getTeller(), "end onBlurQueue");
}
public void onFocusQueryBTN() throws Exception{
ComponentTool.clearComponentValue(mt);
}
public void onBlurMX() {
// if(StringUtils.isBlank(mx.getValue())) {
// mx.setValue(StringUtils.leftPad("", mx.getMaxlength(), "0"));
// } else if(!mx.getValue().matches("0[0123]|9[89]")) {
// this.showMsg("限輸入0, 1, 2, 3, 98, 99");
// mx.focus();
// return;
// }
this.clearMessage();
if (StringUtils.isNotBlank(mx.getValue()) && mx.getSelectedItem() == null) {
showMsg("輸入值必須為下拉選項");
mx.focus();
}
}
public void onBlurMT() {
if(StringUtils.isBlank(mt.getValue()) || mt.getMaxlength() > mt.getValue().length()) {
mt.setValue(StringUtils.leftPad(mt.getValue(), mt.getMaxlength(), "0"));
}
}
// 查詢結果換頁時查詢換頁資料後刷新
public void onPaging(Event event) throws WebOSException {
int activePage = ((PagingEvent) event).getActivePage();
totalSize = 0;
paging.setVisible(true);
if (swtfoutm != null) {
PageInfoSWTSfoutm pageInfoSWTSfoutm = iWSSwtEnquiryService.getSWTSfoutmsByH0051(activePage + 1, resultGrid.getPageSize(), swtfoutm);
outList = pageInfoSWTSfoutm.getList();
outList.stream().forEach(e -> e.setQueue(noNullString(queue.getSelectedKey())));
adjustColumnWidth();
resultGrid.setModel(new ListModelList<SWTSfoutm>(outList));
resultGrid.setRowRenderer(new H0051Renderer());
totalSize = (int) pageInfoSWTSfoutm.getTotal();
resultCount.setLabel(CommonConstant.GRID_COUNT + totalSize + CommonConstant.GRID_COUNT_UINT);
paging.setTotalSize(totalSize);
paging.setActivePage(pageInfoSWTSfoutm.getPageNum()>0 ? pageInfoSWTSfoutm.getPageNum()-1 : 0);
}
}
public void doQuery() throws Exception {
this.clearMessage();
outList.clear();
cpyList.clear();
queue.setOpen(false);
resultGbx.setVisible(false);
queryGbx.invalidate();
resultGbx2.setVisible(false);
// #14339 H0051_調整Select *寫法
swtfoutm = null;
swtsfcpym = null;
PageInfoSWTSfoutm pageInfoSWTSfoutm= null;
PageInfoH0051 pageInfoH0051= null;
int activePage = 0; // 分頁第一頁 activePage 為 0
totalSize = totalSize2 = 0;
paging.setVisible(false);
paging2.setVisible(false);
H0051print.clear();
selectPageCheckbox2.setChecked(false);
selectedSfcpymSeqs.clear();
selectedSfcpymReckeys.clear();
switch(getQueue()) {
case 0:
swtfoutm = new SWTSfoutm();
swtfoutm.setFromH0051(true);
swtfoutm.setBrno(this.getActionInfoForQuery().getBranchCode());
//outList = iWSSwtEnquiryService.getSWTSfoutms(swtfoutm);
pageInfoSWTSfoutm = iWSSwtEnquiryService.getSWTSfoutmsByH0051(activePage + 1, resultGrid.getPageSize(), swtfoutm);
outList = pageInfoSWTSfoutm.getList();
break;
case 5:
swtfoutm = new SWTSfoutm();
swtfoutm.setFromH0051(true);
swtfoutm.setBrno(this.getActionInfoForQuery().getBranchCode());
swtfoutm.setStatus("03");
swtfoutm.setAckfg("01");
//outList = iWSSwtEnquiryService.getSWTSfoutms(swtfoutm);
pageInfoSWTSfoutm = iWSSwtEnquiryService.getSWTSfoutmsByH0051(activePage + 1, resultGrid.getPageSize(), swtfoutm);
outList = pageInfoSWTSfoutm.getList();
break;
case 6:
swtfoutm = new SWTSfoutm();
swtfoutm.setFromH0051(true);
swtfoutm.setBrno(this.getActionInfoForQuery().getBranchCode());
swtfoutm.setStatus("03");
swtfoutm.setAckfg("02");
//outList = iWSSwtEnquiryService.getSWTSfoutms(swtfoutm);
pageInfoSWTSfoutm = iWSSwtEnquiryService.getSWTSfoutmsByH0051(activePage + 1, resultGrid.getPageSize(), swtfoutm);
outList = pageInfoSWTSfoutm.getList();
break;
case 11:
swtfoutm = new SWTSfoutm();
swtfoutm.setFromH0051(true);
swtfoutm.setBrno(this.getActionInfoForQuery().getBranchCode());
swtfoutm.setStatus("03");
swtfoutm.setAckfg("03");
//outList = iWSSwtEnquiryService.getSWTSfoutms(swtfoutm);
pageInfoSWTSfoutm = iWSSwtEnquiryService.getSWTSfoutmsByH0051(activePage + 1, resultGrid.getPageSize(), swtfoutm);
outList = pageInfoSWTSfoutm.getList();
break;
case 3:
swtfoutm = new SWTSfoutm();
swtfoutm.setFromH0051(true);
swtfoutm.setBrno(this.getActionInfoForQuery().getBranchCode());
swtfoutm.setStatus("03");
swtfoutm.setAckfg("00");
//outList = iWSSwtEnquiryService.getSWTSfoutms(swtfoutm);
pageInfoSWTSfoutm = iWSSwtEnquiryService.getSWTSfoutmsByH0051(activePage + 1, resultGrid.getPageSize(), swtfoutm);
outList = pageInfoSWTSfoutm.getList();
break;
case 8:
swtsfcpym = new SWTSfcpym();
swtsfcpym.setStatus("1");
swtsfcpym.setBrno(this.getActionInfoForQuery().getBranchCode());
// if(!"00".equals(mx.getValue())) {
// swtsfcpym.setMx(mx.getValue());
// }
// #14339 H0051_調整Select *寫法
//swtsfcpym.setMx(StringUtil.valueOfStringForBlank(mx.getSelectedKey()));
String businessType = SwiftMxUtils.getMxBusinessType(StringUtil.valueOfStringForBlank(mx.getSelectedKey()));
if (StringUtils.isNotBlank(businessType)) {
swtsfcpym.setMx(businessType);
} else {
swtsfcpym.setMx(StringUtil.valueOfStringForBlank(mx.getSelectedKey()));
}
if(!"000".equals(mt.getValue())) {
swtsfcpym.setReckey(mt.getValue());
}
// cpyList = iWSSwtEnquiryService.getSWTSfcpymsByH0051(swtsfcpym);
pageInfoH0051 = iWSSwtEnquiryService.getSWTSfcpymsByH0051WithMyBatis(activePage + 1, resultGrid2.getPageSize(), swtsfcpym);
cpyList = pageInfoH0051.getList();
break;
case 1:
case 2:
case 4:
case 7:
case 9:
swtfoutm = new SWTSfoutm();
swtfoutm.setFromH0051(true);
swtfoutm.setBrno(this.getActionInfoForQuery().getBranchCode());
swtfoutm.setStatus(String.format("%02d", getQueue()));
// outList = iWSSwtEnquiryService.getSWTSfoutms(swtfoutm);
pageInfoSWTSfoutm = iWSSwtEnquiryService.getSWTSfoutmsByH0051(activePage + 1, resultGrid.getPageSize(), swtfoutm);
outList = pageInfoSWTSfoutm.getList();
break;
}
// 處理交易日誌
ActionInfo actionInfo = this.getActionInfoForQuery();
Integer kinbr = actionInfo.getBranchCode() != null ? Integer.valueOf(actionInfo.getBranchCode()) : null;
Integer trmseq = actionInfo.getTerminalCode() != null ? Integer.valueOf(actionInfo.getTerminalCode()) : null;
String txtno = iWSBaseMiddleService.getTxtnoSeq(actionInfo, kinbr, trmseq);
// 產出查詢結果UI
if (CollectionUtils.isNotEmpty(outList)) {
queryGbx.setVisible(false);
resultGbx.setVisible(true);
// #13671
outList.stream().forEach(e -> e.setQueue(noNullString(queue.getSelectedKey())));
adjustColumnWidth();
this.SendTxnLog(txtno, null, null, null, null, JournalInfo.TXN_STATUS_SUCCESS1, null, ecFlag, desktop, spaceOwner);
resultGrid.setModel(new ListModelList<SWTSfoutm>(outList));
resultGrid.setRowRenderer(new H0051Renderer());
// #14339 H0051_調整Select *寫法
//resultCount.setLabel(CommonConstant.GRID_COUNT + resultGrid.getModel().getSize() + CommonConstant.GRID_COUNT_UINT);
totalSize = (int) (pageInfoSWTSfoutm != null ? pageInfoSWTSfoutm.getTotal() : 0);
resultCount.setLabel(CommonConstant.GRID_COUNT + totalSize + CommonConstant.GRID_COUNT_UINT);
paging.setTotalSize(totalSize);
paging.setActivePage(activePage);
paging.setVisible(true);
// H0051print = outList;
ComponentTool.setShowButton(backBTN, exitBTN);
backBTN.focus();
} else if (CollectionUtils.isNotEmpty(cpyList)) {
queryGbx.setVisible(false);
resultGbx2.setVisible(true);
this.SendTxnLog(txtno, null, null, null, null, JournalInfo.TXN_STATUS_SUCCESS1, null, ecFlag, desktop, spaceOwner);
setGrid2AndPaging2(activePage, pageInfoH0051 != null ? pageInfoH0051.getTotal() : 0);
// H0051print = cpyList;
ComponentTool.setShowButton(sendBTN, backBTN, exitBTN);
sendBTN.setDisabled(true);
backBTN.focus();
} else {
queryGbx.setVisible(true);
this.SendTxnLog(txtno, null, null, null, null, JournalInfo.TXN_STATUS_FAILURE, null, ecFlag, desktop, spaceOwner);
errMsg(DynaCodeUtil.getCodeNameByP_SYS0002("EE00074"), queue);
return;
}
}
/**
* #14914 H0051若查無資料時,游標未回到「欲查詢 QUEUE」欄位
* @throws Exception
*/
@Override
public void onQuery() throws Exception{
try {
doQuery();
}catch(Exception e) {
throw e;
}finally {
// queryBTN.focus();
Clients.clearBusy();
}
}
public void printReport(Object tota) {
clearMessage();
Clients.clearBusy();
Clients.evalJavaScript(WosaUtils.getInstance().getConnectCMD());
if (!resultGbx.isVisible() && !resultGbx2.isVisible()) {
ElkLog.info(logger,this.getTeller(),"printReport 解析列印 H5100 start");
DocUtils.printPage(this, spaceOwner, Arrays.asList("queryGbx"), "H0051", getActionInfoForQuery().getPrintType(), PrintPaper.PORT);
ElkLog.info(logger,this.getTeller(),"printReport 解析列印 END");
}else {
List<Map> printList = new ArrayList<>();
// xfs欄位設定
List<String> swiftkey = new ArrayList<>();
List<String> status = new ArrayList<>();
List<String> timestamp = new ArrayList<>();
List<String> tlrno = new ArrayList<>();
List<String> altno = new ArrayList<>();
List<String> vryno = new ArrayList<>();
List<String> relno = new ArrayList<>();
List<String> trn = new ArrayList<>();
List<String> rtgs = new ArrayList<>();
List<String> rtgsrsp = new ArrayList<>();
List<String> msgType = new ArrayList<>();
List<String> copySwiftName = new ArrayList<>();
List<String> createdate = new ArrayList<>();
List<String> delete = new ArrayList<>();
try {
if (CollectionUtils.size(H0051print) == 0) {
if (swtfoutm != null) {
H0051print = iWSSwtEnquiryService.getSWTSfoutmsByH0051(1, totalSize, swtfoutm).getList();
} else if (swtsfcpym != null){
H0051print = iWSSwtEnquiryService.getSWTSfcpymsByH0051WithMyBatis(1, totalSize2, swtsfcpym).getList();
}
}
} catch (Exception e) {
this.showMsg(e.getMessage());
return;
}
// 整理報表資料
if(CollectionUtils.isEmpty(H0051print)) {
Map<String, Object> subMap = new HashMap();
initTitle(subMap);
printList.add(subMap);
if (swtfoutm != null) {
this.sendToPrinter("A4_LAND", "H0051", "H0051A", printList, false, this.getActionInfoForQuery().getPrintType(), PrintPaper.LAND);
} else if (swtsfcpym != null) {
this.sendToPrinter("A4_LAND", "H0051", "H0051Copy", printList, false, this.getActionInfoForQuery().getPrintType(), PrintPaper.LAND);
}
} else {
for (Object o : H0051print) {
if (o instanceof SWTSfoutm) {
SWTSfoutm swt = (SWTSfoutm) o;
swiftkey.add(String.format("%s-%s-%s-%s", swt.getBrno(), swt.getMmdd(), swt.getMt(), swt.getSrno()));
status.add(getStatus(swt.getStatus(), getRejectCode(swt.getData()), swt.getAckfg()));
timestamp.add(toTimestamp(swt.getSfoutm_date(), swt.getSfoutm_time()));
tlrno.add(swt.getTlrno());
altno.add(swt.getAltno());
vryno.add(swt.getVryno());
relno.add(swt.getRelno());
trn.add(swt.getTrn());
rtgs.add(swt.getRtgs());
rtgsrsp.add(swt.getRtgsrsp());
} else if (o instanceof H0051) {
H0051 swt = (H0051) o;
if (StringUtils.isNotBlank(swt.getMx())) {
msgType.add(String.format("%s-%s", StringUtils.defaultString(swt.getMx()), StringUtils.substring(StringUtils.defaultString(swt.getReckey()), 0, 3)));
} else {
msgType.add(StringUtils.substring(StringUtils.defaultString(swt.getReckey()), 0, 3));
}
copySwiftName.add(StringUtils.substring(StringUtils.defaultString(swt.getReckey()), 3));
createdate.add(DateUtil.formatACDateTime2(swt.getCreatedate()));
rtgs.add("1".equals(swt.getRtgs()) ? "1 : 是" : "0 : 否");
delete.add(selectedSfcpymSeqs.contains(swt.getSwtSfcpymSeq()) ? "V" : "");
}
}
if (swtfoutm != null) {
// 切割資料
List<List<String>> swiftkeySplit = DocUtils.splitList(swiftkey, 30, 30);
List<List<String>> statusSplit = DocUtils.splitList(status, 30, 30);
List<List<String>> timestampSplit = DocUtils.splitList(timestamp, 30, 30);
List<List<String>> tlrnoSplit = DocUtils.splitList(tlrno, 30, 30);
List<List<String>> altnoSplit = DocUtils.splitList(altno, 30, 30);
List<List<String>> vrynoSplit = DocUtils.splitList(vryno, 30, 30);
List<List<String>> relnoSplit = DocUtils.splitList(relno, 30, 30);
List<List<String>> trnSplit = DocUtils.splitList(trn, 30, 30);
List<List<String>> rtgsSplit = DocUtils.splitList(rtgs, 30, 30);
List<List<String>> rtgsrspSplit = DocUtils.splitList(rtgsrsp, 30, 30);
for (int i = 0; i < swiftkeySplit.size(); i++) {
Map<String, Object> subMap = new HashMap();
if (i == 0) {
subMap.put("total", noNullString1(resultCount.getLabel()));
}
initTitle(subMap);
subMap.put("swiftkey", swiftkeySplit.get(i));
subMap.put("status", statusSplit.get(i));
subMap.put("timestamp", timestampSplit.get(i));
subMap.put("tlrno", tlrnoSplit.get(i));
subMap.put("altno", altnoSplit.get(i));
subMap.put("vryno", vrynoSplit.get(i));
subMap.put("relno", relnoSplit.get(i));
subMap.put("trn", trnSplit.get(i));
subMap.put("rtgs", rtgsSplit.get(i));
subMap.put("rtgsrsp", rtgsrspSplit.get(i));
printList.add(subMap);
}
this.sendToPrinter("A4_LAND", "H0051", "H0051A", printList, false, this.getActionInfoForQuery().getPrintType(), PrintPaper.LAND);
} else if (swtsfcpym != null) {
// 切割資料
List<List<String>> msgTypeSplit = DocUtils.splitList(msgType, 30, 30);
List<List<String>> copySwiftNameSplit = DocUtils.splitList(copySwiftName, 30, 30);
List<List<String>> createdateSplit = DocUtils.splitList(createdate, 30, 30);
List<List<String>> rtgsSplit = DocUtils.splitList(rtgs, 30, 30);
List<List<String>> deleteSplit = DocUtils.splitList(delete, 30, 30);
for (int i = 0; i < msgTypeSplit.size(); i++) {
Map<String, Object> subMap = new HashMap();
if (i == 0) {
subMap.put("total", noNullString1(resultCount2.getLabel()));
}
initTitle(subMap);
subMap.put("msgType", msgTypeSplit.get(i));
subMap.put("copySwiftName", copySwiftNameSplit.get(i));
subMap.put("createdate", createdateSplit.get(i));
subMap.put("rtgs", rtgsSplit.get(i));
subMap.put("delete", deleteSplit.get(i));
printList.add(subMap);
}
this.sendToPrinter("A4_LAND", "H0051", "H0051Copy", printList, false, this.getActionInfoForQuery().getPrintType(), PrintPaper.LAND);
}
}
Clients.clearBusy();
backBTN.focus();
}
}
private void initTitle(Map<String, Object> subMap) {
subMap.put("label_brno", "分行別");
subMap.put("brno", this.getActionInfoForQuery().getBranchCode());
subMap.put("label_trm", "櫃員機");
subMap.put("trm", this.getActionInfoForQuery().getTerminalCode());
subMap.put("label_agentid", "櫃員編號");
subMap.put("agentid", this.getActionInfoForQuery().getAgentId());
subMap.put("label_printDate", "交易日期");
subMap.put("txdate", DateUtil.formatTWDate(getBusinessDate()));
subMap.put("label_printTime", "交易時間");
subMap.put("printTime", DateUtil.formatTime());
if (swtfoutm != null) {
subMap.put("label_swiftkey", "SWIFT RecordID");
subMap.put("label_status", "QUEUE Status");
subMap.put("label_timestamp", "TimeStamp");
subMap.put("label_tlrno", "EntryTeller");
subMap.put("label_altno", "AlterTeller");
subMap.put("label_vryno", "VerifyTeller");
subMap.put("label_relno", "ReleaseTeller");
subMap.put("label_trn", "TRN Ref No");
subMap.put("label_rtgs", "RTGS Flag");
subMap.put("label_rtgsrsp", "RTGSRSP Flag");
} else if (swtsfcpym != null) {
subMap.put("label_msgType", "電文種類");
subMap.put("label_copySwiftName", "複製電文名稱");
subMap.put("label_createdate", "建立日期");
subMap.put("label_rtgs", "RTGS記號");
subMap.put("label_delete", "刪除");
}
}
private String getRejectCode(String data) {
return StringUtils.substring(data, 0, StringUtils.indexOf(data, "{"));
}
private String getStatus(String status, String rejectCode, String ackfg) {
String stat = "";
if(StringUtils.isNotBlank(status))
switch(status) {
case "00":
stat = "";
break;
case "01":
stat = "Alter QUEUE";
break;
case "02":
stat = "Verify QUEUE";
break;
case "03":
if(StringUtils.isNotBlank(ackfg)) {
switch(ackfg) {
case "00":
stat = "Already Sent to Host";
break;
case "01":
stat = getStatus("05", "", "");
break;
case "02":
stat = getStatus("06", rejectCode, "");
break;
case "03":
stat = getStatus("11", "", "");
break;
}
}else {
stat = "";
}
break;
case "04":
stat = "Release QUEUE";
break;
case "05":
stat = "SWIFT ACK ";
break;
case "06":
stat = "NAK: " + rejectCode;
break;
case "07":
stat = "Batch QUEUE";
break;
case "08":
stat = "Copy QUEUE";
break;
case "09":
stat = "Cancel QUEUE";
break;
case "10":
case "11":
stat = "SWIFT ERROR";
break;
default:
stat = "";
}
return stat;
}
private String toTimestamp(String date, String time) {
if(StringUtils.isBlank(date) && StringUtils.isBlank(time)) {
return "0000/00/00 00:00:00";
}
SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddHHmmss");
SimpleDateFormat sf1 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String timestamp = "";
try {
timestamp = sf1.format(sf.parse(date+time));
} catch (ParseException e) {
e.printStackTrace();
}
return timestamp;
}
private Integer getQueue() {
String status = queue.getSelectedKey().toString();
switch(queue.getSelectedKey().toString()){
case "3":
status="4";
break;
case "4":
status="7";
break;
case "5":
status="3";
break;
case "6":
status="5";
break;
case "7":
status="6";
break;
default:
status=queue.getSelectedKey().toString();
}
return NumberUtils.toInt(status);
}
/**
* 取件按鍵點擊事件
* */
public void onPickUp(ForwardEvent fe) throws Exception {
SWTSfoutm sWTSfoutm = Optional.ofNullable(fe)
.map(ForwardEvent::getData)
.filter(SWTSfoutm.class::isInstance)
.map(SWTSfoutm.class::cast)
.orElse(null);
if(sWTSfoutm == null) {
ElkLog.info(logger, this.getTeller(), "@@@ H0051取件去電為空");
return;
}
// MX電文暫禁
if(queue.getSelectedIndex() == 2) { // 選到放行queue才需要檢查
if (SwiftMxUtils.isMxSend() && "0".contentEquals(sWTSfoutm.getRtgs()) && StringUtils.isNotBlank(sWTSfoutm.getMx())) {
showMsg("MX去電(CBPR+)暫停使用。");
return;
}
if (SwiftMxUtils.isMxRtgsSend() && "1".contentEquals(sWTSfoutm.getRtgs()) && StringUtils.isNotBlank(sWTSfoutm.getMx())) {
showMsg("MX去電(RTGS)暫停使用。");
return;
}
}
Map<String, Object> map = new HashMap<>();
map.put(Args.SPACE_OWNER, spaceOwner);
map.put(Args.ORG_FUNC, arg.get(Args.ORG_FUNC));
String funcCode = "";
boolean isMx = StringUtils.isNotBlank(sWTSfoutm.getMx());
/*
* (1)在查詢條件1、2、3、7等4種狀態增加【取件】按鈕及連動交易,連動交易規則如下
* QUEUE Status: Alter QUEUE,MT電文連動到H3100 ;
* QUEUE Status: Verify QUEUE, MT電文連動到H1900 ;
* QUEUE Status: Release QUEUE, MT電文連動到H1800。
* QUEUE Status: NAK QUEUE, MT電文連動到H3200。
* */
if("01".equals(sWTSfoutm.getStatus())) {
funcCode = (isMx ? "HX" : "H") + "3100";
} else if("02".equals(sWTSfoutm.getStatus())) {
funcCode = (isMx ? "HX" : "H") + "1900";
} else if("04".equals(sWTSfoutm.getStatus())) {
funcCode = (isMx ? "HX" : "H") + "1800";
} else if("03".equals(sWTSfoutm.getStatus())) {
funcCode = (isMx ? "HX" : "H") + "3200";
}
FunctionInfo functionInfo = getFunctionInfo().get(funcCode);
if(functionInfo == null) {
ElkLog.info(logger, this.getTeller(), "@@@ H0051取件去電狀態為 " + sWTSfoutm.getStatus() + ", 無對應的交易功能");
return;
}
map.put(Args.WINDOW_TITLE, functionInfo.getWindowTitle());
map.put(Args.FUNCTION_CODE, functionInfo.getFuncCode());
map.put(Args.FUNCTION_URL, functionInfo.getFuncUrl());
map.put(Args.BUZ_CODE, functionInfo.getBusinessType().getBuzCode());
map.put("h0051PickUp", sWTSfoutm);
MainPortalController mainPortalController = (MainPortalController) desktop.getAttribute(MainPortalController.class.getSimpleName());
if(mainPortalController == null) {
ElkLog.info(logger, this.getTeller(), "@@@ H0051取件失敗, mainPortalController為空 ");
return;
}
String msg = isMx ? String.format("@@@ H0051取件 %s開啟%s-%s-%s-%s-%s去電", funcCode, sWTSfoutm.getBrno(), sWTSfoutm.getMmdd(), sWTSfoutm.getMx(), sWTSfoutm.getMt(), sWTSfoutm.getSrno())
: String.format("@@@ H0051取件 %s開啟%s-%s-%s-%s去電", funcCode, sWTSfoutm.getBrno(), sWTSfoutm.getMmdd(), sWTSfoutm.getMt(), sWTSfoutm.getSrno());
ElkLog.info(logger, this.getTeller(), msg);
mainPortalController.openNewFunction(map);
}
/**
* #13671
* 調整增加取件按鍵後欄位寬度
* */
public void adjustColumnWidth() {
if(StringUtil.in(queue.getSelectedKey(), "1", "2", "3", "7")) {
List<Column> columns = resultGrid.getColumns().getChildren().stream()
.filter(Column.class::isInstance)
.map(Column.class::cast)
.collect(Collectors.toList());
if(columns.size() == 10) {
columns.get(2).setWidth("10%");
columns.get(4).setWidth("7%");
columns.get(5).setWidth("7%");
columns.get(6).setWidth("8%");
columns.get(7).setWidth("9%");
resultCount.setColspan(11);
Column column = new Column();
column.setAlign("center");
column.setWidth("5%");
// 取件按鍵插入第一欄
resultGrid.getColumns().insertBefore(column, resultGrid.getColumns().getChildren().get(0));
}
}
}
/**
* Copy queue 查詢結果頁面刪除單筆勾選
* @param fe
*/
public void onCheckSfcpym(ForwardEvent fe) {
this.clearMessage();
H0051 h0051 = Optional.ofNullable(fe.getOrigin())
.map(Event::getTarget)
.map(Component::getParent)
.filter(Row.class::isInstance).map(Row.class::cast)
.map(Row::getValue)
.filter(H0051.class::isInstance).map(H0051.class::cast)
.orElse(null);
if(h0051 != null) {
boolean isChecked = Optional.ofNullable(fe.getOrigin())
.filter(CheckEvent.class::isInstance).map(CheckEvent.class::cast)
.map(CheckEvent::isChecked)
.orElse(false);
h0051.setChecked(isChecked);
if (isChecked) {
if (!selectedSfcpymSeqs.contains(h0051.getSwtSfcpymSeq())) {
addToSelections(h0051);
}
if (!selectPageCheckbox2.isChecked()) {
boolean isAllChecked = Optional.ofNullable(cpyList)
.filter(list -> !list.isEmpty())
.map(list -> list.stream().allMatch(H0051::isChecked))
.orElse(false);
if (isAllChecked) {
selectPageCheckbox2.setChecked(true);
}
}
} else {
if (selectedSfcpymSeqs.contains(h0051.getSwtSfcpymSeq())) {
removeFromSelections(h0051);
}
if (selectPageCheckbox2.isChecked()) {
selectPageCheckbox2.setChecked(false);
}
}
selectPageCheckbox2.invalidate();
setSendOrBackBTNFocus();
}
}
public String renderedReckey(String mx, String reckey) {
List<String> list = new ArrayList<>();
String renderedReckey = "";
if (StringUtils.isNotBlank(mx)) {
list.add(String.format("%s-%s", StringUtils.defaultString(mx), StringUtils.substring(StringUtils.defaultString(reckey), 0, 3)));
} else {
list.add(StringUtils.substring(StringUtils.defaultString(reckey), 0, 3));
}
list.add(StringUtils.substring(StringUtils.defaultString(reckey), 3));
return String.join(" ", list);
}
private void addToSelections(H0051 h0051) {
selectedSfcpymSeqs.add(h0051.getSwtSfcpymSeq());
selectedSfcpymReckeys.add(renderedReckey(h0051.getMx(), h0051.getReckey()));
}
private void removeFromSelections(H0051 h0051) {
selectedSfcpymSeqs.remove(h0051.getSwtSfcpymSeq());
selectedSfcpymReckeys.remove(renderedReckey(h0051.getMx(), h0051.getReckey()));
}
/**
* Copy Queue 查詢結果點擊換頁
* @return
*/
private EventListener<PagingEvent> createPaging2Listener() {
return pagingEvent -> {
this.clearMessage();
totalSize2 = 0;
selectPageCheckbox2.setChecked(false);
if(swtsfcpym != null){
PageInfoH0051 pageInfoH0051 = iWSSwtEnquiryService.getSWTSfcpymsByH0051WithMyBatis(pagingEvent.getActivePage() + 1, resultGrid2.getPageSize(), swtsfcpym);
cpyList = pageInfoH0051.getList();
for(H0051 h0051 : cpyList){
if (selectedSfcpymSeqs.contains(h0051.getSwtSfcpymSeq())) {
h0051.setChecked(true);
}
}
boolean isAllChecked = Optional.ofNullable(cpyList)
.filter(list -> !list.isEmpty())
.map(list -> list.stream().allMatch(H0051::isChecked))
.orElse(false);
if (isAllChecked) {
selectPageCheckbox2.setChecked(true);
}
selectPageCheckbox2.invalidate();
setGrid2AndPaging2(pageInfoH0051.getPageNum()>0 ? pageInfoH0051.getPageNum()-1 : 0, pageInfoH0051.getTotal());
setSendOrBackBTNFocus();
}
};
}
/**
* Copy Queue 查詢結果點擊刪除本頁Checkbox
* @return
*/
private EventListener<CheckEvent> createSelectPageCheckbox2Listener() {
return checkEvent -> {
this.clearMessage();
for (H0051 h0051 : cpyList) {
if (h0051 == null) {
continue;
}
boolean isChecked = checkEvent.isChecked();
if (isChecked) {
if (!h0051.isChecked() && !selectedSfcpymSeqs.contains(h0051.getSwtSfcpymSeq())) {
addToSelections(h0051);
}
} else {
if (h0051.isChecked() && selectedSfcpymSeqs.contains(h0051.getSwtSfcpymSeq())) {
removeFromSelections(h0051);
}
}
h0051.setChecked(isChecked);
}
resultGrid2.setModel(new ListModelList<>(cpyList));
setSendOrBackBTNFocus();
};
}
/**
* Copy Queue 查詢結果點擊預覽
* @param fe
*/
public void onPreviewMsg(ForwardEvent fe) {
String previewMsg = Optional.ofNullable(fe.getOrigin())
.map(Event::getTarget)
.map(Component::getParent)
.filter(Row.class::isInstance).map(Row.class::cast)
.map(Row::getValue)
.filter(H0051.class::isInstance).map(H0051.class::cast)
.map(e -> {
try {
SWTSfcpym sWTSfcpym = new SWTSfcpym();
sWTSfcpym.setSwtSfcpymSeq(e.getSwtSfcpymSeq());
List<SWTSfcpym> swtSfcpyms = iWSSwtEnquiryService.getSWTSfcpyms(sWTSfcpym);
if (swtSfcpyms == null || swtSfcpyms.isEmpty()) {
return null;
}
sWTSfcpym = swtSfcpyms.get(0);
if (StringUtils.isBlank(sWTSfcpym.getMx())) {
return sWTSfcpym.getData();
} else {
return Optional.ofNullable(sWTSfcpym.getData())
.map(MxMessage::fromJson)
.map(MxMessage::toPreviewMsg)
.orElse(null);
}
} catch (Exception ex) {
return null;
}
})
.orElse(null);
if (StringUtils.isBlank(previewMsg)) {
this.showMsg("此電文資料異常");
return;
}
Map<String, Object> map = new HashMap<>();
map.put("swiftData", previewMsg);
Window win = (Window) Executions.createComponents(PreviewFullNameController.URL, null, map);
win.doModal();
setSendOrBackBTNFocus();
}
/**
* Copy Queue 查詢結果點擊取件
* @param fe
* @throws Exception
*/
public void onPickUpCopyQueue(ForwardEvent fe) throws Exception {
H0051 h0051 = Optional.ofNullable(fe.getOrigin())
.map(Event::getTarget)
.map(Component::getParent)
.filter(Row.class::isInstance).map(Row.class::cast)
.map(Row::getValue)
.filter(H0051.class::isInstance).map(H0051.class::cast)
.orElse(null);
if(h0051 == null) {
showMsg("此電文資料異常");
return;
}
Map<String, Object> map = new HashMap<>();
map.put(Args.SPACE_OWNER, spaceOwner);
map.put(Args.ORG_FUNC, arg.get(Args.ORG_FUNC));
String funcCode = (StringUtils.isNotBlank(h0051.getMx()) ? "HX" : "H") + "3300";
FunctionInfo functionInfo = getFunctionInfo().get(funcCode);
if(functionInfo == null) {
showMsg("FunctionInfo 異常");
return;
}
map.put(Args.WINDOW_TITLE, functionInfo.getWindowTitle());
map.put(Args.FUNCTION_CODE, functionInfo.getFuncCode());
map.put(Args.FUNCTION_URL, functionInfo.getFuncUrl());
map.put(Args.BUZ_CODE, functionInfo.getBusinessType().getBuzCode());
map.put("h0051PickUp", h0051);
MainPortalController mainPortalController = (MainPortalController) desktop.getAttribute(MainPortalController.class.getSimpleName());
if(mainPortalController == null) {
showMsg("MainPortalController 為空");
return;
}
mainPortalController.openNewFunction(map);
}
/**
* Copy Queue 查詢結果刪除勾選後送出
* @throws Exception
*/
public void doSave() throws Exception {
Clients.clearBusy();
StringBuilder sb = new StringBuilder();
sb.append("請確認是否刪除 ").append(selectedSfcpymSeqs.size()).append(" 筆");
// .append(System.lineSeparator());
// int count = 0;
// for (String reckey : selectedSfcpymReckeys) {
// if (count >= 50) {
// sb.append(" ...");
// break;
// }
// sb.append(System.lineSeparator()).append(reckey);
// count++;
// }
int confirmNum = Messagebox.show(sb.toString(), "警示訊息", Messagebox.YES | Messagebox.NO, Messagebox.QUESTION);
if(confirmNum == Messagebox.YES) {
try {
int deleteCount = iWSSwtBusinessService.deleteBatchSWTSfcpym(selectedSfcpymSeqs);
showMsg("刪除成功");
} catch (Exception e) {
showMsg("刪除失敗, error: " + e.getMessage());
return;
}
selectedSfcpymSeqs.clear();
selectedSfcpymReckeys.clear();
selectPageCheckbox2.setChecked(false);
selectPageCheckbox2.invalidate();
sendBTN.setDisabled(true);
backBTN.focus();
// 處理交易日誌
ActionInfo actionInfo = this.getActionInfoForQuery();
Integer kinbr = actionInfo.getBranchCode() != null ? Integer.valueOf(actionInfo.getBranchCode()) : null;
Integer trmseq = actionInfo.getTerminalCode() != null ? Integer.valueOf(actionInfo.getTerminalCode()) : null;
String txtno = iWSBaseMiddleService.getTxtnoSeq(actionInfo, kinbr, trmseq);
this.SendTxnLog(txtno, null, null, null, null, JournalInfo.TXN_STATUS_SUCCESS1, null, ecFlag, desktop, spaceOwner);
PageInfoH0051 pageInfoH0051 = iWSSwtEnquiryService.getSWTSfcpymsByH0051WithMyBatis(paging2.getActivePage() + 1, resultGrid2.getPageSize(), swtsfcpym);
cpyList = pageInfoH0051.getList();
setGrid2AndPaging2(pageInfoH0051.getPageNum() > 0 ? pageInfoH0051.getPageNum()-1 : 0, pageInfoH0051.getTotal());
}
}
public void setGrid2AndPaging2(int activePage, long total) {
resultGrid2.setModel(new ListModelList<H0051>(cpyList));
resultGrid2.setRowRenderer(new H0051Renderer());
totalSize2 = Long.hashCode(total);
resultCount2.setLabel(CommonConstant.GRID_COUNT + totalSize2 + CommonConstant.GRID_COUNT_UINT);
paging2.setVisible(true);
paging2.setTotalSize(totalSize2);
paging2.setActivePage(activePage);
}
public void setSendOrBackBTNFocus() {
boolean isNoneChecked = CollectionUtils.isEmpty(selectedSfcpymSeqs);
sendBTN.setDisabled(isNoneChecked);
if (isNoneChecked) {
backBTN.focus();
} else {
sendBTN.focus();
}
}
}