Browse Source

修改课题管理 用户管理

master
ccsens_zhengzhichuan 3 months ago
parent
commit
14dccd6424
  1. 57
      research-admin/src/main/java/com/research/web/controller/client/project/GroupController.java
  2. 18
      research-admin/src/main/java/com/research/web/controller/client/task/TaskController.java
  3. 29
      research-admin/src/main/java/com/research/web/controller/system/SysUserController.java
  4. 62
      research-admin/src/main/java/com/research/web/controller/tenant/TmsTenantUserController.java
  5. 7
      research-system/src/main/java/com/research/system/domain/dto/GroupDto.java
  6. 1
      research-system/src/main/java/com/research/system/domain/dto/TaskDto.java
  7. 1
      research-system/src/main/java/com/research/system/domain/vo/GroupVO.java
  8. 1
      research-system/src/main/java/com/research/system/domain/vo/HomeVo.java
  9. 5
      research-system/src/main/java/com/research/system/domain/vo/TaskVo.java
  10. 2
      research-system/src/main/java/com/research/system/service/KtsGroupService.java
  11. 4
      research-system/src/main/java/com/research/system/service/TmsLoginService.java
  12. 8
      research-system/src/main/java/com/research/system/service/impl/HomeServiceImpl.java
  13. 38
      research-system/src/main/java/com/research/system/service/impl/KtsGroupServiceImpl.java
  14. 5
      research-system/src/main/java/com/research/system/service/impl/TaskServiceImpl.java
  15. 11
      research-system/src/main/java/com/research/system/service/impl/TmsLoginServiceImpl.java
  16. 3
      research-system/src/main/resources/mapper/dao/DmsUserDao.xml
  17. 60
      research-system/src/main/resources/mapper/dao/HomeDao.xml
  18. 8
      research-system/src/main/resources/mapper/dao/KtsGroupDao.xml
  19. 14
      research-system/src/main/resources/mapper/dao/TaskDao.xml

57
research-admin/src/main/java/com/research/web/controller/client/project/GroupController.java

