使用Java-SDK保存采购申请单原创
2人赞赏了该文章
407次浏览
编辑于2023年12月07日 10:18:02
核心代码:
@Service public class PurchaseRequisitionServiceImpl implements IPurchaseRequisitionService { private final String FORMID = "PUR_Requisition"; /** * 保存采购申请单 * * @param params * @return * @throws Exception */ @Override public Object save(Map<String, Object> params) throws Exception { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 请求参数 - 物料编码 String materialNumber = String.valueOf(params.get("extra_material_fnumber")); // 请求参数 - 申请的物料的数量 Integer applicationNumber = Integer.valueOf(String.valueOf(params.get("extra_material_application_number"))); K3CloudApi api = new K3CloudApi(); PurchaseRequisitionSaveParam saveParam = new PurchaseRequisitionSaveParam(); PurchaseRequisitionSaveModelParam saveModel = new PurchaseRequisitionSaveModelParam(); // 请求参数 Model.XX // 标准采购申请 saveModel.setFBillTypeID(new FBillTypeID("CGSQD01_SYS")); saveModel.setFApplicationDate(LocalDate.now().format(formatter)); saveModel.setFRequestType("物料"); saveModel.setFApplicationOrgId(new FApplicationOrgId("XXXXXXXXXXXXXXXXX")); // 各实体 - 暂时新增一条物料采购 FEntity[] FEntities = new FEntity[1]; FEntity fEntity = new FEntity(); fEntity.setFRequireOrgId(new FRequireOrgId("XXXXXXXXXXXXXXXXX")); fEntity.setFMaterialId(new FMaterialId(materialNumber)); // 固定设置物料的基本单位是g。所以在查询物料列表的时候固定是g就行了 fEntity.setFUnitID(new FUnitId("g")); fEntity.setFReqQty(applicationNumber); fEntity.setFPurchaseOrgId(new FPurchaseOrgId("XXXXXXXXXXXXXXXXX")); fEntity.setFPriceUnitId(new FPriceUnitId("g")); fEntity.setFREQSTOCKUNITID(new FREQSTOCKUNITID("g")); FEntities[0] = fEntity; saveModel.setFEntity(FEntities); saveParam.setModel(saveModel); //请求参数设置完毕,请求参数转json字符串 Gson gson = new Gson(); String jsonData = gson.toJson(saveParam); //调用接口 String resultJson = api.save(FORMID, jsonData); //用于记录结果 //对返回结果进行解析和校验 RepoRet repoRet = gson.fromJson(resultJson, RepoRet.class); if (repoRet.getResult().getResponseStatus().isIsSuccess()) { System.out.printf("接口返回结果: %s%n", gson.toJson(repoRet.getResult())); return gson.toJson(repoRet.getResult()); } else { throw new ServiceException(gson.toJson(repoRet.getResult().getResponseStatus())); } } }
登录进去ERP的供应链,采购申请单,就会看到新增了一条采购申请单了。
可能遇到的问题:
保存采购申请单的请求参数:基本单位要与采购的物料的基本单位一致。
保存采购申请单的请求参数:FApplicationOrgId 使用组织要与物料的使用组织一致。
赞 2
2人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读