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