From e6c593c920420181bf31c6ad2a2da46abd9dfc4e Mon Sep 17 00:00:00 2001 From: chenjunyi <314298729@qq.com> Date: Wed, 28 May 2025 18:44:25 +0800 Subject: [PATCH] =?UTF-8?q?Crud=E8=A1=A8=E6=A0=BC=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9B=BF=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__pycache__/case.cpython-313.pyc | Bin 21337 -> 21539 bytes .../__pycache__/design.cpython-313.pyc | Bin 13465 -> 13465 bytes .../__pycache__/testDemand.cpython-313.pyc | Bin 21639 -> 22272 bytes apps/project/controllers/case.py | 4 +++- apps/project/controllers/testDemand.py | 10 +++++++++- .../schemas/__pycache__/case.cpython-313.pyc | Bin 8908 -> 8908 bytes .../__pycache__/testDemand.cpython-313.pyc | Bin 7953 -> 8233 bytes apps/project/schemas/case.py | 2 +- apps/project/schemas/testDemand.py | 5 +++++ logs/root_log | 16 ++++++++++++++++ requirements.txt | 2 +- 11 files changed, 35 insertions(+), 4 deletions(-) diff --git a/apps/project/controllers/__pycache__/case.cpython-313.pyc b/apps/project/controllers/__pycache__/case.cpython-313.pyc index a9f013d2315bdfef7cf91dd3650f83023154b742..072474e1564ec7689504582cdf7edf8718324729 100644 GIT binary patch delta 770 zcmcb)jB)V_M&8f7yj%=GF!h*OM*T+KS_h3K%s?JPG$Tk91VR~2p=$ zQei&dEWV2p7Axd{L>P`Dmc;B@C; zIjGA9A}t-+-FY`Jbu(jP{5$!MM;@c)W^d14Mn@^n#(&X9ghs znVEr20z_DUU;%PJSZvNrW02V7KxN^{XB{~hMJKOw zRGa+3nPW1GlQ_sEE^DB=#DzdZq$Zy-kpbEz?#^n-n8z8)86*!g0zpS(u{4-yOLeen zXD8Cloa`KyOnDrk%#$6QL=2P|g1HPBLfKsy%^35zf;l5r=mMQ-z^KAd%%lLsc`Ru# z7F!yFCii3$7gGsMrlR#gRYe;>L@$U41QMD8lP9@!GX9+`jT$h9d|_~Wd;c!#-E>{GcPX}0}z<*HrvSEX9560Y6Z&x delta 20 acmbQ4IWv>{GcPX}0}y0Bk=w}KX9562R0a?L diff --git a/apps/project/controllers/__pycache__/testDemand.cpython-313.pyc b/apps/project/controllers/__pycache__/testDemand.cpython-313.pyc index d8c62253afa27f8ea8187d071d603ea272b42e50..54fabc4e165dfc09f6666ca8ee10defbab8fff40 100644 GIT binary patch delta 2693 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 Q_&aH{SQT>D3R#@=FWQL)H2?qr diff --git a/apps/project/controllers/case.py b/apps/project/controllers/case.py index e259ac9..c3f56c5 100644 --- a/apps/project/controllers/case.py +++ b/apps/project/controllers/case.py @@ -283,6 +283,7 @@ class CaseController(ControllerBase): @route.post("/case/replace/", url_name='case-replace') @transaction.atomic def replace_case_step_content(self, payload: ReplaceCaseSchema): + print(payload) # 1.首先查询项目 project_obj: Project = get_object_or_404(Project, id=payload.project_id) # 2.查询[所有轮次]的selectRows的id @@ -301,7 +302,8 @@ class CaseController(ControllerBase): # 批量更新 operation 和 expect step_count = caseStep_qs.update( operation=Replace(F('operation'), Value(payload.originText), Value(payload.replaceText)), - expect=Replace(F('expect'), Value(payload.originText), Value(payload.replaceText)) + expect=Replace(F('expect'), Value(payload.originText), Value(payload.replaceText)), + result=Replace(F('result'), Value(payload.originText), Value(payload.replaceText)) ) # 5.提交更新 replace_count = case_qs.update(**replace_kwargs) diff --git a/apps/project/controllers/testDemand.py b/apps/project/controllers/testDemand.py index 373254a..85bdfac 100644 --- a/apps/project/controllers/testDemand.py +++ b/apps/project/controllers/testDemand.py @@ -16,7 +16,7 @@ from utils.codes import HTTP_INDEX_ERROR from apps.project.models import Design, Dut, Round, TestDemand, TestDemandContent, TestDemandContentStep from apps.project.schemas.testDemand import DeleteSchema, TestDemandModelOutSchema, TestDemandFilterSchema, \ TestDemandTreeReturnSchema, TestDemandTreeInputSchema, TestDemandCreateOutSchema, \ - TestDemandCreateInputSchema, ReplaceDemandContentSchema, \ + TestDemandCreateInputSchema, ReplaceDemandContentSchema, PriorityReplaceSchema, \ TestDemandRelatedSchema, TestDemandExistRelatedSchema, DemandCopyToDesignSchema # 导入ORM from apps.project.models import Project @@ -320,3 +320,11 @@ class TestDemandController(ControllerBase): # 5.提交更新 replace_count = demand_qs.update(**replace_kwargs) return {'count': replace_count + step_count} + + # 批量替换优先级-priority + @route.post("/testDemand/priorityReplace/", url_name='demand-priority-replace') + @transaction.atomic + def multiple_modify_demand_priority(self, payload: PriorityReplaceSchema): + # 替换优先级 + demand_qs = TestDemand.objects.filter(id__in=payload.selectRows) + demand_qs.update(priority=payload.priority) diff --git a/apps/project/schemas/__pycache__/case.cpython-313.pyc b/apps/project/schemas/__pycache__/case.cpython-313.pyc index 8da042027ca2657521942209ec317308c4b6a1fd..39f3baf07cd90339d5ca165b06cd534781f8cb2b 100644 GIT binary patch delta 20 acmX@(dd8LeGcPX}0}vc}YPOO4pb`K{B?iL) delta 20 acmX@(dd8LeGcPX}0}$LXmfy&IPzeAwxJdsa=amPmW#f(xC3`z{aDpCx=sxcg<%pesE3`O$k zYMSbs&oLHAPcC2*V>FrkQCfI%wz!yG40|w(I#5M0YY}HUlP23O(SV}N{G!Z~%AnMO zoW$hR;N*~B>^a81$=q_XTvLI1~XhTB&LAO+S30Oou?TL1t6 delta 76 zcmZ4KFwu_hGcPX}0}$9fk;|ANG?7n&anVNg#f&WJDw?XBpD-3kGy7@EPxg>IH(6R< cl4}xBB_j|QU!QCzf0gSi0~@1EkrYq>04X06rT_o{ diff --git a/apps/project/schemas/case.py b/apps/project/schemas/case.py index fdea45d..342cbb9 100644 --- a/apps/project/schemas/case.py +++ b/apps/project/schemas/case.py @@ -150,7 +150,7 @@ class PersonReplaceSchema(Schema): testPerson: str monitorPerson: str -# 事件替换Schema +# 时间替换Schema class ExetimeReplaceSchema(Schema): selectRows: List[int] = None exetime: str diff --git a/apps/project/schemas/testDemand.py b/apps/project/schemas/testDemand.py index 4688ece..8f3ff1b 100644 --- a/apps/project/schemas/testDemand.py +++ b/apps/project/schemas/testDemand.py @@ -125,3 +125,8 @@ class ReplaceDemandContentSchema(Schema): replaceText: str selectRows: List[int] selectColumn: List[str] + +# 优先级替换Schema +class PriorityReplaceSchema(Schema): + selectRows: List[int] = None + priority: str \ No newline at end of file diff --git a/logs/root_log b/logs/root_log index b9ec1c7..91e921f 100644 --- a/logs/root_log +++ b/logs/root_log @@ -27,3 +27,19 @@ [WARNING][2025-05-17 15:36:12,935][log.py:248]Unauthorized: /api/system/getInfo [WARNING][2025-05-17 15:36:13,000][log.py:248]Unauthorized: /api/system/logout [WARNING][2025-05-17 15:36:20,760][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2025-05-23 10:36:33,307][log.py:248]Not Found: / +[WARNING][2025-05-23 10:36:33,430][log.py:248]Not Found: /favicon.ico +[WARNING][2025-05-26 15:15:24,703][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2025-05-26 15:19:25,390][log.py:248]Not Found: / +[WARNING][2025-05-26 15:19:25,513][log.py:248]Not Found: /favicon.ico +[WARNING][2025-05-27 09:11:32,138][log.py:248]Not Found: / +[WARNING][2025-05-27 09:11:32,616][log.py:248]Not Found: /favicon.ico +[WARNING][2025-05-27 09:13:04,921][log.py:248]Not Found: / +[WARNING][2025-05-27 09:50:50,827][log.py:248]Unauthorized: /api/system/getInfo +[WARNING][2025-05-27 09:50:50,894][log.py:248]Unauthorized: /api/system/logout +[WARNING][2025-05-27 09:50:59,888][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2025-05-28 09:24:15,443][log.py:248]Unauthorized: /api/system/getInfo +[WARNING][2025-05-28 09:24:15,480][log.py:248]Unauthorized: /api/system/logout +[WARNING][2025-05-28 09:24:26,068][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2025-05-28 18:35:30,083][log.py:248]Not Found: /api/project/testDemand/priorityReplace/ +[WARNING][2025-05-28 18:35:42,929][log.py:248]Not Found: /api/project/testDemand/priorityReplace/ diff --git a/requirements.txt b/requirements.txt index 4145db3..7c5ed19 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,7 +18,7 @@ django-ninja-extra~=0.30.0 django-ninja-jwt~=5.3.7 django-tinymce~=4.1.0 PyJWT~=2.10.1 -cryptography~=44.0.3 +cryptography~=45.0.3 ninja-schema~=0.14.2 user-agents~=2.2.0 numpy~=2.2.5