From 1d85352a74a2e36c0877642b82cf2e868daa25a7 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Wed, 5 Aug 2026 16:29:31 +0800 Subject: [PATCH] =?UTF-8?q?2026-08-05=20=E7=89=A9=E6=96=99=E6=A1=A3?= =?UTF-8?q?=E6=A1=88=E7=AE=A1=E7=90=86-=E3=80=8BSOP=E6=B8=85=E5=8D=95-?= =?UTF-8?q?=E3=80=8B=E4=BB=8E=E6=96=87=E4=BB=B6=E5=BA=93=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E3=80=90=E5=88=A0=E9=99=A4=E3=80=91=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/pms/controller/QcController.java | 9 +++++++ .../gaotao/modules/pms/mapper/QcMapper.java | 5 ++++ .../pms/service/Impl/QcServiceImpl.java | 24 +++++++++++++++++++ .../gaotao/modules/pms/service/QcService.java | 5 ++++ src/main/resources/mapper/pms/QcMapper.xml | 20 ++++++++++++++++ 5 files changed, 63 insertions(+) diff --git a/src/main/java/com/gaotao/modules/pms/controller/QcController.java b/src/main/java/com/gaotao/modules/pms/controller/QcController.java index 106e632..51b057d 100644 --- a/src/main/java/com/gaotao/modules/pms/controller/QcController.java +++ b/src/main/java/com/gaotao/modules/pms/controller/QcController.java @@ -1930,6 +1930,15 @@ public class QcController { return R.ok().put("page", page); } + /** + * 删除文件库中的SOP文件(file_management) + **/ + @PostMapping("/sopAvailableFiles/delete") + public R deleteSopAvailableFiles(@RequestBody List> dataList){ + qcService.deleteSopAvailableFiles(dataList); + return R.ok(); + } + /** * 物料档案 SOP:批量本地上传,落盘 D:\sop_files 并直接写入 file_management(不调用存储过程) **/ diff --git a/src/main/java/com/gaotao/modules/pms/mapper/QcMapper.java b/src/main/java/com/gaotao/modules/pms/mapper/QcMapper.java index ddee601..6a059d9 100644 --- a/src/main/java/com/gaotao/modules/pms/mapper/QcMapper.java +++ b/src/main/java/com/gaotao/modules/pms/mapper/QcMapper.java @@ -532,6 +532,11 @@ public interface QcMapper { */ IPage> sopAvailableFiles(IPage> page, @Param("params") Map params); + /** + * 删除文件库中的SOP文件(file_management) + */ + int deleteSopAvailableFile(@Param("params") Map params); + /** * 插入SOP记录 */ diff --git a/src/main/java/com/gaotao/modules/pms/service/Impl/QcServiceImpl.java b/src/main/java/com/gaotao/modules/pms/service/Impl/QcServiceImpl.java index 78f3b79..f7f3508 100644 --- a/src/main/java/com/gaotao/modules/pms/service/Impl/QcServiceImpl.java +++ b/src/main/java/com/gaotao/modules/pms/service/Impl/QcServiceImpl.java @@ -4303,6 +4303,30 @@ public class QcServiceImpl implements QcService { return new PageUtils(resultPage); } + @Override + @Transactional + public void deleteSopAvailableFiles(List> dataList) { + if (dataList == null || dataList.isEmpty()) { + return; + } + for (Map params : dataList) { + if (params == null || params.isEmpty()) { + continue; + } + int deletedRows = qcMapper.deleteSopAvailableFile(params); + if (deletedRows <= 0) { + continue; + } + String sopUrl = params.get("sopUrl") == null ? "" : String.valueOf(params.get("sopUrl")); + if (StringUtils.isNotBlank(sopUrl)) { + File localFile = new File(sopUrl); + if (localFile.exists() && !localFile.delete()) { + log.warn("删除本地SOP文件失败: {}", sopUrl); + } + } + } + } + @Override @Transactional public void sopFileUploadSave(List> dataList) { diff --git a/src/main/java/com/gaotao/modules/pms/service/QcService.java b/src/main/java/com/gaotao/modules/pms/service/QcService.java index 5b5dc8a..46f5065 100644 --- a/src/main/java/com/gaotao/modules/pms/service/QcService.java +++ b/src/main/java/com/gaotao/modules/pms/service/QcService.java @@ -285,6 +285,11 @@ public interface QcService { */ PageUtils sopAvailableFiles(Map params); + /** + * 删除文件库中的SOP文件(file_management) + */ + void deleteSopAvailableFiles(List> dataList); + /** * 保存SOP文件关联 */ diff --git a/src/main/resources/mapper/pms/QcMapper.xml b/src/main/resources/mapper/pms/QcMapper.xml index d4ab72f..2b02dad 100644 --- a/src/main/resources/mapper/pms/QcMapper.xml +++ b/src/main/resources/mapper/pms/QcMapper.xml @@ -4001,6 +4001,7 @@ + + + DELETE FROM file_management + + + + id = #{params.id} + + + site = #{params.site} + AND bu_no = #{params.buNo} + AND file_no = #{params.fileNo} + AND ISNULL(sop_rev_no, '') = ISNULL(#{params.sopRevNo}, '') + + + AND ISNULL(public_flag, 'N') = 'N' + + + INSERT INTO part_sop (