@ -16,8 +16,11 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject ;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper ;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper ;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper ;
import lombok.RequiredArgsConstructor ;
import lombok.extern.slf4j.Slf4j ;
import org.nl.b_lms.sch.task.dao.SchBaseTask ;
import org.nl.b_lms.sch.task.dao.mapper.SchBaseTaskMapper ;
import org.nl.common.utils.CodeUtil ;
import org.nl.common.utils.SecurityUtils ;
import org.nl.modules.common.exception.BadRequestException ;
@ -90,6 +93,8 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
@Autowired
private SectattrMapper sectattrMapper ;
@Autowired
private SchBaseTaskMapper schBaseTaskMapper ;
@Autowired
private CustomerbaseMapper customerbaseMapper ;
@Autowired
private StorattrMapper storattrMapper ;
@ -888,14 +893,13 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
@Transactional ( rollbackFor = Exception . class )
public void cancelTask ( JSONObject whereJson ) {
WQLObject disTab = WQLObject . getWQLObject ( "st_ivt_iostorinvdis" ) ; // 分配表
WQLObject taskTab = WQLObject . getWQLObject ( "sch_base_task" ) ; // 任务表
String task_id = whereJson . getString ( "task_id" ) ;
JSONObject jsonTask = taskTab . query ( "task_id = '" + task_id + "'" ) . uniqueResult ( 0 ) ;
SchBaseTask jsonTask = schBaseTaskMapper . selectById ( task_id ) ;
// 任务为下发之后就不允许取消
if ( jsonTask . getIntValue ( "task_status" ) > Integer . valueOf ( TaskStatusEnum . START_AND_POINT . getCode ( ) ) ) {
throw new BadRequestException ( "任务:" + jsonTask . getString ( "task_code" ) + "已下发,不可取消" ) ;
if ( Integer . valueOf ( jsonTask . getTask_status ( ) ) > Integer . valueOf ( TaskStatusEnum . START_AND_POINT . getCode ( ) ) ) {
throw new BadRequestException ( "任务:" + jsonTask . getTask_code ( ) + "已下发,不可取消" ) ;
}
// 更新分配明细 任务状态、清空任务id
@ -906,9 +910,9 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
disTab . update ( paramMap , "task_id = '" + task_id + "'" ) ;
// 删除此任务
JSONObject paramMap2 = new JSONObject ( ) ;
paramMap2 . put ( "is_delete" , "1" ) ;
taskTab . update ( paramMap2 , "task_id = '" + task_id + "'" ) ;
SchBaseTask task = schBaseTaskMapper . selectById ( task_id ) ;
task . setIs_delete ( "1" ) ;
schBaseTaskMapper . updateById ( task ) ;
}
@Override
@ -1920,7 +1924,6 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
}
// 放在插入分配明细的集合当中
instDisList . add ( dtl ) ;
// wo_dis.insert(dtl);
}
//记录需锁定的仓位
Struct_map . put ( ivt . getString ( "struct_id" ) , ivt ) ;
@ -2369,8 +2372,6 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
WQLObject wo_dtl = WQLObject . getWQLObject ( "ST_IVT_IOStorInvDtl" ) ;
//出库主表
WQLObject wo_mst = WQLObject . getWQLObject ( "ST_IVT_IOStorInv" ) ;
//任务表
WQLObject wo_Task = WQLObject . getWQLObject ( "SCH_BASE_Task" ) ;
String iostorinv_id = whereJson . getString ( "iostorinv_id" ) ;
//查询主表信息
@ -2391,7 +2392,6 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
}
for ( int i = 0 ; i < diss . size ( ) ; i + + ) {
JSONObject dis = diss . getJSONObject ( i ) ;
HashMap < String , String > map = new HashMap < > ( ) ;
String iostorinvdtl_id = dis . getString ( "iostorinvdtl_id" ) ;
//统计【出入库单分配表】执行状态大于等于执行中,或【任务指令表】任务状态大于等于下发时的记录和
@ -2450,15 +2450,20 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
//任务号不为空
if ( ObjectUtil . isNotEmpty ( dis . getString ( "task_id" ) ) ) {
// 判断是否有移库的任务:有就取消掉
JSONObject jsonTask = wo_Task . query ( "task_id = '" + dis . getString ( "task_id" ) + "'" ) . uniqueResult ( 0 ) ;
SchBaseTask jsonTask = schBaseTaskMapper . selectById ( dis . getString ( "task_id" ) ) ;
if ( ObjectUtil . isNotEmpty ( jsonTask ) ) {
JSONArray moveArrTask = wo_Task . query ( "task_group_id = '" + jsonTask . getString ( "task_group_id" ) + "' and task_type = '010505'" ) . getResultJSONArray ( 0 ) ;
LambdaQueryWrapper < SchBaseTask > lam = new LambdaQueryWrapper < > ( ) ;
lam . eq ( SchBaseTask : : getTask_group_id , jsonTask . getTask_group_id ( ) )
. eq ( SchBaseTask : : getTask_type , "010505" )
. eq ( SchBaseTask : : getIs_delete , "0" ) ;
List < SchBaseTask > moveArrTask = schBaseTaskMapper . selectList ( lam ) ;
for ( int j = 0 ; j < moveArrTask . size ( ) ; j + + ) {
JSONObject jsonMoveTask = moveArrTask . getJSONObject ( j ) ;
SchBaseTask jsonMoveTask = moveArrTask . get ( j ) ;
// 调用删除移库单
List < MoveStorDtl > jsonMoveDtl = moveStorDtlMapper . selectList ( new LambdaQueryWrapper < MoveStorDtl > ( )
. eq ( MoveStorDtl : : getTask_id , jsonMoveTask . getString ( "task_id" ) ) ) ;
. eq ( MoveStorDtl : : getTask_id , jsonMoveTask . getTask_id ( ) ) ) ;
if ( jsonMoveDtl . size ( ) > 0 ) {
MoveStor jsonMoveMst = moveStorMapper . selectOne ( new LambdaQueryWrapper < MoveStor > ( )
@ -2474,8 +2479,9 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
}
//更新对应任务为删除
map . put ( "is_delete" , "1" ) ;
wo_Task . update ( map , "task_id='" + dis . getString ( "task_id" ) + "'" ) ;
SchBaseTask dtltask = schBaseTaskMapper . selectById ( dis . getString ( "task_id" ) ) ;
dtltask . setIs_delete ( "1" ) ;
schBaseTaskMapper . updateById ( dtltask ) ;
}
//解锁起点仓位点位
@ -2504,8 +2510,6 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
WQLObject wo_dtl = WQLObject . getWQLObject ( "ST_IVT_IOStorInvDtl" ) ;
//出库主表
WQLObject wo_mst = WQLObject . getWQLObject ( "ST_IVT_IOStorInv" ) ;
//任务表
WQLObject wo_Task = WQLObject . getWQLObject ( "SCH_BASE_Task" ) ;
String iostorinv_id = whereJson . getString ( "iostorinv_id" ) ;
//查询主表信息
@ -2586,8 +2590,9 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
//任务号不为空
if ( ObjectUtil . isNotEmpty ( dis . getString ( "task_id" ) ) ) {
//更新对应任务为删除
map . put ( "is_delete" , "1" ) ;
wo_Task . update ( map , "task_id='" + dis . getString ( "task_id" ) + "'" ) ;
SchBaseTask dtltask = schBaseTaskMapper . selectById ( dis . getString ( "task_id" ) ) ;
dtltask . setIs_delete ( "1" ) ;
schBaseTaskMapper . updateById ( dtltask ) ;
}
//解锁起点仓位点位: 判断此仓位是否还有库存
List < JSONObject > ivtList = WQLObject . getWQLObject ( "st_ivt_structivt" )
@ -2623,8 +2628,6 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
WQLObject wo_dis = WQLObject . getWQLObject ( "ST_IVT_IOStorInvDis" ) ;
//点位表
WQLObject wo_Point = WQLObject . getWQLObject ( "SCH_BASE_Point" ) ;
//任务表
WQLObject wo_Task = WQLObject . getWQLObject ( "SCH_BASE_Task" ) ;
//出库主表
WQLObject wo_mst = WQLObject . getWQLObject ( "ST_IVT_IOStorInv" ) ;
//仓位表
@ -2723,9 +2726,10 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
new HandMoveStorAcsTask ( ) . immediateNotifyAcs ( null ) ;
// 更新任务为下发
JSONObject param = new JSONObject ( ) ;
param . put ( "task_status" , TaskStatusEnum . ISSUE . getCode ( ) ) ;
wo_Task . update ( param , "task_group_id = '" + moveParam . getString ( "task_group_id" ) + "'" ) ;
LambdaUpdateWrapper < SchBaseTask > lam2 = new LambdaUpdateWrapper < > ( ) ;
lam2 . eq ( SchBaseTask : : getTask_group_id , moveParam . getString ( "task_group_id" ) ) ;
lam2 . set ( SchBaseTask : : getTask_status , TaskStatusEnum . ISSUE . getCode ( ) ) ;
schBaseTaskMapper . update ( null , lam2 ) ;
}
}
}
@ -2752,8 +2756,6 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
public void rowDispose ( JSONObject jsonRow , Consumer < String > allTransactionConsumer ) {
//出库分配表
WQLObject wo_dis = WQLObject . getWQLObject ( "ST_IVT_IOStorInvDis" ) ;
//任务表
WQLObject wo_Task = WQLObject . getWQLObject ( "SCH_BASE_Task" ) ;
// 仓位表
WQLObject attr_tab = WQLObject . getWQLObject ( "st_ivt_structattr" ) ;
// 点位表
@ -3073,10 +3075,10 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
String create_task_id = outTask . createTask ( param ) ;
// 更新分配状态、任务标识、出库点位
JSONObject jsonTask = wo_Task . query ( "task_id = '" + create_task_id + "'" ) . uniqueResult ( 0 ) ;
SchBaseTask jsonTask = schBaseTaskMapper . selectById ( create_task_id ) ;
JSONObject jsonUpdateMap = new JSONObject ( ) ;
jsonUpdateMap . put ( "work_status" , "01" ) ;
jsonUpdateMap . put ( "task_id" , jsonTask . getLong ( "task_id" ) ) ;
jsonUpdateMap . put ( "task_id" , jsonTask . getTask_id ( ) ) ;
jsonUpdateMap . put ( "point_id" , point_id ) ;
wo_dis . update ( jsonUpdateMap , "iostorinvdis_id = '" + jsonObject . getString ( "iostorinvdis_id" ) + "'" ) ;
@ -3090,20 +3092,20 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
for ( int n = 0 ; n < disArr . size ( ) ; n + + ) {
JSONObject jsonObject2 = disArr . getJSONObject ( n ) ;
jsonObject2 . put ( "work_status" , "01" ) ;
jsonObject2 . put ( "task_id" , jsonTask . getLong ( "task_id" ) ) ;
jsonObject2 . put ( "task_id" , jsonTask . getTask_id ( ) ) ;
jsonObject2 . put ( "point_id" , point_id ) ;
wo_dis . update ( jsonObject2 ) ;
}
// 更新出库任务:任务组和顺序号
JSONObject jsonTaskLast1 = WQL . getWO ( "QST_IVT_CHECKOUTBILL" ) . addParam ( "flag" , "13" ) . addParam ( "task_group_id" , task_group_id + "" ) . process ( ) . uniqueResult ( 0 ) ;
jsonTask . put ( "task_group_id" , task_group_id ) ;
jsonTask . setTask_group_id ( String . valueOf ( task_group_id ) ) ;
if ( ObjectUtil . isEmpty ( jsonTaskLast1 ) ) {
jsonTask . put ( "sort_seq" , 1 ) ;
jsonTask . setSort_seq ( 1 ) ;
} else {
jsonTask . put ( "sort_seq" , jsonTaskLast1 . getIntValue ( "sort_seq" ) + 1 ) ;
jsonTask . setSort_seq ( jsonTaskLast1 . getIntValue ( "sort_seq" ) + 1 ) ;
}
wo_Task . update ( jsonTask ) ;
schBaseTaskMapper . updateById ( jsonTask ) ;
outTask . immediateNotifyAcs ( null ) ;
/ *
@ -3146,10 +3148,10 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
outTask . immediateNotifyAcs ( null ) ;
// 更新分配状态、任务标识、出库点位
JSONObject jsonTask2 = wo_Task . query ( "task_id = '" + create_task_id2 + "'" ) . uniqueResult ( 0 ) ;
SchBaseTask jsonTask2 = schBaseTaskMapper . selectById ( create_task_id2 ) ;
JSONObject jsonUpdateMap2 = new JSONObject ( ) ;
jsonUpdateMap2 . put ( "work_status" , "01" ) ;
jsonUpdateMap2 . put ( "task_id" , jsonTask2 . getLong ( "task_id" ) ) ;
jsonUpdateMap2 . put ( "task_id" , jsonTask2 . getTask_id ( ) ) ;
jsonUpdateMap2 . put ( "point_id" , point_id ) ;
wo_dis . update ( jsonUpdateMap2 , "iostorinvdis_id = '" + jsonNext . getString ( "iostorinvdis_id" ) + "'" ) ;
@ -3163,7 +3165,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
for ( int m = 0 ; m < disArr2 . size ( ) ; m + + ) {
JSONObject jsonObject3 = disArr2 . getJSONObject ( m ) ;
jsonObject3 . put ( "work_status" , "01" ) ;
jsonObject3 . put ( "task_id" , jsonTask2 . getLong ( "task_id" ) ) ;
jsonObject3 . put ( "task_id" , jsonTask2 . getTask_id ( ) ) ;
jsonObject3 . put ( "point_id" , point_id ) ;
wo_dis . update ( jsonObject3 ) ;
}
@ -3199,8 +3201,6 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
WQLObject wo_dis = WQLObject . getWQLObject ( "ST_IVT_IOStorInvDis" ) ;
//点位表
WQLObject wo_Point = WQLObject . getWQLObject ( "SCH_BASE_Point" ) ;
//任务表
WQLObject wo_Task = WQLObject . getWQLObject ( "SCH_BASE_Task" ) ;
//出库主表
WQLObject wo_mst = WQLObject . getWQLObject ( "ST_IVT_IOStorInv" ) ;
//仓位表
@ -3513,10 +3513,10 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
String create_task_id = outTask . createTask ( param ) ;
// 更新分配状态、任务标识、出库点位
JSONObject jsonTask = wo_Task . query ( "task_id = '" + create_task_id + "'" ) . uniqueResult ( 0 ) ;
SchBaseTask jsonTask = schBaseTaskMapper . selectById ( create_task_id ) ;
JSONObject jsonUpdateMap = new JSONObject ( ) ;
jsonUpdateMap . put ( "work_status" , "01" ) ;
jsonUpdateMap . put ( "task_id" , jsonTask . getLong ( "task_id" ) ) ;
jsonUpdateMap . put ( "task_id" , jsonTask . getTask_id ( ) ) ;
jsonUpdateMap . put ( "point_id" , point_id ) ;
wo_dis . update ( jsonUpdateMap , "iostorinvdis_id = '" + jsonObject . getString ( "iostorinvdis_id" ) + "'" ) ;
@ -3530,20 +3530,24 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
for ( int n = 0 ; n < disArr . size ( ) ; n + + ) {
JSONObject jsonObject2 = disArr . getJSONObject ( n ) ;
jsonObject2 . put ( "work_status" , "01" ) ;
jsonObject2 . put ( "task_id" , jsonTask . getLong ( "task_id" ) ) ;
jsonObject2 . put ( "task_id" , jsonTask . getTask_id ( ) ) ;
jsonObject2 . put ( "point_id" , point_id ) ;
wo_dis . update ( jsonObject2 ) ;
}
// 更新出库任务:任务组和顺序号
JSONObject jsonTaskLast1 = wo_Task . query ( "task_group_id = '" + task_group_id + "' order by sort_seq DESC" ) . uniqueResult ( 0 ) ;
jsonTask . put ( "task_group_id" , task_group_id ) ;
if ( ObjectUtil . isEmpty ( jsonTaskLast1 ) ) {
jsonTask . put ( "sort_seq" , 1 ) ;
LambdaQueryWrapper < SchBaseTask > lam = new LambdaQueryWrapper < > ( ) ;
lam . eq ( SchBaseTask : : getTask_group_id , task_group_id )
. eq ( SchBaseTask : : getIs_delete , "0" )
. orderByDesc ( SchBaseTask : : getSort_seq ) ;
List < SchBaseTask > jsonTaskLasts = schBaseTaskMapper . selectList ( lam ) ;
jsonTask . setTask_group_id ( String . valueOf ( task_group_id ) ) ;
if ( jsonTaskLasts . size ( ) = = 0 ) {
jsonTask . setSort_seq ( 1 ) ;
} else {
jsonTask . put ( "sort_seq" , jsonTaskLast1 . getIntValue ( "sort_seq" ) + 1 ) ;
jsonTask . setSort_seq ( jsonTaskLasts . get ( 0 ) . getSort_seq ( ) + 1 ) ;
}
wo_Task . update ( jsonTask ) ;
schBaseTaskMapper . updateById ( jsonTask ) ;
/ *
* 判断下一个出库仓位是否相邻
@ -3566,7 +3570,12 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
} else {
// 查询此任务组最后一个生成的任务
JSONObject jsonTaskLast = wo_Task . query ( "task_group_id = '" + task_group_id + "' order by sort_seq DESC" ) . uniqueResult ( 0 ) ;
LambdaQueryWrapper < SchBaseTask > lam2 = new LambdaQueryWrapper < > ( ) ;
lam2 . eq ( SchBaseTask : : getTask_group_id , task_group_id )
. eq ( SchBaseTask : : getIs_delete , "0" )
. orderByDesc ( SchBaseTask : : getSort_seq ) ;
List < SchBaseTask > jsonTaskLasts2 = schBaseTaskMapper . selectList ( lam2 ) ;
// 创建任务并添加到任务组
allTransactionConsumer . accept ( jsonNext . getString ( "struct_code" ) ) ;
JSONObject param2 = new JSONObject ( ) ;
@ -3577,17 +3586,17 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
param2 . put ( "point_code2" , point_code ) ;
param2 . put ( "material_id" , jsonNext . getString ( "material_id" ) ) ;
param2 . put ( "task_group_id" , task_group_id ) ; // 任务组
param2 . put ( "sort_seq" , jsonTaskLast . getIntValue ( "sort_seq" ) + 1 ) ; // 任务组顺序号
param2 . put ( "sort_seq" , jsonTaskLasts2 . get ( 0 ) . getSort_seq ( ) + 1 ) ; // 任务组顺序号
String create_task_id2 = outTask . createTask ( param2 ) ;
outTask . immediateNotifyAcs ( null ) ;
// 更新分配状态、任务标识、出库点位
JSONObject jsonTask2 = wo_Task . query ( "task_id = '" + create_task_id2 + "'" ) . uniqueResult ( 0 ) ;
SchBaseTask jsonTask2 = schBaseTaskMapper . selectById ( create_task_id2 ) ;
JSONObject jsonUpdateMap2 = new JSONObject ( ) ;
jsonUpdateMap2 . put ( "work_status" , "01" ) ;
jsonUpdateMap2 . put ( "task_id" , jsonTask2 . getLong ( "task_id" ) ) ;
jsonUpdateMap2 . put ( "task_id" , jsonTask2 . getTask_id ( ) ) ;
jsonUpdateMap2 . put ( "point_id" , point_id ) ;
wo_dis . update ( jsonUpdateMap2 , "iostorinvdis_id = '" + jsonNext . getString ( "iostorinvdis_id" ) + "'" ) ;
@ -3601,7 +3610,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
for ( int m = 0 ; m < disArr2 . size ( ) ; m + + ) {
JSONObject jsonObject3 = disArr2 . getJSONObject ( m ) ;
jsonObject3 . put ( "work_status" , "01" ) ;
jsonObject3 . put ( "task_id" , jsonTask2 . getLong ( "task_id" ) ) ;
jsonObject3 . put ( "task_id" , jsonTask2 . getTask_id ( ) ) ;
jsonObject3 . put ( "point_id" , point_id ) ;
wo_dis . update ( jsonObject3 ) ;
}
@ -3630,8 +3639,6 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
@Override
@Transactional ( rollbackFor = Exception . class )
public void createMove ( JSONObject whereJson , Consumer < String > allTransactionConsumer ) {
//任务表
WQLObject wo_Task = WQLObject . getWQLObject ( "SCH_BASE_Task" ) ;
WQLObject attrTab = WQLObject . getWQLObject ( "st_ivt_structattr" ) ;
JSONArray jsonAllBlockPoint = whereJson . getJSONArray ( "jsonAllBlockPoint" ) ;
@ -3713,10 +3720,10 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
jsonMoveDtl . put ( "task_id" , move_task_id ) ;
table . add ( jsonMoveDtl ) ;
// 更新任务处理类
JSONObject jsonTaskMove = wo_Task . query ( "task_id = '" + move_task_id + "'" ) . uniqueResult ( 0 ) ;
jsonTaskMove . put ( "task_type" , "010505" ) ;
jsonTaskMove . put ( "handle_class" , HandMoveStorAcsTask . class . getName ( ) ) ;
wo_Task . update ( jsonTaskMove ) ;
SchBaseTask jsonTaskMove = schBaseTaskMapper . selectById ( move_task_id ) ;
jsonTaskMove . setTask_type ( "010505" ) ;
jsonTaskMove . setHandle_class ( HandMoveStorAcsTask . class . getName ( ) ) ;
schBaseTaskMapper . updateById ( jsonTaskMove ) ;
mapParam . put ( "tableData" , table ) ;
// 调用移库单新增方法
@ -3768,7 +3775,6 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
* 2 ) 锁住 : 判断是否生成任务 , 生成 : 则不用生成移库单 = false ; 未生成则报错
* /
WQLObject disTab = WQLObject . getWQLObject ( "st_ivt_iostorinvdis" ) ; // 出入库分配明细表
WQLObject taskTab = WQLObject . getWQLObject ( "sch_base_task" ) ; // 任务表
if ( ObjectUtil . isEmpty ( json ) ) {
// 如果为空说明未堵住
@ -3803,10 +3809,16 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
param = true ;
} else {
// 锁住:判断是否生成任务,生成:则不用生成移库单 = false;未生成则报错
JSONObject jsonTask1 = taskTab . query ( "point_code1 = '" + struct_code + "' and task_status <> '" + TaskStatusEnum . FINISHED . getCode ( ) + "'" ) . uniqueResult ( 0 ) ;
JSONObject jsonTask2 = taskTab . query ( "point_code2 = '" + struct_code + "' and task_status <> '" + TaskStatusEnum . FINISHED . getCode ( ) + "'" ) . uniqueResult ( 0 ) ;
if ( ObjectUtil . isEmpty ( jsonTask1 ) & & ObjectUtil . isEmpty ( jsonTask2 ) ) {
// 锁住:判断是否生成任务,生成:则不用生成移库单 = false;未生成则报错
LambdaQueryWrapper < SchBaseTask > lam = new LambdaQueryWrapper < > ( ) ;
lam . eq ( SchBaseTask : : getIs_delete , "0" )
. ne ( SchBaseTask : : getIs_delete , TaskStatusEnum . FINISHED . getCode ( ) )
. and ( la - > la . eq ( SchBaseTask : : getPoint_code1 , struct_code )
. or ( )
. eq ( SchBaseTask : : getPoint_code2 , struct_code )
) ;
int tasks = schBaseTaskMapper . selectCount ( lam ) ;
if ( tasks = = 0 ) {
// 未生成任务
throw new BadRequestException ( "挡住仓位" + struct_code + "已锁定但未生成任务,请按照顺序选择" ) ;
} else {
@ -3829,10 +3841,15 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
param = true ;
} else {
// 锁住:判断是否生成任务,生成:则不用生成移库单 = false;未生成则报错
JSONObject jsonTask1 = taskTab . query ( "point_code1 = '" + struct_code + "' and task_status <> '" + TaskStatusEnum . FINISHED . getCode ( ) + "'" ) . uniqueResult ( 0 ) ;
JSONObject jsonTask2 = taskTab . query ( "point_code2 = '" + struct_code + "' and task_status <> '" + TaskStatusEnum . FINISHED . getCode ( ) + "'" ) . uniqueResult ( 0 ) ;
if ( ObjectUtil . isEmpty ( jsonTask1 ) & & ObjectUtil . isEmpty ( jsonTask2 ) ) {
LambdaQueryWrapper < SchBaseTask > lam = new LambdaQueryWrapper < > ( ) ;
lam . eq ( SchBaseTask : : getIs_delete , "0" )
. ne ( SchBaseTask : : getIs_delete , TaskStatusEnum . FINISHED . getCode ( ) )
. and ( la - > la . eq ( SchBaseTask : : getPoint_code1 , struct_code )
. or ( )
. eq ( SchBaseTask : : getPoint_code2 , struct_code )
) ;
int tasks = schBaseTaskMapper . selectCount ( lam ) ;
if ( tasks = = 0 ) {
// 未生成任务
param = true ;
} else {
@ -3859,10 +3876,16 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
param = false ;
} else {
// 锁住:判断是否生成任务,生成:则不用生成移库单 = false;未生成则报错
JSONObject jsonTask1 = taskTab . query ( "point_code1 = '" + struct_code + "' and task_status <> '" + TaskStatusEnum . FINISHED . getCode ( ) + "'" ) . uniqueResult ( 0 ) ;
JSONObject jsonTask2 = taskTab . query ( "point_code2 = '" + struct_code + "' and task_status <> '" + TaskStatusEnum . FINISHED . getCode ( ) + "'" ) . uniqueResult ( 0 ) ;
if ( ObjectUtil . isEmpty ( jsonTask1 ) & & ObjectUtil . isEmpty ( jsonTask2 ) ) {
LambdaQueryWrapper < SchBaseTask > lam = new LambdaQueryWrapper < > ( ) ;
lam . eq ( SchBaseTask : : getIs_delete , "0" )
. ne ( SchBaseTask : : getIs_delete , TaskStatusEnum . FINISHED . getCode ( ) )
. and ( la - > la . eq ( SchBaseTask : : getPoint_code1 , struct_code )
. or ( )
. eq ( SchBaseTask : : getPoint_code2 , struct_code )
) ;
int tasks = schBaseTaskMapper . selectCount ( lam ) ;
if ( tasks = = 0 ) {
// 未生成任务
param = false ;
} else {
@ -3877,10 +3900,16 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
param = true ;
} else {
// 锁住:判断是否生成任务,生成:则不用生成移库单 = false;未生成则报错
JSONObject jsonTask1 = taskTab . query ( "point_code1 = '" + struct_code + "' and task_status <> '" + TaskStatusEnum . FINISHED . getCode ( ) + "'" ) . uniqueResult ( 0 ) ;
JSONObject jsonTask2 = taskTab . query ( "point_code2 = '" + struct_code + "' and task_status <> '" + TaskStatusEnum . FINISHED . getCode ( ) + "'" ) . uniqueResult ( 0 ) ;
if ( ObjectUtil . isEmpty ( jsonTask1 ) & & ObjectUtil . isEmpty ( jsonTask2 ) ) {
LambdaQueryWrapper < SchBaseTask > lam = new LambdaQueryWrapper < > ( ) ;
lam . eq ( SchBaseTask : : getIs_delete , "0" )
. ne ( SchBaseTask : : getIs_delete , TaskStatusEnum . FINISHED . getCode ( ) )
. and ( la - > la . eq ( SchBaseTask : : getPoint_code1 , struct_code )
. or ( )
. eq ( SchBaseTask : : getPoint_code2 , struct_code )
) ;
int tasks = schBaseTaskMapper . selectCount ( lam ) ;
if ( tasks = = 0 ) {
// 未生成任务
param = true ;
} else {
@ -4159,8 +4188,6 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
WQLObject wo_dtl = WQLObject . getWQLObject ( "ST_IVT_IOStorInvDtl" ) ;
//出库主表
WQLObject wo_mst = WQLObject . getWQLObject ( "ST_IVT_IOStorInv" ) ;
// 任务表
WQLObject taskTab = WQLObject . getWQLObject ( "sch_base_task" ) ;
// 子卷包装关系表
WQLObject subTab = WQLObject . getWQLObject ( "pdm_bi_subpackagerelation" ) ;
//包装关系出入库记录表
@ -4341,10 +4368,10 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
sub_record . insert ( jsonSub ) ;
// 更新对应任务为完成
JSONObject jsonTask = taskTab . query ( "task_id = '" + jsonDis . getString ( "task_id" ) + "' and task_status < '07'" ) . uniqueResult ( 0 ) ;
SchBaseTask jsonTask = schBaseTaskMapper . selectById ( jsonDis . getString ( "task_id" ) ) ;
if ( ObjectUtil . isNotEmpty ( jsonTask ) ) {
jsonTask . put ( "task_status" , TaskStatusEnum . FINISHED . getCode ( ) ) ;
taskTab . update ( jsonTask ) ;
jsonTask . setTask_status ( TaskStatusEnum . FINISHED . getCode ( ) ) ;
schBaseTaskMapper . updateById ( jsonTask ) ;
}
}
@ -4757,8 +4784,6 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
WQLObject wo_dtl = WQLObject . getWQLObject ( "ST_IVT_IOStorInvDtl" ) ;
//出库主表
WQLObject wo_mst = WQLObject . getWQLObject ( "ST_IVT_IOStorInv" ) ;
// 任务表
WQLObject taskTab = WQLObject . getWQLObject ( "sch_base_task" ) ;
// 子卷包装关系表
WQLObject subTab = WQLObject . getWQLObject ( "pdm_bi_subpackagerelation" ) ;
//包装关系出入库记录表
@ -4971,10 +4996,10 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
sub_record . insert ( jsonSub ) ;
// 更新对应任务为完成
JSONObject jsonTask = taskTab . query ( "task_id = '" + jsonDis . getString ( "task_id" ) + "' and task_status < '07'" ) . uniqueResult ( 0 ) ;
SchBaseTask jsonTask = schBaseTaskMapper . selectById ( jsonDis . getString ( "task_id" ) ) ;
if ( ObjectUtil . isNotEmpty ( jsonTask ) ) {
jsonTask . put ( "task_status" , TaskStatusEnum . FINISHED . getCode ( ) ) ;
taskTab . update ( jsonTask ) ;
jsonTask . setTask_status ( TaskStatusEnum . FINISHED . getCode ( ) ) ;
schBaseTaskMapper . updateById ( jsonTask ) ;
}
}
@ -5118,24 +5143,22 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
@Override
@Transactional ( rollbackFor = Exception . class )
public void issueTask ( JSONObject whereJson ) {
//任务表
WQLObject wo_Task = WQLObject . getWQLObject ( "SCH_BASE_Task" ) ;
String currentUserId = SecurityUtils . getCurrentUserId ( ) ;
String nickName = SecurityUtils . getCurrentNickName ( ) ;
String now = DateUtil . now ( ) ;
JSONObject jsonTask = wo_Task . query ( "task_id = '" + whereJson . getString ( "task_id" ) + "'" ) . uniqueResult ( 0 ) ;
SchBaseTask jsonTask = schBaseTaskMapper . selectById ( whereJson . getString ( "task_id" ) ) ;
// 调用出库任务类下发任务
new OutTask ( ) . immediateNotifyAcs ( jsonTask . getString ( "task_id" ) ) ;
new OutTask ( ) . immediateNotifyAcs ( jsonTask . getTask_id ( ) ) ;
// 更新任务状态为下发
jsonTask . put ( "task_status" , TaskStatusEnum . ISSUE . getCode ( ) ) ;
jsonTask . put ( "update_optid" , currentUserId ) ;
jsonTask . put ( "update_optname" , nickName ) ;
jsonTask . put ( "update_time" , now ) ;
wo_Task . update ( jsonTask ) ;
jsonTask . setTask_status ( TaskStatusEnum . ISSUE . getCode ( ) ) ;
jsonTask . setUpdate_id ( currentUserId ) ;
jsonTask . setUpdate_name ( nickName ) ;
jsonTask . setUpdate_time ( now ) ;
schBaseTaskMapper . updateById ( jsonTask ) ;
}
@ -5148,8 +5171,6 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
WQLObject wo_dtl = WQLObject . getWQLObject ( "st_ivt_iostorinvdtl" ) ;
//出库主表
WQLObject wo_mst = WQLObject . getWQLObject ( "st_ivt_iostorinv" ) ;
//任务表
WQLObject wo_Task = WQLObject . getWQLObject ( "SCH_BASE_Task" ) ;
//子卷包装关系表
WQLObject subTab = WQLObject . getWQLObject ( "pdm_bi_subpackagerelation" ) ;
//包装关系出入库记录表
@ -5319,14 +5340,14 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
}
HashMap < String , String > map = new HashMap < > ( ) ;
map . put ( "task_status" , TaskStatusEnum . FINISHED . getCode ( ) ) ;
map . put ( "finished_type" , "01" ) ;
map . put ( "update_optid" , SecurityUtils . getCurrentUserId ( ) + " ") ;
map . put ( "update_optname" , SecurityUtils . getCurrentNickName ( ) ) ;
map . put ( "update_time" , DateUtil . now ( ) ) ;
SchBaseTask taskmap = schBaseTaskMapper . selectById ( whereJson . getString ( "task_id" ) ) ;
task map. setTask_status ( TaskStatusEnum . FINISHED . getCode ( ) ) ;
task map. setFinished_type ( "01 ") ;
task map. setUpdate_id ( SecurityUtils . getCurrentUserId ( ) + "" ) ;
task map. setUpdate_name ( SecurityUtils . getCurrentNickName ( ) ) ;
taskmap . setUpdate_time ( DateUtil . now ( ) ) ;
//更新任务为完成
wo_Task . update ( map , "task_id='" + whereJson . getString ( "task_id" ) + "'" ) ;
schBaseTaskMapper . updateById ( taskmap ) ;
// 查询此任务下所有的分配明细
JSONArray disArr = wo_dis . query ( "task_id='" + whereJson . getString ( "task_id" ) + "'" ) . getResultJSONArray ( 0 ) ;