需求:客户在维护物料分类、物料名称、规则型号等 后不维护物料编码
而是通过NC编码规则生成物料编码 用来区别物料编码的不重复及唯一性
思路分析:通过编码规则定义-全局 了解到物料编码的生成规则基于流水号的形式
比如规则定义:物料分类编码+流水号 (5+7) ( 物料分类为5位 已后补位0的形式在展现 那样编码就会做到唯一性)
举例来说:1 钢材类 那么 物料编码为10000 0000001;
2 五金类 那么 物料编码为 20000 0000001;
参考文档: NCV61-编码规则红皮书(整理后).docx;
内容如下:
单据基于元数据模型:
IBillcodeManage.getBatchBillCodes_RequiresNew (String billTypeCode, String pk_group,String pk_org, billvo vo,int num)
参数说明:billTypeCode 单据类型
pk_group 集团主键
pk_org 组织主键
billvo 编码实体数据需编码的单据是基于元数据的,billvo为单据vo,
num 批取编码的数量
代码实现:
IBillcodeManage codemanage = (IBillcodeManage) NCLocator.getInstance().lookup(IBillcodeManage.class);//调用接口
MaterialVO vo = new MaterialVO();//物料vo
vo.setPk_marbasclass(wlfl);//物料分类主键 用来取得物料分类下的物料编码
String[] wlbms= codemanage.getBatchBillCodes_RequiresNew("material",pk_group,pk_group,vo,1);
String wlbm= wlbms[0];//物料编码
//vo.setPk_group("001");//集团
//vo.setPk_org("001");//公司
//vo.setCode(code);//物料编号
//vo.setName(wlname);//物料名称