Browse Source

申购添加权限过滤

yzc 1 year ago
parent
commit
b988db0013

+ 5 - 0
hx-purchase/src/main/java/com/fjhx/purchase/entity/subscribe/dto/SubscribeDetailSelectDto.java

@@ -78,4 +78,9 @@ public class SubscribeDetailSelectDto extends BaseSelectDto {
      * 数据类型 0申购 1销售合同
      */
     private Integer dataType;
+
+    /**
+     * 归属公司id
+     */
+    private Long companyId;
 }

+ 6 - 3
hx-purchase/src/main/java/com/fjhx/purchase/entity/subscribe/dto/SubscribeSelectDto.java

@@ -1,6 +1,5 @@
 package com.fjhx.purchase.entity.subscribe.dto;
 
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.ruoyi.common.core.domain.BaseSelectDto;
 import lombok.Getter;
 import lombok.Setter;
@@ -8,7 +7,7 @@ import lombok.Setter;
 /**
  * 申购单列表查询入参实体
  *
- * @author 
+ * @author
  * @since 2023-04-03
  */
 @Getter
@@ -16,8 +15,12 @@ import lombok.Setter;
 public class SubscribeSelectDto extends BaseSelectDto {
 
     /**
+     * 归属公司id
+     */
+    private Long companyId;
+
+    /**
      * 货品类型
      */
-    @TableField(exist = false)
     private Integer productType;
 }

+ 1 - 6
hx-purchase/src/main/java/com/fjhx/purchase/entity/subscribe/po/Subscribe.java

@@ -76,11 +76,6 @@ public class Subscribe extends BasePo {
     private Integer delFlag;
 
     /**
-     * 维多利亚扩展json
-     */
-    private String victoriatouristJson;
-
-    /**
      * 流程实例
      */
     private Long flowId;
@@ -88,7 +83,7 @@ public class Subscribe extends BasePo {
     /**
      * 归属公司id
      */
-    private Long corporationId;
+    private Long companyId;
 
 
 }

+ 5 - 0
hx-purchase/src/main/java/com/fjhx/purchase/entity/subscribe/po/SubscribeDetail.java

@@ -70,6 +70,11 @@ public class SubscribeDetail extends BasePo {
     private Integer dataType;
 
     /**
+     * 归属公司id
+     */
+    private Long companyId;
+
+    /**
      * 货品类型
      */
     @TableField(exist = false)

+ 10 - 5
hx-purchase/src/main/java/com/fjhx/purchase/flow/SubscribeFlow.java

@@ -57,18 +57,23 @@ public class SubscribeFlow extends FlowDelegate {
     public Long start(Long flowId, JSONObject submitData) {
 
         SubscribeDto subscribe = submitData.toJavaObject(SubscribeDto.class);
-        subscribe.setCode(codingRuleService.createCode(CodingRuleEnum.SUBSCRIBE.getKey(),null));
+        subscribe.setCode(codingRuleService.createCode(CodingRuleEnum.SUBSCRIBE.getKey(), null));
         subscribe.setSubcribeStatus(SubscribeStatusEnum.UNDER_REVIEW.getKey());
         subscribe.setFlowId(flowId);
+        //赋值归属公司
+        if (ObjectUtils.isEmpty(subscribe.getCompanyId())) {
+            subscribe.setCompanyId(SecurityUtils.getCompanyId());
+        }
         subscribeService.save(subscribe);
 
-        List<SubscribeDetail> SubscribeDetails = subscribe.getSubscribeDetailList();
-        if(CollectionUtils.isNotEmpty(SubscribeDetails)){
-            SubscribeDetails.forEach(item -> {
+        List<SubscribeDetail> subscribeDetails = subscribe.getSubscribeDetailList();
+        if (CollectionUtils.isNotEmpty(subscribeDetails)) {
+            subscribeDetails.forEach(item -> {
                 item.setSubscribeId(subscribe.getId());
                 item.setDataType(0);
+                item.setContractId(subscribe.getCompanyId());
             });
-            subscribeDetailService.saveBatch(SubscribeDetails);
+            subscribeDetailService.saveBatch(subscribeDetails);
         }
 
         return subscribe.getId();

+ 9 - 0
hx-purchase/src/main/java/com/fjhx/purchase/service/subscribe/impl/SubscribeDetailServiceImpl.java

@@ -27,6 +27,7 @@ import com.fjhx.tenant.entity.dict.vo.DictTenantDataVo;
 import com.fjhx.tenant.service.dict.DictTenantDataService;
 import com.fjhx.wms.service.warehouse.WarehouseService;
 import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.apache.commons.collections4.MapUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -103,6 +104,14 @@ public class SubscribeDetailServiceImpl extends ServiceImpl<SubscribeDetailMappe
 
 		wrapper.eq("t2", SubscribeDetail::getDataType, dto.getDataType());
 
+		//权限过滤:待采购-子公司看自己的,总公司看全部
+		Long companyId = SecurityUtils.getCompanyId();
+		if (!Objects.equals(companyId, 100L)) {
+			wrapper.eq("t2", SubscribeDetail::getCompanyId, companyId);
+		} else {
+			wrapper.eq("t2", SubscribeDetail::getCompanyId, dto.getCompanyId());
+		}
+
 		//按类型倒序 先显示合同数据 再显示申购数据
 		wrapper.orderByDesc("t2", SubscribeDetail::getDataType);
 		wrapper.orderByDesc("t2", SubscribeDetail::getCreateTime);

+ 11 - 8
hx-purchase/src/main/java/com/fjhx/purchase/service/subscribe/impl/SubscribeServiceImpl.java

@@ -32,10 +32,10 @@ import com.fjhx.purchase.service.purchase.PurchaseDetailService;
 import com.fjhx.purchase.service.purchase.PurchaseService;
 import com.fjhx.purchase.service.subscribe.SubscribeDetailService;
 import com.fjhx.purchase.service.subscribe.SubscribeService;
-import com.fjhx.wms.service.warehouse.WarehouseService;
 import com.ruoyi.common.core.domain.BaseIdPo;
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.service.ISysDeptService;
 import org.apache.commons.collections4.MapUtils;
@@ -43,10 +43,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 
@@ -69,9 +66,6 @@ public class SubscribeServiceImpl extends ServiceImpl<SubscribeMapper, Subscribe
     private ProductInfoService productInfoService;
 
     @Autowired
-    private WarehouseService warehouseService;
-
-    @Autowired
     private ISysDeptService deptService;
 
     @Autowired
@@ -87,6 +81,15 @@ public class SubscribeServiceImpl extends ServiceImpl<SubscribeMapper, Subscribe
     @Override
     public Page<SubscribeVo> getPage(SubscribeSelectDto dto) {
         IWrapper<Subscribe> wrapper = getWrapper();
+
+        //权限过滤:申购-子公司看自己的,总公司看全部
+        Long companyId = SecurityUtils.getCompanyId();
+        if (!Objects.equals(companyId, 100L)) {
+            wrapper.eq("s", Subscribe::getCompanyId, companyId);
+        } else {
+            wrapper.eq("s", Subscribe::getCompanyId, dto.getCompanyId());
+        }
+
         wrapper.orderByDesc("s", Subscribe::getId);
         Page<SubscribeVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         return page;