From ac20dc99bf1f463365dba071973e08fffbd294b4 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期五, 14 七月 2023 14:12:21 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/service/sys/AttachService.java | 84 +++++++++++++++++++++++++++++++++++++++++- 1 files changed, 82 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/lf/server/service/sys/AttachService.java b/src/main/java/com/lf/server/service/sys/AttachService.java index fe7c253..290b489 100644 --- a/src/main/java/com/lf/server/service/sys/AttachService.java +++ b/src/main/java/com/lf/server/service/sys/AttachService.java @@ -1,12 +1,18 @@ package com.lf.server.service.sys; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.lf.server.entity.all.BaseEntity; import com.lf.server.entity.data.FmeLogEntity; import com.lf.server.entity.sys.AttachEntity; +import com.lf.server.helper.ClassHelper; import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.all.BasicMapper; import com.lf.server.mapper.sys.AttachMapper; +import com.lf.server.service.all.UploadAttachService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.lang.reflect.Field; import java.util.List; /** @@ -17,6 +23,8 @@ public class AttachService implements AttachMapper { @Autowired AttachMapper attachMapper; + + private static String tabs; @Override public Integer selectCount(String name) { @@ -98,8 +106,19 @@ } @Override + public List<FmeLogEntity> selectFmeLogs(String tabs) { + return attachMapper.selectFmeLogs(tabs); + } + + /** + * 鏌ヨFME鏃ュ織 + */ public List<FmeLogEntity> selectFmeLogs() { - return attachMapper.selectFmeLogs(); + if (StringHelper.isEmpty(tabs)) { + tabs = UploadAttachService.getTabs().replace("'", ""); + } + + return attachMapper.selectFmeLogs(tabs); } @Override @@ -107,10 +126,71 @@ return attachMapper.updateFmeLog(id); } + @Override + public Integer insertAttachByMeta(String tab, String tabGuid, String metaName, String dirid) { + return attachMapper.insertAttachByMeta(tab, tabGuid, metaName, dirid); + } + /** * 鍚屾闄勪欢 */ public void syncAttaches(FmeLogEntity entity) { - // + String tab = entity.getPgNs() + "." + entity.getTcdm(); + String fieldName = UploadAttachService.ATTACH_TABS.get(tab); + + List<?> list = selectRowsByParentid(entity.getTcdm().replace("_", ""), entity.getParentid(), fieldName); + if (null == list || list.isEmpty()) { + return; + } + + Field field = UploadAttachService.getAnnexField(list.get(0), tab); + if (null == field) { + return; + } + + for (Object obj : list) { + String[] names = UploadAttachService.getNames(UploadAttachService.getAnnexName(obj, field)); + if (null == names || names.length == 0) { + continue; + } + + BaseEntity be = (BaseEntity) obj; + String dirid = getDirid(be); + for (String name : names) { + if (StringHelper.isEmpty(name)) { + continue; + } + insertAttachByMeta(tab, be.getEventid(), name.trim(), dirid); + } + } + } + + /** + * 鑾峰彇鐩綍缂栫爜 + */ + private String getDirid(BaseEntity be) { + if (StringHelper.isEmpty(be.getDirid())) { + return null; + } + + String dirid = be.getDirid().substring(0, 2); + + return StringHelper.getRightLike(dirid); + } + + /** + * 鏍规嵁鐖禝D鏌ヨ璁板綍 + */ + private List<?> selectRowsByParentid(String entity, String parentid, String field) { + BasicMapper baseMapper = ClassHelper.getBasicMapper(entity); + if (null == baseMapper) { + return null; + } + + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("parentid", parentid); + wrapper.apply(field + " is not null"); + + return baseMapper.selectList(wrapper); } } -- Gitblit v1.9.3