Compare commits

..

No commits in common. "356d9a6ff549f17690be7a7469f8ab005f31f225" and "203512797e065cf7672e9e0df49870e34372d886" have entirely different histories.

13 changed files with 33 additions and 142 deletions

View File

@ -106,6 +106,10 @@ public class ProjectDailyController {
return ResultUtil.error(ErrorCode.PAGE_NUMBER_IS_NULL); return ResultUtil.error(ErrorCode.PAGE_NUMBER_IS_NULL);
} }
if (projectId == null) {
return ResultUtil.error(ErrorCode.ID_NOT_EXIST);
}
return projectDailyService.searchMyDaily(projectId, return projectDailyService.searchMyDaily(projectId,
page, page,
pageSize, pageSize,

View File

@ -232,10 +232,6 @@ public class ProjectDAO {
ProjectDO projectDO = projectMapper.getProjectById(projectId); ProjectDO projectDO = projectMapper.getProjectById(projectId);
if (projectDO == null) {
return "项目负责人不存在";
}
UserDO userDO = userMapper.getUserById(projectDO.getPrincipalId()); UserDO userDO = userMapper.getUserById(projectDO.getPrincipalId());
if (userDO == null) { if (userDO == null) {

View File

@ -124,22 +124,6 @@ public class ProjectDailyDAO {
projectDailyMapper.updateDaily(projectDailyDO); projectDailyMapper.updateDaily(projectDailyDO);
} }
public void deleteDailyByProject(Long pid) {
if (pid == null) {
return;
}
List<ProjectDailyDO> projectDailyDOS =
projectDailyMapper.getProjectDailyByProject(pid);
for (ProjectDailyDO projectDailyDO:projectDailyDOS) {
if (projectDailyDO == null || projectDailyDO.getId() == null) {
continue;
}
projectDailyMapper.deleteDailyById(Math.toIntExact(projectDailyDO.getId()));
}
}
} }

View File

@ -94,27 +94,6 @@ public class ReviewDAO {
return ""; return "";
} }
public void deleteReviewByProjectId(Long pid) {
List<ReviewDO> reviewDOS = reviewMapper.getAllReviewByProjectId(pid);
for (ReviewDO reviewDO :reviewDOS) {
reviewMapper.deleteReview(reviewDO.getId());
}
}
public void deleteReviewByProjectChildId(Long cid) {
List<ReviewDO> reviewDOS = reviewMapper.getAllReviewByProjectId(cid);
for (ReviewDO reviewDO :reviewDOS) {
reviewMapper.deleteReview(reviewDO.getId());
}
}
public void deleteReviewByProjectModuleId(Long mid) {
List<ReviewDO> reviewDOS = reviewMapper.getAllReviewByProjectId(mid);
for (ReviewDO reviewDO :reviewDOS) {
reviewMapper.deleteReview(reviewDO.getId());
}
}
} }

View File

@ -43,9 +43,6 @@ public interface ProjectMapper {
@Select("select * from organize_oa.oa_project where id=#{id}") @Select("select * from organize_oa.oa_project where id=#{id}")
ProjectDO getProjectById(Long id); ProjectDO getProjectById(Long id);
@Select("select * from organize_oa.oa_project where id=#{id} and is_delete = 0")
ProjectDO getNotDeleteProjectById(Long id);
@Select("select * from organize_oa.oa_project where id=#{id}") @Select("select * from organize_oa.oa_project where id=#{id}")
ProjectDO tgetProjectById(Integer id); ProjectDO tgetProjectById(Integer id);

View File

@ -51,12 +51,4 @@ public interface ReviewMapper {
@Select("SELECT * FROM organize_oa.oa_review WHERE sender_id = #{uid} AND " @Select("SELECT * FROM organize_oa.oa_review WHERE sender_id = #{uid} AND "
+ "is_delete = 0 AND review_result = #{result}") + "is_delete = 0 AND review_result = #{result}")
List<ReviewDO> selectReviewByUserAndResult(Long uid, Short result); List<ReviewDO> selectReviewByUserAndResult(Long uid, Short result);
void deleteReview(Long id);
List<ReviewDO> getAllReviewByProjectId(Long pid);
List<ReviewDO> getAllReviewByProjectChildId(Long cid);
List<ReviewDO> getAllReviewByProjectModuleId(Long mid);
} }

View File

