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

This commit is contained in:
shijing 2022-03-29 09:02:18 +08:00
commit 2ae17bdb04
4 changed files with 26 additions and 6 deletions

View File

@ -0,0 +1 @@
from rest_framework import serializers

View File

@ -24,7 +24,7 @@ def backup_database():
return completed return completed
@shared_task @shared_task
def reload_server(): def reload_server_git():
command = 'bash {}/git.sh'.format(SH_PATH) command = 'bash {}/git.sh'.format(SH_PATH)
completed = subprocess.run(command, shell=True, capture_output=True, text=True) completed = subprocess.run(command, shell=True, capture_output=True, text=True)
return completed return completed
@ -35,6 +35,12 @@ def reload_server_only():
completed = subprocess.run(command, shell=True, capture_output=True, text=True) completed = subprocess.run(command, shell=True, capture_output=True, text=True)
return completed return completed
@shared_task
def reload_server():
command = 'bash {}/reload.sh'.format(SH_PATH)
completed = subprocess.run(command, shell=True, capture_output=True, text=True)
return completed
@shared_task @shared_task
def backup_media(): def backup_media():
command = 'bash {}/backup_media.sh'.format(SH_PATH) command = 'bash {}/backup_media.sh'.format(SH_PATH)

View File

@ -2,7 +2,7 @@ from django.db.models import base
from rest_framework import urlpatterns from rest_framework import urlpatterns
from django.urls import path, include from django.urls import path, include
from rest_framework.routers import DefaultRouter from rest_framework.routers import DefaultRouter
from apps.develop.views import BackupDatabase, BackupMedia, CleanDataView, ReloadServer, ReloadServerOnly, UpdateCuttingView, UpdateEquipState, UpdateFIFOItem, UpdateFIFONumber, UpdateLastTestResult, UpdateNeedToOrder, UpdateSpg from apps.develop.views import BackupDatabase, BackupMedia, CleanDataView, ReloadServer, ReloadServerGit, ReloadServerOnly, UpdateCuttingView, UpdateEquipState, UpdateFIFOItem, UpdateFIFONumber, UpdateLastTestResult, UpdateNeedToOrder, UpdateSpg
urlpatterns = [ urlpatterns = [
path('cleandata/', CleanDataView.as_view()), path('cleandata/', CleanDataView.as_view()),
@ -14,8 +14,9 @@ urlpatterns = [
path('update_equip_state/', UpdateEquipState.as_view()), path('update_equip_state/', UpdateEquipState.as_view()),
path('update_need_to_order/', UpdateNeedToOrder.as_view()), path('update_need_to_order/', UpdateNeedToOrder.as_view()),
path('update_fifo_number/', UpdateFIFONumber.as_view()), path('update_fifo_number/', UpdateFIFONumber.as_view()),
path('reload_server/', ReloadServer.as_view()), path('reload_server_git/', ReloadServerGit.as_view()),
path('reload_server_only/', ReloadServerOnly.as_view()), path('reload_server_only/', ReloadServerOnly.as_view()),
path('reload_server/', ReloadServer.as_view()),
path('backup_database/', BackupDatabase.as_view()), path('backup_database/', BackupDatabase.as_view()),
path('backup_media/', BackupMedia.as_view()) path('backup_media/', BackupMedia.as_view())
] ]

View File

@ -4,7 +4,7 @@ from rest_framework.decorators import permission_classes
from rest_framework.views import APIView from rest_framework.views import APIView
from rest_framework.permissions import IsAdminUser, AllowAny from rest_framework.permissions import IsAdminUser, AllowAny
from rest_framework.response import Response from rest_framework.response import Response
from apps.develop.tasks import backup_database, backup_media, reload_server, reload_server_only from apps.develop.tasks import backup_database, backup_media, reload_server_git, reload_server_only, reload_server
from apps.inm.models import FIFO, FIFOItem, Inventory, MaterialBatch from apps.inm.models import FIFO, FIFOItem, Inventory, MaterialBatch
from apps.mtm.models import Material from apps.mtm.models import Material
from apps.pm.models import ProductionPlan, SubProductionPlan from apps.pm.models import ProductionPlan, SubProductionPlan
@ -129,14 +129,14 @@ class CorrectWproduct(APIView):
# WProduct.objects.filter(is_hidden=True).update(act_state=WProduct.WPR_ACT_STATE_USED) # WProduct.objects.filter(is_hidden=True).update(act_state=WProduct.WPR_ACT_STATE_USED)
class ReloadServer(APIView): class ReloadServerGit(APIView):
authentication_classes = [] authentication_classes = []
permission_classes = [] permission_classes = []
def post(self, request): def post(self, request):
""" """
拉取代码并重启服务 拉取代码并重启服务
""" """
completed = reload_server() completed = reload_server_git()
if completed.returncode == 0: if completed.returncode == 0:
return Response() return Response()
else: else:
@ -154,6 +154,18 @@ class ReloadServerOnly(APIView):
else: else:
raise APIException(completed.stdout) raise APIException(completed.stdout)
class ReloadServer(APIView):
permission_classes = [IsAdminUser]
def post(self, request):
"""
同步数据库并重启服务
"""
completed = reload_server()
if completed.returncode == 0:
return Response()
else:
raise APIException(completed.stdout)
class BackupDatabase(APIView): class BackupDatabase(APIView):
permission_classes = [IsAdminUser] permission_classes = [IsAdminUser]
def post(self, request): def post(self, request):