|
|
@ -178,30 +178,42 @@ public abstract class AbstractTask { |
|
|
|
String next_point = param.getString("next_point"); // 目的点
|
|
|
|
String config_code = param.getString("config_code"); |
|
|
|
String sub_tray = param.getString("vehicle_code2");//子托盘
|
|
|
|
if(ObjectUtil.isNotEmpty(sub_tray)) { |
|
|
|
sub_tray = sub_tray.trim(); |
|
|
|
} |
|
|
|
// 1、校验数据
|
|
|
|
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>() |
|
|
|
.eq(SchBaseTaskconfig::getConfig_code, config_code)); |
|
|
|
Assert.notNull(taskConfig, "找不到配置文件,请确认[" + config_code + "]配置是否存在!"); |
|
|
|
//输送线相关任务不做处理
|
|
|
|
if(apply_point_code.startsWith("SSX")){ |
|
|
|
SysParamServiceImpl sysParamService = SpringContextHolder.getBean(SysParamServiceImpl.class); |
|
|
|
//判断是否回传mes
|
|
|
|
Param isConnectAcs = sysParamService.findByCode(GeneralDefinition.IS_RETURN_MES); |
|
|
|
if (ObjectUtil.isEmpty(isConnectAcs)) { |
|
|
|
Assert.notNull(taskConfig, "找不到配置文件,请确认系统参数[is_return_mes]配置是否存在!"); |
|
|
|
} |
|
|
|
String isReturn = isConnectAcs.getValue(); |
|
|
|
if("1".equals(isReturn)){ |
|
|
|
//输送线入库任务,校验入库单是否存在载具号
|
|
|
|
if("YCLRKTask".equals(config_code)){ |
|
|
|
//组盘表需要关联外部mes晶棒数据,一对多
|
|
|
|
LambdaQueryWrapper<Material> wrapper = new LambdaQueryWrapper<>(); |
|
|
|
wrapper.eq(Material::getPalletSN,sub_tray); |
|
|
|
wrapper.eq(Material::getGroup_bind_material_status, GroupBindMaterialStatusEnum.BOUND.getValue()); |
|
|
|
Integer list_size = materialMapper.selectCount(wrapper); |
|
|
|
Assert.isFalse(list_size<=0, |
|
|
|
"该任务申请子托盘["+sub_tray+"]异常,无原材料入库单据信息!"); |
|
|
|
} |
|
|
|
//输送线入库任务,校验入库单是否存在载具号
|
|
|
|
if("YCLRKTask".equals(config_code)){ |
|
|
|
//子托盘非空
|
|
|
|
if(ObjectUtil.isNotEmpty(sub_tray)) { |
|
|
|
Assert.isFalse(sub_tray.contains(";"), |
|
|
|
"该任务申请子托盘["+param.getString("vehicle_code2")+"]存在串读,无法申请任务!"); |
|
|
|
}else{ |
|
|
|
Assert.isFalse(ObjectUtil.isEmpty(sub_tray), |
|
|
|
"该任务申请子托盘["+param.getString("vehicle_code2")+"]为空,无法申请任务!"); |
|
|
|
} |
|
|
|
//校验mes接口组盘记录
|
|
|
|
SysParamServiceImpl sysParamService = SpringContextHolder.getBean(SysParamServiceImpl.class); |
|
|
|
//判断是否回传mes
|
|
|
|
Param isConnectAcs = sysParamService.findByCode(GeneralDefinition.IS_RETURN_MES); |
|
|
|
if (ObjectUtil.isEmpty(isConnectAcs)) { |
|
|
|
Assert.notNull(taskConfig, "找不到配置文件,请确认系统参数[is_return_mes]配置是否存在!"); |
|
|
|
} |
|
|
|
String isReturn = isConnectAcs.getValue(); |
|
|
|
if("1".equals(isReturn)){ |
|
|
|
//组盘表需要关联外部mes晶棒数据,一对多
|
|
|
|
LambdaQueryWrapper<Material> wrapper = new LambdaQueryWrapper<>(); |
|
|
|
wrapper.eq(Material::getPalletSN,sub_tray); |
|
|
|
wrapper.eq(Material::getGroup_bind_material_status, GroupBindMaterialStatusEnum.BOUND.getValue()); |
|
|
|
Integer list_size = materialMapper.selectCount(wrapper); |
|
|
|
Assert.isFalse(list_size<=0, |
|
|
|
"该任务申请子托盘["+sub_tray+"]异常,无原材料入库单据信息!"); |
|
|
|
} |
|
|
|
} |
|
|
|
}else{ |
|
|
|
//判断该申请点位是否存在起点或终点的未完成任务
|
|
|
|