Merge remote-tracking branch 'origin/master'
# Conflicts: # src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/entity/Project.javamaster
commit
f9804ef791
|
@ -55,4 +55,11 @@ public class ProjectController {
|
||||||
projectServiceImpl.setProjectCompleted(token, targetProjectId);
|
projectServiceImpl.setProjectCompleted(token, targetProjectId);
|
||||||
return ResponseMap.ofSuccess("操作成功");
|
return ResponseMap.ofSuccess("操作成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SneakyThrows
|
||||||
|
@PostMapping("/create")
|
||||||
|
public ResponseMap createProject(@RequestHeader("Token") String token,@RequestBody Project project){
|
||||||
|
projectServiceImpl.createProject(token, project);
|
||||||
|
return ResponseMap.ofSuccess("操作成功");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
package cn.edu.hfut.rmdjzz.projectmanagement.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 张韬
|
||||||
|
* created at 2022/6/30 21:31
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ProjectGroup {
|
||||||
|
@TableId(type = IdType.AUTO)
|
||||||
|
Integer staffId;
|
||||||
|
Integer projectId;
|
||||||
|
String projectStaffPosition;
|
||||||
|
}
|
|
@ -17,6 +17,7 @@ import java.time.LocalDate;
|
||||||
public class ResultProject {
|
public class ResultProject {
|
||||||
Integer projectId;
|
Integer projectId;
|
||||||
String projectName;
|
String projectName;
|
||||||
|
Integer projectCreator;
|
||||||
Long contractAmount;
|
Long contractAmount;
|
||||||
String projectImportance;
|
String projectImportance;
|
||||||
String projectClassName;
|
String projectClassName;
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
package cn.edu.hfut.rmdjzz.projectmanagement.mapper;
|
||||||
|
|
||||||
|
import cn.edu.hfut.rmdjzz.projectmanagement.entity.Project;
|
||||||
|
import cn.edu.hfut.rmdjzz.projectmanagement.entity.ProjectGroup;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 张韬
|
||||||
|
* created at 2022/6/30 21:34
|
||||||
|
*/
|
||||||
|
public interface ProjectGroupMapper extends BaseMapper<ProjectGroup> {
|
||||||
|
|
||||||
|
}
|
|
@ -30,6 +30,7 @@ public interface ProjectMapper extends BaseMapper<Project> {
|
||||||
project_name,
|
project_name,
|
||||||
contract_amount,
|
contract_amount,
|
||||||
project_importance,
|
project_importance,
|
||||||
|
project_creator,
|
||||||
pt1.project_class_name as project_class_name,
|
pt1.project_class_name as project_class_name,
|
||||||
pt2.project_class_name as project_subclass_name,
|
pt2.project_class_name as project_subclass_name,
|
||||||
is_completed,
|
is_completed,
|
||||||
|
@ -50,7 +51,8 @@ public interface ProjectMapper extends BaseMapper<Project> {
|
||||||
@Result(column = "project_class_name", property = "projectClassName"),
|
@Result(column = "project_class_name", property = "projectClassName"),
|
||||||
@Result(column = "is_completed", property = "IsCompleted"),
|
@Result(column = "is_completed", property = "IsCompleted"),
|
||||||
@Result(column = "is_deleted", property = "IsDeleted"),
|
@Result(column = "is_deleted", property = "IsDeleted"),
|
||||||
@Result(column = "project_close_time", property = "projectCloseTime")
|
@Result(column = "project_close_time", property = "projectCloseTime"),
|
||||||
|
@Result(column = "project_creator", property = "projectCreator")
|
||||||
})
|
})
|
||||||
IPage<ResultProject> findMyProject(IPage<ResultProject> pg, @Param("id") Integer staff_id, @Param(Constants.WRAPPER) Wrapper<Project> wrapper);
|
IPage<ResultProject> findMyProject(IPage<ResultProject> pg, @Param("id") Integer staff_id, @Param(Constants.WRAPPER) Wrapper<Project> wrapper);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package cn.edu.hfut.rmdjzz.projectmanagement.service;
|
||||||
|
|
||||||
|
import cn.edu.hfut.rmdjzz.projectmanagement.entity.Project;
|
||||||
|
import cn.edu.hfut.rmdjzz.projectmanagement.entity.ProjectGroup;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 张韬
|
||||||
|
* created at 2022/6/30 21:36
|
||||||
|
*/
|
||||||
|
public interface IProjectGroupService extends IService<ProjectGroup>{
|
||||||
|
public Boolean addCreator(Integer projectId,Integer staffId);
|
||||||
|
|
||||||
|
}
|
|
@ -22,5 +22,5 @@ public interface IProjectService extends IService<Project> {
|
||||||
|
|
||||||
Boolean setProjectCompleted(String token, Integer projectId) throws TokenException, BadRequestException;
|
Boolean setProjectCompleted(String token, Integer projectId) throws TokenException, BadRequestException;
|
||||||
|
|
||||||
Boolean makeANewProject(Project project) throws TokenException;
|
Boolean createProject(String token,Project project) throws TokenException, BadRequestException;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
package cn.edu.hfut.rmdjzz.projectmanagement.service.impl;
|
||||||
|
|
||||||
|
import cn.edu.hfut.rmdjzz.projectmanagement.entity.ProjectGroup;
|
||||||
|
import cn.edu.hfut.rmdjzz.projectmanagement.mapper.ProjectGroupMapper;
|
||||||
|
import cn.edu.hfut.rmdjzz.projectmanagement.service.IProjectGroupService;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 张韬
|
||||||
|
* created at 2022/6/30 21:38
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class ProjectGroupServiceImpl extends ServiceImpl<ProjectGroupMapper, ProjectGroup> implements IProjectGroupService {
|
||||||
|
public Boolean addCreator(Integer projectId,Integer staffId){
|
||||||
|
if(projectId==null||staffId==null)
|
||||||
|
return false;
|
||||||
|
ProjectGroup projectGroup=new ProjectGroup();
|
||||||
|
projectGroup.setProjectId(projectId);
|
||||||
|
projectGroup.setStaffId(staffId);
|
||||||
|
projectGroup.setProjectStaffPosition("负责人");
|
||||||
|
return baseMapper.insert(projectGroup) == 1;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,7 @@
|
||||||
package cn.edu.hfut.rmdjzz.projectmanagement.service.impl;
|
package cn.edu.hfut.rmdjzz.projectmanagement.service.impl;
|
||||||
|
|
||||||
import cn.edu.hfut.rmdjzz.projectmanagement.entity.Project;
|
import cn.edu.hfut.rmdjzz.projectmanagement.entity.Project;
|
||||||
|
import cn.edu.hfut.rmdjzz.projectmanagement.entity.ProjectGroup;
|
||||||
import cn.edu.hfut.rmdjzz.projectmanagement.entity.ResultProject;
|
import cn.edu.hfut.rmdjzz.projectmanagement.entity.ResultProject;
|
||||||
import cn.edu.hfut.rmdjzz.projectmanagement.exception.BadRequestException;
|
import cn.edu.hfut.rmdjzz.projectmanagement.exception.BadRequestException;
|
||||||
import cn.edu.hfut.rmdjzz.projectmanagement.exception.TokenException;
|
import cn.edu.hfut.rmdjzz.projectmanagement.exception.TokenException;
|
||||||
|
@ -13,6 +14,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import io.swagger.models.auth.In;
|
import io.swagger.models.auth.In;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
|
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
|
||||||
|
|
||||||
|
@ -26,7 +28,8 @@ import java.util.Objects;
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> implements IProjectService {
|
public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> implements IProjectService {
|
||||||
|
@Autowired
|
||||||
|
private ProjectGroupServiceImpl projectGroupServiceImpl;
|
||||||
@Override
|
@Override
|
||||||
public Long getAllProjectOfStaff(String token) throws TokenException {
|
public Long getAllProjectOfStaff(String token) throws TokenException {
|
||||||
Integer staffId = TokenUtils.getStaffId(token);
|
Integer staffId = TokenUtils.getStaffId(token);
|
||||||
|
@ -40,7 +43,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
||||||
Integer pageSize,
|
Integer pageSize,
|
||||||
Map<String, Object> params
|
Map<String, Object> params
|
||||||
) throws TokenException {
|
) throws TokenException {
|
||||||
Integer staffId = 2;
|
Integer staffId = TokenUtils.getStaffId(token);
|
||||||
IPage<ResultProject> page = new Page<>(pageCurrent, pageSize);
|
IPage<ResultProject> page = new Page<>(pageCurrent, pageSize);
|
||||||
IPage<ResultProject> userPage = baseMapper.findMyProject(page, staffId, WrapperUtils.allEqAndTimeIntervalQueryWrapper(params, false));
|
IPage<ResultProject> userPage = baseMapper.findMyProject(page, staffId, WrapperUtils.allEqAndTimeIntervalQueryWrapper(params, false));
|
||||||
return (Page<ResultProject>) userPage;
|
return (Page<ResultProject>) userPage;
|
||||||
|
@ -66,8 +69,28 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean makeANewProject(Project project) throws TokenException {
|
public Boolean createProject(String token,Project project) throws TokenException, BadRequestException {
|
||||||
|
project.setProjectId(null);
|
||||||
return null;
|
project.setIsCompleted(false);
|
||||||
|
project.setProjectCreator(TokenUtils.getStaffId(token));
|
||||||
|
project.setProjectCloseTime(null);
|
||||||
|
if(project.getExpectedCompletion()==null){
|
||||||
|
project.setExpectedCompletion((short) 100);
|
||||||
|
}
|
||||||
|
else if(project.getExpectedCompletion()<0||project.getExpectedCompletion()>100||
|
||||||
|
project.getProjectStartTime()==null||project.getProjectEndTime()==null||
|
||||||
|
project.getProjectStartTime().isAfter(project.getProjectEndTime())
|
||||||
|
){
|
||||||
|
throw new BadRequestException("参数错误");
|
||||||
|
}
|
||||||
|
try{
|
||||||
|
if(baseMapper.insert(project)==1){
|
||||||
|
return projectGroupServiceImpl.addCreator(project.getProjectId(),TokenUtils.getStaffId(token));
|
||||||
|
}
|
||||||
|
}catch(Exception e){
|
||||||
|
System.out.println(e);
|
||||||
|
throw new BadRequestException("新建失败");
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue