This commit is contained in:
caoqianming 2024-10-20 10:46:08 +08:00
commit f02008f6de
2 changed files with 32 additions and 43 deletions

View File

@ -8,77 +8,60 @@ from rest_framework.response import Response
from apps.utils.viewsets import CustomGenericViewSet, RetrieveModelMixin, CustomListModelMixin
# Create your views here.
class LableMatViewSet(CustomListModelMixin, RetrieveModelMixin, CustomGenericViewSet):
perms_map = {"post": "*", "get": "*"}
serializer_class = LabelMatSerializer
queryset = LableMat.objects.all()
select_related_fields = ["material", "material_origin", "supplier"]
@action(methods=['post'], detail=False, serializer_class=TidSerializer)
@action(methods=["post"], detail=False, serializer_class=TidSerializer)
def get_from_mb(self, request, pk=None):
"""
从仓库明细获取物料标签
从仓库明细获取物料标签
"""
tid = request.data.get('tid')
tid = request.data.get("tid")
try:
mb = MaterialBatch.objects.get(id=tid)
except MaterialBatch.DoesNotExist:
raise NotFound('仓库明细不存在')
obj, _ = LableMat.objects.get_or_create(
state=10,
material=mb.material,
batch=mb.batch,
defaults={
"supplier": mb.supplier
}
)
raise NotFound("仓库明细不存在")
obj, _ = LableMat.objects.get_or_create(state=10, material=mb.material, batch=mb.batch, defaults={"supplier": mb.supplier})
rdata = LabelMatSerializer(obj).data
rdata["code_label"] = f"mat:{obj.id}"
return Response(rdata)
@action(methods=['post'], detail=False, serializer_class=TidSerializer)
@action(methods=["post"], detail=False, serializer_class=TidSerializer)
def get_from_wm(self, request, pk=None):
"""
从车间库存明细获取物料标签
从车间库存明细获取物料标签
"""
tid = request.data.get('tid')
tid = request.data.get("tid")
try:
wm = WMaterial.objects.get(id=tid)
except WMaterial.DoesNotExist:
raise NotFound('车间库存不存在')
obj, _ = LableMat.objects.get_or_create(
state=wm.state,
material=wm.material,
batch=wm.batch,
notok_sign=wm.notok_sign,
material_origin=wm.material_origin)
raise NotFound("车间库存不存在")
obj, _ = LableMat.objects.get_or_create(state=wm.state, material=wm.material, batch=wm.batch, notok_sign=wm.notok_sign, material_origin=wm.material_origin)
rdata = LabelMatSerializer(obj).data
rdata["code_label"] = f"mat:{obj.id}"
return Response(rdata)
@action(methods=['post'], detail=False, serializer_class=TidSerializer)
@action(methods=["post"], detail=False, serializer_class=TidSerializer)
def get_from_mioitem(self, request, pk=None):
"""
从出入库明细获取物料标签
从出入库明细获取物料标签
"""
tid = request.data.get('tid')
tid = request.data.get("tid")
try:
mioitem: MIOItem = MIOItem.objects.get(id=tid)
except MIOItem.DoesNotExist:
raise NotFound('出入库明细不存在')
obj, _ = LableMat.objects.get_or_create(
state=10,
material=mioitem.material,
batch=mioitem.batch,
defaults={
"supplier": mioitem.mio.supplier
})
raise NotFound("出入库明细不存在")
obj, _ = LableMat.objects.get_or_create(state=10, material=mioitem.material, batch=mioitem.batch, defaults={"supplier": mioitem.mio.supplier})
rdata = LabelMatSerializer(obj).data
rdata["code_label"] = f"mat:{obj.id}"
return rdata
return Response(rdata)

View File

@ -10,14 +10,11 @@ def backup_database():
备份数据库
"""
import datetime
name = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
name = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
command = 'echo "{}" | sudo -S pg_dump "user={} password={} dbname={}" > {}/bak_{}.sql'.format(
SD_PWD,
DATABASES['default']['USER'],
DATABASES['default']['PASSWORD'],
DATABASES['default']['NAME'],
BACKUP_PATH + '/database',
name)
SD_PWD, DATABASES["default"]["USER"], DATABASES["default"]["PASSWORD"], DATABASES["default"]["NAME"], BACKUP_PATH + "/database", name
)
completed = subprocess.run(command, shell=True, capture_output=True, text=True)
if completed.returncode != 0:
return completed.stderr
@ -25,7 +22,7 @@ def backup_database():
@shared_task
def reload_server_git():
command = 'bash {}/git_server.sh'.format(SH_PATH)
command = "bash {}/git_server.sh".format(SH_PATH)
completed = subprocess.run(command, shell=True, capture_output=True, text=True)
if completed.returncode != 0:
return completed.stderr
@ -33,7 +30,7 @@ def reload_server_git():
@shared_task
def reload_web_git():
command = 'bash {}/git_web.sh'.format(SH_PATH)
command = "bash {}/git_web.sh".format(SH_PATH)
completed = subprocess.run(command, shell=True, capture_output=True, text=True)
if completed.returncode != 0:
return completed.stderr
@ -48,7 +45,16 @@ def reload_server_only():
@shared_task
def backup_media():
command = 'bash {}/backup_media.sh'.format(SH_PATH)
command = "bash {}/backup_media.sh".format(SH_PATH)
completed = subprocess.run(command, shell=True, capture_output=True, text=True)
if completed.returncode != 0:
return completed.stderr
@shared_task
def test_task():
import time
while True:
print("test")
time.sleep(10)