Compare commits
10 Commits
35943549f9
...
fefb3a6d00
Author | SHA1 | Date | |
---|---|---|---|
fefb3a6d00 | |||
|
ca68b6566b | ||
|
0c559f28ab | ||
|
f9f35dd4a0 | ||
|
cbcce7687b | ||
|
47e3e6820d | ||
|
4b8dc5d699 | ||
|
e32bc023df | ||
|
5b7daf5824 | ||
|
4363831d80 |
|
@ -106,10 +106,6 @@ public class ProjectDailyController {
|
|||
return ResultUtil.error(ErrorCode.PAGE_NUMBER_IS_NULL);
|
||||
}
|
||||
|
||||
if (projectId == null) {
|
||||
return ResultUtil.error(ErrorCode.ID_NOT_EXIST);
|
||||
}
|
||||
|
||||
return projectDailyService.searchMyDaily(projectId,
|
||||
page,
|
||||
pageSize,
|
||||
|
|
|
@ -232,6 +232,10 @@ public class ProjectDAO {
|
|||
|
||||
ProjectDO projectDO = projectMapper.getProjectById(projectId);
|
||||
|
||||
if (projectDO == null) {
|
||||
return "项目负责人不存在";
|
||||
}
|
||||
|
||||
UserDO userDO = userMapper.getUserById(projectDO.getPrincipalId());
|
||||
|
||||
if (userDO == null) {
|
||||
|
|
|
@ -124,6 +124,22 @@ public class ProjectDailyDAO {
|
|||
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()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -94,6 +94,27 @@ public class ReviewDAO {
|
|||
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());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -43,6 +43,9 @@ public interface ProjectMapper {
|
|||
@Select("select * from organize_oa.oa_project where id=#{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}")
|
||||
ProjectDO tgetProjectById(Integer id);
|
||||
|
||||
|
|
|
@ -51,4 +51,12 @@ public interface ReviewMapper {
|
|||
@Select("SELECT * FROM organize_oa.oa_review WHERE sender_id = #{uid} AND "
|
||||
+ "is_delete = 0 AND review_result = #{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);
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.jsl.oa.services.impl;
|
|||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.jsl.oa.dao.ProjectDAO;
|
||||
import com.jsl.oa.dao.ReviewDAO;
|
||||
import com.jsl.oa.dao.RoleDAO;
|
||||
import com.jsl.oa.dao.UserDAO;
|
||||
import com.jsl.oa.mapper.ModuleMapper;
|
||||
|
@ -30,6 +31,7 @@ import static java.lang.System.*;
|
|||
@RequiredArgsConstructor
|
||||
public class ModuleServiceImpl implements ModuleService {
|
||||
private final ProjectDAO projectDAO;
|
||||
private final ReviewDAO reviewDAO;
|
||||
private final ModuleMapper moduleMapper;
|
||||
private final UserDAO userDAO;
|
||||
private final RoleDAO roleDAO;
|
||||
|
@ -120,8 +122,12 @@ public class ModuleServiceImpl implements ModuleService {
|
|||
|
||||
for (ProjectModuleDO workDO : projectWorkDOS) {
|
||||
deleteMoudule(workDO.getId());
|
||||
|
||||
//同时删除对应审核信息
|
||||
reviewDAO.deleteReviewByProjectModuleId(id);
|
||||
}
|
||||
|
||||
|
||||
moduleMapper.deleteMoudule(id);
|
||||
}
|
||||
|
||||
|
|
|
@ -7,6 +7,8 @@ import com.jsl.oa.dao.ProjectDAO;
|
|||
import com.jsl.oa.dao.ProjectDailyDAO;
|
||||
import com.jsl.oa.dao.UserDAO;
|
||||
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.UserDO;
|
||||
import com.jsl.oa.model.vodata.ProjectDailyAddVO;
|
||||
|
@ -47,6 +49,7 @@ public class ProjectDailyServiceImpl implements ProjectDailyService {
|
|||
private final UserDAO userDAO;
|
||||
private final ProjectDailyDAO projectDailyDAO;
|
||||
private final ProjectDailyMapper projectDailyMapper;
|
||||
private final ProjectMapper projectMapper;
|
||||
private final MessageService messageService;
|
||||
|
||||
|
||||
|
@ -58,9 +61,9 @@ public class ProjectDailyServiceImpl implements ProjectDailyService {
|
|||
// 从请求体中获取项目id
|
||||
Integer projectId = projectDailyAddVO.getProjectId();
|
||||
// 检查项目是否存在
|
||||
if (!projectDAO.isExistProjectById(Long.valueOf(projectId))) {
|
||||
if (projectMapper.getNotDeleteProjectById(Long.valueOf(projectId)) == null) {
|
||||
return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST);
|
||||
}
|
||||
}
|
||||
|
||||
// 赋值数据库表实体类相关属性
|
||||
ProjectDailyDO projectDailyDO = new ProjectDailyDO();
|
||||
|
@ -210,8 +213,12 @@ public class ProjectDailyServiceImpl implements ProjectDailyService {
|
|||
// 复制相同的属性值
|
||||
Processing.copyProperties(projectDailyDO, projectDailyVO);
|
||||
// 赋值其他需查询的属性
|
||||
projectDailyVO.setProjectName(
|
||||
projectDAO.getProjectById(projectDailyVO.getProjectId()).getName());
|
||||
ProjectDO projectDO = projectDAO.getProjectById(projectDailyVO.getProjectId());
|
||||
if (projectDO == null) {
|
||||
projectDailyVO.setProjectName(projectDO.getName());
|
||||
} else {
|
||||
projectDailyVO.setPrincipalName("项目不存在");
|
||||
}
|
||||
//设置发送者名称,如果为昵称为空则赋值用户账号
|
||||
UserDO senderUser = userDAO.getUserById(projectDailyDO.getUserId());
|
||||
|
||||
|
|
|
@ -8,15 +8,10 @@ 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;
|
||||
import com.jsl.oa.dao.UserDAO;
|
||||
import com.jsl.oa.dao.*;
|
||||
import com.jsl.oa.mapper.ProjectMapper;
|
||||
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.ProjectModuleDO;
|
||||
import com.jsl.oa.model.dodata.UserDO;
|
||||
import com.jsl.oa.model.dodata.*;
|
||||
import com.jsl.oa.model.dodata.info.ProjectShowDO;
|
||||
import com.jsl.oa.model.vodata.*;
|
||||
import com.jsl.oa.model.vodata.business.info.ProjectShowVO;
|
||||
|
@ -58,10 +53,12 @@ public class ProjectServiceImpl implements ProjectService {
|
|||
|
||||
private final UserMapper userMapper;
|
||||
private final ProjectMapper projectMapper;
|
||||
private final ReviewDAO reviewDAO;
|
||||
private final ProjectDAO projectDAO;
|
||||
private final UserDAO userDAO;
|
||||
private final ObjectMapper objectMapper;
|
||||
private final RoleDAO roleDAO;
|
||||
private final ProjectDailyDAO projectDailyDAO;
|
||||
private final MessageService messageService;
|
||||
private final Gson gson;
|
||||
|
||||
|
@ -129,7 +126,6 @@ public class ProjectServiceImpl implements ProjectService {
|
|||
@Override
|
||||
public BaseResponse projectFileGet(HttpServletRequest request, Long projectId) {
|
||||
|
||||
|
||||
// 判断项目是否存在
|
||||
if (!projectDAO.isExistProjectById(projectId)) {
|
||||
return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST);
|
||||
|
@ -210,6 +206,8 @@ public class ProjectServiceImpl implements ProjectService {
|
|||
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
|
||||
} else {
|
||||
projectMapper.deleteProjectChild(id1);
|
||||
//同时删除对应审核信息
|
||||
reviewDAO.deleteReviewByProjectChildId(id1);
|
||||
}
|
||||
}
|
||||
return ResultUtil.success();
|
||||
|
@ -626,13 +624,23 @@ public class ProjectServiceImpl implements ProjectService {
|
|||
}
|
||||
|
||||
for (Long id1 : id) {
|
||||
|
||||
if (projectMapper.getNotDeleteProjectById(id1) == null) {
|
||||
return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST);
|
||||
}
|
||||
|
||||
if (!projectDAO.isPrincipalUser(Processing.getAuthHeaderToUserId(request), id1)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
|
||||
}
|
||||
if (!projectDAO.projectDelete(id1)) {
|
||||
return ResultUtil.error(ErrorCode.DATABASE_DELETE_ERROR);
|
||||
}
|
||||
//同时删除所有对应审核信息
|
||||
reviewDAO.deleteReviewByProjectId(id1);
|
||||
//同时删除所有对应日报消息
|
||||
projectDailyDAO.deleteDailyByProject(id1);
|
||||
}
|
||||
|
||||
return ResultUtil.success();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,10 +6,7 @@ import com.jsl.oa.dao.ProjectDAO;
|
|||
import com.jsl.oa.dao.ReviewDAO;
|
||||
import com.jsl.oa.mapper.ProjectMapper;
|
||||
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.ProjectModuleDO;
|
||||
import com.jsl.oa.model.dodata.ReviewDO;
|
||||
import com.jsl.oa.model.dodata.*;
|
||||
import com.jsl.oa.model.vodata.ReviewAddVO;
|
||||
import com.jsl.oa.model.vodata.ReviewDataVO;
|
||||
import com.jsl.oa.model.vodata.ReviewUpdateResultVO;
|
||||
|
@ -182,7 +179,7 @@ public class ReviewServiceImpl implements ReviewService {
|
|||
Integer userId = Math.toIntExact(Processing.getAuthHeaderToUserId(request));
|
||||
|
||||
//检查对应项目,子系统,子模块是否存在
|
||||
if (!projectDAO.isExistProjectById(Long.valueOf(reviewAddVO.getProjectId()))) {
|
||||
if (projectMapper.getNotDeleteProjectById(Long.valueOf(reviewAddVO.getProjectId())) == null) {
|
||||
return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST);
|
||||
}
|
||||
|
||||
|
@ -386,20 +383,42 @@ public class ReviewServiceImpl implements ReviewService {
|
|||
Processing.copyProperties(reviewDO, reviewVO);
|
||||
// 赋值其他非空属性
|
||||
reviewVO.setCategory(Processing.turnReviewCategory(reviewDO.getCategory()))
|
||||
.setSenderName(userMapper.getUserById(Long.valueOf(reviewDO.getSenderId())).getNickname())
|
||||
.setProjectName(projectDAO.getProjectById(reviewDO.getProjectId()).getName())
|
||||
.setProjectChildName(projectMapper.getProjectChildById(
|
||||
Math.toIntExact(reviewDO.getProjectChildId())).getName())
|
||||
.setResult(Processing.turnReviewResult(reviewDO.getReviewResult()))
|
||||
.setSenderName(userMapper.getUserById(Long.valueOf(reviewDO.getSenderId())).getNickname());
|
||||
|
||||
// 获取审核的项目,设置项目名称
|
||||
ProjectDO project = projectDAO.getProjectById(reviewDO.getProjectId());
|
||||
if (project == null) {
|
||||
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()))
|
||||
.setRecipientId(reviewDO.getRecipientId());
|
||||
// 赋值可为空属性并进行判断
|
||||
if (reviewDO.getRecipientId() != null) {
|
||||
reviewVO.setRecipientName(userMapper.getUserById(reviewDO.getRecipientId()).getNickname());
|
||||
UserDO recipientUserDO = userMapper.getUserById(reviewDO.getRecipientId());
|
||||
if (reviewDO.getRecipientId() != null || recipientUserDO != null) {
|
||||
reviewVO.setRecipientName(recipientUserDO.getNickname());
|
||||
}
|
||||
// 获取该审核消息对应的模块信息
|
||||
if (reviewDO.getProjectModuleId() != null) {
|
||||
reviewVO.setProjectModuleName(
|
||||
reviewDAO.getNameByModule(Math.toIntExact(reviewDO.getProjectModuleId())));
|
||||
ProjectModuleDO projectModuleDO =
|
||||
projectMapper.getModuleById(Math.toIntExact(reviewDO.getProjectModuleId()));
|
||||
// 如果模块存在,设置名称
|
||||
if (projectModuleDO != null) {
|
||||
reviewVO.setProjectModuleName(projectModuleDO.getName());
|
||||
} else {
|
||||
reviewVO.setProjectModuleName("模块不存在");
|
||||
}
|
||||
} else {
|
||||
reviewVO.setProjectModuleName("无");
|
||||
}
|
||||
|
|
|
@ -183,7 +183,7 @@ public class Processing {
|
|||
}
|
||||
|
||||
/**
|
||||
* 检查用户是否是老师
|
||||
* 检查用户是否是负责人
|
||||
*
|
||||
* @param request 请求
|
||||
* @return 如果为 true 是老师,false 不是老师
|
||||
|
@ -416,7 +416,7 @@ public class Processing {
|
|||
* @Param dateString:
|
||||
**/
|
||||
public static Date convertStringToDate(String dateString) {
|
||||
if (dateString.isEmpty()) {
|
||||
if (dateString == null || dateString.isEmpty()) {
|
||||
return null; // 如果字符串为空,返回空的Date对象
|
||||
} else {
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
<select id="getProjectDailyByProject" parameterType="java.lang.Long"
|
||||
resultType="com.jsl.oa.model.dodata.ProjectDailyDO">
|
||||
select * from organize_oa.oa_project_daily where user_id = #{pid}
|
||||
select * from organize_oa.oa_project_daily where project_id = #{pid}
|
||||
and is_delete = 0
|
||||
</select>
|
||||
|
||||
|
|
|
@ -139,6 +139,27 @@
|
|||
where id = #{id}
|
||||
</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>
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user