From ed8c7a5effd0d423ce1118b680ecdca6fe732609 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 02 七月 2025 16:43:13 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.11.205:9000/r/P2022036_Service --- src/main/java/com/lf/server/service/sys/AttachService.java | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 102 insertions(+), 4 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 b7c2994..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,11 +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,16 +24,18 @@ @Autowired AttachMapper attachMapper; + private static String tabs; + @Override public Integer selectCount(String name) { - name = StringHelper.getLikeStr(name); + name = StringHelper.getLikeUpperStr(name); return attachMapper.selectCount(name); } @Override public List<AttachEntity> selectByPage(String name, Integer limit, Integer offset) { - name = StringHelper.getLikeStr(name); + name = StringHelper.getLikeUpperStr(name); return attachMapper.selectByPage(name, limit, offset); } @@ -47,7 +56,7 @@ } @Override - public List<AttachEntity> selectByGuids(String[] guids) { + public List<AttachEntity> selectByGuids(List<String> guids) { return attachMapper.selectByGuids(guids); } @@ -57,7 +66,7 @@ } @Override - public List<AttachEntity> selectByTabGuids(String tab, String[] guids) { + public List<AttachEntity> selectByTabGuids(String tab, List<String> guids) { return attachMapper.selectByTabGuids(tab, guids); } @@ -95,4 +104,93 @@ public Integer updates(List<AttachEntity> list) { return attachMapper.updates(list); } + + @Override + public List<FmeLogEntity> selectFmeLogs(String tabs) { + return attachMapper.selectFmeLogs(tabs); + } + + /** + * 鏌ヨFME鏃ュ織 + */ + public List<FmeLogEntity> selectFmeLogs() { + if (StringHelper.isEmpty(tabs)) { + tabs = UploadAttachService.getTabs().replace("'", ""); + } + + return attachMapper.selectFmeLogs(tabs); + } + + @Override + public Integer updateFmeLog(Integer id) { + 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