czh 2 yıl önce
ebeveyn
işleme
2b2592f3f7

+ 9 - 0
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/RemoteSystemService.java

@@ -76,6 +76,15 @@ public interface RemoteSystemService {
      */
     List<SysDictResDto> queryDictBottom(String type, String value);
 
+    /**
+     * @param type 字典类型 value key
+     * @return SysDictResDto
+     * @desc: 根据字典类型和key的数据
+     * @author: czh
+     * @date: 2023/7/7
+     */
+    List<SysDictResDto> queryDictFrontAll(String type, String value);
+
     /**
      * @param type 字典类型,value key
      * @return SysDictGroupResDto

+ 1 - 1
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/LogisticsBaseInfoReqVo.java

@@ -40,7 +40,7 @@ public class LogisticsBaseInfoReqVo implements Serializable {
     /**
      * 计费方式(1按装货量、2按卸货量、3按车次)
      */
-    @NotNull(message = "计费方式不能为空")
+//    @NotNull(message = "计费方式不能为空")
     private Integer charging;
 
     /**

+ 1 - 1
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/TradeBaseInfoReqVo.java

@@ -37,7 +37,7 @@ public class TradeBaseInfoReqVo implements Serializable {
     /**
      * 付款方式 1预付款、2货到付款
      */
-    @NotNull(message = "付款方式不能为空")
+//    @NotNull(message = "付款方式不能为空")
     private Integer trading;
 
     /**

+ 7 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsMenuController.java

@@ -149,4 +149,11 @@ public class KwsMenuController {
     public HttpResult queryMapping(@Valid @RequestBody QueryMappingReqVo reqVo) {
         return HttpResult.ok(kwsMenuService.queryMapping(reqVo.getMenuId()));
     }
+
+    @GetMapping("/test")
+    public HttpResult test(@RequestParam String ids) {
+        return HttpResult.ok(kwsMenuService.test(ids));
+    }
+
+
 }

+ 34 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteSystemServiceImpl.java

@@ -230,6 +230,40 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
         return BeanUtils.copyToList(checkNextLevelDict(sysDictGroupResDto.getChild()), SysDictResDto.class);
     }
 
+    @Override
+    public List<SysDictResDto> queryDictFrontAll(String type, String value) {
+        if (StringUtils.isBlank(type) || StringUtils.isBlank(value)) {
+            return Collections.emptyList();
+        }
+
+        SysDict sysDict = sysDictDao.queryByTypeAndValue(type, value);
+        if (Objects.isNull(sysDict)) {
+            return Collections.emptyList();
+        }
+
+        List<SysDictResDto> list = new ArrayList<>();
+        getFrontAll(sysDict, list);
+        List<SysDictResDto> result = new ArrayList<>();
+        for (int n = list.size() - 1; n >= 0; n--) {
+            result.add(list.get(n));
+        }
+        return result;
+    }
+
+    private void getFrontAll(SysDict sysDict, List<SysDictResDto> list) {
+        String parentId = sysDict.getParentId();
+        SysDictResDto sysDictResDto = new SysDictResDto();
+        BeanUtils.copyProperties(sysDict, sysDictResDto);
+        list.add(sysDictResDto);
+
+        if (String.valueOf(Global.NUMERICAL_ZERO).equals(parentId)) {
+            return;
+        }
+
+        SysDict sysDict1 = sysDictDao.selectByKey(Long.valueOf(parentId));
+        getFrontAll(sysDict1, list);
+    }
+
     private List<SysDictGroupResDto> checkNextLevelDict(List<SysDictGroupResDto> list) {
         if (CollectionUtils.isEmpty(list)) {
             return Collections.emptyList();

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

@@ -906,7 +906,7 @@ public class KwsEnterpriseService {
             types.addAll(listByEntIds.stream().map(KwsEntType::getType).toList());
         }
 
-        if (Objects.nonNull(isAll) && isAll) {
+        if (Objects.isNull(isAll) || isAll) {
             List<KwsEntType> approvalByEntId = kwsEntTypeDao.findApprovalByEntId(kwsEnterprise.getId());
             if (CollectionUtils.isNotEmpty(approvalByEntId)) {
                 types.addAll(approvalByEntId.stream().map(KwsEntType::getType).toList());

+ 23 - 4
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsMenuService.java

@@ -15,6 +15,7 @@ import com.sckw.core.model.enums.SystemTypeEnum;
 import com.sckw.core.utils.BeanUtils;
 import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.utils.IdWorker;
+import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.system.dao.*;
@@ -382,13 +383,15 @@ public class KwsMenuService {
      * @date: 2023/6/13
      */
     public void roleBindMenu(RoleBindMenuReqVo reqVo) {
-        String[] split = reqVo.getMenuIds().split(",");
-        List<KwsMenuRights> list = new ArrayList<>();
+        List<Long> menuIdList = Arrays.stream(reqVo.getMenuIds().split(Global.COMMA)).map(Long::parseLong).collect(Collectors.toList());
+        List<Long> allMenus = getAllMenus(menuIdList, new ArrayList<>());
+        allMenus = allMenus.stream().distinct().toList();
         Date date = new Date();
-        for (String menuId : split) {
+        List<KwsMenuRights> list = new ArrayList<>();
+        for (Long menuId : allMenus) {
             KwsMenuRights kwsMenuRights = new KwsMenuRights();
             kwsMenuRights.setEntId(reqVo.getEntId());
-            kwsMenuRights.setMenuId(Long.parseLong(menuId));
+            kwsMenuRights.setMenuId(menuId);
             kwsMenuRights.setRoleId(reqVo.getRoleId());
             kwsMenuRights.setId(new IdWorker(1L).nextId());
             kwsMenuRights.setRemark(reqVo.getRemark());
@@ -406,6 +409,19 @@ public class KwsMenuService {
         }
     }
 
+    public List<Long> getAllMenus(List<Long> menuIdList, List<Long> list) {
+        List<KwsMenu> menuList = kwsMenuDao.selectByKeys(menuIdList);
+        List<KwsMenu> childList = menuList.stream().filter(item -> !item.getParentId().equals(0L)).toList();
+        if (CollectionUtils.isEmpty(childList)) {
+            list.addAll(menuList.stream().map(KwsMenu::getId).toList());
+            return list;
+        }
+
+        list.addAll(childList.stream().map(KwsMenu::getId).toList());
+        return getAllMenus(childList.stream().map(KwsMenu::getParentId).collect(Collectors.toList()), list);
+    }
+
+
     public List<KwsMenu> selectAll() {
         return kwsMenuDao.selectAll();
     }
@@ -535,4 +551,7 @@ public class KwsMenuService {
         return list;
     }
 
+    public List<Long> test(String ids) {
+        return getAllMenus(StringUtils.splitStrToList(ids, Long.class), new ArrayList<>());
+    }
 }

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

@@ -17,6 +17,7 @@ import com.sckw.system.api.model.dto.req.UpdatePasswordReqDto;
 import com.sckw.system.api.model.dto.res.AreaTreeFrontResDto;
 import com.sckw.system.api.model.dto.res.KwsUserResDto;
 import com.sckw.system.api.model.dto.res.RegisterResDto;
+import com.sckw.system.api.model.dto.res.SysDictResDto;
 import com.sckw.system.dao.*;
 import com.sckw.system.dubbo.RemoteSystemServiceImpl;
 import com.sckw.system.model.*;
@@ -617,9 +618,7 @@ public class KwsUserService {
     }
 
     public List<AreaTreeFrontResDto> test(List<Integer> list) {
-        Integer integer = transportStatisticsService.statisticsLogistics(123L);
-        List<Long> longs = LoginUserHolder.getAuthUserIdList();
-
+        List<SysDictResDto> sysDictResDtos = remoteSystemService.queryDictFrontAll("product_name_type", "2");
         return null;
     }
 

+ 0 - 3
sckw-modules/sckw-system/src/main/resources/mapper/KwsEntTypeDao.xml

@@ -207,7 +207,4 @@
      and a.del_flag = 0 and a.status = 0
   </select>
 
-
-
-
 </mapper>

+ 3 - 0
sckw-modules/sckw-system/src/main/resources/mapper/KwsEnterpriseDao.xml

@@ -96,6 +96,9 @@
     left join kws_user k on a.create_by = k.id
     left join kws_user ku on a.update_by = ku.id
     left join kws_ent_type b on a.id = b.ent_id and b.del_flag = 0
+        <if test="dto.approval == null or (dto.approval != null and dto.approval != 2)">
+            and b.status != 1
+        </if>
     left join kws_ent_dep c on a.id = c.ent_id
     left join kws_enterprise d on c.ent_pid = d.id
     where a.del_flag = 0