提交 aae16490 authored 作者: 吕本才's avatar 吕本才

1、增加积木报表权限配置功能,并调用system查询配置的用户信息

上级 95998be7
package com.link.report.controller.core; package com.link.report.controller.core;
import com.link.report.pojo.request.CustomerGroupAddVo; import com.link.report.pojo.request.CustomerGroupAddVo;
import com.link.report.service.CustomerGroupService; import com.link.report.service.core.CustomerGroupCoreService;
import com.sfa.common.core.domain.R; import com.sfa.common.core.domain.R;
import com.sfa.common.security.annotation.Logical; import com.sfa.common.security.annotation.Logical;
import com.sfa.common.security.annotation.RequiresPermissions; import com.sfa.common.security.annotation.RequiresPermissions;
...@@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.*;
public class CustomerGroupCoreController { public class CustomerGroupCoreController {
@Autowired @Autowired
CustomerGroupService groupService; CustomerGroupCoreService groupService;
@RequiresPermissions(logical= Logical.OR,value = {"bi:supply:list","bi:finance_report:list"}) @RequiresPermissions(logical= Logical.OR,value = {"bi:supply:list","bi:finance_report:list"})
@PostMapping("/group/insertOrUpdate") @PostMapping("/group/insertOrUpdate")
......
package com.link.report.controller.core; package com.link.report.controller.core;
import com.link.report.pojo.request.CustomerReportAddVo; import com.link.report.pojo.request.CustomerReportAddVo;
import com.link.report.service.CustomerReportService; import com.link.report.service.query.CustomerReportService;
import com.sfa.common.core.domain.R; import com.sfa.common.core.domain.R;
import com.sfa.common.security.annotation.RequiresPermissions; import com.sfa.common.security.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
......
package com.link.report.controller.core; package com.link.report.controller.core;
import com.link.report.pojo.request.CustomerReportGroupVo; import com.link.report.pojo.request.CustomerReportGroupVo;
import com.link.report.service.CustomerReportGroupService; import com.link.report.service.query.CustomerReportGroupService;
import com.sfa.common.core.domain.R; import com.sfa.common.core.domain.R;
import com.sfa.common.security.annotation.Logical; import com.sfa.common.security.annotation.Logical;
import com.sfa.common.security.annotation.RequiresPermissions; import com.sfa.common.security.annotation.RequiresPermissions;
......
package com.link.report.controller.core;
import com.link.report.pojo.request.JimuReportAuthAddVo;
import com.link.report.service.core.JimuReportAuthCoreService;
import com.sfa.common.core.domain.R;
import com.sfa.common.core.web.controller.BaseController;
import com.sfa.common.log.annotation.Log;
import com.sfa.common.log.enums.BusinessType;
import com.sfa.common.security.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 财务分析-直播间分类基础数据
*
* @author admin
* @date 2024-12-19
*/
@RestController
@RequestMapping("/jimuReportAuth/core")
public class JimuReportAuthCoreController extends BaseController {
@Autowired
private JimuReportAuthCoreService jimuReportAuthCoreService;
/**
* 批量选择用户授权
*/
@RequiresPermissions("report:jimuReport:authUsers")
@Log(title = "报表权限管理", businessType = BusinessType.GRANT)
@PutMapping("/authUsers")
public R selectAuthUserAll(@RequestBody JimuReportAuthAddVo vo) {
return R.ok(jimuReportAuthCoreService.insertAuthUsers(vo.getReportId(), vo.getUserIds()));
}
}
...@@ -2,7 +2,7 @@ package com.link.report.controller.query; ...@@ -2,7 +2,7 @@ package com.link.report.controller.query;
import com.link.report.pojo.request.CustomerReportQueryListVo; import com.link.report.pojo.request.CustomerReportQueryListVo;
import com.link.report.pojo.response.CustomerReportGroupResDto; import com.link.report.pojo.response.CustomerReportGroupResDto;
import com.link.report.service.CustomerReportGroupService; import com.link.report.service.query.CustomerReportGroupService;
import com.sfa.common.core.domain.R; import com.sfa.common.core.domain.R;
import com.sfa.common.security.annotation.Logical; import com.sfa.common.security.annotation.Logical;
import com.sfa.common.security.annotation.RequiresPermissions; import com.sfa.common.security.annotation.RequiresPermissions;
......
...@@ -2,7 +2,7 @@ package com.link.report.controller.query; ...@@ -2,7 +2,7 @@ package com.link.report.controller.query;
import com.link.report.pojo.request.ReportShareListVo; import com.link.report.pojo.request.ReportShareListVo;
import com.link.report.pojo.response.CustomerReportListDto; import com.link.report.pojo.response.CustomerReportListDto;
import com.link.report.service.CustomerReportService; import com.link.report.service.query.CustomerReportService;
import com.sfa.common.core.domain.R; import com.sfa.common.core.domain.R;
import com.sfa.common.security.annotation.Logical; import com.sfa.common.security.annotation.Logical;
import com.sfa.common.security.annotation.RequiresPermissions; import com.sfa.common.security.annotation.RequiresPermissions;
......
package com.link.report.controller.query;
import com.link.report.service.query.JimuReportAuthQueryService;
import com.sfa.common.core.domain.R;
import com.sfa.common.core.web.controller.BaseController;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.common.security.annotation.RequiresPermissions;
import com.sfa.system.api.domain.SysUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 积木报表授权查询接口
*
* @author lvbencai
* @date 2025年07月16日22:14:17
*/
@RestController
@RequestMapping("/jimuReportAuth/query")
public class JimuReportAuthQueryController extends BaseController {
@Autowired
private JimuReportAuthQueryService authQueryService;
/**
* 查询授权用户列表
*
* @param reportId
* @return
*/
@GetMapping("/list/user")
@RequiresPermissions(value = {"report:auth:userlist"})
public R<PageInfo<SysUser>> selectUserList(String reportId) {
PageInfo<SysUser> userPageInfo = authQueryService.selectUserList(reportId);
return R.ok(userPageInfo);
}
}
package com.link.report.controller.query;
import com.link.report.pojo.request.JimuReportCategoryVo;
import com.link.report.pojo.response.JimuReportCategoryDto;
import com.link.report.service.query.JimuReportCategoryQueryService;
import com.sfa.common.core.domain.R;
import com.sfa.common.core.web.controller.BaseController;
import com.sfa.common.security.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 积木报表授权查询接口
*
* @author lvbencai
* @date 2025年07月16日22:14:42
*/
@RestController
@RequestMapping("/jimuReportCategory/query")
public class JimuReportCategoryQueryController extends BaseController {
@Autowired
private JimuReportCategoryQueryService categoryQueryService;
/**
* 分页查询已授权list+自己创建的list接口
*
* @param categoryVo
* @return
*/
@GetMapping("/list")
@RequiresPermissions(value = {"report:jimuReport:list"})
public R<List<JimuReportCategoryDto>> selectList(JimuReportCategoryVo categoryVo) {
List<JimuReportCategoryDto> categoryDtos = categoryQueryService.selectList(categoryVo);
return R.ok(categoryDtos);
}
}
package com.link.report.controller.query;
import com.link.report.pojo.request.JimuReportListVo;
import com.link.report.pojo.response.JimuReportListDto;
import com.link.report.service.query.JimuReportQueryService;
import com.sfa.common.core.domain.R;
import com.sfa.common.core.web.controller.BaseController;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.common.security.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 积木报表授权查询接口
*
* @author lvbencai
* @date 2025年07月16日22:14:42
*/
@RestController
@RequestMapping("/jimuReport/query")
public class JimuReportQueryController extends BaseController {
@Autowired
private JimuReportQueryService reportQueryService;
/**
* 分页查询已授权list+自己创建的list接口
*
* @param JimuReportListVo
* @return
*/
@GetMapping("/list")
@RequiresPermissions(value = {"report:jimuReport:list"})
public R<PageInfo<JimuReportListDto>> selectList(JimuReportListVo JimuReportListVo) {
PageInfo<JimuReportListDto> JimuReportListDtos = reportQueryService.selectList(JimuReportListVo);
return R.ok(JimuReportListDtos);
}
/**
* 分页查询所有的报表接口
*
* @param JimuReportListVo
* @return
*/
@GetMapping("/all/list")
@RequiresPermissions(value = {"report:JimuReport:all"})
public R<PageInfo<JimuReportListDto>> selectListAll(JimuReportListVo JimuReportListVo) {
PageInfo<JimuReportListDto> JimuReportListDtos = reportQueryService.selectListAll(JimuReportListVo);
return R.ok(JimuReportListDtos);
}
}
...@@ -3,10 +3,9 @@ package com.link.report.controller.query; ...@@ -3,10 +3,9 @@ package com.link.report.controller.query;
import com.link.report.pojo.request.CustomerReportTransferVo; import com.link.report.pojo.request.CustomerReportTransferVo;
import com.link.report.pojo.request.ReportShareListVo; import com.link.report.pojo.request.ReportShareListVo;
import com.link.report.pojo.response.ReportShareBiListDto; import com.link.report.pojo.response.ReportShareBiListDto;
import com.link.report.service.ReportShareService; import com.link.report.service.query.ReportShareService;
import com.sfa.common.core.domain.R; import com.sfa.common.core.domain.R;
import com.sfa.common.core.web.controller.BaseController; import com.sfa.common.core.web.controller.BaseController;
import com.sfa.common.datascope.annotation.DataScope;
import com.sfa.common.security.annotation.Logical; import com.sfa.common.security.annotation.Logical;
import com.sfa.common.security.annotation.RequiresPermissions; import com.sfa.common.security.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -35,7 +34,6 @@ public class ReportShareQueryController extends BaseController { ...@@ -35,7 +34,6 @@ public class ReportShareQueryController extends BaseController {
* @param reportShareListVo * @param reportShareListVo
* @return * @return
*/ */
@DataScope(deptAlias = "d", userAlias = "u")
@GetMapping("/list") @GetMapping("/list")
@RequiresPermissions(logical= Logical.OR ,value = {"bi:supply:list","bi:finance_report:list"}) @RequiresPermissions(logical= Logical.OR ,value = {"bi:supply:list","bi:finance_report:list"})
public R<List<ReportShareBiListDto>> selectList(ReportShareListVo reportShareListVo) { public R<List<ReportShareBiListDto>> selectList(ReportShareListVo reportShareListVo) {
......
package com.link.report.domain.dao;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.link.report.domain.wq.JimuReportAuthListWq;
import com.link.report.pojo.response.JimuReportAuthListDto;
import java.util.List;
public interface JimuReportAuthDao {
List<JimuReportAuthListDto> selectList(JimuReportAuthListWq authListWq);
void deleteAuthUsers(LambdaQueryWrapper reportId);
int insertAuthUsers(String reportId, List<Long> userIds);
}
package com.link.report.domain.dao;
import com.link.report.domain.entity.JimuReportCategory;
import java.util.List;
public interface JimuReportCategoryQueryDao {
List<JimuReportCategory> queryList(JimuReportCategory category);
}
package com.link.report.domain.dao;
import com.link.report.domain.entity.JimuReport;
import com.link.report.domain.wq.JimuReportListWq;
import com.link.report.pojo.request.JimuReportListVo;
import com.link.report.pojo.response.JimuReportListDto;
import com.sfa.common.core.web.domain.PageInfo;
import java.util.List;
public interface JimuReportDao {
List<JimuReportListDto> selectJimuReportList(JimuReportListWq JimuReportListWq);
Integer selectJimuReportListCount(JimuReportListWq wq);
PageInfo<JimuReportListDto> selectListAll(JimuReportListVo wq);
JimuReport selectById(String reportId);
}
...@@ -18,12 +18,14 @@ import java.util.List; ...@@ -18,12 +18,14 @@ import java.util.List;
public class CustomerReportGroupDaoImpl implements CustomerReportGroupDao { public class CustomerReportGroupDaoImpl implements CustomerReportGroupDao {
@Autowired @Autowired
private CustomerReportGroupMapper reportGroupMapper; private CustomerReportGroupMapper reportGroupMapper;
@Override @Override
public List<CustomerReportGroup> list() { public List<CustomerReportGroup> list() {
// 更加登录人id查询 // 更加登录人id查询
List<CustomerReportGroup> list = reportGroupMapper.selectList(new LambdaQueryWrapper<>()); List<CustomerReportGroup> list = reportGroupMapper.selectList(new LambdaQueryWrapper<>());
return list; return list;
} }
@Override @Override
public List<CustomerReportGroupQueryListDto> queryList() { public List<CustomerReportGroupQueryListDto> queryList() {
Long userId = SecurityUtils.getUserId(); Long userId = SecurityUtils.getUserId();
......
package com.link.report.domain.dao.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.link.report.domain.dao.JimuReportAuthDao;
import com.link.report.domain.entity.JimuReportAuth;
import com.link.report.domain.mapper.JimuReportAuthMapper;
import com.link.report.domain.wq.JimuReportAuthListWq;
import com.link.report.pojo.response.JimuReportAuthListDto;
import com.sfa.common.core.utils.bean.BeanUtils;
import com.sfa.common.core.web.page.TableSupport;
import com.sfa.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 报表分享数据
*
* @author lvbencai
* @version 1.0
* @date 2024/6/27 15:05
*/
@Component
public class JimuReportAuthDaoImpl implements JimuReportAuthDao {
@Autowired
private JimuReportAuthMapper jimuReportAuthMapper;
/**
* 查询授权信息列表
*
* @param wq
* @return
*/
@Override
public List<JimuReportAuthListDto> selectList(JimuReportAuthListWq wq) {
// 查询数据
Wrapper<JimuReportAuth> qw = new LambdaQueryWrapper<JimuReportAuth>()
.eq(ObjectUtil.isNotEmpty(wq.getReportId()), JimuReportAuth::getReportId, wq.getReportId());
IPage authPage = jimuReportAuthMapper.selectPage(TableSupport.pageI(), qw);
List<JimuReportAuth> jimuReportAuths = authPage.getRecords();
List<JimuReportAuthListDto> dtos = BeanUtils.transitionDtos(jimuReportAuths, JimuReportAuthListDto.class);
return dtos;
}
@Override
public void deleteAuthUsers(LambdaQueryWrapper wq) {
jimuReportAuthMapper.delete(wq);
}
@Override
public int insertAuthUsers(String reportId, List<Long> userIds) {
String username = SecurityUtils.getUsername();
return jimuReportAuthMapper.insertAuthUsers(reportId,username, userIds);
}
}
package com.link.report.domain.dao.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.link.report.domain.dao.JimuReportCategoryQueryDao;
import com.link.report.domain.entity.JimuReportCategory;
import com.link.report.domain.mapper.JimuReportCategoryMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 报表分享数据
* @author lvbencai
* @version 1.0
* @date 2024/6/27 15:05
*/
@Component
public class JimuReportCategoryQueryDaoImpl implements JimuReportCategoryQueryDao {
@Autowired
private JimuReportCategoryMapper jimuReportCategoryMapper;
@Override
public List<JimuReportCategory> queryList(JimuReportCategory category) {
Wrapper<JimuReportCategory> wq = new LambdaQueryWrapper<JimuReportCategory>()
.eq(ObjectUtil.isNotEmpty(category.getId()), JimuReportCategory::getId, category.getId());
List<JimuReportCategory> jimuReportCategories = jimuReportCategoryMapper.selectList(wq);
return jimuReportCategories;
}
}
package com.link.report.domain.dao.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.link.report.domain.dao.JimuReportDao;
import com.link.report.domain.entity.JimuReport;
import com.link.report.domain.entity.JimuReportCategory;
import com.link.report.domain.mapper.JimuReportCategoryMapper;
import com.link.report.domain.mapper.JimuReportMapper;
import com.link.report.domain.wq.JimuReportListWq;
import com.link.report.pojo.request.JimuReportListVo;
import com.link.report.pojo.response.JimuReportListDto;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.common.core.web.page.TableSupport;
import com.sfa.common.security.utils.SecurityUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
/**
* 报表分享数据
* @author lvbencai
* @version 1.0
* @date 2024/6/27 15:05
*/
@Component
public class JimuReportDaoImpl implements JimuReportDao {
@Autowired
private JimuReportMapper jimuReportMapper;
@Autowired
private JimuReportCategoryMapper jimuReportCategoryMapper;
/**
* 查询报表列表
* 查询有权限的报表数据:根据分配的报表数据 + 自己的报表数据
* @param jimuReportListWq
* @return
*/
@Override
public List<JimuReportListDto> selectJimuReportList(JimuReportListWq jimuReportListWq) {
// 查询数据
List<JimuReportListDto> jimuReportListDtos = jimuReportMapper.selectJimuReportList(jimuReportListWq);
return jimuReportListDtos;
}
@Override
public Integer selectJimuReportListCount(JimuReportListWq wq) {
return jimuReportMapper.selectJimuReportListCount(wq);
}
@Override
public PageInfo<JimuReportListDto> selectListAll(JimuReportListVo vo) {
String username = SecurityUtils.getUsername();
LambdaQueryWrapper<JimuReport> qw = new LambdaQueryWrapper<JimuReport>()
// .eq(JimuReport::getCreateBy,username)
.eq(ObjectUtil.isNotEmpty(vo.getCategory()),JimuReport::getType,vo.getCategory())
.like(ObjectUtil.isNotEmpty(vo.getName()),JimuReport::getName,vo.getName());
IPage<JimuReport> jimuReportPage = jimuReportMapper.selectPage(TableSupport.pageI(), qw);
// 转换成DTO 增加目录查询
List<JimuReportListDto> jimuReportListDtos = new ArrayList<>();
for (JimuReport jimuReport : jimuReportPage.getRecords()) {
JimuReportListDto jimuReportListDto = new JimuReportListDto();
BeanUtils.copyProperties(jimuReport,jimuReportListDto);
// 根据type查询 目录名称
JimuReportCategory jimuReportCategory = jimuReportCategoryMapper.selectById(jimuReport.getType());
if(ObjectUtil.isEmpty(jimuReportCategory)){
jimuReportListDto.setCategory("0");
jimuReportListDto.setCategoryName("文件夹");
}else{
jimuReportListDto.setCategory(jimuReportCategory.getId());
jimuReportListDto.setCategoryName(jimuReportCategory.getName());
}
jimuReportListDtos.add(jimuReportListDto);
}
PageInfo<JimuReportListDto> pageInfo = new PageInfo<JimuReportListDto>();
pageInfo.setRows(jimuReportListDtos);
pageInfo.setTotal((int) jimuReportPage.getTotal());
pageInfo.setPageNum((int) jimuReportPage.getCurrent());
pageInfo.setPageSize((int) jimuReportPage.getSize());
return pageInfo;
}
@Override
public JimuReport selectById(String reportId) {
return jimuReportMapper.selectById(reportId);
}
}
...@@ -22,7 +22,7 @@ public class ReportShareDaoImpl implements ReportShareDao { ...@@ -22,7 +22,7 @@ public class ReportShareDaoImpl implements ReportShareDao {
@Override @Override
public List<ReportShareBiListDto> selectList(ReportShareListWq reportShareListWq) { public List<ReportShareBiListDto> selectList(ReportShareListWq reportShareListWq) {
// 查询数据 // 查询数据
List<ReportShareBiListDto> jimuReportShares = reportShareMapper.selectShareList(reportShareListWq); List<ReportShareBiListDto> JimuReportShares = reportShareMapper.selectShareList(reportShareListWq);
return jimuReportShares; return JimuReportShares;
} }
} }
package com.link.report.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 报表分享
*/
@TableName(value ="jimu_report")
@Data
public class JimuReport implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 编码
*/
private String code;
/**
* 名称
*/
private String name;
/**
* 说明
*/
private String note;
/**
* 状态
*/
private String status;
/**
* 类型
*/
private String type;
/**
* json字符串
*/
private String jsonStr;
/**
* 请求地址
*/
private String apiUrl;
/**
* 缩略图
*/
private String thumb;
/**
* 创建人
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 修改人
*/
private String updateBy;
/**
* 修改时间
*/
private Date updateTime;
/**
* 删除标识0-正常,1-已删除
*/
private Boolean delFlag;
/**
* 请求方法0-get,1-post
*/
private String apiMethod;
/**
* 请求编码
*/
private String apiCode;
/**
* 是否是模板 0-是,1-不是
*/
private Boolean template;
/**
* 浏览次数
*/
private Long viewCount;
/**
* css增强
*/
private String cssStr;
/**
* js增强
*/
private String jsStr;
/**
* py增强
*/
private String pyStr;
/**
* 多租户标识
*/
private String tenantId;
/**
* 乐观锁版本
*/
private Integer updateCount;
/**
* 是否填报报表 0不是,1是
*/
private Boolean submitForm;
}
package com.link.report.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sfa.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 积木报授权信息对象 jimu_report_auth
*
* @author admin
* @date 2025-07-16
*/
@TableName(value ="jimu_report_auth")
@Data
public class JimuReportAuth
{
private static final long serialVersionUID = 1L;
/** 主键id */
private Long id;
/** 报表id */
@Excel(name = "报表id")
private String reportId;
/** 用户id */
@Excel(name = "用户id")
private Long userId;
/**
* 创建人
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 修改人
*/
private String updateBy;
/**
* 修改时间
*/
private Date updateTime;
}
package com.link.report.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 积木报表分类实体类
*/
@TableName(value ="jimu_report_category")
@Data
public class JimuReportCategory implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 分类名称
*/
private String name;
/**
* 父级id
*/
private String parentId;
/**
* 是否为叶子节点(0 否 1是)
*/
private Integer izLeaf;
/**
* 来源类型(report 积木报表 screen 大屏 drag 仪表盘)
*/
private String sourceType;
/**
* 创建人
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新人
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
/**
* 租户id
*/
private String tenantId;
/**
* 删除状态(0未删除,1已删除,2临时删除)
*/
private Integer delFlag;
/**
* 排序
*/
private Integer sortNo;
}
...@@ -5,10 +5,12 @@ import com.link.report.domain.entity.CustomerReportGroup; ...@@ -5,10 +5,12 @@ import com.link.report.domain.entity.CustomerReportGroup;
import com.link.report.pojo.response.CustomerReportGroupQueryListDto; import com.link.report.pojo.response.CustomerReportGroupQueryListDto;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
import java.util.List; import java.util.List;
@Mapper @Mapper
@Component
public interface CustomerReportGroupMapper extends BaseMapper<CustomerReportGroup> { public interface CustomerReportGroupMapper extends BaseMapper<CustomerReportGroup> {
void batchInsert(List<CustomerReportGroup> items); void batchInsert(List<CustomerReportGroup> items);
......
package com.link.report.domain.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.link.report.domain.entity.JimuReportAuth;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 积木报授权信息Mapper接口
*
* @author admin
* @date 2025-07-16
*/
@Mapper
public interface JimuReportAuthMapper extends BaseMapper<JimuReportAuth>
{
int insertAuthUsers(@Param("reportId") String reportId, @Param("username") String username, @Param("userIds") List<Long> userIds);
}
package com.link.report.domain.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.link.report.domain.entity.JimuReportCategory;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface JimuReportCategoryMapper extends BaseMapper<JimuReportCategory> {
}
package com.link.report.domain.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.link.report.domain.entity.JimuReport;
import com.link.report.domain.wq.JimuReportListWq;
import com.link.report.pojo.response.JimuReportListDto;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface JimuReportMapper extends BaseMapper<JimuReport> {
List<JimuReportListDto> selectJimuReportList(JimuReportListWq JimuReportListWq);
Integer selectJimuReportListCount(JimuReportListWq wq);
}
package com.link.report.domain.wq;
import lombok.Data;
/**
* @author : lvbencai
* @date : 2025年07月15日15:03:09
*
*/
@Data
public class JimuReportAuthAddWq {
private String reportId;
private String userId;
}
package com.link.report.domain.wq;
import lombok.Data;
/**
* @author : lvbencai
* @date : 2025年07月15日15:03:09
*
*/
@Data
public class JimuReportAuthListWq {
private String reportId;
private String userId;
}
package com.link.report.domain.wq;
import lombok.Data;
/**
* @author : lvbencai
* @date : 2025年07月15日15:03:09
*/
@Data
public class JimuReportListWq {
private String name;
private String categoryName;
private Integer skipNum;
private Integer pageSize;
private String userName;
private Long userId;
}
package com.link.report.pojo.request;
import lombok.Data;
import java.util.List;
/**
* @author : lvbencai
* @date : 2025年07月16日21:40:34
* @describe :
*/
@Data
public class JimuReportAuthAddVo {
private String reportId;
private List<Long> userIds;
}
package com.link.report.pojo.request;
import lombok.Data;
/**
* @author : lvbencai
* @date : 2025年07月16日21:40:34
* @describe :
*/
@Data
public class JimuReportCategoryVo {
private String id;
private String name;
}
package com.link.report.pojo.request;
import lombok.Data;
/**
* @author : lvbencai
* @date : 2025年07月16日21:40:34
* @describe :
*/
@Data
public class JimuReportListVo {
private String name;
private String categoryName;
private String category;
private Integer skipNum;
private Integer pageSize;
}
package com.link.report.pojo.response;
import lombok.Data;
/**
* @author : lvbencai
* @date : 2025年02月14日15:17:07
* @describe :
*/
@Data
public class JimuReportAuthListDto {
private String id;
private String reportId;
private Long userId;
}
package com.link.report.pojo.response;
import lombok.Data;
/**
* @author : lvbencai
* @date : 2025年02月14日15:17:07
* @describe :
*/
@Data
public class JimuReportCategoryDto {
private String id;
private String name;
}
package com.link.report.pojo.response;
import lombok.Data;
/**
* @author : lvbencai
* @date : 2025年02月14日15:17:07
* @describe :
*/
@Data
public class JimuReportListDto {
private String id;
private String code;
private String name;
private String category;
private String categoryName;
private String createBy;
private String createTime;
}
package com.link.report.service; package com.link.report.service.core;
import com.link.report.pojo.request.CustomerGroupAddVo; import com.link.report.pojo.request.CustomerGroupAddVo;
public interface CustomerGroupService { public interface CustomerGroupCoreService {
void save(CustomerGroupAddVo customerGroupAddVo); void save(CustomerGroupAddVo customerGroupAddVo);
void delete(CustomerGroupAddVo customerGroupAddVo); void delete(CustomerGroupAddVo customerGroupAddVo);
......
package com.link.report.service.core;
import java.util.List;
/**
* 积木报授权信息Service接口
*
* @author lvbencai
* @date 2025-07-16
*/
public interface JimuReportAuthCoreService {
int insertAuthUsers(String reportId, List<Long> userIds);
}
package com.link.report.service.core;
public interface JimuReportCoreService {
}
package com.link.report.service.impl; package com.link.report.service.core.impl;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
...@@ -8,7 +8,7 @@ import com.link.report.domain.entity.CustomerReportGroup; ...@@ -8,7 +8,7 @@ import com.link.report.domain.entity.CustomerReportGroup;
import com.link.report.domain.wq.CustomerGroupQueryWq; import com.link.report.domain.wq.CustomerGroupQueryWq;
import com.link.report.pojo.request.CustomerGroupAddVo; import com.link.report.pojo.request.CustomerGroupAddVo;
import com.link.report.pojo.response.CustomerGroupDto; import com.link.report.pojo.response.CustomerGroupDto;
import com.link.report.service.CustomerGroupService; import com.link.report.service.core.CustomerGroupCoreService;
import com.sfa.common.core.constant.SecurityConstants; import com.sfa.common.core.constant.SecurityConstants;
import com.sfa.common.core.domain.R; import com.sfa.common.core.domain.R;
import com.sfa.common.security.utils.SecurityUtils; import com.sfa.common.security.utils.SecurityUtils;
...@@ -26,7 +26,7 @@ import java.util.stream.Collectors; ...@@ -26,7 +26,7 @@ import java.util.stream.Collectors;
* 报表分享数据 * 报表分享数据
*/ */
@Service @Service
public class CustomerGroupServiceImpl implements CustomerGroupService { public class CustomerGroupCoreCoreServiceImpl implements CustomerGroupCoreService {
@Autowired @Autowired
private CustomerGroupDao groupDao; private CustomerGroupDao groupDao;
......
package com.link.report.service.core.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.link.report.domain.dao.JimuReportAuthDao;
import com.link.report.domain.dao.JimuReportDao;
import com.link.report.domain.entity.JimuReport;
import com.link.report.domain.entity.JimuReportAuth;
import com.link.report.service.core.JimuReportAuthCoreService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 积木报授权信息Service业务层处理
*
* @author admin
* @date 2025-07-16
*/
@Service
public class JimuReportAuthCoreServiceImpl implements JimuReportAuthCoreService {
@Autowired
private JimuReportAuthDao jimuReportAuthDao;
@Autowired
private JimuReportDao jimuReportDao;
/**
* 批量授权用户信息
* @param reportId
* @param userIds
* @return
*/
@Override
public int insertAuthUsers(String reportId, List<Long> userIds) {
// 校验报表 是否存在
checkReportExist(reportId);
// 校验用户是否存在
// checkUserExist(userIds);
LambdaQueryWrapper deleteWq = new LambdaQueryWrapper<JimuReportAuth>() .eq(JimuReportAuth::getReportId, reportId);
// 删除原有的授权信息
jimuReportAuthDao.deleteAuthUsers(deleteWq);
// 插入新的授权信息
if (userIds != null && userIds.size() > 0) {
return jimuReportAuthDao.insertAuthUsers(reportId, userIds);
}
return 0;
}
/**
* 校验报表是否存在
* @param reportId
*/
private void checkReportExist(String reportId) {
if (reportId == null) {
throw new RuntimeException("报表ID不能为空");
}
//查询
JimuReport jimuReport = jimuReportDao.selectById(reportId);
if (jimuReport == null) {
throw new RuntimeException("报表不存在");
}
}
}
package com.link.report.service.core.impl;
import com.link.report.domain.dao.JimuReportDao;
import com.link.report.service.core.JimuReportCoreService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* 报表分享数据
*/
@Service
public class JimuReportCoreServiceImpl implements JimuReportCoreService {
;
@Autowired
private JimuReportDao JimuReportDao;
}
package com.link.report.service; package com.link.report.service.query;
import com.link.report.pojo.request.CustomerReportGroupVo; import com.link.report.pojo.request.CustomerReportGroupVo;
import com.link.report.pojo.request.CustomerReportQueryListVo; import com.link.report.pojo.request.CustomerReportQueryListVo;
......
package com.link.report.service; package com.link.report.service.query;
import com.link.report.pojo.request.CustomerReportAddVo; import com.link.report.pojo.request.CustomerReportAddVo;
import com.link.report.pojo.request.ReportShareListVo; import com.link.report.pojo.request.ReportShareListVo;
......
package com.link.report.service.query;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.system.api.domain.SysUser;
/**
* 积木报授权查询信息Service接口
*
* @author lvbencai
* @date 2025-07-16
*/
public interface JimuReportAuthQueryService {
PageInfo<SysUser> selectUserList(String reportId);
}
package com.link.report.service.query;
import com.link.report.pojo.request.JimuReportCategoryVo;
import com.link.report.pojo.response.JimuReportCategoryDto;
import java.util.List;
/**
* 积木报文件夹信息Service接口
*
* @author lvbencai
* @date 2025-07-16
*/
public interface JimuReportCategoryQueryService {
List<JimuReportCategoryDto> selectList(JimuReportCategoryVo categoryVo);
}
package com.link.report.service.query;
import com.link.report.pojo.request.JimuReportListVo;
import com.link.report.pojo.response.JimuReportListDto;
import com.sfa.common.core.web.domain.PageInfo;
public interface JimuReportQueryService {
PageInfo<JimuReportListDto> selectList(JimuReportListVo JimuReportListDto);
PageInfo<JimuReportListDto> selectListAll(JimuReportListVo JimuReportListVo);
}
package com.link.report.service; package com.link.report.service.query;
import com.link.report.pojo.request.CustomerReportTransferVo; import com.link.report.pojo.request.CustomerReportTransferVo;
import com.link.report.pojo.request.ReportShareListVo; import com.link.report.pojo.request.ReportShareListVo;
......
package com.link.report.service.impl; package com.link.report.service.query.impl;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
...@@ -12,7 +12,7 @@ import com.link.report.pojo.response.CustomerGroupDto; ...@@ -12,7 +12,7 @@ import com.link.report.pojo.response.CustomerGroupDto;
import com.link.report.pojo.response.CustomerReportGroupQueryListDto; import com.link.report.pojo.response.CustomerReportGroupQueryListDto;
import com.link.report.pojo.response.CustomerReportGroupResDto; import com.link.report.pojo.response.CustomerReportGroupResDto;
import com.link.report.pojo.response.ReportItemsDto; import com.link.report.pojo.response.ReportItemsDto;
import com.link.report.service.CustomerReportGroupService; import com.link.report.service.query.CustomerReportGroupService;
import com.sfa.common.security.utils.SecurityUtils; import com.sfa.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
......
package com.link.report.service.impl; package com.link.report.service.query.impl;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.link.report.domain.dao.CustomerReportDao; import com.link.report.domain.dao.CustomerReportDao;
...@@ -7,7 +7,7 @@ import com.link.report.domain.wq.CustomerReportQueryWq; ...@@ -7,7 +7,7 @@ import com.link.report.domain.wq.CustomerReportQueryWq;
import com.link.report.pojo.request.CustomerReportAddVo; import com.link.report.pojo.request.CustomerReportAddVo;
import com.link.report.pojo.request.ReportShareListVo; import com.link.report.pojo.request.ReportShareListVo;
import com.link.report.pojo.response.CustomerReportListDto; import com.link.report.pojo.response.CustomerReportListDto;
import com.link.report.service.CustomerReportService; import com.link.report.service.query.CustomerReportService;
import com.sfa.common.core.utils.bean.BeanUtils; import com.sfa.common.core.utils.bean.BeanUtils;
import com.sfa.common.security.utils.SecurityUtils; import com.sfa.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
......
package com.link.report.service.query.impl;
import com.link.report.domain.dao.JimuReportAuthDao;
import com.link.report.domain.wq.JimuReportAuthListWq;
import com.link.report.pojo.response.JimuReportAuthListDto;
import com.link.report.service.query.JimuReportAuthQueryService;
import com.sfa.common.core.constant.SecurityConstants;
import com.sfa.common.core.domain.R;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.common.core.web.page.TableSupport;
import com.sfa.system.api.RemoteUserService;
import com.sfa.system.api.domain.SysUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
/**
* 报表授权查询数据
*/
@Service
public class JimuReportAuthQueryServiceImpl implements JimuReportAuthQueryService {
@Autowired
private JimuReportAuthDao authDao;
// 远程调用查询用户列表分页信息
@Autowired
private RemoteUserService remoteUserService;
/**
* 查询授权用户列表
*
* @param reportId
* @return
*/
@Override
public PageInfo<SysUser> selectUserList(String reportId) {
JimuReportAuthListWq authListWq = new JimuReportAuthListWq();
authListWq.setReportId(reportId);
List<JimuReportAuthListDto> jimuReportListDtos = authDao.selectList(authListWq);
if (jimuReportListDtos != null && !jimuReportListDtos.isEmpty()) {
// 远程调用查询用户列表分页信息
List<Long> userIds = jimuReportListDtos.stream().map(JimuReportAuthListDto::getUserId).collect(Collectors.toList());
R<PageInfo<SysUser>> userInfoByIds = remoteUserService.getUserInfoByIds(userIds,SecurityConstants.INNER);
return userInfoByIds.getData();
}else{
return TableSupport.pageInfo();
}
}
}
package com.link.report.service.query.impl;
import com.link.report.domain.dao.JimuReportCategoryQueryDao;
import com.link.report.domain.entity.JimuReportCategory;
import com.link.report.pojo.request.JimuReportCategoryVo;
import com.link.report.pojo.response.JimuReportCategoryDto;
import com.link.report.service.query.JimuReportCategoryQueryService;
import com.sfa.common.core.utils.bean.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 报表文件夹数据
*/
@Service
public class JimuReportCategoryQueryServiceImpl implements JimuReportCategoryQueryService {
@Autowired
private JimuReportCategoryQueryDao categoryQueryDao;
/**
* 查询积木报表文件列表
* @param categoryVo
* @return
*/
@Override
public List<JimuReportCategoryDto> selectList(JimuReportCategoryVo categoryVo) {
JimuReportCategory category = new JimuReportCategory();
BeanUtils.copyBeanProp(categoryVo, category);
List<JimuReportCategory> jimuReportCategories = categoryQueryDao.queryList(category);
List<JimuReportCategoryDto> categoryDtos = BeanUtils.transitionDtos(jimuReportCategories, JimuReportCategoryDto.class);
return categoryDtos;
}
}
package com.link.report.service.query.impl;
import com.link.report.domain.dao.JimuReportDao;
import com.link.report.domain.wq.JimuReportListWq;
import com.link.report.pojo.request.JimuReportListVo;
import com.link.report.pojo.response.JimuReportListDto;
import com.link.report.service.query.JimuReportQueryService;
import com.sfa.common.core.utils.bean.BeanUtils;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.common.core.web.page.TableSupport;
import com.sfa.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 报表查询数据
*/
@Service
public class JimuReportQueryServiceImpl implements JimuReportQueryService {
@Autowired
private JimuReportDao jimuReportDao;
/**
* 分页查询已授权list+自己创建的list
*
* @param jimuReportListVo
* @return
*/
@Override
public PageInfo<JimuReportListDto> selectList(JimuReportListVo jimuReportListVo) {
PageInfo<JimuReportListDto> pageInfo = TableSupport.pageInfo();
JimuReportListWq wq = new JimuReportListWq();
BeanUtils.copyProperties(jimuReportListVo, wq);
wq.setSkipNum(pageInfo.getSkipNum());
wq.setPageSize(pageInfo.getPageSize());
String username = SecurityUtils.getUsername();
Long userId = SecurityUtils.getUserId();
// admin能看到所有数据
if(!SecurityUtils.isAdmin(userId)){
wq.setUserName(username);
}
wq.setUserId(userId);
// 查询授权报表id
List<JimuReportListDto> list = jimuReportDao.selectJimuReportList(wq);
Integer count = jimuReportDao.selectJimuReportListCount(wq);
if (list != null && !list.isEmpty()) {
pageInfo.setRows(list);
pageInfo.setTotal(count);
return pageInfo;
}else{
pageInfo.setRows(list);
pageInfo.setTotal(count);
return pageInfo;
}
}
@Override
public PageInfo<JimuReportListDto> selectListAll(JimuReportListVo jimuReportListVo) {
PageInfo<JimuReportListDto> list = jimuReportDao.selectListAll(jimuReportListVo);
return list;
}
}
package com.link.report.service.impl; package com.link.report.service.query.impl;
import com.link.report.domain.dao.CustomerJimuReportDao; import com.link.report.domain.dao.CustomerJimuReportDao;
import com.link.report.domain.dao.ReportShareDao; import com.link.report.domain.dao.ReportShareDao;
...@@ -7,7 +7,7 @@ import com.link.report.pojo.request.CustomerReportTransferVo; ...@@ -7,7 +7,7 @@ import com.link.report.pojo.request.CustomerReportTransferVo;
import com.link.report.pojo.request.ReportShareListVo; import com.link.report.pojo.request.ReportShareListVo;
import com.link.report.pojo.response.CustomerJimuReportDto; import com.link.report.pojo.response.CustomerJimuReportDto;
import com.link.report.pojo.response.ReportShareBiListDto; import com.link.report.pojo.response.ReportShareBiListDto;
import com.link.report.service.ReportShareService; import com.link.report.service.query.ReportShareService;
import com.sfa.common.core.constant.SecurityConstants; import com.sfa.common.core.constant.SecurityConstants;
import com.sfa.common.core.domain.R; import com.sfa.common.core.domain.R;
import com.sfa.common.core.utils.bean.BeanUtils; import com.sfa.common.core.utils.bean.BeanUtils;
......
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.link.report.domain.mapper.JimuReportAuthMapper">
<resultMap type="com.link.report.domain.entity.JimuReportAuth" id="JimuReportAuthResult">
<result property="id" column="id" />
<result property="reportId" column="report_id" />
<result property="userId" column="user_id" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectJimuReportAuthVo">
select id, report_id, user_id, create_by, create_time, update_by, update_time from jimu_report_auth
</sql>
<select id="selectJimuReportAuthList" parameterType="com.link.report.domain.entity.JimuReportAuth" resultMap="JimuReportAuthResult">
<include refid="selectJimuReportAuthVo"/>
<where>
<if test="reportId != null "> and report_id = #{reportId}</if>
<if test="userId != null "> and user_id = #{userId}</if>
</where>
</select>
<select id="selectJimuReportAuthByid" parameterType="Long" resultMap="JimuReportAuthResult">
<include refid="selectJimuReportAuthVo"/>
where id = #{id}
</select>
<insert id="insertJimuReportAuth" parameterType="com.link.report.domain.entity.JimuReportAuth" useGeneratedKeys="true" keyProperty="id">
insert into jimu_report_auth
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="reportId != null">report_id,</if>
<if test="userId != null">user_id,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="reportId != null">#{reportId},</if>
<if test="userId != null">#{userId},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<insert id="insertAuthUsers" >
insert into jimu_report_auth (report_id, user_id,create_by,update_by)
values
<foreach collection="userIds" item="item" separator=",">
(#{reportId}, #{item},#{username},#{username})
</foreach>
</insert>
<update id="updateJimuReportAuth" parameterType="com.link.report.domain.entity.JimuReportAuth">
update jimu_report_auth
<trim prefix="SET" suffixOverrides=",">
<if test="reportId != null">report_id = #{reportId},</if>
<if test="userId != null">user_id = #{userId},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteJimuReportAuthByid" parameterType="Long">
delete from jimu_report_auth where id = #{id}
</delete>
<delete id="deleteJimuReportAuthByids" parameterType="String">
delete from jimu_report_auth where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.link.report.domain.mapper.JimuReportMapper">
<select id="selectJimuReportListCount" resultType="int">
select count(*) from (
select jr.id, jr.name ,jr.code,
jr.type as category ,jrc.name as categoryName,
jr.create_by as createBy,jr.create_time as createTime
from jimu_report jr
inner join jimu_report_category jrc on jr.type = jrc.id
<where>
jr.del_flag =0
and jr.create_by = #{userName}
<if test="categoryName != null and categoryName != ''">
jrc.name = #{categoryName}
</if>
<if test="name != null and name != ''">
and jr.name like concat('%', #{name}, '%')
</if>
</where>
<if test="userId != null and userId != ''">
union
select jr.id, jr.name ,jr.code,
jr.type as category ,jrc.name as categoryName,
jr.create_by as createBy,jr.create_time as createTime
from jimu_report jr
inner join jimu_report_category jrc on jr.type = jrc.id
inner join jimu_report_auth jra on jr.id = jra.report_id
<where>
<!-- 分配给当前登录人的数据 -->
jr.del_flag =0 and jra.user_id = #{userId}
<if test="categoryName != null and categoryName != ''">
jrc.name = #{categoryName}
</if>
<if test="name != null and name != ''">
and jr.name like concat('%', #{name}, '%')
</if>
</where>
</if>
) huizong
</select>
<select id="selectJimuReportList" resultType="com.link.report.pojo.response.JimuReportListDto">
select distinct id, name ,code, category , categoryName, createBy,createTime
from (
select jr.id, jr.name ,jr.code,
jr.type as category ,jrc.name as categoryName,
jr.create_by as createBy,jr.create_time as createTime
from jimu_report jr
inner join jimu_report_category jrc on jr.type = jrc.id
<where>
jr.del_flag =0
<if test="categoryName != null and categoryName != ''">
and jr.create_by = #{userName}
</if>
<if test="categoryName != null and categoryName != ''">
jrc.name = #{categoryName}
</if>
<if test="name != null and name != ''">
and jr.name like concat('%', #{name}, '%')
</if>
</where>
<if test="userId != null and userId != ''">
union
select jr.id, jr.name ,jr.code,
jr.type as category ,jrc.name as categoryName,
jr.create_by as createBy,jr.create_time as createTime
from jimu_report jr
inner join jimu_report_category jrc on jr.type = jrc.id
inner join jimu_report_auth jra on jr.id = jra.report_id
<where>
<!-- 分配给当前登录人的数据 -->
jr.del_flag =0
and jra.user_id = #{userId}
<if test="categoryName != null and categoryName != ''">
jrc.name = #{categoryName}
</if>
<if test="name != null and name != ''">
and jr.name like concat('%', #{name}, '%')
</if>
</where>
</if>
) huizong
order by createTime desc
limit #{skipNum},#{pageSize};
</select>
</mapper>
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
<if test="categoryName != null and categoryName != ''"> <if test="categoryName != null and categoryName != ''">
c1.name = #{categoryName} c1.name = #{categoryName}
OR c2.name = #{categoryName} OR c2.name = #{categoryName}
OR c3.name = #{categoryName}; OR c3.name = #{categoryName}
</if> </if>
<if test="reportId != null and reportId != ''"> <if test="reportId != null and reportId != ''">
and report_id = #{reportId} and report_id = #{reportId}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论