内部工作组左侧属性修改
This commit is contained in:
+2
-62
@@ -237,68 +237,8 @@ public class LawsWorkingGroupUserController extends JeroController<LawsWorkingGr
|
||||
@AutoLog(value = "内部工作组人员关联表-导出")
|
||||
@ApiOperation(value = "内部工作组人员关联表-导出", notes = "内部工作组人员关联表-导出")
|
||||
@GetMapping(value = "/export")
|
||||
public ModelAndView template(@RequestParam(required = false) String workingGroupId, @RequestParam(required = false) String realname, @RequestParam(required = false) String username, @RequestParam(required = false) String userRoleName, @RequestParam(required = false) String userPostName, HttpServletRequest request, HttpServletResponse response) {
|
||||
if (StringUtils.isBlank(workingGroupId)) {
|
||||
throw new JeroBootException(ResultCommon.PLEASE_SELECT_A_WORKGROUP_TO_EXPORT);
|
||||
}
|
||||
|
||||
//获取数据,分为三种情况:1、选中ID;2、没选ID且选了姓名、工号、角色、岗位四个筛选框;3、没选ID且没选四个筛选框
|
||||
List<LawsWorkingGroupUser> dos = null;
|
||||
//获取选中数据
|
||||
String selections = request.getParameter("selections");
|
||||
|
||||
if (StringUtils.isNotBlank(selections)) {
|
||||
dos = this.queryDataByUserId(selections);
|
||||
}
|
||||
if (StringUtils.isBlank(selections) && !StringUtils.isAllBlank(realname, username, userRoleName, userPostName)) {
|
||||
dos = this.queryDataByConditions(realname, username, userRoleName, userPostName, workingGroupId);
|
||||
}
|
||||
if (StringUtils.isBlank(selections) && StringUtils.isAllBlank(realname, username, userRoleName, userPostName)) {
|
||||
dos = this.queryDataByTree(workingGroupId);
|
||||
}
|
||||
lawsWorkingGroupUserService.userAssignment(dos);
|
||||
|
||||
// AutoPoi 导出Excel
|
||||
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
|
||||
String title = "内部工作组人员表";
|
||||
//此处设置的filename无效 ,前端会重更新设置一下
|
||||
mv.addObject(FILE_NAME, title);
|
||||
mv.addObject(CLASS, LawsWorkingGroupUser.class);
|
||||
ExportParams exportParams = new ExportParams(null, title);
|
||||
// 导出xlsx
|
||||
exportParams.setType(ExcelType.XSSF);
|
||||
mv.addObject(PARAMS, exportParams);
|
||||
mv.addObject(NormalExcelConstants.DATA_LIST, dos);
|
||||
return mv;
|
||||
}
|
||||
|
||||
private List<LawsWorkingGroupUser> queryDataByUserId(String userId) {
|
||||
LambdaQueryWrapper<LawsWorkingGroupUser> queryLawsWorkingGroupUser = new LambdaQueryWrapper<>();
|
||||
queryLawsWorkingGroupUser.in(LawsWorkingGroupUser::getUserId,Arrays.asList(userId.split(",")));
|
||||
queryLawsWorkingGroupUser.orderByDesc(LawsWorkingGroupUser::getCreateTime);
|
||||
return lawsWorkingGroupUserService.list(queryLawsWorkingGroupUser);
|
||||
}
|
||||
|
||||
private List<LawsWorkingGroupUser> queryDataByConditions(String userName, String userWorkNo, String userRoleName, String userPostName, String workingGroupId) {
|
||||
List<String> ids = lawsWorkingGroupUserService.lawsWorkingGroupUserSearch(userName, userWorkNo, userRoleName, userPostName);
|
||||
List<LawsWorkingGroupUser> list = new ArrayList<>();
|
||||
if (!ids.isEmpty()) {
|
||||
LambdaQueryWrapper<LawsWorkingGroupUser> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(LawsWorkingGroupUser::getWorkingGroupId, workingGroupId);
|
||||
wrapper.eq(LawsWorkingGroupUser::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
|
||||
wrapper.in(LawsWorkingGroupUser::getUserId, ids);
|
||||
wrapper.orderByDesc(LawsWorkingGroupUser::getCreateTime);
|
||||
list = lawsWorkingGroupUserService.list(wrapper);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
private List<LawsWorkingGroupUser> queryDataByTree(String workingGroupId) {
|
||||
LambdaQueryWrapper<LawsWorkingGroupUser> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(LawsWorkingGroupUser::getWorkingGroupId, workingGroupId);
|
||||
wrapper.eq(LawsWorkingGroupUser::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
|
||||
wrapper.orderByDesc(LawsWorkingGroupUser::getCreateTime);
|
||||
return lawsWorkingGroupUserService.list(wrapper);
|
||||
public ModelAndView template(@RequestParam(required = false) String workingGroupId, @RequestParam(required = false) String realname, @RequestParam(required = false) String username, @RequestParam(required = false) String userRoleName, @RequestParam(required = false) String userPostName, HttpServletRequest request) {
|
||||
return lawsWorkingGroupUserService.export(workingGroupId,realname,username,userRoleName,userPostName, request);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+16
@@ -4,6 +4,8 @@ import com.jero.modules.sys.entity.LawsWorkingGroupUser;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -98,4 +100,18 @@ public interface ILawsWorkingGroupUserService extends IService<LawsWorkingGroupU
|
||||
* @return void
|
||||
*/
|
||||
void checkAuth(String workingGroupId);
|
||||
|
||||
/**
|
||||
* 导出
|
||||
* @author LQT
|
||||
* @date 2023/11/9 9:26
|
||||
* @param workingGroupId
|
||||
* @param realname
|
||||
* @param username
|
||||
* @param userRoleName
|
||||
* @param userPostName
|
||||
* @param request
|
||||
* @return org.springframework.web.servlet.ModelAndView
|
||||
*/
|
||||
ModelAndView export(String workingGroupId,String realname,String username,String userRoleName,String userPostName,HttpServletRequest request);
|
||||
}
|
||||
|
||||
+100
-17
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.laws.common.constant.ResultCommon;
|
||||
@@ -25,9 +26,15 @@ import com.jero.modules.system.service.ISysUserService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
|
||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@@ -69,6 +76,33 @@ public class LawsWorkingGroupUserServiceImpl extends ServiceImpl<LawsWorkingGrou
|
||||
String userPostName = lawsWorkingGroupUser.getUserPostName();
|
||||
String workingGroupId = lawsWorkingGroupUser.getWorkingGroupId();
|
||||
|
||||
QueryWrapper<LawsWorkingGroupUser> wrapper = getWrapper(realname, userName, userRoleName, userPostName, workingGroupId);
|
||||
// 没选上面四个筛选条件时
|
||||
return page(page, wrapper);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private QueryWrapper<LawsWorkingGroupUser> getWrapper(String realname, String userName, String userRoleName, String userPostName, String workingGroupId) {
|
||||
List<String> workingGroupIds = getWorkingGroupIds(workingGroupId);
|
||||
QueryWrapper<LawsWorkingGroupUser> wrapper = new QueryWrapper<>();
|
||||
wrapper.select("user_id","max(working_group_id) as working_group_id","max(id) as id");
|
||||
if(!CollectionUtils.isEmpty(workingGroupIds)){
|
||||
wrapper.in("working_group_id", workingGroupIds);
|
||||
}
|
||||
if (!StringUtils.isAllBlank(realname, userName, userRoleName, userPostName)){
|
||||
List<String> ids = lawsWorkingGroupUserSearch(realname, userName, userRoleName, userPostName);
|
||||
if (CollectionUtils.isEmpty(ids)){
|
||||
ids.add("-1");
|
||||
}
|
||||
ids = ids.stream().distinct().collect(Collectors.toList());
|
||||
wrapper.in("user_id", ids);
|
||||
}
|
||||
wrapper.groupBy("user_id");
|
||||
return wrapper;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private List<String> getWorkingGroupIds(String workingGroupId) {
|
||||
List<String> workingGroupIds = new ArrayList<>();
|
||||
if(!StringUtils.isBlank(workingGroupId)){
|
||||
LawsWorkingGroup lawsWorkingGroup = lawsWorkingGroupService.queryById(workingGroupId);
|
||||
@@ -89,23 +123,8 @@ public class LawsWorkingGroupUserServiceImpl extends ServiceImpl<LawsWorkingGrou
|
||||
workingGroupIds.add(workingGroupId);
|
||||
}
|
||||
}
|
||||
LambdaQueryWrapper<LawsWorkingGroupUser> wrapper = new LambdaQueryWrapper<>();
|
||||
if(!CollectionUtils.isEmpty(workingGroupIds)){
|
||||
wrapper.in(LawsWorkingGroupUser::getWorkingGroupId, workingGroupIds);
|
||||
}
|
||||
|
||||
if (!StringUtils.isAllBlank(realname, userName, userRoleName, userPostName)){
|
||||
List<String> ids = lawsWorkingGroupUserSearch(realname, userName, userRoleName, userPostName);
|
||||
if (ids.isEmpty()){
|
||||
return new Page<>();
|
||||
}
|
||||
wrapper.eq(LawsWorkingGroupUser::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
|
||||
wrapper.in(LawsWorkingGroupUser::getUserId, ids);
|
||||
return page(page, wrapper);
|
||||
}
|
||||
// 没选上面四个筛选条件时
|
||||
return page(page, wrapper);
|
||||
}
|
||||
return workingGroupIds;
|
||||
}
|
||||
|
||||
/**
|
||||
* 内部工作组模糊搜索获取满足条件的用户id集合
|
||||
@@ -171,6 +190,70 @@ public class LawsWorkingGroupUserServiceImpl extends ServiceImpl<LawsWorkingGrou
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModelAndView export(String workingGroupId, String realname, String userName, String userRoleName, String userPostName, HttpServletRequest request) {
|
||||
if (StringUtils.isBlank(workingGroupId)) {
|
||||
throw new JeroBootException(ResultCommon.PLEASE_SELECT_A_WORKGROUP_TO_EXPORT);
|
||||
}
|
||||
|
||||
//获取数据,分为三种情况:1、选中ID;2、没选ID且选了姓名、工号、角色、岗位四个筛选框;3、没选ID且没选四个筛选框
|
||||
List<LawsWorkingGroupUser> dos;
|
||||
|
||||
QueryWrapper<LawsWorkingGroupUser> wrapper = getWrapper(realname, userName, userRoleName, userPostName, workingGroupId);
|
||||
|
||||
//获取选中数据
|
||||
String selections = request.getParameter("selections");
|
||||
if (StringUtils.isNotBlank(selections)) {
|
||||
wrapper.in("user_id",Arrays.asList(selections.split(",")));
|
||||
}
|
||||
dos = list(wrapper);
|
||||
|
||||
userAssignment(dos);
|
||||
|
||||
// AutoPoi 导出Excel
|
||||
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
|
||||
String title = "内部工作组人员表";
|
||||
//此处设置的filename无效 ,前端会重更新设置一下
|
||||
mv.addObject(JeroController.FILE_NAME, title);
|
||||
mv.addObject(JeroController.CLASS, LawsWorkingGroupUser.class);
|
||||
ExportParams exportParams = new ExportParams(null, title);
|
||||
// 导出xlsx
|
||||
exportParams.setType(ExcelType.XSSF);
|
||||
mv.addObject(JeroController.PARAMS, exportParams);
|
||||
mv.addObject(NormalExcelConstants.DATA_LIST, dos);
|
||||
return mv;
|
||||
}
|
||||
|
||||
|
||||
private List<LawsWorkingGroupUser> queryDataByUserId(String userId) {
|
||||
LambdaQueryWrapper<LawsWorkingGroupUser> queryLawsWorkingGroupUser = new LambdaQueryWrapper<>();
|
||||
queryLawsWorkingGroupUser.in(LawsWorkingGroupUser::getUserId,Arrays.asList(userId.split(",")));
|
||||
queryLawsWorkingGroupUser.orderByDesc(LawsWorkingGroupUser::getCreateTime);
|
||||
return list(queryLawsWorkingGroupUser);
|
||||
}
|
||||
|
||||
private List<LawsWorkingGroupUser> queryDataByConditions(String userName, String userWorkNo, String userRoleName, String userPostName, String workingGroupId) {
|
||||
List<String> ids = lawsWorkingGroupUserSearch(userName, userWorkNo, userRoleName, userPostName);
|
||||
List<LawsWorkingGroupUser> list = new ArrayList<>();
|
||||
if (!ids.isEmpty()) {
|
||||
LambdaQueryWrapper<LawsWorkingGroupUser> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(LawsWorkingGroupUser::getWorkingGroupId, workingGroupId);
|
||||
wrapper.eq(LawsWorkingGroupUser::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
|
||||
wrapper.in(LawsWorkingGroupUser::getUserId, ids);
|
||||
wrapper.orderByDesc(LawsWorkingGroupUser::getCreateTime);
|
||||
list = list(wrapper);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
private List<LawsWorkingGroupUser> queryDataByTree(String workingGroupId) {
|
||||
LambdaQueryWrapper<LawsWorkingGroupUser> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(LawsWorkingGroupUser::getWorkingGroupId, workingGroupId);
|
||||
wrapper.eq(LawsWorkingGroupUser::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
|
||||
wrapper.orderByDesc(LawsWorkingGroupUser::getCreateTime);
|
||||
return list(wrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user