Merge remote-tracking branch 'origin/master_merge' into master_merge

This commit is contained in:
2025-09-09 15:49:03 +08:00
3 changed files with 49 additions and 23 deletions

View File

@@ -460,10 +460,10 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
.eq("point_code1", 浅Attr.getString("struct_code"))
.lt("task_status", TaskStatusEnum.FINISHED.getCode()));
if (!CollectionUtils.isEmpty(list)) {
throw new BadRequestException("当前木箱所在货位" + boxAttr.getString("struct_code") + "对应浅货位存在任务" + 浅Attr.getString("task_code"));
throw new BadRequestException("当前木箱所在货位" + boxAttr.getString("struct_code") + "对应浅货位被【锁定】或【存在任务" + 浅Attr.getString("task_code"));
}
} else {
throw new BadRequestException("当前木箱所在货位" + boxAttr.getString("struct_code") + "对应浅货位存在任务" + 浅Attr.getString("task_code"));
throw new BadRequestException("当前木箱所在货位" + boxAttr.getString("struct_code") + "对应浅货位被【锁定】或【存在任务" + 浅Attr.getString("task_code"));
}
}
}

View File

@@ -58,7 +58,7 @@ public class TwoOutBoxTask extends AbstractAcsTask {
private IbstIvtPackageinfoivtService packageinfoivtService;
@Autowired
private OutBoxManageService outBoxManageService;
private OutBoxManageService outBoxManageService;
@Autowired
private IschBaseTaskService ischBaseTaskService;
@@ -88,13 +88,15 @@ public class TwoOutBoxTask extends AbstractAcsTask {
if (attr.getString("zdepth").equals(IOSEnum.ZDEPTH_STRUCT.code(""))) {
JSONObject 浅Attr = attrTab
.query("zdepth = '1' and row_num = '"+attr.getString("row_num")+"' and col_num = '" + attr.getString("col_num") + "' and layer_num = '"+attr.getString("layer_num")+"'")
.query("zdepth = '1' and row_num = '" + attr.getString("row_num") + "' and col_num = '" + attr.getString("col_num") + "' and layer_num = '" + attr.getString("layer_num") + "'")
.uniqueResult(0);
if (ObjectUtil.isEmpty(浅Attr.getString("storagevehicle_code"))){
if (ObjectUtil.isEmpty(浅Attr.getString("storagevehicle_code"))) {
if (!浅Attr.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("未锁定"))) {
json.put("remark", "当前仓位对应的浅货位【" + 浅Attr.getString("struct_code") + "被锁定无法下发任务!】");
WQLObject.getWQLObject("SCH_BASE_Task").update(json);
continue;
}
}else {
} else {
if (浅Attr.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("未锁定"))) {
// 判断浅货位木箱和深货位木箱是否相同规格
outBoxManageService.createBoxMove(浅Attr);
@@ -103,12 +105,14 @@ public class TwoOutBoxTask extends AbstractAcsTask {
.eq("is_delete", "0")
.eq("point_code1", 浅Attr.getString("struct_code"))
.lt("task_status", TaskStatusEnum.FINISHED.getCode()));
if (!CollectionUtils.isEmpty(list)){
if (!CollectionUtils.isEmpty(list)) {
json.put("remark", "当前仓位对应的浅货位【" + 浅Attr.getString("struct_code") + "有正在执行中的任务,任务完成后才能下发!】");
WQLObject.getWQLObject("SCH_BASE_Task").update(json);
continue;
}else {
} else {
outBoxManageService.createBoxMove(浅Attr);
}
}else {
} else {
continue;
}
}
@@ -154,9 +158,9 @@ public class TwoOutBoxTask extends AbstractAcsTask {
// 执行中
if (status.equals(TaskStatusEnum.EXECUTING.getCode())) {
map.put("task_status", TaskStatusEnum.EXECUTING.getCode());
}else if (status.equals(IOSEnum.IS_NOTANDYES.code(""))) {
} else if (status.equals(IOSEnum.IS_NOTANDYES.code(""))) {
map.put("is_delete", IOSEnum.IS_NOTANDYES.code(""));
}else {
} else {
map.put("task_status", TaskStatusEnum.FINISHED.getCode());
}
map.put("update_optid", SecurityUtils.getCurrentUserId());
@@ -173,13 +177,13 @@ public class TwoOutBoxTask extends AbstractAcsTask {
//更新木箱信息
JSONObject packageInfo = packageinfoivt.query("point_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0);
packageInfo.put("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具"));
packageInfo.put("container_name",jsonTask.getString("vehicle_code"));
packageInfo.put("container_name", jsonTask.getString("vehicle_code"));
packageinfoivt.update(packageInfo);
RedissonUtils.lock(c->{
RedissonUtils.lock(c -> {
if (status.equals(TaskStatusEnum.FINISHED.getCode())) {
immediateNotifyAcs(null);
}
},"zjInBound",20,this);
}, "zjInBound", 20, this);
}
// 取消
if (status.equals(IOSEnum.IS_NOTANDYES.code(""))) {
@@ -229,10 +233,10 @@ public class TwoOutBoxTask extends AbstractAcsTask {
throw new BadRequestException("木箱号不能为空!");
}
String vehicle_code = form.getString("vehicle_code");
String point_code1 = form.getString("start_device_code");
String point_code1 = form.getString("start_device_code");
JSONObject task1 = isSingleTask(point_code1);
if ( ObjectUtil.isNotEmpty(task1)) {
throw new BadRequestException("载具:"+vehicle_code+"所在点位:" + point_code1 + "存在未完成的任务:"+task1.getString("task_code"));
if (ObjectUtil.isNotEmpty(task1)) {
throw new BadRequestException("载具:" + vehicle_code + "所在点位:" + point_code1 + "存在未完成的任务:" + task1.getString("task_code"));
}
JSONObject json = new JSONObject();
json.put("task_id", IdUtil.getSnowflake(1, 1).nextId());
@@ -276,13 +280,13 @@ public class TwoOutBoxTask extends AbstractAcsTask {
JSONObject task3 = WQLObject.getWQLObject("SCH_BASE_Task").query("point_code3 = '" + point_code + "' AND task_status < '07' AND is_delete = '0'").uniqueResult(0);
JSONObject task4 = WQLObject.getWQLObject("SCH_BASE_Task").query("point_code4 = '" + point_code + "' AND task_status < '07' AND is_delete = '0'").uniqueResult(0);
if(ObjectUtil.isNotEmpty(task1)){
if (ObjectUtil.isNotEmpty(task1)) {
return task1;
}else if(ObjectUtil.isNotEmpty(task2)){
} else if (ObjectUtil.isNotEmpty(task2)) {
return task2;
}else if(ObjectUtil.isNotEmpty(task3)){
} else if (ObjectUtil.isNotEmpty(task3)) {
return task3;
}else if(ObjectUtil.isNotEmpty(task4)){
} else if (ObjectUtil.isNotEmpty(task4)) {
return task4;
}

View File

@@ -209,7 +209,7 @@ public class CallEmpReelTask extends AbstractAcsTask {
throw new BadRequestException("终点未找到可用点位:" + point_code2);
}
//创建桁架任务将子卷搬运到桁架下的半成品缓存位
/*//创建桁架任务将子卷搬运到桁架下的半成品缓存位
//查询当前点位为空且没有任务的桁架内缓存点
JSONObject cache_param = new JSONObject();
cache_param.put("flag", "4");
@@ -250,7 +250,29 @@ public class CallEmpReelTask extends AbstractAcsTask {
param.put("type", "3");
InHotTask inHotTask = SpringContextHolder.getBean(InHotTask.class);
inHotTask.createTask(param);
}
}*/
JSONObject cache_param = new JSONObject();
cache_param.put("flag", "4");
cache_param.put("point_location", jsonIvt.getString("point_location"));
cache_param.put("product_area", jsonIvt.getString("product_area"));
// 创建半条任务
JSONObject jo = new JSONObject();
jo.put("task_id", IdUtil.getSnowflake(1, 1).nextId());
jo.put("task_code", IdUtil.getSnowflake(1, 1).nextId());
jo.put("task_type", "010206");
jo.put("task_status", TaskStatusEnum.SURE_START.getCode());
jo.put("point_code1", point_code4);
jo.put("point_code2", "");
jo.put("material_code", jsonTask.getString("material_code"));
jo.put("product_area", jsonTask.getString("product_area"));
jo.put("handle_class", InHotTask.class.getName());
jo.put("remark", cache_param);
jo.put("type", "3");
jo.put("priority", "1");
jo.put("sort_seq", "1");
jo.put("create_time", DateUtil.now());
jo.put("acs_task_type", "6");
taskTab.insert(jo);
// 更新点位库存状态
jsonIvt2.put("point_status", "2");
jsonIvt2.put("material_code", jsonTask.getString("material_code"));