NC65 设置下拉列表框值

NC65 设置下拉列表框值,如人员任职信息的异动事件:

// 只有在入职登记时,才为异动事件下拉框过滤掉【离职】和【离职后变动】两个item
DefaultConstEnum[] enumItems = initTransevent();
BillItem item = getBillCardPanel().getHeadItem(PsnJobVO.getDefaultTableName() + "_" + PsnJobVO.TRNSEVENT);
UIComboBox combobox = (UIComboBox) item.getComponent();
combobox.removeAllItems();
combobox.addItems(enumItems);/*** 为异动事件下拉框过滤掉【离职】和【离职后变动】两个item* * @return*/
private DefaultConstEnum[] initTransevent() {List<DefaultConstEnum> items = new ArrayList<DefaultConstEnum>();// 加载元数据中定义的“异动事件”枚举,初始化下拉列表框组件try {IComponent ibean = MDBaseQueryFacade.getInstance().getComponentByID("f57904bd-0037-4cea-842d-f33708084ab8");List<IEnumType> enums = ibean.getEnums();// 在返回的所有的枚举组件中查找指定名称的枚举IConstEnum[] agreementTypeEnum = null;for (IEnumType iet : enums) {if ("trnsevent".equals(iet.getName())) {agreementTypeEnum = iet.getConstEnums();break;}}// 根据枚举值,构造下拉列表框的值域对象items = new ArrayList<DefaultConstEnum>();for (IConstEnum pte : agreementTypeEnum) {if ((Integer) pte.getValue() == 4/* 离职 */ || (Integer) pte.getValue() == 5/* 离职后变动 */) {continue;}items.add(new DefaultConstEnum(pte.getValue(), pte.getName()));}} catch (Throwable t) {Logger.error("[异动事件]枚举加载失败,可能是指定的元数据不存在,或注入的枚举名称错误。");}return items.toArray(new DefaultConstEnum[items.size()]);
}
private UIComboBox transMode;private UIRefPane transType;private TrnsTypeRefModel refModel;private AbstractTrnPFAppModel model;public AbstractTrnPFAppModel getModel() {return model;
}private TrnsTypeRefModel getRefModel() {if (refModel == null) {// 设置参照模型的“异动事件类型”。// 当单据类型为调配时,异动事件类型为3;单据类型为离职时,异动事件类型为4;int trnsEvent = TRNConst.TRNSEVENT_TRANS;if (TRNConst.BUSITYPE_DIMISSION.equalsIgnoreCase(getModel().getBillType())) {trnsEvent = TRNConst.TRNSEVENT_DIMIS;}refModel = new TrnsTypeRefModel(label.getText(), trnsEvent);}return refModel;
}public UIComboBox getTransMode() {if (transMode == null) {transMode = new UIComboBox();transMode.setPreferredSize(new Dimension(150, 18));transMode.setShowMustInputHint(!getModel().isApproveSite());try {// modify at 20120628 改为读元数据枚举的方式IComponent ibean = MDBaseQueryFacade.getInstance().getComponentByID("7b680d68-91e7-4306-a6af-565beccbca24");List<IEnumType> enums = ibean.getEnums();// 在返回的所有的枚举组件中查找指定名称的枚举IConstEnum[] probationTypeEnum = null;for (IEnumType iet : enums) {if ("stapplymodeenum".equals(iet.getName())) {probationTypeEnum = iet.getConstEnums();break;}}// 根据枚举值,构造下拉列表框的值域对象ArrayList<DefaultConstEnum> items = new ArrayList<DefaultConstEnum>();for (IConstEnum pte : probationTypeEnum) {items.add(new DefaultConstEnum(pte.getValue(), pte.getName()));}transMode.addItems(HRConstEnum.getInstance().getWithEmptyFirst(items.toArray(new DefaultConstEnum[0])));transMode.addItemListener(new ItemListener() {public void itemStateChanged(ItemEvent e) {getModel().setStapply_mode((Integer) getTransMode().getSelectdItemValue());}});transMode.addFocusListener(new FocusListener() {@Overridepublic void focusLost(FocusEvent e) {}@Overridepublic void focusGained(FocusEvent e) {getTransMode().setShowWarning(false);}});if (TRNConst.BUSITYPE_DIMISSION.equalsIgnoreCase(getModel().getBillType())) {transMode.setVisible(false);}} catch (Exception ex) {Logger.error(ex.getMessage(), ex);Logger.error("[试用期类型]枚举加载失败,可能是指定的元数据不存在,或注入的枚举名称错误。");}}return transMode;
}
package nc.ui.hi.ref;import nc.bs.framework.common.NCLocator;
import nc.bs.logging.Logger;
import nc.hr.utils.PubEnv;
import nc.hr.utils.ResHelper;
import nc.itf.hr.frame.IHRDataPermissionPubService;
import nc.ui.bd.ref.AbstractRefModel;
import nc.vo.bd.pub.IPubEnumConst;
import nc.vo.pub.BusinessException;
import nc.vo.util.VisibleUtil;import org.apache.commons.lang.StringUtils;public class TrnsTypeRefModel extends AbstractRefModel {private static final String BEAN_ID = "d615df67-dc6c-4bb0-996b-f83342299fd3";private String title;private int trnsEvent = -1;public TrnsTypeRefModel() {super();init();}public TrnsTypeRefModel(String _title, int trnsEve) {super();this.title = _title;this.trnsEvent = trnsEve;init();}@Overrideprotected String getEnvWherePart() {IHRDataPermissionPubService hrDataPermissionPubService = NCLocator.getInstance().lookup(IHRDataPermissionPubService.class);try {String sqlWhere = hrDataPermissionPubService.getDataRefSQLWherePartByMDOperationCode(PubEnv.getPk_user(), getPk_group(), "60070_trnstype", "default", "hr_trnstype");if (StringUtils.isBlank(sqlWhere)) {return " (" + VisibleUtil.getRefVisibleCondition(getPk_group(), getPk_org(), BEAN_ID) + ")";} else {return " (" + VisibleUtil.getRefVisibleCondition(getPk_group(), getPk_org(), BEAN_ID) + ") and ( trnsevent in (1,2,4,5) or ( trnsevent = 3 and " + sqlWhere + "))";}} catch (BusinessException e) {Logger.error(e.getMessage());}return super.getEnvWherePart();}private void init() {this.setRefNodeName("异动类型"); /*-=notranslate=-*/this.setTableName("hr_trnstype");this.setFieldCode(new String[] { "trnstypecode", "trnstypename" });this.setFieldName(new String[] { ResHelper.getString("6001ref", "06001ref0011")/* @res "类型编码" */, ResHelper.getString("6001ref", "06001ref0012")/* @res "类型名称" */ });// , ResHelper.getString("6001ref", "06001ref0013") /* @res "类型主键" */}this.setPkFieldCode("pk_trnstype");this.setHiddenFieldCode(new String[] { "pk_trnstype" });this.setDefaultFieldCount(2);this.setRefTitle(title);String sql = " 1=1 ";if (!isDisabledDataShow()) {sql += " and enablestate = " + IPubEnumConst.ENABLESTATE_ENABLE;}if (trnsEvent != -1) {sql += " and trnsevent = " + trnsEvent;}setWherePart(sql);}@Overridepublic void setDisabledDataShow(boolean isDisabledDataShow) {super.setDisabledDataShow(isDisabledDataShow);init();}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/873560.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动驾驶三维车道线检测系列—LATR: 3D Lane Detection from Monocular Images with Transformer

文章目录 1. 概述2. 背景介绍3. 方法3.1 整体结构3.2 车道感知查询生成器3.3 动态3D地面位置嵌入3.4 预测头和损失 4. 实验评测4.1 数据集和评估指标4.2 实验设置4.3 主要结果 5. 讨论和总结 1. 概述 3D 车道线检测是自动驾驶中的一个基础但具有挑战性的任务。最近的进展主要依…

POST请求查询参数神奇失效的一次神奇bug之旅

出现场景&#xff1a; 某日我看着GET请求的参数逐渐变多&#xff0c;想个改成POST请求得了&#xff0c;这样body传参美观又方便&#xff0c;于是接口从GET变成了POST&#xff0c;然后查询参数就莫名其妙的就全部失效了&#xff0c;接口也没有报错&#xff0c;就参数失效了&…

vscode搭建PyQt + Quick开发环境

VScode搭建PyQt Quick开发环境 目录 环境准备 &#x1f514;安装必要的Python包 &#x1f514;&#x1f50e; PyQt5和PySide2的区别&#x1f4be; 安装PyQt5&#x1f4be; 安装PySide2 配置VScode &#x1f514;&#x1f4bb; 安装扩展 代码示例 &#x1f514;✔ Python调用Qt…

【Django】django自带后台管理系统样式错乱,uwsgi启动css格式消失的问题

正常情况&#xff1a; ERROR&#xff1a;&#xff08;css、js文件加载失败&#xff09; 问题&#xff1a;CSS加载的样式没有了&#xff0c;原因&#xff1a;使用了django自带的admin&#xff0c;在使用 python manage.py runserver启动 的时候&#xff0c;可以加载到admin的文…

如何学习Spark:糙快猛的大数据之旅

作为一名大数据开发者,我深知学习Spark的重要性。今天,我想和大家分享一下我的Spark学习心得,希望能够帮助到正在学习或准备学习Spark的朋友们。 目录 Spark是什么?学习Spark的"糙快猛"之道1. 不要追求完美,在实践中学习2. 利用大模型作为24小时助教3. 根据自己的节…

golang实现的ab测试http代理工具

压测工具ab不能统计http请求的错误情况&#xff0c;包括http状态码错误和响应正文的错误关键字。 所以加层代理用于统计http错误情况&#xff0c;重在统计错误情况&#xff0c;而不是代理的性能&#xff0c;主要用于功能接口的测试&#xff0c;比如测试一下请求多少次接口会返…

无人机的发展前景大吗?

随着科技的飞速发展&#xff0c;无人机&#xff08;Unmanned Aerial Vehicle, UAV&#xff09;作为一种新兴的航空器&#xff0c;已逐渐从军事领域渗透到民用领域。无人机的应用广泛&#xff0c;包括但不限于航拍、物流配送、环境监测、农业植保、应急救援等多个领域。本文旨在…

pip如何获取项目有关的所有whl文件并批量进行安装

获取项目所需 whl 导出项目的依赖列表&#xff1a; 首先&#xff0c;需要导出项目所需的依赖列表。可以使用 pip 的 freeze 命令来实现这一点。 pip freeze > requirements.txt这会将当前环境中所有已安装的包及其版本信息导出到 requirements.txt 文件中。 下载 .whl 文件…

Chromium CI/CD 之Jenkins实用指南2024-在Windows节点上创建任务(九)

1. 引言 在现代软件开发流程中&#xff0c;持续集成&#xff08;CI&#xff09;和持续交付&#xff08;CD&#xff09;已成为确保代码质量和加速发布周期的关键实践。Jenkins作为一款广泛应用的开源自动化服务器&#xff0c;通过其强大的插件生态系统和灵活的配置选项&#xf…

十七、【机器学习】【非监督学习】- K-均值 (K-Means)

系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…

opencv 使用XML和YAML格式来输入输出文件

源码 链接 link #include <opencv2/core.hpp> #include <iostream> #include <string>using namespace cv; using namespace std;// 帮助信息函数 static void help(char** av) {cout << endl<< av[0] << " shows the usage of the…

Java 新手学习线路,Java 学习路线是怎样的?

学习Java是一条漫长但有趣的道路。作为一门面向对象编程语言&#xff0c;Java不仅在企业级开发中占据重要地位&#xff0c;还在移动开发、大数据、人工智能等领域有着广泛应用。下面&#xff0c;我将从基础到高级&#xff0c;详细介绍Java学习线路图&#xff0c;帮助新手一步步…

静态代理与动态代理的区别与选择

在当今软件开发领域&#xff0c;代理模式作为一种重要的设计模式&#xff0c;广泛应用于增强现有对象功能、控制访问权限以及实现远程调用等场景。本文旨在深入探讨静态代理与动态代理之间的核心区别&#xff0c;帮助开发者理解两者在实现机制、灵活性、性能表现及适用场景上的…

Filebeat k8s 部署(Deployment)采集 PVC 日志发送至 Kafka——日志处理(二)

文章目录 前言Filebeat Configmap 配置Filebeat Deployment验证总结 前言 在上篇文章中总结了 Django 日志控制台输出、文件写入按天拆分文件&#xff0c;自定义 Filter 增加 trace_id 以及过滤——日志处理&#xff08;一)&#xff0c;将日志以 JSON 格式写入日志文件。我们的…

无人机侦察:二维机扫雷达探测设备技术详解

二维机扫雷达探测设备采用机械扫描方式&#xff0c;通过天线在水平方向和垂直方向上的转动&#xff0c;实现对目标空域的全方位扫描。雷达发射机发射电磁波信号&#xff0c;遇到目标后产生反射&#xff0c;反射信号被雷达接收机接收并处理&#xff0c;进而得到目标的位置、速度…

调用第三方接口-RestTemplate

调用方式 POST请求单个新增批量新增 GET请求1.含PathVariable2.查询列表 POST请求 单个新增 例如后端接口接收参数为 User user 使用RestTemplate发送post请求&#xff0c;暂未进行异常处理 //封装body信息 JsonObject jsonObject new JsonObject(); jsonObject.put("…

Webpack基础学习-Day01

Webpack基础学习-Day01 1.1 webpack 是什么 webpack 是一种前端资源构建工具&#xff0c;一个静态模块打包器(module bundler)。 在 webpack 看来, 前端的所有资源文件(js/json/css/img/less/…)都会作为模块处理。 它将根据模块的依赖关系进行静态分析&#xff0c;打包生成…

spring MVC 简单的案例(2)用户登录

一、用户登录 1&#xff09;前端代码 index.html <!doctype html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport"content"widthdevice-width, user-scalableno, initial-scale1.0, maxim…

git commit报错: pre-commit hook failed (add --no-verify to bypass)

原因&#xff1a; 在提交前做代码风格检查&#xff0c;若检查不通过&#xff0c;则提交失败 解决方案&#xff1a;进入项目的.git>hooks目录&#xff0c;找到pre-commit文件&#xff0c;删除即可

solr配置(关联数据库,自动从数据库更新数据到solr)

配置mysql的关联 需要使用mysql作为数据源&#xff0c;我们需要增加对mysql使用的jar包 server/solr-webapp/webapp/WEB-INF/lib/ Data-config.xml Name为对应solr中的Entity Query为第一次查询数据库的数据&#xff0c;格式为sql语句。 数据库自动更新到solr上&#xff1a;de…