预留记录创建、查询、解除&预留转移微服务接口
路由:mpscmm
1 预留记录创建(V5.0.020版本发布)
接口说明:根据匹配好的需求信息和供应信息进行预留,没有事务,不需要预留方案。
一条预留记录一个MAP,一个接口只接受一种供应对象(如即时库存余额表、采购订单)、一种需求单据类型、一种预留类型(总量、明细)。
接口名:reserveBatchFree(String balNumber,String billName,boolean isAggregate,List<Map<String,Object>> paramMap)
入参:
参数标识 | 参数名称 | 备注 |
balNumber | 供应对象元数据标识 | 如即时库存余额表:im_inv_realbalance; 总量预留余额表:msmod_reserveaggre; 余额表的总量预留传总量预留余额表标识,余额表的明细预留传具体余额表标识(如即时库存余额表),预计入预留传具体的供应对象标识(如采购订单) |
billName | 预留需求单据元数据标识 | 如销售订单:sm_salorder |
isAggregate | 是否总量预留 | 生成的预留记录类型,是总量预留记录还是明细预留记录:True:总量预留;false:明细预留。 |
paramMap | 构建预留记录 | 一行记录一个MAP,map的key固定,所有值不能为空,请按数据类型赋值: billId:需求单据ID(long) billEntryId:需求单据分录ID(long) billEntrySeq:需求分录序号 invId:供应对象ID(余额表的总量预留时为总量预留余额表ID,余额表的明细预留时为具体的余额表ID,预计入预留时为预计入单据ID) invEntryId:供应对象分录ID,如无分录,和供应对象ID保持一致(long) baseQty:基本数量(Bigdecimal) qty:数量(Bigdecimal) qty2nd:辅助数量(Bigdecimal) org:库存组织ID(long) material:物料的masterID(long) isPredict:是否预计入(boolean) |
返回参数:String;请用json进行解析,具体包含内容个如下:
参数标识 | 参数名称 | 备注 |
isSuccess | 成功标识 | True:成功,false:失败 |
errMsg | 错误信息 | 失败时的错误信息 |
col | 预留记录结果集 | 预留成功后,会返回成功的预留记录结果集DynamicObjectCollection,方便调用方的后续处理 |
调用示例 :
//比如明细预留,预留的是即时库存余额表
String balNumber = "im_inv_realbalance";
//销售订单预留
String billName ="sm_salorder";
//明细预留
boolean isAggregate = false;
List<Map<String, Object>> paramMapList = new ArrayList<>(8);
//一个map一行预留记录
Map<String, Object> params = new HashMap<>(8);
params.put("org","组织ID");
………………
paramMapList.add(params);
//微服务调用
DispatchServiceHelper.invokeBizService("mpscmm", "mscommon", "MpsReserveService", "reserveBatchFree", balNumber,billName,isAggregate,paramMapList);
返回内容示例:
预留成功:
{"col:[{"id":1666548162896278528,"base_qty":1.0,"qty":3.0,"qty2nd":0,"creater":13466739,"bal_source":"1",
"bal_obj":"im_inv_realbalance","bill_obj":"im_transapply","entry_name":"billentry"}],"success":true}
预留失败:
{"success":false,errMsg:”库存数量不足。”}
2 预留查询(V5.0.007版本发布)
接口说明:
1) 支持按需求查询预留记录:
1、传入需求单据ID,返回需求单据ID=传入需求单据ID的预留记录;
2、传入需求单据ID、需求单据分录ID,返回需求单据ID=传入需求单据ID&需求单据分录ID=传入需求单据分录ID的预留记录
2) 支持按供应查询预留记录:
1、传入供应ID,返回供应ID=传入供应ID的预留记录;
2、传入供应ID、供应分录ID,返回供应ID=传入供应ID&供应分录ID=传入供应分录ID的预留记录
3) 支持按预留对象查询预留记录:传入预留对象ID,返回预留对象=预留对象ID的预留记录
接口名:public static String getReserveRecord(String searchType ,Map<Long,Set<Long>> params)
* @param searchType 传入按需求(bill_id)/按供应(bal_id)/按对象(reserveobj)固定标识
* @param params 传入需要查询的单据id、单据分录id对应的Map集合 key:单据id value:单据分录id集合
返回预留记录JSON对象
//预留查询接口--按需求
String searchType = "bill_id";
Map<Long,Set<Long>> params = new HashMap<>(8);
//单据ID long billId = 1234L;
//单据分录ID--对应单据的分录ID集合
Set<Long>> entryIdSet =null;
//单据ID做key;分录ID做vallue;
params.put(billId,entryIdSet);
//微服务调用
String result = DispatchServiceHelper.invokeBizService("mpscmm", "mscommon", "MpsReserveService", "getReserveRecord", searchType,params);
3 预留解除(V5.0.007版本发布)
接口说明:
1) 支持按需求解除预留记录:
1、传入需求单据ID,解除需求单据ID=传入需求单据ID的预留记录;
2、传入需求单据ID、需求单据分录ID,解除需求单据ID=传入需求单据ID&需求单据分录ID=传入需求单据分录ID的预留记录
2) 支持按供应解除预留记录:
1、传入供应ID,解除供应ID=传入供应ID的预留记录;
2、传入供应ID、供应分录ID,解除供应ID=传入供应ID&供应分录ID=传入供应分录ID的预留记录
3) 支持按预留对象解除预留记录:传入预留对象ID,解除预留对象=预留对象ID的预留记录
接口名:public static void reserveRemoveBySourceObj(String billNumber, Map<Long, Set<Long>> params)
* @param billNumber 传入按需求(bill_id)/按供应(bal_id)/按对象(reserveobj)固定标识
* @param params 传入需要查询的单据id、单据分录id对应的Map集合 key:单据id ;value:单据分录id集合
备注:分录ID为空时要传入0
4 预留转移(V5.0.011版本发布)
接口名public static void reserveReplaceInter(List<Map<String,Object>> paramCol)
Collection<Map<String, Object>> params
输入参数 | 说明 |
recordId | 转移前预留记录id |
transBill | 转移单标识 |
transBillId | 转移单id |
transBillEntryId | 转移单分录id |
supObj | 转移后供应对象标识 |
supId | 转移后供应对象id |
supEntryId | 转移后供应对象分录id。供应对象没有分录时,供应对象分录id传入供应对象id |
qty | 转移数量 |
base_qty | 转移基本数量 |
qty2nd | 转移辅助数量 |
5 预留转移反向(V5.0.011版本发布)
接口名public static void reserveUnReplaceInter(List<Map<String,Object>> paramCol)
Collection<Map<String, Object>> params
输入参数 | 说明 |
transBill | 转移单标识 |
transBillId | 转移单id |
预留记录创建、查询、解除&预留转移微服务接口
本文2024-09-22 23:48:22发表“云星瀚知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-xinghan-135395.html