opt:优化任务更新

This commit is contained in:
DESKTOP-5DIJMF9\admin
2025-02-14 14:52:20 +08:00
parent 9933b5fa4e
commit a5f325a68d

View File

@@ -54,6 +54,7 @@ import org.nl.wms.pda.mps.service.ShippingService;
import org.nl.wms.pda.mps.service.impl.BakingServiceImpl;
import org.nl.wms.pda.st.service.impl.PrintServiceImpl;
import org.nl.wms.sch.ComPareUtil;
import org.nl.wms.sch.manage.AbstractAcsTask;
import org.nl.wms.sch.manage.TaskStatusEnum;
import org.nl.wms.sch.tasks.CutConveyorTask;
import org.nl.wms.sch.tasks.EmptyVehicleTask;
@@ -211,24 +212,15 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
status = "0";
}
// 任务处理类
try {
Object obj = new Object();
try {
obj = SpringContextHolder.getBean(Class.forName(processing_class));
} catch (Exception e) {
Class<?> clz = Class.forName(processing_class);
obj = clz.newInstance();
}
// 调用每个任务类的forceFinishInst()强制结束方法
Method m = obj.getClass().getDeclaredMethod("updateTaskStatus", JSONObject.class, String.class);
m.invoke(obj, row, status);
} catch (Exception e) {
WQLObject.getWQLObject("SCH_BASE_Task").update(MapOf.of("remark",DateUtil.now()+"更新"+status+"失败:"+e.getMessage()),"task_id = '" + task_id + "'");
throw e;
}
AbstractAcsTask abstractTask = (AbstractAcsTask)SpringContextHolder.getBean(Class.forName(taskObj.getString("handle_class")));
abstractTask.updateTaskStatus(taskObj,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 ex;
} finally {
if (tryLock) {
lock.unlock();