//排序(1)=进入页面,排序(2)=初始化 远程框,排序(3)=准备调用后台方法, //排序(4)=调用后台方法,排序(5)=执行后台方法,获取客户对象,反馈客户编码, //排序(6)=后台方法处理完毕,如果正确进入此方法,并将后台数据保存在custorCode字段, //排序(7)=根据6发送的消息判断是否相等,相等对customerLabelTextUI控件赋值 //MaintainFirstPackageCheckPage.java public class MaintainFirstPackageCheckPage extends BaseCustomMaintainTemplate implements IsSerializable{ //包装数量采集面板 private transient ScaningPanel scaningPanel; //排序(1) public void draw(com.gwtext.client.widgets.Panel content) { scaningPanel = new ScaningPanel(this, "ScaningPanel"); container.add(scaningPanel, new RowLayoutData("8%")); } //排序(7) public void doDispath(String message){ if (message.equals("MSG_CUSTOR_CODE")) { scaningPanel.customerLabelTextUI.setValue (PackagingDataAccessor.custorCode); } } } //ScaningPanel.java public class ScaningPanel extends AbstractSupportPanel{ //客户编码 private transient TextUI customerLabelTextUI; //远程框 private transient CustomRemoteUI customerLabelRemoteUI;//yc min //排序(2) protected void draw() { String pageName = "MaintainFirstPackageCheckPage."; String custerHql = "SELECT company.id,company.code,company.name"+ " FROM WmsOrganization company"+ " WHERE company.status = 'ENABLED'"+ " AND company.beCustomer = true" + " AND company.subjectionWarehouse =#{SESSION_WAREHOUSE}"+ " AND (company.code LIKE :param OR company.name LIKE :param)"; customerLabelRemoteUI = com.vtradex.wms.client.ui.UIFactory. createStandardRemoteUI(pageName + "customerLabelRemoteUI", custerHql, false, true, 1, 180, 3, "序号,编码,名称"); customerLabelRemoteUI.setRemoteUIConfig(com.vtradex.wms.client.ui. UIFactory.createRemoteUIConfig( com.vtradex.wms.client.ui.UIFactory. createTextUIConfig(pageName + "customerLabelRemoteUI"))); customerLabelRemoteUI.setRow(1); customerLabelRemoteUI.setColumn(4); customerLabelRemoteUI.addToTable(formTable); customerLabelRemoteUI.setFocusUI(Boolean.TRUE); TextBox tb = customerLabelRemoteUI.getTextBox(); tb.addKeyboardListener(new KeyboardListener() {//增加监听 public void onKeyDown(Widget sender, char keyCode, int modifiers) { } public void onKeyPress(Widget sender, char keyCode, int modifiers) { initInfo(customerLabelRemoteUI.getValue()); if(StringUtils.isEmpty((String)customerLabelTextUI.getValue())){ showMessage("客户编码不能为空", Boolean.FALSE); }else{ getCheckInfoByItemAndCustomer(); } } public void onKeyUp(Widget sender, char keyCode, int modifiers) { initInfo(customerLabelRemoteUI.getValue()); } }); customerLabelTextUI = UIFactory.createTextUI("客户编码", true, true, 1,180); customerLabelTextUI.setRow(1); customerLabelTextUI.setColumn(5); customerLabelTextUI.addToTable(formTable); customerLabelTextUI.setVisible(Boolean.FALSE); ((TextBox)customerLabelTextUI.getInputWidget()). addKeyboardListener(new KeyboardListener() { public void onKeyUp(Widget sender, char keyCode, int modifiers) { if(KeyboardListener.KEY_ENTER == keyCode){ if(StringUtils.isEmpty((String)customerLabelTextUI.getValue())){ showMessage("客户编码不能为空", Boolean.FALSE); }else{ getCheckInfoByItemAndCustomer(); } } } public void onKeyPress(Widget sender, char keyCode, int modifiers) { } public void onKeyDown(Widget sender, char keyCode, int modifiers) { } }); } /** * 获取作业指导和高关注 */ public void getCheckInfoByItemAndCustomer(){ Map parameterMap = new HashMap(); parameterMap.put(PackagingConstants.KEY_ITEM_LABEL, itemLabelTextUI.getValue().toString().trim().toUpperCase()); parameterMap.put(PackagingConstants.KEY_CUSTOMER_LABEL, customerLabelTextUI.getValue().toString().trim().toUpperCase()); MaintainFirstPackageCheckPage.this.getData(). getCheckInfoByItemAndCustomer(parameterMap); } //排序(3) public void initInfo(Object object){ if(object != null){ if(isNUllOREmpty(object.toString())){ return; } } Map<String, String> map = new HashMap<String, String>(); map.put("custorId",object.toString()); MaintainFirstPackageCheckPage.this.getData().getCustorCode(map); } private boolean isNUllOREmpty(String str){ if(str==null || str.equals("")){ return true; } return false; } public PackagingDataAccessor getData() { return (PackagingDataAccessor)super.getData(); } } //PackagingDataAccessor.java public class PackagingDataAccessor extends BaseCustomMaintainTemplate implements IsSerializable{ public static String custorCode; //排序(4) /**获取客户code yc min*/ public void getCustorCode(Map params){ //String message,String managerName,String methodName,Map params this.remoteCall("MSG_CUSTOR_CODE", "pcFirstPackageManager", "getCustorCode", params); } //排序(6)PackagingDataAccessor public void onSuccess(String message, Map result) { if(message.equals("MSG_CUSTOR_CODE")){ custorCode = (String) result.get("custorCode"); this.sendMessage("MSG_CUSTOR_CODE"); } } } //排序(5) //pcFirstPackageManager public class DefaultPCFirstPackageManager extends DefaultBaseManager implements PCFirstPackageManager { public Map getCustorCode(Map params){ Map<String,String> result = new HashMap<String, String>(); if(params.get("custorId")==null){ return null; } try { Long custorId = Long.parseLong((String)params.get("custorId")); WmsOrganization company = commonDao.load (WmsOrganization.class, custorId); if(company==null){ return null; } result.put("custorCode", company.getCode()); } catch (Exception e) { return null; } return result; } }