无货上报lms优化与输送线指令初始化
This commit is contained in:
@@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil;
|
|||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.http.HttpResponse;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
@@ -162,7 +163,7 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
inst_message = null;
|
inst_message = null;
|
||||||
this.clearWrite();
|
this.clearWrite();
|
||||||
}
|
}
|
||||||
if (move == 0 && last_move == 1 && mode != 0) {
|
if (move == 0 && last_move == 1) {
|
||||||
this.requiresShipDeviceUpdate = false;
|
this.requiresShipDeviceUpdate = false;
|
||||||
}
|
}
|
||||||
logServer.deviceItemValue(this.device_code, "move", String.valueOf(move));
|
logServer.deviceItemValue(this.device_code, "move", String.valueOf(move));
|
||||||
@@ -268,8 +269,10 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
if (move > 0 && !requireSucess) {
|
if (move > 0 && !requireSucess) {
|
||||||
instruction_require();
|
instruction_require();
|
||||||
}
|
}
|
||||||
if (!requiresShipDeviceUpdate) {
|
if (!requiresShipDeviceUpdate && move == 0) {
|
||||||
this.shipDeviceUpdate();
|
this.shipDeviceUpdate();
|
||||||
|
} else {
|
||||||
|
this.requiresShipDeviceUpdate = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
@@ -321,10 +324,11 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
put("device_code", device_code);
|
put("device_code", device_code);
|
||||||
}};
|
}};
|
||||||
|
|
||||||
acsToWmsService.shipDeviceUpdate(param);
|
HttpResponse response = acsToWmsService.shipDeviceUpdate(param);
|
||||||
|
if (response == null || response.getStatus() == 200) {
|
||||||
this.requiresShipDeviceUpdate = true;
|
this.requiresShipDeviceUpdate = true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean exe_error() {
|
public boolean exe_error() {
|
||||||
|
|||||||
@@ -5,8 +5,6 @@ import com.alibaba.fastjson.JSONArray;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import org.nl.acs.ext.wms.data.*;
|
import org.nl.acs.ext.wms.data.*;
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
public interface AcsToWmsService {
|
public interface AcsToWmsService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -105,5 +103,5 @@ public interface AcsToWmsService {
|
|||||||
UpdateLKTaskResponse updateLKTaskRequest(UpdateLKTaskRequest updateLKTaskRequest);
|
UpdateLKTaskResponse updateLKTaskRequest(UpdateLKTaskRequest updateLKTaskRequest);
|
||||||
|
|
||||||
// 输送线有货变成无货时向lms请求
|
// 输送线有货变成无货时向lms请求
|
||||||
void shipDeviceUpdate(JSONObject param);
|
HttpResponse shipDeviceUpdate(JSONObject param);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,15 +18,11 @@ import org.nl.acs.ext.wms.service.AcsToWmsService;
|
|||||||
import org.nl.acs.log.service.DeviceExecuteLogService;
|
import org.nl.acs.log.service.DeviceExecuteLogService;
|
||||||
import org.nl.acs.task.service.TaskService;
|
import org.nl.acs.task.service.TaskService;
|
||||||
import org.nl.acs.task.service.dto.TaskDto;
|
import org.nl.acs.task.service.dto.TaskDto;
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
|
||||||
import org.nl.modules.system.service.ParamService;
|
import org.nl.modules.system.service.ParamService;
|
||||||
import org.slf4j.MDC;
|
import org.slf4j.MDC;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.http.HttpStatus;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -502,7 +498,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void shipDeviceUpdate(JSONObject param) {
|
public HttpResponse shipDeviceUpdate(JSONObject param) {
|
||||||
try {
|
try {
|
||||||
MDC.put(log_file_type, log_type);
|
MDC.put(log_file_type, log_type);
|
||||||
log.info("shipDeviceUpdate-----输入参数{}", param);
|
log.info("shipDeviceUpdate-----输入参数{}", param);
|
||||||
@@ -511,7 +507,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
AddressDto addressDto = addressService.findByCode("shipDeviceUpdate");
|
AddressDto addressDto = addressService.findByCode("shipDeviceUpdate");
|
||||||
String methods_url = addressDto.getMethods_url();
|
String methods_url = addressDto.getMethods_url();
|
||||||
String url = wmsUrl + methods_url;
|
String url = wmsUrl + methods_url;
|
||||||
HttpRequest
|
return HttpRequest
|
||||||
.post(url)
|
.post(url)
|
||||||
.body(param.toString())
|
.body(param.toString())
|
||||||
.execute();
|
.execute();
|
||||||
@@ -521,5 +517,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
} finally {
|
} finally {
|
||||||
MDC.remove(log_file_type);
|
MDC.remove(log_file_type);
|
||||||
}
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -145,4 +145,12 @@ public class InstructionController {
|
|||||||
public ResponseEntity<Object> queryByTaskId(@RequestBody String taskId) {
|
public ResponseEntity<Object> queryByTaskId(@RequestBody String taskId) {
|
||||||
return new ResponseEntity<>(instructionService.getByTaskId(taskId), HttpStatus.OK);
|
return new ResponseEntity<>(instructionService.getByTaskId(taskId), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Log("初始化")
|
||||||
|
@ApiOperation("初始化")
|
||||||
|
@PostMapping(value = "/init/{id}")
|
||||||
|
public ResponseEntity<Object> init(@RequestBody String id) throws Exception {
|
||||||
|
instructionService.init(id);
|
||||||
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -275,4 +275,5 @@ public interface InstructionService {
|
|||||||
boolean createLkInst(String type,Instruction inst);
|
boolean createLkInst(String type,Instruction inst);
|
||||||
|
|
||||||
|
|
||||||
|
void init(String id);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,8 +17,10 @@ import org.nl.acs.agv.server.*;
|
|||||||
import org.nl.acs.auto.initial.ApplicationAutoInitial;
|
import org.nl.acs.auto.initial.ApplicationAutoInitial;
|
||||||
import org.nl.acs.device.service.DeviceService;
|
import org.nl.acs.device.service.DeviceService;
|
||||||
import org.nl.acs.device.service.impl.DeviceServiceImpl;
|
import org.nl.acs.device.service.impl.DeviceServiceImpl;
|
||||||
|
import org.nl.acs.device_driver.DeviceDriver;
|
||||||
import org.nl.acs.device_driver.basedriver.cargo_lift_conveyor.CargoLiftConveyorDeviceDriver;
|
import org.nl.acs.device_driver.basedriver.cargo_lift_conveyor.CargoLiftConveyorDeviceDriver;
|
||||||
import org.nl.acs.device_driver.basedriver.hongxiang_device.HongXiangConveyorDeviceDriver;
|
import org.nl.acs.device_driver.basedriver.hongxiang_device.HongXiangConveyorDeviceDriver;
|
||||||
|
import org.nl.acs.device_driver.basedriver.siemens_conveyor.SiemensConveyorDeviceDriver;
|
||||||
import org.nl.acs.device_driver.basedriver.standard_conveyor_control_with_scanner.StandardCoveyorControlWithScannerDeviceDriver;
|
import org.nl.acs.device_driver.basedriver.standard_conveyor_control_with_scanner.StandardCoveyorControlWithScannerDeviceDriver;
|
||||||
import org.nl.acs.device_driver.basedriver.standard_inspect_site.StandardInspectSiteDeviceDriver;
|
import org.nl.acs.device_driver.basedriver.standard_inspect_site.StandardInspectSiteDeviceDriver;
|
||||||
import org.nl.acs.device_driver.basedriver.standard_storage.StandardStorageDeviceDriver;
|
import org.nl.acs.device_driver.basedriver.standard_storage.StandardStorageDeviceDriver;
|
||||||
@@ -1361,4 +1363,36 @@ public class InstructionServiceImpl implements InstructionService, ApplicationAu
|
|||||||
Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
|
Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
|
||||||
return pattern.matcher(str).matches();
|
return pattern.matcher(str).matches();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init(String id) {
|
||||||
|
Instruction inst = this.findById(id);
|
||||||
|
if (inst == null) {
|
||||||
|
throw new BadRequestException("指令不存在或已删除");
|
||||||
|
}
|
||||||
|
if ("2".equals(inst.getInstruction_status())) {
|
||||||
|
throw new BadRequestException("指令已经完成");
|
||||||
|
}
|
||||||
|
|
||||||
|
Device startDevice = deviceAppService.findDeviceByCode(inst.getStart_device_code());
|
||||||
|
DeviceDriver startDeviceDriver = startDevice.getDeviceDriver();
|
||||||
|
if (startDeviceDriver instanceof SiemensConveyorDeviceDriver) {
|
||||||
|
Device nextDevice = deviceAppService.findDeviceByCode(inst.getNext_device_code());
|
||||||
|
|
||||||
|
List<Map<String, String>> list = new ArrayList<>();
|
||||||
|
Map<String, String> map = new HashMap<>();
|
||||||
|
map.put("code", "to_target");
|
||||||
|
map.put("value", nextDevice.getExtraValue().get("address").toString());
|
||||||
|
list.add(map);
|
||||||
|
Map<String, String> map2 = new HashMap<>();
|
||||||
|
map2.put("code", "to_task");
|
||||||
|
map2.put("value", inst.getInstruction_code());
|
||||||
|
list.add(map2);
|
||||||
|
Map<String, String> map3 = new HashMap<>();
|
||||||
|
map3.put("code", "to_command");
|
||||||
|
map3.put("value", "1");
|
||||||
|
list.add(map3);
|
||||||
|
((SiemensConveyorDeviceDriver) startDeviceDriver).writing(list);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -70,4 +70,12 @@ export function reload() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export default { add, edit, del, finish, cancel, forceCancel, queryUnFinish, queryByTaskId, reload }
|
export function init(instruction_id) {
|
||||||
|
return request({
|
||||||
|
url: 'api/instruction/init/' + instruction_id,
|
||||||
|
method: 'post',
|
||||||
|
data: instruction_id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export default { add, edit, del, finish, cancel, forceCancel, queryUnFinish, queryByTaskId, reload, init }
|
||||||
|
|||||||
@@ -180,6 +180,7 @@
|
|||||||
<el-dropdown-item :command="beforeHandleCommand(scope.$index, scope.row,'a')">完成</el-dropdown-item>
|
<el-dropdown-item :command="beforeHandleCommand(scope.$index, scope.row,'a')">完成</el-dropdown-item>
|
||||||
<el-dropdown-item :command="beforeHandleCommand(scope.$index, scope.row,'b')">取消</el-dropdown-item>
|
<el-dropdown-item :command="beforeHandleCommand(scope.$index, scope.row,'b')">取消</el-dropdown-item>
|
||||||
<el-dropdown-item :command="beforeHandleCommand(scope.$index, scope.row,'c')">强制取消</el-dropdown-item>
|
<el-dropdown-item :command="beforeHandleCommand(scope.$index, scope.row,'c')">强制取消</el-dropdown-item>
|
||||||
|
<el-dropdown-item :command="beforeHandleCommand(scope.$index, scope.row,'d')">初始化</el-dropdown-item>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
</template>
|
</template>
|
||||||
@@ -320,6 +321,14 @@ export default {
|
|||||||
console.log(err.response.data.message)
|
console.log(err.response.data.message)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
init(index, row) {
|
||||||
|
crudInstruction.init(row.instruction_id).then(res => {
|
||||||
|
this.crud.toQuery()
|
||||||
|
this.crud.notify('初始化成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||||
|
}).catch(err => {
|
||||||
|
console.log(err.response.data.message)
|
||||||
|
})
|
||||||
|
},
|
||||||
reload() {
|
reload() {
|
||||||
crudInstruction.reload().then(res => {
|
crudInstruction.reload().then(res => {
|
||||||
this.crud.toQuery()
|
this.crud.toQuery()
|
||||||
@@ -346,6 +355,9 @@ export default {
|
|||||||
case 'c':// 强制取消
|
case 'c':// 强制取消
|
||||||
this.forceCancel(command.index, command.row)
|
this.forceCancel(command.index, command.row)
|
||||||
break
|
break
|
||||||
|
case 'd':// 初始化
|
||||||
|
this.init(command.index, command.row)
|
||||||
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user