@ -3,7 +3,6 @@ package com.jsl.oa.services.impl;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.jsl.oa.dao.ProjectDAO; import com.jsl.oa.dao.ProjectDAO;
import com.jsl.oa.dao.ReviewDAO;
import com.jsl.oa.dao.RoleDAO; import com.jsl.oa.dao.RoleDAO;
import com.jsl.oa.dao.UserDAO; import com.jsl.oa.dao.UserDAO;
import com.jsl.oa.mapper.ModuleMapper; import com.jsl.oa.mapper.ModuleMapper;
@ -31,7 +30,6 @@ import static java.lang.System.*;
@RequiredArgsConstructor @RequiredArgsConstructor
public class ModuleServiceImpl implements ModuleService { public class ModuleServiceImpl implements ModuleService {
private final ProjectDAO projectDAO; private final ProjectDAO projectDAO;
private final ReviewDAO reviewDAO;
private final ModuleMapper moduleMapper; private final ModuleMapper moduleMapper;
private final UserDAO userDAO; private final UserDAO userDAO;
private final RoleDAO roleDAO; private final RoleDAO roleDAO;
@ -122,12 +120,8 @@ public class ModuleServiceImpl implements ModuleService {
for (ProjectModuleDO workDO : projectWorkDOS) { for (ProjectModuleDO workDO : projectWorkDOS) {
deleteMoudule(workDO.getId()); deleteMoudule(workDO.getId());
//同时删除对应审核信息
reviewDAO.deleteReviewByProjectModuleId(id);
} }
moduleMapper.deleteMoudule(id); moduleMapper.deleteMoudule(id);
} }

View File

@ -7,8 +7,6 @@ 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.dao.UserDAO;
import com.jsl.oa.mapper.ProjectDailyMapper; import com.jsl.oa.mapper.ProjectDailyMapper;
import com.jsl.oa.mapper.ProjectMapper;
import com.jsl.oa.model.dodata.ProjectDO;
import com.jsl.oa.model.dodata.ProjectDailyDO; import com.jsl.oa.model.dodata.ProjectDailyDO;
import com.jsl.oa.model.dodata.UserDO; import com.jsl.oa.model.dodata.UserDO;
import com.jsl.oa.model.vodata.ProjectDailyAddVO; import com.jsl.oa.model.vodata.ProjectDailyAddVO;
@ -49,7 +47,6 @@ public class ProjectDailyServiceImpl implements ProjectDailyService {
private final UserDAO userDAO; private final UserDAO userDAO;
private final ProjectDailyDAO projectDailyDAO; private final ProjectDailyDAO projectDailyDAO;
private final ProjectDailyMapper projectDailyMapper; private final ProjectDailyMapper projectDailyMapper;
private final ProjectMapper projectMapper;
private final MessageService messageService; private final MessageService messageService;
@ -61,9 +58,9 @@ public class ProjectDailyServiceImpl implements ProjectDailyService {
// 从请求体中获取项目id // 从请求体中获取项目id
Integer projectId = projectDailyAddVO.getProjectId(); Integer projectId = projectDailyAddVO.getProjectId();
// 检查项目是否存在 // 检查项目是否存在
if (projectMapper.getNotDeleteProjectById(Long.valueOf(projectId)) == null) { if (!projectDAO.isExistProjectById(Long.valueOf(projectId))) {
return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST); return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST);
} }
// 赋值数据库表实体类相关属性 // 赋值数据库表实体类相关属性
ProjectDailyDO projectDailyDO = new ProjectDailyDO(); ProjectDailyDO projectDailyDO = new ProjectDailyDO();
@ -213,12 +210,8 @@ public class ProjectDailyServiceImpl implements ProjectDailyService {
// 复制相同的属性值 // 复制相同的属性值
Processing.copyProperties(projectDailyDO, projectDailyVO); Processing.copyProperties(projectDailyDO, projectDailyVO);
// 赋值其他需查询的属性 // 赋值其他需查询的属性
ProjectDO projectDO = projectDAO.getProjectById(projectDailyVO.getProjectId()); projectDailyVO.setProjectName(
if (projectDO == null) { projectDAO.getProjectById(projectDailyVO.getProjectId()).getName());
projectDailyVO.setProjectName(projectDO.getName());
} else {
projectDailyVO.setPrincipalName("项目不存在");
}
//设置发送者名称如果为昵称为空则赋值用户账号 //设置发送者名称如果为昵称为空则赋值用户账号
UserDO senderUser = userDAO.getUserById(projectDailyDO.getUserId()); UserDO senderUser = userDAO.getUserById(projectDailyDO.getUserId());

View File

@ -8,10 +8,15 @@ import com.github.pagehelper.PageInfo;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.jsl.oa.annotations.NeedPermission; import com.jsl.oa.annotations.NeedPermission;
import com.jsl.oa.dao.*; import com.jsl.oa.dao.ProjectDAO;
import com.jsl.oa.dao.RoleDAO;
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.*; import com.jsl.oa.model.dodata.ProjectChildDO;
import com.jsl.oa.model.dodata.ProjectDO;
import com.jsl.oa.model.dodata.ProjectModuleDO;
import com.jsl.oa.model.dodata.UserDO;
import com.jsl.oa.model.dodata.info.ProjectShowDO; import com.jsl.oa.model.dodata.info.ProjectShowDO;
import com.jsl.oa.model.vodata.*; import com.jsl.oa.model.vodata.*;
import com.jsl.oa.model.vodata.business.info.ProjectShowVO; import com.jsl.oa.model.vodata.business.info.ProjectShowVO;
@ -53,12 +58,10 @@ public class ProjectServiceImpl implements ProjectService {
private final UserMapper userMapper; private final UserMapper userMapper;
private final ProjectMapper projectMapper; private final ProjectMapper projectMapper;
private final ReviewDAO reviewDAO;
private final ProjectDAO projectDAO; private final ProjectDAO projectDAO;
private final UserDAO userDAO; private final UserDAO userDAO;
private final ObjectMapper objectMapper; private final ObjectMapper objectMapper;
private final RoleDAO roleDAO; private final RoleDAO roleDAO;
private final ProjectDailyDAO projectDailyDAO;
private final MessageService messageService; private final MessageService messageService;
private final Gson gson; private final Gson gson;
@ -126,6 +129,7 @@ public class ProjectServiceImpl implements ProjectService {
@Override @Override
public BaseResponse projectFileGet(HttpServletRequest request, Long projectId) { public BaseResponse projectFileGet(HttpServletRequest request, Long projectId) {
// 判断项目是否存在 // 判断项目是否存在
if (!projectDAO.isExistProjectById(projectId)) { if (!projectDAO.isExistProjectById(projectId)) {
return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST); return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST);
@ -206,8 +210,6 @@ public class ProjectServiceImpl implements ProjectService {
return ResultUtil.error(ErrorCode.NOT_PERMISSION); return ResultUtil.error(ErrorCode.NOT_PERMISSION);
} else { } else {
projectMapper.deleteProjectChild(id1); projectMapper.deleteProjectChild(id1);
//同时删除对应审核信息
reviewDAO.deleteReviewByProjectChildId(id1);
} }
} }
return ResultUtil.success(); return ResultUtil.success();
@ -624,23 +626,13 @@ public class ProjectServiceImpl implements ProjectService {
} }
for (Long id1 : id) { for (Long id1 : id) {
if (projectMapper.getNotDeleteProjectById(id1) == null) {
return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST);
}
if (!projectDAO.isPrincipalUser(Processing.getAuthHeaderToUserId(request), id1)) { if (!projectDAO.isPrincipalUser(Processing.getAuthHeaderToUserId(request), id1)) {
return ResultUtil.error(ErrorCode.NOT_PERMISSION); return ResultUtil.error(ErrorCode.NOT_PERMISSION);
} }
if (!projectDAO.projectDelete(id1)) { if (!projectDAO.projectDelete(id1)) {
return ResultUtil.error(ErrorCode.DATABASE_DELETE_ERROR); return ResultUtil.error(ErrorCode.DATABASE_DELETE_ERROR);
} }
//同时删除所有对应审核信息
reviewDAO.deleteReviewByProjectId(id1);
//同时删除所有对应日报消息
projectDailyDAO.deleteDailyByProject(id1);
} }
return ResultUtil.success(); return ResultUtil.success();
} }
} }

