项目库-项目与角色关系表开发。

This commit is contained in:
wangzhijiang
2022-06-06 15:06:06 +08:00
parent 0e086e6cf9
commit a1f1679d1f
7 changed files with 492 additions and 3 deletions
@@ -0,0 +1,178 @@
package com.jero.modules.project.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jero.common.api.vo.Result;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.project.entity.ProjectLibraryRoleRelEO;
import com.jero.modules.project.service.IProjectLibraryRoleRelEOService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.jero.common.aspect.annotation.AutoLog;
/**
* @Description: 项目库-项目与角色关系表
* @Author: jero-boot
* @Date: 2022-06-06
* @Version: V1.0
*/
@Api(tags="项目库-项目与角色关系表")
@RestController
@RequestMapping("/project/projectLibraryRoleRelEO")
@Slf4j
public class ProjectLibraryRoleRelEOController extends JeroController<ProjectLibraryRoleRelEO, IProjectLibraryRoleRelEOService> {
@Autowired
private IProjectLibraryRoleRelEOService projectLibraryRoleRelEOService;
/**
* 分页列表查询
*
* @param projectLibraryRoleRelEO
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "项目库-项目与角色关系表-分页列表查询")
@ApiOperation(value="项目库-项目与角色关系表-分页列表查询", notes="项目库-项目与角色关系表-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(ProjectLibraryRoleRelEO projectLibraryRoleRelEO,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ProjectLibraryRoleRelEO> queryWrapper = QueryGenerator.initQueryWrapper(projectLibraryRoleRelEO, req.getParameterMap());
Page<ProjectLibraryRoleRelEO> page = new Page<ProjectLibraryRoleRelEO>(pageNo, pageSize);
IPage<ProjectLibraryRoleRelEO> pageList = projectLibraryRoleRelEOService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "项目库-项目与角色关系表-列表查询")
@ApiOperation(value="项目库-项目与角色关系表-列表查询", notes="项目库-项目与角色关系表-列表查询")
@GetMapping(value = "/list")
public Result<List<ProjectLibraryRoleRelEO>> queryList() {
List<ProjectLibraryRoleRelEO> list = projectLibraryRoleRelEOService.queryList();
return Result.OK(list);
}
/**
* 添加
*
* @param projectLibraryRoleRelEO
* @return
*/
@AutoLog(value = "项目库-项目与角色关系表-添加")
@ApiOperation(value="项目库-项目与角色关系表-添加", notes="项目库-项目与角色关系表-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody ProjectLibraryRoleRelEO projectLibraryRoleRelEO) {
projectLibraryRoleRelEOService.add(projectLibraryRoleRelEO);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param projectLibraryRoleRelEO
* @return
*/
@AutoLog(value = "项目库-项目与角色关系表-编辑")
@ApiOperation(value="项目库-项目与角色关系表-编辑", notes="项目库-项目与角色关系表-编辑")
@PostMapping(value = "/edit")
public Result<?> edit(@Validated @RequestBody ProjectLibraryRoleRelEO projectLibraryRoleRelEO) {
projectLibraryRoleRelEOService.editById(projectLibraryRoleRelEO);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "项目库-项目与角色关系表-通过id删除")
@ApiOperation(value="项目库-项目与角色关系表-通过id删除", notes="项目库-项目与角色关系表-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
projectLibraryRoleRelEOService.deleteById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "项目库-项目与角色关系表-批量删除")
@ApiOperation(value="项目库-项目与角色关系表-批量删除", notes="项目库-项目与角色关系表-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.projectLibraryRoleRelEOService.deleteByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
@AutoLog(value = "项目库-项目与角色关系表-通过id查询")
@ApiOperation(value="项目库-项目与角色关系表-通过id查询", notes="项目库-项目与角色关系表-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
ProjectLibraryRoleRelEO projectLibraryRoleRelEO = projectLibraryRoleRelEOService.queryById(id);
if(projectLibraryRoleRelEO==null) {
return Result.error("未找到对应数据");
}
return Result.OK(projectLibraryRoleRelEO);
}
/**
* 导出excel
*
* @param request
* @param projectLibraryRoleRelEO
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ProjectLibraryRoleRelEO projectLibraryRoleRelEO) {
return super.exportXls(request, projectLibraryRoleRelEO, ProjectLibraryRoleRelEO.class, "项目库-项目与角色关系表");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, ProjectLibraryRoleRelEO.class);
}
@AutoLog(value = "项目库-项目与角色关系表-根据项目库id与用户id查询")
@ApiOperation(value="项目库-项目与角色关系表-根据项目库id与用户id查询", notes="项目库-项目与角色关系表-根据项目库id与用户id查询")
@GetMapping(value = "/queryByProjectLibraryIdAndUserId")
public Result<?> queryByProjectLibraryIdAndUserId(@RequestParam Map<String,Object> params) {
ProjectLibraryRoleRelEO projectLibraryRoleRelEO = this.projectLibraryRoleRelEOService.queryByProjectLibraryIdAndUserId(params);
return Result.OK(projectLibraryRoleRelEO);
}
}
@@ -0,0 +1,79 @@
package com.jero.modules.project.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
/**
* @Description: 项目库-项目与角色关系表
* @Author: jero-boot
* @Date: 2022-06-06
* @Version: V1.0
*/
@Data
@TableName("project_library_role_rel")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="project_library_role_rel对象", description="项目库-项目与角色关系表")
public class ProjectLibraryRoleRelEO implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private java.lang.String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
private java.lang.String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private java.lang.String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private java.lang.String sysOrgCode;
/**项目库id*/
@Excel(name = "项目库id", width = 15)
@ApiModelProperty(value = "项目库id")
private java.lang.String projectLibraryId;
/**用户id*/
@Excel(name = "用户id", width = 15)
@ApiModelProperty(value = "用户id")
private java.lang.String userId;
/**角色编码*/
@Excel(name = "角色编码", width = 15)
@ApiModelProperty(value = "角色编码")
private java.lang.String roleCode;
}
@@ -0,0 +1,17 @@
package com.jero.modules.project.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.jero.modules.project.entity.ProjectLibraryRoleRelEO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 项目库-项目与角色关系表
* @Author: jero-boot
* @Date: 2022-06-06
* @Version: V1.0
*/
public interface ProjectLibraryRoleRelEOMapper extends BaseMapper<ProjectLibraryRoleRelEO> {
}
@@ -0,0 +1,15 @@
<?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.jero.modules.project.mapper.ProjectLibraryRoleRelEOMapper">
<resultMap id="ProjectLibraryRoleRelEOResultMap" type="com.jero.modules.project.entity.ProjectLibraryRoleRelEO">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="project_library_id" property="projectLibraryId" />
<result column="user_id" property="userId" />
<result column="role_code" property="roleCode" />
</resultMap>
</mapper>
@@ -0,0 +1,68 @@
package com.jero.modules.project.service;
import com.jero.modules.project.entity.ProjectLibraryRoleRelEO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.Map;
/**
* @Description: 项目库-项目与角色关系表
* @Author: jero-boot
* @Date: 2022-06-06
* @Version: V1.0
*/
public interface IProjectLibraryRoleRelEOService extends IService<ProjectLibraryRoleRelEO> {
/**
* 保存
*
* @param projectLibraryRoleRelEO
* @return
*/
void add(ProjectLibraryRoleRelEO projectLibraryRoleRelEO);
/**
* 更新
*
* @param projectLibraryRoleRelEO
* @return
*/
void editById(ProjectLibraryRoleRelEO projectLibraryRoleRelEO);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*
* @param id
* @return
*/
ProjectLibraryRoleRelEO queryById(String id);
/**
* 列表查询
*
* @return
*/
List<ProjectLibraryRoleRelEO> queryList();
/**
* 根据项目库id与用户id查询
* @param params
*/
ProjectLibraryRoleRelEO queryByProjectLibraryIdAndUserId(Map<String,Object> params);
}
@@ -7,9 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.project.entity.ConditionAssessmentEO;
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.entity.*;
import com.jero.modules.project.enums.*;
import com.jero.modules.project.mapper.ProjectLawsInventoryEOMapper;
import com.jero.modules.project.mapper.ProjectLibraryBaseMapper;
@@ -17,6 +15,7 @@ import com.jero.modules.project.mapper.ProjectNameInfoEOMapper;
import com.jero.modules.project.mapper.ProjectTaskInventoryEOMapper;
import com.jero.modules.project.service.IConditionAssessmentEOService;
import com.jero.modules.project.service.IProjectLibraryBaseService;
import com.jero.modules.project.service.IProjectLibraryRoleRelEOService;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.mapper.SysDictItemMapper;
@@ -79,6 +78,9 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
@Autowired
private ProjectNameInfoEOServiceImpl projectNameInfoEOService;
@Autowired
private IProjectLibraryRoleRelEOService projectLibraryRoleRelEOService;
/**
* 保存
*
@@ -100,6 +102,13 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
//创建任务计划时间轴
projectTaskPlanningService.setProjectTaskPlanning(projectLibraryBase.getId());
//初始化当前项目的studio与项目库 角色关系
ProjectLibraryRoleRelEO projectLibraryRoleRelEO = new ProjectLibraryRoleRelEO();
projectLibraryRoleRelEO.setProjectLibraryId(projectLibraryBase.getId());
projectLibraryRoleRelEO.setUserId(projectLibraryBase.getStudioEngineer());
projectLibraryRoleRelEO.setRoleCode(ProjectRoleEnum.STUDIO_ENGINEER.getValue());
projectLibraryRoleRelEOService.add(projectLibraryRoleRelEO);
}
@@ -139,6 +148,18 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
checkExitData(projectLibraryBase);
saveOrUpdate(projectLibraryBase);
// 删除当前项目的studio与项目库 角色关系
QueryWrapper<ProjectLibraryRoleRelEO> deleteLibraryRoleRelWrapper = new QueryWrapper<>();
deleteLibraryRoleRelWrapper.lambda().eq(ProjectLibraryRoleRelEO::getProjectLibraryId,projectLibraryBase.getId());
projectLibraryRoleRelEOService.remove(deleteLibraryRoleRelWrapper);
// 初始化当前项目的studio与项目库 角色关系
ProjectLibraryRoleRelEO projectLibraryRoleRelEO = new ProjectLibraryRoleRelEO();
projectLibraryRoleRelEO.setProjectLibraryId(projectLibraryBase.getId());
projectLibraryRoleRelEO.setUserId(projectLibraryBase.getStudioEngineer());
projectLibraryRoleRelEO.setRoleCode(ProjectRoleEnum.STUDIO_ENGINEER.getValue());
projectLibraryRoleRelEOService.add(projectLibraryRoleRelEO);
}
/**
@@ -0,0 +1,111 @@
package com.jero.modules.project.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jero.modules.project.entity.ProjectLibraryRoleRelEO;
import com.jero.modules.project.mapper.ProjectLibraryRoleRelEOMapper;
import com.jero.modules.project.service.IProjectLibraryRoleRelEOService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
import java.util.Map;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 项目库-项目与角色关系表
* @Author: jero-boot
* @Date: 2022-06-06
* @Version: V1.0
*/
@Service
public class ProjectLibraryRoleRelEOServiceImpl extends ServiceImpl<ProjectLibraryRoleRelEOMapper, ProjectLibraryRoleRelEO> implements IProjectLibraryRoleRelEOService {
/**
* 保存
*
* @param projectLibraryRoleRelEO
* @return
*/
@Override
public void add(ProjectLibraryRoleRelEO projectLibraryRoleRelEO) {
Date now = new Date();
projectLibraryRoleRelEO.setCreateTime(now);
projectLibraryRoleRelEO.setUpdateTime(now);
save(projectLibraryRoleRelEO);
}
/**
* 更新
*
* @param projectLibraryRoleRelEO
* @return
*/
@Override
public void editById(ProjectLibraryRoleRelEO projectLibraryRoleRelEO) {
Date now = new Date();
projectLibraryRoleRelEO.setUpdateTime(now);
saveOrUpdate(projectLibraryRoleRelEO);
}
/**
* 通过id删除
*
* @param id
* @return
*/
@Override
public void deleteById(String id) {
removeById(id);
}
/**
* 批量删除
*
* @param ids
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
}
/**
* 通过id查询
*
* @param id
* @return
*/
@Override
public ProjectLibraryRoleRelEO queryById(String id) {
return getById(id);
}
/**
* 列表查询
*
* @return
*/
@Override
public List<ProjectLibraryRoleRelEO> queryList() {
return list();
}
/**
* 根据项目库id与用户id查询
* @param params
*/
@Override
public ProjectLibraryRoleRelEO queryByProjectLibraryIdAndUserId(Map<String,Object> params) {
ProjectLibraryRoleRelEO result = new ProjectLibraryRoleRelEO();
QueryWrapper<ProjectLibraryRoleRelEO> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ProjectLibraryRoleRelEO::getProjectLibraryId,params.get("projectLibraryId").toString());
queryWrapper.lambda().eq(ProjectLibraryRoleRelEO::getUserId,params.get("userId").toString());
List<ProjectLibraryRoleRelEO> projectLibraryRoleRelEOS = this.baseMapper.selectList(queryWrapper);
if(CollectionUtils.isNotEmpty(projectLibraryRoleRelEOS)){
result = projectLibraryRoleRelEOS.get(0);
}
return result;
}
}