feat:日报模块 日报删除接口

This commit is contained in:
xiangZr-hhh 2024-04-19 16:36:18 +08:00
parent 04f1798811
commit cf4921397c
10 changed files with 63 additions and 2 deletions

View File

@ -33,11 +33,16 @@ public class PermissionList {
permissionPrincipal.add(new PermissionVO("project:add", "增加项目"));
permissionPrincipal.add(new PermissionVO("project:child:add", "增加子系统"));
permissionPrincipal.add(new PermissionVO("project:module:add", "增加子模块"));
permissionPrincipal.add(new PermissionVO("review:add", "添加审核申请"));
permissionPrincipal.add(new PermissionVO("project:daily:add", "添加日报"));
permissionPrincipal.add(new PermissionVO("project:daily:delete", "删除日报"));
permissionDeveloper.add(new PermissionVO("auth:change_password", "修改密码"));
permissionDeveloper.add(new PermissionVO("info:get_header_image", "获取头部图片"));
permissionDeveloper.add(new PermissionVO("info:edit_header_image", "编辑头部图片"));
permissionDeveloper.add(new PermissionVO("info:delete_header_image", "删除头部图片"));
permissionDeveloper.add(new PermissionVO("project:daily:add", "添加日报"));
permissionDeveloper.add(new PermissionVO("review:add", "添加审核申请"));
permissionPrincipal.add(new PermissionVO("project:child:add", "增加子系统"));
permissionPrincipal.add(new PermissionVO("project:module:add", "增加子模块"));
}

View File

