当前位置: 首页 > news >正文

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();}}

相关文章:

NC65 设置下拉列表框值

NC65 设置下拉列表框值&#xff0c;如人员任职信息的异动事件&#xff1a; // 只有在入职登记时&#xff0c;才为异动事件下拉框过滤掉【离职】和【离职后变动】两个item DefaultConstEnum[] enumItems initTransevent(); BillItem item getBillCardPanel().getHeadItem(Psn…...

小阿轩yx-高性能内存对象缓存

小阿轩yx-高性能内存对象缓存 案例分析 案例概述 Memcached 是一款开源的高性能分布式内存对象缓存系统用于很多网站提高访问速度&#xff0c;尤其是需要频繁访问数据的大型网站是典型的 C/S 架构&#xff0c;需要构建 Memcached 服务器端与 Memcached API 客户端用 C 语言…...

华中师范大学学报人文社会科学版

一、《华中师范大学学报(人文社会科学版)》是国家教育部主管、华中师范大学主办的人文社会科学综合性学术期刊。本刊用稿以质量为标准,不分内稿外稿。文稿一经发表,即付报酬,不收版面费。 二、根据教育部和新闻出版总署颁发的社会科学学报编排规范,来稿应注意以下各项: 1. 题…...

CI/CD的node.js编译报错npm ERR! network request to https://registry.npmjs.org/

1、背景&#xff1a; 在维护paas云平台过程中&#xff0c;有研发反馈paas云平台上的CI/CD的前端流水线执行异常。 2、问题描述&#xff1a; 流水线执行的是前端编译&#xff0c;使用的是node.js环境。报错内容如下&#xff1a; 2024-07-18T01:23:04.203585287Z npm ERR! code E…...

用ssh tunnel的方式设置 AWS DocumentDB 公网访问

AWS DocumentDB的设定是只允许VPC内进行访问的&#xff0c;同时官方文档给了步骤&#xff0c;通过ssh tunnel的方式&#xff0c;可以从公网&#xff0c;或者从VPC外的网络&#xff0c;对DocumentDB进行访问。 我阅读了AWS官方文档并测试了这个步骤&#xff0c;如下是详细的步骤…...

基于电鸿(电力鸿蒙)的边缘计算网关,支持定制

1 产品信息 边缘计算网关基于平头哥 TH1520 芯片&#xff0c;支持 OpenHarmony 小型系统&#xff0c;是 连接物联网设备和云平台的重要枢纽&#xff0c;可应用于城市基础设施&#xff0c;智能工厂&#xff0c;智能建筑&#xff0c;营业网点&#xff0c;运营 服务中心相关场…...

WPF之URI的使用

pack://application:, pack://application:, 是一个在 WPF (Windows Presentation Foundation) 应用程序中用于指定资源位置的 URI (统一资源标识符) 方案的特定格式。这个格式用于访问嵌入在应用程序程序集&#xff08;assemblies&#xff09;中的资源&#xff0c;如图像、XA…...

Web开发:ASP.NET CORE前后端交互之AJAX(含基础Demo)

目录 一、后端 二、前端 三、代码位置 四、实现效果 五、关键的点 1.后端传输给前端&#xff1a; 2.前端传输给后端 一、后端 using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.AspNetCore.Mvc.Rendering; using WebAppl…...

经典神经网络(14)T5模型原理详解及其微调(文本摘要)

经典神经网络(14)T5模型原理详解及其微调(文本摘要) 2018 年&#xff0c;谷歌发布基于双向 Transformer 的大规模预训练语言模型 BERT&#xff0c;而后一系列基于 BERT 的研究工作如春笋般涌现&#xff0c;预训练模型也成为了业内解决 NLP 问题的标配。 2019年&#xff0c;谷歌…...

C语言结构体字节对齐技术详解

C语言结构体字节对齐技术详解&#xff08;第一部分&#xff09; 在C语言中&#xff0c;结构体字节对齐是一个重要的概念&#xff0c;它涉及到内存中数据的布局和访问效率。字节对齐可以帮助提高程序的性能&#xff0c;减少内存碎片&#xff0c;并确保数据的一致性和正确性。本…...

