自动化立体仓库 - WMS系统
zhangc
2025-02-08 0379bbe120f509f8c330713958b59687d25b80b3
src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
@@ -1,6 +1,5 @@
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;
@@ -8,7 +7,10 @@
import com.core.common.Cools;
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
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;
@@ -93,18 +95,20 @@
    }
    public double queryStockAndSetLocDto(String matnr, String batch, String orderNo, List<LocDto> locDtoList, double issued, String csocode, String isoseq, String type) {
    public double queryStockAndSetLocDto(String matnr, String batch, String orderNo, List<LocDto> locDtoList, double issued, String csocode, String isoseq, String type2) {
        //根据物料号和批次找到对应的库存,并且按照修改时间排序
        Wrapper<AgvLocDetl> wrapper = new EntityWrapper<AgvLocDetl>().eq("matnr", matnr).orderBy("modi_time");
        if (type != null) {
            wrapper.notLike("loc_no", "F1");
        }
//        if (type != null) {
//            wrapper.notLike("loc_no", "F1");
//        }
        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");
        } else {
            wrapper.ne("process_sts", "1");
        }
        List<AgvLocDetl> agvLocDetls = this.selectList(wrapper);
@@ -136,7 +140,37 @@
                //locDto.setAgvStaNos(queryAgvStaNosByFloor(floor));
                //四期
                //locDto.setAgvStaNos(agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1(), floor));
                locDto.setAgvStaNos(agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1()));
                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;