# windchill955 **Repository Path**: unicoe/windchill955 ## Basic Information - **Project Name**: windchill955 - **Description**: windchill库 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: http://okcode.cn - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 7 - **Created**: 2022-11-14 - **Last Updated**: 2022-11-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # windchill955 ## 介绍 windchill库 目前只有一个类QsHelper。 ## QsHelper 对windchill高级查询的封装,简化了高级查询编写 ### 使用方法 需要注意的是,列名都是直接对应的数据库列名,不是ClassAttribute; #### 实例方法示例 ``` java //下面是查询根据编号、视图名称、查询最新版本零部件 //这里传入主类 QsHelper qs = new QsHelper(WTPart.class); //如果需要查询其他表可以这样写,当然 后面要注意连接条件 //qs.appendClassList(WTPartMaster.class,true); //查询最新版, //注意 第一个是equal,没有and开头,and开头的方法会自动加上AND连接符,or开头的方法自动添加OR连接符 //当然也还有单独的qs.or() qs.and() 方法 qs.equal(WTPart.class, "LATESTITERATIONINFO", 1); //和零件Master关联,这里是andEqual,即会添加AND连接符 qs.andEqual(WTPart.class, "IDA3MASTERREFERENCE", WTPartMaster.class, "IDA2A2"); //和视图关联 qs.andEqual(WTPart.class, "IDA3VIEW", View.class, "IDA2A2"); //编号过滤 qs.andEqual("WTPARTNUMBER", "<零件编号>"); //视图名称过滤 qs.andEqual(View.class, "NAME", "<零件视图>"); //获取检入版本或者检出版本的工作副本 qs.andIn(WTPart.class, "STATECHECKOUTINFO", new String[]{"c/i", "wrk"}); //IBA条件示例,通过子查询实现 qs.andEqualIBA("", ""); //根据创建时间排序 qs.orderBy(WTPart.class, "CREATESTAMPA2", false); //查询结果是单个(或者只想拿到一个)可以这样写 WTPart part = qs.findObject(WTPart.class); //如果查询结果是多个可以这样写 //findLatestList会从查询结果集中过滤得到最新版本 List parts = qs.findLatestList(WTPart.class); //如果查询结果比较复杂,不能满足,可以直接find拿到原生的QueryResult,自行处理 QueryResult qr = qs.find(); //获取sql String sql = qs.toString(); //如果现有方法不能满足,可以获取原生的QuerySpec,按照原生的方式继续添加条件或查询结果 QuerySpec querySpec = qs.getQs(); ``` #### 静态方法示例 ``` //根据零件编号查询一个Master WTPartMaster master = QsHelper.findObjectBy(WTPartMaster.class, "WTPartNumber", "<零件编号>"); //根据零件名称查询Master集合 List masters = QsHelper.findListBy(WTPartMaster.class, "NAME", "<零件名称>"); //根据零件名称查Master数量 int count = QsHelper.countBy(WTPartMaster.class, "NAME", "<零件名称>"); //根据IBA查询 List parts = QsHelper.findListByIBA(WTPart.class, "", ""); ``` ####