@ -23,12 +23,16 @@ import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject ;
import org.nl.modules.wql.util.SpringContextHolder ;
import org.nl.modules.wql.util.WqlUtil ;
import org.nl.wms.basedata.master.customer.service.dao.Customerbase ;
import org.nl.wms.basedata.master.storagevehicleinfo.service.dao.Storagevehicleex ;
import org.nl.wms.basedata.master.storagevehicleinfo.service.dao.mapper.StoragevehicleexMapper ;
import org.nl.wms.basedata.st.structattr.service.dao.Structattr ;
import org.nl.wms.basedata.st.structattr.service.dao.mapper.StructattrMapper ;
import org.nl.wms.basedata.st.service.impl.UserStorServiceImpl ;
import org.nl.wms.pda.mps.eum.RegionTypeEnum ;
import org.nl.wms.sch.manage.TaskStatusEnum ;
import org.nl.wms.sch.tasks.OutTask ;
import org.nl.wms.st.inbill.service.CheckOutBillService ;
import org.nl.wms.st.inbill.service.RawAssistIStorService ;
import org.nl.wms.st.inbill.service.StorPublicService ;
import org.nl.wms.st.instor.movestor.service.HandMoveStorService ;
@ -42,7 +46,6 @@ import org.nl.wms.st.instor.movestor.service.dto.MoveStorDtlQuery;
import org.nl.wms.st.instor.movestor.service.dto.MoveStorQuery ;
import org.nl.wms.st.instor.task.EmpMoveTask ;
import org.nl.wms.st.instor.task.HandMoveStorAcsTask ;
import org.nl.wms.st.outbill.service.impl.CheckOutBillServiceImpl ;
import org.springframework.beans.factory.annotation.Autowired ;
import org.springframework.data.domain.Pageable ;
import org.springframework.stereotype.Service ;
@ -57,6 +60,8 @@ import java.util.*;
@Slf4j
public class HandMoveStorServiceImpl extends ServiceImpl < MoveStorMapper , MoveStor > implements HandMoveStorService {
private final StorPublicService storPublicService ;
@Autowired
private CheckOutBillService checkOutBillService ;
private final HandMoveStorAcsTask handMoveStorAcsTask ;
@ -71,6 +76,8 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
private MoveStorDtlMapper moveStorDtlMapper ;
@Autowired
private StructattrMapper structattrMapper ;
@Autowired
private StoragevehicleexMapper storagevehicleexMapper ;
@Override
@ -110,8 +117,6 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
WQLObject wo_Task = WQLObject . getWQLObject ( "SCH_BASE_Task" ) ;
//点位表
WQLObject wo_Point = WQLObject . getWQLObject ( "sch_base_point" ) ;
//仓位表
WQLObject wo_Attr = WQLObject . getWQLObject ( "st_ivt_structattr" ) ;
String currentUserId = SecurityUtils . getCurrentUserId ( ) ;
String nickName = SecurityUtils . getCurrentNickName ( ) ;
@ -169,9 +174,12 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
jsonPoint . put ( "vehicle_code" , "" ) ;
wo_Point . update ( jsonPoint ) ;
JSONObject jsonAttr = wo_Attr . query ( "struct_code = '" + point_code2 + "'" ) . uniqueResult ( 0 ) ;
jsonAttr . put ( "storagevehicle_code" , "" ) ;
wo_Attr . update ( jsonAttr ) ;
//更新仓位
LambdaUpdateWrapper < Structattr > queryWrapper = new LambdaUpdateWrapper < Structattr > ( ) ;
queryWrapper . eq ( Structattr : : getStruct_code , point_code2 )
. eq ( Structattr : : getIs_delete , "0" ) ;
queryWrapper . set ( Structattr : : getStoragevehicle_code , "" ) ;
structattrMapper . update ( null , queryWrapper ) ;
}
/ * *
@ -182,8 +190,6 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
public void deleteByIdTwo ( String moveinv_id ) {
//任务表
WQLObject wo_Task = WQLObject . getWQLObject ( "SCH_BASE_Task" ) ;
//仓位表
WQLObject wo_Attr = WQLObject . getWQLObject ( "st_ivt_structattr" ) ;
String currentUserId = SecurityUtils . getCurrentUserId ( ) ;
String nickName = SecurityUtils . getCurrentNickName ( ) ;
@ -239,10 +245,12 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
jo_mst . setUpdate_time ( now ) ;
moveStorMapper . updateById ( jo_mst ) ;
// 更新移入仓位
JSONObject jsonAttr = wo_Attr . query ( "struct_code = '" + point_code2 + "'" ) . uniqueResult ( 0 ) ;
jsonAttr . put ( "storagevehicle_code" , "" ) ;
wo_Attr . update ( jsonAttr ) ;
//更新仓位
LambdaUpdateWrapper < Structattr > queryWrapper = new LambdaUpdateWrapper < Structattr > ( ) ;
queryWrapper . eq ( Structattr : : getStruct_code , point_code2 )
. eq ( Structattr : : getIs_delete , "0" ) ;
queryWrapper . set ( Structattr : : getStoragevehicle_code , "" ) ;
structattrMapper . update ( null , queryWrapper ) ;
}
@ -300,7 +308,6 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
@Transactional ( rollbackFor = Exception . class )
public JSONObject roadInsertDtl ( JSONObject map ) {
WQLObject attrTab = WQLObject . getWQLObject ( "st_ivt_structattr" ) ;
/ *
1 . 货位上是空托盘 : 直接生成点对点任务
2 . 货位上是木箱 : 走正常流程
@ -310,38 +317,52 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
String block_num = map . getString ( "block_num" ) ;
// 判断此区有没有被锁住的货位
JSONArray resultJSONArray = attrTab . query ( "block_num = '" + block_num + "' and is_used = '1' and is_delete = '0' and row_num = '7' and lock_type <> '1'" ) . getResultJSONArray ( 0 ) ;
if ( ObjectUtil . isNotEmpty ( resultJSONArray ) ) {
LambdaQueryWrapper < Structattr > queryWrapper = new LambdaQueryWrapper < Structattr > ( ) ;
queryWrapper . eq ( ObjectUtil . isNotEmpty ( block_num ) , Structattr : : getBlock_num , block_num )
. eq ( Structattr : : getRow_num , "7" )
. eq ( Structattr : : getIs_used , "1" )
. eq ( Structattr : : getIs_delete , "0" )
. ne ( Structattr : : getLock_type , "1" ) ;
Integer listsize = structattrMapper . selectCount ( queryWrapper ) ;
if ( listsize > 0 ) {
throw new BadRequestException ( "有正在运行的任务或已锁定未生成任务" ) ;
}
// 找出所有货位
JSONArray boxArr = attrTab . query ( "block_num = '" + block_num + "' and is_used = '1' and is_delete = '0' and IFNULL(storagevehicle_code,'') <> '' and lock_type = '1' and row_num = '7' order by out_order_seq DESC" ) . getResultJSONArray ( 0 ) ;
LambdaQueryWrapper < Structattr > queryWrapperAll = new LambdaQueryWrapper < Structattr > ( ) ;
queryWrapperAll . eq ( ObjectUtil . isNotEmpty ( block_num ) , Structattr : : getBlock_num , block_num )
. eq ( Structattr : : getRow_num , "7" )
. eq ( Structattr : : getIs_used , "1" )
. eq ( Structattr : : getIs_delete , "0" )
. eq ( Structattr : : getLock_type , "1" )
. ne ( Structattr : : getStoragevehicle_code , "" )
. isNotNull ( Structattr : : getStoragevehicle_code )
. orderByDesc ( Structattr : : getOut_order_seq ) ;
List < Structattr > boxArr = structattrMapper . selectList ( queryWrapperAll ) ;
// 判断是否是空托盘区
boolean is_ktp = boxArr . stream ( )
. map ( row - > ( JSONObject ) row )
. anyMatch ( row - > StrUtil . equals ( row . getString ( "sect_code" ) , "KTP01" ) ) ;
. anyMatch ( row - > StrUtil . equals ( row . getSect_code ( ) , "KTP01" ) ) ;
JSONArray dtlArr = new JSONArray ( ) ;
if ( is_ktp ) {
// 空托盘
for ( int i = 0 ; i < boxArr . size ( ) ; i + + ) {
JSONObject json = boxArr . getJSONObjec t ( i ) ;
Structattr json = boxArr . get ( i ) ;
// 调用空托盘入库
JSONObject param = new JSONObject ( ) ;
param . put ( "block_num" , json . getString ( "block_num" ) ) ;
param . put ( "row_num" , json . getString ( "row_num" ) ) ;
JSONObject jsonEmp = queryEmp ( param ) ;
param . put ( "block_num" , json . getBlock_num ( ) ) ;
param . put ( "row_num" , json . getRow_num ( ) ) ;
Structattr jsonEmp = queryEmp ( param ) ;
// 生成空托盘移库任务
JSONObject param2 = new JSONObject ( ) ;
param2 . put ( "task_type" , "010505" ) ;
param2 . put ( "task_name" , "空托盘转库任务" ) ;
param2 . put ( "vehicle_code" , json . getString ( "storagevehicle_code" ) ) ;
param2 . put ( "point_code1" , json . getString ( "struct_code" ) ) ;
param2 . put ( "point_code2" , jsonEmp . getString ( "struct_code" ) ) ;
param2 . put ( "vehicle_code" , json . getStoragevehicle_code ( ) ) ;
param2 . put ( "point_code1" , json . getStruct_code ( ) ) ;
param2 . put ( "point_code2" , jsonEmp . getStruct_code ( ) ) ;
String task_id = empMoveTask . createTask ( param2 ) ;
// 下发任务
@ -350,20 +371,19 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
} else {
// 货位
for ( int i = 0 ; i < boxArr . size ( ) ; i + + ) {
JSONObject json = boxArr . getJSONObject ( i ) ;
Structattr json = boxArr . get ( i ) ;
// 找到一个移入货位
JSONObject moveParam = new JSONObject ( ) ;
moveParam . put ( "box_no" , json . getString ( "storagevehicle_code" ) ) ;
moveParam . put ( "box_no" , json . getStoragevehicle_code ( ) ) ;
moveParam . put ( "sect_id" , RegionTypeEnum . ZZ01 . getId ( ) ) ;
moveParam . put ( "layer_num" , json . getString ( "layer_num" ) ) ;
moveParam . put ( "layer_num" , json . getLayer_num ( ) ) ;
JSONObject jsonMove = rawAssistIStorService . autoDisMove ( moveParam ) ;
if ( ObjectUtil . isEmpty ( jsonMove ) ) {
throw new BadRequestException ( "没有可用暂存位" ) ;
}
List < BoxIvt > jsonIvt = moveStorDtlMapper . getStoragevehicleIvtByPackageBoxSn ( json . getString ( "storagevehicle_code" ) ) ;
List < BoxIvt > jsonIvt = moveStorDtlMapper . getStoragevehicleIvtByPackageBoxSn ( json . getStoragevehicle_code ( ) ) ;
jsonIvt . forEach ( boxIvt - > {
JSONObject row = ( JSONObject ) JSONObject . toJSON ( boxIvt ) ;
row . put ( "wrok_status" , "01" ) ;
@ -376,7 +396,9 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
dtlArr . add ( row ) ;
} ) ;
jsonMove . put ( "lock_type" , "7" ) ;
attrTab . update ( jsonMove ) ;
Structattr structattr = new Structattr ( ) ;
structattr . copyFrom ( jsonMove ) ;
structattrMapper . updateById ( structattr ) ;
}
}
map . put ( "tableData" , dtlArr ) ;
@ -384,12 +406,14 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
}
@Transactional ( rollbackFor = Exception . class )
public JSONObject queryEmp ( JSONObject whereJson ) {
public Structattr queryEmp ( JSONObject whereJson ) {
whereJson . put ( "flag" , "21" ) ;
JSONArray emptyArr = WQL . getWO ( "QST_IVT_RAWASSISTISTOR" ) . addParamMap ( whereJson ) . process ( ) . getResultJSONArray ( 0 ) ;
JSONObject struct_jo = new JSONObject ( ) ;
Structattr struct_bean = new Structattr ( ) ;
for ( int i = 0 ; i < emptyArr . size ( ) ; i + + ) {
JSONObject empty_row = emptyArr . getJSONObject ( i ) ;
@ -397,50 +421,129 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
String row_num = empty_row . getString ( "row_num" ) ;
String placement_type = empty_row . getString ( "placement_type" ) ;
JSONArray isLock = WQLObject . getWQLObject ( "st_ivt_structattr" ) . query ( "lock_type 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 ) ;
LambdaQueryWrapper < Structattr > queryWrapperAll = new LambdaQueryWrapper < Structattr > ( ) ;
queryWrapperAll . eq ( ObjectUtil . isNotEmpty ( block_num ) , Structattr : : getBlock_num , block_num )
. eq ( Structattr : : getPlacement_type , placement_type )
. eq ( Structattr : : getIs_used , "1" )
. eq ( Structattr : : getIs_delete , "0" )
. in ( Structattr : : getLock_type , Arrays . asList ( "4" , "5" ) )
. eq ( Structattr : : getRow_num , row_num ) ;
List < Structattr > isLock = structattrMapper . selectList ( queryWrapperAll ) ;
if ( ObjectUtil . isEmpty ( isLock ) ) {
LambdaQueryWrapper < Structattr > queryWrapper = new LambdaQueryWrapper < Structattr > ( ) ;
queryWrapper . eq ( ObjectUtil . isNotEmpty ( block_num ) , Structattr : : getBlock_num , block_num )
. eq ( Structattr : : getLock_type , "1" )
. eq ( Structattr : : getPlacement_type , placement_type )
. eq ( Structattr : : getRow_num , row_num )
. eq ( Structattr : : getIs_used , "1" )
. eq ( Structattr : : getIs_delete , "0" ) ;
if ( "03" . equals ( placement_type ) ) {
// 右通
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 ) ;
queryWrapper . and ( la - > la . eq ( Structattr : : getStoragevehicle_code , "" ) . or ( ) . isNull ( Structattr : : getStoragevehicle_code )
) . orderByDesc ( Structattr : : getOut_order_seq ) ;
List < Structattr > boxArr = structattrMapper . selectList ( queryWrapper ) ;
if ( boxArr . size ( ) > 0 ) {
struct_bean = boxArr . get ( 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 desc").uniqueResult(0);
break ;
} else if ( "02" . equals ( placement_type ) ) {
// 左通
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 ) ;
queryWrapper . and ( la - > la . eq ( Structattr : : getStoragevehicle_code , "" ) . or ( ) . isNull ( Structattr : : getStoragevehicle_code )
) . orderByAsc ( Structattr : : getOut_order_seq ) ;
List < Structattr > boxArr = structattrMapper . selectList ( queryWrapper ) ;
if ( boxArr . size ( ) > 0 ) {
struct_bean = boxArr . get ( 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 {
// 双通
queryWrapper . ne ( Structattr : : getStoragevehicle_code , "" )
. isNotNull ( Structattr : : getStoragevehicle_code )
. orderByDesc ( Structattr : : getOut_order_seq ) ;
// 双通
// 先倒序找到第一个托盘、判断上一个是否有货位
JSONObject jsonDescStruct = new JSONObject ( ) ;
JSONObject jsonDescBox = 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 ) ;
if ( ObjectUtil . isNotEmpty ( jsonDescBox ) ) {
String out_order_seq = jsonDescBox . getString ( "out_order_seq" ) ;
List < Structattr > jsonDescStructs = new ArrayList < > ( ) ;
List < Structattr > jsonDescBoxs = structattrMapper . selectList ( queryWrapper ) ;
//JSONObject jsonDescBox = 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);
LambdaQueryWrapper < Structattr > queryWrapper2 = new LambdaQueryWrapper < Structattr > ( ) ;
queryWrapper2 . eq ( ObjectUtil . isNotEmpty ( block_num ) , Structattr : : getBlock_num , block_num )
. eq ( Structattr : : getLock_type , "1" )
. eq ( Structattr : : getPlacement_type , placement_type )
. eq ( Structattr : : getRow_num , row_num )
. eq ( Structattr : : getIs_used , "1" )
. eq ( Structattr : : getIs_delete , "0" ) ;
if ( jsonDescBoxs . size ( ) > 0 ) {
String out_order_seq = jsonDescBoxs . get ( 0 ) . getOut_order_seq ( ) ;
queryWrapper2 . and ( la - > la . eq ( Structattr : : getStoragevehicle_code , "" )
. or ( )
. isNull ( Structattr : : getStoragevehicle_code ) )
. gt ( Structattr : : getOut_order_seq , out_order_seq )
. orderByAsc ( Structattr : : getOut_order_seq ) ;
// 上一个货位顺序号
jsonDescStruct = 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 ) ;
//jsonDescStruct = 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);
jsonDescStructs = structattrMapper . selectList ( queryWrapper2 ) ;
} else {
queryWrapper2 . and ( la - > la . eq ( Structattr : : getStoragevehicle_code , "" )
. or ( )
. isNull ( Structattr : : getStoragevehicle_code ) )
. orderByDesc ( Structattr : : getOut_order_seq ) ;
// 倒序找到第一个空位
jsonDescStruct = 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 ) ;
//jsonDescStruct = 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);
jsonDescStructs = structattrMapper . selectList ( queryWrapper2 ) ;
}
if ( ObjectUtil . isNotEmpty ( jsonDescStruct ) ) {
struct_jo = jsonDescStruct ;
if ( jsonDescStructs . size ( ) > 0 ) {
struct_bean = jsonDescStructs . get ( 0 ) ;
break ;
} else {
queryWrapper2 . ne ( Structattr : : getStoragevehicle_code , "" )
. isNotNull ( Structattr : : getStoragevehicle_code )
. orderByAsc ( Structattr : : getOut_order_seq ) ;
// 没有就正序找到第一个托盘、判断上一个是否有货位
JSONObject jsonAscStruct = new JSONObject ( ) ;
JSONObject jsonAscBox = 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 ) ;
if ( ObjectUtil . isNotEmpty ( jsonAscBox ) ) {
String out_order_seq2 = jsonAscBox . getString ( "out_order_seq" ) ;
List < Structattr > jsonAscStructs = new ArrayList < > ( ) ;
List < Structattr > jsonAscBoxs = structattrMapper . selectList ( queryWrapper2 ) ;
//JSONObject jsonAscBox = 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);
LambdaQueryWrapper < Structattr > queryWrapper3 = new LambdaQueryWrapper < Structattr > ( ) ;
queryWrapper3 . eq ( ObjectUtil . isNotEmpty ( block_num ) , Structattr : : getBlock_num , block_num )
. eq ( Structattr : : getLock_type , "1" )
. eq ( Structattr : : getPlacement_type , placement_type )
. eq ( Structattr : : getRow_num , row_num )
. eq ( Structattr : : getIs_used , "1" )
. eq ( Structattr : : getIs_delete , "0" )
. and ( la - > la . eq ( Structattr : : getStoragevehicle_code , "" )
. or ( )
. isNull ( Structattr : : getStoragevehicle_code ) ) ;
if ( jsonAscBoxs . size ( ) > 0 ) {
String out_order_seq2 = jsonAscBoxs . get ( 0 ) . getOut_order_seq ( ) ;
queryWrapper3 . lt ( Structattr : : getOut_order_seq , out_order_seq2 )
. orderByDesc ( Structattr : : getOut_order_seq ) ;
// 上一个货位顺序号
jsonAscStruct = 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 ) ;
//jsonAscStruct = 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);
jsonAscStructs = structattrMapper . selectList ( queryWrapper3 ) ;
} else {
jsonAscStruct = 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 ) ;
queryWrapper3 . orderByAsc ( Structattr : : getOut_order_seq ) ;
//jsonAscStruct = 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);
jsonAscStructs = structattrMapper . selectList ( queryWrapper3 ) ;
}
if ( ObjectUtil . isNotEmpty ( jsonAscStruct ) ) {
struct_jo = jsonAscStruct ;
if ( jsonAscStructs . size ( ) > 0 ) {
struct_bean = jsonAscStructs . get ( 0 ) ;
break ;
}
}
@ -450,10 +553,10 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
}
}
if ( ObjectUtil . isEmpty ( struct_jo ) ) {
if ( ObjectUtil . isEmpty ( struct_bean ) ) {
throw new BadRequestException ( "未查询到可用的空载具存放点位!" ) ;
}
return struct_jo ;
return struct_bean ;
}
/ * *
@ -626,8 +729,6 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
WQLObject wo_Task = WQLObject . getWQLObject ( "SCH_BASE_Task" ) ;
//点位表
WQLObject wo_Point = WQLObject . getWQLObject ( "SCH_BASE_Point" ) ;
//载具扩展属性
WQLObject extTab = WQLObject . getWQLObject ( "md_pb_storagevehicleext" ) ;
//定义返回数据
JSONObject ret = new JSONObject ( ) ;
//传值进来的
@ -710,12 +811,13 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
task . put ( "point_code2" , jodtl . getTurnin_struct_code ( ) ) ;
}
task . put ( "vehicle_code" , jodtl . getStoragevehicle_code ( ) ) ;
List < Storagevehicleex > jsonExts = storagevehicleexMapper . selectList ( new LambdaQueryWrapper < Storagevehicleex > ( ) . eq ( Storagevehicleex : : getPcsn , jodtl . getStoragevehicle_code ( ) ) ) ;
// 查询木箱对应载具
JSONObject jsonExt = extTab . query ( "pcsn = '" + jodtl . getStoragevehicle_code ( ) + "'" ) . uniqueResult ( 0 ) ;
if ( ObjectUtil . isEmpty ( jsonExt ) ) {
if ( jsonExts . size ( ) = = 0 ) {
throw new BadRequestException ( "此木箱对应载具不存在!" + jodtl . getStoragevehicle_code ( ) ) ;
}
task . put ( "vehicle_code2" , jsonExt . getString ( "storagevehicle_code" ) ) ;
task . put ( "vehicle_code2" , jsonExts . get ( 0 ) . getStoragevehicle_code ( ) ) ;
task . put ( "handle_class" , HandMoveStorAcsTask . class . getName ( ) ) ;
task . put ( "finished_type" , "" ) ;
task . put ( "is_delete" , "0" ) ;
@ -1063,8 +1165,6 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
public void handdown ( JSONObject whereJson ) {
//任务表
WQLObject wo_Task = WQLObject . getWQLObject ( "SCH_BASE_Task" ) ;
//仓位表
WQLObject wo_attr = WQLObject . getWQLObject ( "st_ivt_structattr" ) ;
HandMoveStorAcsTask handMoveStorAcsTask = new HandMoveStorAcsTask ( ) ;
@ -1089,7 +1189,12 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
if ( ! StrUtil . equals ( bill_type , "30" ) ) {
// 判断起点是否被挡
JSONObject jsonTask = wo_Task . query ( "task_id = '" + task_id + "'" ) . uniqueResult ( 0 ) ;
JSONObject jsonAttr = wo_attr . query ( "struct_code = '" + jsonTask . getString ( "point_code1" ) + "'" ) . uniqueResult ( 0 ) ;
LambdaQueryWrapper < Structattr > queryWrapper = new LambdaQueryWrapper < Structattr > ( ) ;
queryWrapper . eq ( Structattr : : getStruct_code , jsonTask . getString ( "point_code1" ) )
. eq ( Structattr : : getIs_delete , "0" ) ;
Structattr jsonAttr = structattrMapper . selectOne ( queryWrapper ) ;
// 调用共用判断是否阻挡并生成任务、移库单
this . isBlock ( jsonAttr ) ;
}
@ -1145,7 +1250,7 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
. ne ( Structattr : : getStoragevehicle_code , "" )
. isNotNull ( Structattr : : getStoragevehicle_code )
. orderByAsc ( Structattr : : getBlock_num )
. orderByDesc ( Structattr : : getBlock_num ) ; //neededit out_order_seq DESC
. orderByDesc ( Structattr : : getOut_order_seq ) ;
List < Structattr > boxArr = structattrMapper . selectList ( queryWrapper ) ;
@ -1227,11 +1332,9 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
}
@Transactional ( rollbackFor = Exception . class )
public Integer isBlock ( JSONObject whereJson ) {
String placement_type = whereJson . getString ( "placement_type" ) ;
CheckOutBillServiceImpl bean = SpringContextHolder . getBean ( CheckOutBillServiceImpl . class ) ;
public Integer isBlock ( Structattr whereJson ) {
String placement_type = whereJson . getPlacement_type ( ) ;
//JSONArray jsonLockArr = new JSONArray();
List < Structattr > jsonLockArr = new ArrayList < > ( ) ;
if ( StrUtil . equals ( placement_type , "01" ) ) {
/ *
@ -1241,20 +1344,20 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
// 判断右边边被阻挡个数
JSONObject isNumMap = new JSONObject ( ) ;
isNumMap . put ( "flag" , "3" ) ;
isNumMap . put ( "block_num" , whereJson . getString ( "block_num" ) ) ;
isNumMap . put ( "row_num" , whereJson . getString ( "row_num" ) ) ;
isNumMap . put ( "out_order_seq" , whereJson . getString ( "out_order_seq" ) ) ;
isNumMap . put ( "block_num" , whereJson . getBlock_num ( ) ) ;
isNumMap . put ( "row_num" , whereJson . getRow_num ( ) ) ;
isNumMap . put ( "out_order_seq" , whereJson . getOut_order_seq ( ) ) ;
JSONArray numArrFirst = WQL . getWO ( "ST_OUTIVT04" ) . addParamMap ( isNumMap ) . process ( ) . getResultJSONArray ( 0 ) ;
// 调用共用方法计算被挡个数
JSONArray rightNumArr = bean . isNum ( numArrFirst ) ;
JSONArray rightNumArr = checkOutBillService . isNum ( numArrFirst ) ;
// 判断左边被挡个数
isNumMap . put ( "flag" , "4" ) ;
JSONArray numArrLast = WQL . getWO ( "ST_OUTIVT04" ) . addParamMap ( isNumMap ) . process ( ) . getResultJSONArray ( 0 ) ;
// 调用共用方法计算被挡个数
JSONArray leftNumArr = bean . isNum ( numArrLast ) ;
JSONArray leftNumArr = checkOutBillService . isNum ( numArrLast ) ;
if ( rightNumArr . size ( ) > leftNumArr . size ( ) ) {
/ *
@ -1264,7 +1367,7 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
isNumMap . put ( "flag" , "5" ) ;
JSONArray isLockArr = WQL . getWO ( "ST_OUTIVT04" ) . addParamMap ( isNumMap ) . process ( ) . getResultJSONArray ( 0 ) ;
JSONArray numArr = bean . isNum ( isLockArr ) ;
JSONArray numArr = checkOutBillService . isNum ( isLockArr ) ;
// 不为空则返回报错
if ( ObjectUtil . isNotEmpty ( numArr ) ) {
String error = "" ;
@ -1283,12 +1386,12 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
//isNumMap.put("row_num", whereJson.getString("row_num"));
//isNumMap.put("out_order_seq", whereJson.getString("out_order_seq"));
LambdaQueryWrapper < Structattr > queryWrapper = new LambdaQueryWrapper < Structattr > ( ) ;
queryWrapper . eq ( ObjectUtil . isNotEmpty ( whereJson . getString ( "block_num" ) ) , Structattr : : getBlock_num , whereJson . getString ( "block_num" ) )
. eq ( ObjectUtil . isNotEmpty ( whereJson . getString ( "row_num" ) ) , Structattr : : getBlock _num , whereJson . getString ( "row_num" ) ) //neededit
. gt ( ObjectUtil . isNotEmpty ( whereJson . getString ( "out_order_seq" ) ) , Structattr : : getBlock_num , whereJson . getString ( "out_order_seq" ) ) //neededit
queryWrapper . eq ( ObjectUtil . isNotEmpty ( whereJson . getBlock_num ( ) ) , Structattr : : getBlock_num , whereJson . getBlock_num ( ) )
. eq ( ObjectUtil . isNotEmpty ( whereJson . getRow_num ( ) ) , Structattr : : getRow _num , whereJson . getRow_num ( ) )
. gt ( ObjectUtil . isNotEmpty ( whereJson . getOut_order_seq ( ) ) , Structattr : : getOut_order_seq , whereJson . getOut_order_seq ( ) )
. ne ( Structattr : : getStoragevehicle_code , "" )
. isNotNull ( Structattr : : getStoragevehicle_code )
. orderByDesc ( Structattr : : getBlock_num ) ; //neededit out_order_seq
. orderByDesc ( Structattr : : getOut_order_seq ) ;
jsonLockArr = structattrMapper . selectList ( queryWrapper ) ;
//isNumMap.put("flag", "6");
//jsonLockArr = WQL.getWO("QST_IVT_HANDMOVESTOR").addParamMap(isNumMap).process().getResultJSONArray(0);
@ -1301,7 +1404,7 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
isNumMap . put ( "flag" , "6" ) ;
JSONArray isLockArr = WQL . getWO ( "ST_OUTIVT04" ) . addParamMap ( isNumMap ) . process ( ) . getResultJSONArray ( 0 ) ;
JSONArray numArr = bean . isNum ( isLockArr ) ;
JSONArray numArr = checkOutBillService . isNum ( isLockArr ) ;
// 不为空则返回报错
if ( ObjectUtil . isNotEmpty ( numArr ) ) {
@ -1320,12 +1423,12 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
//jsonLockArr = WQL.getWO("QST_IVT_HANDMOVESTOR").addParamMap(isNumMap).process().getResultJSONArray(0);
LambdaQueryWrapper < Structattr > queryWrapper = new LambdaQueryWrapper < Structattr > ( ) ;
queryWrapper . eq ( ObjectUtil . isNotEmpty ( whereJson . getString ( "block_num" ) ) , Structattr : : getBlock_num , whereJson . getString ( "block_num" ) )
. eq ( ObjectUtil . isNotEmpty ( whereJson . getString ( "row_num" ) ) , Structattr : : getBlock _num , whereJson . getString ( "row_num" ) ) //neededit
. lt ( ObjectUtil . isNotEmpty ( whereJson . getString ( "out_order_seq" ) ) , Structattr : : getBlock_num , whereJson . getString ( "out_order_seq" ) ) //neededit
queryWrapper . eq ( ObjectUtil . isNotEmpty ( whereJson . getBlock_num ( ) ) , Structattr : : getBlock_num , whereJson . getBlock_num ( ) )
. eq ( ObjectUtil . isNotEmpty ( whereJson . getRow_num ( ) ) , Structattr : : getRow _num , whereJson . getRow_num ( ) )
. lt ( ObjectUtil . isNotEmpty ( whereJson . getOut_order_seq ( ) ) , Structattr : : getOut_order_seq , whereJson . getOut_order_seq ( ) )
. ne ( Structattr : : getStoragevehicle_code , "" )
. isNotNull ( Structattr : : getStoragevehicle_code )
. orderByAsc ( Structattr : : getBlock_num ) ; //neededit out_order_seq
. orderByAsc ( Structattr : : getOut_order_seq ) ;
jsonLockArr = structattrMapper . selectList ( queryWrapper ) ;
} else {
/ *
@ -1335,7 +1438,7 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
isNumMap . put ( "flag" , "6" ) ;
JSONArray isLockArr = WQL . getWO ( "ST_OUTIVT04" ) . addParamMap ( isNumMap ) . process ( ) . getResultJSONArray ( 0 ) ;
JSONArray numArr = bean . isNum ( isLockArr ) ;
JSONArray numArr = checkOutBillService . isNum ( isLockArr ) ;
// 不为空则返回报错
if ( ObjectUtil . isNotEmpty ( numArr ) ) {
@ -1353,12 +1456,12 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
//isNumMap.put("flag", "7");
//jsonLockArr = WQL.getWO("QST_IVT_HANDMOVESTOR").addParamMap(isNumMap).process().getResultJSONArray(0);
LambdaQueryWrapper < Structattr > queryWrapper = new LambdaQueryWrapper < Structattr > ( ) ;
queryWrapper . eq ( ObjectUtil . isNotEmpty ( whereJson . getString ( "block_num" ) ) , Structattr : : getBlock_num , whereJson . getString ( "block_num" ) )
. eq ( ObjectUtil . isNotEmpty ( whereJson . getString ( "row_num" ) ) , Structattr : : getBlock _num , whereJson . getString ( "row_num" ) ) //neededit
. lt ( ObjectUtil . isNotEmpty ( whereJson . getString ( "out_order_seq" ) ) , Structattr : : getBlock_num , whereJson . getString ( "out_order_seq" ) ) //neededit
queryWrapper . eq ( ObjectUtil . isNotEmpty ( whereJson . getBlock_num ( ) ) , Structattr : : getBlock_num , whereJson . getBlock_num ( ) )
. eq ( ObjectUtil . isNotEmpty ( whereJson . getRow_num ( ) ) , Structattr : : getRow _num , whereJson . getRow_num ( ) )
. lt ( ObjectUtil . isNotEmpty ( whereJson . getOut_order_seq ( ) ) , Structattr : : getOut_order_seq , whereJson . getOut_order_seq ( ) )
. ne ( Structattr : : getStoragevehicle_code , "" )
. isNotNull ( Structattr : : getStoragevehicle_code )
. orderByAsc ( Structattr : : getBlock_num ) ; //neededit out_order_seq
. orderByAsc ( Structattr : : getOut_order_seq ) ;
jsonLockArr = structattrMapper . selectList ( queryWrapper ) ;
}
@ -1370,12 +1473,12 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
// 查询仓位被锁住的货位
JSONObject isNumMap = new JSONObject ( ) ;
isNumMap . put ( "flag" , "5" ) ;
isNumMap . put ( "block_num" , whereJson . getString ( "block_num" ) ) ;
isNumMap . put ( "row_num" , whereJson . getString ( "row_num" ) ) ;
isNumMap . put ( "out_order_seq" , whereJson . getString ( "out_order_seq" ) ) ;
isNumMap . put ( "block_num" , whereJson . getBlock_num ( ) ) ;
isNumMap . put ( "row_num" , whereJson . getRow_num ( ) ) ;
isNumMap . put ( "out_order_seq" , whereJson . getOut_order_seq ( ) ) ;
JSONArray isLockArr = WQL . getWO ( "ST_OUTIVT04" ) . addParamMap ( isNumMap ) . process ( ) . getResultJSONArray ( 0 ) ;
JSONArray numArr = bean . isNum ( isLockArr ) ;
JSONArray numArr = checkOutBillService . isNum ( isLockArr ) ;
// 不为空则返回报错
if ( ObjectUtil . isNotEmpty ( numArr ) ) {
String error = "" ;
@ -1392,12 +1495,12 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
//isNumMap.put("flag", "6");
//jsonLockArr = WQL.getWO("QST_IVT_HANDMOVESTOR").addParamMap(isNumMap).process().getResultJSONArray(0);
LambdaQueryWrapper < Structattr > queryWrapper = new LambdaQueryWrapper < Structattr > ( ) ;
queryWrapper . eq ( ObjectUtil . isNotEmpty ( whereJson . getString ( "block_num" ) ) , Structattr : : getBlock_num , whereJson . getString ( "block_num" ) )
. eq ( ObjectUtil . isNotEmpty ( whereJson . getString ( "row_num" ) ) , Structattr : : getBlock _num , whereJson . getString ( "row_num" ) ) //neededit
. gt ( ObjectUtil . isNotEmpty ( whereJson . getString ( "out_order_seq" ) ) , Structattr : : getBlock_num , whereJson . getString ( "out_order_seq" ) ) //neededit
queryWrapper . eq ( ObjectUtil . isNotEmpty ( whereJson . getBlock_num ( ) ) , Structattr : : getBlock_num , whereJson . getBlock_num ( ) )
. eq ( ObjectUtil . isNotEmpty ( whereJson . getRow_num ( ) ) , Structattr : : getRow _num , whereJson . getRow_num ( ) )
. gt ( ObjectUtil . isNotEmpty ( whereJson . getOut_order_seq ( ) ) , Structattr : : getOut_order_seq , whereJson . getOut_order_seq ( ) )
. ne ( Structattr : : getStoragevehicle_code , "" )
. isNotNull ( Structattr : : getStoragevehicle_code )
. orderByDesc ( Structattr : : getBlock_num ) ; //neededit out_order_seq
. orderByDesc ( Structattr : : getOut_order_seq ) ;
jsonLockArr = structattrMapper . selectList ( queryWrapper ) ;
} else if ( StrUtil . equals ( placement_type , "03" ) ) {
@ -1408,12 +1511,12 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
// 查询仓位被锁住的货位
JSONObject isNumMap = new JSONObject ( ) ;
isNumMap . put ( "flag" , "6" ) ;
isNumMap . put ( "block_num" , whereJson . getString ( "block_num" ) ) ;
isNumMap . put ( "row_num" , whereJson . getString ( "row_num" ) ) ;
isNumMap . put ( "out_order_seq" , whereJson . getString ( "out_order_seq" ) ) ;
isNumMap . put ( "block_num" , whereJson . getBlock_num ( ) ) ;
isNumMap . put ( "row_num" , whereJson . getRow_num ( ) ) ;
isNumMap . put ( "out_order_seq" , whereJson . getOut_order_seq ( ) ) ;
JSONArray isLockArr = WQL . getWO ( "ST_OUTIVT04" ) . addParamMap ( isNumMap ) . process ( ) . getResultJSONArray ( 0 ) ;
JSONArray numArr = bean . isNum ( isLockArr ) ;
JSONArray numArr = checkOutBillService . isNum ( isLockArr ) ;
// 不为空则返回报错
if ( ObjectUtil . isNotEmpty ( numArr ) ) {
@ -1431,12 +1534,12 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
//isNumMap.put("flag", "7");
//jsonLockArr = WQL.getWO("QST_IVT_HANDMOVESTOR").addParamMap(isNumMap).process().getResultJSONArray(0);
LambdaQueryWrapper < Structattr > queryWrapper = new LambdaQueryWrapper < Structattr > ( ) ;
queryWrapper . eq ( ObjectUtil . isNotEmpty ( whereJson . getString ( "block_num" ) ) , Structattr : : getBlock_num , whereJson . getString ( "block_num" ) )
. eq ( ObjectUtil . isNotEmpty ( whereJson . getString ( "row_num" ) ) , Structattr : : getBlock _num , whereJson . getString ( "row_num" ) ) //neededit
. lt ( ObjectUtil . isNotEmpty ( whereJson . getString ( "out_order_seq" ) ) , Structattr : : getBlock_num , whereJson . getString ( "out_order_seq" ) ) //neededit
queryWrapper . eq ( ObjectUtil . isNotEmpty ( whereJson . getBlock_num ( ) ) , Structattr : : getBlock_num , whereJson . getBlock_num ( ) )
. eq ( ObjectUtil . isNotEmpty ( whereJson . getRow_num ( ) ) , Structattr : : getRow _num , whereJson . getRow_num ( ) )
. lt ( ObjectUtil . isNotEmpty ( whereJson . getOut_order_seq ( ) ) , Structattr : : getOut_order_seq , whereJson . getOut_order_seq ( ) )
. ne ( Structattr : : getStoragevehicle_code , "" )
. isNotNull ( Structattr : : getStoragevehicle_code )
. orderByAsc ( Structattr : : getBlock_num ) ; //neededit out_order_seq
. orderByAsc ( Structattr : : getOut_order_seq ) ;
jsonLockArr = structattrMapper . selectList ( queryWrapper ) ;
}
@ -1451,7 +1554,7 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
moveParam . put ( "jsonAllBlockPoint" , jsonLockArr ) ;
moveParam . put ( "is_move" , "1" ) ;
moveParam . put ( "task_group_id" , IdUtil . getSnowflake ( 1 , 1 ) . nextId ( ) ) ;
bean . createMove ( moveParam , null ) ;
checkOutBillService . createMove ( moveParam , null ) ;
}
return jsonLockArr . size ( ) ;
@ -1464,14 +1567,16 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
public void createMoveExpansion ( JSONObject whereJson ) {
//任务表
WQLObject wo_Task = WQLObject . getWQLObject ( "SCH_BASE_Task" ) ;
WQLObject attrTab = WQLObject . getWQLObject ( "st_ivt_structattr" ) ;
JSONArray needMoveList = whereJson . getJSONArray ( "needMoveList" ) ;
for ( int i = 0 ; i < needMoveList . size ( ) ; i + + ) {
JSONObject json = needMoveList . getJSONObject ( i ) ;
LambdaQueryWrapper < Structattr > queryWrapper = new LambdaQueryWrapper < Structattr > ( ) ;
queryWrapper . eq ( Structattr : : getStruct_code , json . getString ( "struct_code" ) )
. eq ( Structattr : : getIs_delete , "0" ) ;
JSONObject jsonAttr = attrTab . query ( "struct_code = '" + json . getString ( "struct_code" ) + "'" ) . uniqueResult ( 0 ) ;
Structattr jsonAttr = structattrMapper . selectOne ( queryWrapper ) ;
JSONObject mapParam = new JSONObject ( ) ; // 生成移库单传入参数
JSONArray table = new JSONArray ( ) ; // 明细参数
@ -1490,7 +1595,7 @@ public class HandMoveStorServiceImpl extends ServiceImpl<MoveStorMapper, MoveSto
JSONObject moveParam = new JSONObject ( ) ;
moveParam . put ( "box_no" , json . getString ( "storagevehicle_code" ) ) ;
moveParam . put ( "sect_id" , RegionTypeEnum . ZZ01 . getId ( ) ) ;
moveParam . put ( "layer_num" , jsonAttr . getString ( "layer_num" ) ) ;
moveParam . put ( "layer_num" , jsonAttr . getLayer_num ( ) ) ;
JSONObject jsonMove = rawAssistIStorService . autoDisMove ( moveParam ) ;
// 查询移出货位的库存物料
JSONObject jsonMoveIvt = WQL . getWO ( "ST_OUTIVT03" )