自动化立体仓库 - WMS系统
#
whycq
2024-09-03 ead73e3697fdb4e2a3de786a82393cd28a6c0e01
src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
@@ -68,6 +68,10 @@
        wapperSetCondition(wrapper,"three_code",csocode);
        wapperSetCondition(wrapper,"dead_time",isoseq);
        if ("JG".equals(orderNo.substring(0,2))) {
            wapperSetCondition(wrapper,"process_sts","1");
        }
        List<AgvLocDetl> agvLocDetls = this.selectList(wrapper);
        for (AgvLocDetl agvLocDetl: agvLocDetls) {
@@ -86,14 +90,15 @@
                String orderNoWrkDtel = Utils.getOrderNo(orderNo,anfme);
                //更新订单数量
                orderNo = Utils.orderMergeUpdate(orderNo,anfme);
                LocDto locDto = new LocDto(agvLocDetl.getLocNo(), agvLocDetl.getMatnr(), agvLocDetl.getMaktx(), agvLocDetl.getBatch(), orderNoWrkDtel, anfme);
                LocDto locDto = new LocDto(agvLocDetl.getLocNo(), agvLocDetl.getMatnr(), agvLocDetl.getMaktx(), agvLocDetl.getBatch(), orderNoWrkDtel, anfme,agvLocDetl.getProcessSts());
                locDto.setCsocode(csocode);
                locDto.setIsoseq(isoseq);
                locDto.setContainerCode(agvLocDetl.getSuppCode());
                locDto.setProcessSts(agvLocDetl.getProcessSts());
                //当前库位所处楼层
                int floor = Integer.parseInt(agvLocDetl.getLocNo().split("F")[1]);
                //locDto.setAgvStaNos(queryAgvStaNosByFloor(floor));
                locDto.setAgvStaNos(agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1()));
                locDto.setAgvStaNos(agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1(),floor));
                locDtoList.add(locDto);
                issued -= anfme;
@@ -117,9 +122,34 @@
        return page;
    }
    @Override
    public Double getSumAnfme(String matnr, String threeCode) {
        return this.baseMapper.selectSumAnfmeByMatnr(matnr, threeCode);
    }
    @Override
    public Double getSumAnfmeProcess(String matnr, String threeCode) {
        return this.baseMapper.selectSumAnfmeByMatnrProcess(matnr, threeCode);
    }
    @Override
    public Double getSumAnfmeProcessed(String matnr, String threeCode) {
        return this.baseMapper.selectSumAnfmeByMatnrProcessed(matnr, threeCode);
    }
    @Override
    public Double getSumAnfmeDb(String matnr, String threeCode,Integer floor) {
        return this.baseMapper.selectSumAnfmeByMatnr2(matnr, threeCode, floor);
    }
    @Override
    public Double getSumAnfmeback(String matnr, String threeCode,Integer floor) {
        return this.baseMapper.getSumAnfmeback(matnr, threeCode, floor);
    }
    /*
    获取库存总数
     */
        获取库存总数
         */
    public Integer sum() {
        return this.baseMapper.sum();
    }
@@ -160,7 +190,22 @@
        } else {
            AgvLocDetl agvLocDetl = this.selectOne(wrapper);
            agvLocDetl.setAnfme(anfme);
            agvLocDetl.setModiTime(new Date());
            return this.baseMapper.updateAnfme(locNo,anfme,matnr,batch,csocode,isocode) > 0;
        }
    }
    public boolean updateAnfmeProcess(Double anfme, String locNo, String matnr, String batch, String csocode, String isocode, Integer process) {
        EntityWrapper<AgvLocDetl> wrapper = new EntityWrapper<>();
        wrapper.eq("loc_no", locNo);
        Utils.confirmOnlyMat(wrapper,matnr,batch,csocode,isocode);
        if (anfme <= 0) {
            return this.baseMapper.deleteLocDetl(locNo,anfme,matnr,batch,csocode,isocode) > 0;
        } else {
            AgvLocDetl agvLocDetl = this.selectOne(wrapper);
            agvLocDetl.setAnfme(anfme);
            agvLocDetl.setModiTime(new Date());
            return this.baseMapper.updateAnfmeProcess(locNo,anfme,matnr,batch,csocode,isocode,process) > 0;
        }
    }
@@ -240,15 +285,15 @@
            Row row = sheet.getRow(i);
            // 库位号
            String locNo = dataFormatter.formatCellValue(row.getCell(0));
            // 容器码
            // 货架码
            String containerCode = dataFormatter.formatCellValue(row.getCell(1));
            List<AgvLocDetl> agvLocDetls = this.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo).eq("supp_code", containerCode));
            if(Cools.isEmpty(agvLocDetls)){
                log.info("库位号:" + locNo + ",容器码:" + containerCode + ",不存在明细");
                log.info("库位号:" + locNo + ",货架码:" + containerCode + ",不存在明细");
            }
            if(agvLocDetls.size()>1){
                log.info("库位号:" + locNo + ",容器码:" + containerCode + ",存在1条以上记录");
                log.info("库位号:" + locNo + ",货架码:" + containerCode + ",存在1条以上记录");
            }
        }
    }