@ -1,6 +1,7 @@
package com.jsl.oa.controllers;
import com.jsl.oa.annotations.NeedPermission;
import com.jsl.oa.model.vodata.ProjectDailyAddVO;
import com.jsl.oa.services.ProjectDailyService;
import com.jsl.oa.utils.BaseResponse;
@ -42,6 +43,7 @@ public class ProjectDailyController {
* @return 新增结果
*/
@PostMapping("/daily/add")
@NeedPermission("project:daily:add")
public BaseResponse add(@RequestBody @Validated ProjectDailyAddVO projectDailyAddVO,
@NotNull BindingResult bindingResult,
HttpServletRequest request) {
@ -49,15 +51,23 @@ public class ProjectDailyController {
if (bindingResult.hasErrors()) {
return ResultUtil.error(ErrorCode.PARAMETER_ERROR, Processing.getValidatedErrorList(bindingResult));
}
log.info("请求接口[GET]: /daily/add");
return projectDailyService.addDaily(projectDailyAddVO, request);
}
@DeleteMapping("/daily/delete")
@NeedPermission("project:daily:delete")
public BaseResponse delete(@RequestParam Integer dailyId,
HttpServletRequest request) {
log.info("请求接口[DELETE]: /daily/delete");
return projectDailyService.deleteDaily(dailyId, request);
}
@GetMapping("/daily/getMyDaily")
public BaseResponse getMyDaily(@RequestParam Integer page,
@RequestParam Integer pageSize,
HttpServletRequest request) {
log.info("请求接口[GET]: /daily/getMyDaily");
return projectDailyService.getMyDaily(page, pageSize, request);
}
@ -70,7 +80,7 @@ public class ProjectDailyController {
String endTime,
HttpServletRequest request) {
log.info("请求接口[GET]: /daily/search");
return projectDailyService.searchMyDaily(projectId,
page,
pageSize,

View File

@ -1,5 +1,6 @@
package com.jsl.oa.controllers;
import com.jsl.oa.annotations.NeedPermission;
import com.jsl.oa.model.vodata.ReviewAddVO;
import com.jsl.oa.model.vodata.ReviewUpdateResultVO;
import com.jsl.oa.services.ReviewService;
@ -64,6 +65,7 @@ public class ReviewController {
* @Param null:
**/
@PostMapping("/review/add")
@NeedPermission("review:add")
public BaseResponse addReview(@RequestBody @Validated ReviewAddVO reviewAddVO,
@NotNull BindingResult bindingResult,
HttpServletRequest request) {

View File

@ -111,6 +111,10 @@ public class ProjectDailyDAO {
return projectDailyDOList;
}
public void deleteDailyById(Integer dailyId) {
projectDailyMapper.deleteDailyById(dailyId);
}
}

View File

@ -27,6 +27,10 @@ public interface ProjectDailyMapper {
List getProjectDailyByProjectAndTime(Long id, Date beginTime, Date endTime);
List<ProjectDailyDO> getProjectDailyByUserAndTime(Long userId, Date beginTime, Date endTime);
ProjectDailyDO getDailyById(Integer id);
void deleteDailyById(Integer id);
}

View File

@ -28,6 +28,8 @@ public interface ProjectDailyService {
Date beginTime,
Date endTime,
HttpServletRequest request);
BaseResponse deleteDaily(Integer dailyId, HttpServletRequest request);
}

View File

@ -6,6 +6,7 @@ package com.jsl.oa.services.impl;
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.model.dodata.ProjectDailyDO;
import com.jsl.oa.model.vodata.ProjectDailyAddVO;
import com.jsl.oa.model.vodata.ProjectDailyDataVO;
@ -42,6 +43,7 @@ public class ProjectDailyServiceImpl implements ProjectDailyService {
private final ProjectDAO projectDAO;
private final UserDAO userDAO;
private final ProjectDailyDAO projectDailyDAO;
private final ProjectDailyMapper projectDailyMapper;
@Override
@ -125,6 +127,21 @@ public class ProjectDailyServiceImpl implements ProjectDailyService {
}
@Override
public BaseResponse deleteDaily(Integer dailyId, HttpServletRequest request) {
Long userId = Processing.getAuthHeaderToUserId(request);
// 检查用户是否为项目负责人
if (!projectDAO.isPrincipalUser(userId, projectDailyMapper.getDailyById(dailyId).getProjectId())) {
return ResultUtil.error(ErrorCode.User_NOT_PROJECT_PRINCIPAL);
}
projectDailyDAO.deleteDailyById(dailyId);
return ResultUtil.success();
}
public List<ProjectDailyVO> encapsulateArrayClass(List<ProjectDailyDO>
projectDailyDOList) {
// 定义封装结果数组

View File

@ -212,6 +212,9 @@ public class ReviewServiceImpl implements ReviewService {
//定义申请者id
reviewDO.setSenderId(userId);
reviewDO.setProjectId(Long.valueOf(reviewAddVO.getProjectId()));
reviewDO.setProjectChildId(Long.valueOf(reviewAddVO.getProjectChildId()));
reviewDO.setProjectModuleId(Long.valueOf(reviewAddVO.getProjectModuleId()));
//添加数据
reviewDAO.addReview(reviewDO);

View File

@ -55,6 +55,7 @@ public enum ErrorCode {
PROJECT_NOT_USER("ProjectNotUser", 40020, "项目无此用户"),
PROJECT_CHILD_NOT_EXIST("ProjectChildNotExist", 40021, "子系统不存在"),
MODULE_NOT_EXIST("ModuleNotExist", 40022, "模块不存在"),
User_NOT_PROJECT_PRINCIPAL("UserNotProjectPrincipal", 40023, "用户非项目负责人"),
REVIEW_NOT_EXIST("ReviewNotExit", 40101, "未找到对应审核信息");

View File

@ -53,4 +53,17 @@
and is_delete = 0
</select>
<select id="getDailyById" parameterType="java.lang.Integer"
resultType="com.jsl.oa.model.dodata.ProjectDailyDO">
select * from oa_project_daily
where id = #{id}
and is_delete = 0
</select>
<delete id="deleteDailyById" parameterType="java.lang.Integer">
UPDATE oa_project_daily
SET is_delete = 1
WHERE id = #{id}
</delete>
</mapper>