package com.zy.asrs.utils;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.core.common.Cools;
|
import com.core.exception.CoolException;
|
import com.zy.asrs.constant.AsrsConstants;
|
import com.zy.asrs.entity.AgvLocMast;
|
import com.zy.asrs.service.AgvLocMastService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
import java.util.List;
|
|
@Component
|
public class LocUtils {
|
|
@Autowired
|
private AgvLocMastService agvLocMastService;
|
|
/**
|
* 查询库位
|
* @param type
|
* @param factory
|
* @return
|
*/
|
public AgvLocMast getLocNoRuleByFactory(int type, boolean isEmpty, String factory) {
|
if (Cools.isEmpty(factory)) {
|
throw new CoolException("搜索库位时,订单类型错误");
|
}
|
try {
|
EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>();
|
wrapper.eq("loc_sts", "O").eq("loc_type1", type);
|
|
if (factory.equalsIgnoreCase(AsrsConstants.ERCHANG)) {
|
if (isEmpty) {
|
wrapper.orderBy("lev1", true);
|
} else {
|
wrapper.orderBy("lev1", false);
|
}
|
} else if (factory.equalsIgnoreCase(AsrsConstants.SANCHANG)) {
|
wrapper.orderBy("lev1", true);
|
}
|
List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(wrapper);
|
|
for (AgvLocMast agvLocMast : agvLocMasts) {
|
AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo()));
|
if (agvLocMast1.getLocSts().equals("O")) {
|
return agvLocMast1;
|
}
|
}
|
throw new CoolException("搜索库位时,未找到可入库库位。");
|
} catch (Exception e) {
|
throw new CoolException("搜索库位时,未找到可入库库位。");
|
}
|
}
|
|
/**
|
* 查询库位
|
* @param type
|
* @param floor
|
* @return
|
*/
|
public AgvLocMast getLocNoRuleByFloor6(int type, Integer floor) {
|
try {
|
EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>();
|
wrapper.eq("loc_sts", "O").eq("loc_type1", type);
|
if (floor == 4) {
|
wrapper.eq("floor", 1).eq("lev1", 2).orderBy("bay1", false);
|
} else {
|
wrapper.orderBy("floor", false).orderBy("lev1", true);
|
}
|
List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(wrapper);
|
for (AgvLocMast agvLocMast : agvLocMasts) {
|
AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo()));
|
if (agvLocMast1.getLocSts().equals("O")) {
|
return agvLocMast1;
|
}
|
}
|
throw new CoolException("搜索库位时,未找到可入库库位。");
|
} catch (Exception e) {
|
throw new CoolException("搜索库位时,未找到可入库库位。");
|
}
|
}
|
}
|