1.部门条件查询+汇总

2.全所模块初步编写
This commit is contained in:
chen 2024-07-16 17:31:27 +08:00
parent 8a0a67bd50
commit cd15ef4374
12 changed files with 211 additions and 0 deletions

View File

@ -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}";

View File

@ -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);
}

View File

@ -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 (

View File

@ -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'

View File

@ -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);
}
}
}

View File

@ -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 {
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -7,4 +7,5 @@ import lombok.Data;
public class ProjectWeeklyFindReq extends ProjectWeekly {
private Integer pageNo;
private Integer pageSize;
private String projectName;
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}
}