1.部门条件查询+汇总
2.全所模块初步编写
This commit is contained in:
parent
8a0a67bd50
commit
cd15ef4374
@ -700,7 +700,9 @@ public class Api {
|
||||
public static final String PROJECT_DEPARTMENT = PROJECT_PREFIX + "/departmentWeekly";
|
||||
public static final String PROJECT_DEPARTMENT_EDIT= PROJECT_DEPARTMENT+"/update";
|
||||
public static final String PROJECT_DEPARTMENT_SHOW= PROJECT_DEPARTMENT+"/showById";
|
||||
public static final String PROJECT_DEPARTMENT_PERMISSION= PROJECT_DEPARTMENT+"/insertPermission";
|
||||
public static final String PROJECT_DEPARTMENT_UPDATE= PROJECT_DEPARTMENT_SHOW+"/{id}";
|
||||
public static final String PROJECT_DEPARTMENT_INSERTPERMISSION= PROJECT_DEPARTMENT_PERMISSION+"/{id}";
|
||||
|
||||
|
||||
|
||||
|
@ -39,4 +39,6 @@ public interface ProjectInfoDao extends BaseMapper<ProjectInfo> {
|
||||
List<ProjectInfoListItemResp> getListByIds(Page<ProjectInfo> page,@Param("list") List list);
|
||||
|
||||
ProjectInfo getInfoByProName(@Param("projectName") String projectName);
|
||||
|
||||
String getProId(@Param("projectName") String projectName);
|
||||
}
|
||||
|
@ -160,6 +160,11 @@
|
||||
from project_info
|
||||
where project_name = #{projectName}
|
||||
</select>
|
||||
<select id="getProId" resultType="java.lang.String" parameterType="java.lang.String">
|
||||
select id_
|
||||
from project_info
|
||||
where project_name = #{projectName}
|
||||
</select>
|
||||
|
||||
<sql id="com">
|
||||
AND (
|
||||
|
@ -61,6 +61,12 @@
|
||||
where pw.is_complete='0'
|
||||
<if test="projectWeekly.Id!=null">
|
||||
and pw.id_=#{projectWeekly.id}
|
||||
</if>
|
||||
<if test="projectWeekly.projectId!=null">
|
||||
and pw.project_id=#{projectWeekly.projectId}
|
||||
</if>
|
||||
<if test="projectWeekly.week!=null">
|
||||
and pw.week=#{projectWeekly.week}
|
||||
</if>
|
||||
and pw.dept_id=#{projectWeekly.deptId} and pw.weekly_type = '1'
|
||||
|
||||
|
@ -75,6 +75,11 @@ public class ProjectDepartmentController implements ProjectDepartmentApi {
|
||||
projectWeekly.setWeeklyType("0");
|
||||
if (!StringUtils.isEmpty(projectWeeklyFindReq.getId() != null))
|
||||
projectWeekly.setId(projectWeeklyFindReq.getId());
|
||||
// 判断周数和项目id是否存在 作条件查询
|
||||
if (!StringUtils.isEmpty(projectWeeklyFindReq.getProjectName() != null))
|
||||
projectWeekly.setProjectId(projectInfoService.getProId(projectWeeklyFindReq.getProjectName()));
|
||||
if (!StringUtils.isEmpty(projectWeeklyFindReq.getWeek() != null))
|
||||
projectWeekly.setWeek(projectWeeklyFindReq.getWeek());
|
||||
List<ProjectWeeklyDto> list = projectDepartmentService.getListByDeptId(page, projectWeekly);
|
||||
//判断当前账号是否是项目专员/负责人
|
||||
//因为json里面存的是人事id,通过账号找不到,先把账号id转为人事id
|
||||
@ -119,4 +124,19 @@ public class ProjectDepartmentController implements ProjectDepartmentApi {
|
||||
public String edit(@RequestHeader("userId") Long userId, @RequestBody ProjectWeeklyAddReq projectWeeklyAddReq) throws XQException {
|
||||
return null;
|
||||
}
|
||||
|
||||
// 汇总
|
||||
@Override
|
||||
@GetMapping(Api.PROJECT_DEPARTMENT_INSERTPERMISSION)
|
||||
public void insertPermission(@PathVariable Long id) throws XQException {
|
||||
//根据项目id获取proId和week
|
||||
EntityWrapper<ProjectWeekly> Wrapper = new EntityWrapper<>();
|
||||
Wrapper.eq("parent_id",id.toString());
|
||||
List<ProjectWeekly> list = projectWeeklyService.selectList(Wrapper);
|
||||
for (ProjectWeekly weekly : list) {
|
||||
JSONObject ext = weekly.getExt();
|
||||
ext.put("promission","1");
|
||||
projectWeeklyService.update(weekly,Wrapper);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,112 @@
|
||||
package com.xqopen.kehui.project.action;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
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.XQException;
|
||||
import com.xqopen.kehui.project.api.ProjectWholeFirmApi;
|
||||
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.ProjectWeeklyListResp;
|
||||
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.project.service.IProjectWholeFirmService;
|
||||
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.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping(produces = FastJsonJsonView.DEFAULT_CONTENT_TYPE)
|
||||
public class ProjectWholeFirmController implements ProjectWholeFirmApi {
|
||||
|
||||
@Autowired
|
||||
IProjectWholeFirmService projectWholeFirmService;
|
||||
@Autowired
|
||||
IProjectWeeklyService projectWeeklyService;
|
||||
@Autowired
|
||||
IProjectInfoService projectInfoService;
|
||||
@Autowired
|
||||
ISystemUserLoginService systemUserLoginService;
|
||||
|
||||
@Override
|
||||
public String list(Long userId, ProjectWeeklyFindReq projectWeeklyFindReq) throws XQException {
|
||||
if (!ObjectUtils.isEmpty(projectWeeklyFindReq)) {
|
||||
if (!ObjectUtils.isEmpty(userId)) projectWeeklyFindReq.setUserId(String.valueOf(userId));
|
||||
if (projectWeeklyFindReq.getPageNo() == null || projectWeeklyFindReq.getPageNo() == 0) {
|
||||
projectWeeklyFindReq.setPageNo(1);
|
||||
}
|
||||
if (projectWeeklyFindReq.getPageSize() == null || projectWeeklyFindReq.getPageSize() == 0) {
|
||||
projectWeeklyFindReq.setPageSize(10);
|
||||
}
|
||||
Page<ProjectWeekly> page = new Page<>(projectWeeklyFindReq.getPageNo(), projectWeeklyFindReq.getPageSize());
|
||||
ProjectWeekly projectWeekly = new ProjectWeekly();
|
||||
projectWeekly.setIsDeleted("0");
|
||||
projectWeekly.setUserId(String.valueOf(userId));
|
||||
projectWeekly.setWeeklyType("0");
|
||||
if (!StringUtils.isEmpty(projectWeeklyFindReq.getId() != null))
|
||||
projectWeekly.setId(projectWeeklyFindReq.getId());
|
||||
// 判断周数和项目id是否存在 作条件查询
|
||||
if (!StringUtils.isEmpty(projectWeeklyFindReq.getProjectName() != null))
|
||||
projectWeekly.setProjectId(projectInfoService.getProId(projectWeeklyFindReq.getProjectName()));
|
||||
if (!StringUtils.isEmpty(projectWeeklyFindReq.getWeek() != null))
|
||||
projectWeekly.setWeek(projectWeeklyFindReq.getWeek());
|
||||
List<ProjectWeeklyDto> list = projectWholeFirmService.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());
|
||||
JSONObject ext = projectWeekly1.getExt();
|
||||
projectWeekly1.setExt((JSONObject) ext.put("userId", String.valueOf(systemUserLogin.getUserinfoId())));
|
||||
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());
|
||||
listResp.setUserId(String.valueOf(systemUserLogin.getUserinfoId()));
|
||||
return ApiResponse.fillSuccess(listResp);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String edit(Long userId, ProjectWeeklyAddReq projectWeeklyAddReq) throws XQException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertPermission(Long id) throws XQException {
|
||||
|
||||
}
|
||||
}
|
@ -30,4 +30,11 @@ public interface ProjectDepartmentApi {
|
||||
@ApiImplicitParam(name = "userId", value = "用户id", required = true, paramType = "header", dataType = "Long"),
|
||||
})
|
||||
String edit(Long userId, ProjectWeeklyAddReq projectWeeklyAddReq) throws XQException;
|
||||
|
||||
@ApiOperation(value = "部门周报汇总", notes = "部门周报汇总", response = ApiResponse.class)
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "token", value = "登录标识符", required = true, paramType = "header", dataType = "String"),
|
||||
@ApiImplicitParam(name = "userId", value = "用户id", required = true, paramType = "header", dataType = "Long"),
|
||||
})
|
||||
void insertPermission(Long id) throws XQException;
|
||||
}
|
||||
|
@ -0,0 +1,36 @@
|
||||
package com.xqopen.kehui.project.api;
|
||||
|
||||
import com.xqopen.kehui.exception.XQException;
|
||||
import com.xqopen.kehui.project.dto.ProjectWeeklyAddReq;
|
||||
import com.xqopen.kehui.project.dto.ProjectWeeklyFindReq;
|
||||
import com.xqopen.kehui.util.ApiResponse;
|
||||
import com.xqopen.kehui.util.Constants;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
@Api(value = "全所周报填报管理", tags = Constants.MODULE_PROJECT, description = "项目模块")
|
||||
public interface ProjectWholeFirmApi {
|
||||
|
||||
@ApiOperation(value = "全所周报列表", notes = "全所周报列表", response = ApiResponse.class)
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "token", value = "登录标识符", required = true, paramType = "header", dataType = "String"),
|
||||
@ApiImplicitParam(name = "userId", value = "用户id", required = true, paramType = "header", dataType = "Long"),
|
||||
})
|
||||
String list(Long userId, ProjectWeeklyFindReq projectWeeklyFindReq) throws XQException;
|
||||
|
||||
@ApiOperation(value = "修改全所周报", notes = "修改全所周报", response = ApiResponse.class)
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "token", value = "登录标识符", required = true, paramType = "header", dataType = "String"),
|
||||
@ApiImplicitParam(name = "userId", value = "用户id", required = true, paramType = "header", dataType = "Long"),
|
||||
})
|
||||
String edit(Long userId, ProjectWeeklyAddReq projectWeeklyAddReq) throws XQException;
|
||||
|
||||
@ApiOperation(value = "全所周报汇总", notes = "全所周报汇总", response = ApiResponse.class)
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "token", value = "登录标识符", required = true, paramType = "header", dataType = "String"),
|
||||
@ApiImplicitParam(name = "userId", value = "用户id", required = true, paramType = "header", dataType = "Long"),
|
||||
})
|
||||
void insertPermission(Long id) throws XQException;
|
||||
}
|
@ -7,4 +7,5 @@ import lombok.Data;
|
||||
public class ProjectWeeklyFindReq extends ProjectWeekly {
|
||||
private Integer pageNo;
|
||||
private Integer pageSize;
|
||||
private String projectName;
|
||||
}
|
||||
|
@ -26,4 +26,6 @@ public interface IProjectInfoService extends IService<ProjectInfo> {
|
||||
List<ProjectInfoListItemResp> getListByIds(Page<ProjectInfo> page,List list);
|
||||
|
||||
ProjectInfo getInfoByProName(String projectName);
|
||||
|
||||
String getProId(String projectName);
|
||||
}
|
||||
|
@ -0,0 +1,13 @@
|
||||
package com.xqopen.kehui.project.service;
|
||||
|
||||
import com.baomidou.mybatisplus.plugins.Page;
|
||||
import com.baomidou.mybatisplus.service.IService;
|
||||
import com.xqopen.kehui.project.dto.ProjectWeeklyDto;
|
||||
import com.xqopen.kehui.project.entity.ProjectWeekly;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IProjectWholeFirmService extends IService<ProjectWeekly> {
|
||||
|
||||
List<ProjectWeeklyDto> getListByDeptId(Page<ProjectWeekly> page, ProjectWeekly projectWeekly);
|
||||
}
|
@ -48,4 +48,9 @@ public class ProjectInfoServiceImpl extends ServiceImpl<ProjectInfoDao, ProjectI
|
||||
public ProjectInfo getInfoByProName(String projectName) {
|
||||
return infoDao.getInfoByProName(projectName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProId(String projectName) {
|
||||
return infoDao.getProId(projectName);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user