| | |
| | | package com.lf.server.service.data; |
| | | |
| | | import com.lf.server.entity.data.MetaEntity; |
| | | import com.lf.server.entity.data.MetaFileEntity; |
| | | import com.lf.server.helper.StringHelper; |
| | | import com.lf.server.mapper.data.MetaMapper; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | MetaMapper metaMapper; |
| | | |
| | | @Override |
| | | public Integer selectCount(Integer dirid, String name) { |
| | | public Integer selectCount(String depcode, String dircode, Integer verid, String name) { |
| | | depcode = StringHelper.getRightLike(depcode); |
| | | dircode = StringHelper.getRightLike(dircode); |
| | | name = StringHelper.getLikeStr(name); |
| | | |
| | | return metaMapper.selectCount(dirid, name); |
| | | return metaMapper.selectCount(depcode, dircode, verid, name); |
| | | } |
| | | |
| | | @Override |
| | | public List<MetaEntity> selectByPage(Integer dirid, String name, Integer limit, Integer offset) { |
| | | public List<MetaEntity> selectByPage(String depcode, String dircode, Integer verid, String name, Integer limit, Integer offset) { |
| | | depcode = StringHelper.getRightLike(depcode); |
| | | dircode = StringHelper.getRightLike(dircode); |
| | | name = StringHelper.getLikeStr(name); |
| | | |
| | | return metaMapper.selectByPage(dirid, name, limit, offset); |
| | | return metaMapper.selectByPage(depcode, dircode, verid, name, limit, offset); |
| | | } |
| | | |
| | | @Override |
| | | public Integer selectMetasForCount(String depcode, String dirs, String name) { |
| | | depcode = StringHelper.getRightLike(depcode); |
| | | name = StringHelper.getLikeStr(name); |
| | | |
| | | return metaMapper.selectMetasForCount(depcode, dirs, name); |
| | | } |
| | | |
| | | @Override |
| | | public List<MetaEntity> selectMetasForPage(String depcode, String dirs, String name, Integer limit, Integer offset) { |
| | | depcode = StringHelper.getRightLike(depcode); |
| | | name = StringHelper.getLikeStr(name); |
| | | |
| | | return metaMapper.selectMetasForPage(depcode, dirs, name, limit, offset); |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<MetaEntity> selectAll() { |
| | | return metaMapper.selectAll(); |
| | | public Integer selectCountByPid(Integer metaid, String name) { |
| | | name = StringHelper.getLikeStr(name); |
| | | |
| | | return metaMapper.selectCountByPid(metaid, name); |
| | | } |
| | | |
| | | @Override |
| | | public List<MetaEntity> selectPageByPid(Integer metaid, String name, Integer limit, Integer offset) { |
| | | name = StringHelper.getLikeStr(name); |
| | | |
| | | return metaMapper.selectPageByPid(metaid, name, limit, offset); |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<MetaFileEntity> selectMetaFiles(List<Integer> ids) { |
| | | public MetaEntity selectByGuid(String guid, String tab) { |
| | | return metaMapper.selectByGuid(guid, tab); |
| | | } |
| | | |
| | | @Override |
| | | public List<MetaEntity> selectByIdsForTab(String ids) { |
| | | return metaMapper.selectByIdsForTab(ids); |
| | | } |
| | | |
| | | @Override |
| | | public List<MetaEntity> selectMetaFiles(List<Integer> ids) { |
| | | return metaMapper.selectMetaFiles(ids); |
| | | } |
| | | |
| | | @Override |
| | | public List<MetaEntity> selectXlsAnnex(Integer[] ids, String tabs) { |
| | | return metaMapper.selectXlsAnnex(ids, tabs); |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Integer delete(int id) { |
| | | return metaMapper.delete(id); |
| | | } |
| | | |
| | | @Override |
| | | public Integer deletes(List<Integer> ids) { |
| | | return metaMapper.deletes(ids); |
| | | public Integer deletes(String sql, String ids) { |
| | | return metaMapper.deletes(sql, ids); |
| | | } |
| | | |
| | | @Override |
| | |
| | | public Integer updates(List<MetaEntity> list) { |
| | | return metaMapper.updates(list); |
| | | } |
| | | |
| | | /** |
| | | * 删除元数据 |
| | | */ |
| | | public Integer deletes(List<Integer> list) { |
| | | String ids = StringHelper.join(list, ","); |
| | | |
| | | String sql = null; |
| | | List<MetaEntity> metas = selectByIdsForTab(ids); |
| | | if (null != metas && metas.size() > 0) { |
| | | sql = getDelTabsSql(metas); |
| | | } |
| | | |
| | | return deletes(sql, ids); |
| | | } |
| | | |
| | | /** |
| | | * 获取删除表记录SQL |
| | | */ |
| | | public String getDelTabsSql(List<MetaEntity> metas) { |
| | | List<String> list = new ArrayList<>(); |
| | | String tab = metas.get(0).getTab(); |
| | | |
| | | List<String> pids = new ArrayList<>(); |
| | | for (MetaEntity me : metas) { |
| | | if (tab.equals(me.getTab())) { |
| | | pids.add("'" + me.getEventid() + "'"); |
| | | } else { |
| | | list.add(String.format("delete from %s where parentid in (%s)", tab, StringHelper.join(pids, ","))); |
| | | |
| | | pids.clear(); |
| | | tab = me.getTab(); |
| | | pids.add("'" + me.getEventid() + "'"); |
| | | } |
| | | } |
| | | |
| | | if (pids.size() > 0) { |
| | | list.add(String.format("delete from %s where parentid in (%s)", tab, StringHelper.join(pids, ","))); |
| | | } |
| | | |
| | | return StringHelper.join(list, ";"); |
| | | } |
| | | } |