@ -1,24 +1,33 @@
package com.research.web.controller.client.project; package com.research.web.controller.client.project;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.research.common.annotation.DataSource;
import com.research.common.core.domain.AjaxResult; import com.research.common.core.domain.AjaxResult;
import com.research.common.core.domain.BaseDto; import com.research.common.core.domain.BaseDto;
import com.research.common.core.domain.JsonResponse; import com.research.common.core.domain.JsonResponse;
import com.research.common.core.domain.entity.SysUser; import com.research.common.core.domain.entity.SysUser;
import com.research.common.enums.DataSourceType;
import com.research.common.utils.SecurityUtils; import com.research.common.utils.SecurityUtils;
import com.research.common.utils.StringUtils;
import com.research.flowable.service.IFlowDefinitionService; import com.research.flowable.service.IFlowDefinitionService;
import com.research.flowable.service.IFlowTaskService; import com.research.flowable.service.IFlowTaskService;
import com.research.framework.datasource.DynamicDataSourceContextHolder;
import com.research.system.domain.dto.CommonDto; import com.research.system.domain.dto.CommonDto;
import com.research.system.domain.dto.GroupDto; import com.research.system.domain.dto.GroupDto;
import com.research.system.domain.po.KtsKtGroupMember; import com.research.system.domain.po.*;
import com.research.system.domain.po.PrjProjInfo;
import com.research.system.domain.po.PrjProjOrg;
import com.research.system.domain.vo.GroupVO; import com.research.system.domain.vo.GroupVO;
import com.research.system.persist.mapper.SrvDataSourceMapper;
import com.research.system.persist.mapper.TmsTenantMapper;
import com.research.system.persist.mapper.TmsTenantUserMapper;
import com.research.system.service.ClientPrjProjInfoService; import com.research.system.service.ClientPrjProjInfoService;
import com.research.system.service.ISysUserService; import com.research.system.service.ISysUserService;
import com.research.system.service.KtsGroupService; import com.research.system.service.KtsGroupService;
import com.research.system.service.TmsLoginService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import liquibase.pro.packaged.J; import liquibase.pro.packaged.J;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -32,6 +41,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -59,6 +69,14 @@ public class GroupController {
private ISysUserService sysUserService; private ISysUserService sysUserService;
@Resource @Resource
private IFlowDefinitionService flowDefinitionService; private IFlowDefinitionService flowDefinitionService;
@Resource
private TmsTenantUserMapper tmsTenantUserMapper;
@Resource
private SrvDataSourceMapper srvDataSourceMapper;
@Resource
private TmsTenantMapper tmsTenantMapper;
@Resource
private TmsLoginService tmsLoginService;
@PostMapping("/query") @PostMapping("/query")
public JsonResponse<PageInfo<GroupVO.Result>> queryGroupList(@RequestBody @Validated BaseDto<GroupDto.Query> query){ public JsonResponse<PageInfo<GroupVO.Result>> queryGroupList(@RequestBody @Validated BaseDto<GroupDto.Query> query){
@ -90,9 +108,40 @@ public class GroupController {
return JsonResponse.ok(new PageInfo<>(ktsGroupService.queryMemberList(query.getParam()))); return JsonResponse.ok(new PageInfo<>(ktsGroupService.queryMemberList(query.getParam())));
} }
@PostMapping("/member/add") @PostMapping("/member/add")
// @DataSource(DataSourceType.MASTER)
public JsonResponse<Integer> addMember(@RequestBody @Validated GroupDto.AddMember dto) throws Exception { public JsonResponse<Integer> addMember(@RequestBody @Validated GroupDto.AddMember dto) throws Exception {
// //判定租户及数据源是否存在
// TmsTenant dmsTenant = tmsTenantMapper.selectByPrimaryKey(SecurityUtils.getTenantId());
// if (dmsTenant == null) {
// return JsonResponse.ok().fail("租户不存在");
// }
// SrvDataSource umsDataSource = srvDataSourceMapper.selectByPrimaryKey(dmsTenant.getDataSourceId());
// if (umsDataSource == null || StrUtil.isEmpty(umsDataSource.getDataSourceKey())) {
// return JsonResponse.ok().fail("数据源不存在");
// }
//
// //新增主库租户用户
// if (tmsLoginService.checkUserNameUnique(dto.getMemberPhone())) {
// return JsonResponse.ok().fail("新增用户'" + dto.getMemberPhone() + "'失败,登录账号已存在");
// }
// TmsTenantUser tmsTenantUser = new TmsTenantUser();
// tmsTenantUser.setCreateBy(SecurityUtils.getUsername());
// tmsTenantUser.setCreateTime(new Date());
// tmsTenantUser.setTenantId(SecurityUtils.getTenantId());
// tmsTenantUser.setTenantUserId(dto.getUserId());
// tmsTenantUser.setUserName(dto.getMemberName());
// tmsTenantUser.setNickName(dto.getMemberName());
// tmsTenantUser.setDelFlag((byte) 0);
// tmsTenantUser.setSlaverAdmin((byte) 0);
// tmsTenantUser.setPhonenumber(dto.getMemberPhone());
// tmsTenantUser.setId(IdUtil.getSnowflakeNextId());
// tmsTenantUserMapper.insertSelective(tmsTenantUser);
// //切换至从库
// DynamicDataSourceContextHolder.setDataSourceType(umsDataSource.getDataSourceKey());
KtsKtGroupMember ktsKtGroupMember = ktsGroupService.addMember(dto); KtsKtGroupMember ktsKtGroupMember = ktsGroupService.addMember(dto);
// aduit(ktsKtGroupMember.getId()); aduit(ktsKtGroupMember.getId());
// //销毁切换数据源
// DynamicDataSourceContextHolder.clearDataSourceType();
return JsonResponse.ok(); return JsonResponse.ok();
} }

18
research-admin/src/main/java/com/research/web/controller/client/task/TaskController.java

@ -37,7 +37,7 @@ public class TaskController {
@Resource @Resource
private TaskService taskService; private TaskService taskService;
@ApiOperation(value = "查询实验室") @ApiOperation(value = "查询任务")
@RequestMapping(value = "/query", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/query", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<PageInfo<TaskVo.TaskResult>> queryList(@ApiParam @Validated @RequestBody BaseDto<TaskDto.QueryTask> query) { public JsonResponse<PageInfo<TaskVo.TaskResult>> queryList(@ApiParam @Validated @RequestBody BaseDto<TaskDto.QueryTask> query) {
if (query.getPageNum() > 0) { if (query.getPageNum() > 0) {
@ -46,21 +46,21 @@ public class TaskController {
return JsonResponse.ok(new PageInfo<>(taskService.queryList(query.getParam()))); return JsonResponse.ok(new PageInfo<>(taskService.queryList(query.getParam())));
} }
@ApiOperation(value = "查询实验室") @ApiOperation(value = "新增任务")
@RequestMapping(value = "/add", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/add", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<Integer> add(@ApiParam @Validated @RequestBody TaskDto.AddTask dto) { public JsonResponse<Integer> add(@ApiParam @Validated @RequestBody TaskDto.AddTask dto) {
taskService.add(dto); taskService.add(dto);
return JsonResponse.ok(); return JsonResponse.ok();
} }
@ApiOperation(value = "查询实验室") @ApiOperation(value = "删除任务")
@RequestMapping(value = "/del", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/del", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<Integer> del(@ApiParam @Validated @RequestBody CommonDto.DelDto dto) { public JsonResponse<Integer> del(@ApiParam @Validated @RequestBody CommonDto.DelDto dto) {
taskService.del(dto); taskService.del(dto);
return JsonResponse.ok(); return JsonResponse.ok();
} }
@ApiOperation(value = "查询实验室") @ApiOperation(value = "查询应交付物")
@RequestMapping(value = "/queryExecutorList", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/queryExecutorList", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<PageInfo<TaskVo.ExecutorResult>> queryExecutorList(@ApiParam @Validated @RequestBody BaseDto<TaskDto.QueryExecutor> query) { public JsonResponse<PageInfo<TaskVo.ExecutorResult>> queryExecutorList(@ApiParam @Validated @RequestBody BaseDto<TaskDto.QueryExecutor> query) {
if (query.getPageNum() > 0) { if (query.getPageNum() > 0) {
@ -69,21 +69,21 @@ public class TaskController {
return JsonResponse.ok(new PageInfo<>(taskService.queryExecutorList(query.getParam()))); return JsonResponse.ok(new PageInfo<>(taskService.queryExecutorList(query.getParam())));
} }
@ApiOperation(value = "查询实验室") @ApiOperation(value = "新增应交付物")
@RequestMapping(value = "/addExecutor", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/addExecutor", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<Integer> addExecutor(@ApiParam @Validated @RequestBody TaskDto.AddExecutor dto) { public JsonResponse<Integer> addExecutor(@ApiParam @Validated @RequestBody TaskDto.AddExecutor dto) {
taskService.addExecutor(dto); taskService.addExecutor(dto);
return JsonResponse.ok(); return JsonResponse.ok();
} }
@ApiOperation(value = "查询实验室") @ApiOperation(value = "删除应交付物")
@RequestMapping(value = "/delExecutor", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/delExecutor", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<Integer> delExecutor(@ApiParam @Validated @RequestBody CommonDto.DelDto dto) { public JsonResponse<Integer> delExecutor(@ApiParam @Validated @RequestBody CommonDto.DelDto dto) {
taskService.delExecutor(dto); taskService.delExecutor(dto);
return JsonResponse.ok(); return JsonResponse.ok();
} }
@ApiOperation(value = "查询实验室") @ApiOperation(value = "查询交付物")
@RequestMapping(value = "/queryDeliverableList", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/queryDeliverableList", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<PageInfo<TaskVo.DeliverableResult>> queryDeliverableList(@ApiParam @Validated @RequestBody BaseDto<TaskDto.QueryDeliverable> query) { public JsonResponse<PageInfo<TaskVo.DeliverableResult>> queryDeliverableList(@ApiParam @Validated @RequestBody BaseDto<TaskDto.QueryDeliverable> query) {
if (query.getPageNum() > 0) { if (query.getPageNum() > 0) {
@ -92,14 +92,14 @@ public class TaskController {
return JsonResponse.ok(new PageInfo<>(taskService.queryDeliverableList(query.getParam()))); return JsonResponse.ok(new PageInfo<>(taskService.queryDeliverableList(query.getParam())));
} }
@ApiOperation(value = "查询实验室") @ApiOperation(value = "新增交付物")
@RequestMapping(value = "/addDeliverable", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/addDeliverable", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<Integer> addDeliverable(@ApiParam @Validated @RequestBody TaskDto.AddDeliverable dto) { public JsonResponse<Integer> addDeliverable(@ApiParam @Validated @RequestBody TaskDto.AddDeliverable dto) {
taskService.addDeliverable(dto); taskService.addDeliverable(dto);
return JsonResponse.ok(); return JsonResponse.ok();
} }
@ApiOperation(value = "查询实验室") @ApiOperation(value = "删除交付物")
@RequestMapping(value = "/delDeliverable", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/delDeliverable", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<Integer> delDeliverable(@ApiParam @Validated @RequestBody CommonDto.DelDto dto) { public JsonResponse<Integer> delDeliverable(@ApiParam @Validated @RequestBody CommonDto.DelDto dto) {
taskService.delDeliverable(dto); taskService.delDeliverable(dto);

29
research-admin/src/main/java/com/research/web/controller/system/SysUserController.java

@ -1,8 +1,15 @@
package com.research.web.controller.system; package com.research.web.controller.system;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.research.framework.aspectj.AdminGlobalDataSourceAspect;
import com.research.framework.datasource.DynamicDataSourceContextHolder;
import com.research.system.domain.po.TmsTenantUser;
import com.research.system.persist.mapper.TmsTenantUserMapper;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
@ -52,6 +59,8 @@ public class SysUserController extends BaseController
@Autowired @Autowired
private ISysPostService postService; private ISysPostService postService;
@Resource
private TmsTenantUserMapper tmsTenantUserMapper;
/** /**
* 获取用户列表 * 获取用户列表
@ -140,7 +149,25 @@ public class SysUserController extends BaseController
} }
user.setCreateBy(getUsername()); user.setCreateBy(getUsername());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
return toAjax(userService.insertUser(user)); int i = userService.insertUser(user);
DynamicDataSourceContextHolder.setDataSourceType("MASTER");
TmsTenantUser tmsTenantUser = new TmsTenantUser();
tmsTenantUser.setTenantId(SecurityUtils.getTenantId());
tmsTenantUser.setTenantUserId(user.getUserId());
tmsTenantUser.setUserName(user.getUserName());
tmsTenantUser.setNickName(user.getNickName());
tmsTenantUser.setEmail(user.getEmail());
tmsTenantUser.setPhonenumber(user.getPhonenumber());
tmsTenantUser.setSex(user.getSex());
tmsTenantUser.setId(user.getUserId());
tmsTenantUser.setTenantUserId(user.getUserId());
tmsTenantUser.setDelFlag((byte) 0);
tmsTenantUser.setCreateTime(new Date());
tmsTenantUser.setCreateBy(getUsername());
tmsTenantUserMapper.insertSelective(tmsTenantUser);
DynamicDataSourceContextHolder.clearDataSourceType();
return toAjax(i);
} }
/** /**

62
research-admin/src/main/java/com/research/web/controller/tenant/TmsTenantUserController.java

@ -84,38 +84,38 @@ public class TmsTenantUserController {
return JsonResponse.ok().fail("数据源不存在"); return JsonResponse.ok().fail("数据源不存在");
} }
//新增主库租户用户 // //新增主库租户用户
if (!dmsLoginService.checkUserNameUnique(dto)) { // if (!dmsLoginService.checkUserNameUnique(dto)) {
return JsonResponse.ok().fail("新增用户'" + dto.getUserName() + "'失败,登录账号已存在"); // return JsonResponse.ok().fail("新增用户'" + dto.getUserName() + "'失败,登录账号已存在");
} else if (StringUtils.isNotEmpty(dto.getPhonenumber()) && !dmsLoginService.checkPhoneUnique(dto)) { // } else if (StringUtils.isNotEmpty(dto.getPhonenumber()) && !dmsLoginService.checkPhoneUnique(dto)) {
return JsonResponse.ok().fail("新增用户'" + dto.getUserName() + "'失败,手机号码已存在"); // return JsonResponse.ok().fail("新增用户'" + dto.getUserName() + "'失败,手机号码已存在");
} // }
dto.setId(IdUtil.getSnowflakeNextId()); // dto.setId(IdUtil.getSnowflakeNextId());
dto.setPassword(SecurityUtils.encryptPassword(dto.getPassword())); // dto.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
adminTenantUserService.insert(dto); // adminTenantUserService.insert(dto);
//
//切换至从库 // //切换至从库
DynamicDataSourceContextHolder.setDataSourceType(umsDataSource.getDataSourceKey()); // DynamicDataSourceContextHolder.setDataSourceType(umsDataSource.getDataSourceKey());
//
//新增从库数据 // //新增从库数据
SysUser user = BeanUtil.copyProperties(dto, SysUser.class); // SysUser user = BeanUtil.copyProperties(dto, SysUser.class);
if (!userService.checkUserNameUnique(user)) { // if (!userService.checkUserNameUnique(user)) {
return JsonResponse.ok().fail("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); // return JsonResponse.ok().fail("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
} else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) { // } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
return JsonResponse.ok().fail("新增用户'" + user.getUserName() + "'失败,手机号码已存在"); // return JsonResponse.ok().fail("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
} else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) { // } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
return JsonResponse.ok().fail("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在"); // return JsonResponse.ok().fail("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
} // }
user.setUserId(dto.getId()); // user.setUserId(dto.getId());
user.setCreateBy(SecurityUtils.getUsername()); // user.setCreateBy(SecurityUtils.getUsername());
user.setPhonenumber(dto.getPhonenumber()); // user.setPhonenumber(dto.getPhonenumber());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); // user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
int insert = userService.insertUser(user); // int insert = userService.insertUser(user);
//
// //销毁切换数据源
// DynamicDataSourceContextHolder.clearDataSourceType();
//销毁切换数据源 return JsonResponse.ok();
DynamicDataSourceContextHolder.clearDataSourceType();
return JsonResponse.ok(insert);
} }
@ApiOperation("修改租户用户") @ApiOperation("修改租户用户")

7
research-system/src/main/java/com/research/system/domain/dto/GroupDto.java

@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* @Author zzc * @Author zzc
@ -71,6 +72,12 @@ public class GroupDto {
private Long userId; private Long userId;
private String username;
private String password;
private Long deptId;
private List<Long> roleIdList;
private Long ktGroupId; private Long ktGroupId;
private String parentMemberId; private String parentMemberId;

1
research-system/src/main/java/com/research/system/domain/dto/TaskDto.java

@ -110,6 +110,7 @@ public class TaskDto {
private String deliverableUrl; private String deliverableUrl;
private String deliveryInstructions;
private Byte deliveryStatus; private Byte deliveryStatus;
private String submitterAccount; private String submitterAccount;

1
research-system/src/main/java/com/research/system/domain/vo/GroupVO.java

@ -112,6 +112,7 @@ public class GroupVO {
private String titleName; private String titleName;
@ApiModelProperty("合作单位名称") @ApiModelProperty("合作单位名称")
private String projOrgName; private String projOrgName;
private String userName;
} }
} }

1
research-system/src/main/java/com/research/system/domain/vo/HomeVo.java

@ -98,6 +98,7 @@ public class HomeVo {
private String createBy; private String createBy;
private Date createTime; private Date createTime;
private String ktGroupName;
} }
@Data @Data

5
research-system/src/main/java/com/research/system/domain/vo/TaskVo.java

@ -90,6 +90,9 @@ public class TaskVo {
private String deliverableUrl; private String deliverableUrl;
private String deliveryInstructions;
private String referenceMaterials;
private Byte deliveryStatus; private Byte deliveryStatus;
private String submitterAccount; private String submitterAccount;
@ -99,6 +102,8 @@ public class TaskVo {
private String reviewerAccount; private String reviewerAccount;
private Date reviewTime; private Date reviewTime;
private String createBy;
private Date createTime;
} }
} }

2
research-system/src/main/java/com/research/system/service/KtsGroupService.java

@ -1,6 +1,8 @@
package com.research.system.service; package com.research.system.service;
import com.research.common.annotation.DataSource;
import com.research.common.core.domain.JsonResponse; import com.research.common.core.domain.JsonResponse;
import com.research.common.enums.DataSourceType;
import com.research.system.domain.dto.CommonDto; import com.research.system.domain.dto.CommonDto;
import com.research.system.domain.dto.GroupDto; import com.research.system.domain.dto.GroupDto;
import com.research.system.domain.po.KtsKtGroupMember; import com.research.system.domain.po.KtsKtGroupMember;

4
research-system/src/main/java/com/research/system/service/TmsLoginService.java

@ -19,9 +19,9 @@ public interface TmsLoginService {
* @param user 用户信息 * @param user 用户信息
* @return 结果 * @return 结果
*/ */
public boolean checkUserNameUnique(TmsTenantUserDto.AddDto dto); public boolean checkUserNameUnique(String phone);
boolean checkPhoneUnique(TmsTenantUserDto.AddDto dto); boolean checkPhoneUnique(String phone);
/** /**
* 通过用户名查询用户 * 通过用户名查询用户

8
research-system/src/main/java/com/research/system/service/impl/HomeServiceImpl.java

@ -14,6 +14,7 @@ import com.research.system.service.HomeService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -55,6 +56,9 @@ public class HomeServiceImpl implements HomeService {
List<HomeVo.GroupResult> groupResults = homeDao.queryGroupList(); List<HomeVo.GroupResult> groupResults = homeDao.queryGroupList();
if (CollUtil.isNotEmpty(groupResults)) { if (CollUtil.isNotEmpty(groupResults)) {
for (HomeVo.GroupResult groupResult : groupResults) { for (HomeVo.GroupResult groupResult : groupResults) {
if (groupResult.getId() == null) {
continue;
}
//查询子课题组 //查询子课题组
KtsKtGroupExample ktsKtGroupExample = new KtsKtGroupExample(); KtsKtGroupExample ktsKtGroupExample = new KtsKtGroupExample();
ktsKtGroupExample.createCriteria().andParentKtIdEqualTo(groupResult.getId()).andDelFlagEqualTo((byte) 0); ktsKtGroupExample.createCriteria().andParentKtIdEqualTo(groupResult.getId()).andDelFlagEqualTo((byte) 0);
@ -72,7 +76,9 @@ public class HomeServiceImpl implements HomeService {
} }
} }
} }
groupResult.setGroupList(results); if (CollUtil.isNotEmpty(results)) {
groupResult.setGroupList(results.stream().sorted(Comparator.comparing(GroupVO.Result::getSort)).collect(Collectors.toList()));
}
} }
} }
} }

38
research-system/src/main/java/com/research/system/service/impl/KtsGroupServiceImpl.java

@ -2,6 +2,7 @@ package com.research.system.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.research.common.constant.UserConstants; import com.research.common.constant.UserConstants;
import com.research.common.core.domain.JsonResponse; import com.research.common.core.domain.JsonResponse;
import com.research.common.core.domain.entity.SysUser; import com.research.common.core.domain.entity.SysUser;
@ -102,38 +103,37 @@ public class KtsGroupServiceImpl implements KtsGroupService {
@Override @Override
public KtsKtGroupMember addMember(GroupDto.AddMember dto) { public KtsKtGroupMember addMember(GroupDto.AddMember dto) {
KtsKtGroupMember ktsKtGroupMember = BeanUtil.copyProperties(dto, KtsKtGroupMember.class); KtsKtGroupMember ktsKtGroupMember = BeanUtil.copyProperties(dto, KtsKtGroupMember.class);
if (dto.getId() == null) { //是否传了用户ID 没传用户id且传了用户名 添加用户
if (dto.getUserId() == null && StrUtil.isNotEmpty(dto.getUsername())) {
//查询手机号是否已有用户 //查询手机号是否已有用户
SysUser sysUser = sysUserService.selectUserByUserName(dto.getMemberPhone()); SysUser sysUser = sysUserService.selectUserByUserName(dto.getUsername());
if (sysUser != null && "0".equals(sysUser.getDelFlag()) && dto.getConfirm() == 0) { if (sysUser != null && "0".equals(sysUser.getDelFlag()) && dto.getConfirm() == 0) {
throw new BaseException("手机号已存在,请确认是否添加该用户!"); throw new BaseException(dto.getUsername() + " 用户名已存在,请确认是否添加该用户!");
} }
ktsKtGroupMember.setId(IdUtil.getSnowflakeNextId());
ktsKtGroupMember.setCreateBy(SecurityUtils.getUsername());
ktsKtGroupMember.setMemberStatus((byte) 0);
ktsKtGroupMember.setAuditStatus((byte) 0);
ktsKtGroupMember.setCreateTime(new Date());
ktsKtGroupMember.setDelFlag((byte) 0);
if (sysUser == null) {
sysUser = new SysUser(); sysUser = new SysUser();
sysUser.setUserId(IdUtil.getSnowflakeNextId()); sysUser.setUserId(dto.getUserId());
sysUser.setNickName(ktsKtGroupMember.getMemberName()); sysUser.setNickName(ktsKtGroupMember.getMemberName());
sysUser.setUserName(ktsKtGroupMember.getMemberPhone()); sysUser.setUserName(dto.getUsername());
sysUser.setPassword(SecurityUtils.encryptPassword(UserConstants.DEFALT_PASSWORD)); sysUser.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
sysUser.setStatus(UserConstants.NORMAL); sysUser.setStatus(UserConstants.NORMAL);
sysUser.setCreateBy(SecurityUtils.getUsername()); sysUser.setCreateBy(SecurityUtils.getUsername());
sysUser.setEmail(ktsKtGroupMember.getMemberEmail()); sysUser.setEmail(ktsKtGroupMember.getMemberEmail());
sysUser.setPhonenumber(ktsKtGroupMember.getMemberPhone()); sysUser.setPhonenumber(ktsKtGroupMember.getMemberPhone());
sysUser.setCreateTime(new Date()); sysUser.setCreateTime(new Date());
sysUser.setRoleIds(dto.getRoleIdList().toArray(new Long[0]));
sysUserService.insertUser(sysUser); sysUserService.insertUser(sysUser);
}
ktsKtGroupMember.setUserId(sysUser.getUserId()); ktsKtGroupMember.setUserId(sysUser.getUserId());
} else {
ktsKtGroupMember.setUserId(dto.getUserId());
}
if (dto.getId() == null) {
ktsKtGroupMember.setId(IdUtil.getSnowflakeNextId());
ktsKtGroupMember.setCreateBy(SecurityUtils.getUsername());
ktsKtGroupMember.setMemberStatus((byte) 0);
ktsKtGroupMember.setAuditStatus((byte) 0);
ktsKtGroupMember.setCreateTime(new Date());
ktsKtGroupMember.setDelFlag((byte) 0);
ktsKtGroupMemberMapper.insertSelective(ktsKtGroupMember); ktsKtGroupMemberMapper.insertSelective(ktsKtGroupMember);
//发起审核
return ktsKtGroupMember; return ktsKtGroupMember;
} else { } else {
ktsKtGroupMember.setUpdateBy(SecurityUtils.getUsername()); ktsKtGroupMember.setUpdateBy(SecurityUtils.getUsername());

5
research-system/src/main/java/com/research/system/service/impl/TaskServiceImpl.java

@ -119,6 +119,7 @@ public class TaskServiceImpl implements TaskService {
TaskExecutor taskExecutor = BeanUtil.copyProperties(dto, TaskExecutor.class); TaskExecutor taskExecutor = BeanUtil.copyProperties(dto, TaskExecutor.class);
if (taskExecutor.getId() == null) { if (taskExecutor.getId() == null) {
taskExecutor.setDelFlag(Byte.valueOf("0")); taskExecutor.setDelFlag(Byte.valueOf("0"));
taskExecutor.setId(IdUtil.getSnowflake().nextId());
taskExecutor.setCreateBy(SecurityUtils.getUsername()); taskExecutor.setCreateBy(SecurityUtils.getUsername());
taskExecutor.setCreateTime(new Date()); taskExecutor.setCreateTime(new Date());
taskExecutorMapper.insertSelective(taskExecutor); taskExecutorMapper.insertSelective(taskExecutor);
@ -141,7 +142,7 @@ public class TaskServiceImpl implements TaskService {
@Override @Override
public List<TaskVo.DeliverableResult> queryDeliverableList(TaskDto.QueryDeliverable query) { public List<TaskVo.DeliverableResult> queryDeliverableList(TaskDto.QueryDeliverable query) {
return taskDao.queryDeliverableList( query.getTaskId()); return taskDao.queryDeliverableList(query.getTaskId());
} }
@Override @Override
@ -150,6 +151,8 @@ public class TaskServiceImpl implements TaskService {
if (taskDeliverable.getId() == null) { if (taskDeliverable.getId() == null) {
taskDeliverable.setDelFlag(Byte.valueOf("0")); taskDeliverable.setDelFlag(Byte.valueOf("0"));
taskDeliverable.setCreateBy(SecurityUtils.getUsername()); taskDeliverable.setCreateBy(SecurityUtils.getUsername());
taskDeliverable.setId(IdUtil.getSnowflake().nextId());
taskDeliverable.setSubmitterAccount(SecurityUtils.getUsername());
taskDeliverable.setCreateTime(new Date()); taskDeliverable.setCreateTime(new Date());
taskDeliverableMapper.insertSelective(taskDeliverable); taskDeliverableMapper.insertSelective(taskDeliverable);
}else { }else {

11
research-system/src/main/java/com/research/system/service/impl/TmsLoginServiceImpl.java

@ -7,6 +7,7 @@ import com.research.system.domain.vo.TmsLoginUserVo;
import com.research.system.mapper.SysUserMapper; import com.research.system.mapper.SysUserMapper;
import com.research.system.persist.dao.TmsUserDao; import com.research.system.persist.dao.TmsUserDao;
import com.research.system.persist.mapper.TmsTenantMapper; import com.research.system.persist.mapper.TmsTenantMapper;
import com.research.system.persist.mapper.TmsTenantUserMapper;
import com.research.system.service.TmsLoginService; import com.research.system.service.TmsLoginService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -25,15 +26,21 @@ public class TmsLoginServiceImpl implements TmsLoginService {
private TmsUserDao tmsUserDao; private TmsUserDao tmsUserDao;
@Resource @Resource
private TmsTenantMapper tmsTenantMapper; private TmsTenantMapper tmsTenantMapper;
@Resource
private TmsTenantUserMapper tmsTenantUserMapper;
@Override @Override
public boolean checkUserNameUnique(TmsTenantUserDto.AddDto dto) { public boolean checkUserNameUnique(String phone) {
TmsLoginUserVo.DmsUserVo dmsUserVo = tmsUserDao.selectUserByUserName(phone);
if (dmsUserVo == null) {
return false; return false;
} }
return true;
}
@Override @Override
public boolean checkPhoneUnique(TmsTenantUserDto.AddDto dto) { public boolean checkPhoneUnique(String phone) {
return false; return false;
} }

3
research-system/src/main/resources/mapper/dao/DmsUserDao.xml

@ -14,14 +14,13 @@
id, id,
tenant_id as tenantId, tenant_id as tenantId,
user_name as userName, user_name as userName,
password,
nick_name as nickName, nick_name as nickName,
email, email,
phonenumber, phonenumber,
sex, sex,
status status
from from
dms_user tms_tenant_user
where where
user_name = #{userName} user_name = #{userName}
</select> </select>

60
research-system/src/main/resources/mapper/dao/HomeDao.xml

@ -19,39 +19,39 @@
</select> </select>
<select id="queryGroupList" resultType="com.research.system.domain.vo.HomeVo$GroupResult"> <select id="queryGroupList" resultType="com.research.system.domain.vo.HomeVo$GroupResult">
select select g.id,
g.id,
g.kt_group_name as ktGroupName, g.kt_group_name as ktGroupName,
o.org_name as orgName o.org_name as orgName
from from prj_proj_org o
kts_kt_group g
left join left join
prj_proj_org o on g.proj_org_id = o.id kts_kt_group g on g.proj_org_id = o.id and g.parent_kt_id = 0 and g.del_flag = 0
where where o.del_flag = 0
g.del_flag = 0 group by o.id
and g.parent_kt_id = 0
</select> </select>
<select id="queryTaskList" resultType="com.research.system.domain.vo.HomeVo$TaskResult"> <select id="queryTaskList" resultType="com.research.system.domain.vo.HomeVo$TaskResult">
select select
id, t.id,
proj_id as projId, t.proj_id as projId,
proj_org_id as projOrgId, t.proj_org_id as projOrgId,
kt_group_id as ktGroupId, t.kt_group_id as ktGroupId,
task_name as taskName, t.task_name as taskName,
task_type as taskType, t.task_type as taskType,
parent_id as parentId, t.parent_id as parentId,
start_time as startTime, t.start_time as startTime,
end_time as endTime, t.end_time as endTime,
initiator, t.initiator,
priority, t.priority,
status t.status,
g.kt_group_name as ktGroupName
from from
task_list task_list t
left join
kts_kt_group g on t.kt_group_id = g.id and g.del_flag = 0
where where
del_flag = 0 t.del_flag = 0
and and
id in (select task_id from task_executor where del_flag = 0 and executor_id = #{userId}) t.id in (select task_id from task_executor where del_flag = 0 and executor_id in (select id from kts_kt_group_member where user_id = #{userId}))
</select> </select>
<select id="orgMemberList" resultType="com.research.system.domain.vo.HomeVo$ProjressMemberResult$OrgMemberResult"> <select id="orgMemberList" resultType="com.research.system.domain.vo.HomeVo$ProjressMemberResult$OrgMemberResult">
@ -60,16 +60,16 @@
o.org_name as orgName, o.org_name as orgName,
COUNT(km.id) AS num COUNT(km.id) AS num
FROM FROM
kts_kt_group kt prj_proj_org o
left JOIN left JOIN
prj_proj_org o on o.id = kt.proj_org_id kts_kt_group kt on o.id = kt.proj_org_id and kt.del_flag = 0
LEFT JOIN LEFT JOIN
kts_kt_group_member km ON kt.id = km.kt_group_id kts_kt_group_member km ON kt.id = km.kt_group_id AND km.del_flag = 0
WHERE WHERE
kt.del_flag = 0 o.del_flag = 0
AND km.del_flag = 0
GROUP BY GROUP BY
kt.proj_org_id o.id
ORDER BY ORDER BY
num DESC num DESC
</select> </select>
@ -81,7 +81,7 @@
FROM FROM
kts_kt_group_member km kts_kt_group_member km
LEFT JOIN LEFT JOIN
sys_dict_data d ON km.title = d.dict_value AND d.dict_type = 'title' sys_dict_data d ON km.title = d.dict_value AND d.dict_type = 'sys_title'
WHERE WHERE
km.del_flag = 0 km.del_flag = 0
AND km.title IS NOT NULL AND km.title IS NOT NULL

8
research-system/src/main/resources/mapper/dao/KtsGroupDao.xml

@ -35,7 +35,7 @@
and g.kt_group_name like concat('%',#{dto.ktGroupName},'%') and g.kt_group_name like concat('%',#{dto.ktGroupName},'%')
</if> </if>
group by g.id group by g.id
order by g.id desc order by g.parent_kt_id,g.id desc
</select> </select>
<select id="queryMemberList" resultType="com.research.system.domain.vo.GroupVO$MemberResult"> <select id="queryMemberList" resultType="com.research.system.domain.vo.GroupVO$MemberResult">
@ -62,7 +62,8 @@
g.kt_group_name as ktGroupName, g.kt_group_name as ktGroupName,
d1.dict_label as qualificationName, d1.dict_label as qualificationName,
d2.dict_label as titleName, d2.dict_label as titleName,
o.org_name as projOrgName o.org_name as projOrgName,
u.user_name as userName
from from
kts_kt_group_member m kts_kt_group_member m
left join left join
@ -70,6 +71,7 @@
left join sys_dict_data d1 on d1.dict_value = m.qualification and d1.dict_type = 'qualification' left join sys_dict_data d1 on d1.dict_value = m.qualification and d1.dict_type = 'qualification'
left join sys_dict_data d2 on d2.dict_value = m.title and d2.dict_type = 'sys_title' left join sys_dict_data d2 on d2.dict_value = m.title and d2.dict_type = 'sys_title'
left join prj_proj_org o on o.id = g.proj_org_id left join prj_proj_org o on o.id = g.proj_org_id
left join sys_user u on u.user_id = m.user_id
where 1=1 where 1=1
and m.del_flag = 0 and m.del_flag = 0
<if test="dto.ktGroupId != null"> <if test="dto.ktGroupId != null">
@ -93,6 +95,6 @@
<if test="dto.category != null"> <if test="dto.category != null">
and m.category = #{dto.category} and m.category = #{dto.category}
</if> </if>
order by m.id desc order by m.kt_group_id,m.id desc
</select> </select>
</mapper> </mapper>

14
research-system/src/main/resources/mapper/dao/TaskDao.xml

@ -64,7 +64,19 @@
<select id="queryDeliverableList" resultType="com.research.system.domain.vo.TaskVo$DeliverableResult"> <select id="queryDeliverableList" resultType="com.research.system.domain.vo.TaskVo$DeliverableResult">
select select
* id,
task_id as taskId,
deliverable_name as deliverableName,
deliverable_url as deliverableUrl,
delivery_status as deliveryStatus,
submitter_account as submitterAccount,
delivery_instructions as deliveryInstructions,
reference_materials as referenceMaterials,
submission_time as submissionTime,
reviewer_account as reviewerAccount,
review_time as reviewTime,
create_by as createBy,
create_time as createTime
from from
task_deliverable task_deliverable
where where

Loading…
Cancel
Save