View File

@ -6,7 +6,10 @@ import com.jsl.oa.dao.ProjectDAO;
import com.jsl.oa.dao.ReviewDAO; import com.jsl.oa.dao.ReviewDAO;
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.*; import com.jsl.oa.model.dodata.ProjectChildDO;
import com.jsl.oa.model.dodata.ProjectDO;
import com.jsl.oa.model.dodata.ProjectModuleDO;
import com.jsl.oa.model.dodata.ReviewDO;
import com.jsl.oa.model.vodata.ReviewAddVO; import com.jsl.oa.model.vodata.ReviewAddVO;
import com.jsl.oa.model.vodata.ReviewDataVO; import com.jsl.oa.model.vodata.ReviewDataVO;
import com.jsl.oa.model.vodata.ReviewUpdateResultVO; import com.jsl.oa.model.vodata.ReviewUpdateResultVO;
@ -179,7 +182,7 @@ public class ReviewServiceImpl implements ReviewService {
Integer userId = Math.toIntExact(Processing.getAuthHeaderToUserId(request)); Integer userId = Math.toIntExact(Processing.getAuthHeaderToUserId(request));
//检查对应项目子系统子模块是否存在 //检查对应项目子系统子模块是否存在
if (projectMapper.getNotDeleteProjectById(Long.valueOf(reviewAddVO.getProjectId())) == null) { if (!projectDAO.isExistProjectById(Long.valueOf(reviewAddVO.getProjectId()))) {
return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST); return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST);
} }
@ -383,42 +386,20 @@ 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(Long.valueOf(reviewDO.getSenderId())).getNickname())
.setProjectName(projectDAO.getProjectById(reviewDO.getProjectId()).getName())
// 获取审核的项目,设置项目名称 .setProjectChildName(projectMapper.getProjectChildById(
ProjectDO project = projectDAO.getProjectById(reviewDO.getProjectId()); Math.toIntExact(reviewDO.getProjectChildId())).getName())
if (project == null) { .setResult(Processing.turnReviewResult(reviewDO.getReviewResult()))
reviewVO.setProjectName("无此项目");
} else {
reviewVO.setProjectName(project.getName());
}
// 获取审核的子系统,设置子系统名称
ProjectChildDO projectChildDO =
projectMapper.getProjectChildById(Math.toIntExact(reviewDO.getProjectChildId()));
if (projectChildDO != null) {
reviewVO.setProjectChildName(projectChildDO.getName());
} else {
reviewVO.setProjectChildName(projectChildDO.getName());
}
// 设置结果发送者id接受者id
reviewVO.setResult(Processing.turnReviewResult(reviewDO.getReviewResult()))
.setSenderId(Long.valueOf(reviewDO.getSenderId())) .setSenderId(Long.valueOf(reviewDO.getSenderId()))
.setRecipientId(reviewDO.getRecipientId()); .setRecipientId(reviewDO.getRecipientId());
// 赋值可为空属性并进行判断 // 赋值可为空属性并进行判断
UserDO recipientUserDO = userMapper.getUserById(reviewDO.getRecipientId()); if (reviewDO.getRecipientId() != null) {
if (reviewDO.getRecipientId() != null || recipientUserDO != null) { reviewVO.setRecipientName(userMapper.getUserById(reviewDO.getRecipientId()).getNickname());
reviewVO.setRecipientName(recipientUserDO.getNickname());
} }
// 获取该审核消息对应的模块信息
if (reviewDO.getProjectModuleId() != null) { if (reviewDO.getProjectModuleId() != null) {
ProjectModuleDO projectModuleDO = reviewVO.setProjectModuleName(
projectMapper.getModuleById(Math.toIntExact(reviewDO.getProjectModuleId())); reviewDAO.getNameByModule(Math.toIntExact(reviewDO.getProjectModuleId())));
// 如果模块存在设置名称
if (projectModuleDO != null) {
reviewVO.setProjectModuleName(projectModuleDO.getName());
} else {
reviewVO.setProjectModuleName("模块不存在");
}
} else { } else {
reviewVO.setProjectModuleName(""); reviewVO.setProjectModuleName("");
} }

