|
@@ -17,11 +17,9 @@ import com.jeeplus.core.query.QueryWrapperGenerator;
|
|
|
import com.jeeplus.flowable.feign.IFlowableApi;
|
|
|
import com.jeeplus.sys.domain.Office;
|
|
|
import com.jeeplus.sys.domain.WorkAttachmentInfo;
|
|
|
-import com.jeeplus.sys.feign.IDictApi;
|
|
|
-import com.jeeplus.sys.feign.IOfficeApi;
|
|
|
-import com.jeeplus.sys.feign.IUserApi;
|
|
|
-import com.jeeplus.sys.feign.IWorkAttachmentApi;
|
|
|
+import com.jeeplus.sys.feign.*;
|
|
|
//import com.jeeplus.sys.mapper.OfficeMapper;
|
|
|
+import com.jeeplus.sys.service.dto.RoleDTO;
|
|
|
import com.jeeplus.sys.service.dto.UserDTO;
|
|
|
//import com.jeeplus.sys.utils.DictUtils;
|
|
|
//import com.jeeplus.sys.utils.UserUtils;
|
|
@@ -106,9 +104,9 @@ public class ReimbursementInfoService {
|
|
|
queryWrapper.eq("a.del_flag", 0);
|
|
|
// 报销项目
|
|
|
if (StringUtils.isNotEmpty(dto.getProject())) {
|
|
|
- queryWrapper.apply("(b.project_id LIKE {0} OR b.project_name LIKE {1})", "%" + dto.getProject() + "%", "%" + dto.getProject() + "%");
|
|
|
+ queryWrapper.apply("((b.project_id LIKE {0} OR b.project_name LIKE {1})", "%" + dto.getProject() + "%", "%" + dto.getProject() + "%");
|
|
|
queryWrapper.or().apply("(b4.project_id = {0} OR b4.project_name LIKE {1})", dto.getProject(), "%" + dto.getProject() + "%");
|
|
|
- queryWrapper.or().apply("(b5.project_id = {0} OR b5.project_name LIKE {1})", dto.getProject(), "%" + dto.getProject() + "%");
|
|
|
+ queryWrapper.or().apply("(b5.project_id = {0} OR b5.project_name LIKE {1}))", dto.getProject(), "%" + dto.getProject() + "%");
|
|
|
|
|
|
}
|
|
|
// 报销时间
|
|
@@ -121,10 +119,10 @@ public class ReimbursementInfoService {
|
|
|
}
|
|
|
// 报销人
|
|
|
if (StringUtils.isNotEmpty(dto.getReimBy())) {
|
|
|
- queryWrapper.apply("( b.user_id = {0} OR us.name LIKE {1} )", dto.getReimBy(), "%" + dto.getReimBy() + "%");
|
|
|
+ queryWrapper.apply("(( b.user_id = {0} OR us.name LIKE {1} )", dto.getReimBy(), "%" + dto.getReimBy() + "%");
|
|
|
queryWrapper.or().apply("( b2.user_id = {0} OR us2.name LIKE {1} )", dto.getReimBy(), "%" + dto.getReimBy() + "%");
|
|
|
queryWrapper.or().apply("( b4.user_id = {0} OR us4.name LIKE {1} )", dto.getReimBy(), "%" + dto.getReimBy() + "%");
|
|
|
- queryWrapper.or().apply("( b5.user_id = {0} OR us5.name LIKE {1} )", dto.getReimBy(), "%" + dto.getReimBy() + "%");
|
|
|
+ queryWrapper.or().apply("( b5.user_id = {0} OR us5.name LIKE {1} ))", dto.getReimBy(), "%" + dto.getReimBy() + "%");
|
|
|
|
|
|
}
|
|
|
// 报销状态
|
|
@@ -133,18 +131,18 @@ public class ReimbursementInfoService {
|
|
|
}
|
|
|
// 报销部门
|
|
|
if (StringUtils.isNotEmpty(dto.getDepartment())) {
|
|
|
- queryWrapper.apply("( b.dept_id = {0} OR so.name LIKE {1} )", dto.getDepartment(), "%" + dto.getDepartment() + "%");
|
|
|
+ queryWrapper.apply("(( b.dept_id = {0} OR so.name LIKE {1} )", dto.getDepartment(), "%" + dto.getDepartment() + "%");
|
|
|
queryWrapper.or().apply("( b2.dept_id = {0} OR so2.name LIKE {1} )", dto.getDepartment(), "%" + dto.getDepartment() + "%");
|
|
|
queryWrapper.or().apply("( b4.dept_id = {0} OR so4.name LIKE {1} )", dto.getDepartment(), "%" + dto.getDepartment() + "%");
|
|
|
- queryWrapper.or().apply("( b5.dept_id = {0} OR so5.name LIKE {1} )", dto.getDepartment(), "%" + dto.getDepartment() + "%");
|
|
|
+ queryWrapper.or().apply("( b5.dept_id = {0} OR so5.name LIKE {1} ))", dto.getDepartment(), "%" + dto.getDepartment() + "%");
|
|
|
|
|
|
}
|
|
|
// 报销类别
|
|
|
if (StringUtils.isNotEmpty(dto.getRemiType())) {
|
|
|
- queryWrapper.apply(" (b.type_id = {0} OR t.name LIKE {1}) ", dto.getRemiType(), "%" + dto.getRemiType() + "%");
|
|
|
+ queryWrapper.apply(" ((b.type_id = {0} OR t.name LIKE {1}) ", dto.getRemiType(), "%" + dto.getRemiType() + "%");
|
|
|
queryWrapper.or().apply(" (b2.type_id = {0} OR t2.name LIKE {1}) ", dto.getRemiType(), "%" + dto.getRemiType() + "%");
|
|
|
queryWrapper.or().apply(" (b4.type_id = {0} OR t4.name LIKE {1}) ", dto.getRemiType(), "%" + dto.getRemiType() + "%");
|
|
|
- queryWrapper.or().apply(" (b5.type_id = {0} OR t5.name LIKE {1}) ", dto.getRemiType(), "%" + dto.getRemiType() + "%");
|
|
|
+ queryWrapper.or().apply(" (b5.type_id = {0} OR t5.name LIKE {1})) ", dto.getRemiType(), "%" + dto.getRemiType() + "%");
|
|
|
|
|
|
}
|
|
|
// 报销金额
|
|
@@ -168,15 +166,34 @@ public class ReimbursementInfoService {
|
|
|
}
|
|
|
// 报告号
|
|
|
if (StringUtils.isNotEmpty(dto.getReportNumber())) {
|
|
|
- queryWrapper.like("b.report_number", dto.getReportNumber());
|
|
|
+ queryWrapper.like("(b.report_number", dto.getReportNumber());
|
|
|
queryWrapper.or().like("b2.report_number", dto.getReportNumber());
|
|
|
queryWrapper.or().like("b4.report_number", dto.getReportNumber());
|
|
|
- queryWrapper.or().like("b5.report_number", dto.getReportNumber());
|
|
|
+ queryWrapper.or().like("b5.report_number)", dto.getReportNumber());
|
|
|
}
|
|
|
// 报销类型
|
|
|
if (StringUtils.isNotBlank(dto.getSourceType())) {
|
|
|
queryWrapper.eq("a.source_type", dto.getSourceType());
|
|
|
}
|
|
|
+ //获取当前登录人信息
|
|
|
+ UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken ( ));
|
|
|
+ //获取当前登录人所属角色
|
|
|
+ //若是评估部门主任,则仅展示部门主任信息
|
|
|
+ //若是评估员工,则仅展示自己的数据信息
|
|
|
+ List<RoleDTO> roleDTOList = userDTO.getRoleDTOList();
|
|
|
+ for (RoleDTO roleDTO : roleDTOList) {
|
|
|
+ //根据角色id查询角色信息
|
|
|
+ RoleDTO roleDTOById = SpringUtil.getBean(IRoleApi.class).getRoleDTOById(roleDTO.getId());
|
|
|
+ if("yg".equals(roleDTOById.getEnName()) && "评估员工".equals(roleDTOById.getName())){
|
|
|
+ queryWrapper.eq("a.create_by_id", userDTO.getId());
|
|
|
+ break;
|
|
|
+ }else if("bmzr".equals(roleDTOById.getEnName()) && "评估部门主任".equals(roleDTOById.getName())){
|
|
|
+ queryWrapper.eq("c.office_id", userDTO.getOfficeDTO().getId());
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
IPage<RetureListDto> pageList = infoMapper.findList(page, queryWrapper);
|
|
|
pageList.getRecords().stream().forEach(item -> {
|
|
|
// 报销申请
|