package com.zy.core.plugin.store;
|
|
import com.core.common.Cools;
|
import com.zy.asrs.domain.param.CreateInTaskParam;
|
import com.zy.asrs.entity.BasDevp;
|
import com.zy.asrs.entity.WrkMast;
|
import com.zy.common.model.StartupDto;
|
import com.zy.core.enums.RedisKeyType;
|
import com.zy.core.model.StationObjModel;
|
|
import java.util.List;
|
|
public interface StoreInTaskPolicy {
|
|
default boolean isEnabled() {
|
return true;
|
}
|
|
default String getPolicyName() {
|
return getClass().getSimpleName();
|
}
|
|
default List<StationObjModel> getBarcodeStations(BasDevp basDevp) {
|
return basDevp.getBarcodeStationList$();
|
}
|
|
boolean matchCandidate(StoreInTaskContext context);
|
|
default boolean beforeApply(StoreInTaskContext context) {
|
return true;
|
}
|
|
default void onRequestPermitGranted(StoreInTaskContext context) {
|
}
|
|
default String getGenerateLockKey(StoreInTaskContext context) {
|
return RedisKeyType.GENERATE_IN_TASK_LIMIT.key + context.getStationObjModel().getStationId();
|
}
|
|
default int getSubmitLockSeconds(StoreInTaskContext context) {
|
return 2;
|
}
|
|
default int getRetryLockSeconds(StoreInTaskContext context) {
|
return 2;
|
}
|
|
default InTaskApplyRequest buildApplyRequest(StoreInTaskContext context) {
|
InTaskApplyRequest request = new InTaskApplyRequest();
|
request.setBarcode(context.getStationProtocol().getBarcode());
|
request.setSourceStaNo(context.getStationProtocol().getStationId());
|
request.setTaskNo(context.getStationProtocol().getTaskNo());
|
request.setLocType1(context.getStationProtocol().getPalletHeight());
|
return request;
|
}
|
|
default CreateInTaskParam buildCreateInTaskParam(StoreInTaskContext context, StartupDto dto) {
|
CreateInTaskParam taskParam = new CreateInTaskParam();
|
taskParam.setTaskNo(dto.getTaskNo());
|
taskParam.setLocNo(dto.getLocNo());
|
taskParam.setTaskPri(dto.getTaskPri());
|
taskParam.setBarcode(context.getStationProtocol().getBarcode());
|
return taskParam;
|
}
|
|
default void afterTaskCreated(StoreInTaskContext context, WrkMast wrkMast) {
|
}
|
|
default void onApplySubmitted(StoreInTaskContext context) {
|
context.getStationProtocol().setSystemWarning("请求入库中");
|
}
|
|
default void onApplyFailed(StoreInTaskContext context, AsyncInTaskResult result) {
|
context.getStationProtocol().setSystemWarning("请求入库失败,WMS返回=" + buildFailureMessage(result));
|
}
|
|
default String buildFailureMessage(AsyncInTaskResult result) {
|
if (!Cools.isEmpty(result.getResponse())) {
|
return result.getResponse();
|
}
|
return result.getMessage();
|
}
|
|
}
|