用友NC中封装了一些供应链中的标准的算法,主要数量和金额之间的联动,主要是一些后台的计算分享给大家
供应采购订单的标准算法:nc.vo.pu.m21.rule.api.Calculate.java
到货单的标准后台算法:nc.vo.pu.m23.rule.RelationCalculate.java
如果不存在后台标准的算法的时候,可以使用自己构建的方式进行计算联动:
以入库单为例:
DataSetForCalCreator crestor = new DataSetForCalCreator();//创建计算
InvInfoQuery invinfo = new InvInfoQuery();
OrgInfoQuery orginfo = new OrgInfoQuery();
invinfo.setOrginfo(orginfo);IDataSetForCal[] datas = crestor.getIDataSetForCal(new PurchaseInVO[] { purchaseInVO[0] });//创建计算数据
ScaleUtils scale = new nc.vo.pubapp.scale.ScaleUtils(purchaseInVO[0].getHead().getPk_group());//创建精度数据
Calculator calc1 = new Calculator(datas[0], scale);
CalcContext cont = new CalcContext(new ICSysParam(purchaseInVO[0].getHead().getPk_group()), invinfo);//计算环境
calc1.calculate(cont.getConditionForCalc(datas[0]), PurchaseInBodyVO.NORIGTAXNETPRICE);/按照哪个字段进行标准计算