diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 77961c9..596385f 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -13,6 +13,7 @@ import org.nl.wms.ext.acs.service.dto.to.wms.FeedBackTaskStatusRequest; import org.nl.wms.ext.record.service.ISysInteractRecordService; import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService; import org.nl.wms.sch.point.service.ISchBasePointService; +import org.nl.wms.sch.point.service.dao.SchBasePoint; import org.nl.wms.sch.task.service.ISchBaseTaskService; import org.nl.wms.sch.task.service.dao.SchBaseTask; import org.nl.wms.sch.task_manage.AbstractTask; @@ -28,8 +29,10 @@ import javax.annotation.PostConstruct; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.CopyOnWriteArrayList; /** * @Author: lyd @@ -40,8 +43,11 @@ import java.util.concurrent.ConcurrentHashMap; @Service public class AcsToWmsServiceImpl implements AcsToWmsService { - // 反射类方法的缓存 + /** + * 反射类方法的缓存 + */ private Map methodCache = new ConcurrentHashMap<>(); + private Map deveceList = new ConcurrentHashMap<>(); @Autowired private ISchBaseTaskService taskService; @@ -58,7 +64,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { @Autowired private ISysInteractRecordService interactRecordService; - // 初始化反射方法 + /** + * 初始化反射方法 + */ @PostConstruct public void initCacheMethod() { for (Method method : this.getClass().getMethods()) { @@ -76,7 +84,17 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { String requestMethodName = param.getString("request_method_name"); BaseResponse result = BaseResponse.build(requestNo); String device_code = param.getString("device_code"); - param.put("config_code",requestMethodCode); + SchBasePoint deviceObj = pointService.getById(device_code); + if ("6".equals(requestMethodCode)) { + // 送满料 + param.put("config_code",deviceObj.getRegion_code() + "MLTask"); + } else if ("7".equals(requestMethodCode)) { + // 叫空盘 + param.put("config_code",deviceObj.getRegion_code() + "QKTask"); + } else if ("8".equals(requestMethodCode)) { + // 叫空盘 + param.put("config_code",deviceObj.getRegion_code() + "SKTask"); + } try { if(ObjectUtil.isEmpty(requestMethodCode)){ throw new BadRequestException("任务类型不正确!requestMethodCode:"+requestMethodCode+",device_code:"+device_code); @@ -180,8 +198,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { public AgainApplyResponse againApply(JSONObject task) { AgainApplyResponse result = AgainApplyResponse.responseOk(task.getString("request_no")); try { - String configCode = task.getString("config_code"); - AbstractTask task1 = taskFactory.getTask(configCode); + SchBaseTask task2 = taskService.getById(task.getString("task_id")); + AbstractTask task1 = taskFactory.getTask(task2.getConfig_code()); + // id / code String pointCode = task1.againApply(task.getString("task_id")); result.setNext_point_code(pointCode); } catch (Exception e) { diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java index e1e20ec..b1dab80 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java @@ -198,8 +198,8 @@ public abstract class AbstractTask { @Transactional(rollbackFor = Exception.class) public void apply(JSONObject param) throws BadRequestException { // 申请任务 - SchBaseTask task = new SchBaseTask(); // 任务实体 - String apply_point_code = param.getString("device_code"); // 请求点 + SchBaseTask task = new SchBaseTask(); + String apply_point_code = param.getString("device_code"); String config_code = param.getString("config_code"); String requestNo = param.getString("requestNo"); // 1、校验数据 @@ -230,7 +230,7 @@ public abstract class AbstractTask { if (ObjectUtil.isEmpty(workorder)) { throw new BadRequestException("设备" + one.getPoint_code() + "工单未生产!"); } - param.put("workorder_code", workorder.getWorkorder_code()); // 静置时间 + param.put("workorder_code", workorder.getWorkorder_code()); // 设置任务数据 task.setVehicle_type(workorder.getVehicle_type()); } @@ -249,19 +249,22 @@ public abstract class AbstractTask { task.setVehicle_code(param.getString("vehicle_code")); task.setVehicle_qty(param.getInteger("vehicle_qty")); task.setTask_status(TaskStatus.APPLY.getCode()); - task.setWorkshop_code(taskConfig.getWorkshop_code()); // 车间编码 + task.setWorkshop_code(taskConfig.getWorkshop_code()); // 设置起/终点 this.setTaskPoint(taskConfig, task, apply_point_code); task.setRequest_param(JSONObject.toJSONString(param)); - TaskUtils.setCreateByAcsOrPda(task, param); // 设置创建人信息 + // 设置创建人信息 + TaskUtils.setCreateByAcsOrPda(task, param); AbstractTask bean = SpringContextHolder.getBean(this.getClass()); // 3、判断是否直接找点下发 - if (taskConfig.getIs_immediate_create()) { // 立即创建吧组盘放到具体位置,免得重复创建 + if (taskConfig.getIs_immediate_create()) { + // 立即创建吧组盘放到具体位置,免得重复创建 bean.createCompletion(task); } else { // 不需要立即创建,需要立马组盘 // 设置组盘 - 需要的话由子类自行实现 task.setGroup_id(bean.setGroupPlate(param)); - taskService.save(task); // 创建一条单点任务。 + // 创建一条单点任务。 + taskService.save(task); bean.create(); } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/kj/KJQKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/kj/KJQKTask.java index a4138fb..cd19a3e 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/kj/KJQKTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/kj/KJQKTask.java @@ -34,7 +34,7 @@ import java.util.stream.Collectors; * @Date: 2023/12/1 */ @Slf4j -@Component("KJQKTask") +@Component("KJZCQKTask") public class KJQKTask extends AbstractTask { private static final String TASK_CONFIG_CODE = "KJQKTask"; @Autowired diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/kj/KJSKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/kj/KJSKTask.java index 01aee72..e3cbd5c 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/kj/KJSKTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/kj/KJSKTask.java @@ -40,7 +40,7 @@ import java.util.stream.Collectors; * @Date: 2023/11/30 */ @Slf4j -@Component("KJSKTask") +@Component("KJZCSKTask") public class KJSKTask extends AbstractTask { private static final String TASK_CONFIG_CODE = "KJSKTask"; @Autowired