rev:任务状态反馈修改

This commit is contained in:
zhangzq
2025-02-06 15:17:15 +08:00
parent 3a312c34a3
commit 66552cbb1b

View File

@@ -83,7 +83,7 @@ import java.util.stream.Collectors;
@Slf4j
public class AcsToWmsServiceImpl implements AcsToWmsService {
private static Interner<String> Heap_Lock = Interners.newWeakInterner();
private static Map<String,String> Task_Status_Convers = MapOf.of("1",TaskStatusEnum.EXECUTING.getCode(),"2",TaskStatusEnum.FINISHED.getCode(),"3","0");
private final RawAssistIStorService rawAssistIStorService;
@@ -185,38 +185,27 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
try {
if (tryLock) {
JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0);
JSONObject task = WQLObject.getWQLObject("SCH_BASE_Task")
.query("task_id = '" + task_id + "'")
.uniqueResult(0);
if (StrUtil.isNotEmpty(row.getString("car_no"))) {
taskObj.put("car_no", row.getString("car_no"));
WQLObject.getWQLObject("SCH_BASE_Task").update(taskObj);
WQLObject.getWQLObject("SCH_BASE_Task")
.update(MapOf.of("car_no",row.getString("car_no")),"task_id = '" + task_id + "'");
}
// 任务处理类
String processing_class = taskObj.getString("handle_class");
AbstractAcsTask abstractTask = (AbstractAcsTask)SpringContextHolder.getBean(Class.forName(processing_class));
String status = "";
if ("1".equals(row.getString("task_status"))) {
status = TaskStatusEnum.EXECUTING.getCode();
}
if ("2".equals(row.getString("task_status"))) {
status = TaskStatusEnum.FINISHED.getCode();
}
if ("3".equals(row.getString("task_status"))) {
status = "0";
}
abstractTask.updateTaskStatus(taskObj,status);
AbstractAcsTask abstractTask = (AbstractAcsTask)SpringContextHolder.getBean(Class.forName(task.getString("handle_class")));
abstractTask.updateTaskStatus(task,Task_Status_Convers.get(row.getString("task_status")));
} else {
throw new BadRequestException("任务标识为:" + task_id + "的任务正在操作中!");
}
}catch (Exception ex){
WQLObject.getWQLObject("SCH_BASE_Task").update(MapOf.of("remark",DateUtil.now()+"更新"+row.getString("task_status")+"失败:"+ex.getMessage()),"task_id = '" + task_id + "'");
log.error(task_id+"acs更新任务失败:{}", ex);
throw new BadRequestException(ex.getMessage());
throw ex;
}finally {
if (lock.isLocked() && lock.isHeldByCurrentThread()) {
lock.unlock();
}
}
}
JSONObject result = new JSONObject();
result.put("status", HttpStatus.OK.value());