From 990ad5f6db0bb3ad5a3795e77c5d6f3971c12ff3 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期四, 17 四月 2025 09:43:01 +0800
Subject: [PATCH] 增加筛选电子样板

---
 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java |   67 +++++++++++++++++++++++++++++----
 1 files changed, 58 insertions(+), 9 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 94b49ef..a1498cd 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
@@ -11,6 +11,7 @@
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.FileUploadResult;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.dnc.entity.*;
 import org.jeecg.modules.dnc.exception.ExceptionCast;
@@ -25,6 +26,8 @@
 import org.jeecg.modules.dncFlow.entity.DispatchFile;
 import org.jeecg.modules.dncFlow.service.IDispatchFileService;
 import org.jeecg.modules.mdc.entity.MdcEquipment;
+import org.jeecg.modules.system.entity.SysParams;
+import org.jeecg.modules.system.service.ISysParamsService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
@@ -58,6 +61,8 @@
     private IDeviceGroupService deviceGroupService;
     @Autowired
     private IDispatchFileService dispatchFileService;
+    @Autowired
+    private ISysParamsService sysParamsService;
 
     /*澶囦唤澶勭悊*/
     @Override
@@ -137,15 +142,20 @@
             }
         }
         boolean saveBool = super.save(docInfo);
-        if (uploadRequest.getIsApprove()&&saveBool){
-            //瑙﹀彂瀹$
-            DispatchFile dispatchFile = new DispatchFile();
-            dispatchFile.setDocId(docInfo.getDocId());
-            dispatchFile.setFileId(docFile.getFileId());
-            dispatchFile.setAttributionId(uploadRequest.getAttributionId());
-            dispatchFile.setAttributionType(String.valueOf(uploadRequest.getAttributionType()));
-            dispatchFile.setDocClassCode(uploadRequest.getDocClassCode());
-            dispatchFileService.saveDispatchFile(dispatchFile);
+        SysParams sysParams=sysParamsService.getSysPramBySettingKey("nc_dispatch_file");
+        if (sysParams ==null){
+            throw new JeecgBootException("鏈厤缃鍏C涓庣數瀛愬浘鐗堟槸鍚﹁Е鍙戝绛炬祦绋嬶紝璇疯仈绯荤鐞嗗憳");
+        }else {
+            if (saveBool&&sysParams.getSettingValue().equals("1")&&uploadRequest.getDocClassCode().equals("NC")){
+                //瑙﹀彂瀹$
+                DispatchFile dispatchFile = new DispatchFile();
+                dispatchFile.setDocId(docInfo.getDocId());
+                dispatchFile.setFileId(docFile.getFileId());
+                dispatchFile.setAttributionId(uploadRequest.getAttributionId());
+                dispatchFile.setAttributionType(String.valueOf(uploadRequest.getAttributionType()));
+                dispatchFile.setDocClassCode(uploadRequest.getDocClassCode());
+                dispatchFileService.saveDispatchFile(dispatchFile);
+            }
         }
         return saveBool;
     }
@@ -828,6 +838,45 @@
         return super.getBaseMapper().findDocExtList(queryWrapper);
     }
 
+    /**
+     * 閫氳繃涓�缁刟ttributionId,docClassCode,attributionType鏌ヨ鍙寚娲剧殑鏂囨。淇℃伅鍒楄〃
+     * @param docQuery
+     * @return
+     */
+    @Override
+    public List<DocInfo> findListByDocQuery(DocInfoQueryRequest docQuery){
+        if(docQuery == null || !ValidateUtil.validateString(docQuery.getAttributionIds())
+                || !ValidateUtil.validateInteger(docQuery.getAttributionType()) ||
+                !ValidateUtil.validateString(docQuery.getDocClassCode())) {
+            ExceptionCast.cast(CommonCode.INVALID_PARAM);
+        }
+        DocClassification docClassification = docClassificationService.getByCode(docQuery.getDocClassCode());
+        if(docClassification == null) {
+            ExceptionCast.cast(CommonCode.INVALID_PAGE);
+        }
+        List<String> attributionIds = Arrays.asList(docQuery.getAttributionIds().split(","));
+
+        QueryWrapper<DocInfo> queryWrapper = Wrappers.query();
+        queryWrapper.eq(StrUtil.isNotEmpty(docQuery.getDocId()),"u.doc_id",docQuery.getDocId());
+        queryWrapper.eq("r.attribution_type", docQuery.getAttributionType())
+                .in("r.attribution_id", attributionIds)
+                .eq("r.classification_id", docClassification.getClassificationId());
+        if (StringUtils.isNotEmpty(docQuery.getDocName())) {
+            int dotIndex = docQuery.getDocName().lastIndexOf(".");
+            if (dotIndex == -1) {
+                queryWrapper.like("u.doc_name", docQuery.getDocName());
+            } else {
+                String[] docNameArr = docQuery.getDocName().split("\\.");
+                queryWrapper.like(StrUtil.isNotEmpty(docNameArr[0]), "u.doc_name", docNameArr[0]);
+                queryWrapper.eq(StrUtil.isNotEmpty(docNameArr[1]), "u.doc_suffix", docNameArr[1]);
+            }
+        }
+        getDocQuery(docQuery, queryWrapper);
+        return super.getBaseMapper().findDocExtList(queryWrapper);
+    }
+
+
+
     @Override
     public List<DocInfo> getByProcessIds(List<ProcessStream> streams) {
         List<String> ids = new ArrayList<>();

--
Gitblit v1.9.3