金蝶EAS,列表界面实现启用、禁用等数据状态相关操作

xiaoxiao2021-02-27  259

业务场景:类似于启用、禁用相关操作,只是改变数据状态,无其他复杂的业务逻辑。

以下代码示例展示了如何在列表界面ListUI实现启用、禁用操作。复杂的业务逻辑,建议再后台实现。

/** * 启用 */ @SuppressWarnings("unchecked") @Override public void actionCancelCancel_actionPerformed(ActionEvent e) throws Exception { List ids = getSelectedIdValues(); if(ids == null || ids.isEmpty()){ MsgBox.showInfo("请选择要操作的数据。"); abort(); } int success = 0; //记录操作成功记录 IAccountMapping iAccountMapping = AccountMappingFactory.getRemoteInstance(); for(Object id : ids){ IObjectPK pk = new ObjectStringPK(id.toString()); AccountMappingInfo accountMap = iAccountMapping.getAccountMappingInfo(pk); //映射数据 if(accountMap.getDataState().equals(DataStateEnum.FORBIDDEN)){ accountMap.setDataState(DataStateEnum.USING); //启用 iAccountMapping.update(pk, accountMap); success++; } } String msg = "本次操作成功" + success + "条,失败" + (ids.size() - success) + "条。"; String info = "启用操作时,要求所选择记录的数据状态为禁用。本次操作所选取的数据中包含" + (ids.size() - success) + "条已启用的数据。"; MsgBox.showDetailAndOK(this, msg, info, 1); refreshList(); //刷新 } /** * 禁用 */ @SuppressWarnings("unchecked") @Override public void actionCancel_actionPerformed(ActionEvent e) throws Exception { List ids = getSelectedIdValues(); if(ids == null || ids.isEmpty()){ MsgBox.showInfo("请选择要操作的数据。"); abort(); } int success = 0; //记录操作成功记录 IAccountMapping iAccountMapping = AccountMappingFactory.getRemoteInstance(); for(Object id : ids){ IObjectPK pk = new ObjectStringPK(id.toString()); AccountMappingInfo accountMap = iAccountMapping.getAccountMappingInfo(pk); //映射数据 if(accountMap.getDataState().equals(DataStateEnum.USING)){ accountMap.setDataState(DataStateEnum.FORBIDDEN); //禁用 iAccountMapping.update(pk, accountMap); success++; } } String msg = "本次操作成功" + success + "条,失败" + (ids.size() - success) + "条。"; String info = "禁用操作时,要求所选择记录的数据状态为启用。本次操作所选取的数据中包含" + (ids.size() - success) + "条已禁用的数据。"; MsgBox.showDetailAndOK(this, msg, info, 1); refreshList(); //刷新 }

转载请注明原文地址: https://www.6miu.com/read-12636.html

最新回复(0)