自定义文件编号如:字母+年份+序列号(如:B2020123)
自定义文件编码规则

package ext.customize;import wt.rule.algorithm.RuleAlgorithm;
import wt.util.WTException;
import wt.inf.container.WTContainerRef;
import wt.pds.oracle81.OracleDataSource;
import java.util.TimeZone;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.*;
import java.util.*;/** 自定义编号(eg:B2020123)B+年份+三位序号*/
public class CustomNumberRule implements RuleAlgorithm {public Object calculate(Object args[], WTContainerRef container) throws WTException {Calendar gmtlocal = new GregorianCalendar(TimeZone.getTimeZone("GMT+8"));SimpleDateFormat sf = new SimpleDateFormat("YYYY");sf.setTimeZone(TimeZone.getTimeZone("GMT+8"));String head = "A"+sf.format(gmtlocal.getTime());String num = getDocumentNumber(head);if (num.length() == 1) {num = "00" + num;} else if (num.length() == 2) {num = "0" + num;}return head + num;}public static String getDocumentNumber(String head) {int n = 0;try {Connection dbConnection = OracleDataSource.getOracleDataSource().getConnection();String sql = String.format("SELECT WTDOCUMENTNUMBER FROM WTDOCUMENTMASTER WHERE WTDOCUMENTNUMBER LIKE '%s%%' ORDER BY WTDOCUMENTNUMBER DESC",head);PreparedStatement ps = dbConnection.prepareStatement(sql);ResultSet rs = ps.executeQuery();if (rs.next()) {n = Integer.parseInt(rs.getString(1).substring(5)) + 1;} else {n = 1;}rs.close();ps.close();dbConnection.close();} catch (SQLException e) {System.out.println("Please chekc the oracle table ReviewInfo was created or not!");e.printStackTrace();}return n + "";}
}

将编译好的文件放到对应的文件夹中,然后修改对象初始化规则
更新对象初始化规则文件,修改使用的算法,从:

<AttrValue id="number" algorithm="com.ptc.windchill.enterprise.revisionControlled.server.impl.NumberGenerator">       <Arg>{GEN:wt.enterprise.SequenceGenerator:WTPARTID_seq:10:0}</Arg>
</AttrValue>

修改为:

<AttrValue id="number" algorithm="ext.customize.customNumberRule">       <Arg>{GEN:wt.enterprise.SequenceGenerator:WTPARTID_seq:10:0}</Arg>
</AttrValue>

更新对象的对象初始化规则。

Windchill二次开发-自定义文件编号(2)相关推荐

  1. NX二次开发-UFUN文件选择对话框UF_UI_create_filebox

    NX二次开发-UFUN文件选择对话框UF_UI_create_filebox NX11+VS2013#include <uf.h> #include <uf_ui.h>UF_i ...

  2. Windchill 二次开发新手入门常用的API

    Windchill_二次开发新手入门常用的API 1.根据零件名称/编码 得到该零件 wt.clients.prodmgmt.WTPartHelper.findPartByName(name) ;   ...

  3. Mixly 二次开发 自定义库

    Mixly基本原理 Mixly可以看作是介于普通用户与Arduino IDE之间桥梁,通过这个桥梁,即使用户不懂C语言的语法,也可以利用图形化程序编写Arduino程序.Mixly的基本原理是将图形化 ...

  4. Mixly 二次开发 自定义库 创客教程

    前言 本章内容是对Mixly 图像化编程软件进行的二次开发,需要一定的编程基础,需要用到的概念和知识点有: 绑定与事件概念, JavaScript的基本语法, .xml脚本的标签定义 限于篇幅,本章内 ...

  5. 帝国cms二次开发之文件夹的功能说明

    特别注意,此次开发开发需要下载lskmvc for ecms即为帝国cms开发封装的一个二次开发小框架,众所周知,帝国cms本身是采用函数式的编程,缺点就是不好结构化代码,比较不好组织代码. lskm ...

  6. Windchill二次开发-批量导出和载入对象的软类型和软属性

    将测试系统中的数据类型迁移到正式系统中,总结如下: 在 Windchill 外壳程序中执行如下命令: windchill wt.load.LoadFromFile -d <文件路径>/De ...

  7. Windchill二次开发-xconfmanager工具

    一.概念: xconfmanager是一个命令行使用工具 二.用途: xconfmanager 是一个用来在 Windchill 属性文件中添加.移除和修改属性值的命令行工具 三.特点: xconfm ...

  8. MSCRM二次开发实现自动编号功能

    功能描述:对客户实体实现自动编号功能,1.2.3.4......  自动编号存放于属性accountnumber. 原 理:在mscrm服务器用一个文本文件存放当前最新编号,每当创建客户记录时在Pre ...

  9. c# autocad二次开发 dwg文件的框表框图导出pdf方便打印 dwg转pdf工具

    20190815 热 项目背景: 最近搞电气装配图,一份dwg里面N份框表框图,打印时,要先一个个框图导出pdf,而导出pdf时又要一个个用窗口模式选择导出范围,流程比较繁琐,于是程序员之魂觉醒赶紧弄 ...

最新文章

  1. jquery-$()函数的用法及一些常用的选择器
  2. java虚拟机指令初步学习
  3. 业务场景是什么意思_深度思考:麦乐积分兑换商城系统业务逻辑
  4. K8S Learning(10)——Pod配置
  5. MATLAB定时器的简单使用
  6. 后台模拟页面登陆_模拟炒股软件支付宝同花顺都可以快速体验炒股
  7. Web后端学习笔记 Flask(9)cookie and session
  8. How to get the xpath by clicking an html element
  9. 15muduo_base库源码分析(六)
  10. 如何做WP的登录/注册功能
  11. atitit.Servlet2.5 Servlet 3.0 新特性 jsp2.0 jsp2.1 jsp2.2新特性
  12. Python中利用scipy库进行最小二乘回归分析(金融相关)
  13. FPGA零基础学习:SDR SDRAM 驱动设计
  14. 分布式与集群的区别,一致性hash,hadoop与HBASE,消息,关于分布式系统的数据一致性问题(来自公众号:360doc个人图书馆)
  15. CGArt 2008 Issue
  16. Java将英文句子分解为单词
  17. 分享链接在微信内被多人投诉怎么办,域名防封方案
  18. 知网提供的“导出与分析”功能来确定论文主题
  19. python基于pingouin包进行统计分析:使用pairwise_tukey函数执行Tukey检验进行事后分析(Pairwise Tukey post-hocs)
  20. 魅族便签,能否成为国内便签应用的No.1?

热门文章

  1. java计算机毕业设计bs架构实习管理系统(附源码、数据库)
  2. echarts地图可视化 中国地图及各省级js文件分享
  3. logisim实验五:汉字字库存储芯片扩展实验
  4. 如何在xcode7上打包越狱系统可用的ipa文件
  5. 2020-Android-大厂面试(五)插件化
  6. Qt4.8.6 ARM(DM3730)中文显示,文泉驿正黑
  7. 吴恩达深度学习课程之第四门课 卷积神经网络 第二周 深度卷积网络
  8. w3school-领先的 Web 技术教程
  9. 常用的工业相机及SDK
  10. word参考文献查重