开发者社区> 问答> 正文

钉钉想流程提交的时候验证申请数量大于库存数量的时候不能提交流程,应该怎么处理?

钉钉想流程提交的时候验证申请数量大于库存数量的时候不能提交流程,应该怎么处理?
86761129b4de55d558622a0417ee82cf.png

展开
收起
2401。 2023-07-17 12:53:54 138 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    可以通过以下方式实现:

    在流程表单中添加申请数量和库存数量两个字段。申请数量字段用于输入申请数量,库存数量字段用于显示库存数量。

    在流程表单中添加一个“提交申请”按钮。当用户点击提交申请按钮时,执行验证申请数量是否大于库存数量的操作。

    在“提交申请”按钮的点击事件中,调用钉钉开放平台提供的 API,查询库存数量。例如:

    java
    Copy
    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/processinstance/cspace/info/get");
    OapiProcessinstanceCspaceInfoGetRequest req = new OapiProcessinstanceCspaceInfoGetRequest();
    req.setProcessInstanceId(processInstanceId);
    OapiProcessinstanceCspaceInfoGetResponse response = client.execute(req, accessToken);
    Long storageQuantity = response.getStorageQuantity();
    在上述代码中,通过 processInstanceId 获取流程实例的信息,并获取库存数量 storageQuantity。

    在“提交申请”按钮的点击事件中,比较申请数量和库存数量。如果申请数量大于库存数量,则提示用户申请数量超过库存数量,不允许提交流程;否则,提交流程。例如:
    java
    Copy
    if (applyQuantity > storageQuantity) {
    // 提示申请数量超过库存数量,不允许提交流程
    throw new RuntimeException("申请数量超过库存数量,不允许提交流程");
    } else {
    // 提交流程
    // ...
    }
    在上述代码中,通过比较申请数量和库存数量,判断是否允许提交流程,并根据判断结果进行相应的处理。

    2023-07-29 11:14:17
    赞同 展开评论 打赏
  • 要处理在钉钉流程提交时验证申请数量大于库存数量的情况,您可以按照以下步骤进行:

    1. 在流程提交前获取库存数量:在流程提交之前,您需要通过适当的方式获取相应物品的库存数量。这可能涉及与后端系统进行数据交互或查询数据库等操作。

    2. 验证申请数量和库存数量:在流程提交前,将申请数量和库存数量进行比较。如果申请数量大于库存数量,则阻止流程的提交,并给用户一个合适的提示信息。

    3. 展示错误信息并中止流程:如果发现申请数量大于库存数量,您可以返回一个错误信息给用户,提示他们无法提交流程。您可以使用钉钉开放平台提供的相应接口,在流程提交过程中返回错误信息,例如使用 dingtalk.smartwork.bpms.processinstance.create 接口的 result 字段返回错误信息。

    4. 提示用户修改申请数量:在展示错误信息后,建议给用户一个机会修改申请数量,以便他们重新提交符合要求的申请。您可以根据具体需求,在钉钉流程表单中增加相应的字段或交互来让用户修改申请数量。

    2023-07-17 13:15:16
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
钉钉小程序——为工作方式插上翅膀 立即下载
钉钉客户端自动化的应用 立即下载
使命必达 —— 钉钉企业级 消息服务的机遇与挑战 立即下载