|
@@ -160,7 +160,7 @@ public class BusinessServiceImpl implements IBusinessService {
|
|
|
//排序规则 普通入库回库先放在col_no小的位置 - 1,备货入库回库放在col_no大的位置 - 2
|
|
|
if (agvCallDTO.getOrderRules() == 1) {
|
|
|
locationToList = this.convertLocation(paramLocationTo, agvCallDTO.getWarehouseId(), "col_no + 0,shift_no + 0");
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
locationToList = this.convertLocation(paramLocationTo, agvCallDTO.getWarehouseId(), "col_no + 0 desc,shift_no + 0");
|
|
|
}
|
|
|
locationFrom = this.zoneLocationAllocation(locationFromList, "locationFrom", "ASN", asnSoStrategy, agvCall, token);
|
|
@@ -329,7 +329,7 @@ public class BusinessServiceImpl implements IBusinessService {
|
|
|
continue;
|
|
|
}
|
|
|
// 根据起始库位判断目标是否可放
|
|
|
- Boolean canPut = checkLocCanPut(locationFrom, b);
|
|
|
+ Boolean canPut = checkLocCanPut(locationFrom, b, agvCallDTO.isSuperHigh());
|
|
|
if (!canPut) {
|
|
|
continue;
|
|
|
}
|
|
@@ -356,7 +356,7 @@ public class BusinessServiceImpl implements IBusinessService {
|
|
|
continue;
|
|
|
}
|
|
|
// 根据起始库位判断目标是否可放
|
|
|
- Boolean canPut = checkLocCanPut(locationFrom, b);
|
|
|
+ Boolean canPut = checkLocCanPut(locationFrom, b, agvCallDTO.isSuperHigh());
|
|
|
if (!canPut) {
|
|
|
continue;
|
|
|
}
|
|
@@ -366,7 +366,7 @@ public class BusinessServiceImpl implements IBusinessService {
|
|
|
locationInfo = b;
|
|
|
break;
|
|
|
}
|
|
|
- if(locationInfo == null) {
|
|
|
+ if (locationInfo == null) {
|
|
|
throw new ServiceException("入库目标点没有可以分配的库位", token);
|
|
|
}
|
|
|
}
|
|
@@ -460,7 +460,7 @@ public class BusinessServiceImpl implements IBusinessService {
|
|
|
* @param b
|
|
|
* @return
|
|
|
*/
|
|
|
- private boolean checkCurrentLocationCarNumber(int agvNo,BaseLocationInfo b) {
|
|
|
+ private boolean checkCurrentLocationCarNumber(int agvNo, BaseLocationInfo b) {
|
|
|
if (agvNo == 1) {
|
|
|
if (!b.getFoldedTag().equals("1")) {
|
|
|
return false;
|
|
@@ -501,16 +501,16 @@ public class BusinessServiceImpl implements IBusinessService {
|
|
|
// int agv02 = redisCache.getCacheObject(RedisKey.AGV02_TASK_NUM);
|
|
|
// return agv01 > agv02 ? 2 : 1;
|
|
|
// }
|
|
|
- return 0;
|
|
|
- }
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
|
|
|
- public Boolean checkLocCanPut(BaseLocationInfo locationFrom, BaseLocationInfo locationTo) {
|
|
|
+ public Boolean checkLocCanPut(BaseLocationInfo locationFrom, BaseLocationInfo locationTo, boolean isSuperHigh) {
|
|
|
boolean con = false;
|
|
|
- // 永湖仓储区一层高度为1600,其他为2300
|
|
|
- // 入库和回库的时候,入库位IN-02-01(200)和回库位RET-01-01(500)只能入到一层,其他的不能入到一层
|
|
|
- // 第二层有4个点限制高度1600 入库位IN-02-01(200)和回库位RET-01-01(500)可以入到这4个点
|
|
|
- if (locationFrom.getLocationNo().equals("IN-02-01") || locationFrom.getLocationNo().equals("RET-01-01")
|
|
|
- || locationFrom.getAgvStation() == 200 || locationFrom.getAgvStation() == 500) {
|
|
|
+ // 永湖仓储区一层高度为1600,二层有4个点为1600,其他为2100
|
|
|
+ // 入库和回库的时候,入库位IN-02-01(200)和回库位RET-01-01(500)没超高入库到1600的库位,超高了入库到2100
|
|
|
+ // 入库和回库的时候,入库位IN-01-01和回库位RET-02-01入库到2100,超高不可入库
|
|
|
+ if ((locationFrom.getLocationNo().equals("IN-02-01") || locationFrom.getLocationNo().equals("RET-01-01"))
|
|
|
+ && !isSuperHigh) {
|
|
|
if (locationTo.getShiftNo().equals("1")
|
|
|
|| (locationTo.getHeightLimit() != null && locationTo.getHeightLimit().compareTo(1600.0) == 0)) {
|
|
|
con = true;
|
|
@@ -582,6 +582,7 @@ public class BusinessServiceImpl implements IBusinessService {
|
|
|
wcsTask.setExt5(agvCallDTO.getPalletNo());
|
|
|
wcsTask.setExt4(agvCallDTO.getTaskType());// 任务类型
|
|
|
wcsTask.setExtParam(agvCallDTO.getExtParam());
|
|
|
+ wcsTask.setRemark(agvCallDTO.getAgvCallItemDTOList().get(0).isSuperHigh() ? "超高!" : "");
|
|
|
wcsTaskList.add(wcsTask);
|
|
|
businessService.addTask(wcsTask);
|
|
|
// 入库任务,记录当前是哪辆车接了任务
|