From c6eb2d4ecd99bee148892abfbdca3e42f3dd6084 Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期三, 07 五月 2025 18:08:07 +0800
Subject: [PATCH] 工具管理-仓库管理功能
---
lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java | 81 ++++++++++++++++++++++++++++++++++++----
1 files changed, 72 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 7d4f340..fdf2f26 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")){
+ //瑙﹀彂瀹$
+ 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;
}
@@ -528,6 +538,13 @@
}else {
queryWrapper.eq(StrUtil.isNotEmpty(docQuery.getDocStatus()),"u.doc_status",docQuery.getDocStatus());
}
+ if (docQuery.getDocDispatchStatus() != null && docQuery.getDocDispatchStatus().contains(",")) {
+ String[] docDispatchStatusArray = docQuery.getDocDispatchStatus().split(",");
+ List<Integer> docDispatchStatusList = Arrays.stream(docDispatchStatusArray).map(Integer::parseInt).collect(Collectors.toList());
+ queryWrapper.in("u.doc_dispatch_status",docDispatchStatusList);
+ }else {
+ queryWrapper.eq(StrUtil.isNotEmpty(docQuery.getDocDispatchStatus()),"u.doc_dispatch_status",docQuery.getDocDispatchStatus());
+ }
if (StrUtil.isNotEmpty(docQuery.getPullStatus())){
if (("1").equals(docQuery.getPullStatus())){
queryWrapper.isNull("o.doc_id");
@@ -754,6 +771,13 @@
}else {
queryWrapper.eq(StrUtil.isNotEmpty(docQuery.getDocStatus()),"u.doc_status",docQuery.getDocStatus());
}
+ if (docQuery.getDocDispatchStatus() != null && docQuery.getDocDispatchStatus().contains(",")) {
+ String[] docDispatchStatusArray = docQuery.getDocDispatchStatus().split(",");
+ List<Integer> docDispatchStatusList = Arrays.stream(docDispatchStatusArray).map(Integer::parseInt).collect(Collectors.toList());
+ queryWrapper.in("u.doc_dispatch_status",docDispatchStatusList);
+ }else {
+ queryWrapper.eq(StrUtil.isNotEmpty(docQuery.getDocDispatchStatus()),"u.doc_dispatch_status",docQuery.getDocDispatchStatus());
+ }
if (StrUtil.isNotEmpty(docQuery.getPullStatus())){
if (("1").equals(docQuery.getPullStatus())){
queryWrapper.isNull("o.doc_id");
@@ -814,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