Compare commits

...

5 Commits

Author SHA1 Message Date
725f5f7fee Merge pull request 'develop' (#23) from develop into master
All checks were successful
代码检查 / 代码检查 (push) Successful in 19s
Reviewed-on: #23
2024-04-18 16:33:19 +08:00
893b5b2f7c Merge pull request 'feature-jie' (#22) from feature-jie into develop
All checks were successful
代码检查 / 代码检查 (pull_request) Successful in 17s
Reviewed-on: #22
2024-04-18 16:32:10 +08:00
3e2b10c049
fix(业务): 业务补丁
All checks were successful
代码检查 / 代码检查 (pull_request) Successful in 16s
json 补丁
2024-04-18 15:21:38 +08:00
176yunxuan
e0d4d0e9c7 fix:添加项目权限,名字模糊查询项目
All checks were successful
代码检查 / 代码检查 (pull_request) Successful in 19s
2024-04-18 15:17:08 +08:00
176yunxuan
3df0c754d3 fix:查询项目重构 2024-04-18 09:34:23 +08:00
8 changed files with 80 additions and 19 deletions

View File

@ -28,6 +28,7 @@ public class PermissionList {
permissionPrincipal.add(new PermissionVO("info:get_header_image", "获取头部图片")); permissionPrincipal.add(new PermissionVO("info:get_header_image", "获取头部图片"));
permissionPrincipal.add(new PermissionVO("info:edit_header_image", "编辑头部图片")); permissionPrincipal.add(new PermissionVO("info:edit_header_image", "编辑头部图片"));
permissionPrincipal.add(new PermissionVO("info:delete_header_image", "删除头部图片")); permissionPrincipal.add(new PermissionVO("info:delete_header_image", "删除头部图片"));
permissionPrincipal.add(new PermissionVO("project:add", "增加项目"));
permissionDeveloper.add(new PermissionVO("auth:change_password", "修改密码")); permissionDeveloper.add(new PermissionVO("auth:change_password", "修改密码"));
permissionDeveloper.add(new PermissionVO("info:get_header_image", "获取头部图片")); permissionDeveloper.add(new PermissionVO("info:get_header_image", "获取头部图片"));

View File

@ -1,5 +1,6 @@
package com.jsl.oa.controllers; package com.jsl.oa.controllers;
import com.jsl.oa.annotations.NeedPermission;
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.ProjectWorkVO; import com.jsl.oa.model.vodata.ProjectWorkVO;
@ -248,6 +249,7 @@ public BaseResponse projectParticipateGet(
*/ */
@PostMapping("/project/add") @PostMapping("/project/add")
@NeedPermission("project:add")
public BaseResponse projectAdd( public BaseResponse projectAdd(
@RequestBody @Validated ProjectInfoVO projectInfoVO, @RequestBody @Validated ProjectInfoVO projectInfoVO,
@NotNull BindingResult bindingResult, @NotNull BindingResult bindingResult,
@ -322,4 +324,12 @@ public BaseResponse projectParticipateGet(
} }
@GetMapping("/project/get/name")
public BaseResponse projectGetName(
@RequestParam String name,
HttpServletRequest request
) {
return projectService.projectGetName(name, request);
}
} }

View File

@ -106,7 +106,9 @@ public interface ProjectMapper {
+ "AND is_delete = 0") + "AND is_delete = 0")
ProjectModuleDO getProjectWorkById(Long id); ProjectModuleDO getProjectWorkById(Long id);
@Select("select principal_id from organize_oa.oa_project_child where project_id=#{id}") @Select("select principal_id from organize_oa.oa_project_child where project_id=#{id} union "
+ "select principal_id from organize_oa.oa_project_modules where project_child_id in"
+ "(select id from organize_oa.oa_project_child where project_id = #{id})")
List <Long> getMemberByProjectId(Integer id); List <Long> getMemberByProjectId(Integer id);
@Select("select principal_id from organize_oa.oa_project_modules where project_child_id=#{id}") @Select("select principal_id from organize_oa.oa_project_modules where project_child_id=#{id}")
@ -145,4 +147,7 @@ public interface ProjectMapper {
void deleteProjectChild(Long id1); void deleteProjectChild(Long id1);
void deleteProjectModule(Long id1); void deleteProjectModule(Long id1);
@Select("select * from organize_oa.oa_project where name like CONCAT('%',#{name},'%')")
List<ProjectDO> getByLikeName(String name);
} }

View File

@ -1,5 +1,6 @@
package com.jsl.oa.model.dodata; package com.jsl.oa.model.dodata;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@ -17,6 +18,7 @@ import java.sql.Timestamp;
*/ */
@Data @Data
@Accessors(chain = true) @Accessors(chain = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ProjectDO { public class ProjectDO {
/** /**
* 主键 * 主键

View File

@ -0,0 +1,23 @@
package com.jsl.oa.model.vodata;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
/**
* 模糊查询返回系统/项目/模块 名字和id
*/
public class ReturnGetVO {
private String name;
private Long id;
}

View File

@ -67,4 +67,6 @@ public interface ProjectService {
BaseResponse projectChildDelete(HttpServletRequest request, List<Long> id); BaseResponse projectChildDelete(HttpServletRequest request, List<Long> id);
BaseResponse projectModuleDelete(HttpServletRequest request, List<Long> id); BaseResponse projectModuleDelete(HttpServletRequest request, List<Long> id);
BaseResponse projectGetName(String name, HttpServletRequest request);
} }

View File

@ -157,6 +157,7 @@ public class MessageServiceImpl implements MessageService {
String systemName = projectMapper.getWorkById(systemId).getName(); String systemName = projectMapper.getWorkById(systemId).getName();
// 添加消息 // 添加消息
MessageAddVO messageAddVO = new MessageAddVO(); MessageAddVO messageAddVO = new MessageAddVO();
messageAddVO.setSid(Processing.getAuthHeaderToUserId(request));
messageAddVO.setUid(uid); messageAddVO.setUid(uid);
messageAddVO.setTitle("审批消息"); messageAddVO.setTitle("审批消息");
String moddleName = projectMapper.getModuleById(moddleId).getName(); String moddleName = projectMapper.getModuleById(moddleId).getName();
@ -193,16 +194,21 @@ public class MessageServiceImpl implements MessageService {
for (Long uid : uidList) { for (Long uid : uidList) {
MessageAddVO messageAddVO = new MessageAddVO(); MessageAddVO messageAddVO = new MessageAddVO();
messageAddVO.setUid(uid); messageAddVO.setUid(uid);
messageAddVO.setSid(Processing.getAuthHeaderToUserId(request));
messageAddVO.setTitle("项目变动消息"); messageAddVO.setTitle("项目变动消息");
if (type == 3) { if (type == 3) {
messageAddVO.setText("项目负责人" + senderName + "调整了" + systemName + "子系统的负责人"); messageAddVO.setText("项目负责人" + senderName + "调整了" + systemName + "子系统的负责人");
messageAddVO.setType("Project_child");
messageAddVO.setToId(systemId.longValue());
} else if (type == 2) { } else if (type == 2) {
messageAddVO.setText("项目负责人" + senderName + "修改了" + projectName + "项目的状态"); messageAddVO.setText("项目负责人" + senderName + "修改了" + projectName + "项目的状态");
messageAddVO.setType("Project");
messageAddVO.setToId(pId.longValue());
} else if (type == 1) { } else if (type == 1) {
messageAddVO.setText("项目负责人" + senderName + "上传了文档到" + projectName + "项目"); messageAddVO.setText("项目负责人" + senderName + "上传了文档到" + projectName + "项目");
messageAddVO.setType("Project");
messageAddVO.setToId(pId.longValue());
} }
messageAddVO.setType("Project");
messageAddVO.setToId(pId.longValue());
messageMapper.messageAdd(messageAddVO); messageMapper.messageAdd(messageAddVO);
} }
} }
@ -233,6 +239,7 @@ public class MessageServiceImpl implements MessageService {
if (type == 1) { if (type == 1) {
MessageAddVO messageAddVO = new MessageAddVO(); MessageAddVO messageAddVO = new MessageAddVO();
messageAddVO.setUid(projectMapper.getPid(moddleId)); messageAddVO.setUid(projectMapper.getPid(moddleId));
messageAddVO.setSid(Processing.getAuthHeaderToUserId(request));
messageAddVO.setTitle("子系统变动消息"); messageAddVO.setTitle("子系统变动消息");
messageAddVO.setText("项目经理" + senderName + "删除了" + projectName + "项目的" messageAddVO.setText("项目经理" + senderName + "删除了" + projectName + "项目的"
+ systemName + "系统的" + moddleName + "模块"); + systemName + "系统的" + moddleName + "模块");
@ -242,6 +249,7 @@ public class MessageServiceImpl implements MessageService {
for (Long uid : uidList) { for (Long uid : uidList) {
MessageAddVO messageAddVO = new MessageAddVO(); MessageAddVO messageAddVO = new MessageAddVO();
messageAddVO.setUid(uid); messageAddVO.setUid(uid);
messageAddVO.setSid(Processing.getAuthHeaderToUserId(request));
messageAddVO.setTitle("子系统变动消息"); messageAddVO.setTitle("子系统变动消息");
if (type == 2) { if (type == 2) {
messageAddVO.setText("项目经理" + senderName + "修改了" + projectName + "项目的" messageAddVO.setText("项目经理" + senderName + "修改了" + projectName + "项目的"
@ -280,7 +288,7 @@ public class MessageServiceImpl implements MessageService {
messageAddVO.setTitle("日报消息"); messageAddVO.setTitle("日报消息");
messageAddVO.setText(projectName + "项目的" + systemName + "系统的" + moddleName + "模块负责人" + principalName messageAddVO.setText(projectName + "项目的" + systemName + "系统的" + moddleName + "模块负责人" + principalName
+ "刚刚填写了日报"); + "刚刚填写了日报");
messageAddVO.setType("跳转日报页"); messageAddVO.setType("Project_daily");
messageMapper.messageAdd(messageAddVO); messageMapper.messageAdd(messageAddVO);
} }

View File

@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.google.gson.Gson;
import com.jsl.oa.annotations.NeedPermission; import com.jsl.oa.annotations.NeedPermission;
import com.jsl.oa.dao.ProjectDAO; import com.jsl.oa.dao.ProjectDAO;
import com.jsl.oa.dao.RoleDAO; import com.jsl.oa.dao.RoleDAO;
@ -31,10 +32,12 @@ import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import static java.lang.System.*; import static java.lang.System.currentTimeMillis;
import static java.lang.System.out;
/** /**
* <h1>项目服务层实现类</h1> * <h1>项目服务层实现类</h1>
@ -58,6 +61,7 @@ public class ProjectServiceImpl implements ProjectService {
private final ObjectMapper objectMapper; private final ObjectMapper objectMapper;
private final RoleDAO roleDAO; private final RoleDAO roleDAO;
private final MessageService messageService; private final MessageService messageService;
private final Gson gson;
@Override @Override
public BaseResponse projectAdd(HttpServletRequest request, ProjectInfoVO projectAdd) { public BaseResponse projectAdd(HttpServletRequest request, ProjectInfoVO projectAdd) {
@ -71,18 +75,11 @@ public class ProjectServiceImpl implements ProjectService {
} else { } else {
projectAdd.setDescription("{\"描述\":\" " + projectAdd.getDescription() + "\"}"); projectAdd.setDescription("{\"描述\":\" " + projectAdd.getDescription() + "\"}");
} }
String tags = projectAdd.getTags();
String[] split = tags.split(","); HashMap<String, Object> tagMap = new HashMap<>();
String open = "{\"tags\":[\""; tagMap.put("tags", projectAdd.getTags().split(","));
String close = "]}"; projectAdd.setTags(gson.toJson(tagMap));
StringBuilder tag = new StringBuilder();
for (String tag1 : split) {
tag.append(tag1).append("\",\"");
}
if (tag.length() > 0) {
tag = new StringBuilder(tag.substring(0, tag.length() - 2));
}
projectAdd.setTags(open + tag + close);
projectAdd.setFiles("{\"URI\":\"" + projectAdd.getFiles() + "\"}"); projectAdd.setFiles("{\"URI\":\"" + projectAdd.getFiles() + "\"}");
@ -241,6 +238,19 @@ public class ProjectServiceImpl implements ProjectService {
return ResultUtil.success(); return ResultUtil.success();
} }
@Override
public BaseResponse projectGetName(String name, HttpServletRequest request) {
List<ProjectDO> projectDOList = projectMapper.getByLikeName(name);
List<ReturnGetVO> returnGetVOList = new ArrayList<>();
for (ProjectDO projectDO : projectDOList) {
ReturnGetVO returnGetVO = new ReturnGetVO();
Processing.copyProperties(projectDO, returnGetVO);
returnGetVOList.add(returnGetVO);
}
return ResultUtil.success(returnGetVOList);
}
@Override @Override
public BaseResponse getModuleById(Integer id) { public BaseResponse getModuleById(Integer id) {
ProjectModuleDO projectWorkSimpleVO = projectMapper.getModuleById(id); ProjectModuleDO projectWorkSimpleVO = projectMapper.getModuleById(id);
@ -260,9 +270,9 @@ public class ProjectServiceImpl implements ProjectService {
} }
ProjectModuleSimpleVO projectModuleSimpleVO = new ProjectModuleSimpleVO(); ProjectModuleSimpleVO projectModuleSimpleVO = new ProjectModuleSimpleVO();
projectModuleSimpleVO.setPrincipalUser(userDAO.getUserById(projectMapper.getPid(id)).getUsername()); projectModuleSimpleVO.setPrincipalUser(userDAO.getUserById(projectMapper.getPid(id)).getUsername());
out.println("准备拷贝");
Processing.copyProperties(projectWorkSimpleVO, projectModuleSimpleVO); Processing.copyProperties(projectWorkSimpleVO, projectModuleSimpleVO);
out.println("拷贝wan");
return ResultUtil.success(projectModuleSimpleVO); return ResultUtil.success(projectModuleSimpleVO);
} }