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 (