add:申请任务开关
This commit is contained in:
@@ -232,17 +232,18 @@ public class AppearanceInspectionScannerConveyorDeviceDriver extends AbstractOpc
|
||||
} else {
|
||||
this.createOutInstruction(this.currentDeviceCode);
|
||||
}
|
||||
} else if (this.mode == 6 && move > 0 && !requireSuccess) {
|
||||
//向上位申请任务
|
||||
this.applyInTask();
|
||||
} else if (this.mode == 2 && this.move > 0 && StrUtil.isEmpty(this.barcode) && !requireSuccess) {
|
||||
//下发输送线指令信息
|
||||
this.distribute();
|
||||
} else if (this.mode == 6 && move > 0 && !requireSuccess) {
|
||||
//向上位申请任务
|
||||
this.applyInTask();
|
||||
} else if (this.mode == 7 && this.move > 0 && StrUtil.isNotEmpty(this.barcode) && !requireSuccess) {
|
||||
this.applyAgvTask();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private boolean isTimeValid(long currentTimeMillis) {
|
||||
return currentTimeMillis - this.requireTime >= this.requireTimeOut;
|
||||
}
|
||||
@@ -267,6 +268,41 @@ public class AppearanceInspectionScannerConveyorDeviceDriver extends AbstractOpc
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 扫码申请AGV任务
|
||||
*/
|
||||
private void applyAgvTask() {
|
||||
long currentTimeMillis = System.currentTimeMillis();
|
||||
if (!isTimeValid(currentTimeMillis)) {
|
||||
log.trace("触发时间因为小于{}毫秒,而被无视", this.requireTimeOut);
|
||||
} else {
|
||||
this.requireTime = currentTimeMillis;
|
||||
JSONObject requestParam = new JSONObject();
|
||||
requestParam.put("device_code1", this.currentDeviceCode);
|
||||
requestParam.put("type", RequestTypeEnum.APPLY_IN_TASK.getType());
|
||||
requestParam.put("barcode1", this.barcode);
|
||||
UnifiedResponse<JSONObject> response = acsToWmsService.applyTaskToWms(requestParam);
|
||||
if (response.isSuccess()) {
|
||||
this.requireSuccess = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 自动申请AGV任务
|
||||
*
|
||||
* @param barcode
|
||||
* @return
|
||||
*/
|
||||
private UnifiedResponse<JSONObject> applyAgvTask(String barcode) {
|
||||
JSONObject requestParam = new JSONObject();
|
||||
requestParam.put("device_code1", this.currentDeviceCode);
|
||||
requestParam.put("type", RequestTypeEnum.APPLY_IN_TASK.getType());
|
||||
requestParam.put("barcode1", barcode);
|
||||
return acsToWmsService.applyTaskToWms(requestParam);
|
||||
}
|
||||
|
||||
public void createInInstruction() {
|
||||
long currentTimeMillis = System.currentTimeMillis();
|
||||
if (!isTimeValid(currentTimeMillis)) {
|
||||
@@ -497,6 +533,13 @@ public class AppearanceInspectionScannerConveyorDeviceDriver extends AbstractOpc
|
||||
instructionService.update(instruction);
|
||||
logService.deviceExecuteLog(new LuceneLogDto(this.currentDeviceCode, "指令号:" + instruction.getInstruction_code() + ", 修改指令状态为 -> " + InstructionStatusEnum.BUSY.getName()));
|
||||
} else if ((InstructionStatusEnum.BUSY.getIndex().equals(instruction.getInstruction_status()) || InstructionStatusEnum.READY.getIndex().equals(instruction.getInstruction_status())) && this.currentDeviceCode.equals(instruction.getNext_device_code())) {
|
||||
Boolean applyTaskFlag = Optional.ofNullable(this.getExtraValue().get("applyTask")).map(Object::toString).map(Boolean::parseBoolean).orElse(false);
|
||||
if (applyTaskFlag) {
|
||||
UnifiedResponse<JSONObject> response = this.applyAgvTask(instruction.getVehicle_code());
|
||||
if (!response.isSuccess()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
instruction.setInstruction_status(InstructionStatusEnum.FINISHED.getIndex());
|
||||
instruction.setExecute_device_code(this.currentDeviceCode);
|
||||
instructionService.finish(instruction);
|
||||
|
||||
@@ -67,6 +67,8 @@ public class WithStationDeviceDriver extends AbstractOpcDeviceDriver implements
|
||||
@Override
|
||||
public void execute() {
|
||||
device_code = this.getDeviceCode();
|
||||
Boolean applyTaskFlag = Optional.ofNullable(this.getExtraValue().get("applyTask")).map(Object::toString).map(Boolean::parseBoolean).orElse(false);
|
||||
if (!applyTaskFlag) return;
|
||||
long currentTimeMillis = System.currentTimeMillis();
|
||||
if (!isTimeValid(currentTimeMillis)) {
|
||||
log.trace("触发时间因为小于{}毫秒,而被无视", this.requireTimeOut);
|
||||
|
||||
@@ -65,8 +65,8 @@
|
||||
</div>
|
||||
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="small" label-width="78px">
|
||||
<el-row>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="关联设备:" prop="getLinkDeviceCode" label-width="105px">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="关联设备:" prop="getLinkDeviceCode" label-width="150px">
|
||||
<el-select
|
||||
v-model="form.getLinkDeviceCode"
|
||||
filterable
|
||||
@@ -83,25 +83,32 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="当前排:" label-width="90px" prop="currentX">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="自动申请AGV任务:" label-width="150px">
|
||||
<el-switch v-model="form.applyTask"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="当前排:" label-width="150px" prop="currentX">
|
||||
<el-input v-model.number="form.currentX" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="当前列:" label-width="90px" prop="currentY">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="当前列:" label-width="150px" prop="currentY">
|
||||
<el-input v-model.number="form.currentY" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="当前层:" label-width="90px" prop="currentZ">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="当前层:" label-width="150px" prop="currentZ">
|
||||
<el-input v-model.number="form.currentZ" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="出库缓存设备:" prop="cacheDeviceCode" label-width="130px">
|
||||
<el-form-item label="出库缓存设备:" prop="cacheDeviceCode" label-width="150px">
|
||||
<el-select
|
||||
v-model="form.cacheDeviceCode"
|
||||
filterable
|
||||
@@ -138,7 +145,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="关联拣选台设备:" prop="pinkDeviceCode" label-width="130px">
|
||||
<el-form-item label="关联拣选台设备:" prop="pinkDeviceCode" label-width="150px">
|
||||
<el-select
|
||||
v-model="form.pinkDeviceCode"
|
||||
filterable
|
||||
|
||||
@@ -50,6 +50,11 @@
|
||||
<el-switch v-model="form.manual_create_task"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="申请任务" label-width="150px">
|
||||
<el-switch v-model="form.applyTask"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
@@ -165,7 +170,8 @@ export default {
|
||||
is_pickup: true,
|
||||
is_release: true,
|
||||
apply_time: '',
|
||||
link_device_code: []
|
||||
link_device_code: [],
|
||||
applyTask: false
|
||||
},
|
||||
rules: {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user