Procházet zdrojové kódy

权限过滤相关修改

yzc před 1 rokem
rodič
revize
b5fdb4d9f6
18 změnil soubory, kde provedl 119 přidání a 71 odebrání
  1. 2 0
      hx-item/src/main/java/com/fjhx/item/service/product/impl/ProductInfoServiceImpl.java
  2. 7 1
      hx-purchase/src/main/java/com/fjhx/purchase/entity/invoice/dto/InvoiceSelectDto.java
  3. 5 0
      hx-purchase/src/main/java/com/fjhx/purchase/entity/pay/dto/PaySelectDto.java
  4. 2 0
      hx-purchase/src/main/java/com/fjhx/purchase/service/invoice/impl/InvoiceServiceImpl.java
  5. 3 1
      hx-purchase/src/main/java/com/fjhx/purchase/service/pay/impl/PayServiceImpl.java
  6. 0 3
      hx-sale/src/main/java/com/fjhx/sale/entity/sale/dto/SaleQuotationSelectDto.java
  7. 5 0
      hx-sale/src/main/java/com/fjhx/sale/entity/sale/po/SaleQuotation.java
  8. 0 9
      hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java
  9. 2 1
      hx-sale/src/main/java/com/fjhx/sale/service/sale/impl/SaleQuotationServiceImpl.java
  10. 8 1
      hx-wms/src/main/java/com/fjhx/wms/entity/stock/dto/StockSelectDto.java
  11. 29 8
      hx-wms/src/main/java/com/fjhx/wms/entity/stock/emums/StockWaitType.java
  12. 5 0
      hx-wms/src/main/java/com/fjhx/wms/entity/warehouse/dto/WarehouseSelectDto.java
  13. 6 1
      hx-wms/src/main/java/com/fjhx/wms/entity/warehouse/vo/WarehouseVo.java
  14. 0 2
      hx-wms/src/main/java/com/fjhx/wms/service/stock/StockWaitService.java
  15. 2 0
      hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockServiceImpl.java
  16. 1 30
      hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java
  17. 32 4
      hx-wms/src/main/java/com/fjhx/wms/service/warehouse/impl/WarehouseServiceImpl.java
  18. 10 10
      hx-wms/src/main/resources/mapper/warehouse/WarehouseMapper.xml

+ 2 - 0
hx-item/src/main/java/com/fjhx/item/service/product/impl/ProductInfoServiceImpl.java

@@ -133,6 +133,8 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
             Long companyId = SecurityUtils.getCompanyId();
             if (!Objects.equals(companyId, 100L)) {
                 wrapper.eq(ProductInfo::getCompanyId, companyId);
+            } else {
+                wrapper.eq(ProductInfo::getCompanyId, dto.getCompanyId());
             }
         }
 

+ 7 - 1
hx-purchase/src/main/java/com/fjhx/purchase/entity/invoice/dto/InvoiceSelectDto.java

@@ -7,7 +7,7 @@ import lombok.Setter;
 /**
  * 发票管理列表查询入参实体
  *
- * @author 
+ * @author
  * @since 2023-04-12
  */
 @Getter
@@ -18,4 +18,10 @@ public class InvoiceSelectDto extends BaseSelectDto {
      * 发票类型
      */
     private Integer invoiceType;
+
+
+    /**
+     * 归属公司id
+     */
+    private Long companyId;
 }

+ 5 - 0
hx-purchase/src/main/java/com/fjhx/purchase/entity/pay/dto/PaySelectDto.java

@@ -45,4 +45,9 @@ public class PaySelectDto extends BaseSelectDto {
      * 申请结束金额
      */
     private BigDecimal endAmount;
+
+    /**
+     * 归属公司id
+     */
+    private Long companyId;
 }

+ 2 - 0
hx-purchase/src/main/java/com/fjhx/purchase/service/invoice/impl/InvoiceServiceImpl.java

