在宜搭中,当您的流程表单终止或被审批人拒绝后,您希望自动删除该条生成的数据。目前,宜搭普通流程和新版简易流程在被拒绝后是直接结束了,不支持在原提交表单重新编辑提交,而是需要重新发起申请。但是,您可以采取以下步骤来实现这一目标:
此外,如果您希望审批人在拒绝时有更多控制选项,例如终止、回退、转交等,您可以设置为审批人的角色,并为该角色分配相应的操作权限。
要实现这个功能,你可以使用数据库触发器或者是应用程序代码来实现。
对于数据库触发器,你可以在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
是你用来跟踪表单状态的字段名。
另一种方法是使用应用程序代码来实现这个功能。当你接收到一个状态改变的通知时,检查新的状态是否是终止或拒绝,并根据结果删除数据。
可以使用宜搭的逻辑编排功能,目前宜搭支持了两种主要的内置核心业务逻辑流,分别是单据和流程,以及评论等次要业务逻辑流。
逻辑编排为宜搭-尊享版的高级功能,如需使用,请向所属企业管理员确认是否开通了宜搭-尊享版。
在正式使用之前需要确保已经针对所需接口完成了服务注册,
逻辑编排创建成功后,系统会默认生成入参配置。
特别说明:出参配置和入参配置受宜搭平台的扩展点规范约束,请不要修改。
每个逻辑编排都需要设置开始连接器。开始连接器定义了逻辑编排的触发条件。
当前表单为流程表单时需要配置。根据实际情况勾选结束审批的触发动作。比如删除数据。
设置完成后即定义了逻辑编排业务的触发规则。当用户在对应表单提交了符合触发规则的数据,该逻辑编排业务启动。
删除数据连接器用于删除宜搭表单中符合条件的数据。
使用流程变量:根据记录 ID 进行删除。支持单条记录和批量记录。
当删除数据记录设置为使用流程变量时需要设置。
在下拉列表框中,选择在变量初始化链接器中设置的变量。详情请参见变量初始化连接器。
也可以用IF连接器:
在画布中,单击IF连接器,设置开始节点的属性,单击完成。
异常结束连接器:
在连接器库中选择异常结束连接器,将其拖动至画布中需要进行业务异常判断的位置。
在画布中,单击异常结束连接器,设置开始节点的属性,单击完成。
若勾选该参数表示当提交、删除、编辑校验不通过时阻断提交行为。若不勾选,则异常结束连接器等同于普通的结束连接器,对上述场景不做阻断提交。
不过请注意宜搭流程表单的删除和批量删除,目前只有应用管理员、平台管理员、数据管理员才能删除,普通员工有删除的按钮也无法删除数据。
打开流程表单设计视图,选择要设置数据清理规则的表单;
在工具栏上点击“属性”按钮,在弹出的属性对话框中选择“数据清理规则”选项卡;
在数据清理规则选项卡中,选择要清除的数据类型(如文本、日期等);
设置相应的清理条件,如流程结束时或满足特定条件时;
最后保存表单设计并关闭设计视图。
要实现流程表单终止或被审批人拒绝后自动删除该条生成的数据,您可以考虑以下方法:
一种方法是在您的流程定义中添加一个"退回"节点,并将其连接到您的审批节点。当审批人拒绝表单时,流程将自动退回到"退回"节点。您可以在这个节点的配置中添加一个动作来删除相关的数据 。这样,每当流程被拒绝时,都会执行删除操作,从而清除不再需要的数据。
另一种方法是使用工作流引擎的API来实现自定义行为。您可以编写代码,在流程终止或被拒绝时调用相应的API来删除数据。这需要一些编程经验,但提供了更大的灵活性和可控性。通过API,您可以根据具体业务需求来执行数据删除操作。
无论您选择哪种方法,都建议在实施之前进行充分的测试,以确保数据删除操作按预期工作,并且不会对其他部分的系统造成影响。此外,还应考虑数据备份和恢复策略,以防止意外情况导致数据丢失。
要实现这个功能,你需要结合流程表单和数据删除的操作,这涉及到两个方面的技术:流程管理和数据库操作。
以下是一个基本的实现思路:
1.流程管理:你需要使用支持流程管理的工具或库,比如Java中的Activiti或Camunda,或者Python中的Celery等。在流程中,当表单被终止或被审批人拒绝时,可以触发一个信号或事件,通知其他系统或服务进行数据删除操作。
2.数据库操作:在收到流程管理工具或服务发送的信号或事件后,你需要编写数据库操作脚本或使用ORM框架(如SQLAlchemy、Hibernate等)来删除相应的数据。这通常涉及到SQL的DELETE语句或者ORM框架的删除方法。
3.权限和异常处理:在进行数据删除操作前,你需要确保当前的用户或系统有权限删除这些数据。同时,你也需要处理删除操作可能出现的异常,比如数据不存在、删除失败等。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。