ferrero项目记录

1、序列码上显示from to

form to 来自于custom,以及其他的比如工厂 RDC

设置的时候都是code,展示的需要展示name。

并且一个name 可能有多个code

设置一张表loction进行维护,custon数据过来的时候 获取其中的code 和name save到loction表

code 设置唯一索引。

然后展示的时候,根据code去查询name即可

2、根据发货地查询

分享图片

 

 

这个入库单过来的时候,发货地 from存储的是code,展示的时候是name。

所以搜索的时候将name转换成code,根据code去表里查询。并且一个name可能有多个code,

所以根据name查询到多个code,然后 in 查询即可。

如果一开始就知道所有的code,存储入库单的时候就可以存储code 和name 这样可以直接查询入库单表

 

List<String> codes = getlocCode(param.getFrom());
            String snListString = codes.stream().collect(Collectors.joining(","));
            log.info("code="+snListString);
            query.addCriteria(Criteria.where("from").in(codes));

 private List<String> getlocCode(String name){
        List<Location> byName = locationRepository.findByName(name);
        List<String> codes = byName.stream().map(Location::getName).collect(Collectors.toList());

        if(ListUtil.isNotEmpty(codes)){
            return codes;
        }else{
            log.info("根据name"+name+"未查询到Loc");
            List<String> names = new ArrayList<>();
            names.add(name);
            return names;
        }
    }

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...