@@ -69,6 +69,8 @@ public class InvoiceServiceImpl extends ServiceImpl<InvoiceMapper, Invoice> impl
         Long companyId = SecurityUtils.getCompanyId();
         if (!Objects.equals(companyId, 100L)) {
             wrapper.eq(Invoice::getCompanyId, companyId);
+        } else {
+            wrapper.eq(Invoice::getCompanyId, dto.getCompanyId());
         }
         wrapper.orderByDesc("t1", Invoice::getCreateTime);
         Page<InvoiceVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);

+ 3 - 1
hx-purchase/src/main/java/com/fjhx/purchase/service/pay/impl/PayServiceImpl.java

@@ -106,10 +106,12 @@ public class PayServiceImpl extends ServiceImpl<PayMapper, Pay> implements PaySe
             wrapper.keyword(dto.getKeyword(), new SqlField(Pay::getUserName), new SqlField(Pay::getRemark));
         }
 
-        //权限过滤:发票-子公司看自己的,总公司看全部
+        //权限过滤:采购付款-子公司看自己的,总公司看全部
         Long companyId = SecurityUtils.getCompanyId();
         if (!Objects.equals(companyId, 100L)) {
             wrapper.eq(Pay::getCompanyId, companyId);
+        } else {
+            wrapper.eq(Pay::getCompanyId, dto.getCompanyId());
         }
 
         wrapper.orderByDesc("p", Pay::getCreateTime);

+ 0 - 3
hx-sale/src/main/java/com/fjhx/sale/entity/sale/dto/SaleQuotationSelectDto.java

@@ -1,6 +1,5 @@
 package com.fjhx.sale.entity.sale.dto;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.domain.BaseSelectDto;
 import lombok.Getter;
 import lombok.Setter;
