18482106067 2 years ago
parent
commit
f9b9a68394
17 changed files with 204 additions and 37 deletions
  1. 5 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/dto/req/QueryListReqDto.java
  2. 2 3
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/CommonBusinessService.java
  3. 24 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsService.java
  4. 33 9
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeService.java
  5. 15 2
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsMapper.xml
  6. 16 2
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeMapper.xml
  7. 0 8
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsRoleController.java
  8. 5 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsUserController.java
  9. 2 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dao/KwsMenuRightsDao.java
  10. 5 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/EditRoleReqVo.java
  11. 50 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/CommonService.java
  12. 1 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java
  13. 34 10
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsMenuService.java
  14. 3 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsRoleService.java
  15. 3 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsUserService.java
  16. 1 0
      sckw-modules/sckw-system/src/main/resources/mapper/KwsMenuDao.xml
  17. 5 1
      sckw-modules/sckw-system/src/main/resources/mapper/KwsMenuRightsDao.xml

+ 5 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/dto/req/QueryListReqDto.java

@@ -48,6 +48,11 @@ public class QueryListReqDto {
      */
     private Long entId;
 
+    /**
+     * 所有企业
+     */
+    private List<Long> allEnt;
+
     /**
      * 签约方式
      */

+ 2 - 3
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/CommonBusinessService.java

@@ -81,11 +81,10 @@ public class CommonBusinessService {
     @Transactional(rollbackFor = {})
     public void approval(ESignCallBackReqVo reqVo) {
         Long contractId = reqVo.getContractId();
-        int code = ContractTrackEnum.SIGNING.getCode();
         KwcContractTrade kwcContractTrade = kwcContractTradeMapper.selectById(contractId);
         if (Objects.nonNull(kwcContractTrade)) {
             kwcContractTradeService.approval(reqVo.getContractId(), reqVo.getStatus(), reqVo.getRemark());
-            kwcContractLogisticsTrackService.saveContractLogisticsTrack(contractId, code);
+            kwcContractTradeTrackService.saveContractTradeTrack(contractId, reqVo.getStatus());
             notifyOrder(contractId, kwcContractTrade.getCreateBy());
             return;
         }
@@ -93,7 +92,7 @@ public class CommonBusinessService {
         KwcContractLogistics kwcContractLogistics = kwcContractLogisticsMapper.selectById(contractId);
         if (Objects.nonNull(kwcContractLogistics)) {
             kwcContractLogisticsService.approval(reqVo.getContractId(), reqVo.getStatus(), reqVo.getRemark());
-            kwcContractTradeTrackService.saveContractTradeTrack(contractId, code);
+            kwcContractLogisticsTrackService.saveContractLogisticsTrack(contractId, reqVo.getStatus());
             notifyOrder(contractId, kwcContractLogistics.getCreateBy());
             return;
         }

+ 24 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsService.java

@@ -28,6 +28,7 @@ import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.excel.utils.EasyExcelUtil;
 import com.sckw.product.api.dubbo.GoodsInfoService;
 import com.sckw.system.api.RemoteSystemService;
+import com.sckw.system.api.model.dto.res.EntCacheResDto;
 import com.sckw.system.api.model.dto.res.SysDictResDto;
 import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import lombok.extern.slf4j.Slf4j;
@@ -532,9 +533,21 @@ public class KwcContractLogisticsService {
         PageHelper.startPage(reqVo.getPage(), reqVo.getPageSize());
         QueryListReqDto queryListReqDto = new QueryListReqDto();
         BeanUtils.copyProperties(reqVo, queryListReqDto);
+        List<Long> allEnt = new ArrayList<>();
         if (Objects.isNull(reqVo.getEntId())) {
             queryListReqDto.setEntId(LoginUserHolder.getEntId());
         }
+        allEnt.add(queryListReqDto.getEntId());
+
+        EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(queryListReqDto.getEntId());
+        if (Objects.nonNull(entCacheResDto)) {
+            EntCacheResDto entCacheResDto1 = remoteSystemService.queryEntTreeById(entCacheResDto.getId());
+            List<EntCacheResDto> child = entCacheResDto1.getChild();
+            if (CollectionUtils.isNotEmpty(child)) {
+                allEnt.addAll(child.stream().map(EntCacheResDto::getId).toList());
+            }
+        }
+        queryListReqDto.setAllEnt(allEnt);
         List<QueryListResDto> queryListResDtos = kwcContractLogisticsMapper.queryList(queryListReqDto);
         if (CollectionUtils.isEmpty(queryListResDtos)) {
             return PageHelperUtil.getPageResult(new PageInfo<>());
@@ -651,10 +664,21 @@ public class KwcContractLogisticsService {
 
         QueryListReqDto queryListReqDto = new QueryListReqDto();
         BeanUtils.copyProperties(reqVo, queryListReqDto);
+        List<Long> allEnt = new ArrayList<>();
         if (Objects.isNull(reqVo.getEntId())) {
             queryListReqDto.setEntId(LoginUserHolder.getEntId());
         }
+        allEnt.add(queryListReqDto.getEntId());
 
+        EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(queryListReqDto.getEntId());
+        if (Objects.nonNull(entCacheResDto)) {
+            EntCacheResDto entCacheResDto1 = remoteSystemService.queryEntTreeById(entCacheResDto.getId());
+            List<EntCacheResDto> child = entCacheResDto1.getChild();
+            if (CollectionUtils.isNotEmpty(child)) {
+                allEnt.addAll(child.stream().map(EntCacheResDto::getId).toList());
+            }
+        }
+        queryListReqDto.setAllEnt(allEnt);
         List<QueryListResDto> queryListResDtoList = kwcContractLogisticsMapper.queryList(queryListReqDto);
         if (CollectionUtils.isNotEmpty(queryListResDtoList)) {
             Map<Integer, List<QueryListResDto>> collect = queryListResDtoList.stream().collect(Collectors.groupingBy(QueryListResDto::getStatus));

+ 33 - 9
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeService.java

@@ -28,6 +28,7 @@ import com.sckw.order.api.dubbo.TradeOrderInfoService;
 import com.sckw.order.api.model.ContractSignCompletedParam;
 import com.sckw.product.api.dubbo.GoodsInfoService;
 import com.sckw.product.api.model.KwpGoods;
+import com.sckw.system.api.model.dto.res.EntCacheResDto;
 import com.sckw.system.api.model.dto.res.SysDictResDto;
 import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import lombok.extern.slf4j.Slf4j;
@@ -40,6 +41,7 @@ import com.sckw.system.api.RemoteSystemService;
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
+
 import com.sckw.contract.dao.KwcContractTradeMapper;
 
 /**
@@ -87,9 +89,21 @@ public class KwcContractTradeService {
         PageHelper.startPage(reqVo.getPage(), reqVo.getPageSize());
         QueryListReqDto queryListReqDto = new QueryListReqDto();
         BeanUtils.copyProperties(reqVo, queryListReqDto);
+        List<Long> allEnt = new ArrayList<>();
         if (Objects.isNull(reqVo.getEntId())) {
             queryListReqDto.setEntId(LoginUserHolder.getEntId());
         }
+        allEnt.add(queryListReqDto.getEntId());
+
+        EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(queryListReqDto.getEntId());
+        if (Objects.nonNull(entCacheResDto)) {
+            EntCacheResDto entCacheResDto1 = remoteSystemService.queryEntTreeById(entCacheResDto.getId());
+            List<EntCacheResDto> child = entCacheResDto1.getChild();
+            if (CollectionUtils.isNotEmpty(child)) {
+                allEnt.addAll(child.stream().map(EntCacheResDto::getId).toList());
+            }
+        }
+        queryListReqDto.setAllEnt(allEnt);
         List<QueryListResDto> queryListResDtos = kwcContractTradeMapper.queryList(queryListReqDto);
         if (CollectionUtils.isEmpty(queryListResDtos)) {
             return PageHelperUtil.getPageResult(new PageInfo<>());
@@ -415,15 +429,13 @@ public class KwcContractTradeService {
      */
     private void sign(ContractTradeReqVo reqVo, Long id) {
         if (DictEnum.SIGNING_WAY_1.getValue().equals(String.valueOf(reqVo.getBaseInfo().getSigningWay()))) {
-            if (DictEnum.SIGNING_WAY_1.getValue().equals(String.valueOf(reqVo.getBaseInfo().getSigningWay()))) {
-                commonBusinessService.postToEsign(reqVo.getBaseInfo().getProvidePhone(),
-                        reqVo.getBaseInfo().getPurchasePhone(),
-                        reqVo.getBaseInfo().getProvideEntId(),
-                        reqVo.getBaseInfo().getPurchaseEntId(),
-                        reqVo.getContractFile(),
-                        id,
-                        reqVo.getBaseInfo().getContractName());
-            }
+            commonBusinessService.postToEsign(reqVo.getBaseInfo().getProvidePhone(),
+                    reqVo.getBaseInfo().getPurchasePhone(),
+                    reqVo.getBaseInfo().getProvideEntId(),
+                    reqVo.getBaseInfo().getPurchaseEntId(),
+                    reqVo.getContractFile(),
+                    id,
+                    reqVo.getBaseInfo().getContractName());
         }
 
         //线下签约直接通过
@@ -655,9 +667,21 @@ public class KwcContractTradeService {
 
         QueryListReqDto queryListReqDto = new QueryListReqDto();
         BeanUtils.copyProperties(reqVo, queryListReqDto);
+        List<Long> allEnt = new ArrayList<>();
         if (Objects.isNull(reqVo.getEntId())) {
             queryListReqDto.setEntId(LoginUserHolder.getEntId());
         }
+        allEnt.add(queryListReqDto.getEntId());
+
+        EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(queryListReqDto.getEntId());
+        if (Objects.nonNull(entCacheResDto)) {
+            EntCacheResDto entCacheResDto1 = remoteSystemService.queryEntTreeById(entCacheResDto.getId());
+            List<EntCacheResDto> child = entCacheResDto1.getChild();
+            if (CollectionUtils.isNotEmpty(child)) {
+                allEnt.addAll(child.stream().map(EntCacheResDto::getId).toList());
+            }
+        }
+        queryListReqDto.setAllEnt(allEnt);
         List<QueryListResDto> queryListResDtoList = kwcContractTradeMapper.queryList(queryListReqDto);
         if (CollectionUtils.isNotEmpty(queryListResDtoList)) {
             Map<Integer, List<QueryListResDto>> collect = queryListResDtoList.stream().collect(Collectors.groupingBy(QueryListResDto::getStatus));

+ 15 - 2
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsMapper.xml

@@ -63,12 +63,25 @@
                 a.performed_amount performedAmount,
                 a.contract_pid contractPid
           from kwc_contract_logistics a
-          left join kwc_contract_logistics_unit b on a.id = b.contract_id and b.unit_type = #{entType} and b.del_flag = 0
+          left join kwc_contract_logistics_unit b
+            on a.id = b.contract_id
+           and b.unit_type = #{entType}
+           and case when a.status != 3 then b.ent_id in
+                <foreach collection="allEnt" separator="," open="(" close=")" item="item">
+                    #{item}
+                </foreach>
+                 end
+            and b.del_flag = 0
           left join kwc_contract_logistics_track c on a.id = c.contract_id and c.del_flag = 0 and c.type = 1
           left join kwc_contract_logistics_track d on a.id = d.contract_id and d.del_flag = 0 and d.type = 0
           left join kwc_contract_logistics_unit e on a.id = e.contract_id and e.unit_type != #{entType} and e.del_flag = 0
         where a.del_flag = 0
-          and case when a.status = 3 then a.ent_id = #{entId} and #{entType} = 3 else a.ent_id = #{entId} end
+          and case when a.status = 3 then a.ent_id = #{entId}
+              else (b.ent_id in
+                    <foreach collection="allEnt" separator="," open="(" close=")" item="item">
+                        #{item}
+                    </foreach> and b.id is not null)
+                end
           <if test="startTime != null">
               and a.create_time >= #{startTime}
           </if>

+ 16 - 2
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeMapper.xml

@@ -61,12 +61,26 @@
                e.firm_name targetEntName,
                a.contract_pid contractPid
           from kwc_contract_trade a
-          left join kwc_contract_trade_unit b on a.id = b.contract_id and b.unit_type = #{entType} and b.del_flag = 0
+          left join kwc_contract_trade_unit b
+            on a.id = b.contract_id
+           and b.unit_type = #{entType}
+           and case when a.status != 3 then b.ent_id in
+                <foreach collection="allEnt" separator="," open="(" close=")" item="item">
+                    #{item}
+                </foreach>
+                end
+           and b.del_flag = 0
           left join kwc_contract_trade_track c on a.id = c.contract_id and c.del_flag = 0 and c.type = 1
           left join kwc_contract_trade_track d on a.id = d.contract_id and d.del_flag = 0 and d.type = 0
           left join kwc_contract_trade_unit e on a.id = e.contract_id and e.unit_type != #{entType} and e.del_flag = 0
          where a.del_flag = 0
-           and case when a.status = 3 then a.ent_id = #{entId} and #{entType} = 1 else a.ent_id = #{entId} end
+           and case when a.status = 3 then a.ent_id = #{entId}
+                else (b.ent_id in
+                        <foreach collection="allEnt" separator="," open="(" close=")" item="item">
+                            #{item}
+                        </foreach>
+                        and b.id is not null)
+                end
         <if test="startTime != null">
             and a.create_time >= #{startTime}
         </if>

+ 0 - 8
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsRoleController.java

@@ -1,23 +1,15 @@
 package com.sckw.system.controller;
 
-import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
 import com.sckw.core.exception.SystemException;
-import com.sckw.core.model.page.PageHelperUtil;
-import com.sckw.core.model.page.PageResult;
-import com.sckw.core.utils.BeanUtils;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.response.HttpResult;
-import com.sckw.system.model.KwsRole;
 import com.sckw.system.model.vo.req.EditRoleReqVo;
 import com.sckw.system.model.vo.req.UserBindRoleReqVo;
-import com.sckw.system.model.vo.res.RoleResVo;
 import com.sckw.system.service.KwsRoleService;
 import jakarta.validation.Valid;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import java.util.HashMap;
-import java.util.List;
 
 /**
  * 角色

+ 5 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsUserController.java

@@ -14,6 +14,7 @@ import com.sckw.system.model.vo.req.QueryEntUserReqVo;
 import com.sckw.system.model.vo.req.ResetPasswordReqVo;
 import com.sckw.system.model.vo.req.UserAddReqVo;
 import com.sckw.system.model.vo.res.KwsUserResVo;
+import com.sckw.system.service.CommonService;
 import com.sckw.system.service.KwsUserService;
 import jakarta.validation.Valid;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,6 +37,9 @@ public class KwsUserController {
     @Autowired
     private KwsUserService kwsUserService;
 
+    @Autowired
+    private CommonService commonService;
+
     /**
      * @param id 主键ID
      * @description 根据主键查询
@@ -170,6 +174,7 @@ public class KwsUserController {
 
     @PostMapping("testApprove")
     public HttpResult testApprove() {
+        commonService.test();
         return HttpResult.ok(HttpStatus.MSG_004);
     }
 }

+ 2 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/dao/KwsMenuRightsDao.java

@@ -61,4 +61,6 @@ public interface KwsMenuRightsDao {
      * @date: 2023/6/13
      */
     int saveBatch(@Param(value = "list") List<KwsMenuRights> list);
+
+    List<KwsMenuRights> selectEntMenus(Long id);
 }

+ 5 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/EditRoleReqVo.java

@@ -54,4 +54,9 @@ public class EditRoleReqVo implements Serializable {
      */
     @Size(max = 200, message = "备注超长")
     private String remark;
+
+    /**
+     * 是否是管理员
+     */
+    private Boolean isManage;
 }

+ 50 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/CommonService.java

@@ -1,9 +1,11 @@
 package com.sckw.system.service;
+import java.util.Date;
 
 import com.alibaba.fastjson.JSON;
 import com.sckw.core.exception.SystemException;
 import com.sckw.core.model.constant.Global;
 import com.sckw.core.utils.CollectionUtils;
+import com.sckw.core.utils.IdWorker;
 import com.sckw.core.utils.RegularUtils;
 import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.constant.HttpStatus;
@@ -11,11 +13,18 @@ import com.sckw.core.web.model.EntCertificateInfo;
 import com.sckw.core.web.model.LoginEntInfo;
 import com.sckw.redis.utils.RedissonUtils;
 import com.sckw.system.dao.KwsEnterpriseDao;
+import com.sckw.system.dao.KwsMenuDao;
+import com.sckw.system.dao.KwsMenuRightsDao;
 import com.sckw.system.model.KwsEnterprise;
+import com.sckw.system.model.KwsMenu;
+import com.sckw.system.model.KwsMenuRights;
+import com.sckw.system.model.vo.res.FindEntListResVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * @author czh
@@ -28,6 +37,12 @@ public class CommonService {
     @Autowired
     private KwsEnterpriseDao kwsEnterpriseDao;
 
+    @Autowired
+    private KwsMenuRightsDao kwsMenuRightsDao;
+
+    @Autowired
+    private KwsMenuDao kwsMenuDao;
+
     /**
      * @desc: 更新资质
      * @param: entId 企业id entCertificateInfoList 资质信息
@@ -70,4 +85,39 @@ public class CommonService {
     }
 
 
+    public void test() {
+        List<FindEntListResVo> list = kwsEnterpriseDao.findList(null);
+        KwsMenu kwsMenu = new KwsMenu();
+        kwsMenu.setClientType(2);
+        kwsMenu.setDelFlag(Global.NO);
+        List<KwsMenu> select = kwsMenuDao.select(kwsMenu);
+        for (FindEntListResVo findEntListResVo : list) {
+            Long id = findEntListResVo.getId();
+
+            List<KwsMenuRights> currrent =  kwsMenuRightsDao.selectEntMenus(id);
+            if (CollectionUtils.isNotEmpty(currrent)) {
+                continue;
+            }
+            Long userId = findEntListResVo.getUserId();
+            if (Objects.isNull(userId)) {
+                userId = 0L;
+            }
+            List<KwsMenuRights> kwsMenuRightsList = new ArrayList<>();
+            Date date = new Date();
+            for (KwsMenu kwsMenu1 : select) {
+                KwsMenuRights kwsMenuRights = new KwsMenuRights();
+                kwsMenuRights.setEntId(id);
+                kwsMenuRights.setMenuId(kwsMenu1.getId());
+                kwsMenuRights.setId(new IdWorker(1L).nextId());
+                kwsMenuRights.setStatus(0);
+                kwsMenuRights.setCreateBy(userId);
+                kwsMenuRights.setCreateTime(date);
+                kwsMenuRights.setUpdateBy(userId);
+                kwsMenuRights.setUpdateTime(date);
+                kwsMenuRights.setDelFlag(0);
+                kwsMenuRightsList.add(kwsMenuRights);
+            }
+            kwsMenuRightsDao.saveBatch(kwsMenuRightsList);
+        }
+    }
 }

+ 1 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java

@@ -886,11 +886,11 @@ public class KwsEnterpriseService {
             }
 
             if (EntTypeEnum.LOGISTICS3.getCode() == kwsEntType.getType()) {
+                cooperateTypeList.add(CooperateTypeEnum.CONSIGN.getCode());
                 cooperateTypeList.add(CooperateTypeEnum.CARRIAGE.getCode());
             }
 
             if (EntTypeEnum.LOGISTICS4.getCode() == kwsEntType.getType()) {
-                cooperateTypeList.add(CooperateTypeEnum.CONSIGN.getCode());
                 cooperateTypeList.add(CooperateTypeEnum.CARRIAGE.getCode());
             }
         }

+ 34 - 10
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsMenuService.java

@@ -17,15 +17,8 @@ import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.system.dao.*;
 import com.sckw.system.model.*;
 import com.sckw.system.model.pojo.FindMenuTreePojo;
-import com.sckw.system.model.vo.req.FindMenuTreeReqVo;
-import com.sckw.system.model.vo.req.MoveMenuReqVo;
-import com.sckw.system.model.vo.req.QueryChildMenuReqVo;
-import com.sckw.system.model.vo.req.RoleBindMenuReqVo;
-import com.sckw.system.model.vo.res.FindMenuTreeResVo;
-import com.sckw.system.model.vo.res.KwsMenuResVo;
-import com.sckw.system.model.vo.res.MenuDetailResVo;
-import com.sckw.system.model.vo.res.QueryChildMenuResVo;
-import org.apache.zookeeper.Login;
+import com.sckw.system.model.vo.req.*;
+import com.sckw.system.model.vo.res.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -98,9 +91,36 @@ public class KwsMenuService {
             params.setSort(sort);
         }
 
+        long menuId = new IdWorker(1L).nextId();
+        params.setId(menuId);
         if (kwsMenuDao.insert(params) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
         }
+
+        List<FindEntListResVo> list = kwsEnterpriseDao.findList(new FindListReqVo());
+        if (CollectionUtils.isNotEmpty(list)) {
+            List<Long> entIds = list.stream().map(FindEntListResVo::getId).distinct().toList();
+            List<KwsMenuRights> kwsMenuRightsList = new ArrayList<>();
+            Date date = new Date();
+            for (Long entId : entIds) {
+                KwsMenuRights kwsMenuRights = new KwsMenuRights();
+                kwsMenuRights.setEntId(entId);
+                kwsMenuRights.setMenuId(menuId);
+                kwsMenuRights.setId(new IdWorker(1L).nextId());
+                kwsMenuRights.setDelFlag(Global.NO);
+                kwsMenuRights.setStatus(Global.NO);
+                kwsMenuRights.setCreateBy(LoginUserHolder.getUserId());
+                kwsMenuRights.setUpdateBy(LoginUserHolder.getUserId());
+                kwsMenuRights.setCreateTime(date);
+                kwsMenuRights.setUpdateTime(date);
+                kwsMenuRightsList.add(kwsMenuRights);
+            }
+
+            if (kwsMenuRightsDao.saveBatch(kwsMenuRightsList) < kwsMenuRightsList.size()) {
+                throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
+            }
+        }
+
     }
 
     /**
@@ -265,7 +285,11 @@ public class KwsMenuService {
 
     private void extracted(Long userId, FindMenuTreePojo findMenuTreePojo) {
         //运营端的管理员不做过滤
-        if (Objects.equals(LoginUserHolder.getIsMain(), Global.YES) && Objects.equals(LoginUserHolder.getSystemType(), SystemTypeEnum.MANAGE.getCode())) {
+        if (Objects.equals(LoginUserHolder.getSystemType(), SystemTypeEnum.MANAGE.getCode())) {
+            return;
+        }
+        if (Objects.equals(LoginUserHolder.getIsMain(), Global.YES)) {
+            findMenuTreePojo.setEntId(LoginUserHolder.getEntId());
             return;
         }
 

+ 3 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsRoleService.java

@@ -121,7 +121,9 @@ public class KwsRoleService {
 
         /*2、绑定菜单功能*/
         RoleBindMenuReqVo roleBindMenuReqVo = new RoleBindMenuReqVo();
-        roleBindMenuReqVo.setRoleId(roleId);
+        if (!reqVo.getIsManage()) {
+            roleBindMenuReqVo.setRoleId(roleId);
+        }
         roleBindMenuReqVo.setEntId(kwsDept.getEntId());
         roleBindMenuReqVo.setMenuIds(reqVo.getMenuIds());
         kwsMenuService.roleBindMenu(roleBindMenuReqVo);

+ 3 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsUserService.java

@@ -185,6 +185,7 @@ public class KwsUserService {
             editRoleReqVo.setCurrentUnitId(kwsDept.getId());
             editRoleReqVo.setMenuIds(String.join(Global.COMMA, kwsMenus.stream().map(KwsMenu::getId).map(String::valueOf).toList()));
             editRoleReqVo.setVisiblePersonal(false);
+            editRoleReqVo.setIsManage(true);
             kwsRoleService.add(editRoleReqVo);
         }
 
@@ -597,6 +598,8 @@ public class KwsUserService {
     public List<AreaTreeFrontResDto> test(List<Integer> list) {
         List<SysDictResDto> asdasd = remoteSystemService.queryDictByType("asdasd");
 
+
+
         return remoteSystemService.queryAreaTreeFrontByCodeList(list);
     }
 

+ 1 - 0
sckw-modules/sckw-system/src/main/resources/mapper/KwsMenuDao.xml

@@ -278,6 +278,7 @@
     </if>
     <if test="entId != null">
       and smr.ent_id = #{entId}
+      and smr.role_id is null
     </if>
     <if test="roleIds != null and roleIds.size() > 0">
       and smr.role_id in

+ 5 - 1
sckw-modules/sckw-system/src/main/resources/mapper/KwsMenuRightsDao.xml

@@ -49,7 +49,11 @@
     </foreach>
   </select>
 
-  <insert id="insert" parameterType="com.sckw.system.model.KwsMenuRights">
+    <select id="selectEntMenus" resultType="com.sckw.system.model.KwsMenuRights">
+      select * from kws_menu_rights where ent_id = #{id} and role_id is null and del_flag = 0
+    </select>
+
+    <insert id="insert" parameterType="com.sckw.system.model.KwsMenuRights">
     insert into kws_menu_rights
     <trim prefix="(" suffix=")" suffixOverrides=",">
       <if test="id != null">