| | |
| | | package com.zy.asrs.service.impl; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.mapper.Wrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | |
| | | import com.core.common.Cools; |
| | | import com.core.common.SnowflakeIdWorker; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.constant.AsrsConstants; |
| | | import com.zy.asrs.entity.AgvLocDetl; |
| | | import com.zy.asrs.entity.AgvLocMast; |
| | | import com.zy.asrs.entity.AgvWrkDetl; |
| | | import com.zy.asrs.entity.OrderDetl; |
| | | import com.zy.asrs.mapper.AgvLocDetlMapper; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.utils.Utils; |
| | |
| | | long flowId = snowflakeIdWorker.nextId(); |
| | | agvWrkDetls.stream().map(agvWrkDetl -> { |
| | | AgvLocDetl agvLocDetl = new AgvLocDetl(); |
| | | log.info("agvWrkDetl: " + agvLocDetl.getBarcode()); |
| | | //log.info("agvWrkDetl: " + agvLocDetl.getBarcode()); |
| | | BeanUtils.copyProperties(agvWrkDetl, agvLocDetl); |
| | | agvLocDetl.setLocNo(locNo); |
| | | log.info("zc添加库存日志:{}", JSON.toJSON(agvLocDetl)); |
| | | //log.info("zc添加库存日志:{}", JSON.toJSON(agvLocDetl)); |
| | | this.insert(agvLocDetl); |
| | | // 流水 -- 新增订单明细 |
| | | OrderDetl orderDetl = orderDetlService.selectItem(agvWrkDetl.getOrderNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode()); |
| | |
| | | //根据物料号和批次找到对应的库存,并且按照修改时间排序 |
| | | Wrapper<AgvLocDetl> wrapper = new EntityWrapper<AgvLocDetl>().eq("matnr", matnr).orderBy("modi_time"); |
| | | if (type != null) { |
| | | wrapper.notLike("loc_no", "F1"); |
| | | if (type.equals(AsrsConstants.ERCHANG)) { |
| | | wrapper.notLike("loc_no", "F3"); |
| | | } else { |
| | | if (matnr.startsWith("401") || matnr.startsWith("402")) { |
| | | //wrapper.notLike("loc_no", "F3"); |
| | | } else { |
| | | wrapper.notLike("loc_no", "F1"); |
| | | } |
| | | } |
| | | } |
| | | wapperSetCondition(wrapper, "batch", batch); |
| | | //一直有PE带批次字段导致,无法出库,就注释掉 |
| | | //wapperSetCondition(wrapper, "batch", batch); |
| | | wapperSetCondition(wrapper, "three_code", csocode); |
| | | wapperSetCondition(wrapper, "dead_time", isoseq); |
| | | //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) { |
| | | //判断当前库位货物是否F在库 |
| | |
| | | //当前库位所处楼层 |
| | | int floor = Integer.parseInt(agvLocDetl.getLocNo().split("F")[1]); |
| | | //locDto.setAgvStaNos(queryAgvStaNosByFloor(floor)); |
| | | locDto.setAgvStaNos(agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1(), floor)); |
| | | //四期 |
| | | //locDto.setAgvStaNos(agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1(), floor)); |
| | | |
| | | List<String> strings = agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1()); |
| | | List<String> agvStaNos = new ArrayList<>(); |
| | | if (agvLocDetl.getLocNo().contains("01F1")) { |
| | | for (String string : strings) { |
| | | if (string.contains("F1") || string.contains("F4")) { |
| | | agvStaNos.add(string); |
| | | } |
| | | } |
| | | } else if (agvLocDetl.getLocNo().contains("02F1")) { |
| | | for (String string : strings) { |
| | | if (string.contains("F1") || string.contains("F4")) { |
| | | agvStaNos.add(string); |
| | | } |
| | | } |
| | | } else if (agvLocDetl.getLocNo().contains("F2")) { |
| | | for (String string : strings) { |
| | | if (string.contains("F2") || string.contains("F4")) { |
| | | agvStaNos.add(string); |
| | | } |
| | | } |
| | | } else if (agvLocDetl.getLocNo().contains("F3")) { |
| | | for (String string : strings) { |
| | | if (string.contains("F3")) { |
| | | agvStaNos.add(string); |
| | | } |
| | | } |
| | | } else { |
| | | agvStaNos = strings; |
| | | } |
| | | locDto.setAgvStaNos(agvStaNos); |
| | | locDtoList.add(locDto); |
| | | |
| | | issued -= anfme; |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | /* |
| | | 更新库存明细 |
| | | */ |