Windchill二次开发-自定义文件编号(1)

it2024-01-17  59

需求背景:设置自动编号使其包含当前年、月、日,并将其作为前缀或后缀

自定义文件编码规则

package ext.customize; import wt.rule.algorithm.RuleAlgorithm; import wt.enterprise.EnterpriseHelper; import wt.util.WTException; import wt.inf.container.WTContainerRef; import java.util.TimeZone; import java.text.*; import java.util.*; /** * @Description: 如何设置自动编号使其包含当前年、月、日,并将其作为前缀或后缀 * @author W * @date 2020年10月20日 */ public class customNumberRule implements RuleAlgorithm { public Object calculate(Object args[], WTContainerRef container) throws WTException { String num = EnterpriseHelper.getNumber(args); Calendar gmtlocal = new GregorianCalendar(TimeZone.getTimeZone("GMT+8")); SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd"); sf.setTimeZone(TimeZone.getTimeZone("GMT+8")); num = sf.format(gmtlocal.getTime()) + "-" + num; return num; } }

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

<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>

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

最新回复(0)