diff --git a/src/main/java/com/jsl/oa/dao/ProjectDAO.java b/src/main/java/com/jsl/oa/dao/ProjectDAO.java index 1636c63..2698af6 100644 --- a/src/main/java/com/jsl/oa/dao/ProjectDAO.java +++ b/src/main/java/com/jsl/oa/dao/ProjectDAO.java @@ -5,6 +5,7 @@ import com.jsl.oa.mapper.ProjectMapper; import com.jsl.oa.model.doData.ProjectCuttingDO; import com.jsl.oa.model.doData.ProjectDO; import com.jsl.oa.model.doData.ProjectUserDO; +import com.jsl.oa.model.doData.ProjectWorkDO; import com.jsl.oa.model.doData.info.ProjectShowDO; import com.jsl.oa.model.voData.ProjectEditVO; import com.jsl.oa.model.voData.ProjectInfoVO; @@ -239,5 +240,9 @@ public class ProjectDAO { return projectMapper.tget(id); } + public ProjectWorkDO getProjectWorkerById(Long id){ + return projectMapper.getProjectWorkById(id); + } + } diff --git a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java index 6dc034a..bd0d96b 100644 --- a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java @@ -111,9 +111,13 @@ public interface ProjectMapper { @Select("select * from organize_oa.oa_project_work where id=#{id}") ProjectWorkSimpleVO getWorkById(Integer id); + @Select("select principal_id from organize_oa.oa_project_work where id=#{pid}") Long getPirIdbyWorkid(Long pid); @Select("select principal_id from organize_oa.oa_project_work where id=#{id}") Long getPid(Integer id); + + @Select("select * from organize_oa.oa_project_work where id=#{id}") + ProjectWorkDO getProjectWorkById(Long id); } diff --git a/src/main/java/com/jsl/oa/model/voData/ProjectWorkAndNameVO.java b/src/main/java/com/jsl/oa/model/voData/ProjectWorkAndNameVO.java new file mode 100644 index 0000000..4bee946 --- /dev/null +++ b/src/main/java/com/jsl/oa/model/voData/ProjectWorkAndNameVO.java @@ -0,0 +1,35 @@ +package com.jsl.oa.model.voData; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.sql.Timestamp; + +/** + * 总体描述 + * + * 在projectWorkDO上新增了负责人:principalUser,子系统名称:childSystemName + */ +@Data +@Accessors(chain = true) +public class ProjectWorkAndNameVO { + + private Long id; + private Long pid; + private String childSystemName; + private Long projectId; + private Long principalId; + private String principalUser; + private Integer cycle; + private Integer workLoad; + private Integer type; + private String name; + private String description; + private Integer isDelete; + private Integer isFinish; + private boolean status; + private Timestamp beginTime; + private Timestamp completeTime; +} + + diff --git a/src/main/java/com/jsl/oa/model/voData/ProjectWorkSimpleVO.java b/src/main/java/com/jsl/oa/model/voData/ProjectWorkSimpleVO.java index af8a118..5f2df5d 100644 --- a/src/main/java/com/jsl/oa/model/voData/ProjectWorkSimpleVO.java +++ b/src/main/java/com/jsl/oa/model/voData/ProjectWorkSimpleVO.java @@ -11,6 +11,7 @@ import java.sql.Timestamp; @JsonInclude(JsonInclude.Include.NON_NULL) public class ProjectWorkSimpleVO { private String name; + private Long principalId; private String principalUser; private Integer isFinish; private String description; diff --git a/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java index f8138e3..a2dcb25 100644 --- a/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java @@ -1,10 +1,16 @@ package com.jsl.oa.services.impl; +import ch.qos.logback.core.joran.util.beans.BeanUtil; import com.jsl.oa.dao.ModuleDAO; +import com.jsl.oa.dao.ProjectDAO; import com.jsl.oa.dao.UserDAO; import com.jsl.oa.mapper.ModuleMapper; import com.jsl.oa.mapper.RoleMapper; +import com.jsl.oa.model.doData.ProjectDO; import com.jsl.oa.model.doData.ProjectWorkDO; +import com.jsl.oa.model.doData.UserDO; +import com.jsl.oa.model.voData.ProjectWorkAndNameVO; +import com.jsl.oa.model.voData.ProjectWorkVO; import com.jsl.oa.services.ModuleService; import com.jsl.oa.utils.BaseResponse; import com.jsl.oa.utils.ErrorCode; @@ -16,6 +22,7 @@ import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import javax.xml.transform.Result; +import java.util.ArrayList; import java.util.List; @Slf4j @@ -24,6 +31,7 @@ import java.util.List; public class ModuleServiceImpl implements ModuleService { private final RoleMapper roleMapper; private final ModuleDAO moduleDAO; + private final ProjectDAO projectDAO; private final ModuleMapper moduleMapper; private final UserDAO userDAO; @@ -36,12 +44,12 @@ public class ModuleServiceImpl implements ModuleService { Long pid = moduleMapper.getPidByProjectid(projectId); //判断是否是项目负责人 int is = 1; - if(!pid.equals(userId)){ + if (!pid.equals(userId)) { log.info("不是负责人"); is = 0; } - List projectWorkDOList= moduleMapper.getByProjectId(projectId,userId,is); + List projectWorkDOList = moduleMapper.getByProjectId(projectId, userId, is); return ResultUtil.success(projectWorkDOList); } @@ -56,12 +64,25 @@ public class ModuleServiceImpl implements ModuleService { Long prid = moduleMapper.getPridBySysyid(sysId); //判断是否是子系统/项目负责人 int is = 1; - if(!pid.equals(userId) && !prid.equals(userId)){ + if (!pid.equals(userId) && !prid.equals(userId)) { is = 0; } - List projectWorkDOList = moduleMapper.getBySysId(sysId,userId,is); - return ResultUtil.success(projectWorkDOList); + List projectWorkDOList = moduleMapper.getBySysId(sysId, userId, is); +// 封装VO类 + List projectWorkAndNameVOS = new ArrayList<>(); + for (ProjectWorkDO projectWorkDO : projectWorkDOList) { + ProjectWorkAndNameVO projectWorkAndNameVO = new ProjectWorkAndNameVO(); + Processing.copyProperties(projectWorkDO,projectWorkAndNameVO); +// 添加负责人和子系统名称 + projectWorkAndNameVO. + setChildSystemName(projectDAO.getProjectWorkerById(projectWorkDO.getPid()).getName()) + .setPrincipalUser(userDAO.getUserById(projectWorkDO.getPrincipalId()).getUsername()); + + projectWorkAndNameVOS.add(projectWorkAndNameVO); + + } + return ResultUtil.success(projectWorkAndNameVOS); } @@ -69,7 +90,7 @@ public class ModuleServiceImpl implements ModuleService { public BaseResponse deleteById(HttpServletRequest request, Long id) { // 检测是否为管理员 - if(!Processing.checkUserIsAdmin(request,roleMapper)){ + if (!Processing.checkUserIsAdmin(request, roleMapper)) { return ResultUtil.error(ErrorCode.NOT_PERMISSION); } @@ -78,12 +99,12 @@ public class ModuleServiceImpl implements ModuleService { return ResultUtil.success("删除成功"); } -// 删除子模块方法 - public void deleteMoudule(Long id){ + // 删除子模块方法 + public void deleteMoudule(Long id) { //获取所有父Id=id的子模块 List projectWorkDOS = moduleMapper.getAllMoudleByPid(id); - for(ProjectWorkDO workDO: projectWorkDOS){ + for (ProjectWorkDO workDO : projectWorkDOS) { deleteMoudule(workDO.getId()); }