diff --git a/hb_daq/default.aproj b/hb_daq/default.aproj index c3e936d..0aec0ec 100644 --- a/hb_daq/default.aproj +++ b/hb_daq/default.aproj @@ -1,5 +1,5 @@  - + diff --git a/hb_daq/main.aardio b/hb_daq/main.aardio index fe3c075..98024af 100644 --- a/hb_daq/main.aardio +++ b/hb_daq/main.aardio @@ -160,7 +160,7 @@ http.beginRequest( mainForm.serverUrl.text + "/api/em/daq/", "POST" ); var res = web.json.parse(html) if(res['code']==200){ import fsys - var theDir = fsys.createDir(mainForm.backupPath.text+"\"+number, false) + var theDir = fsys.createDir(mainForm.backupPath.text+"\\"+number, false) fsys.move(fullpath, theDir) //移动到备份文件库 mainForm.listbox.add("采集成功!") }else{ @@ -196,7 +196,7 @@ mainForm.listview.onnotify = function(id,code,ptr){ mainForm.add.oncommand = function(id,event){ -var frmChild = mainForm.loadForm("\dlg\add.aardio"); +var frmChild = mainForm.loadForm("\\dlg\\add.aardio"); frmChild.doModal(); } diff --git a/hb_server/apps/mtm/migrations/0017_auto_20210928_1355.py b/hb_server/apps/mtm/migrations/0017_auto_20210928_1355.py new file mode 100644 index 0000000..4c07d85 --- /dev/null +++ b/hb_server/apps/mtm/migrations/0017_auto_20210928_1355.py @@ -0,0 +1,34 @@ +# Generated by Django 3.2.6 on 2021-09-28 05:55 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('mtm', '0016_auto_20210917_0900'), + ] + + operations = [ + migrations.AddField( + model_name='recordform', + name='material', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='mtm.material', verbose_name='关联物料'), + ), + migrations.AlterField( + model_name='material', + name='processes', + field=models.JSONField(blank=True, default=list, null=True, verbose_name='工艺流程'), + ), + migrations.AlterField( + model_name='recordform', + name='step', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='mtm.step', verbose_name='关联子工序'), + ), + migrations.AlterField( + model_name='recordform', + name='type', + field=models.IntegerField(choices=[(1, '生产记录'), (2, '检验记录')], default=1, verbose_name='表格类型'), + ), + ] diff --git a/hb_server/apps/mtm/models.py b/hb_server/apps/mtm/models.py index e3f77ed..a9b1675 100644 --- a/hb_server/apps/mtm/models.py +++ b/hb_server/apps/mtm/models.py @@ -29,7 +29,7 @@ class Material(CommonAModel): specification = models.CharField('型号', max_length=100, null=True, blank=True) type = models.CharField('物料类型', choices= type_choices, max_length=20, default=1) sort_str = models.CharField('排序字符', max_length=100, null=True, blank=True) - processes = models.JSONField('工艺流程', default=list, blank=True) + processes = models.JSONField('工艺流程', default=list, blank=True, null=True) unit = models.CharField('基准计量单位', choices=unit_choices, default='块', max_length=10) class Meta: @@ -80,11 +80,12 @@ class RecordForm(CommonAModel): """ type_choices=( (1, '生产记录'), + (2, '检验记录') ) name = models.CharField('表格名称', max_length=100, unique=True) type = models.IntegerField('表格类型', choices=type_choices, default=1) - step = models.ForeignKey(Step, verbose_name='关联子工序', on_delete=models.CASCADE) - + step = models.ForeignKey(Step, verbose_name='关联子工序', on_delete=models.CASCADE, null=True, blank=True) + material = models.ForeignKey(Material, verbose_name='关联物料', on_delete=models.CASCADE, null=True, blank=True) class Meta: verbose_name = '记录表格' verbose_name_plural = verbose_name @@ -194,3 +195,4 @@ class TechDoc(CommonAModel): class Meta: verbose_name = '技术文件' verbose_name_plural = verbose_name + \ No newline at end of file diff --git a/hb_server/apps/mtm/views.py b/hb_server/apps/mtm/views.py index 317575c..974bdba 100644 --- a/hb_server/apps/mtm/views.py +++ b/hb_server/apps/mtm/views.py @@ -147,7 +147,7 @@ class RecordFormViewSet(OptimizationMixin, CreateUpdateModelAMixin, ModelViewSet """ perms_map = {'*':'*'} queryset = RecordForm.objects.all() - filterset_fields = ['step', 'type'] + filterset_fields = ['step', 'type', 'material'] search_fields = ['name'] def get_serializer_class(self):