View File

@ -183,7 +183,7 @@ public class Processing {
} }
/** /**
* 检查用户是否是负责人 * 检查用户是否是老师
* *
* @param request 请求 * @param request 请求
* @return 如果为 true 是老师false 不是老师 * @return 如果为 true 是老师false 不是老师
@ -416,7 +416,7 @@ public class Processing {
* @Param dateString: * @Param dateString:
**/ **/
public static Date convertStringToDate(String dateString) { public static Date convertStringToDate(String dateString) {
if (dateString == null || dateString.isEmpty()) { if (dateString.isEmpty()) {
return null; // 如果字符串为空返回空的Date对象 return null; // 如果字符串为空返回空的Date对象
} else { } else {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

View File

@ -33,7 +33,7 @@
<select id="getProjectDailyByProject" parameterType="java.lang.Long" <select id="getProjectDailyByProject" parameterType="java.lang.Long"
resultType="com.jsl.oa.model.dodata.ProjectDailyDO"> resultType="com.jsl.oa.model.dodata.ProjectDailyDO">
select * from organize_oa.oa_project_daily where project_id = #{pid} select * from organize_oa.oa_project_daily where user_id = #{pid}
and is_delete = 0 and is_delete = 0
</select> </select>

View File

@ -139,27 +139,6 @@
where id = #{id} where id = #{id}
</update> </update>
<update id="deleteReview">
update organize_oa.oa_review
set is_delete = 1
where id = ${id}
</update>
<select id="getAllReviewByProjectId">
select * from organize_oa.oa_review
where project_id = #{pid} and is_delete = 0
</select>
<select id="getAllReviewByProjectChildId">
select * from organize_oa.oa_review
where project_child_id = #{pid} and is_delete = 0
</select>
<select id="getAllReviewByProjectModuleId">
select * from organize_oa.oa_review
where project_module_id = #{mid} and is_delete = 0
</select>