EAS客户端editUi常用代码
SQLExecutorFactory.getRemoteInstance("/*dialect*/ ".intern() + sql.toString()).executeSQL(); //只查询不执行,返回的是结果集。 DbUtil.execute(ctx, sql1); // 执行sql; this.uiWindow.close(); // 关闭界面 actionExitCurrent_actionPerformed(e); // 关闭界面.(调用右上角X按钮事件) Distinct sql查询时去重复 /*dialect*/ sql方言 fauditTime={ts'"+date+"'}" // BOS KSQL日期格式 pkDateTo.setDatePattern("yyyy-MM-dd 23:59:59"); this.setUITitle("投保单"); //设置界面标题(list、edit) kdtEntrys_detailPanel.setTitle("费用明细"); // 设置分录标题 btnCreateICBill.setText("生成索赔单"); //设置按钮名字 if(getOprtState().equals("VIEW") && UIRuleUtil.isNotNull(getUIContext().get("this"))){ oEdit = (OutInsuranceManageEditUI)getUIContext().get("this"); } this.setPreferredSize(new Dimension(1000,600)); //界面打开的大小 chkMenuItemSubmitAndAddNew.setSelected(false); //设置提交后是否清空界面 ctx.put("CHECK_DATAPERMISSION", false);//不检查权限 BOSObjectType bosType = BOSUuid.read(sourceId).getType(); kdtEntrys_detailPanel.getAddNewLineButton().setVisible(false); //设置分录按钮隐藏 MetaDataLoaderFactory.getRemoteMetaDataLoader().getEntity(info.getId().getType()).getTable(); //通过实体获取表名 String tableName = FMIsqlFacadeFactory.getLocalInstance(ctx).getTableNameByBosType(bosType); //通过BOSType获取表名 kdtable.getRow(i).setChange(true); //table空白行也保存 OrgSwitchFacadeFactory.getLocalInstance(ctx).orgSwitch(company.getId().toString()); //组织切换(app下代码处理) this.kDTabbedPane1.setSelectedIndex(0); //指定显示第一个页签 this.prmtCompany.setEnabledMultiSelection(true); //设置F7多选 prmtsupplier.setQueryInfo("com.kingdee.eas.rj.customersrv.basedata.app.SupplierNewQuery"); 设置供应商格式 RjUtils.setSupplierNewF7(prmtsupplier); UserInfo userInfo = SysContext.getSysContext().getCurrentUserInfo(); // 客户端获取当前登录人 UserInfo userInfo = ContextUtil.getCurrentUserInfo(ctx); //服务端获取当前登录人 pluginCtx.getKDComboBox("").setSelectedIndex(1); //DEP枚举默认值的设置 this.kdtEntrys.removeKDTMouseListener(this.kdtEntrys.getSortMange());//屏蔽分录双击排序功能 所有列 tblMain.getColumn(i).setSortable(false); //屏蔽分录双击排序功能 单个 KDTableHelper.autoFitColumnWidth(tblMain, i); //列宽度自适应 txtNumber.requestFocusInWindow(); //获取鼠标焦点
//获取编码规则 ICodingRuleManager ICodingRuleManager = CodingRuleManagerFactory.getLocalInstance(ctx); String[] DLNumber= ICodingRuleManager.getBatchNumber(new DeviceLedgerInfo(), ContextUtil.getCurrentOrgUnit(ctx).getId().toString(), proInfo.getEntrys().size()); BosUtils.getTableName(ctx, billId) //根据id获取表名 String requestUrl = UIRuleUtil.getString(ParamManager.getParamValue(ctx,new ObjectUuidPK("00000000-0000-0000-0000-000000000000CCE7AED4"), "requestUrl"));//获取系统参数参数 系统化菜单表:t_bas_sysmenuitem 客户化菜单表:t_pm_mainmenuitem 扩展报表存储表:T_BAS_definereport
//分录汇总显示 @Override
protected void setTableToSumField() {
super.setTableToSumField(kdtProduction, new String[] {
"originaValue@#,###.00", "netValue@#,###.00", "tolMonthDepreciable@#,###.00", "monthDepreciable@#,###.00" });
} //合并这两个EntityViewInfo EntityViewInfo view1 = new EntityViewInfo(); EntityViewInfo view2 = new EntityViewInfo(); view1.getFilter().mergeFilter(view2.getFilter(), "and"); //服务端获取当前登陆语言: String nameFld = "FName_" + ctx.getLocale().getLanguage() + " "; //服务端获取获取数据库链接: Connection con = EJBFactory.getConnection(ctx); Statement stmt = con.createStatement();
1. 分录汇总F7过滤
final KDBizPromptBox kdtPaymentObject_supplier_PromptBox = new KDBizPromptBox(); kdtPaymentObject_supplier_PromptBox.setQueryInfo("com.kingdee.eas.rj.customersrv.basedata.app.SupplierNewQuery"); kdtPaymentObject_supplier_PromptBox.setVisible(true); kdtPaymentObject_supplier_PromptBox.setEditable(true); String suppIDS = ""; for (int i = 0; i < kdtPaymentObject.getRowCount(); i++) { IRow row = kdtPaymentObject.getRow(i); SupplierInfo suppInfo = (SupplierInfo) row.getCell("supplier").getValue(); if (UIRuleUtil.isNotNull(suppInfo)) { suppIDS += suppInfo.getId().toString() + ","; } } if (UIRuleUtil.isNotNull(suppIDS)) { suppIDS = suppIDS.substring(0, suppIDS.length() - 1); } EntityViewInfo ev = new EntityViewInfo(); FilterInfo filter = new FilterInfo(); filter.getFilterItems().add(new FilterItemInfo("id", suppIDS, CompareType.NOTINCLUDE)); ev.setFilter(filter); kdtPaymentObject_supplier_PromptBox.setEntityViewInfo(ev); kdtPaymentObject_supplier_PromptBox.setDisplayFormat("$number$"); kdtPaymentObject_supplier_PromptBox.setEditFormat("$number$"); kdtPaymentObject_supplier_PromptBox.setCommitFormat("$number$"); KDTDefaultCellEditor kdtPaymentObject_supplier_CellEditor = new KDTDefaultCellEditor(kdtPaymentObject_supplier_PromptBox); this.kdtPaymentObject.getColumn("supplier").setEditor(kdtPaymentObject_supplier_CellEditor); ObjectValueRender kdtPaymentObject_supplier_OVR = new ObjectValueRender(); kdtPaymentObject_supplier_OVR.setFormat(new BizDataFormat("$name$"));
2.分录中一项变化带出另一项
@Override protected void kdtEntrys_editStopped(KDTEditEvent e) throws Exception { super.kdtEntrys_editStopped(e); int rowIndex = kdtEntrys.getSelectManager().getActiveRowIndex(); if(e.getColIndex()==kdtEntrys.getColumnIndex("expenseItem")){ ExpenseItemDataInfo itemInfo = (ExpenseItemDataInfo) kdtEntrys.getCell(rowIndex,"expenseItem").getValue(); kdtEntrys.getCell(rowIndex,"expenseType").setValue(com.kingdee.bos.ui.face.UIRuleUtil.getString(com.kingdee.bos.ui.face.UIRuleUtil.getProperty((com.kingdee.bos.dao.IObjectValue)kdtEntrys.getCell(rowIndex,"expenseItem").getValue(),"treeid.name"))); //ExpenseItemDataTreeInfo treeInfo = ExpenseItemDataTreeFactory.getRemoteInstance().getExpenseItemDataTreeInfo("where id='"+itemInfo.getTreeid().getId().toString()+"'"); //kdtEntrys.getCell(rowIndex,"expenseType").setValue(treeInfo.getName());}} } }
3.分按钮监听
kdtPaymentObject_detailPanel.addRemoveListener(new IDetailPanelListener() { public void afterEvent(DetailPanelEvent paramDetailPanelEvent) throws Exception { claimantTotal(); } public void beforeEvent(DetailPanelEvent paramDetailPanelEvent) throws Exception { } });
4.分录行统计
@Override protected void setTableToSumField() { super.setTableToSumField(); setTableToSumField(kdtEntrys, new String[] { "insuranceAmount", "**" }); }
5.编辑界面刷新数据
public void refreshSelf() { if (STATUS_ADDNEW.equals(this.oprtState)) { return; } try { ObjectUuidPK pk = new ObjectUuidPK(editData.getId()); IObjectValue objValue = getValue(pk); setDataObject(objValue); loadFields(); getUIContext().put(UIContext.ID, pk); getUIContext().put(UIContext.INIT_DATAOBJECT, objValue); } catch (Exception e) { handUIException(e); } }
6.关闭窗口
@Override public boolean destroyWindow() { return super.destroyWindow(); }
7.分录上添加按钮
// 调用方法 public void onLoad() throws Exception { super.onLoad(); addButtonToHMDEntry(getDetailTable(), btnAudit); } /** * 在KDTable添加button * @param table * @param button */ public static void addButtonToHMDEntry(KDTable table, KDWorkButton button) { if (table.getParent() == null || table.getParent().getParent() == null) return; // 隐藏按钮 Component c = table.getParent().getParent(); if (c instanceof DetailPanel) { JPanel panel = (JPanel) c; JPanel controlPanel = null; // 获取controlPanel Component[] components = panel.getComponents(); for (int i = 0; i < components.length; i++) { Component component = components[i]; if ("controlPanel".equals(component.getName())) { controlPanel = (KDPanel) component; } } // 添加btn if (controlPanel != null) { controlPanel.add(button, new com.kingdee.bos.ctrl.swing.KDLayout.Constraints(table.getWidth() - 140, 5, button.getWidth(), 19, 9)); // 9=1+8上右固定,左边缩放 } } }
8.关闭eas页面时校验是否修改的提示
@Override public boolean checkBeforeWindowClosing() { return true; }
9.获取EAS产品网络网络互斥锁
public void test(Context ctx) { IMutexServiceControl mutexServiceControlDao = MutexServiceControlFactory.getLocalInstance(ctx); boolean request = mutexServiceControlDao.requestObjIDForUpdate(saleOrderId); // EAS产品互斥锁 if (!request) { throw new ZBException(ZBException.CUSTOM, new Object[] { "数据占用中不允许操作!" }); } }
private void writeBackSaleBill(Context ctx, String saleBillId, Timestamp timestamp, VerifyCapitalEnum verifyCapitalEnum, String companyId) throws BOSException, EASBizException { Connection con = null; Statement stm = null; BOSUuid uuid = BOSUuid.read(saleBillId); BOSObjectType objectType = uuid.getType(); StringBuffer updSql = new StringBuffer(); try { con = this.getConnection(ctx); stm = con.createStatement(); EntityObjectInfo entity = MetaDataLoaderFactory.getMetaDataLoader(ctx).getEntity(objectType); String tableName = entity.getTable().getName(); updSql.append(" /*dialect*/ "); updSql.append(" UPDATE " + tableName + " SET "); updSql.append(" FCompanyOrgUnitID = '" + companyId + "', "); updSql.append(" FVerifyCapital = " + verifyCapitalEnum.getValue() + ", "); updSql.append(" FLastUpdateTime = SYSDATE "); updSql.append(" WHERE FID ='" + saleBillId + "' "); updSql.append(" AND FLastUpdateTime = TO_TIMESTAMP('" + timestamp + "', 'yyyy-mm-dd hh24:mi:ss.ff6')"); int result = stm.executeUpdate(updSql.toString()); if (result != 1) { throw new ZBException(ZBException.CUSTOM, new Object[] { "更新数据异常,数据已经发生修改!!" }); } } catch (SQLException exc) { logger.error(exc); exc.printStackTrace(); throw new ZBException(ZBException.CUSTOM, new Object[] { exc.getMessage() }); } finally { SQLUtils.cleanup(stm, con); } }
10.根据单据id找到单据的相关信息(实体,表,ui等)
private void writeBackSaleBill(Context ctx, String billid) throws BOSException, EASBizException { BOSUuid id = BOSUuid.read(billId); BOSObjectType type = id.getType(); IMetaDataLoader loader = MetaDataLoaderFactory.getRemoteMetaDataLoader(); EntityObjectInfo vo = loader.getEntity(type); String editUi = vo.getExtendedProperty("editUI"); }
linux下的docker操作命令及异常
标签:
EAS
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)