自动化立体仓库 - WMS系统
#
whycq
2024-04-16 2002142e29ed84ae83d55a9ceedb90d13ef84aaf
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -39,11 +39,11 @@
    }
    @Override
    public boolean updateAnfme(Double anfme, String locNo, String matnr, String batch) {
    public boolean updateAnfme(Double anfme, String locNo, String matnr, String batch, String containerCode, String csoCode, String isoCode) {
        if (anfme <= 0) {
            return this.baseMapper.deleteItem(locNo, matnr, batch) > 0;
            return this.baseMapper.deleteItem(locNo, matnr, batch, containerCode, csoCode, isoCode) > 0;
        } else {
            return baseMapper.updateAnfme(anfme, locNo, matnr, batch) > 0;
            return baseMapper.updateAnfme(anfme, locNo, matnr, batch, containerCode, csoCode, isoCode) > 0;
        }
    }
@@ -55,6 +55,11 @@
    @Override
    public List<String> getSameDetl(String matnr) {
        return this.baseMapper.selectSameDetl(matnr);
    }
    @Override
    public List<String> getSameLevDetl(String matnr, Integer lev) {
        return this.baseMapper.selectSameLevDetl(matnr, lev);
    }
    @Override
@@ -118,9 +123,21 @@
                double anfme = locDetl.getAnfme();
                int ioType = anfme > issued ? 103 : 101;
                anfme = anfme > issued ? issued : anfme;
                LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderNo, anfme);
                //用于显示工作明细档的订单号
                String orderNoWrkDtel = Utils.getOrderNo(orderNo,anfme);
                //更新订单数量
                orderNo = Utils.orderMergeUpdate(orderNo,anfme);
                LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderNoWrkDtel, anfme);
                List<Integer> outSite = basDevpService.getAvailableOutSite(101);
                List<Integer> pickOutSite = basDevpService.getAvailableOutSite(103);
                pickOutSite.forEach(site -> {
                    if(!outSite.contains(site)){
                        outSite.add(site);
                    }
                });
                locDto.setStaNos(outSite);
                locDto.setCsocode(csocode);
@@ -218,10 +235,10 @@
        return this.baseMapper.selectLocNo(matnr);
    }
    public Set<String> selectLocNo(String matnr, String batch, String csocode, String isocode) {
    public Set<String> selectLocNos(String matnr) {
        Wrapper<LocDetl> wrapper = new EntityWrapper<LocDetl>().eq("matnr", matnr);
        Utils.confirmOnlyMat(wrapper,matnr,batch,csocode,isocode);
        //Utils.confirmOnlyMat(wrapper,matnr,batch,csocode,isocode);
        List<LocDetl> locDetls = this.selectList(wrapper);
        Set<String> locNos = new HashSet<>();
@@ -233,6 +250,16 @@
    }
    public LocDetl selectByContainerCode(String containerCode) {
        return this.selectOne(new EntityWrapper<LocDetl>().eq("supp_code",containerCode));
    }
    @Override
    public List<LocDetl> selectByLocWithoutContainer(String locNo) {
        return this.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locNo)
                .andNew().eq("supp_code", "").or().isNull("supp_code"));
    }
    @Override
    public int updateStockFreeze(String matnr, String locNo, Integer stockFreeze) {
        return this.baseMapper.updateStockFreeze(matnr, locNo, stockFreeze);
@@ -242,7 +269,7 @@
        if(Cools.isEmpty(condition)){
            wrapper.andNew().eq(column,"").or().isNull(column);
        }else {
            wrapper.eq(column,condition);
            wrapper.andNew().eq(column,condition);
        }
    }
@@ -279,30 +306,5 @@
            }
        }
        return locDetlsResort;
    }
    public static void main(String[] args) {
        List<LocDetl> locDetls = new ArrayList<>();
        LocDetl locDetl2 = new LocDetl();
        locDetl2.setLocNo("aaa1");
        LocDetl locDetl3 = new LocDetl();
        locDetl3.setLocNo("aaa2");
        locDetls.add(locDetl2);
        locDetls.add(locDetl3);
        System.out.println(locDetls.size());
        Set<LocDetl> set = new LinkedHashSet<>();
        LocDetl locDetl = new LocDetl();
        LocDetl locDetl1 = new LocDetl();
        locDetl.setLocNo("aaa");
        locDetl1.setLocNo("aaa");
        set.add(locDetl);
        set.add(locDetl1);
        set.addAll(locDetls);
        System.out.println(set);
        System.out.println(set.size());
    }
}