opt: 分切任务代码
This commit is contained in:
@@ -76,6 +76,7 @@ public class SendAirShaftAgvTask extends AbstractAcsTask {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask task = taskService.getById(taskObj.getString("task_id"));
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
@@ -163,7 +164,6 @@ public class SendAirShaftAgvTask extends AbstractAcsTask {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void forceFinish(String task_id) {
|
||||
JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0);
|
||||
this.updateTaskStatus(taskObj, TaskStatusEnum.FINISHED.getCode());
|
||||
|
||||
@@ -74,6 +74,7 @@ public class SendCopperFoilSubRollTrussTask extends AbstractAcsTask {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask task = taskService.getById(taskObj.getString("task_id"));
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
@@ -126,7 +127,6 @@ public class SendCopperFoilSubRollTrussTask extends AbstractAcsTask {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void forceFinish(String task_id) {
|
||||
JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0);
|
||||
this.updateTaskStatus(taskObj, TaskStatusEnum.FINISHED.getCode());
|
||||
|
||||
@@ -67,6 +67,7 @@ public class SlitterDownAgvTask extends AbstractAcsTask {
|
||||
return resultList;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask task = taskService.getById(taskObj.getString("task_id"));
|
||||
@@ -128,7 +129,6 @@ public class SlitterDownAgvTask extends AbstractAcsTask {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void forceFinish(String task_id) {
|
||||
JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0);
|
||||
this.updateTaskStatus(taskObj, TaskStatusEnum.FINISHED.getCode());
|
||||
|
||||
@@ -177,7 +177,6 @@ public class SlitterDownTrussTask extends AbstractAcsTask {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void forceFinish(String task_id) {
|
||||
JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0);
|
||||
this.updateTaskStatus(taskObj, TaskStatusEnum.FINISHED.getCode());
|
||||
|
||||
@@ -80,6 +80,7 @@ public class TrussCallAirShaftTask extends AbstractAcsTask {
|
||||
return resultList;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask task = taskService.getById(taskObj.getString("task_id"));
|
||||
@@ -196,7 +197,6 @@ public class TrussCallAirShaftTask extends AbstractAcsTask {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void forceFinish(String task_id) {
|
||||
JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0);
|
||||
this.updateTaskStatus(taskObj, TaskStatusEnum.FINISHED.getCode());
|
||||
|
||||
@@ -67,6 +67,7 @@ public class TrussCallShaftCacheTask extends AbstractAcsTask {
|
||||
return resultList;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask task = taskService.getById(taskObj.getString("task_id"));
|
||||
@@ -131,7 +132,6 @@ public class TrussCallShaftCacheTask extends AbstractAcsTask {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void forceFinish(String task_id) {
|
||||
JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0);
|
||||
this.updateTaskStatus(taskObj, TaskStatusEnum.FINISHED.getCode());
|
||||
|
||||
@@ -79,6 +79,7 @@ public class TrussSendAirShaftTask extends AbstractAcsTask {
|
||||
return resultList;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask task = taskService.getById(taskObj.getString("task_id"));
|
||||
@@ -168,7 +169,6 @@ public class TrussSendAirShaftTask extends AbstractAcsTask {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void forceFinish(String task_id) {
|
||||
JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0);
|
||||
this.updateTaskStatus(taskObj, TaskStatusEnum.FINISHED.getCode());
|
||||
|
||||
@@ -68,6 +68,7 @@ class TrussSendShaftCacheTask extends AbstractAcsTask {
|
||||
return resultList;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask task = taskService.getById(taskObj.getString("task_id"));
|
||||
@@ -133,7 +134,6 @@ class TrussSendShaftCacheTask extends AbstractAcsTask {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void forceFinish(String task_id) {
|
||||
JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0);
|
||||
this.updateTaskStatus(taskObj, TaskStatusEnum.FINISHED.getCode());
|
||||
|
||||
@@ -185,7 +185,6 @@ public class UpShaftTrussTask extends AbstractAcsTask {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void forceFinish(String task_id) {
|
||||
JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0);
|
||||
this.updateTaskStatus(taskObj, TaskStatusEnum.FINISHED.getCode());
|
||||
|
||||
@@ -72,16 +72,11 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
@Autowired
|
||||
private TrussCallShaftCacheTask trussCallShaftCacheTask;
|
||||
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public JSONObject acsRequestShaftLoadTube(JSONObject param) {
|
||||
JSONObject res = new JSONObject();
|
||||
JSONObject con = new JSONObject();
|
||||
String deviceCode = param.getString("device_code");
|
||||
RLock lock = redissonClient.getLock(deviceCode);
|
||||
boolean tryLock = lock.tryLock(10, TimeUnit.SECONDS);
|
||||
try {
|
||||
if (tryLock) {
|
||||
String size = param.getString("size");
|
||||
BstIvtShafttubeivt point = shafttubeivtService.getByPointCode(deviceCode, false);
|
||||
// 判断尺寸是否相同
|
||||
@@ -100,14 +95,6 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
? point.getTube_name2().split("\\|")[2].charAt(0) : "");
|
||||
con.put("number", ObjectUtil.isNotEmpty(point.getTube_code1()) && ObjectUtil.isNotEmpty(point.getTube_code2())
|
||||
? "2" : "1");
|
||||
} else {
|
||||
throw new BadRequestException("系统繁忙,稍后在试");
|
||||
}
|
||||
} finally {
|
||||
if (tryLock) {
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
res.put("code", HttpStatus.HTTP_OK);
|
||||
res.put("message", "任务请求成功!");
|
||||
return res;
|
||||
@@ -118,10 +105,6 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
public JSONObject acsFinishShaftPluckTube(JSONObject param) {
|
||||
JSONObject res = new JSONObject();
|
||||
String deviceCode = param.getString("device_code");
|
||||
RLock lock = redissonClient.getLock(deviceCode);
|
||||
boolean tryLock = lock.tryLock(10, TimeUnit.SECONDS);
|
||||
try {
|
||||
if (tryLock) {
|
||||
// 气涨轴编码
|
||||
String qzzNo = param.getString("qzz_no");
|
||||
String direction = param.getString("direction");
|
||||
@@ -150,14 +133,6 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
taskParam.put("task_type", "6");
|
||||
taskParam.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
|
||||
sendCopperFoilSubRollTrussTask.createTask(taskParam);
|
||||
} else {
|
||||
throw new BadRequestException("系统繁忙,稍后在试");
|
||||
}
|
||||
} finally {
|
||||
if (tryLock) {
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
res.put("code", HttpStatus.HTTP_OK);
|
||||
res.put("message", "任务请求成功!");
|
||||
return res;
|
||||
@@ -169,10 +144,6 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
// 参数:设备号,type,插拔轴位,qzzSize
|
||||
JSONObject res = new JSONObject();
|
||||
String deviceCode = param.getString("device_code");
|
||||
RLock lock = redissonClient.getLock(deviceCode);
|
||||
boolean tryLock = lock.tryLock(10, TimeUnit.SECONDS);
|
||||
try {
|
||||
if (tryLock) {
|
||||
String qzzNo = param.getString("qzz_no");
|
||||
if (ObjectUtil.isEmpty(qzzNo)) {
|
||||
log.error("气涨轴编码不能为空!");
|
||||
@@ -197,14 +168,6 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
r.put("right_size", s);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
throw new BadRequestException("系统繁忙,稍后在试");
|
||||
}
|
||||
} finally {
|
||||
if (tryLock) {
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
res.put("code", HttpStatus.HTTP_OK);
|
||||
res.put("message", "请求成功");
|
||||
return res;
|
||||
@@ -217,11 +180,6 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
JSONObject res = new JSONObject();
|
||||
// 穿拔轴位
|
||||
String deviceCode = param.getString("device_code");
|
||||
RLock lock = redissonClient.getLock(deviceCode);
|
||||
boolean tryLock = lock.tryLock(10, TimeUnit.SECONDS);
|
||||
try {
|
||||
if (tryLock) {
|
||||
String taskCode = param.getString("task_code");
|
||||
// todo: 纸管
|
||||
String weight1 = param.getString("weight1");
|
||||
String material1 = param.getString("material1");
|
||||
@@ -300,14 +258,6 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
lockPoint.unlock();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
throw new BadRequestException("系统繁忙,稍后在试");
|
||||
}
|
||||
} finally {
|
||||
if (tryLock) {
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
res.put("code", HttpStatus.HTTP_OK);
|
||||
res.put("message", "请求成功");
|
||||
return res;
|
||||
@@ -318,10 +268,6 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
public JSONObject acsSendShaftToCache(JSONObject param) {
|
||||
JSONObject res = new JSONObject();
|
||||
String deviceCode = param.getString("device_code");
|
||||
RLock lock = redissonClient.getLock(deviceCode);
|
||||
boolean tryLock = lock.tryLock(10, TimeUnit.SECONDS);
|
||||
try {
|
||||
if (tryLock) {
|
||||
String qzzSize = param.getString("size");
|
||||
// 判断是否有未完成的任务
|
||||
List<SchBaseTask> list = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
@@ -348,14 +294,6 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
param.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
|
||||
param.put("is_bushing", "0");
|
||||
trussCallShaftCacheTask.createTask(param);
|
||||
} else {
|
||||
throw new BadRequestException("系统繁忙,稍后在试");
|
||||
}
|
||||
} finally {
|
||||
if (tryLock) {
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
res.put("code", HttpStatus.HTTP_OK);
|
||||
res.put("message", "请求成功");
|
||||
return res;
|
||||
|
||||
@@ -177,5 +177,10 @@ public class AcsToWmsController {
|
||||
return new ResponseEntity<>(acsToWmsService.deviceApplyExceptional(whereJson), HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/slitterApply")
|
||||
@Log(value = "二期分切请求", isInterfaceLog = true, interfaceLogType = InterfaceLogType.ACS_TO_LMS)
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> slitterApply(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(acsToWmsService.slitterApply(param), HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -167,4 +167,11 @@ public interface AcsToWmsService {
|
||||
* }
|
||||
*/
|
||||
JSONObject deviceApplyExceptional(JSONObject whereJson);
|
||||
|
||||
/**
|
||||
* 二期分切请求
|
||||
* @param param /
|
||||
* @return /
|
||||
*/
|
||||
JSONObject slitterApply(JSONObject param);
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||
import org.nl.b_lms.sch.tasks.TwoBoxExcepTask;
|
||||
import org.nl.b_lms.sch.tasks.first_floor_area.MzhcwTask;
|
||||
import org.nl.b_lms.sch.tasks.slitter.service.SlitterService;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.TASKEnum;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.*;
|
||||
@@ -47,6 +48,7 @@ import org.nl.wms.st.inbill.service.RawAssistIStorService;
|
||||
import org.nl.wms.st.inbill.service.StorPublicService;
|
||||
import org.redisson.api.RLock;
|
||||
import org.redisson.api.RedissonClient;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -126,6 +128,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
@Resource
|
||||
private MzhcwTask mzhcwTask;
|
||||
|
||||
private final SlitterService slitterService;
|
||||
|
||||
|
||||
/**
|
||||
* task_id:任务标识
|
||||
@@ -2029,4 +2033,56 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
return result;
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public JSONObject slitterApply(JSONObject param) {
|
||||
log.info("slitterApply请求参数:---------------------------------------------{}", param);
|
||||
JSONObject res = new JSONObject();
|
||||
String deviceCode = param.getString("device_code");
|
||||
String type = param.getString("type");
|
||||
if (ObjectUtil.isEmpty(type)) {
|
||||
throw new BadRequestException("任务类型「type」不能为空");
|
||||
}
|
||||
RLock lock = redissonClient.getLock(deviceCode);
|
||||
boolean tryLock = lock.tryLock(5, TimeUnit.SECONDS);
|
||||
try {
|
||||
if (tryLock) {
|
||||
switch (type) {
|
||||
case "1":
|
||||
// 申请套管
|
||||
res = slitterService.acsRequestShaftLoadTube(param);
|
||||
break;
|
||||
case "2":
|
||||
// 套管完成
|
||||
res = slitterService.acsFinishLoadShaft(param);
|
||||
break;
|
||||
case "3":
|
||||
// 拔轴完成
|
||||
res = slitterService.acsFinishShaftPluckTube(param);
|
||||
break;
|
||||
case "4":
|
||||
// 申请拔轴
|
||||
res = slitterService.acsRequestShaftPluckTube(param);
|
||||
break;
|
||||
case "5":
|
||||
// 缓存线已满,生产桁架任务
|
||||
res = slitterService.acsSendShaftToCache(param);
|
||||
break;
|
||||
default:
|
||||
log.error("slitterApply任务类型「{}」无效!,参数:---------------------------------------------{}", type, param);
|
||||
throw new BadRequestException("任务类型「" + type + "」无效!");
|
||||
}
|
||||
} else {
|
||||
log.error("slitterApply系统繁忙,参数:---------------------------------------------{}", param);
|
||||
throw new BadRequestException("系统繁忙,请稍后再试!");
|
||||
}
|
||||
} finally {
|
||||
if (tryLock) {
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
log.info("slitterApply返回参数:---------------------------------------------{}", res);
|
||||
return res;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user