组织间结算取价接口
适用范围
客户根据业务需求使用组织间结算取价功能获取价格。
说明
开发者需要将需要进行取价的单据id,供应方组织id,需求方组织id传入微服务接口,组织间结算根据传入的供应方组织和需求方组织匹配对应结算取价规则。根据结算取价规则对传入的单据进行取价逻辑处理,并返回取价结果。
若未匹配到结算取价规则,则返回失败结果。
调用范例
String billEntity = “im_purinbill”;
List<Map<String,Long>> params = new ArrayList<>(16);
Map<String,Long> param = new HashMap<>();
param.put("id", 1848654612224027648L);
param.put("supid", 1539304191019970560L);
param.put("demid", 1539304451377319936L);
params.add(param);
Map<Long, Map<String,Object>> invokeBizService = DispatchServiceHelper.invokeBizService("scmc","ism","SettlePriceRuleService"," batchDoPricing", new Object[] { billEntity, params });
参数说明
参数名 | 类型 | 说明 |
billEntity | String | 单据实体对象标识 |
billInfos | List<Map<String,Long>> | 单据信息Map集合,Map中key标识如下:
id:Long类型,单据id supid:Long类型,供应方组织id demid:Long类型,需求方组织id
参数范例: [{supid=1539304191019970560, demid=1539304451377319936, id=1848654612224027648}] |
返回示例
类型:Map<Long, Map<String,Object>>
Key标识为单据id。
成功范例:
{1848654612224027648={exratedate=Tue Dec 26 18:42:24 CST 2023, settlecy=6, billentry={1848654612224028672={priceandtax=12.0000000000, price=11.3207547170, taxrateid=3}}}} |
失败范例:
{1848654612224027648={failreason=没有匹配的取价规则。, billentry={1848654612224028672={failreason=没有匹配的取价规则分录}}}} |
参数说明
标识 | 类型 | 说明 |
exratedate | Date | 汇率日期 |
settlecy | Long | 结算币别id |
failreason | String | 失败信息 |
billentry | Map<Long,Map<String, Object> | 分录取价信息,Key标识为分录id。
priceandtax:BigDecimal类型,价税合计 price:BigDecimal类型,单价 taxrateid:Long类型,税率id failreason:String类型,失败信息
|