@@ -40,12 +39,10 @@ public class SaleQuotationSelectDto extends BaseSelectDto {
     /**
      * 报价时间
      */
-    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
     private Date quotationTimeSta;
     /**
      * 报价时间
      */
-    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
     private Date quotationTimeEnd;
 
     /**

+ 5 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/sale/po/SaleQuotation.java

@@ -111,6 +111,11 @@ public class SaleQuotation extends BasePo {
      */
     private Long extQuotationId;
 
+    /**
+     * 退回原因
+     */
+    private String backRemark;
+
 
 //
 //

+ 0 - 9
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -32,7 +32,6 @@ import com.fjhx.common.service.contract.ContractTemplateService;
 import com.fjhx.common.service.corporation.CorporationService;
 import com.fjhx.common.service.documentary.GetDocumentaryBusinessTemplate;
 import com.fjhx.common.utils.Assert;
-import com.fjhx.common.utils.AuthorityUtils;
 import com.fjhx.customer.entity.customer.dto.CustomerDto;
 import com.fjhx.customer.entity.customer.po.Customer;
 import com.fjhx.customer.service.customer.CustomerService;
@@ -317,14 +316,6 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
      * @param wrapper
      */
     private void setContractParam(ContractSelectDto dto, IWrapper<Contract> wrapper) {
-        //权限过滤
-        SysUser user = SecurityUtils.getLoginUser().getUser();
-        if (!AuthorityUtils.isHighAuthority(user)) {
-            //用户角色是低权限
-        } else if (AuthorityUtils.isHighAuthority(user) && !Objects.equals(user.getCompanyId(), 100)) {
-            //用户角色是高权限,且不是集团用户
-        }
-
         wrapper.orderByDesc("t1", Contract::getCreateTime);
         if (StringUtils.isNotEmpty(dto.getStatus())) {
             wrapper.eq("t1", Contract::getStatus, dto.getStatus());

+ 2 - 1
hx-sale/src/main/java/com/fjhx/sale/service/sale/impl/SaleQuotationServiceImpl.java

@@ -114,7 +114,7 @@ public class SaleQuotationServiceImpl extends ServiceImpl<SaleQuotationMapper, S
         //权限过滤:报价评估自己看自己
         if (Objects.equals(dto.getIsEstimate(), 1)) {
             wrapper.eq("sq", SaleQuotation::getCompanyId, SecurityUtils.getCompanyId());
-            wrapper.ne("sq", SaleQuotation::getStatus, FlowStatusEnum1.CANCELLATION.getKey());
+            wrapper.ne("sq", SaleQuotation::getStatus, FlowStatusEnum1.DRAFT.getKey());
         }
 
         //报价状态
@@ -233,6 +233,7 @@ public class SaleQuotationServiceImpl extends ServiceImpl<SaleQuotationMapper, S
 
         //变更清除id信息
         saleQuotationDto.setId(null);
+        saleQuotationDto.setBackRemark(null);
         saleQuotationDto.setStatus(30);
         saleQuotationDto.setQuotationStatus(0);
         saleQuotationDto.setCode(Utils.getNewCode(saleQuotation.getCode()));//赋值新合同号

+ 8 - 1
hx-wms/src/main/java/com/fjhx/wms/entity/stock/dto/StockSelectDto.java

@@ -21,7 +21,14 @@ public class StockSelectDto extends BaseSelectDto {
      */
     private List<Long> productIds;
 
-    /**产品定义*/
+    /**
+     * 产品定义
+     */
     private Integer definition;
 
+    /**
+     * 归属公司id
+     */
+    private Long companyId;
+
 }

+ 29 - 8
hx-wms/src/main/java/com/fjhx/wms/entity/stock/emums/StockWaitType.java

@@ -1,27 +1,41 @@
 package com.fjhx.wms.entity.stock.emums;
 
 import com.fjhx.common.enums.InOutType;
+import com.ruoyi.common.exception.ServiceException;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 
+import java.util.HashMap;
+import java.util.Map;
+
 @AllArgsConstructor
 @Getter
 public enum StockWaitType {
 
-    BORDER_OF_LINE_IN(InOutType.IN, 1, "线边回仓", ""),
-    COMPLETION_IN(InOutType.IN, 2, "完工入库", ""),
-    PURCHASE_ARRIVAL_IN(InOutType.IN, 3, "采购到货", ""),
-    BACK_OUT(InOutType.OUT, 4, "退货出库", ""),
-    JD_ORDER_OUT(InOutType.OUT, 5, "京东订单出库", "jd_order"),
-    SALE_ORDER_OUT(InOutType.OUT, 6, "销售订单出库", "order_info"),
-    PRODUCTION_TASK_OUT(InOutType.OUT, 7, "生产任务待出库", "production_task");
+    BORDER_OF_LINE_IN(InOutType.IN, JournalType.BORDER_OF_LINE_IN, 1, "线边回仓", ""),
+    COMPLETION_IN(InOutType.IN, JournalType.COMPLETION_IN, 2, "完工入库", ""),
+    PURCHASE_ARRIVAL_IN(InOutType.IN, JournalType.PURCHASE_ARRIVAL_IN, 3, "采购到货", ""),
+    BACK_OUT(InOutType.OUT, JournalType.BACK_OUT, 4, "退货出库", ""),
+    SALE_ORDER_OUT(InOutType.OUT, JournalType.SALES_OUT, 6, "销售订单出库", "order_info"),
+    PRODUCTION_TASK_OUT(InOutType.OUT, JournalType.PRODUCTION_TASK_OUT, 7, "生产任务待出库", "production_task");
+
 
+    private final static Map<Integer, StockWaitType> map = new HashMap<>();
+
+    static {
+        for (StockWaitType value : StockWaitType.values()) {
+            map.put(value.detailType, value);
+        }
+    }
 
     /**
      * 出入库类型
      */
     private final InOutType type;
-
+    /**
+     * 出入库流水类型
+     */
+    private final JournalType journalType;
     /**
      * 详细类型
      */
@@ -37,4 +51,11 @@ public enum StockWaitType {
      */
     private final String linkBusinessTableName;
 
+
+    public static StockWaitType getEnum(Integer key) {
+        return map.computeIfAbsent(key, item -> {
+            throw new ServiceException("未知待出/入库类型");
+        });
+    }
+
 }

+ 5 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/warehouse/dto/WarehouseSelectDto.java

@@ -19,5 +19,10 @@ public class WarehouseSelectDto extends BaseSelectDto {
      */
     private String type;
 
+    /**
+     * 归属公司id
+     */
+    private Long companyId;
+
 
 }

+ 6 - 1
hx-wms/src/main/java/com/fjhx/wms/entity/warehouse/vo/WarehouseVo.java

@@ -7,7 +7,7 @@ import lombok.Setter;
 /**
  * 仓库列表查询返回值实体
  *
- * @author 
+ * @author
  * @since 2023-03-20
  */
 @Getter
@@ -19,4 +19,9 @@ public class WarehouseVo extends Warehouse {
      */
     private String keeperName;
 
+    /**
+     * 归属公司名称
+     */
+    private String companyName;
+
 }

+ 0 - 2
hx-wms/src/main/java/com/fjhx/wms/service/stock/StockWaitService.java

@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.wms.entity.stock.dto.StockWaitDetailsDto;
 import com.fjhx.wms.entity.stock.dto.StockWaitDto;
 import com.fjhx.wms.entity.stock.dto.StockWaitSelectDto;
-import com.fjhx.wms.entity.stock.emums.JournalType;
 import com.fjhx.wms.entity.stock.po.StockWait;
 import com.fjhx.wms.entity.stock.vo.StockWaitVo;
 import com.ruoyi.common.core.service.BaseService;
@@ -60,5 +59,4 @@ public interface StockWaitService extends BaseService<StockWait> {
      */
     void delete(Long id);
 
-    JournalType getStockJournalType(int businessType);
 }

+ 2 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockServiceImpl.java

@@ -86,6 +86,8 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
         Long companyId = SecurityUtils.getCompanyId();
         if (!Objects.equals(companyId, 100L)) {
             wrapper.eq("w.company_id", companyId);
+        } else {
+            wrapper.eq("w.company_id", dto.getCompanyId());
         }
 
         wrapper.orderByDesc("s", Stock::getId);

+ 1 - 30
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java

@@ -24,7 +24,6 @@ import com.fjhx.wms.service.arrival.ArrivalStockRecordsService;
 import com.fjhx.wms.service.stock.*;
 import com.fjhx.wms.service.warehouse.WarehouseService;
 import com.fjhx.wms.utils.CodeEnum;
-import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -202,7 +201,7 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
 
         //创建出入库记录
         Integer businessType = stockWait.getBusinessType();
-        JournalType journalType = getStockJournalType(businessType);
+        JournalType journalType = StockWaitType.getEnum(businessType).getJournalType();
         StockJournal stockJournal = new StockJournal();
         stockJournal.setOpType(stockWait.getType());//根据待入库类型赋值操作类型 1入库 2出库
         stockJournal.setType(journalType.getDetailType());
@@ -247,32 +246,4 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
         this.removeById(id);
     }
 
-    /**
-     * 根据待出入库业务类型获取对应的出入库记录类型
-     */
-    @Override
-    public JournalType getStockJournalType(int businessType) {
-        if (StockWaitType.BORDER_OF_LINE_IN.getDetailType().equals(businessType)) {
-            //线边回仓库
-            return JournalType.BORDER_OF_LINE_IN;
-        } else if (StockWaitType.COMPLETION_IN.getDetailType().equals(businessType)) {
-            //完工入库
-            return JournalType.COMPLETION_IN;
-        } else if (StockWaitType.PURCHASE_ARRIVAL_IN.getDetailType().equals(businessType)) {
-            //采购到货
-            return JournalType.PURCHASE_ARRIVAL_IN;
-        } else if (StockWaitType.BACK_OUT.getDetailType().equals(businessType)) {
-            //退货出货
-            return JournalType.BACK_OUT;
-        } else if (StockWaitType.SALE_ORDER_OUT.getDetailType().equals(businessType)) {
-            //销售订单出库
-            return JournalType.SALES_OUT;
-        } else if (StockWaitType.PRODUCTION_TASK_OUT.getDetailType().equals(businessType)) {
-            //生产任务待出库
-            return JournalType.PRODUCTION_TASK_OUT;
-        } else {
-            throw new ServiceException("未知待出入库业务类型");
-        }
-    }
-
 }

+ 32 - 4
hx-wms/src/main/java/com/fjhx/wms/service/warehouse/impl/WarehouseServiceImpl.java

@@ -2,6 +2,7 @@ package com.fjhx.wms.service.warehouse.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
+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.wms.entity.warehouse.dto.WarehouseDto;
@@ -10,14 +11,16 @@ import com.fjhx.wms.entity.warehouse.po.Warehouse;
 import com.fjhx.wms.entity.warehouse.vo.WarehouseVo;
 import com.fjhx.wms.mapper.warehouse.WarehouseMapper;
 import com.fjhx.wms.service.warehouse.WarehouseService;
+import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.ruoyi.system.service.ISysDeptService;
 import com.ruoyi.system.utils.UserUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.Arrays;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
 
 
 /**
@@ -31,6 +34,9 @@ import java.util.Objects;
 @Service
 public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse> implements WarehouseService {
 
+    @Autowired
+    private ISysDeptService sysDeptService;
+
     @Override
     public Page<WarehouseVo> getPage(WarehouseSelectDto dto) {
         IWrapper<Warehouse> wrapper = getWrapper();
@@ -41,12 +47,34 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse
         Long companyId = SecurityUtils.getCompanyId();
         if (!Objects.equals(companyId, 100L)) {
             wrapper.eq(Warehouse::getCompanyId, companyId);
+        } else {
+            wrapper.eq(Warehouse::getCompanyId, dto.getCompanyId());
         }
 
         wrapper.orderByDesc("w", Warehouse::getId);
         Page<WarehouseVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        List<WarehouseVo> records = page.getRecords();
+
+        if (ObjectUtil.isEmpty(records)) {
+            return page;
+        }
+
         //赋值仓管员名称
-        UserUtil.assignmentNickName(page.getRecords(), Warehouse::getKeeperId, WarehouseVo::setKeeperName);
+        UserUtil.assignmentNickName(records, Warehouse::getKeeperId, WarehouseVo::setKeeperName);
+
+        //获取归属公司信息
+        Map<Long, String> sysDeptMap = new HashMap<>();
+        List<Long> companyIds = records.stream().map(Warehouse::getCompanyId).collect(Collectors.toList());
+        if (ObjectUtil.isNotEmpty(companyIds)) {
+            List<SysDept> deptList = sysDeptService.list(Wrappers.<SysDept>query().in("dept_id", companyIds));
+            sysDeptMap = deptList.stream().collect(Collectors.toMap(SysDept::getDeptId, SysDept::getDeptName));
+        }
+
+        for (WarehouseVo record : records) {
+            //赋值归属公司信息
+            record.setCompanyName(sysDeptMap.get(record.getCompanyId()));
+        }
+
         return page;
     }
 

+ 10 - 10
hx-wms/src/main/resources/mapper/warehouse/WarehouseMapper.xml

@@ -2,16 +2,16 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fjhx.wms.mapper.warehouse.WarehouseMapper">
     <select id="getPage" resultType="com.fjhx.wms.entity.warehouse.vo.WarehouseVo">
-        select
-            w.id,
-            w.name,
-            w.type,
-            w.remark,
-            w.keeper_id,
-            w.create_user,
-            w.create_time,
-            w.update_user,
-            w.update_time
+        select w.id,
+               w.name,
+               w.type,
+               w.remark,
+               w.keeper_id,
+               w.create_user,
+               w.create_time,
+               w.update_user,
+               w.update_time,
+               w.company_id
         from warehouse w
             ${ew.customSqlSegment}
     </select>