更新工作流的字段类型

This commit is contained in:
曹前明 2022-07-07 09:57:48 +08:00
parent 7a62edb988
commit 64e80a7295
4 changed files with 97 additions and 2 deletions

View File

@ -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,
},
),
]

View File

@ -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'),
),
]

View File

@ -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='条件表达式'),
),
]

View File

@ -99,7 +99,7 @@ class State(CommonAModel):
help_text='可以为空(无处理人的情况,如结束状态)、userid、userid列表\部门id\角色id\变量(create_by,create_by_tl)\脚本记录的id等包含子工作流的需要设置处理人为loonrobot')
# json格式存储,包括读写属性1只读2必填3可选4不显示, 字典的字典
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,
help_text='1.主动接单(如果当前处理人实际为多人的时候,需要先接单才能处理) 2.直接处理(即使当前处理人实际为多人,也可以直接处理) 3.随机分配(如果实际为多人,则系统会随机分配给其中一个人) 4.全部处理(要求所有参与人都要处理一遍,才能进入下一步)')
filter_policy = models.IntegerField('参与人过滤策略', default=0, choices=state_filter_choices)
@ -160,7 +160,7 @@ class Transition(CommonAModel):
verbose_name='源状态', related_name='sstate_transition')
destination_state = models.ForeignKey(State, on_delete=models.CASCADE,
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会以首次匹配成功的条件为准所以多个条件不要有冲突')
attribute_type = models.IntegerField(
'属性类型', default=1, choices=attribute_type_choices, help_text='属性类型1.同意2.拒绝3.其他')