|
@@ -14,6 +14,7 @@ import com.ruoyi.base.constant.Constant;
|
|
|
import com.ruoyi.base.domain.BaseLocationInfo;
|
|
|
import com.ruoyi.base.service.IBaseLocationInfoService;
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
+import com.ruoyi.common.core.redis.RedisCache;
|
|
|
import com.ruoyi.common.exception.base.BaseException;
|
|
|
import com.ruoyi.common.utils.DateUtils;
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
@@ -29,6 +30,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
/**
|
|
|
* Created with IntelliJ IDEA.
|
|
@@ -65,10 +67,15 @@ public class TianaoServiceImpl implements TianaoService {
|
|
|
|
|
|
private final List<Long> statusLsit = Arrays.asList(11L,12L,5L,6L,7L);
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private RedisCache redisCache;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public JSONObject addTask(TianaoTask tianaoTask) {
|
|
|
-
|
|
|
+ if (redisCache.checkIsLock(tianaoTask.getLcsTaskId())){
|
|
|
+ return returnJson("e0001","任务Id已重复","fail");
|
|
|
+ }
|
|
|
if (tianaoTask.getFromLocation().equals(tianaoTask.getToLocation())) {
|
|
|
throw new BaseException("起始库位与目标库位不能相同");
|
|
|
}
|
|
@@ -96,6 +103,7 @@ public class TianaoServiceImpl implements TianaoService {
|
|
|
wcsTask.setExt7(tianaoTask.getLcsTaskId());
|
|
|
wcsTask.setExt8(tianaoTask.getContainerNo());
|
|
|
if (wcsTaskService.insertWcsTask(wcsTask) ==1){
|
|
|
+ redisCache.setCacheObject(tianaoTask.getLcsTaskId(),tianaoTask.getLcsTaskId(),30,TimeUnit.SECONDS);
|
|
|
return returnJson("00000","任务发起成功","ok");
|
|
|
}
|
|
|
return returnJson("e0001","任务发起出错","fail");
|
|
@@ -124,6 +132,9 @@ public class TianaoServiceImpl implements TianaoService {
|
|
|
if (statusLsit.contains(wcsTask.getState())){
|
|
|
return returnJson("e0001","当前任务无法修改卸货点","fail");
|
|
|
}
|
|
|
+ if("N".equals( iBaseLocationInfoService.selectBaseLocationInfoByIdOrNo(tianaoTask.getToLocation(), Constant.WAREHOUSE_ID).getIsEmpty())){
|
|
|
+ return returnJson("e0001","目标卸货点不为空","fail");
|
|
|
+ }
|
|
|
if (wcsTask.getState()!=9) {
|
|
|
try {
|
|
|
AmsTask amsTask = new AmsTask();
|
|
@@ -131,11 +142,10 @@ public class TianaoServiceImpl implements TianaoService {
|
|
|
amsTask = amsTaskService.selectAmsTaskByModel(amsTask);
|
|
|
Integer carNo = Integer.getInteger(wcsTask.getAgvNo());
|
|
|
if (ObjectUtil.isNotNull(carNo)){
|
|
|
- //TODO To志飞:这一步是做什么的?
|
|
|
+ //修改AGV任务目标地址
|
|
|
statusUpdateService.confirmAnalysis(wcsTask.getTaskNo(), amsTask.getAciIndex(),carNo
|
|
|
, "02", tianaoTask.getToLocation());
|
|
|
Thread.sleep(1000);
|
|
|
- //TODO To志飞:这一步是做什么的?
|
|
|
statusUpdateService.confirmAnalysis(wcsTask.getTaskNo(), amsTask.getAciIndex(), carNo
|
|
|
, "10", "1");
|
|
|
Thread.sleep(1000);
|