Browse Source

调整跨租户审核流程功能(修改原表中的流程id)

user5 1 năm trước cách đây
mục cha
commit
cda2f1c598

+ 5 - 0
jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/factory/RoleApiFallbackFactory.java

@@ -25,6 +25,11 @@ public class RoleApiFallbackFactory implements FallbackFactory <IRoleApi> {
             public RoleDTO getRoleDTOByName(String name) {
                 return null;
             }
+
+            @Override
+            public RoleDTO getRoleDTOById(String id) {
+                return null;
+            }
         };
     }
 }

+ 7 - 0
jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/feign/IRoleApi.java

@@ -16,5 +16,12 @@ public interface IRoleApi {
      */
     @GetMapping(value = "/feign/sys/role/getRoleDTOByName")
     RoleDTO getRoleDTOByName(@RequestParam(value = "name") String name);
+    /**
+     * 获取角色
+     *
+     * @return
+     */
+    @GetMapping(value = "/feign/sys/role/getRoleDTOById")
+    RoleDTO getRoleDTOById(@RequestParam(value = "id") String id);
 
 }

+ 2 - 0
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/invoice/mapper/FinanceInvoiceMapper.java

@@ -1,5 +1,6 @@
 package com.jeeplus.assess.invoice.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
@@ -16,6 +17,7 @@ import org.apache.ibatis.annotations.Param;
  * @Entity com.jeeplus.test.finance.invoice.domain.FinanceInvoice
  */
 @Mapper
+@InterceptorIgnore(tenantLine = "true")
 public interface FinanceInvoiceMapper extends BaseMapper<FinanceInvoice> {
 
     IPage<FinanceInvoiceDTO> findList(Page<FinanceInvoiceDTO> page, @Param(Constants.WRAPPER) QueryWrapper<FinanceInvoice> queryWrapper);

+ 2 - 1
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/program/configuration/projectList/mapper/ProgramAuditMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.jeeplus.assess.program.configuration.projectList.domain.ProgramAudit;
 import com.jeeplus.assess.program.configuration.projectList.service.dto.ProgramAuditDto;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * @Entity com.jeeplus.test.program.configuration.projectList.domain.ProgramAudit
@@ -12,7 +13,7 @@ import org.apache.ibatis.annotations.Mapper;
 public interface ProgramAuditMapper extends BaseMapper<ProgramAudit> {
     ProgramAuditDto findByIdAudit(String id);
 
-    String findIdByProIdAndLevel(String programId, String auditLevel);
+    String findIdByProIdAndLevel(@Param("programId") String programId, @Param("auditLevel") String auditLevel);
 }
 
 

+ 2 - 0
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/program/serviceType/mapper/ProgramServiceTypeMapper.java

@@ -1,5 +1,6 @@
 package com.jeeplus.assess.program.serviceType.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
@@ -13,6 +14,7 @@ import org.apache.ibatis.annotations.Param;
 import java.util.List;
 
 @Mapper
+@InterceptorIgnore(tenantLine = "true")
 public interface ProgramServiceTypeMapper extends BaseMapper<ProgramServiceType> {
 
     IPage<ProgramServiceTypeDTO> findList(Page<ProgramServiceTypeDTO> page, @Param(Constants.WRAPPER) QueryWrapper<ProgramServiceType> queryWrapper);

+ 31 - 14
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/service/ReimbursementInfoService.java

@@ -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 -> {
             // 报销申请

+ 5 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/feign/RoleApiImpl.java

@@ -19,4 +19,9 @@ public class RoleApiImpl implements IRoleApi {
     public RoleDTO getRoleDTOByName(String name) {
         return RoleWrapper.INSTANCE.toDTO ( roleService.lambdaQuery ( ).eq ( Role::getTenantId, TenantUtils.getTenantId ( ) ).eq ( Role::getName, name ).one ( ) );
     }
+
+    @Override
+    public RoleDTO getRoleDTOById(String id) {
+        return RoleWrapper.INSTANCE.toDTO ( roleService.lambdaQuery ( ).eq ( Role::getTenantId, TenantUtils.getTenantId ( ) ).eq ( Role::getId, id ).one ( ) );
+    }
 }

+ 2 - 1
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/mapper/OfficeMapper.java

@@ -20,7 +20,6 @@ import java.util.List;
  * @author jeeplus
  * @version 2021-05-16
  */
-@InterceptorIgnore(tenantLine = "true")
 public interface OfficeMapper extends TreeMapper <Office> {
 
     /**
@@ -28,8 +27,10 @@ public interface OfficeMapper extends TreeMapper <Office> {
      * @param id
      * @return
      */
+    @InterceptorIgnore(tenantLine = "true")
     OfficeDTO getOfficeById(String id);
 
+    @InterceptorIgnore(tenantLine = "true")
     List<String> getOfficeNameByIds(@Param("idList")List<String> idList);
 
     /**