add 料仓看板和lms优先

This commit is contained in:
周俊杰
2024-08-01 09:22:10 +08:00
parent 5b9f798490
commit 9a821555c6
11 changed files with 923 additions and 10 deletions

View File

@@ -150,6 +150,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
@Override
public BaseResponse acsApply(JSONObject param) {
log.info("acs请求lms方法名acsApply");
String requestNo = param.getString(RequestConstant.REQUEST_NO);
String requestMethodName = param.getString(RequestConstant.REQUEST_METHOD_NAME);
BaseResponse result = BaseResponse.build(requestNo);
@@ -189,12 +190,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
@SneakyThrows
public ApplyTaskResponse applyPutFullVehicle(JSONObject param) {
// 找到当前的设备
log.info("acs请求lms方法名applyPutFullVehicle");
String deviceCode = param.getString("device_code");
String requestNo = param.getString("requestNo");
SchBasePoint basePoint = pointService.getById(deviceCode);
String configCode = basePoint.getRegion_code() + "QLTask";
RLock lock = redissonClient.getLock(configCode);
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
boolean tryLock = lock.tryLock(10, TimeUnit.SECONDS);
try {
if (tryLock) {
if (ObjectUtil.isEmpty(basePoint)) {
@@ -263,12 +265,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
@SneakyThrows
public ApplyTaskResponse applyPutEmptyVehicle(JSONObject param) {
// 找到当前的设备
log.info("acs请求lms方法名applyPutEmptyVehicle");
String deviceCode = param.getString("device_code");
String requestNo = param.getString("requestNo");
SchBasePoint basePoint = pointService.getById(deviceCode);
String configCode = basePoint.getRegion_code() + "QKTask";
RLock lock = redissonClient.getLock(configCode);
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
boolean tryLock = lock.tryLock(10, TimeUnit.SECONDS);
try {
if (tryLock) {
@@ -279,6 +282,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
// 组织参数
param.put("config_code", configCode);
taskService.apply(param);
}else {
throw new BadRequestException("其他设备占用锁,等待结束!");
}
} finally {
if (tryLock) {
@@ -299,12 +304,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
@SneakyThrows
public ApplyTaskResponse applyTakeEmptyVehicle(JSONObject param) {
// 找到当前的设备
log.info("acs请求lms方法名applyTakeEmptyVehicle");
String deviceCode = param.getString("device_code");
String requestNo = param.getString("requestNo");
SchBasePoint basePoint = pointService.getById(deviceCode);
String configCode = basePoint.getRegion_code() + "SKTask";
RLock lock = redissonClient.getLock(configCode);
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
boolean tryLock = lock.tryLock(10, TimeUnit.SECONDS);
try {
if (tryLock) {
if (ObjectUtil.isEmpty(basePoint)) {
@@ -314,6 +320,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
param.put("config_code", configCode);
taskService.apply(param);
}
else {
throw new BadRequestException("其他设备占用锁,等待结束!");
}
} finally {
if (tryLock) {
lock.unlock();
@@ -333,13 +342,14 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
@SneakyThrows
public ApplyTaskResponse applyTakeFullVehicle(JSONObject param) {
// 找到当前的设备
log.info("acs请求lms方法名applyTakeFullVehicle");
String deviceCode = param.getString("device_code");
String requestNo = param.getString("requestNo");
SchBasePoint basePoint = pointService.getById(deviceCode);
String configCode = basePoint.getRegion_code() + "MLTask";
RLock lock = redissonClient.getLock(configCode);
// 无业务0
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
boolean tryLock = lock.tryLock(10, TimeUnit.SECONDS);
try {
if (tryLock) {
if (ObjectUtil.isEmpty(basePoint)) {
@@ -348,6 +358,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
// 组织参数
param.put("config_code", configCode);
taskService.apply(param);
} else {
throw new BadRequestException("其他设备占用锁,等待结束!");
}
}
finally {
@@ -394,7 +406,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
String deviceCode = param.getString("device_code");
String requestNo = param.getString("requestNo");
RLock lock = redissonClient.getLock(deviceCode);
boolean tryLock = lock.tryLock(5, TimeUnit.SECONDS);
boolean tryLock = lock.tryLock(10, TimeUnit.SECONDS);
try {
if (tryLock) {
SchBasePoint basePoint = pointService.getById(deviceCode);
@@ -406,6 +418,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
param.put("config_code", configCode);
taskService.apply(param);
}
else {
throw new BadRequestException("其他设备占用锁,等待结束!");
}
} finally {
if (tryLock) {
lock.unlock();

View File

@@ -246,6 +246,7 @@ public abstract class AbstractTask {
* @throws BadRequestException
*/
public void apply(JSONObject param) throws BadRequestException {
log.info("acs请求lms方法名apply");
// 申请任务
SchBaseTask task = new SchBaseTask(); // 任务实体
String apply_point_code = param.getString("device_code"); // 请求点

View File

@@ -267,10 +267,10 @@
</template>
</el-table-column>
<el-table-column prop="vehicle_code" label="载具编码" :min-width="flexWidth('vehicle_code',crud.data,'载具编码')" />
<el-table-column prop="material_code" label="产品牌号" show-overflow-tooltip :min-width="flexWidth('material_qty',crud.data,'产品牌号')" />
<!-- <el-table-column prop="material_code" label="产品牌号" show-overflow-tooltip :min-width="flexWidth('material_qty',crud.data,'产品牌号')" />
<el-table-column prop="material_spec" label="产品部位" :min-width="flexWidth('material_qty',crud.data,'产品部位')" />
<el-table-column prop="material_model" label="物料型号" :min-width="flexWidth('material_qty',crud.data,'物料型号')" />
<el-table-column prop="customer" label="客户名称" :min-width="flexWidth('material_qty',crud.data,'客户名称')" />
<el-table-column prop="customer" label="客户名称" :min-width="flexWidth('material_qty',crud.data,'客户名称')" /> -->
<el-table-column prop="vehicle_qty" label="载具数量" :min-width="flexWidth('vehicle_qty',crud.data,'载具数量')" />
<el-table-column label="是否锁定" :min-width="flexWidth('vehicle_qty',crud.data,'是否锁定')">
<template slot-scope="scope">