|
@@ -5,10 +5,13 @@ import cn.hutool.core.util.RandomUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.ISqlSegment;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -313,9 +316,35 @@ public class SysUserController {
|
|
|
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,HttpServletRequest req) {
|
|
|
Result<IPage<SysUser>> result = new Result<IPage<SysUser>>();
|
|
|
QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(user, req.getParameterMap());
|
|
|
- //TODO 外部模拟登陆临时账号,列表不显示
|
|
|
+ Map<String, String[]> parameterMap = req.getParameterMap();
|
|
|
+ List<OrderItem>orderItems=new ArrayList<>();
|
|
|
+ if (queryWrapper.getExpression().getOrderBy()!=null&&queryWrapper.getExpression().getOrderBy().size()>0){
|
|
|
+ String[] s = queryWrapper.getExpression().getOrderBy().get(0).getSqlSegment().split(" ");
|
|
|
+ OrderItem orderItem=new OrderItem();
|
|
|
+ orderItem.setColumn(s[0]);
|
|
|
+ orderItem.setAsc(true);
|
|
|
+ if (s[1].equals("DESC")){
|
|
|
+ orderItem.setAsc(false);
|
|
|
+ }
|
|
|
+ orderItems.add(orderItem);
|
|
|
+ }
|
|
|
+ String rzStartDate="";
|
|
|
+ String rzEndDate="";
|
|
|
+ String syStartDate="";
|
|
|
+ String syEndDate="";
|
|
|
+ if (oConvertUtils.isNotEmpty(user.getRzDate())&&!user.getRzDate().equals(",")){
|
|
|
+ String[] split = user.getRzDate().split(",");
|
|
|
+ rzStartDate=split[0];
|
|
|
+ rzEndDate=split[1];
|
|
|
+ }if (oConvertUtils.isNotEmpty(user.getSyDate())&&!user.getSyDate().equals(",")){
|
|
|
+ String[] split = user.getSyDate().split(",");
|
|
|
+ syStartDate=split[0];
|
|
|
+ syEndDate=split[1];
|
|
|
+ }
|
|
|
+ //TODO 外部模拟登陆临时账号,列表不显示
|
|
|
queryWrapper.ne("username","_reserve_user_external");
|
|
|
Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
|
|
|
+ page.setOrders(orderItems);
|
|
|
String deptids="";
|
|
|
String state="0";
|
|
|
List<String> mySubDepIdsByDepId=null;
|
|
@@ -345,7 +374,7 @@ public class SysUserController {
|
|
|
}if(oConvertUtils.isNotEmpty(user.getWorkNo())){
|
|
|
user.setWorkNo(user.getWorkNo().trim());
|
|
|
}
|
|
|
- Page<SysUser> pageList = sysUserService.kQueryUser(page, user,subDepIdsByDepId,mySubDepIdsByDepId,status,category);
|
|
|
+ Page<SysUser> pageList = sysUserService.kQueryUser(page, user,subDepIdsByDepId,mySubDepIdsByDepId,status,category,rzStartDate,rzEndDate,syStartDate,syEndDate);
|
|
|
//批量查询用户的所属部门
|
|
|
//step.1 先拿到全部的 useids
|
|
|
//step.2 通过 useids,一次性查询用户的所属部门名字
|
|
@@ -379,12 +408,17 @@ public class SysUserController {
|
|
|
List<SysDepart> sysDeparts = sysDepartService.listDeptTop(codes);
|
|
|
if (sysDeparts!=null&&sysDeparts.size()>0){
|
|
|
sysDeparts.forEach(str->{
|
|
|
- if (str.getOrgType().equals("1")){
|
|
|
+ if(sysDeparts.size()>1) {
|
|
|
+ if (str.getOrgType().equals("1")) {
|
|
|
+ item.setDel2(str.getDepartName());
|
|
|
+ } else if (str.getOrgType().equals("2")) {
|
|
|
+ item.setDel3(str.getDepartName());
|
|
|
+ } else if (str.getOrgType().equals("3")) {
|
|
|
+ item.setDel4(str.getDepartName());
|
|
|
+ }
|
|
|
+ }else {
|
|
|
item.setDel2(str.getDepartName());
|
|
|
- }else if (str.getOrgType().equals("2")){
|
|
|
item.setDel3(str.getDepartName());
|
|
|
- }else if (str.getOrgType().equals("3")){
|
|
|
- item.setDel4(str.getDepartName());
|
|
|
}
|
|
|
});
|
|
|
}
|
|
@@ -828,14 +862,39 @@ public class SysUserController {
|
|
|
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
|
|
// Step.1 组装查询条件
|
|
|
QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(sysUser, request.getParameterMap());
|
|
|
+ List<OrderItem>orderItems=new ArrayList<>();
|
|
|
+ if (queryWrapper.getExpression().getOrderBy()!=null&&queryWrapper.getExpression().getOrderBy().size()>0){
|
|
|
+ String[] s = queryWrapper.getExpression().getOrderBy().get(0).getSqlSegment().split(" ");
|
|
|
+ OrderItem orderItem=new OrderItem();
|
|
|
+ orderItem.setColumn(s[0]);
|
|
|
+ orderItem.setAsc(true);
|
|
|
+ if (s[1].equals("DESC")){
|
|
|
+ orderItem.setAsc(false);
|
|
|
+ }
|
|
|
+ orderItems.add(orderItem);
|
|
|
+ }
|
|
|
//Step.2 AutoPoi 导出Excel
|
|
|
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
|
|
|
Page<SysUser> page = new Page<SysUser>(1, 10000);
|
|
|
+ page.setOrders(orderItems);
|
|
|
//update-begin--Author:kangxiaolin Date:20180825 for:[03]用户导出,如果选择数据则只导出相关数据--------------------
|
|
|
String selections = request.getParameter("selections");
|
|
|
if(!oConvertUtils.isEmpty(selections)){
|
|
|
queryWrapper.in("id",selections.split(","));
|
|
|
}
|
|
|
+ String rzStartDate="";
|
|
|
+ String rzEndDate="";
|
|
|
+ String syStartDate="";
|
|
|
+ String syEndDate="";
|
|
|
+ if (oConvertUtils.isNotEmpty(sysUser.getRzDate())){
|
|
|
+ String[] split = sysUser.getRzDate().split(",");
|
|
|
+ rzStartDate=split[0];
|
|
|
+ rzEndDate=split[1];
|
|
|
+ }if (oConvertUtils.isNotEmpty(sysUser.getSyDate())){
|
|
|
+ String[] split = sysUser.getSyDate().split(",");
|
|
|
+ syStartDate=split[0];
|
|
|
+ syEndDate=split[1];
|
|
|
+ }
|
|
|
List<String> mySubDepIdsByDepId=null;
|
|
|
LoginUser sysUsers = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
List<SysUserRole> userRole = sysUserRoleService.list(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, sysUsers.getId()));
|
|
@@ -860,7 +919,7 @@ public class SysUserController {
|
|
|
}if (sysUser.getCategorys()!=null&&!"".equals(sysUser.getCategorys())){
|
|
|
category=Arrays.asList(sysUser.getCategorys().toString().split(","));
|
|
|
}
|
|
|
- List<SysUser> pageList = sysUserMapper.kQueryUser(page, sysUser,subDepIdsByDepId,mySubDepIdsByDepId,status,category);
|
|
|
+ List<SysUser> pageList = sysUserMapper.kQueryUser(page, sysUser,subDepIdsByDepId,mySubDepIdsByDepId,status,category,rzStartDate,rzEndDate,syStartDate,syEndDate);
|
|
|
|
|
|
List<String>userids=new ArrayList<>();
|
|
|
if (pageList.size()>0){
|
|
@@ -1268,7 +1327,7 @@ public class SysUserController {
|
|
|
}
|
|
|
|
|
|
|
|
|
- /*@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
|
|
|
+ /* @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
|
|
|
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response)throws IOException {
|
|
|
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
|
|
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
|
@@ -1288,59 +1347,75 @@ public class SysUserController {
|
|
|
listSysUsers.remove(0);
|
|
|
for (int i = 0; i < listSysUsers.size(); i++) {
|
|
|
SysUser sysUserExcel = listSysUsers.get(i);
|
|
|
- int lineNumber = i + 1;
|
|
|
- if (sysUserExcel.getWorkNo().equals("100009")){
|
|
|
- sysUserExcel.setId("100009");
|
|
|
- }if (sysUserExcel.getWorkNo().equals("100024")){
|
|
|
- sysUserExcel.setId("Alice.guo");
|
|
|
- }if (sysUserExcel.getWorkNo().equals("100025")){
|
|
|
- sysUserExcel.setId("eva.zheng");
|
|
|
- }if (sysUserExcel.getWorkNo().equals("100027")){
|
|
|
- sysUserExcel.setId("kerr.zou");
|
|
|
- }if (sysUserExcel.getWorkNo().equals("100059")){
|
|
|
- sysUserExcel.setId("100059");
|
|
|
- }if (sysUserExcel.getWorkNo().equals("100134")){
|
|
|
- sysUserExcel.setId("100134");
|
|
|
- }if (sysUserExcel.getWorkNo().equals("100135")){
|
|
|
- sysUserExcel.setId("100135");
|
|
|
- }
|
|
|
- //sysUserExcel.setId(sysUserExcel.getWorkNo());
|
|
|
- if (sysUserExcel.getSfzType().equals("其他")){
|
|
|
- sysUserExcel.setSfzType("1");
|
|
|
- }if (sysUserExcel.getSfzType().equals("中国身份证")){
|
|
|
+ if(sysUserExcel.getSfzType().equals("中国身份证")){
|
|
|
sysUserExcel.setSfzType("0");
|
|
|
- }if (sysUserExcel.getIsAttendance().equals("是")){
|
|
|
- sysUserExcel.setIsAttendance("0");
|
|
|
- }if (sysUserExcel.getIsAttendance().equals("否")){
|
|
|
- sysUserExcel.setIsAttendance("1");
|
|
|
+ }else {
|
|
|
+ sysUserExcel.setSfzType("1");
|
|
|
}
|
|
|
try {
|
|
|
-
|
|
|
- // sysUserService.updateById(sysUserExcel);
|
|
|
- if (sysUserExcel.getIsAttendance().equals("0")){
|
|
|
- AttendanceRule attendanceRule=new AttendanceRule();
|
|
|
- attendanceRule.setUserId(sysUserExcel.getId());
|
|
|
- attendanceRule.setType(sysUserExcel.getType());
|
|
|
- if (sysUserExcel.getType().equals("1")||sysUserExcel.getType().equals(1)){
|
|
|
- String str="2022-01-02 10:00:00";
|
|
|
- String end="2022-01-02 19:00:00";
|
|
|
- attendanceRule.setWorkDay("0,1,2,3,4,5,6");
|
|
|
- attendanceRule.setStartDate(DateUtils.parseDate(str,"yyyy-MM-dd HH:mm:ss"));
|
|
|
- attendanceRule.setEndDate(DateUtils.parseDate(end,"yyyy-MM-dd HH:mm:ss"));
|
|
|
+ if (sysUserExcel.getWorkNo().equals("100024")){
|
|
|
+ sysUserExcel.setId("Alice.guo");
|
|
|
+ }else if (sysUserExcel.getWorkNo().equals("100025")){
|
|
|
+ sysUserExcel.setId("eva.zheng");
|
|
|
+ }else if (sysUserExcel.getWorkNo().equals("100206")){
|
|
|
+ sysUserExcel.setId("gaines.guo");
|
|
|
+ }else if (sysUserExcel.getWorkNo().equals("100020")){
|
|
|
+ sysUserExcel.setId("jack.wu");
|
|
|
+ }else if (sysUserExcel.getWorkNo().equals("100201")){
|
|
|
+ sysUserExcel.setId("jacky.yao");
|
|
|
+ }else if (sysUserExcel.getWorkNo().equals("100068")){
|
|
|
+ sysUserExcel.setId("Kayla.kang");
|
|
|
+ }else if (sysUserExcel.getWorkNo().equals("100027")){
|
|
|
+ sysUserExcel.setId("kerr.zou");
|
|
|
+ }else if (sysUserExcel.getWorkNo().equals("100198")){
|
|
|
+ sysUserExcel.setId("lisa.wang");
|
|
|
+ }else if (sysUserExcel.getWorkNo().equals("100015")){
|
|
|
+ sysUserExcel.setId("mike.wang");
|
|
|
+ }else if (sysUserExcel.getWorkNo().equals("100202")){
|
|
|
+ sysUserExcel.setId("owen.li");
|
|
|
+ }else if (sysUserExcel.getWorkNo().equals("100014")){
|
|
|
+ sysUserExcel.setId("roy.zhu");
|
|
|
+ }else if (sysUserExcel.getWorkNo().equals("100023")){
|
|
|
+ sysUserExcel.setId("Simon.zhang");
|
|
|
+ }else if (sysUserExcel.getWorkNo().equals("100054")){
|
|
|
+ sysUserExcel.setId("vito.chen");
|
|
|
+ }else if (sysUserExcel.getWorkNo().equals("100013")){
|
|
|
+ sysUserExcel.setId("yongqiang.zhang");
|
|
|
+ }else {
|
|
|
+ sysUserExcel.setId(sysUserExcel.getWorkNo());
|
|
|
+ }
|
|
|
+ String departLis = departMapper.getDepartLis(sysUserExcel.getOrgCodeTxt());
|
|
|
+ sysUserExcel.setDepartIds(departLis);
|
|
|
+ if (sysUserExcel.getIsAttendance().equals("是")){
|
|
|
+ sysUserExcel.setIsAttendance("0");
|
|
|
+ }else {
|
|
|
+ sysUserExcel.setIsAttendance("1");
|
|
|
+ }
|
|
|
+ sysUserService.editUserWithDepart(sysUserExcel, departLis);
|
|
|
+ sysUserService.updateById(sysUserExcel);
|
|
|
+ if (sysUserExcel.getIsAttendance().equals("0")&&sysUserExcel.getType()!=null){
|
|
|
+ AttendanceRule attendanceRule = attendanceRuleService.UserRule(sysUserExcel.getId());
|
|
|
+ if (attendanceRule!=null){
|
|
|
+ attendanceRuleService.removeById(attendanceRule.getId());
|
|
|
}
|
|
|
- attendanceRuleService.save(attendanceRule);
|
|
|
+ AttendanceRule attendanceRule1=new AttendanceRule();
|
|
|
+ attendanceRule1.setType(sysUserExcel.getType());
|
|
|
+ attendanceRule1.setUserId(sysUserExcel.getId());
|
|
|
+ attendanceRuleService.save(attendanceRule1);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
} catch (Exception e) {
|
|
|
errorLines++;
|
|
|
String message = e.getMessage().toLowerCase();
|
|
|
|
|
|
// 通过索引名判断出错信息
|
|
|
if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_USERNAME)) {
|
|
|
- errorMessage.add("第 " + lineNumber + " 行:用户名已经存在,忽略导入。");
|
|
|
+ errorMessage.add("第 " + 1 + " 行:用户名已经存在,忽略导入。");
|
|
|
} else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_PHONE)) {
|
|
|
- errorMessage.add("第 " + lineNumber + " 行:手机号已经存在,忽略导入。");
|
|
|
+ errorMessage.add("第 " + 1 + " 行:手机号已经存在,忽略导入。");
|
|
|
} else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_USER_EMAIL)) {
|
|
|
- errorMessage.add("第 " + lineNumber + " 行:电子邮件已经存在,忽略导入。");
|
|
|
+ errorMessage.add("第 " + 1 + " 行:电子邮件已经存在,忽略导入。");
|
|
|
}
|
|
|
}
|
|
|
|