Merge branch 'develop' of https://e.coding.net/ctcdevteam/hberp/hberp into develop

This commit is contained in:
shijing 2022-02-25 15:43:47 +08:00
commit 1ff9dff340
10 changed files with 24 additions and 31 deletions

View File

@ -319,7 +319,7 @@ export default {
4: "生产入库", 4: "生产入库",
5: "其他入库", 5: "其他入库",
}, },
inpur: [], inpur: {},
listQuery: { listQuery: {
page: 1, page: 1,
page_size: 20, page_size: 20,

View File

@ -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) {

View File

@ -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>

View File

@ -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())

View File

@ -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

View File

@ -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

View File

@ -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 \

View File

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

View File

@ -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'

View File

@ -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()