开发者社区> 问答> 正文

流程表单终止,自动删除数据

如何实现,我在流程表单终止,或者是被审批人拒绝后,自动删除该条生成的数据?

展开
收起
DRAGON 2023-11-18 10:41:46 78 1
6 条回答
写回答
取消 提交回答
  • 在宜搭中,当您的流程表单终止或被审批人拒绝后,您希望自动删除该条生成的数据。目前,宜搭普通流程和新版简易流程在被拒绝后是直接结束了,不支持在原提交表单重新编辑提交,而是需要重新发起申请。但是,您可以采取以下步骤来实现这一目标:

    1. 在流程设计器中,找到“审批节点”组件,并将其拖拽到画布上。
    2. 在“审批节点”的属性面板中,找到“审批结果”选项,并选择“拒绝时结束”。这样,当某个审批节点被拒绝时,整个流程将立即结束。
    3. 接下来,您需要在流程设计器中找到“删除数据”组件,并将其拖拽到画布上。
    4. 在“删除数据”组件的属性面板中,设置您希望删除的数据ID或条件。
    5. 最后,将“删除数据”组件与“审批节点”组件进行关联,确保只有在审批节点被拒绝时,才会触发数据删除操作。

    此外,如果您希望审批人在拒绝时有更多控制选项,例如终止、回退、转交等,您可以设置为审批人的角色,并为该角色分配相应的操作权限。

    2023-11-29 16:58:58
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    要实现这个功能,你可以使用数据库触发器或者是应用程序代码来实现。

    对于数据库触发器,你可以在MySQL中创建一个触发器来监视你的表单状态的变化,当状态改变时,删除对应的数据。以下是创建触发器的一个例子:

    DELIMITER //
    CREATE TRIGGER delete_data_after_rejection 
    AFTER UPDATE ON your_table_name 
    FOR EACH ROW 
    BEGIN 
       IF NEW.status = 'terminated' OR NEW.status = 'rejected' THEN 
          DELETE FROM your_table_name WHERE id = OLD.id; 
       END IF;
    END;//
    DELIMITER ;
    

    在这个例子中,your_table_name是你表单数据所在的表名,status是你用来跟踪表单状态的字段名。

    另一种方法是使用应用程序代码来实现这个功能。当你接收到一个状态改变的通知时,检查新的状态是否是终止或拒绝,并根据结果删除数据。

    2023-11-18 22:42:18
    赞同 展开评论 打赏
  • 十年摸盘键,代码未曾试。 今日码示君,谁有上云事。

    可以使用宜搭的逻辑编排功能,目前宜搭支持了两种主要的内置核心业务逻辑流,分别是单据和流程,以及评论等次要业务逻辑流。

    逻辑编排为宜搭-尊享版的高级功能,如需使用,请向所属企业管理员确认是否开通了宜搭-尊享版。

    在正式使用之前需要确保已经针对所需接口完成了服务注册,

    逻辑编排创建成功后,系统会默认生成入参配置。

    特别说明:出参配置和入参配置受宜搭平台的扩展点规范约束,请不要修改。

    每个逻辑编排都需要设置开始连接器。开始连接器定义了逻辑编排的触发条件。

    当前表单为流程表单时需要配置。根据实际情况勾选结束审批的触发动作。比如删除数据。

    设置完成后即定义了逻辑编排业务的触发规则。当用户在对应表单提交了符合触发规则的数据,该逻辑编排业务启动。

    删除数据连接器用于删除宜搭表单中符合条件的数据。

    使用流程变量:根据记录 ID 进行删除。支持单条记录和批量记录。

    当删除数据记录设置为使用流程变量时需要设置。

    在下拉列表框中,选择在变量初始化链接器中设置的变量。详情请参见变量初始化连接器。

    也可以用IF连接器:

    在画布中,单击IF连接器,设置开始节点的属性,单击完成。

    异常结束连接器:

    在连接器库中选择异常结束连接器,将其拖动至画布中需要进行业务异常判断的位置。

    在画布中,单击异常结束连接器,设置开始节点的属性,单击完成。

    若勾选该参数表示当提交、删除、编辑校验不通过时阻断提交行为。若不勾选,则异常结束连接器等同于普通的结束连接器,对上述场景不做阻断提交。

    不过请注意宜搭流程表单的删除和批量删除,目前只有应用管理员、平台管理员、数据管理员才能删除,普通员工有删除的按钮也无法删除数据。

    2023-11-18 17:50:27
    赞同 1 展开评论 打赏
  • 打开流程表单设计视图,选择要设置数据清理规则的表单;
    在工具栏上点击“属性”按钮,在弹出的属性对话框中选择“数据清理规则”选项卡;
    在数据清理规则选项卡中,选择要清除的数据类型(如文本、日期等);
    设置相应的清理条件,如流程结束时或满足特定条件时;
    最后保存表单设计并关闭设计视图。

    2023-11-18 16:38:59
    赞同 展开评论 打赏
  • 要实现流程表单终止或被审批人拒绝后自动删除该条生成的数据,您可以考虑以下方法:

    一种方法是在您的流程定义中添加一个"退回"节点,并将其连接到您的审批节点。当审批人拒绝表单时,流程将自动退回到"退回"节点。您可以在这个节点的配置中添加一个动作来删除相关的数据 。这样,每当流程被拒绝时,都会执行删除操作,从而清除不再需要的数据。

    另一种方法是使用工作流引擎的API来实现自定义行为。您可以编写代码,在流程终止或被拒绝时调用相应的API来删除数据。这需要一些编程经验,但提供了更大的灵活性和可控性。通过API,您可以根据具体业务需求来执行数据删除操作。

    无论您选择哪种方法,都建议在实施之前进行充分的测试,以确保数据删除操作按预期工作,并且不会对其他部分的系统造成影响。此外,还应考虑数据备份和恢复策略,以防止意外情况导致数据丢失。

    2023-11-18 15:17:48
    赞同 展开评论 打赏
  • 要实现这个功能,你需要结合流程表单和数据删除的操作,这涉及到两个方面的技术:流程管理和数据库操作。
    以下是一个基本的实现思路:
    1.流程管理:你需要使用支持流程管理的工具或库,比如Java中的Activiti或Camunda,或者Python中的Celery等。在流程中,当表单被终止或被审批人拒绝时,可以触发一个信号或事件,通知其他系统或服务进行数据删除操作。
    2.数据库操作:在收到流程管理工具或服务发送的信号或事件后,你需要编写数据库操作脚本或使用ORM框架(如SQLAlchemy、Hibernate等)来删除相应的数据。这通常涉及到SQL的DELETE语句或者ORM框架的删除方法。
    3.权限和异常处理:在进行数据删除操作前,你需要确保当前的用户或系统有权限删除这些数据。同时,你也需要处理删除操作可能出现的异常,比如数据不存在、删除失败等。

    2023-11-18 11:58:47
    赞同 展开评论 打赏
滑动查看更多
问答地址:
关联地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载