This commit is contained in:
parent
f57e949d65
commit
c229ed59b8
|
@ -1,6 +1,8 @@
|
|||
package com.jsl.oa.controllers;
|
||||
|
||||
import com.jsl.oa.annotations.NeedPermission;
|
||||
import com.jsl.oa.model.dodata.ProjectChildDO;
|
||||
import com.jsl.oa.model.dodata.ProjectModuleDO;
|
||||
import com.jsl.oa.model.vodata.ProjectChildAddVO;
|
||||
import com.jsl.oa.model.vodata.ProjectEditVO;
|
||||
import com.jsl.oa.model.vodata.ProjectInfoVO;
|
||||
|
@ -365,7 +367,7 @@ public class ProjectController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 项目名查询子系统
|
||||
* 项目名查询所属所有子系统
|
||||
*
|
||||
* @param name
|
||||
* @param request
|
||||
|
@ -394,6 +396,14 @@ public class ProjectController {
|
|||
return projectService.projectChildGetById(id, request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据项目和子系统名查询所属所有子模块
|
||||
*
|
||||
* @param projectName
|
||||
* @param childName
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/project/module/get/name")
|
||||
public BaseResponse projectModuleGetName(
|
||||
@RequestParam String projectName,
|
||||
|
@ -412,4 +422,31 @@ public class ProjectController {
|
|||
return projectService.projectModuleGetById(childId, request);
|
||||
}
|
||||
|
||||
|
||||
@PutMapping("/project/module/edit")
|
||||
public BaseResponse projectModuleEdit(
|
||||
@RequestParam Long id,
|
||||
@RequestBody ProjectModuleDO projectModuleAddVO,
|
||||
HttpServletRequest request
|
||||
) {
|
||||
return projectService.projectModuleEdit(request, projectModuleAddVO, id);
|
||||
}
|
||||
|
||||
@PutMapping("/project/edit")
|
||||
public BaseResponse projectEdit(
|
||||
@RequestParam Long id,
|
||||
@RequestBody ProjectEditVO projectEditVO,
|
||||
HttpServletRequest request
|
||||
) {
|
||||
return projectService.projectEdit(request, projectEditVO, id);
|
||||
}
|
||||
|
||||
@PutMapping("/project/child/edit")
|
||||
public BaseResponse projectChildEdit(
|
||||
@RequestParam Long id,
|
||||
@RequestBody ProjectChildDO projectChildAddVO,
|
||||
HttpServletRequest request
|
||||
) {
|
||||
return projectService.projectChildEdit(request, projectChildAddVO, id);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,15 +41,12 @@ public class ProjectDAO {
|
|||
projectMapper.projectWorkAdd(projectChildAddVO);
|
||||
}
|
||||
|
||||
public ProjectDO projectEdit(@NotNull ProjectEditVO projectEdit, Long projectId) {
|
||||
public ProjectDO projectEdit(@NotNull ProjectDO projectEdit) {
|
||||
log.info("\t> 执行 DAO 层 ProjectDAO.projectEdit 方法");
|
||||
log.info("\t\t> 从 MySQL 更新数据");
|
||||
ProjectDO projectDO = new ProjectDO();
|
||||
Processing.copyProperties(projectEdit, projectDO);
|
||||
projectDO.setId(projectId);
|
||||
projectMapper.projectEdit(projectDO);
|
||||
projectMapper.projectEdit(projectEdit);
|
||||
log.info("\t\t> 从 MySQL 获取数据");
|
||||
return projectMapper.getProjectById(projectId);
|
||||
return projectMapper.getProjectById(projectEdit.getId());
|
||||
}
|
||||
|
||||
public boolean isExistProject(Long id) {
|
||||
|
|
|
@ -36,6 +36,8 @@ public interface ProjectMapper {
|
|||
+ "#{description},#{status},#{deadLine},#{cycle})")
|
||||
void projectModuleAdd(ProjectModuleAddVO projectModuleAddVO);
|
||||
|
||||
@Select("select project_id from organize_oa.oa_project_child where id=#{id}")
|
||||
Long getProjectIdBySysId(Long id);
|
||||
void projectEdit(ProjectDO projectEdit);
|
||||
|
||||
@Select("select * from organize_oa.oa_project where id=#{id}")
|
||||
|
@ -178,4 +180,8 @@ public interface ProjectMapper {
|
|||
@Select("select * from organize_oa.oa_project_modules where project_child_id = #{id} "
|
||||
+ "and is_delete = 0")
|
||||
List<ProjectModuleDO> getModuleByChildId(Integer id);
|
||||
|
||||
void projectModuleEdit(ProjectModuleDO projectModuleAddVO);
|
||||
|
||||
void projectChildEditAll(ProjectChildDO projectChildAddVO);
|
||||
}
|
||||
|
|
|
@ -10,13 +10,13 @@ import java.sql.Timestamp;
|
|||
@Accessors(chain = true)
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class ProjectModuleDO {
|
||||
private String name;
|
||||
private Long id;
|
||||
private Long projectChildId;
|
||||
private Long principalId;
|
||||
private Integer cycle;
|
||||
private Integer workLoad;
|
||||
private String description;
|
||||
private String name;
|
||||
private Integer isDelete;
|
||||
private String status;
|
||||
private Timestamp deadLine;
|
||||
|
|
|
@ -7,14 +7,14 @@ import java.sql.Timestamp;
|
|||
@Data
|
||||
public class ProjectEditVO {
|
||||
|
||||
private Long id;
|
||||
private String name;
|
||||
private Long principalId;
|
||||
private String tags;
|
||||
private Long cycle;
|
||||
private String file;
|
||||
private String files;
|
||||
private String description;
|
||||
private Integer isFinish;
|
||||
private Integer status;
|
||||
private String status;
|
||||
private Long workLoad;
|
||||
private Timestamp beginTime;
|
||||
private Timestamp completeTime;
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package com.jsl.oa.services;
|
||||
|
||||
import com.jsl.oa.model.dodata.ProjectChildDO;
|
||||
import com.jsl.oa.model.dodata.ProjectModuleDO;
|
||||
import com.jsl.oa.model.vodata.ProjectEditVO;
|
||||
import com.jsl.oa.model.vodata.ProjectInfoVO;
|
||||
import com.jsl.oa.model.vodata.ProjectChildAddVO;
|
||||
|
@ -82,4 +84,8 @@ public interface ProjectService {
|
|||
BaseResponse projectModuleGetName(String projectName, String childName, HttpServletRequest request);
|
||||
|
||||
BaseResponse projectModuleGetById(Integer id, HttpServletRequest request);
|
||||
|
||||
BaseResponse projectModuleEdit(HttpServletRequest request, ProjectModuleDO projectModuleAddVO, Long id);
|
||||
|
||||
BaseResponse projectChildEdit(HttpServletRequest request, ProjectChildDO projectChildAddVO, Long id);
|
||||
}
|
||||
|
|
|
@ -193,24 +193,26 @@ public class MessageServiceImpl implements MessageService {
|
|||
// 1:上传文档 2:修改状态 3:修改负责人
|
||||
List<Long> uidList = projectMapper.getMemberByProjectId(pId);
|
||||
for (Long uid : uidList) {
|
||||
MessageAddVO messageAddVO = new MessageAddVO();
|
||||
messageAddVO.setUid(uid);
|
||||
messageAddVO.setSid(Processing.getAuthHeaderToUserId(request));
|
||||
messageAddVO.setTitle("项目变动消息");
|
||||
if (type == 3) {
|
||||
messageAddVO.setText("项目负责人" + senderName + "调整了" + systemName + "子系统的负责人");
|
||||
messageAddVO.setType("Project_child");
|
||||
messageAddVO.setToId(systemId.longValue());
|
||||
} else if (type == 2) {
|
||||
messageAddVO.setText("项目负责人" + senderName + "修改了" + projectName + "项目的状态");
|
||||
messageAddVO.setType("Project");
|
||||
messageAddVO.setToId(pId.longValue());
|
||||
} else if (type == 1) {
|
||||
messageAddVO.setText("项目负责人" + senderName + "上传了文档到" + projectName + "项目");
|
||||
messageAddVO.setType("Project");
|
||||
messageAddVO.setToId(pId.longValue());
|
||||
if (uid != null) {
|
||||
MessageAddVO messageAddVO = new MessageAddVO();
|
||||
messageAddVO.setUid(uid);
|
||||
messageAddVO.setSid(Processing.getAuthHeaderToUserId(request));
|
||||
messageAddVO.setTitle("项目变动消息");
|
||||
if (type == 3) {
|
||||
messageAddVO.setText("项目负责人" + senderName + "调整了" + systemName + "子系统的负责人");
|
||||
messageAddVO.setType("Project_child");
|
||||
messageAddVO.setToId(systemId.longValue());
|
||||
} else if (type == 2) {
|
||||
messageAddVO.setText("项目负责人" + senderName + "修改了" + projectName + "项目的状态");
|
||||
messageAddVO.setType("Project");
|
||||
messageAddVO.setToId(pId.longValue());
|
||||
} else if (type == 1) {
|
||||
messageAddVO.setText("项目负责人" + senderName + "上传了文档到" + projectName + "项目");
|
||||
messageAddVO.setType("Project");
|
||||
messageAddVO.setToId(pId.longValue());
|
||||
}
|
||||
messageMapper.messageAdd(messageAddVO);
|
||||
}
|
||||
messageMapper.messageAdd(messageAddVO);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -234,7 +236,10 @@ public class MessageServiceImpl implements MessageService {
|
|||
String projectName = projectMapper.tgetProjectById(pId).getName();
|
||||
String senderName = userDAO.getUserById(Processing.getAuthHeaderToUserId(request)).getUsername();
|
||||
String systemName = projectMapper.getWorkById(systmeId).getName();
|
||||
String moddleName = projectMapper.getModuleById(moddleId).getName();
|
||||
String moddleName = null;
|
||||
if (moddleId != null) {
|
||||
moddleName = projectMapper.getModuleById(moddleId).getName();
|
||||
}
|
||||
// 添加消息
|
||||
// 1:删除模块 2:修改简介 3:修改周期
|
||||
if (type == 1) {
|
||||
|
@ -248,6 +253,7 @@ public class MessageServiceImpl implements MessageService {
|
|||
} else {
|
||||
List<Long> uidList = projectMapper.getMemberBySystemId(systmeId);
|
||||
for (Long uid : uidList) {
|
||||
if (uid != null) {
|
||||
MessageAddVO messageAddVO = new MessageAddVO();
|
||||
messageAddVO.setUid(uid);
|
||||
messageAddVO.setSid(Processing.getAuthHeaderToUserId(request));
|
||||
|
@ -262,6 +268,7 @@ public class MessageServiceImpl implements MessageService {
|
|||
messageAddVO.setType("Project_child");
|
||||
messageAddVO.setToId(systmeId.longValue());
|
||||
messageMapper.messageAdd(messageAddVO);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -311,6 +318,9 @@ public class MessageServiceImpl implements MessageService {
|
|||
List<ProjectModuleDO> projectWorkDOList1 = projectMapper.getProjectWorkByTime(sevenDaysLater);
|
||||
if (!projectWorkDOList1.isEmpty()) {
|
||||
for (ProjectModuleDO projectWorkDO : projectWorkDOList) {
|
||||
if (projectWorkDO.getPrincipalId() == null) {
|
||||
continue;
|
||||
}
|
||||
// 添加消息
|
||||
MessageAddVO messageAddVO = new MessageAddVO();
|
||||
messageAddVO.setUid(projectWorkDO.getPrincipalId());
|
||||
|
@ -330,6 +340,9 @@ public class MessageServiceImpl implements MessageService {
|
|||
}
|
||||
if (!projectWorkDOList.isEmpty()) {
|
||||
for (ProjectModuleDO projectWorkDO : projectWorkDOList) {
|
||||
if (projectWorkDO.getPrincipalId() == null) {
|
||||
continue;
|
||||
}
|
||||
// 添加消息
|
||||
MessageAddVO messageAddVO = new MessageAddVO();
|
||||
messageAddVO.setUid(projectWorkDO.getPrincipalId());
|
||||
|
@ -352,6 +365,9 @@ public class MessageServiceImpl implements MessageService {
|
|||
List<ProjectChildDO> projectChildDOList = projectMapper.getProjectChildByTime(sevenDaysLater);
|
||||
if (!projectChildDOList.isEmpty()) {
|
||||
for (ProjectChildDO projectChildDO : projectChildDOList) {
|
||||
if (projectChildDO.getPrincipalId() == null) {
|
||||
continue;
|
||||
}
|
||||
// 添加消息
|
||||
MessageAddVO messageAddVO = new MessageAddVO();
|
||||
messageAddVO.setUid(projectChildDO.getPrincipalId());
|
||||
|
@ -368,6 +384,9 @@ public class MessageServiceImpl implements MessageService {
|
|||
List<ProjectChildDO> projectChildDOList1 = projectMapper.getProjectChildByTime(threeDaysLater);
|
||||
if (!projectChildDOList1.isEmpty()) {
|
||||
for (ProjectChildDO projectChildDO : projectChildDOList1) {
|
||||
if (projectChildDO.getPrincipalId() == null) {
|
||||
continue;
|
||||
}
|
||||
// 添加消息
|
||||
MessageAddVO messageAddVO = new MessageAddVO();
|
||||
messageAddVO.setUid(projectChildDO.getPrincipalId());
|
||||
|
|
|
@ -6,6 +6,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
|||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.jsl.oa.annotations.NeedPermission;
|
||||
import com.jsl.oa.dao.ProjectDAO;
|
||||
import com.jsl.oa.dao.RoleDAO;
|
||||
|
@ -317,6 +318,58 @@ public class ProjectServiceImpl implements ProjectService {
|
|||
return ResultUtil.success(returnGetVOList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseResponse projectModuleEdit(HttpServletRequest request, ProjectModuleDO projectModuleEditVO, Long id) {
|
||||
//判断是否是子系统负责人或项目负责人
|
||||
if (!Objects.equals(Processing.getAuthHeaderToUserId(request), projectMapper.getPirTdByModuleId(id))
|
||||
// 项目负责人
|
||||
&& !Objects.equals(Processing.getAuthHeaderToUserId(request),
|
||||
projectMapper.getPirIdbyId(projectMapper.getModuleById(id.intValue()).getProjectChildId()))) {
|
||||
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
|
||||
} else {
|
||||
HashMap<String, Object> descriptionMap = new HashMap<>();
|
||||
descriptionMap.put("description", projectModuleEditVO.getDescription());
|
||||
projectModuleEditVO.setDescription(gson.toJson(descriptionMap));
|
||||
projectModuleEditVO.setId(id);
|
||||
projectMapper.projectModuleEdit(projectModuleEditVO);
|
||||
}
|
||||
|
||||
|
||||
return ResultUtil.success("修改成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseResponse projectChildEdit(HttpServletRequest request, ProjectChildDO projectChildAddVO, Long id) {
|
||||
//判断是否是项目负责人
|
||||
if (!Objects.equals(Processing.getAuthHeaderToUserId(request), projectMapper.getPirIdbyId(id))) {
|
||||
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
|
||||
} else {
|
||||
JsonObject jsonObject = gson
|
||||
.fromJson(projectMapper.getProjectChildById(id.intValue()).getDescription(), JsonObject.class);
|
||||
//改动简介发送消息
|
||||
if (!Objects.equals(projectChildAddVO.getDescription(), "")
|
||||
&& !projectChildAddVO.getDescription()
|
||||
.equals(jsonObject.get("description").getAsString())) {
|
||||
messageService.messageAdd(projectMapper.getProjectIdBySysId(id)
|
||||
.intValue(), id.intValue(), null, 2, request);
|
||||
} // 改动周期或工作量发送消息
|
||||
if (projectChildAddVO.getCycle() != null || projectChildAddVO.getWorkLoad() != null) {
|
||||
messageService.messageAdd(projectMapper.getProjectIdBySysId(id)
|
||||
.intValue(), id.intValue(), null, 3, request);
|
||||
}
|
||||
|
||||
HashMap<String, Object> descriptionMap = new HashMap<>();
|
||||
descriptionMap.put("description", projectChildAddVO.getDescription());
|
||||
projectChildAddVO.setDescription(gson.toJson(descriptionMap));
|
||||
|
||||
projectChildAddVO.setId(id);
|
||||
projectMapper.projectChildEditAll(projectChildAddVO);
|
||||
}
|
||||
|
||||
|
||||
return ResultUtil.success("修改成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseResponse getModuleById(Integer id) {
|
||||
ProjectModuleDO projectWorkSimpleVO = projectMapper.getModuleById(id);
|
||||
|
@ -367,16 +420,32 @@ public class ProjectServiceImpl implements ProjectService {
|
|||
public BaseResponse projectEdit(HttpServletRequest request, @NotNull ProjectEditVO projectEdit, Long projectId) {
|
||||
|
||||
|
||||
//判断用户是否为老师 或者 项目负责人
|
||||
//判断用户是否为负责人 或者 项目负责人
|
||||
if (!Processing.checkUserIsPrincipal(request, roleDAO)
|
||||
|| !projectDAO.isPrincipalUser(Processing.getAuthHeaderToUserId(request), projectId)) {
|
||||
&& !projectDAO.isPrincipalUser(Processing.getAuthHeaderToUserId(request), projectId)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
|
||||
}
|
||||
|
||||
//判断项目是否存在
|
||||
if (projectDAO.isExistProject(projectId)) {
|
||||
//更新数据
|
||||
return ResultUtil.success(projectDAO.projectEdit(projectEdit, projectId));
|
||||
HashMap<String, Object> descriptionMap = new HashMap<>();
|
||||
descriptionMap.put("description", projectEdit.getDescription());
|
||||
projectEdit.setDescription(gson.toJson(descriptionMap));
|
||||
|
||||
HashMap<String, Object> tagMap = new HashMap<>();
|
||||
tagMap.put("tags", projectEdit.getTags().split(","));
|
||||
projectEdit.setTags(gson.toJson(tagMap));
|
||||
|
||||
HashMap<String, Object> filesMap = new HashMap<>();
|
||||
filesMap.put("URI", projectEdit.getFiles());
|
||||
projectEdit.setFiles(gson.toJson(filesMap));
|
||||
|
||||
projectEdit.setId(projectId);
|
||||
ProjectDO projectEdit1 = new ProjectDO();
|
||||
|
||||
Processing.copyProperties(projectEdit, projectEdit1);
|
||||
projectDAO.projectEdit(projectEdit1);
|
||||
return ResultUtil.success(projectDAO.projectEdit(projectEdit1));
|
||||
} else {
|
||||
return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST);
|
||||
}
|
||||
|
|
|
@ -22,24 +22,21 @@
|
|||
<if test="cycle != null and cycle != ''">
|
||||
cycle = #{cycle},
|
||||
</if>
|
||||
<if test="file != null and file != ''">
|
||||
file = #{file},
|
||||
<if test="files != null and files != ''">
|
||||
files = #{files},
|
||||
</if>
|
||||
<if test="beginTime != null and beginTime != ''">
|
||||
<if test="beginTime != null ">
|
||||
begin_time = #{beginTime},
|
||||
</if>
|
||||
<if test="completeTime != null and completeTime != ''">
|
||||
<if test="completeTime != null ">
|
||||
complete_time = #{completeTime},
|
||||
</if>
|
||||
<if test="deadline != null and deadline != ''">
|
||||
<if test="deadline != null ">
|
||||
deadline = #{deadline},
|
||||
</if>
|
||||
<if test="status != null">
|
||||
status = #{status},
|
||||
</if>
|
||||
<if test="isFinish != null">
|
||||
is_finish = #{isFinish},
|
||||
</if>
|
||||
<if test="isDelete != null">
|
||||
is_delete = #{isDelete},
|
||||
</if>
|
||||
|
@ -77,6 +74,69 @@
|
|||
update organize_oa.oa_project_modules set is_delete=true where id=#{id1}
|
||||
</update>
|
||||
|
||||
<update id="projectModuleEdit">
|
||||
update organize_oa.oa_project_modules
|
||||
<set>
|
||||
<if test="name != null and name != ''">
|
||||
name = #{name},
|
||||
</if>
|
||||
<if test="description != null and description != ''">
|
||||
description = #{description},
|
||||
</if>
|
||||
<if test="principalId != null and principalId != ''">
|
||||
principal_id = #{principalId},
|
||||
</if>
|
||||
<if test="workLoad != null and workLoad != ''">
|
||||
work_load = #{workLoad},
|
||||
</if>
|
||||
<if test="cycle != null and cycle != ''">
|
||||
cycle = #{cycle},
|
||||
</if>
|
||||
<if test="completeTime != null ">
|
||||
complete_time = #{completeTime},
|
||||
</if>
|
||||
<if test="deadLine != null ">
|
||||
dead_line = #{deadLine},
|
||||
</if>
|
||||
<if test="status != null">
|
||||
status = #{status},
|
||||
</if>
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
</set>
|
||||
where id = #{id}
|
||||
</update>
|
||||
<update id="projectChildEditAll">
|
||||
update organize_oa.oa_project_child
|
||||
<set>
|
||||
<if test="name != null and name != ''">
|
||||
name = #{name},
|
||||
</if>
|
||||
<if test="description != null and description != ''">
|
||||
description = #{description},
|
||||
</if>
|
||||
<if test="principalId != null and principalId != ''">
|
||||
principal_id = #{principalId},
|
||||
</if>
|
||||
<if test="workLoad != null and workLoad != ''">
|
||||
work_load = #{workLoad},
|
||||
</if>
|
||||
<if test="cycle != null and cycle != ''">
|
||||
cycle = #{cycle},
|
||||
</if>
|
||||
<if test="completeTime != null ">
|
||||
complete_time = #{completeTime},
|
||||
</if>
|
||||
<if test="deadLine != null ">
|
||||
dead_line = #{deadLine},
|
||||
</if>
|
||||
<if test="status != null">
|
||||
status = #{status},
|
||||
</if>
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
</set>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<select id="getByTags" resultType="com.jsl.oa.model.dodata.ProjectDO">
|
||||
<if test="tags != null">
|
||||
select * from organize_oa.oa_project where is_delete=false and principal_id=#{userId} and
|
||||
|
|
Loading…
Reference in New Issue
Block a user