Compare commits
No commits in common. "3f715f50a3cc4b7b3fcebdf9c0223f7c37d461fa" and "19b38290257205184c288dedd3af70bc68c095ba" have entirely different histories.
3f715f50a3
...
19b3829025
@ -1,9 +1,9 @@
|
|||||||
package com.jsl.oa.controllers;
|
package com.jsl.oa.controllers;
|
||||||
|
|
||||||
import com.jsl.oa.annotations.NeedPermission;
|
import com.jsl.oa.annotations.NeedPermission;
|
||||||
import com.jsl.oa.model.vodata.ProjectChildAddVO;
|
|
||||||
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.ProjectModuleAddVO;
|
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;
|
||||||
@ -227,7 +227,7 @@ public class ProjectController {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("/project/module/add")
|
@PostMapping("/project/module/add")
|
||||||
@NeedPermission("project:module_add")
|
@NeedPermission("project:module:add")
|
||||||
public BaseResponse projectModuleAdd(
|
public BaseResponse projectModuleAdd(
|
||||||
@RequestBody @Validated ProjectModuleAddVO projectModuleAddVO,
|
@RequestBody @Validated ProjectModuleAddVO projectModuleAddVO,
|
||||||
@NotNull BindingResult bindingResult,
|
@NotNull BindingResult bindingResult,
|
||||||
@ -248,7 +248,7 @@ public class ProjectController {
|
|||||||
* @return {@link BaseResponse}
|
* @return {@link BaseResponse}
|
||||||
*/
|
*/
|
||||||
@PostMapping("/project/child/add")
|
@PostMapping("/project/child/add")
|
||||||
@NeedPermission("project:child_add")
|
@NeedPermission("project:child:add")
|
||||||
public BaseResponse projectChildAdd(
|
public BaseResponse projectChildAdd(
|
||||||
HttpServletRequest request,
|
HttpServletRequest request,
|
||||||
@RequestBody @Validated ProjectChildAddVO projectChildAddVO,
|
@RequestBody @Validated ProjectChildAddVO projectChildAddVO,
|
||||||
|
@ -3,7 +3,6 @@ package com.jsl.oa.controllers;
|
|||||||
|
|
||||||
import com.jsl.oa.annotations.NeedPermission;
|
import com.jsl.oa.annotations.NeedPermission;
|
||||||
import com.jsl.oa.model.vodata.ProjectDailyAddVO;
|
import com.jsl.oa.model.vodata.ProjectDailyAddVO;
|
||||||
import com.jsl.oa.model.vodata.ProjectDailyUpdateVO;
|
|
||||||
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;
|
||||||
@ -56,19 +55,6 @@ public class ProjectDailyController {
|
|||||||
return projectDailyService.addDaily(projectDailyAddVO, request);
|
return projectDailyService.addDaily(projectDailyAddVO, request);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PutMapping("/daily/update")
|
|
||||||
public BaseResponse updateDaily(@RequestBody @Validated ProjectDailyUpdateVO projectDailyUpdateVO,
|
|
||||||
@NotNull BindingResult bindingResult,
|
|
||||||
HttpServletRequest request) {
|
|
||||||
|
|
||||||
log.info("请求接口[PUT]: /daily/update");
|
|
||||||
// 判断是否有参数错误
|
|
||||||
if (bindingResult.hasErrors()) {
|
|
||||||
return ResultUtil.error(ErrorCode.PARAMETER_ERROR, Processing.getValidatedErrorList(bindingResult));
|
|
||||||
}
|
|
||||||
|
|
||||||
return projectDailyService.updateDaily(projectDailyUpdateVO, request);
|
|
||||||
}
|
|
||||||
|
|
||||||
@DeleteMapping("/daily/delete")
|
@DeleteMapping("/daily/delete")
|
||||||
@NeedPermission("project:daily:delete")
|
@NeedPermission("project:daily:delete")
|
||||||
|
@ -209,5 +209,4 @@ public class ProjectDAO {
|
|||||||
return projectMapper.getAllModuleByUserId(uid);
|
return projectMapper.getAllModuleByUserId(uid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -115,15 +115,6 @@ public class ProjectDailyDAO {
|
|||||||
public void deleteDailyById(Integer dailyId) {
|
public void deleteDailyById(Integer dailyId) {
|
||||||
projectDailyMapper.deleteDailyById(dailyId);
|
projectDailyMapper.deleteDailyById(dailyId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ProjectDailyDO getPorjectDailyById(Integer id) {
|
|
||||||
return projectDailyMapper.getDailyById(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateDaily(ProjectDailyDO projectDailyDO) {
|
|
||||||
projectDailyMapper.updateDaily(projectDailyDO);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -31,8 +31,6 @@ public interface ProjectDailyMapper {
|
|||||||
ProjectDailyDO getDailyById(Integer id);
|
ProjectDailyDO getDailyById(Integer id);
|
||||||
|
|
||||||
void deleteDailyById(Integer id);
|
void deleteDailyById(Integer id);
|
||||||
|
|
||||||
void updateDaily(ProjectDailyDO projectDailyDO);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -167,5 +167,4 @@ public interface ProjectMapper {
|
|||||||
+ "(select id from organize_oa.oa_project_child where name =#{childName} "
|
+ "(select id from organize_oa.oa_project_child where name =#{childName} "
|
||||||
+ "and project_id = (select id from organize_oa.oa_project where name =#{projectName}))")
|
+ "and project_id = (select id from organize_oa.oa_project where name =#{projectName}))")
|
||||||
List<ProjectModuleDO> getModuleByName(String projectName, String childName);
|
List<ProjectModuleDO> getModuleByName(String projectName, String childName);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,7 @@ 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
|
||||||
@ -19,7 +20,7 @@ public class ProjectDailyAddVO {
|
|||||||
|
|
||||||
@NotNull(message = "工作时间不能为空")
|
@NotNull(message = "工作时间不能为空")
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private String dailyTime;
|
private Date dailyTime;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,29 +0,0 @@
|
|||||||
package com.jsl.oa.model.vodata;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import lombok.Data;
|
|
||||||
|
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
|
||||||
import javax.validation.constraints.NotNull;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
public class ProjectDailyUpdateVO {
|
|
||||||
|
|
||||||
|
|
||||||
@NotNull(message = "日报id不能为空")
|
|
||||||
private Integer id;
|
|
||||||
|
|
||||||
@NotNull(message = "日报所属项目id不能为空")
|
|
||||||
private Integer projectId;
|
|
||||||
|
|
||||||
@NotBlank(message = "日报内容不能为空")
|
|
||||||
private String content;
|
|
||||||
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|
||||||
private String dailyTime;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -3,7 +3,6 @@ package com.jsl.oa.services;
|
|||||||
|
|
||||||
|
|
||||||
import com.jsl.oa.model.vodata.ProjectDailyAddVO;
|
import com.jsl.oa.model.vodata.ProjectDailyAddVO;
|
||||||
import com.jsl.oa.model.vodata.ProjectDailyUpdateVO;
|
|
||||||
import com.jsl.oa.utils.BaseResponse;
|
import com.jsl.oa.utils.BaseResponse;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
@ -31,8 +30,6 @@ public interface ProjectDailyService {
|
|||||||
HttpServletRequest request);
|
HttpServletRequest request);
|
||||||
|
|
||||||
BaseResponse deleteDaily(Integer dailyId, HttpServletRequest request);
|
BaseResponse deleteDaily(Integer dailyId, HttpServletRequest request);
|
||||||
|
|
||||||
BaseResponse updateDaily(ProjectDailyUpdateVO projectDailyUpdateVO, HttpServletRequest request);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -10,7 +10,6 @@ import com.jsl.oa.mapper.ProjectDailyMapper;
|
|||||||
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.ProjectDailyDataVO;
|
||||||
import com.jsl.oa.model.vodata.ProjectDailyUpdateVO;
|
|
||||||
import com.jsl.oa.model.vodata.ProjectDailyVO;
|
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;
|
||||||
@ -142,46 +141,6 @@ public class ProjectDailyServiceImpl implements ProjectDailyService {
|
|||||||
return ResultUtil.success();
|
return ResultUtil.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public BaseResponse updateDaily(ProjectDailyUpdateVO projectDailyUpdateVO, HttpServletRequest request) {
|
|
||||||
// 获取用户id
|
|
||||||
Long userId = Processing.getAuthHeaderToUserId(request);
|
|
||||||
// 获取对应日报数据
|
|
||||||
ProjectDailyDO projectDailyDO = projectDailyDAO.getPorjectDailyById(projectDailyUpdateVO.getId());
|
|
||||||
// 检测日报是否为空
|
|
||||||
if (projectDailyDO == null) {
|
|
||||||
return ResultUtil.error(ErrorCode.PROJECT_DAILY_NOT_EXIST);
|
|
||||||
}
|
|
||||||
// 查询用户是否有修改权限(本人或项目负责人)
|
|
||||||
if (userId.equals(projectDailyDO.getUserId())
|
|
||||||
|| projectDAO.getProjectById(
|
|
||||||
projectDailyDO.getProjectId()).
|
|
||||||
getPrincipalId().equals(userId)) {
|
|
||||||
String content = projectDailyUpdateVO.getContent();
|
|
||||||
Long projectId = Long.valueOf(projectDailyUpdateVO.getProjectId());
|
|
||||||
String dailyTime = projectDailyUpdateVO.getDailyTime();
|
|
||||||
|
|
||||||
if (content != null && !content.equals("")) {
|
|
||||||
projectDailyDO.setContent(content);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (projectDAO.isExistProject(projectId)) {
|
|
||||||
projectDailyDO.setProjectId(projectId);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dailyTime != null && !dailyTime.equals("")) {
|
|
||||||
projectDailyDO.setDailyTime(Processing.convertStringToDate(dailyTime));
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
return ResultUtil.error(ErrorCode.NOT_PERMISSION_UPDATE_DAILY);
|
|
||||||
}
|
|
||||||
|
|
||||||
projectDailyDAO.updateDaily(projectDailyDO);
|
|
||||||
|
|
||||||
return ResultUtil.success();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public List<ProjectDailyVO> encapsulateArrayClass(List<ProjectDailyDO>
|
public List<ProjectDailyVO> encapsulateArrayClass(List<ProjectDailyDO>
|
||||||
projectDailyDOList) {
|
projectDailyDOList) {
|
||||||
|
@ -55,8 +55,6 @@ public enum ErrorCode {
|
|||||||
PROJECT_NOT_USER("ProjectNotUser", 40020, "项目无此用户"),
|
PROJECT_NOT_USER("ProjectNotUser", 40020, "项目无此用户"),
|
||||||
PROJECT_CHILD_NOT_EXIST("ProjectChildNotExist", 40021, "子系统不存在"),
|
PROJECT_CHILD_NOT_EXIST("ProjectChildNotExist", 40021, "子系统不存在"),
|
||||||
MODULE_NOT_EXIST("ModuleNotExist", 40022, "模块不存在"),
|
MODULE_NOT_EXIST("ModuleNotExist", 40022, "模块不存在"),
|
||||||
PROJECT_DAILY_NOT_EXIST("ProjectDailyNotExist", 40023, "日志不存在"),
|
|
||||||
NOT_PERMISSION_UPDATE_DAILY("NotPermissionUpdateDaily", 40024, "用户无权限修改日报"),
|
|
||||||
User_NOT_PROJECT_PRINCIPAL("UserNotProjectPrincipal", 40023, "用户非项目负责人"),
|
User_NOT_PROJECT_PRINCIPAL("UserNotProjectPrincipal", 40023, "用户非项目负责人"),
|
||||||
REVIEW_NOT_EXIST("ReviewNotExit", 40101, "未找到对应审核信息");
|
REVIEW_NOT_EXIST("ReviewNotExit", 40101, "未找到对应审核信息");
|
||||||
|
|
||||||
|
@ -66,18 +66,4 @@
|
|||||||
SET is_delete = 1
|
SET is_delete = 1
|
||||||
WHERE id = #{id}
|
WHERE id = #{id}
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<update id="updateDaily" parameterType="com.jsl.oa.model.dodata.ProjectDailyDO">
|
|
||||||
UPDATE oa_project_daily
|
|
||||||
<set>
|
|
||||||
<if test="userId != null">user_id = #{userId},</if>
|
|
||||||
<if test="projectId != null">project_id = #{projectId},</if>
|
|
||||||
<if test="content != null">content = #{content},</if>
|
|
||||||
<if test="dailyTime != null">daily_time = #{dailyTime},</if>
|
|
||||||
<if test="updatedAt != null">updated_at = #{updatedAt},</if>
|
|
||||||
<if test="isDelete != null">is_delete = #{isDelete}</if>
|
|
||||||
</set>
|
|
||||||
WHERE id = #{id}
|
|
||||||
</update>
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
@ -6,14 +6,16 @@ create table oa_project_modules
|
|||||||
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 '项目描述(技术选择,描述)',
|
||||||
cycle int unsigned null comment '模块周期',
|
|
||||||
work_load int unsigned default '1' not null comment '工作量(人天)',
|
work_load int unsigned default '1' not null comment '工作量(人天)',
|
||||||
complete_time datetime null comment '完成时间',
|
complete_time datetime null comment '完成时间',
|
||||||
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_modules_oa_user_id_fk
|
constraint oa_project_modules_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