更新工作流的字段类型
This commit is contained in:
parent
7a62edb988
commit
64e80a7295
|
@ -0,0 +1,42 @@
|
||||||
|
# Generated by Django 3.2.12 on 2022-07-07 01:57
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
import django.utils.timezone
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('hrm', '0003_employee_post'),
|
||||||
|
('third', '0003_alter_tdevice_type'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='tdevice',
|
||||||
|
name='code',
|
||||||
|
field=models.CharField(db_index=True, max_length=50, unique=True, verbose_name='设备唯一标识'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='tdevice',
|
||||||
|
name='employee',
|
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='td_employee', to='hrm.employee', verbose_name='当前绑定人员'),
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='BltBind',
|
||||||
|
fields=[
|
||||||
|
('id', models.CharField(editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')),
|
||||||
|
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
|
||||||
|
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
|
||||||
|
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
|
||||||
|
('type', models.PositiveSmallIntegerField(choices=[(10, '绑定'), (20, '解绑')], default=10, help_text='10(绑定)/20(解绑)', verbose_name='绑定类型')),
|
||||||
|
('obj_cate', models.CharField(blank=True, help_text='people/...', max_length=20, null=True, verbose_name='绑定对象')),
|
||||||
|
('blt', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='third.tdevice', verbose_name='关联标签')),
|
||||||
|
('employee', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='hrm.employee', verbose_name='关联人员')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'abstract': False,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
]
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 3.2.12 on 2022-07-07 01:57
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('vm', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='visit',
|
||||||
|
name='visitors',
|
||||||
|
field=models.ManyToManyField(related_name='v_visitors', through='vm.Vpeople', to='vm.Visitor'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -0,0 +1,35 @@
|
||||||
|
# Generated by Django 3.2.12 on 2022-07-07 01:57
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('wf', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterModelOptions(
|
||||||
|
name='state',
|
||||||
|
options={'verbose_name': '工作流节点', 'verbose_name_plural': '工作流节点'},
|
||||||
|
),
|
||||||
|
migrations.AlterModelOptions(
|
||||||
|
name='transition',
|
||||||
|
options={'verbose_name': '工作流流转', 'verbose_name_plural': '工作流流转'},
|
||||||
|
),
|
||||||
|
migrations.AlterModelOptions(
|
||||||
|
name='workflow',
|
||||||
|
options={'verbose_name': '工作流', 'verbose_name_plural': '工作流'},
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='state',
|
||||||
|
name='state_fields',
|
||||||
|
field=models.JSONField(blank=True, default=dict, help_text='json格式字典存储,包括读写属性1:只读,2:必填,3:可选, 4:隐藏 示例:{"create_time":1,"title":2, "sn":1}, 内置特殊字段participant_info.participant_name:当前处理人信息(部门名称、角色名称),state.state_name:当前状态的状态名,workflow.workflow_name:工作流名称', verbose_name='表单字段'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='transition',
|
||||||
|
name='condition_expression',
|
||||||
|
field=models.JSONField(blank=True, default=list, help_text='流转条件表达式,根据表达式中的条件来确定流转的下个状态,格式为[{"expression":"{days} > 3 and {days}<10", "target_state":11}] 其中{}用于填充工单的字段key,运算时会换算成实际的值,当符合条件下个状态将变为target_state_id中的值,表达式只支持简单的运算或datetime/time运算.loonflow会以首次匹配成功的条件为准,所以多个条件不要有冲突', verbose_name='条件表达式'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -99,7 +99,7 @@ class State(CommonAModel):
|
||||||
help_text='可以为空(无处理人的情况,如结束状态)、userid、userid列表\部门id\角色id\变量(create_by,create_by_tl)\脚本记录的id等,包含子工作流的需要设置处理人为loonrobot')
|
help_text='可以为空(无处理人的情况,如结束状态)、userid、userid列表\部门id\角色id\变量(create_by,create_by_tl)\脚本记录的id等,包含子工作流的需要设置处理人为loonrobot')
|
||||||
# json格式存储,包括读写属性1:只读,2:必填,3:可选,4:不显示, 字典的字典
|
# json格式存储,包括读写属性1:只读,2:必填,3:可选,4:不显示, 字典的字典
|
||||||
state_fields = models.JSONField(
|
state_fields = models.JSONField(
|
||||||
'表单字段', default=dict, help_text='json格式字典存储,包括读写属性1:只读,2:必填,3:可选, 4:隐藏 示例:{"create_time":1,"title":2, "sn":1}, 内置特殊字段participant_info.participant_name:当前处理人信息(部门名称、角色名称),state.state_name:当前状态的状态名,workflow.workflow_name:工作流名称')
|
'表单字段', blank=True, default=dict, help_text='json格式字典存储,包括读写属性1:只读,2:必填,3:可选, 4:隐藏 示例:{"create_time":1,"title":2, "sn":1}, 内置特殊字段participant_info.participant_name:当前处理人信息(部门名称、角色名称),state.state_name:当前状态的状态名,workflow.workflow_name:工作流名称')
|
||||||
distribute_type = models.IntegerField('分配方式', default=1, choices=state_distribute_choices,
|
distribute_type = models.IntegerField('分配方式', default=1, choices=state_distribute_choices,
|
||||||
help_text='1.主动接单(如果当前处理人实际为多人的时候,需要先接单才能处理) 2.直接处理(即使当前处理人实际为多人,也可以直接处理) 3.随机分配(如果实际为多人,则系统会随机分配给其中一个人) 4.全部处理(要求所有参与人都要处理一遍,才能进入下一步)')
|
help_text='1.主动接单(如果当前处理人实际为多人的时候,需要先接单才能处理) 2.直接处理(即使当前处理人实际为多人,也可以直接处理) 3.随机分配(如果实际为多人,则系统会随机分配给其中一个人) 4.全部处理(要求所有参与人都要处理一遍,才能进入下一步)')
|
||||||
filter_policy = models.IntegerField('参与人过滤策略', default=0, choices=state_filter_choices)
|
filter_policy = models.IntegerField('参与人过滤策略', default=0, choices=state_filter_choices)
|
||||||
|
@ -160,7 +160,7 @@ class Transition(CommonAModel):
|
||||||
verbose_name='源状态', related_name='sstate_transition')
|
verbose_name='源状态', related_name='sstate_transition')
|
||||||
destination_state = models.ForeignKey(State, on_delete=models.CASCADE,
|
destination_state = models.ForeignKey(State, on_delete=models.CASCADE,
|
||||||
verbose_name='目的状态', related_name='dstate_transition')
|
verbose_name='目的状态', related_name='dstate_transition')
|
||||||
condition_expression = models.JSONField('条件表达式', max_length=1000, default=list,
|
condition_expression = models.JSONField('条件表达式', default=list, blank=True,
|
||||||
help_text='流转条件表达式,根据表达式中的条件来确定流转的下个状态,格式为[{"expression":"{days} > 3 and {days}<10", "target_state":11}] 其中{}用于填充工单的字段key,运算时会换算成实际的值,当符合条件下个状态将变为target_state_id中的值,表达式只支持简单的运算或datetime/time运算.loonflow会以首次匹配成功的条件为准,所以多个条件不要有冲突')
|
help_text='流转条件表达式,根据表达式中的条件来确定流转的下个状态,格式为[{"expression":"{days} > 3 and {days}<10", "target_state":11}] 其中{}用于填充工单的字段key,运算时会换算成实际的值,当符合条件下个状态将变为target_state_id中的值,表达式只支持简单的运算或datetime/time运算.loonflow会以首次匹配成功的条件为准,所以多个条件不要有冲突')
|
||||||
attribute_type = models.IntegerField(
|
attribute_type = models.IntegerField(
|
||||||
'属性类型', default=1, choices=attribute_type_choices, help_text='属性类型,1.同意,2.拒绝,3.其他')
|
'属性类型', default=1, choices=attribute_type_choices, help_text='属性类型,1.同意,2.拒绝,3.其他')
|
||||||
|
|
Loading…
Reference in New Issue