Merge branch 'develop' of https://e.coding.net/ctcdevteam/hberp/hberp into develop
This commit is contained in:
commit
1ff9dff340
|
|
@ -319,7 +319,7 @@ export default {
|
||||||
4: "生产入库",
|
4: "生产入库",
|
||||||
5: "其他入库",
|
5: "其他入库",
|
||||||
},
|
},
|
||||||
inpur: [],
|
inpur: {},
|
||||||
listQuery: {
|
listQuery: {
|
||||||
page: 1,
|
page: 1,
|
||||||
page_size: 20,
|
page_size: 20,
|
||||||
|
|
|
||||||
|
|
@ -578,7 +578,7 @@
|
||||||
:headers="upHeaders"
|
:headers="upHeaders"
|
||||||
:file-list="fileList"
|
:file-list="fileList"
|
||||||
:limit="1"
|
:limit="1"
|
||||||
accept=".doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf"
|
accept=".doc,.docx,.pdf,.jpg,.png,.tif,.gif,.apng"
|
||||||
>
|
>
|
||||||
<el-button size="small" type="primary">上传文件</el-button>
|
<el-button size="small" type="primary">上传文件</el-button>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
|
|
@ -642,7 +642,7 @@
|
||||||
const defaultoutputmaterial = {};
|
const defaultoutputmaterial = {};
|
||||||
const defaultother = {};
|
const defaultother = {};
|
||||||
const defaultusedstep = {need_test:false};
|
const defaultusedstep = {need_test:false};
|
||||||
const defaulttechdoc = {enabled: false};
|
const defaulttechdoc = {enabled: false,name:""};
|
||||||
const defaultsubproducation = {
|
const defaultsubproducation = {
|
||||||
need_combtest: false,
|
need_combtest: false,
|
||||||
};
|
};
|
||||||
|
|
@ -1208,6 +1208,8 @@
|
||||||
|
|
||||||
handleUpSuccess(res, file, filelist) {
|
handleUpSuccess(res, file, filelist) {
|
||||||
this.techdoc.file = res.data.id;
|
this.techdoc.file = res.data.id;
|
||||||
|
console.log(res.data);
|
||||||
|
this.techdoc.name = res.data.name;
|
||||||
},
|
},
|
||||||
|
|
||||||
handleRemove(file, filelist) {
|
handleRemove(file, filelist) {
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,7 @@
|
||||||
:headers="upHeaders"
|
:headers="upHeaders"
|
||||||
:file-list="fileList"
|
:file-list="fileList"
|
||||||
:limit="1"
|
:limit="1"
|
||||||
accept="webp,bmp,jpg,png,tif,gif,apng"
|
accept=".webp,.bmp,.jpg,.png,.tif,.gif,.apng"
|
||||||
>
|
>
|
||||||
<el-button size="small" type="primary">上传文件</el-button>
|
<el-button size="small" type="primary">上传文件</el-button>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
from __future__ import absolute_import, unicode_literals
|
from __future__ import absolute_import, unicode_literals
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from celery import shared_task
|
from celery import shared_task
|
||||||
|
import os
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
|
||||||
@shared_task
|
@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')
|
ret = os.popen('sudo pg_dump -U postgres -d hberp -f /home/lighthouse/hberp_backup.sql')
|
||||||
return Response(ret.read())
|
return Response()
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def reload_server():
|
def reload_server():
|
||||||
import os # 更新后端
|
|
||||||
os.chdir('/home/lighthouse/hberp')
|
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())
|
return Response(ret.read())
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -192,6 +192,8 @@ class FIFOInPurSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
pu_order = validated_data['pu_order']
|
pu_order = validated_data['pu_order']
|
||||||
|
if pu_order.is_audited:
|
||||||
|
raise ValidationError('该采购订单未审核')
|
||||||
validated_data['vendor'] = pu_order.vendor
|
validated_data['vendor'] = pu_order.vendor
|
||||||
validated_data['number'] = 'RK' + ranstr(7)
|
validated_data['number'] = 'RK' + ranstr(7)
|
||||||
validated_data['type'] = FIFO.FIFO_TYPE_PUR_IN
|
validated_data['type'] = FIFO.FIFO_TYPE_PUR_IN
|
||||||
|
|
|
||||||
|
|
@ -17,15 +17,18 @@ class InmService:
|
||||||
for i in FIFOItem.objects.filter(fifo=instance):
|
for i in FIFOItem.objects.filter(fifo=instance):
|
||||||
material = i.material
|
material = i.material
|
||||||
warehouse = i.warehouse
|
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,\
|
o2, _ = MaterialBatch.objects.get_or_create(material=material, warehouse=warehouse, batch=i.batch,\
|
||||||
defaults={'material':material, 'warehouse':warehouse, 'count':0, 'batch':i.batch})
|
defaults={'material':material, 'warehouse':warehouse, 'count':0, 'batch':i.batch})
|
||||||
o2.count = o2.count + i.count
|
o2.count = o2.count + i.count
|
||||||
o2.save()
|
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()
|
material.save()
|
||||||
|
|
||||||
# 创建IProduct
|
# 创建IProduct
|
||||||
|
|
|
||||||
|
|
@ -352,6 +352,8 @@ class WProductViewSet(ListModelMixin, RetrieveModelMixin, GenericViewSet):
|
||||||
serializer = ScrapSerializer(data=request.data)
|
serializer = ScrapSerializer(data=request.data)
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
vdata = serializer.validated_data
|
vdata = serializer.validated_data
|
||||||
|
if obj.ticket is not None:
|
||||||
|
raise exceptions.APIException('该产品存在进行工单')
|
||||||
if obj.act_state == WProduct.WPR_ACT_STATE_NOTOK:
|
if obj.act_state == WProduct.WPR_ACT_STATE_NOTOK:
|
||||||
pass
|
pass
|
||||||
elif obj.step.process.id == 1 and \
|
elif obj.step.process.id == 1 and \
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import os
|
||||||
from celery import Celery
|
from celery import Celery
|
||||||
|
|
||||||
# set the default Django settings module for the 'celery' program.
|
# 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')
|
app = Celery('server')
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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'
|
|
||||||
|
|
@ -11,6 +11,6 @@ import os
|
||||||
|
|
||||||
from django.core.wsgi import get_wsgi_application
|
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()
|
application = get_wsgi_application()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue