部门周报填报三层结构代码完善
This commit is contained in:
parent
993736bb64
commit
a0e27bb63a
@ -11,4 +11,10 @@ public interface ProjectWeeklyDao extends BaseMapper<ProjectWeekly> {
|
||||
List<ProjectWeeklyDto> getList(Page<ProjectWeekly> page, @Param("projectWeekly") ProjectWeekly projectWeekly);
|
||||
|
||||
List<ProjectWeeklyDto> getListByProId(@Param("page") Page<ProjectWeekly> page, @Param("projectWeekly") ProjectWeekly projectWeekly);
|
||||
|
||||
String getDeptId(@Param("userId") String userId);
|
||||
|
||||
List<ProjectWeeklyDto> getListByDeptId(@Param("page") Page<ProjectWeekly> page, @Param("projectWeekly") ProjectWeekly projectWeekly);
|
||||
|
||||
List<Object> showById(@Param("id") String id);
|
||||
}
|
||||
|
@ -51,4 +51,27 @@
|
||||
<select id="getListByProId" resultType="com.xqopen.kehui.project.dto.ProjectWeeklyDto">
|
||||
|
||||
</select>
|
||||
|
||||
<select id="getListByDeptId" resultType="com.xqopen.kehui.project.dto.ProjectWeeklyDto">
|
||||
select pw.*,pm.person_name as userName ,pi.project_name as projectName,pi.project_no as projectNo
|
||||
from project_weekly pw
|
||||
left join system_user_login sl on cast(pw.user_id as BIGINT)=sl.id_
|
||||
left join personal_member pm on pm.id_ =sl.userinfo_id
|
||||
left join project_info pi on pi.id_=cast(pw.project_id as BIGINT)
|
||||
where
|
||||
pw.is_complete='0' and pw.dept_id=#{projectWeekly.deptId}
|
||||
|
||||
</select>
|
||||
<select id="getDeptId" resultType="java.lang.String" parameterType="java.lang.String">
|
||||
select dept_id
|
||||
from project_weekly
|
||||
where user_id = #{userId}
|
||||
</select>
|
||||
<select id="showById" resultType="java.lang.Object" parameterType="java.lang.String">
|
||||
select pm.person_name , pw.workload
|
||||
from project_weekly pw
|
||||
left join system_user_login sl on cast(pw.user_id as BIGINT)=sl.id_
|
||||
left join personal_member pm on pm.id_ =sl.userinfo_id
|
||||
where pw.id_=#{id}
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -1,20 +1,25 @@
|
||||
package com.xqopen.kehui.project.action;
|
||||
|
||||
import com.alibaba.fastjson.support.spring.FastJsonJsonView;
|
||||
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
||||
import com.baomidou.mybatisplus.plugins.Page;
|
||||
import com.xqopen.kehui.Api;
|
||||
import com.xqopen.kehui.common.entity.SystemUserLogin;
|
||||
import com.xqopen.kehui.common.service.ISystemUserLoginService;
|
||||
import com.xqopen.kehui.exception.ErrorCode;
|
||||
import com.xqopen.kehui.exception.XQException;
|
||||
import com.xqopen.kehui.project.api.ProjectDepartmentApi;
|
||||
import com.xqopen.kehui.project.api.ProjectWeeklyApi;
|
||||
import com.xqopen.kehui.project.dto.ProjectInfoInitDto;
|
||||
import com.xqopen.kehui.project.dto.ProjectWeeklyAddReq;
|
||||
import com.xqopen.kehui.project.dto.ProjectWeeklyDto;
|
||||
import com.xqopen.kehui.project.dto.ProjectWeeklyFindReq;
|
||||
import com.xqopen.kehui.project.dto.*;
|
||||
import com.xqopen.kehui.project.entity.ProjectWeekly;
|
||||
import com.xqopen.kehui.project.service.IProjectDepartmentService;
|
||||
import com.xqopen.kehui.project.service.IProjectInfoService;
|
||||
import com.xqopen.kehui.project.service.IProjectWeeklyService;
|
||||
import com.xqopen.kehui.util.ApiResponse;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
@ -26,19 +31,26 @@ public class ProjectDepartmentController implements ProjectDepartmentApi {
|
||||
|
||||
@Autowired
|
||||
private IProjectDepartmentService projectDepartmentService;
|
||||
@Autowired
|
||||
IProjectWeeklyService projectWeeklyService;
|
||||
@Autowired
|
||||
IProjectInfoService projectInfoService;
|
||||
@Autowired
|
||||
ISystemUserLoginService systemUserLoginService;
|
||||
|
||||
|
||||
@Override
|
||||
@GetMapping(Api.PROJECT_DEPARTMENT_SHOW)
|
||||
public String showById(Long userId, Long id) throws XQException {
|
||||
//1.根据userid获取部门id
|
||||
//2.根据部门id获取用户名和工作量
|
||||
return null;
|
||||
public String showById(@PathVariable("id") Long id) throws XQException {
|
||||
//根据项目id获取员工信息
|
||||
List<Object> list = projectDepartmentService.showById(id.toString());
|
||||
return ApiResponse.fillSuccess(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
@PostMapping(Api.PROJECT_DEPARTMENT)
|
||||
public String list(@RequestHeader("userId") Long userId,@RequestBody ProjectWeeklyFindReq projectWeeklyFindReq) throws XQException {
|
||||
try {
|
||||
if (!ObjectUtils.isEmpty(projectWeeklyFindReq)) {
|
||||
if (!ObjectUtils.isEmpty(userId)) projectWeeklyFindReq.setUserId(String.valueOf(userId));
|
||||
if (projectWeeklyFindReq.getPageNo() == null || projectWeeklyFindReq.getPageNo() == 0) {
|
||||
@ -48,13 +60,45 @@ public class ProjectDepartmentController implements ProjectDepartmentApi {
|
||||
projectWeeklyFindReq.setPageSize(10);
|
||||
}
|
||||
//根据用户id拿到部门信息
|
||||
|
||||
String deptId = projectDepartmentService.getDeptId(userId.toString());
|
||||
Page<ProjectWeekly> page = new Page<>(projectWeeklyFindReq.getPageNo(), projectWeeklyFindReq.getPageSize());
|
||||
ProjectWeekly projectWeekly = new ProjectWeekly();
|
||||
projectWeekly.setDeptId(deptId);
|
||||
projectWeekly.setIsDeleted("0");
|
||||
projectWeekly.setUserId(String.valueOf(userId));
|
||||
projectWeekly.setWeeklyType("0");
|
||||
List<ProjectWeeklyDto> list = projectDepartmentService.getListByProId(page, projectWeekly);
|
||||
List<ProjectWeeklyDto> list = projectDepartmentService.getListByDeptId(page, projectWeekly);
|
||||
//判断当前账号是否是项目专员/负责人
|
||||
//因为json里面存的是人事id,通过账号找不到,先把账号id转为人事id
|
||||
EntityWrapper<SystemUserLogin> userLoginEntityWrapper = new EntityWrapper<>();
|
||||
userLoginEntityWrapper.eq("id_",userId);
|
||||
SystemUserLogin systemUserLogin = systemUserLoginService.selectOne(userLoginEntityWrapper);
|
||||
EntityWrapper<ProjectWeekly> weeklyEntityWrapper = new EntityWrapper<>();
|
||||
weeklyEntityWrapper.eq("user_id",String.valueOf(systemUserLogin.getUserinfoId()));
|
||||
weeklyEntityWrapper.eq("weekly_type","1");
|
||||
weeklyEntityWrapper.eq("dept_id","");
|
||||
weeklyEntityWrapper.eq("is_deleted","1");
|
||||
ProjectWeekly weekly = projectWeeklyService.selectOne(weeklyEntityWrapper);
|
||||
if (!ObjectUtils.isEmpty(weekly)) {//如果查到确实是项目专员/负责人,通过项目ID拿到所有人的专项填报
|
||||
ProjectWeekly projectWeekly1 = new ProjectWeekly();
|
||||
projectWeekly1.setIsDeleted("0");
|
||||
projectWeekly1.setWeeklyType("0");
|
||||
projectWeekly1.setProjectId(weekly.getProjectId());
|
||||
if(!StringUtils.isEmpty(projectWeeklyFindReq.getId()!=null))projectWeekly1.setId(projectWeeklyFindReq.getId());
|
||||
if(!StringUtils.isEmpty(projectWeeklyFindReq.getDeptId()!=null))projectWeekly.setDeptId(projectWeeklyFindReq.getDeptId());
|
||||
list.addAll(projectWeeklyService.getList(page, projectWeekly1));
|
||||
}
|
||||
|
||||
//组装结果集
|
||||
ProjectWeeklyListResp listResp = new ProjectWeeklyListResp();
|
||||
listResp.setLs(list);
|
||||
listResp.setPages(page.getPages());
|
||||
listResp.setTotal(page.getTotal());
|
||||
return ApiResponse.fillSuccess(listResp);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("ProjectWeeklyController.list", e);
|
||||
throw new XQException(ErrorCode.PROJECTINFO_EXCEPTION_ERROR, null);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ public interface ProjectDepartmentApi {
|
||||
@ApiImplicitParam(name = "token", value = "登录标识符", required = true, paramType = "header", dataType = "String"),
|
||||
@ApiImplicitParam(name = "userId", value = "用户id", required = true, paramType = "header", dataType = "Long"),
|
||||
})
|
||||
String showById(Long userId, Long id) throws XQException;
|
||||
String showById(Long id) throws XQException;
|
||||
|
||||
@ApiOperation(value = "部门周报列表", notes = "部门周报列表", response = ApiResponse.class)
|
||||
@ApiImplicitParams({
|
||||
|
@ -9,4 +9,10 @@ import java.util.List;
|
||||
|
||||
public interface IProjectDepartmentService extends IService<ProjectWeekly> {
|
||||
List<ProjectWeeklyDto> getListByProId(Page<ProjectWeekly> page, ProjectWeekly projectWeekly);
|
||||
|
||||
String getDeptId(String userId);
|
||||
|
||||
List<ProjectWeeklyDto> getListByDeptId(Page<ProjectWeekly> page, ProjectWeekly projectWeekly);
|
||||
|
||||
List<Object> showById(String id);
|
||||
}
|
||||
|
@ -22,4 +22,19 @@ public class IProjectDepartmentServiceImpl extends ServiceImpl<ProjectWeeklyDao,
|
||||
public List<ProjectWeeklyDto> getListByProId(Page<ProjectWeekly> page, ProjectWeekly projectWeekly) {
|
||||
return projectWeeklyDao.getListByProId(page,projectWeekly);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDeptId(String userId) {
|
||||
return projectWeeklyDao.getDeptId(userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProjectWeeklyDto> getListByDeptId(Page<ProjectWeekly> page, ProjectWeekly projectWeekly) {
|
||||
return projectWeeklyDao.getListByDeptId(page,projectWeekly);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Object> showById(String id) {
|
||||
return projectWeeklyDao.showById(id);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user