Compare commits
No commits in common. "b03ff092a323c6b4787e5a7be1d915e0a84f7550" and "e61b47822528ce3bb7b69d225e0b7e33d8dac546" have entirely different histories.
b03ff092a3
...
e61b478225
8
pom.xml
8
pom.xml
@ -177,14 +177,6 @@
|
|||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
|
||||||
<configuration>
|
|
||||||
<source>9</source>
|
|
||||||
<target>9</target>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
|
|
||||||
</plugins>
|
</plugins>
|
||||||
<resources>
|
<resources>
|
||||||
|
@ -23,22 +23,16 @@ public class PermissionList {
|
|||||||
permissionList.add(new PermissionVO("info:get_header_image", "获取头部图片"));
|
permissionList.add(new PermissionVO("info:get_header_image", "获取头部图片"));
|
||||||
permissionList.add(new PermissionVO("info:edit_header_image", "编辑头部图片"));
|
permissionList.add(new PermissionVO("info:edit_header_image", "编辑头部图片"));
|
||||||
permissionList.add(new PermissionVO("info:delete_header_image", "删除头部图片"));
|
permissionList.add(new PermissionVO("info:delete_header_image", "删除头部图片"));
|
||||||
permissionPrincipal.add(new PermissionVO("project:child:add", "增加子系统"));
|
|
||||||
permissionPrincipal.add(new PermissionVO("project:module:add", "增加子模块"));
|
|
||||||
|
|
||||||
permissionPrincipal.add(new PermissionVO("auth:change_password", "修改密码"));
|
permissionPrincipal.add(new PermissionVO("auth:change_password", "修改密码"));
|
||||||
permissionPrincipal.add(new PermissionVO("info:get_header_image", "获取头部图片"));
|
permissionPrincipal.add(new PermissionVO("info:get_header_image", "获取头部图片"));
|
||||||
permissionPrincipal.add(new PermissionVO("info:edit_header_image", "编辑头部图片"));
|
permissionPrincipal.add(new PermissionVO("info:edit_header_image", "编辑头部图片"));
|
||||||
permissionPrincipal.add(new PermissionVO("info:delete_header_image", "删除头部图片"));
|
permissionPrincipal.add(new PermissionVO("info:delete_header_image", "删除头部图片"));
|
||||||
permissionPrincipal.add(new PermissionVO("project:add", "增加项目"));
|
permissionPrincipal.add(new PermissionVO("project:add", "增加项目"));
|
||||||
permissionPrincipal.add(new PermissionVO("project:child:add", "增加子系统"));
|
|
||||||
permissionPrincipal.add(new PermissionVO("project:module:add", "增加子模块"));
|
|
||||||
|
|
||||||
permissionDeveloper.add(new PermissionVO("auth:change_password", "修改密码"));
|
permissionDeveloper.add(new PermissionVO("auth:change_password", "修改密码"));
|
||||||
permissionDeveloper.add(new PermissionVO("info:get_header_image", "获取头部图片"));
|
permissionDeveloper.add(new PermissionVO("info:get_header_image", "获取头部图片"));
|
||||||
permissionDeveloper.add(new PermissionVO("info:edit_header_image", "编辑头部图片"));
|
permissionDeveloper.add(new PermissionVO("info:edit_header_image", "编辑头部图片"));
|
||||||
permissionDeveloper.add(new PermissionVO("info:delete_header_image", "删除头部图片"));
|
permissionDeveloper.add(new PermissionVO("info:delete_header_image", "删除头部图片"));
|
||||||
permissionPrincipal.add(new PermissionVO("project:child:add", "增加子系统"));
|
|
||||||
permissionPrincipal.add(new PermissionVO("project:module:add", "增加子模块"));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,7 @@ package com.jsl.oa.controllers;
|
|||||||
import com.jsl.oa.annotations.NeedPermission;
|
import com.jsl.oa.annotations.NeedPermission;
|
||||||
import com.jsl.oa.model.vodata.ProjectEditVO;
|
import com.jsl.oa.model.vodata.ProjectEditVO;
|
||||||
import com.jsl.oa.model.vodata.ProjectInfoVO;
|
import com.jsl.oa.model.vodata.ProjectInfoVO;
|
||||||
import com.jsl.oa.model.vodata.ProjectChildAddVO;
|
import com.jsl.oa.model.vodata.ProjectWorkVO;
|
||||||
import com.jsl.oa.model.vodata.ProjectModuleAddVO;
|
|
||||||
import com.jsl.oa.model.vodata.business.info.ProjectShowVO;
|
import com.jsl.oa.model.vodata.business.info.ProjectShowVO;
|
||||||
import com.jsl.oa.services.ProjectService;
|
import com.jsl.oa.services.ProjectService;
|
||||||
import com.jsl.oa.utils.BaseResponse;
|
import com.jsl.oa.utils.BaseResponse;
|
||||||
@ -210,7 +209,7 @@ public class ProjectController {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/project/participate/get")
|
@GetMapping("/project/participate/get")
|
||||||
public BaseResponse projectParticipateGet(
|
public BaseResponse projectParticipateGet(
|
||||||
@RequestParam(required = false, defaultValue = "1") Integer page,
|
@RequestParam(required = false, defaultValue = "1") Integer page,
|
||||||
@RequestParam(required = false, defaultValue = "10") Integer pageSize,
|
@RequestParam(required = false, defaultValue = "10") Integer pageSize,
|
||||||
HttpServletRequest request) {
|
HttpServletRequest request) {
|
||||||
@ -218,47 +217,25 @@ public class ProjectController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 增加子模块
|
|
||||||
*
|
|
||||||
* @param projectModuleAddVO
|
|
||||||
* @param bindingResult
|
|
||||||
* @param request
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@PostMapping("/project/module/add")
|
|
||||||
@NeedPermission("project:module:add")
|
|
||||||
public BaseResponse projectModuleAdd(
|
|
||||||
@RequestBody @Validated ProjectModuleAddVO projectModuleAddVO,
|
|
||||||
@NotNull BindingResult bindingResult,
|
|
||||||
HttpServletRequest request
|
|
||||||
) {
|
|
||||||
// 判断是否有参数错误
|
|
||||||
if (bindingResult.hasErrors()) {
|
|
||||||
return ResultUtil.error(ErrorCode.PARAMETER_ERROR, Processing.getValidatedErrorList(bindingResult));
|
|
||||||
}
|
|
||||||
return projectService.projectModuleAdd(request, projectModuleAddVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 子系统的增加
|
* 子系统子模块的增加
|
||||||
*
|
*
|
||||||
* @param request 请求
|
* @param request 请求
|
||||||
* @param bindingResult 参数校验
|
* @param bindingResult 参数校验
|
||||||
* @return {@link BaseResponse}
|
* @return {@link BaseResponse}
|
||||||
*/
|
*/
|
||||||
@PostMapping("/project/child/add")
|
@PostMapping("/project/work/add")
|
||||||
@NeedPermission("project:child:add")
|
public BaseResponse projectWorkAdd(
|
||||||
public BaseResponse projectChildAdd(
|
|
||||||
HttpServletRequest request,
|
HttpServletRequest request,
|
||||||
@RequestBody @Validated ProjectChildAddVO projectChildAddVO,
|
@RequestBody @Validated ProjectWorkVO projectWorkVO,
|
||||||
@NotNull BindingResult bindingResult
|
@NotNull BindingResult bindingResult
|
||||||
) {
|
) {
|
||||||
// 判断是否有参数错误
|
// 判断是否有参数错误
|
||||||
if (bindingResult.hasErrors()) {
|
if (bindingResult.hasErrors()) {
|
||||||
return ResultUtil.error(ErrorCode.PARAMETER_ERROR, Processing.getValidatedErrorList(bindingResult));
|
return ResultUtil.error(ErrorCode.PARAMETER_ERROR, Processing.getValidatedErrorList(bindingResult));
|
||||||
}
|
}
|
||||||
return projectService.projectChildAdd(request, projectChildAddVO);
|
return projectService.projectWorkAdd(request, projectWorkVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -285,9 +262,6 @@ public class ProjectController {
|
|||||||
return projectService.projectAdd(request, projectInfoVO);
|
return projectService.projectAdd(request, projectInfoVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取负责人id
|
* 获取负责人id
|
||||||
*
|
*
|
||||||
@ -349,13 +323,7 @@ public class ProjectController {
|
|||||||
return projectService.projectModuleDelete(request, id);
|
return projectService.projectModuleDelete(request, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 项目名模糊查询项目
|
|
||||||
*
|
|
||||||
* @param name
|
|
||||||
* @param request
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@GetMapping("/project/get/name")
|
@GetMapping("/project/get/name")
|
||||||
public BaseResponse projectGetName(
|
public BaseResponse projectGetName(
|
||||||
@RequestParam String name,
|
@RequestParam String name,
|
||||||
@ -364,28 +332,4 @@ public class ProjectController {
|
|||||||
return projectService.projectGetName(name, request);
|
return projectService.projectGetName(name, request);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 项目名查询子系统
|
|
||||||
*
|
|
||||||
* @param name
|
|
||||||
* @param request
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@GetMapping("/project/child/get/name")
|
|
||||||
public BaseResponse projectChildGetName(
|
|
||||||
@RequestParam String name,
|
|
||||||
HttpServletRequest request
|
|
||||||
) {
|
|
||||||
return projectService.projectChildGetName(name, request);
|
|
||||||
}
|
|
||||||
|
|
||||||
@GetMapping("/project/module/get/name")
|
|
||||||
public BaseResponse projectModuleGetName(
|
|
||||||
@RequestParam String projectName,
|
|
||||||
@RequestParam String childName,
|
|
||||||
HttpServletRequest request
|
|
||||||
) {
|
|
||||||
return projectService.projectModuleGetName(projectName, childName, request);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,6 @@ import org.springframework.validation.annotation.Validated;
|
|||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -55,23 +54,10 @@ public class ProjectDailyController {
|
|||||||
|
|
||||||
|
|
||||||
@GetMapping("/daily/getMyDaily")
|
@GetMapping("/daily/getMyDaily")
|
||||||
public BaseResponse getMyDaily(@RequestParam Integer page,
|
public BaseResponse getMyDaily(HttpServletRequest request) {
|
||||||
@RequestParam Integer pageSize,
|
return projectDailyService.getMyDaily(request);
|
||||||
HttpServletRequest request) {
|
|
||||||
return projectDailyService.getMyDaily(page, pageSize, request);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@GetMapping("/daily/search")
|
|
||||||
public BaseResponse searchMyDaily(@RequestParam Integer page,
|
|
||||||
@RequestParam Integer pageSize,
|
|
||||||
Date beginTime,
|
|
||||||
Date endTime,
|
|
||||||
HttpServletRequest request) {
|
|
||||||
return projectDailyService.searchMyDaily(page, pageSize, beginTime, endTime, request);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ import com.jsl.oa.model.dodata.ProjectModuleDO;
|
|||||||
import com.jsl.oa.model.dodata.info.ProjectShowDO;
|
import com.jsl.oa.model.dodata.info.ProjectShowDO;
|
||||||
import com.jsl.oa.model.vodata.ProjectEditVO;
|
import com.jsl.oa.model.vodata.ProjectEditVO;
|
||||||
import com.jsl.oa.model.vodata.ProjectInfoVO;
|
import com.jsl.oa.model.vodata.ProjectInfoVO;
|
||||||
import com.jsl.oa.model.vodata.ProjectChildAddVO;
|
import com.jsl.oa.model.vodata.ProjectWorkVO;
|
||||||
import com.jsl.oa.utils.Processing;
|
import com.jsl.oa.utils.Processing;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@ -35,10 +35,10 @@ public class ProjectDAO {
|
|||||||
projectMapper.projectAdd(projectAdd);
|
projectMapper.projectAdd(projectAdd);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void projectWorkAdd(ProjectChildAddVO projectChildAddVO) {
|
public void projectWorkAdd(ProjectWorkVO projectWorkVO) {
|
||||||
log.info("\t> 执行 DAO 层 ProjectDAO.projectWorkAdd 方法");
|
log.info("\t> 执行 DAO 层 ProjectDAO.projectWorkAdd 方法");
|
||||||
log.info("\t\t> 从 MySQL 获取数据");
|
log.info("\t\t> 从 MySQL 获取数据");
|
||||||
projectMapper.projectWorkAdd(projectChildAddVO);
|
projectMapper.projectWorkAdd(projectWorkVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ProjectDO projectEdit(@NotNull ProjectEditVO projectEdit, Long projectId) {
|
public ProjectDO projectEdit(@NotNull ProjectEditVO projectEdit, Long projectId) {
|
||||||
|
@ -3,9 +3,8 @@ import com.jsl.oa.model.dodata.ProjectChildDO;
|
|||||||
import com.jsl.oa.model.dodata.ProjectDO;
|
import com.jsl.oa.model.dodata.ProjectDO;
|
||||||
import com.jsl.oa.model.dodata.ProjectModuleDO;
|
import com.jsl.oa.model.dodata.ProjectModuleDO;
|
||||||
import com.jsl.oa.model.vodata.ProjectInfoVO;
|
import com.jsl.oa.model.vodata.ProjectInfoVO;
|
||||||
import com.jsl.oa.model.vodata.ProjectModuleAddVO;
|
|
||||||
import com.jsl.oa.model.vodata.ProjectWorkSimpleVO;
|
import com.jsl.oa.model.vodata.ProjectWorkSimpleVO;
|
||||||
import com.jsl.oa.model.vodata.ProjectChildAddVO;
|
import com.jsl.oa.model.vodata.ProjectWorkVO;
|
||||||
import org.apache.ibatis.annotations.Insert;
|
import org.apache.ibatis.annotations.Insert;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
@ -24,17 +23,11 @@ public interface ProjectMapper {
|
|||||||
+ ",#{completeTime},#{deadLine},#{status},#{tags},#{workLoad})")
|
+ ",#{completeTime},#{deadLine},#{status},#{tags},#{workLoad})")
|
||||||
void projectAdd(ProjectInfoVO projectAdd);
|
void projectAdd(ProjectInfoVO projectAdd);
|
||||||
|
|
||||||
@Insert("insert into organize_oa.oa_project_child (project_id,name, principal_id,"
|
@Insert("insert into organize_oa.oa_project_work (project_id, pid, name, principal_id,"
|
||||||
+ " work_load, description, cycle,status,dead_line) "
|
+ " work_load, description, cycle, complete_time, type, is_finish,status) "
|
||||||
+ "value (#{projectId},#{name},#{principalId},#{workLoad},"
|
+ "value (#{projectId},#{pid},#{name},#{principalId},#{workLoad},"
|
||||||
+ "#{description},#{cycle},#{status},#{deadLine})")
|
+ "#{description},#{cycle},#{completeTime},#{type},#{isFinish},#{status})")
|
||||||
void projectWorkAdd(ProjectChildAddVO projectChildAddVO);
|
void projectWorkAdd(ProjectWorkVO projectWorkVO);
|
||||||
|
|
||||||
@Insert("insert into organize_oa.oa_project_modules (project_child_id, name, principal_id,"
|
|
||||||
+ " work_load, description, status, dead_line) "
|
|
||||||
+ "value (#{projectChildId},#{name},#{principalId},#{workLoad},"
|
|
||||||
+ "#{description},#{status},#{deadLine})")
|
|
||||||
void projectModuleAdd(ProjectModuleAddVO projectModuleAddVO);
|
|
||||||
|
|
||||||
void projectEdit(ProjectDO projectEdit);
|
void projectEdit(ProjectDO projectEdit);
|
||||||
|
|
||||||
@ -157,14 +150,4 @@ public interface ProjectMapper {
|
|||||||
|
|
||||||
@Select("select * from organize_oa.oa_project where name like CONCAT('%',#{name},'%')")
|
@Select("select * from organize_oa.oa_project where name like CONCAT('%',#{name},'%')")
|
||||||
List<ProjectDO> getByLikeName(String name);
|
List<ProjectDO> getByLikeName(String name);
|
||||||
|
|
||||||
|
|
||||||
@Select("select * from organize_oa.oa_project_child where project_id = "
|
|
||||||
+ "(select id from organize_oa.oa_project where name =#{name})")
|
|
||||||
List<ProjectChildDO> getChildByLikeName(String name);
|
|
||||||
|
|
||||||
@Select("select * from organize_oa.oa_project_modules where project_child_id = "
|
|
||||||
+ "(select id from organize_oa.oa_project_child where name =#{childName} "
|
|
||||||
+ "and project_id = (select id from organize_oa.oa_project where name =#{projectName}))")
|
|
||||||
List<ProjectModuleDO> getModuleByName(String projectName, String childName);
|
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.jsl.oa.model.dodata;
|
package com.jsl.oa.model.dodata;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
@ -36,17 +35,14 @@ public class ProjectDailyDO {
|
|||||||
/**
|
/**
|
||||||
* 日志发布时间
|
* 日志发布时间
|
||||||
*/
|
*/
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|
||||||
private Date dailyTime;
|
private Date dailyTime;
|
||||||
/**
|
/**
|
||||||
* 创建时间
|
* 创建时间
|
||||||
*/
|
*/
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|
||||||
private Date createdAt;
|
private Date createdAt;
|
||||||
/**
|
/**
|
||||||
* 修改时间
|
* 修改时间
|
||||||
*/
|
*/
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|
||||||
private Date updatedAt;
|
private Date updatedAt;
|
||||||
/**
|
/**
|
||||||
* 是否删除
|
* 是否删除
|
||||||
|
@ -27,7 +27,7 @@ public class ReviewDO {
|
|||||||
//申请理由
|
//申请理由
|
||||||
private String content;
|
private String content;
|
||||||
//申请者用户id
|
//申请者用户id
|
||||||
private Integer senderId;
|
private Long senderId;
|
||||||
//审核者用户id
|
//审核者用户id
|
||||||
private Long recipientId;
|
private Long recipientId;
|
||||||
//审核类别(0:子系统;1:子模块)
|
//审核类别(0:子系统;1:子模块)
|
||||||
|
@ -2,17 +2,13 @@ package com.jsl.oa.model.vodata;
|
|||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class PermissionContentVO {
|
public class PermissionContentVO {
|
||||||
|
// 主键
|
||||||
private Long id;
|
private Long id;
|
||||||
|
// 权限名称
|
||||||
private String name;
|
private String name;
|
||||||
private String code;
|
// 权限描述
|
||||||
private Short type;
|
private String description;
|
||||||
private List<PermissionContentVO> children;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,27 +1,21 @@
|
|||||||
package com.jsl.oa.model.vodata;
|
package com.jsl.oa.model.vodata;
|
||||||
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class ProjectDailyAddVO {
|
public class ProjectDailyAddVO {
|
||||||
|
|
||||||
@NotNull(message = "项目id不能为空")
|
@NotNull(message = "项目id不能为空")
|
||||||
private Integer projectId;
|
private Long projectId;
|
||||||
|
|
||||||
@NotBlank(message = "日报内容不能为空")
|
@NotBlank(message = "日报内容不能为空")
|
||||||
private String content;
|
private String content;
|
||||||
|
|
||||||
@NotNull(message = "工作时间不能为空")
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|
||||||
private Date dailyTime;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
package com.jsl.oa.model.vodata;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@AllArgsConstructor
|
|
||||||
@NoArgsConstructor
|
|
||||||
public class ProjectDailyDataVO {
|
|
||||||
|
|
||||||
private Integer totalCount;
|
|
||||||
|
|
||||||
private Integer currentPage;
|
|
||||||
|
|
||||||
private Integer pageSize;
|
|
||||||
|
|
||||||
private List<ProjectDailyVO> list;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,38 +1,16 @@
|
|||||||
package com.jsl.oa.model.vodata;
|
package com.jsl.oa.model.vodata;
|
||||||
|
/*
|
||||||
|
张睿相 Java
|
||||||
|
*/
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
/**
|
||||||
import lombok.Data;
|
* 总体描述
|
||||||
import lombok.experimental.Accessors;
|
* <p>创建时间:2024/4/18 13:50</p>
|
||||||
|
*
|
||||||
import java.util.Date;
|
* @author 张睿相
|
||||||
|
* @since v1.0
|
||||||
|
*/
|
||||||
@Data
|
|
||||||
@Accessors(chain = true)
|
|
||||||
public class ProjectDailyVO {
|
public class ProjectDailyVO {
|
||||||
|
|
||||||
private Long id;
|
|
||||||
|
|
||||||
private Long userId;
|
|
||||||
|
|
||||||
private String userName;
|
|
||||||
|
|
||||||
private Long projectId;
|
|
||||||
|
|
||||||
private String projectName;
|
|
||||||
|
|
||||||
private String content;
|
|
||||||
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|
||||||
private Date dailyTime;
|
|
||||||
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|
||||||
private Date createdAt;
|
|
||||||
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|
||||||
private Date updatedAt;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
package com.jsl.oa.model.vodata;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
|
||||||
import java.sql.Timestamp;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@AllArgsConstructor
|
|
||||||
@NoArgsConstructor
|
|
||||||
public class ProjectModuleAddVO {
|
|
||||||
@NotNull(message = "子系统id不能为空")
|
|
||||||
private Long projectChildId;
|
|
||||||
private Long principalId;
|
|
||||||
@NotNull(message = "工作量不能为空")
|
|
||||||
private Integer workLoad;
|
|
||||||
@NotNull(message = "名字不能为空")
|
|
||||||
private String name;
|
|
||||||
private String description;
|
|
||||||
private String status;
|
|
||||||
@NotNull(message = "截止时间不能为空")
|
|
||||||
private Timestamp deadLine;
|
|
||||||
}
|
|
@ -6,21 +6,24 @@ import javax.validation.constraints.NotNull;
|
|||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class ProjectChildAddVO {
|
public class ProjectWorkVO {
|
||||||
|
|
||||||
|
private Long pid;
|
||||||
@NotNull(message = "项目id不能为空")
|
@NotNull(message = "项目id不能为空")
|
||||||
private Long projectId;
|
private Long projectId;
|
||||||
private Long principalId;
|
private Long principalId;
|
||||||
@NotNull(message = "周期不能为空")
|
@NotNull(message = "周期不能为空")
|
||||||
private Integer cycle;
|
private Integer cycle;
|
||||||
@NotNull(message = "工作量不能为空")
|
|
||||||
private Integer workLoad;
|
private Integer workLoad;
|
||||||
|
@NotNull(message = "类型不能为空")
|
||||||
|
private Integer type;
|
||||||
@NotNull(message = "名字不能为空")
|
@NotNull(message = "名字不能为空")
|
||||||
private String name;
|
private String name;
|
||||||
private String description;
|
private String description;
|
||||||
private String status;
|
private Integer isDelete;
|
||||||
@NotNull(message = "截止时间不能为空")
|
private Integer isFinish;
|
||||||
private Timestamp deadLine;
|
private Integer status;
|
||||||
|
private Timestamp beginTime;
|
||||||
|
private Timestamp completeTime;
|
||||||
}
|
}
|
||||||
|
|
@ -1,16 +1,17 @@
|
|||||||
package com.jsl.oa.model.vodata;
|
package com.jsl.oa.model.vodata;
|
||||||
|
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 模糊查询返回,系统/项目/模块 名字和id
|
* 模糊查询返回,系统/项目/模块 名字和id
|
||||||
|
@ -17,12 +17,12 @@ public class ReviewAddVO {
|
|||||||
private String content;
|
private String content;
|
||||||
//申请的项目id
|
//申请的项目id
|
||||||
@NotNull(message = "项目id不能为空")
|
@NotNull(message = "项目id不能为空")
|
||||||
private Integer projectId;
|
private Long projectId;
|
||||||
//申请的子系统id
|
//申请的子系统id
|
||||||
@NotNull(message = "子系统id不能为空")
|
@NotNull(message = "子系统id不能为空")
|
||||||
private Integer projectChildId;
|
private Long projectChildId;
|
||||||
//申请的子模块id
|
//申请的子模块id
|
||||||
private Integer projectModuleId;
|
private Long projectModuleId;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ import com.jsl.oa.model.vodata.ProjectDailyAddVO;
|
|||||||
import com.jsl.oa.utils.BaseResponse;
|
import com.jsl.oa.utils.BaseResponse;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -20,13 +20,7 @@ public interface ProjectDailyService {
|
|||||||
|
|
||||||
BaseResponse addDaily(ProjectDailyAddVO projectDailyAddVO, HttpServletRequest request);
|
BaseResponse addDaily(ProjectDailyAddVO projectDailyAddVO, HttpServletRequest request);
|
||||||
|
|
||||||
BaseResponse getMyDaily(Integer page, Integer pageSize, HttpServletRequest request);
|
BaseResponse getMyDaily(HttpServletRequest request);
|
||||||
|
|
||||||
BaseResponse searchMyDaily(Integer page,
|
|
||||||
Integer pageSize,
|
|
||||||
Date beginTime,
|
|
||||||
Date endTime,
|
|
||||||
HttpServletRequest request);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,8 +2,7 @@ package com.jsl.oa.services;
|
|||||||
|
|
||||||
import com.jsl.oa.model.vodata.ProjectEditVO;
|
import com.jsl.oa.model.vodata.ProjectEditVO;
|
||||||
import com.jsl.oa.model.vodata.ProjectInfoVO;
|
import com.jsl.oa.model.vodata.ProjectInfoVO;
|
||||||
import com.jsl.oa.model.vodata.ProjectChildAddVO;
|
import com.jsl.oa.model.vodata.ProjectWorkVO;
|
||||||
import com.jsl.oa.model.vodata.ProjectModuleAddVO;
|
|
||||||
import com.jsl.oa.model.vodata.business.info.ProjectShowVO;
|
import com.jsl.oa.model.vodata.business.info.ProjectShowVO;
|
||||||
import com.jsl.oa.utils.BaseResponse;
|
import com.jsl.oa.utils.BaseResponse;
|
||||||
|
|
||||||
@ -36,7 +35,7 @@ public interface ProjectService {
|
|||||||
Integer page,
|
Integer page,
|
||||||
Integer pageSize);
|
Integer pageSize);
|
||||||
|
|
||||||
BaseResponse projectChildAdd(HttpServletRequest request, ProjectChildAddVO projectChildAddVO);
|
BaseResponse projectWorkAdd(HttpServletRequest request, ProjectWorkVO projectWorkVO);
|
||||||
|
|
||||||
BaseResponse tGet(List<String> tags, List<String> isFinish, Integer page, Integer pageSize);
|
BaseResponse tGet(List<String> tags, List<String> isFinish, Integer page, Integer pageSize);
|
||||||
|
|
||||||
@ -70,10 +69,4 @@ public interface ProjectService {
|
|||||||
BaseResponse projectModuleDelete(HttpServletRequest request, List<Long> id);
|
BaseResponse projectModuleDelete(HttpServletRequest request, List<Long> id);
|
||||||
|
|
||||||
BaseResponse projectGetName(String name, HttpServletRequest request);
|
BaseResponse projectGetName(String name, HttpServletRequest request);
|
||||||
|
|
||||||
BaseResponse projectModuleAdd(HttpServletRequest request, ProjectModuleAddVO projectModuleAddVO);
|
|
||||||
|
|
||||||
BaseResponse projectChildGetName(String name, HttpServletRequest request);
|
|
||||||
|
|
||||||
BaseResponse projectModuleGetName(String projectName, String childName, HttpServletRequest request);
|
|
||||||
}
|
}
|
||||||
|
@ -70,7 +70,6 @@ public class MessageServiceImpl implements MessageService {
|
|||||||
}
|
}
|
||||||
PageHelper.startPage(page, pageSize);
|
PageHelper.startPage(page, pageSize);
|
||||||
List<MessageDO> messageDOList = messageMapper.page(beginTime, endTime, uid);
|
List<MessageDO> messageDOList = messageMapper.page(beginTime, endTime, uid);
|
||||||
|
|
||||||
//封装返回数据
|
//封装返回数据
|
||||||
List<MessageGetVO> messageGetVOList = new ArrayList<>();
|
List<MessageGetVO> messageGetVOList = new ArrayList<>();
|
||||||
for (MessageDO messageDO : messageDOList) {
|
for (MessageDO messageDO : messageDOList) {
|
||||||
@ -90,9 +89,9 @@ public class MessageServiceImpl implements MessageService {
|
|||||||
}
|
}
|
||||||
messageGetVOList.add(messageGetVO1);
|
messageGetVOList.add(messageGetVO1);
|
||||||
}
|
}
|
||||||
|
|
||||||
//分页返回
|
//分页返回
|
||||||
PageInfo<MessageGetVO> pageInfo = new PageInfo<>(messageGetVOList);
|
PageInfo<MessageGetVO> pageInfo = new PageInfo<>(messageGetVOList);
|
||||||
pageInfo.setTotal(messageMapper.page(beginTime, endTime, uid).size());
|
|
||||||
return ResultUtil.success(pageInfo);
|
return ResultUtil.success(pageInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,11 +5,9 @@ package com.jsl.oa.services.impl;
|
|||||||
|
|
||||||
import com.jsl.oa.dao.ProjectDAO;
|
import com.jsl.oa.dao.ProjectDAO;
|
||||||
import com.jsl.oa.dao.ProjectDailyDAO;
|
import com.jsl.oa.dao.ProjectDailyDAO;
|
||||||
import com.jsl.oa.dao.UserDAO;
|
import com.jsl.oa.exception.BusinessException;
|
||||||
import com.jsl.oa.model.dodata.ProjectDailyDO;
|
import com.jsl.oa.model.dodata.ProjectDailyDO;
|
||||||
import com.jsl.oa.model.vodata.ProjectDailyAddVO;
|
import com.jsl.oa.model.vodata.ProjectDailyAddVO;
|
||||||
import com.jsl.oa.model.vodata.ProjectDailyDataVO;
|
|
||||||
import com.jsl.oa.model.vodata.ProjectDailyVO;
|
|
||||||
import com.jsl.oa.services.ProjectDailyService;
|
import com.jsl.oa.services.ProjectDailyService;
|
||||||
import com.jsl.oa.utils.BaseResponse;
|
import com.jsl.oa.utils.BaseResponse;
|
||||||
import com.jsl.oa.utils.ErrorCode;
|
import com.jsl.oa.utils.ErrorCode;
|
||||||
@ -20,7 +18,6 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -40,7 +37,7 @@ import java.util.List;
|
|||||||
public class ProjectDailyServiceImpl implements ProjectDailyService {
|
public class ProjectDailyServiceImpl implements ProjectDailyService {
|
||||||
|
|
||||||
private final ProjectDAO projectDAO;
|
private final ProjectDAO projectDAO;
|
||||||
private final UserDAO userDAO;
|
|
||||||
private final ProjectDailyDAO projectDailyDAO;
|
private final ProjectDailyDAO projectDailyDAO;
|
||||||
|
|
||||||
|
|
||||||
@ -50,17 +47,17 @@ public class ProjectDailyServiceImpl implements ProjectDailyService {
|
|||||||
// 获取用户id
|
// 获取用户id
|
||||||
Long userId = Processing.getAuthHeaderToUserId(request);
|
Long userId = Processing.getAuthHeaderToUserId(request);
|
||||||
// 从请求体中获取项目id
|
// 从请求体中获取项目id
|
||||||
Integer projectId = projectDailyAddVO.getProjectId();
|
Long projectId = projectDailyAddVO.getProjectId();
|
||||||
// 检查项目是否存在
|
// 检查项目是否存在
|
||||||
if (!projectDAO.isExistProjectById(Long.valueOf(projectId))) {
|
if (!projectDAO.isExistProjectById(projectId)) {
|
||||||
return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST);
|
throw new BusinessException(ErrorCode.PROJECT_NOT_EXIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 赋值数据库表实体类相关属性
|
// 赋值数据库表实体类相关属性
|
||||||
ProjectDailyDO projectDailyDO = new ProjectDailyDO();
|
ProjectDailyDO projectDailyDO = new ProjectDailyDO();
|
||||||
Processing.copyProperties(projectDailyAddVO, projectDailyDO);
|
Processing.copyProperties(projectDailyAddVO, projectDailyDO);
|
||||||
projectDailyDO.setUserId(userId);
|
projectDailyDO.setUserId(userId)
|
||||||
|
.setDailyTime(new Date());
|
||||||
|
|
||||||
// 向数据库添加数据
|
// 向数据库添加数据
|
||||||
projectDailyDAO.addProjectDaily(projectDailyDO);
|
projectDailyDAO.addProjectDaily(projectDailyDO);
|
||||||
@ -68,62 +65,19 @@ public class ProjectDailyServiceImpl implements ProjectDailyService {
|
|||||||
return ResultUtil.success();
|
return ResultUtil.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BaseResponse getMyDaily(Integer page, Integer pageSize, HttpServletRequest request) {
|
public BaseResponse getMyDaily(HttpServletRequest request) {
|
||||||
|
|
||||||
// 获取用户id
|
// 获取用户id
|
||||||
Long userId = Processing.getAuthHeaderToUserId(request);
|
Long userId = Processing.getAuthHeaderToUserId(request);
|
||||||
// 获取 我发布的及自己负责的项目下 的日报
|
// 获取 我发布的及自己负责的项目下 的日报
|
||||||
List<ProjectDailyDO> projectDailyDOList =
|
List<ProjectDailyDO> projectDailyDOList =
|
||||||
projectDailyDAO.getMyProjectDaily(userId);
|
projectDailyDAO.getMyProjectDaily(userId);
|
||||||
// 进行分页
|
|
||||||
List<ProjectDailyDO> dailyPage = Processing.getPage(projectDailyDOList, page, pageSize);
|
|
||||||
// 封装结果类
|
|
||||||
List<ProjectDailyVO> projectDailyVOS = encapsulateArrayClass(dailyPage);
|
|
||||||
ProjectDailyDataVO projectDailyDataVO =
|
|
||||||
new ProjectDailyDataVO(projectDailyDOList.size(), page, pageSize, projectDailyVOS);
|
|
||||||
|
|
||||||
return ResultUtil.success(projectDailyDataVO);
|
return ResultUtil.success(projectDailyDOList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public BaseResponse searchMyDaily(Integer page,
|
|
||||||
Integer pageSize,
|
|
||||||
Date beginTime,
|
|
||||||
Date endTime,
|
|
||||||
HttpServletRequest request) {
|
|
||||||
// 获取用户id
|
|
||||||
Long userId = Processing.getAuthHeaderToUserId(request);
|
|
||||||
// 获取 我发布的及自己负责的项目下 的日报
|
|
||||||
List<ProjectDailyDO> projectDailyDOList =
|
|
||||||
projectDailyDAO.getMyProjectDaily(userId);
|
|
||||||
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public List<ProjectDailyVO> encapsulateArrayClass(List<ProjectDailyDO>
|
|
||||||
projectDailyDOList) {
|
|
||||||
// 定义封装结果数组
|
|
||||||
List<ProjectDailyVO> projectDailyVOS = new ArrayList<>();
|
|
||||||
// 遍历原始数据,依次封装
|
|
||||||
for (ProjectDailyDO projectDailyDO : projectDailyDOList) {
|
|
||||||
// 定义一个封装结果类
|
|
||||||
ProjectDailyVO projectDailyVO = new ProjectDailyVO();
|
|
||||||
// 复制相同的属性值
|
|
||||||
Processing.copyProperties(projectDailyDO, projectDailyVO);
|
|
||||||
// 赋值其他需查询的属性
|
|
||||||
projectDailyVO.setProjectName(
|
|
||||||
projectDAO.getProjectById(projectDailyVO.getProjectId()).getName())
|
|
||||||
.setUserName(userDAO.getUserById(projectDailyDO.getUserId()).getNickname());
|
|
||||||
// 向 结果封装类数组 添加对应 日报封装类
|
|
||||||
projectDailyVOS.add(projectDailyVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
return projectDailyVOS;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,7 +12,6 @@ import com.jsl.oa.dao.RoleDAO;
|
|||||||
import com.jsl.oa.dao.UserDAO;
|
import com.jsl.oa.dao.UserDAO;
|
||||||
import com.jsl.oa.mapper.ProjectMapper;
|
import com.jsl.oa.mapper.ProjectMapper;
|
||||||
import com.jsl.oa.mapper.UserMapper;
|
import com.jsl.oa.mapper.UserMapper;
|
||||||
import com.jsl.oa.model.dodata.ProjectChildDO;
|
|
||||||
import com.jsl.oa.model.dodata.ProjectDO;
|
import com.jsl.oa.model.dodata.ProjectDO;
|
||||||
import com.jsl.oa.model.dodata.ProjectModuleDO;
|
import com.jsl.oa.model.dodata.ProjectModuleDO;
|
||||||
import com.jsl.oa.model.dodata.UserDO;
|
import com.jsl.oa.model.dodata.UserDO;
|
||||||
@ -89,19 +88,26 @@ public class ProjectServiceImpl implements ProjectService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BaseResponse projectChildAdd(HttpServletRequest request, ProjectChildAddVO projectChildAddVO) {
|
public BaseResponse projectWorkAdd(HttpServletRequest request, ProjectWorkVO projectWorkVO) {
|
||||||
|
//获取用户id
|
||||||
//是否是项目负责人
|
Long userId = Processing.getAuthHeaderToUserId(request);
|
||||||
if (projectMapper.getProjectById(projectChildAddVO.getProjectId()).getPrincipalId()
|
//是否是增加子系统
|
||||||
.equals(Processing.getAuthHeaderToUserId(request))
|
if (projectWorkVO.getType() == 0) {
|
||||||
) {
|
//是否是老师
|
||||||
HashMap<String, Object> descriptionMap = new HashMap<>();
|
if (Processing.checkUserIsPrincipal(request, roleDAO)) {
|
||||||
descriptionMap.put("description", projectChildAddVO.getDescription());
|
projectDAO.projectWorkAdd(projectWorkVO);
|
||||||
projectChildAddVO.setDescription(gson.toJson(descriptionMap));
|
} else {
|
||||||
projectDAO.projectWorkAdd(projectChildAddVO);
|
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
|
//是否是子系统的负责人
|
||||||
|
if (Objects.equals(userId, projectMapper.getPirIdbyId(projectWorkVO.getPid()))) {
|
||||||
|
projectDAO.projectWorkAdd(projectWorkVO);
|
||||||
|
} else {
|
||||||
|
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return ResultUtil.success("添加成功");
|
return ResultUtil.success("添加成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -177,7 +183,6 @@ public class ProjectServiceImpl implements ProjectService {
|
|||||||
}
|
}
|
||||||
//分页返回
|
//分页返回
|
||||||
PageInfo<ProjectSimpleVO> pageInfo = new PageInfo<>(projectSimpleVOList);
|
PageInfo<ProjectSimpleVO> pageInfo = new PageInfo<>(projectSimpleVOList);
|
||||||
pageInfo.setTotal(projectDAO.get(userId, null, null).size());
|
|
||||||
return ResultUtil.success(pageInfo);
|
return ResultUtil.success(pageInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -197,7 +202,6 @@ public class ProjectServiceImpl implements ProjectService {
|
|||||||
}
|
}
|
||||||
//分页返回
|
//分页返回
|
||||||
PageInfo<ProjectSimpleVO> pageInfo = new PageInfo<>(projectSimpleVOList);
|
PageInfo<ProjectSimpleVO> pageInfo = new PageInfo<>(projectSimpleVOList);
|
||||||
pageInfo.setTotal(projectMapper.getParticipateProject(userId).size());
|
|
||||||
return ResultUtil.success(pageInfo);
|
return ResultUtil.success(pageInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -247,49 +251,6 @@ public class ProjectServiceImpl implements ProjectService {
|
|||||||
return ResultUtil.success(returnGetVOList);
|
return ResultUtil.success(returnGetVOList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public BaseResponse projectModuleAdd(HttpServletRequest request, ProjectModuleAddVO projectModuleAddVO) {
|
|
||||||
//判断是否是子系统负责人或项目负责人
|
|
||||||
if (!Objects.equals(Processing.getAuthHeaderToUserId(request),
|
|
||||||
projectMapper.getProjectChildById(projectModuleAddVO.getProjectChildId().intValue()).getPrincipalId())
|
|
||||||
// 项目负责人
|
|
||||||
&& !Objects.equals(Processing.getAuthHeaderToUserId(request),
|
|
||||||
projectMapper.getPirIdbyId(projectModuleAddVO.getProjectChildId()))) {
|
|
||||||
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
|
|
||||||
} else {
|
|
||||||
HashMap<String, Object> descriptionMap = new HashMap<>();
|
|
||||||
descriptionMap.put("description", projectModuleAddVO.getDescription());
|
|
||||||
projectModuleAddVO.setDescription(gson.toJson(descriptionMap));
|
|
||||||
projectMapper.projectModuleAdd(projectModuleAddVO);
|
|
||||||
}
|
|
||||||
return ResultUtil.success("添加成功");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public BaseResponse projectChildGetName(String name, HttpServletRequest request) {
|
|
||||||
|
|
||||||
List<ProjectChildDO> projectChildDOList = projectMapper.getChildByLikeName(name);
|
|
||||||
List<ReturnGetVO> returnGetVOList = new ArrayList<>();
|
|
||||||
for (ProjectChildDO projectChildDO : projectChildDOList) {
|
|
||||||
ReturnGetVO returnGetVO = new ReturnGetVO();
|
|
||||||
Processing.copyProperties(projectChildDO, returnGetVO);
|
|
||||||
returnGetVOList.add(returnGetVO);
|
|
||||||
}
|
|
||||||
return ResultUtil.success(returnGetVOList);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public BaseResponse projectModuleGetName(String projectName, String childName, HttpServletRequest request) {
|
|
||||||
List<ProjectModuleDO> projectModuleDOList = projectMapper.getModuleByName(projectName, childName);
|
|
||||||
List<ReturnGetVO> returnGetVOList = new ArrayList<>();
|
|
||||||
for (ProjectModuleDO projectModuleDO : projectModuleDOList) {
|
|
||||||
ReturnGetVO returnGetVO = new ReturnGetVO();
|
|
||||||
Processing.copyProperties(projectModuleDO, returnGetVO);
|
|
||||||
returnGetVOList.add(returnGetVO);
|
|
||||||
}
|
|
||||||
return ResultUtil.success(returnGetVOList);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BaseResponse getModuleById(Integer id) {
|
public BaseResponse getModuleById(Integer id) {
|
||||||
ProjectModuleDO projectWorkSimpleVO = projectMapper.getModuleById(id);
|
ProjectModuleDO projectWorkSimpleVO = projectMapper.getModuleById(id);
|
||||||
@ -465,7 +426,6 @@ public class ProjectServiceImpl implements ProjectService {
|
|||||||
}
|
}
|
||||||
//分页返回
|
//分页返回
|
||||||
PageInfo<ProjectSimpleVO> pageInfo = new PageInfo<>(projectSimpleVOList);
|
PageInfo<ProjectSimpleVO> pageInfo = new PageInfo<>(projectSimpleVOList);
|
||||||
pageInfo.setTotal(projectDAO.workget(userId, tags, isFinish, is).size());
|
|
||||||
return ResultUtil.success(pageInfo);
|
return ResultUtil.success(pageInfo);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ import com.jsl.oa.common.constant.ReviewConstants;
|
|||||||
import com.jsl.oa.dao.ProjectDAO;
|
import com.jsl.oa.dao.ProjectDAO;
|
||||||
import com.jsl.oa.dao.ReviewDAO;
|
import com.jsl.oa.dao.ReviewDAO;
|
||||||
import com.jsl.oa.dao.UserDAO;
|
import com.jsl.oa.dao.UserDAO;
|
||||||
|
import com.jsl.oa.exception.BusinessException;
|
||||||
import com.jsl.oa.mapper.ProjectMapper;
|
import com.jsl.oa.mapper.ProjectMapper;
|
||||||
import com.jsl.oa.mapper.UserMapper;
|
import com.jsl.oa.mapper.UserMapper;
|
||||||
import com.jsl.oa.model.dodata.ProjectChildDO;
|
import com.jsl.oa.model.dodata.ProjectChildDO;
|
||||||
@ -189,23 +190,23 @@ public class ReviewServiceImpl implements ReviewService {
|
|||||||
public BaseResponse addReview(ReviewAddVO reviewAddVO, HttpServletRequest request) {
|
public BaseResponse addReview(ReviewAddVO reviewAddVO, HttpServletRequest request) {
|
||||||
|
|
||||||
//获取用户
|
//获取用户
|
||||||
Integer userId = Math.toIntExact(Processing.getAuthHeaderToUserId(request));
|
Long userId = Processing.getAuthHeaderToUserId(request);
|
||||||
|
|
||||||
//检查对应项目,子系统,子模块是否存在
|
//检查对应项目,子系统,子模块是否存在
|
||||||
if (!projectDAO.isExistProjectById(Long.valueOf(reviewAddVO.getProjectId()))) {
|
if (!projectDAO.isExistProjectById(reviewAddVO.getProjectId())) {
|
||||||
return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST);
|
throw new BusinessException(ErrorCode.PROJECT_NOT_EXIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (projectMapper.getProjectChildById(
|
if (projectMapper.getProjectChildById(
|
||||||
Math.toIntExact(reviewAddVO.getProjectChildId())) == null) {
|
Math.toIntExact(reviewAddVO.getProjectChildId())) != null) {
|
||||||
return ResultUtil.error(ErrorCode.PROJECT_CHILD_NOT_EXIST);
|
throw new BusinessException(ErrorCode.PROJECT_CHILD_NOT_EXIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 子模块id不为空时查询,否则直接跳过
|
// 子模块id不为空时查询,否则直接跳过
|
||||||
if (reviewAddVO.getProjectModuleId() != null) {
|
if (reviewAddVO.getProjectModuleId() != null) {
|
||||||
if (projectMapper.getModuleById(
|
if (projectMapper.getModuleById(
|
||||||
Math.toIntExact(reviewAddVO.getProjectModuleId())) == null) {
|
Math.toIntExact(reviewAddVO.getProjectModuleId())) != null) {
|
||||||
return ResultUtil.error(ErrorCode.MODULE_NOT_EXIST);
|
throw new BusinessException(ErrorCode.MODULE_NOT_EXIST);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -369,7 +370,7 @@ public class ReviewServiceImpl implements ReviewService {
|
|||||||
Processing.copyProperties(reviewDO, reviewVO);
|
Processing.copyProperties(reviewDO, reviewVO);
|
||||||
// 赋值其他非空属性
|
// 赋值其他非空属性
|
||||||
reviewVO.setCategory(Processing.turnReviewCategory(reviewDO.getCategory()))
|
reviewVO.setCategory(Processing.turnReviewCategory(reviewDO.getCategory()))
|
||||||
.setSenderName(userMapper.getUserById(Long.valueOf(reviewDO.getSenderId())).getNickname())
|
.setSenderName(userMapper.getUserById(reviewDO.getSenderId()).getNickname())
|
||||||
.setProjectName(projectDAO.getProjectById(reviewDO.getProjectId()).getName())
|
.setProjectName(projectDAO.getProjectById(reviewDO.getProjectId()).getName())
|
||||||
.setProjectChildName(projectMapper.getProjectChildById(
|
.setProjectChildName(projectMapper.getProjectChildById(
|
||||||
Math.toIntExact(reviewDO.getProjectChildId())).getName())
|
Math.toIntExact(reviewDO.getProjectChildId())).getName())
|
||||||
@ -465,10 +466,8 @@ public class ReviewServiceImpl implements ReviewService {
|
|||||||
int total = allReviews.size();
|
int total = allReviews.size();
|
||||||
int startIndex = (page - 1) * pageSize;
|
int startIndex = (page - 1) * pageSize;
|
||||||
int endIndex = Math.min(startIndex + pageSize, total);
|
int endIndex = Math.min(startIndex + pageSize, total);
|
||||||
List<ReviewVO> reviewsOnPage = new ArrayList<>();
|
List<ReviewVO> reviewsOnPage = allReviews.subList(startIndex, endIndex);
|
||||||
if (startIndex <= allReviews.size()) {
|
|
||||||
reviewsOnPage = allReviews.subList(startIndex, endIndex);
|
|
||||||
}
|
|
||||||
reviewDataVO.setReviews(reviewsOnPage);
|
reviewDataVO.setReviews(reviewsOnPage);
|
||||||
reviewDataVO.setTotalCount(allReviews.size());
|
reviewDataVO.setTotalCount(allReviews.size());
|
||||||
reviewDataVO.setPageSize(pageSize);
|
reviewDataVO.setPageSize(pageSize);
|
||||||
@ -476,8 +475,6 @@ public class ReviewServiceImpl implements ReviewService {
|
|||||||
|
|
||||||
return reviewDataVO;
|
return reviewDataVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -394,19 +394,4 @@ public class Processing {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Description: list分页方法
|
|
||||||
* @Date: 2024/4/18
|
|
||||||
* @Param list:
|
|
||||||
* @Param pageNumber: 当前页码
|
|
||||||
* @Param pageSize: 每页几条
|
|
||||||
**/
|
|
||||||
public static <T> List<T> getPage(List<T> list, int pageNumber, int pageSize) {
|
|
||||||
int fromIndex = (pageNumber - 1) * pageSize;
|
|
||||||
if (fromIndex >= list.size()) {
|
|
||||||
return new ArrayList<>(); // 返回空列表,表示超出范围
|
|
||||||
}
|
|
||||||
int toIndex = Math.min(fromIndex + pageSize, list.size());
|
|
||||||
return list.subList(fromIndex, toIndex);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
and is_delete = 0
|
and is_delete = 0
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getProjectDailyByProject" parameterType="java.lang.Long"
|
<select id="getProjectDailyByProject" parameterType="java.lang.Integer"
|
||||||
resultType="com.jsl.oa.model.dodata.ProjectDailyDO">
|
resultType="com.jsl.oa.model.dodata.ProjectDailyDO">
|
||||||
select * from oa_project_daily where user_id = #{pid}
|
select * from oa_project_daily where user_id = #{pid}
|
||||||
and is_delete = 0
|
and is_delete = 0
|
||||||
|
@ -2,7 +2,7 @@ create table oa_project_child
|
|||||||
(
|
(
|
||||||
id bigint unsigned auto_increment comment '项目id'
|
id bigint unsigned auto_increment comment '项目id'
|
||||||
primary key,
|
primary key,
|
||||||
project_id bigint unsigned null comment '主要项目id',
|
project_id bigint unsigned not null comment '主要项目id',
|
||||||
name varchar(100) not null comment '项目名称',
|
name varchar(100) not null comment '项目名称',
|
||||||
principal_id bigint unsigned not null comment '项目负责人',
|
principal_id bigint unsigned not null comment '项目负责人',
|
||||||
description json null comment '项目描述(技术选择,描述)',
|
description json null comment '项目描述(技术选择,描述)',
|
||||||
@ -13,8 +13,11 @@ create table oa_project_child
|
|||||||
created_at timestamp default CURRENT_TIMESTAMP not null comment '创建时间',
|
created_at timestamp default CURRENT_TIMESTAMP not null comment '创建时间',
|
||||||
updated_at timestamp null comment '更新时间',
|
updated_at timestamp null comment '更新时间',
|
||||||
is_delete tinyint(1) default 0 not null comment '项目是否删除',
|
is_delete tinyint(1) default 0 not null comment '项目是否删除',
|
||||||
|
dead_line timestamp not null comment '子系统的截止时间',
|
||||||
|
status varchar(8) default 'progress' not null comment '系统状态(draft: 草稿,progress: 进行,pause: 暂停,abnormal: 异常,complete: 完成)',
|
||||||
constraint oa_project_child_oa_user_id_fk
|
constraint oa_project_child_oa_user_id_fk
|
||||||
foreign key (principal_id) references oa_user (id)
|
foreign key (principal_id) references oa_user (id)
|
||||||
on update cascade
|
on update cascade
|
||||||
)
|
)
|
||||||
comment '项目表';
|
comment '项目表';
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user