From cc44920da3d40b8248b67560026e891afdd1a6ab Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期四, 08 五月 2025 17:57:14 +0800
Subject: [PATCH] 1.查询可以被引用的部件接口开发完成 2.借用部件(可批量) 开发完成 3.修改原有新增、修改部件接口 完成 4.修改原有删除文档与导入文档接口 完成 5.修改工作流问题

---
 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java |   37 ++++++++++++++++++++++++++++++++++---
 1 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java
index fdf2f26..3b4b965 100644
--- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java
+++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java
@@ -1,5 +1,6 @@
 package org.jeecg.modules.dnc.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -63,6 +64,9 @@
     private IDispatchFileService dispatchFileService;
     @Autowired
     private ISysParamsService sysParamsService;
+    @Autowired
+    @Lazy
+    private IComponentInfoService componentInfoService;
 
     /*澶囦唤澶勭悊*/
     @Override
@@ -99,6 +103,19 @@
         docRelative.setAttributionType(uploadRequest.getAttributionType());
         docRelative.setClassificationId(docClass.getClassificationId());
         boolean b = docRelativeService.save(docRelative);
+        if (uploadRequest.getAttributionType()==2){
+            //鏌ヨ鍊熺敤鐨勯儴浠�
+            List<ComponentInfo> borrowComponentInfoList=componentInfoService.list(new QueryWrapper<ComponentInfo>().eq("borrow_id", uploadRequest.getAttributionId()));
+            if (!borrowComponentInfoList.isEmpty()) {
+                borrowComponentInfoList.forEach(item->{
+                    DocRelative borrowDocRelative = new DocRelative();
+                    BeanUtil.copyProperties(docRelative,borrowDocRelative);
+                    borrowDocRelative.setAttributionId(item.getComponentId());
+                    borrowDocRelative.setId(null);
+                    docRelativeService.save(borrowDocRelative);
+                });
+            }
+        }
         if(!b)
             ExceptionCast.cast(DocumentCode.DOC_UPLOAD_ERROR);
         DocFile docFile = new DocFile();
@@ -318,7 +335,7 @@
 
     @Override
     @Transactional(rollbackFor = {Exception.class})
-    public boolean deleteDocInfo(String id) {
+    public boolean deleteDocInfo(String id,String attrType,String attrId) {
         if(!ValidateUtil.validateString(id))
             ExceptionCast.cast(CommonCode.INVALID_PARAM);
         DocInfo en = super.getById(id);
@@ -326,6 +343,20 @@
             ExceptionCast.cast(DocumentCode.DOC_NOT_EXIST);
         if(en.getDocStatus() != 1)
             ExceptionCast.cast(DocumentCode.DOC_DEL_ERROR);
+        //鏌ヨ瀵瑰簲鐨勫叧绯�
+        if ("2".equals(attrType)) {
+            //鍒ゆ柇閮ㄤ欢寮曠敤
+            ComponentInfo componentInfo=componentInfoService.getById(attrId);
+            if(componentInfo!=null&&componentInfo.getBorrowId()!=null){
+                //鍊熺敤鐨勯儴浠讹紝鍙垹闄よ嚜宸辩殑鍏崇郴
+                DocRelative docRelative=docRelativeService.getOne(new QueryWrapper<DocRelative>()
+                        .eq("attribution_id", attrId).eq("attribution_type", 2).eq("doc_id",id));
+                if(docRelative!=null){
+                    docRelativeService.removeById(docRelative.getId());
+                    return true;
+                }
+            }
+        }
         FileOperate operate = fileOperateService.getByDocId(id);
         if(operate != null)
             ExceptionCast.cast(DocumentCode.DOC_IS_OPERATING);
@@ -896,11 +927,11 @@
 
     @Override
     @Transactional(rollbackFor = {Exception.class})
-    public boolean batchRemoveDocInfo(String[] docIds) {
+    public boolean batchRemoveDocInfo(String[] docIds,String attrType,String attrId) {
         if(docIds == null || docIds.length < 1)
             ExceptionCast.cast(CommonCode.INVALID_PARAM);
         for(String docId : docIds) {
-            this.deleteDocInfo(docId);
+            this.deleteDocInfo(docId,attrType,attrId);
         }
         return true;
     }

--
Gitblit v1.9.3