struct_jo=WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '"+block_num+"'AND placement_type = '"+placement_type+"' AND row_num = '"+row_num+"' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' order by out_order_seq desc").uniqueResult(0);
}elseif(placement_type.equals("02")){
// 左通
struct_jo=WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '"+block_num+"'AND placement_type = '"+placement_type+"' AND row_num = '"+row_num+"' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' order by out_order_seq").uniqueResult(0);
}else{
// 双通
JSONArrayisLock=WQLObject.getWQLObject("st_ivt_structattr").query("lock_type not in ('4','5') AND block_num = '"+block_num+"'AND placement_type = '"+placement_type+"' AND row_num = '"+row_num+"' AND is_delete = '0' AND is_used = '1'").getResultJSONArray(0);
// 先倒序找到第一个托盘、判断上一个是否有货位
JSONObjectjsonDescBox=WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '"+block_num+"'AND placement_type = '"+placement_type+"' AND row_num = '"+row_num+"' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') <> '' order by out_order_seq DESC").uniqueResult(0);
JSONObjectjsonDescStruct=WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '"+block_num+"'AND placement_type = '"+placement_type+"' AND row_num = '"+row_num+"' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' and out_order_seq = '"+out_order_seq_desc+"'").uniqueResult(0);
if(ObjectUtil.isNotEmpty(jsonDescStruct)){
struct_jo=jsonDescStruct;
if(ObjectUtil.isEmpty(isLock)){
if(placement_type.equals("03")){
// 右通
struct_jo=WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '"+block_num+"'AND placement_type = '"+placement_type+"' AND row_num = '"+row_num+"' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' order by out_order_seq desc").uniqueResult(0);
break;
}elseif(placement_type.equals("02")){
// 左通
struct_jo=WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '"+block_num+"'AND placement_type = '"+placement_type+"' AND row_num = '"+row_num+"' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' order by out_order_seq").uniqueResult(0);
break;
}else{
// 没有就正序找到第一个托盘、判断上一个是否有货位
JSONObjectjsonAscBox=WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '"+block_num+"'AND placement_type = '"+placement_type+"' AND row_num = '"+row_num+"' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') <> '' order by out_order_seq ASC").uniqueResult(0);
JSONObjectjsonAscStruct=WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '"+block_num+"'AND placement_type = '"+placement_type+"' AND row_num = '"+row_num+"' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' and out_order_seq = '"+out_order_seq_asc+"'").uniqueResult(0);
// 双通
if(ObjectUtil.isNotEmpty(jsonAscStruct)){
struct_jo=jsonAscStruct;
// 先倒序找到第一个托盘、判断上一个是否有货位
JSONObjectjsonDescBox=WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '"+block_num+"'AND placement_type = '"+placement_type+"' AND row_num = '"+row_num+"' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') <> '' order by out_order_seq DESC").uniqueResult(0);
JSONObjectjsonDescStruct=WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '"+block_num+"'AND placement_type = '"+placement_type+"' AND row_num = '"+row_num+"' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' and out_order_seq > '"+out_order_seq+"' order by out_order_seq ASC").uniqueResult(0);
if(ObjectUtil.isNotEmpty(jsonDescStruct)){
struct_jo=jsonDescStruct;
break;
}else{
// 没有就正序找到第一个托盘、判断上一个是否有货位
JSONObjectjsonAscBox=WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '"+block_num+"'AND placement_type = '"+placement_type+"' AND row_num = '"+row_num+"' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') <> '' order by out_order_seq ASC").uniqueResult(0);
JSONObjectjsonAscStruct=WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '"+block_num+"'AND placement_type = '"+placement_type+"' AND row_num = '"+row_num+"' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' and out_order_seq < '"+out_order_seq2+"' order by out_order_seq DESC").uniqueResult(0);
if(ObjectUtil.isNotEmpty(jsonAscStruct)){
struct_jo=jsonAscStruct;
break;
}
}
}
}else{
continue;
}
}
if(ObjectUtil.isEmpty(struct_jo)){
thrownewBadRequestException("未查询到可用的空载具存放点位!");
}
@@ -333,20 +344,31 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
struct_jo=WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '"+block_num+"'AND placement_type = '"+placement_type+"' AND row_num = '"+row_num+"' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') <> '' order by out_order_seq").uniqueResult(0);
JSONArrayisLock=WQLObject.getWQLObject("st_ivt_structattr").query("lock_type not in ('4','5') AND block_num = '"+block_num+"'AND placement_type = '"+placement_type+"' AND row_num = '"+row_num+"' AND is_delete = '0' AND is_used = '1'").getResultJSONArray(0);
struct_jo=WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '"+block_num+"'AND placement_type = '"+placement_type+"' AND row_num = '"+row_num+"' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') <> '' order by out_order_seq").uniqueResult(0);
break;
}else{
struct_jo=WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '"+block_num+"'AND placement_type = '"+placement_type+"' AND row_num = '"+row_num+"' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') <> '' order by out_order_seq desc").uniqueResult(0);
break;
}
}else{
struct_jo=WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '"+block_num+"'AND placement_type = '"+placement_type+"' AND row_num = '"+row_num+"' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') <> '' order by out_order_seq desc").uniqueResult(0);
continue;
}
}
if(ObjectUtil.isEmpty(struct_jo)){
thrownewBadRequestException("未查询到可用的空载具!");
}
@@ -364,6 +386,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.