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