diff --git a/hb_client/src/views/inm/fifo.vue b/hb_client/src/views/inm/fifo.vue index 632288e..27b6a54 100644 --- a/hb_client/src/views/inm/fifo.vue +++ b/hb_client/src/views/inm/fifo.vue @@ -319,7 +319,7 @@ export default { 4: "生产入库", 5: "其他入库", }, - inpur: [], + inpur: {}, listQuery: { page: 1, page_size: 20, diff --git a/hb_client/src/views/mtm/productprocess.vue b/hb_client/src/views/mtm/productprocess.vue index 13d34cd..4dfc3c6 100644 --- a/hb_client/src/views/mtm/productprocess.vue +++ b/hb_client/src/views/mtm/productprocess.vue @@ -578,7 +578,7 @@ :headers="upHeaders" :file-list="fileList" :limit="1" - accept=".doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf" + accept=".doc,.docx,.pdf,.jpg,.png,.tif,.gif,.apng" > 上传文件 @@ -642,7 +642,7 @@ const defaultoutputmaterial = {}; const defaultother = {}; const defaultusedstep = {need_test:false}; - const defaulttechdoc = {enabled: false}; + const defaulttechdoc = {enabled: false,name:""}; const defaultsubproducation = { need_combtest: false, }; @@ -1208,6 +1208,8 @@ handleUpSuccess(res, file, filelist) { this.techdoc.file = res.data.id; + console.log(res.data); + this.techdoc.name = res.data.name; }, handleRemove(file, filelist) { diff --git a/hb_client/src/views/sam/salesdetail.vue b/hb_client/src/views/sam/salesdetail.vue index 6e7e8be..4169d19 100644 --- a/hb_client/src/views/sam/salesdetail.vue +++ b/hb_client/src/views/sam/salesdetail.vue @@ -125,7 +125,7 @@ :headers="upHeaders" :file-list="fileList" :limit="1" - accept="webp,bmp,jpg,png,tif,gif,apng" + accept=".webp,.bmp,.jpg,.png,.tif,.gif,.apng" > 上传文件 diff --git a/hb_server/apps/develop/tasks.py b/hb_server/apps/develop/tasks.py index 04d8236..a7345dc 100644 --- a/hb_server/apps/develop/tasks.py +++ b/hb_server/apps/develop/tasks.py @@ -1,7 +1,8 @@ from __future__ import absolute_import, unicode_literals from rest_framework.response import Response from celery import shared_task - +import os +import subprocess @shared_task @@ -9,15 +10,13 @@ def backup_database(): """ 备份数据库 """ - import os ret = os.popen('sudo pg_dump -U postgres -d hberp -f /home/lighthouse/hberp_backup.sql') - return Response(ret.read()) + return Response() @shared_task def reload_server(): - import os # 更新后端 os.chdir('/home/lighthouse/hberp') - ret = os.popen('sudo git pull && sudo service supervisor reload') + ret = subprocess.run('sudo git pull && sudo service supervisor reload') return Response(ret.read()) diff --git a/hb_server/apps/inm/serializers.py b/hb_server/apps/inm/serializers.py index 1b14ae3..6f29ac2 100644 --- a/hb_server/apps/inm/serializers.py +++ b/hb_server/apps/inm/serializers.py @@ -192,6 +192,8 @@ class FIFOInPurSerializer(serializers.ModelSerializer): def create(self, validated_data): pu_order = validated_data['pu_order'] + if pu_order.is_audited: + raise ValidationError('该采购订单未审核') validated_data['vendor'] = pu_order.vendor validated_data['number'] = 'RK' + ranstr(7) validated_data['type'] = FIFO.FIFO_TYPE_PUR_IN diff --git a/hb_server/apps/inm/services.py b/hb_server/apps/inm/services.py index aac1d34..c9fbbeb 100644 --- a/hb_server/apps/inm/services.py +++ b/hb_server/apps/inm/services.py @@ -17,15 +17,18 @@ class InmService: for i in FIFOItem.objects.filter(fifo=instance): material = i.material warehouse = i.warehouse - o1, _ = Inventory.objects.get_or_create(material=material, warehouse=warehouse, \ - defaults={'material':material, 'warehouse':warehouse, 'count':0}) - o1.count = o1.count + i.count - o1.save() + o2, _ = MaterialBatch.objects.get_or_create(material=material, warehouse=warehouse, batch=i.batch,\ defaults={'material':material, 'warehouse':warehouse, 'count':0, 'batch':i.batch}) o2.count = o2.count + i.count o2.save() - material.count = material.count + i.count + + iv, _= Inventory.objects.get_or_create(material=material, warehouse=warehouse, \ + defaults={'material':material, 'warehouse':warehouse, 'count':0}) + iv.count = MaterialBatch.objects.filter(material=material, warehouse=warehouse).count() + iv.save() + + material.count = MaterialBatch.objects.filter(material=material).count() material.save() # 创建IProduct diff --git a/hb_server/apps/wpm/views.py b/hb_server/apps/wpm/views.py index 04c7f9f..00410a0 100644 --- a/hb_server/apps/wpm/views.py +++ b/hb_server/apps/wpm/views.py @@ -352,6 +352,8 @@ class WProductViewSet(ListModelMixin, RetrieveModelMixin, GenericViewSet): serializer = ScrapSerializer(data=request.data) serializer.is_valid(raise_exception=True) vdata = serializer.validated_data + if obj.ticket is not None: + raise exceptions.APIException('该产品存在进行工单') if obj.act_state == WProduct.WPR_ACT_STATE_NOTOK: pass elif obj.step.process.id == 1 and \ diff --git a/hb_server/server/celery.py b/hb_server/server/celery.py index 818e248..80031a2 100644 --- a/hb_server/server/celery.py +++ b/hb_server/server/celery.py @@ -3,7 +3,7 @@ import os from celery import Celery # set the default Django settings module for the 'celery' program. -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'server.settings_dev') +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'server.settings_pro') app = Celery('server') diff --git a/hb_server/server/settings_pro.py b/hb_server/server/settings_pro.py deleted file mode 100644 index a40e995..0000000 --- a/hb_server/server/settings_pro.py +++ /dev/null @@ -1,15 +0,0 @@ -from .settings import * -DEBUG = False -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.postgresql', - 'NAME': 'db', - 'USER': 'postgres', - 'PASSWORD': 'password', - 'HOST': 'localhost', - 'PORT': '5432', - } -} - -# celery配置 -CELERY_BEAT_SCHEDULER = 'django_celery_beat.schedulers:DatabaseScheduler' \ No newline at end of file diff --git a/hb_server/server/wsgi.py b/hb_server/server/wsgi.py index f369e60..d3fcade 100644 --- a/hb_server/server/wsgi.py +++ b/hb_server/server/wsgi.py @@ -11,6 +11,6 @@ import os from django.core.wsgi import get_wsgi_application -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'server.settings_dev') +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'server.settings_pro') application = get_wsgi_application()