Linux编辑器——vim的使用

目录 vim的基本概念 命令模式 底行模式 插入模式 注释和取消注释 普通用户进行sudo提权 vim配置问题 vim的基本概念 一般使用的vim有三种模式&#xff1a; 命令模式 底行模式和插入模式&#xff0c;可以进行转换&#xff1b; vim filename 打开vim&#xff0c;进入的…...

Java案例斗地主游戏

目录 一案例要求&#xff1a; 二具体代码&#xff1a; 一案例要求&#xff1a; &#xff08;由于暂时没有学到通信知识&#xff0c;所以只会发牌&#xff0c;不会设计打牌游戏&#xff09; 二具体代码&#xff1a; Ⅰ&#xff1a;主函数 package three;public class test {…...

sqlite|轻量数据库|pgadmin4的sqlite数据库操作--重置密码和账号解锁

前言&#xff1a; pgadmin4的用户密码以及pgadmin4创建的pg数据库的连接信息等等都是存放在sqlite数据库内的&#xff1b;而有的时候&#xff0c;可能会由于自己的问题将pgadmin4的密码忘记&#xff0c;这个时候需要重置pgadmin4的密码&#xff0c;或者是pgadmin4的密码输错多…...

【ARMv8/v9 异常模型入门及渐进 9.1 - FIQ 和 IRQ 打开和关闭】

请阅读【ARMv8/v9 ARM64 System Exception】 文章目录 FIQ/IRQ Enable and Disable汇编指令详解功能解释使用场景和注意事项 FIQ/IRQ Enable and Disable 在ARMv8/v9架构中&#xff0c;可以使用下面汇编指令来打开FIQ和 IRQ,代码如下&#xff1a; asm volatile ("msr da…...

深入探索Flutter中的状态管理:使用Provider库

当涉及Flutter状态管理时,provider是一个强大且灵活的解决方案,它提供了一种简单且高效的方式来管理应用程序状态。本文将详细介绍Flutter中provider插件的使用方法、示例代码、各种使用场景以及注意事项。 1. 引入依赖 首先,需要在项目的pubspec.yaml文件中添加provider依…...

算法工程师第十四天(找树左下角的值 路径总和 从中序与后序遍历序列构造二叉树 )

参考文献 代码随想录 一、找树左下角的值 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1示例 2: 输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7 层次遍历&#…...

memcached 高性能内存对象缓存

memcached 高性能内存对象缓存 memcache是一款开源的高性能分布式内存对象缓存系统&#xff0c;常用于做大型动态web服务器的中间件缓存。 mamcached做web服务的中间缓存示意图 当web服务器接收到请求需要处理动态页面元素时&#xff0c;通常要去数据库调用数据&#xff0c;但…...

C语言 分割链表

题目来源: 代码部分&#xff0c;参考官方题解的写法: // 思路: 就是把原始链表&#xff0c;拆分为2部分&#xff0c;最后再拼接一下。struct ListNode* partition(struct ListNode* head, int x) {struct ListNode* small malloc(sizeof(struct ListNode));struct ListNode*…...

spring ioc的原理

1、控制反转(IOC):对象的创建控制权由程序自身转移到外部&#xff08;容器&#xff09; 2、依赖注入(DI):所谓依赖注入&#xff0c;就是由IOC容器在运行期间&#xff0c;动态地将某种依赖关系注入到对象之中。 Spring 中的 IoC 的实现原理就是工厂模式加反射机制。 参考资料…...

npm安装依赖包报错,npm ERR! code ENOTFOUND

一、报错现象&#xff1a; npm WARN registry Unexpected warning for https://registry.npmjs.org/: Miscellaneous Warning ETIMEDOUT: request to https://registry.npmjs.org/vue failed, reason: connect ETIMEDOUT 104.16.23.35:443 npm WARN registry Using stale data…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求&#xff0c;并检查收到的响应。它以以下模式之一…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...