瀏覽代碼

数据权限过滤

caozj 1 年之前
父節點
當前提交
a8ccb3e0c2

+ 33 - 13
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -83,6 +83,7 @@ import com.fjhx.tenant.service.dict.DictTenantDataService;
 import com.ruoyi.common.core.domain.BaseIdPo;
 import com.ruoyi.common.core.domain.BasePo;
 import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.SecurityUtils;
@@ -90,6 +91,7 @@ import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.common.utils.wrapper.SqlField;
 import com.ruoyi.framework.config.ThreadPoolConfig;
+import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.system.utils.UserUtil;
 import org.apache.commons.collections4.MapUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -130,6 +132,9 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
     private CustomerService customerService;
 
     @Autowired
+    private ISysUserService iSysUserService;
+
+    @Autowired
     private CorporationService corporationService;
 
     @Autowired
@@ -231,17 +236,21 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
      */
     @Override
     public Page<ContractVo> getPage(ContractSelectDto dto) {
-
-        List<Long> authIdList = customerService.getAuthIdList();
-
-        if (authIdList.size() == 0) {
-            return new Page<>();
-        }
-
         IWrapper<Contract> wrapper = getWrapper();
-        wrapper.in("t1", Contract::getBuyCorporationId, authIdList);
-        wrapper.ne("t1", Contract::getIsShow, 1);
-        return pageCommon(dto, wrapper);
+        SysUser sysUser = iSysUserService.getById(SecurityUtils.getUserId());
+        if(ObjectUtil.isEmpty(sysUser)){
+            throw new ServiceException("用户异常");
+        }
+        if(StringUtils.isEmpty(sysUser.getUserCode())){//不是业务员看所有
+            return pageCommon(dto, wrapper);
+        }else{//是业务员
+            List<Long> authIdList = customerService.getAuthIdList();
+            if (authIdList.size() == 0) {
+                return new Page<>();
+            }
+            wrapper.in("t1", Contract::getBuyCorporationId, authIdList);
+            return pageCommon(dto, wrapper);
+        }
     }
 
     /**
@@ -1262,9 +1271,20 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
         ContractDocumentaryBo bo = selectData.toJavaObject(ContractDocumentaryBo.class);
 
         IWrapper<Contract> wrapper = IWrapper.getWrapper();
-        //销售跟单权限过滤
-        List<Long> authUserIdList = UserUtil.getAuthUserIdList();
-        wrapper.in(Contract::getCreateUser, authUserIdList);
+        SysUser sysUser = iSysUserService.getById(SecurityUtils.getUserId());
+        if(ObjectUtil.isEmpty(sysUser)){
+            throw new ServiceException("用户异常");
+        }
+        if(StringUtils.isNotEmpty(sysUser.getUserCode())){//是业务员
+            List<Long> authIdList = customerService.getAuthIdList();
+            if (authIdList.size() == 0) {
+                return new Page<>();
+            }
+            wrapper.in( Contract::getBuyCorporationId, authIdList);
+        }
+//        //销售跟单权限过滤
+//        List<Long> authUserIdList = UserUtil.getAuthUserIdList();
+//        wrapper.in(Contract::getCreateUser, authUserIdList);
 
         wrapper.like(Contract::getCode, bo.getCode());
         wrapper.eq(Contract::getCreateUser, bo.getUserId());

+ 25 - 0
hx-sale/src/main/java/com/fjhx/sale/service/documents/impl/DocumentsServiceImpl.java

@@ -41,10 +41,13 @@ import com.fjhx.sale.service.documents.DocumentsTransportService;
 import com.fjhx.sale.service.pack.PackDetailGoodsService;
 import com.fjhx.sale.service.pack.PackDetailService;
 import com.fjhx.sale.service.pack.PackShipmentService;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.common.utils.wrapper.SqlField;
+import com.ruoyi.system.service.ISysUserService;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -101,14 +104,36 @@ public class DocumentsServiceImpl extends ServiceImpl<DocumentsMapper, Documents
     @Autowired
     private FlowExampleService flowExampleService;
 
+    @Autowired
+    private ISysUserService iSysUserService;
+
     private static final SimpleDateFormat sdf = new SimpleDateFormat("dd/MMM/yyyy", Locale.ENGLISH);
 
+
     /**
      * 单证表分页
      */
     @Override
     public Page<DocumentsVo> getPage(DocumentsSelectDto dto) {
         IWrapper<Documents> wrapper = getWrapper();
+        SysUser sysUser = iSysUserService.getById(SecurityUtils.getUserId());
+        if(ObjectUtil.isEmpty(sysUser)){
+            throw new ServiceException("用户异常");
+        }
+        if(StringUtils.isEmpty(sysUser.getUserCode())){//不是业务员看所有
+            return pageCommon(dto, wrapper);
+        }else{//是业务员
+            List<Long> authIdList = customerService.getAuthIdList();
+            if (authIdList.size() == 0) {
+                return new Page<>();
+            }
+            wrapper.in("c", Contract::getBuyCorporationId, authIdList);
+            return pageCommon(dto, wrapper);
+        }
+
+    }
+
+    public Page<DocumentsVo> pageCommon(DocumentsSelectDto dto,IWrapper<Documents> wrapper){
         wrapper.orderByDesc("d",Documents::getCreateTime);
         if (StringUtils.isNotEmpty(dto.getKeyword())) {
             //归属公司

+ 31 - 3
hx-sale/src/main/java/com/fjhx/sale/service/pack/impl/PackDetailServiceImpl.java

@@ -7,6 +7,11 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.utils.Assert;
+import com.fjhx.customer.service.customer.CustomerService;
+import com.fjhx.sale.entity.contract.po.Contract;
+import com.fjhx.sale.entity.documents.dto.DocumentsSelectDto;
+import com.fjhx.sale.entity.documents.po.Documents;
+import com.fjhx.sale.entity.documents.vo.DocumentsVo;
 import com.fjhx.sale.entity.pack.dto.PackDetailDto;
 import com.fjhx.sale.entity.pack.dto.PackDetailSelectDto;
 import com.fjhx.sale.entity.pack.enums.PackShipmentStatusEnum;
@@ -16,9 +21,12 @@ import com.fjhx.sale.entity.pack.vo.PackDetailVo;
 import com.fjhx.sale.mapper.pack.PackDetailMapper;
 import com.fjhx.sale.service.pack.PackDetailService;
 import com.fjhx.sale.service.pack.PackShipmentService;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.ruoyi.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -42,6 +50,12 @@ public class PackDetailServiceImpl extends ServiceImpl<PackDetailMapper, PackDet
     @Autowired
     private PackShipmentService packShipmentService;
 
+    @Autowired
+    private CustomerService customerService;
+
+    @Autowired
+    private ISysUserService iSysUserService;
+
     /**
      * 分页
      *
@@ -51,15 +65,29 @@ public class PackDetailServiceImpl extends ServiceImpl<PackDetailMapper, PackDet
     @Override
     public Page<PackDetailVo> getPage(PackDetailSelectDto dto) {
         IWrapper<PackDetail> wrapper = getWrapper();
+        SysUser sysUser = iSysUserService.getById(SecurityUtils.getUserId());
+        if(ObjectUtil.isEmpty(sysUser)){
+            throw new ServiceException("用户异常");
+        }
+        if(StringUtils.isEmpty(sysUser.getUserCode())){//不是业务员看所有
+            return pageCommon(dto, wrapper);
+        }else{//是业务员
+            List<Long> authIdList = customerService.getAuthIdList();
+            if (authIdList.size() == 0) {
+                return new Page<>();
+            }
+            wrapper.in("t1", Contract::getBuyCorporationId, authIdList);
+            return pageCommon(dto, wrapper);
+        }
+    }
+
+    public Page<PackDetailVo> pageCommon(PackDetailSelectDto dto, IWrapper<PackDetail> wrapper){
         if (ObjectUtil.isNotEmpty(dto.getShipmentStatus())) {
             wrapper.eq("pd", PackDetailVo::getShipmentStatus, dto.getShipmentStatus());
         }
         if (StringUtils.isNotEmpty(dto.getKeyword())) {
-//            wrapper.keyword(dto.getKeyword(), new SqlField("t3.`code`"), new SqlField("t2.`product_name`"));
             wrapper.like("pd.codeAPName", dto.getKeyword());
         }
-//        wrapper.groupBy("t1.pack_id");
-//        wrapper.orderByDesc("t1.create_time");
         Page<PackDetailVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         return page;
     }

+ 22 - 5
hx-sale/src/main/java/com/fjhx/sale/service/sample/impl/SampleServiceImpl.java

@@ -32,6 +32,7 @@ import com.fjhx.mail.entity.personal.po.PersonalMailbox;
 import com.fjhx.mail.service.enterprise.EnterpriseDomainService;
 import com.fjhx.mail.service.enterprise.EnterpriseMailboxService;
 import com.fjhx.mail.service.personal.PersonalMailboxService;
+import com.fjhx.sale.entity.contract.dto.ContractSelectDto;
 import com.fjhx.sale.entity.contract.po.Contract;
 import com.fjhx.sale.entity.contract.vo.ContractProductVo;
 import com.fjhx.sale.entity.purchase.po.EhsdPurchase;
@@ -52,6 +53,7 @@ import com.fjhx.sale.service.sample.SampleService;
 import com.fjhx.sale.service.sample.SampleShipmentService;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.framework.config.ThreadPoolConfig;
@@ -118,7 +120,8 @@ public class SampleServiceImpl extends ServiceImpl<SampleMapper, Sample> impleme
     private FlowExampleService flowExampleService;
     @Autowired
     private EhsdPurchaseService purchaseService;
-
+    @Autowired
+    private ISysUserService iSysUserService;
 
     /**
      * 分页
@@ -129,6 +132,24 @@ public class SampleServiceImpl extends ServiceImpl<SampleMapper, Sample> impleme
     @Override
     public Page<SampleVo> getPage(SampleSelectDto dto) {
         IWrapper<Sample> wrapper = getWrapper();
+        SysUser sysUser = iSysUserService.getById(SecurityUtils.getUserId());
+        if(ObjectUtil.isEmpty(sysUser)){
+            throw new ServiceException("用户异常");
+        }
+        if(StringUtils.isEmpty(sysUser.getUserCode())){//不是业务员看所有
+            return pageCommon(dto, wrapper);
+        }else{//是业务员
+            List<Long> authIdList = customerService.getAuthIdList();
+            if (authIdList.size() == 0) {
+                return new Page<>();
+            }
+            wrapper.in("t1", Contract::getBuyCorporationId, authIdList);
+            return pageCommon(dto, wrapper);
+        }
+
+    }
+
+    public Page<SampleVo> pageCommon(SampleSelectDto dto, IWrapper<Sample> wrapper){
         wrapper.orderByDesc("t1", Sample::getCreateTime);
         wrapper.eq("t1", Sample::getIsChange, "0");//列表只展示未变更得数据
         wrapper.ne("t1",Sample::getIsShow,1);
@@ -179,11 +200,7 @@ public class SampleServiceImpl extends ServiceImpl<SampleMapper, Sample> impleme
                 }
 
             }
-
-
         }
-
-
         return page;
     }