fix:长短轴添加
This commit is contained in:
@@ -790,10 +790,10 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
|
||||
cutpointivtTypeMap.put("A1_TZZC03", "2");
|
||||
}
|
||||
if (move3 == 1) {
|
||||
cutpointivtTypeMap.put("A1_TZZC04", "1");
|
||||
cutpointivtTypeMap.put("A1_TZZC04", "2");
|
||||
}
|
||||
if (move4 == 1) {
|
||||
cutpointivtTypeMap.put("A1_TZZC04", "2");
|
||||
cutpointivtTypeMap.put("A1_TZZC04", "1");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.config.lucene.TagNameEnum;
|
||||
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
||||
import org.nl.wms.pda.st.service.NbjPdaService;
|
||||
import org.nl.wms.pdm.bi.dao.PdmBiSlittingproductionplan;
|
||||
import org.nl.wms.pdm.bi.service.IpdmBiSlittingproductionplanService;
|
||||
@@ -26,6 +27,7 @@ import org.nl.wms.sch.task_manage.tasks.nbj.PdaSendShaftAGVTask;
|
||||
import org.nl.wms.sch.task_manage.tasks.nbj.SubRollDownAGVTask;
|
||||
import org.nl.wms.util.PointUtils;
|
||||
import org.nl.wms.util.TaskUtils;
|
||||
import org.nl.wms.util.URLEnum;
|
||||
import org.slf4j.MDC;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
@@ -65,6 +67,11 @@ public class NbjPdaServiceImpl implements NbjPdaService {
|
||||
private IBstIvtCutpointivtService bcutpointivtService;
|
||||
@Autowired
|
||||
private PdaSendShaftAGVTask pdaSendShaftAGVTask;
|
||||
|
||||
|
||||
@Autowired
|
||||
private WmsToAcsService wmsToAcsService;
|
||||
|
||||
@Override
|
||||
public JSONObject changeLiftStatus(JSONObject param) {
|
||||
MDC.put(GeneralDefinition.MDC_KEY, TagNameEnum.SWITCH_STATUS_OF_LIFT.getTag());
|
||||
@@ -430,6 +437,7 @@ public class NbjPdaServiceImpl implements NbjPdaService {
|
||||
taskParam.put("vehicle_code", currentUpPlan.getQzzno());
|
||||
taskParam.put("vehicle_code2", currentDownPlan.getQzzno());
|
||||
}
|
||||
StIvtCutpointivt endPoint;
|
||||
if (ObjectUtil.isEmpty(device)) {
|
||||
if (plans.size() == 0) {
|
||||
throw new BadRequestException("系统找不到对应的分切计划,请确保维护了点位信息,或者指定设备!");
|
||||
@@ -437,14 +445,40 @@ public class NbjPdaServiceImpl implements NbjPdaService {
|
||||
PdmBiSlittingproductionplan demoPlan = plans.get(0);
|
||||
// 如果没有选择目的地,就是根据点位上维护的信息送
|
||||
taskParam.put("is_flag", "1");
|
||||
StIvtCutpointivt endPoint = stIvtCutpointivtService.getPintByExtCode(demoPlan.getResource_name(), false);
|
||||
endPoint = stIvtCutpointivtService.getPintByExtCode(demoPlan.getResource_name(), false);
|
||||
taskParam.put("point_code2", endPoint.getPoint_code());
|
||||
} else {
|
||||
StIvtCutpointivt endPoint = stIvtCutpointivtService.getPintByExtCode(device, false);
|
||||
endPoint = stIvtCutpointivtService.getPintByExtCode(device, false);
|
||||
taskParam.put("point_code2", endPoint.getPoint_code());
|
||||
// 不需要修改点位信息
|
||||
taskParam.put("is_flag", "0");
|
||||
}
|
||||
|
||||
//校验终点和起点实际点位轴类型是否匹配
|
||||
String endPointCode = (String) taskParam.get("point_code2");
|
||||
String startPointCode = (String) taskParam.get("point_code1");
|
||||
if (startPoint.getIvt_id().equals("3") || startPoint.getIvt_id().equals("4")) {
|
||||
JSONArray acsArray = new JSONArray();
|
||||
JSONObject acs = new JSONObject();
|
||||
acs.put("device_code", endPointCode);
|
||||
acs.put("product_area", URLEnum.ACS_URL_A1.getProduct_area());
|
||||
acsArray.add(acs);
|
||||
//acs查询缓存架类型
|
||||
log.info("送轴,获取缓存架类型 - {}", acsArray);
|
||||
JSONObject jsonObject = wmsToAcsService.getCutpointivtType(acsArray);
|
||||
log.info("送轴,获取缓存架类型返回 - {}", jsonObject);
|
||||
JSONObject message = (JSONObject) jsonObject.get("message");
|
||||
if (message == null) {
|
||||
throw new BadRequestException("获取缓存架类型失败!");
|
||||
}
|
||||
if (message.containsKey(startPointCode) && !endPoint.getPlan().equals(message.get(startPointCode))) {
|
||||
throw new BadRequestException("请求搬运失败,缓存架气涨轴类型与分切机不匹配!");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
pdaSendShaftAGVTask.createTask(taskParam);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -133,7 +133,6 @@ public class OtherPdaServiceImpl implements OtherPdaService {
|
||||
taskService.updateById(nextTask);
|
||||
}
|
||||
// 通知ACS完成上一个任务
|
||||
// 通知ACS完成上一个任务
|
||||
JSONArray acs = new JSONArray();
|
||||
JSONObject result = new JSONObject();
|
||||
JSONObject acsParam = new JSONObject();
|
||||
|
||||
@@ -53,16 +53,20 @@ public class StIvtHotpointivtServiceImpl extends ServiceImpl<StIvtHotpointivtMap
|
||||
? (String) whereJson.get("point_status") : null;
|
||||
String productArea = ObjectUtil.isNotEmpty(whereJson.get("product_area"))
|
||||
? (String) whereJson.get("product_area") : null;
|
||||
String isUsed = ObjectUtil.isNotEmpty(whereJson.get("is_used"))
|
||||
String isUsed = ObjectUtil.isNotEmpty(whereJson.get("is_used")
|
||||
)
|
||||
? (String) whereJson.get("is_used") : null;
|
||||
String pointLocation = ObjectUtil.isNotEmpty(whereJson.get("point_location"))
|
||||
? (String) whereJson.get("point_location") : null;
|
||||
String container_name = ObjectUtil.isNotEmpty(whereJson.get("container_name"))
|
||||
? (String) whereJson.get("container_name") : null;
|
||||
IPage<StIvtHotpointivt> resultPage = new Page<>(page.getPage() + 1, page.getSize());
|
||||
LambdaQueryWrapper<StIvtHotpointivt> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.like(ObjectUtil.isNotEmpty(pointCode), StIvtHotpointivt::getPoint_code, pointCode)
|
||||
.eq(ObjectUtil.isNotEmpty(pointStatus), StIvtHotpointivt::getPoint_status, pointStatus)
|
||||
.eq(ObjectUtil.isNotEmpty(productArea), StIvtHotpointivt::getProduct_area, productArea)
|
||||
.eq(ObjectUtil.isNotEmpty(isUsed), StIvtHotpointivt::getIs_used, isUsed)
|
||||
.like(ObjectUtil.isNotEmpty(container_name), StIvtHotpointivt::getContainer_name, container_name)
|
||||
.eq(ObjectUtil.isNotEmpty(pointLocation), StIvtHotpointivt::getPoint_location, pointLocation).orderByDesc(StIvtHotpointivt::getInstorage_time);
|
||||
return stIvtHotpointivtMapper.selectPage(resultPage, queryWrapper);
|
||||
}
|
||||
|
||||
@@ -3,12 +3,14 @@ package org.nl.wms.sch.task_manage.tasks.nbj;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.common.utils.CodeUtil;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
||||
import org.nl.wms.pdm.bi.dao.PdmBiSlittingproductionplan;
|
||||
import org.nl.wms.pdm.bi.service.IpdmBiSlittingproductionplanService;
|
||||
import org.nl.wms.pdm.ivt.bcut.service.IBstIvtCutpointivtService;
|
||||
@@ -25,6 +27,7 @@ import org.nl.wms.sch.task_manage.core.constant.GeneralDefinition;
|
||||
import org.nl.wms.sch.task_manage.core.enums.TaskFinishedTypeEnum;
|
||||
import org.nl.wms.util.PointUtils;
|
||||
import org.nl.wms.util.TaskUtils;
|
||||
import org.nl.wms.util.URLEnum;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -58,6 +61,7 @@ public class PdaSendShaftAGVTask extends AbstractTask {
|
||||
private ISchBasePointService pointService;
|
||||
@Autowired
|
||||
private IBstIvtCutpointivtService bcutpointivtService;
|
||||
|
||||
@Override
|
||||
public void create() throws BadRequestException {
|
||||
|
||||
@@ -65,6 +69,7 @@ public class PdaSendShaftAGVTask extends AbstractTask {
|
||||
|
||||
@Override
|
||||
public String createTask(JSONObject form) {
|
||||
|
||||
// 创建任务
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
task.setTask_id(IdUtil.getSnowflake(1,1).nextIdStr());
|
||||
@@ -81,6 +86,7 @@ public class PdaSendShaftAGVTask extends AbstractTask {
|
||||
task.setHandle_class(THIS_CLASS);
|
||||
task.setTask_status(TaskStatus.START_AND_POINT.getCode());
|
||||
TaskUtils.setCreateByDefault(task);
|
||||
|
||||
taskService.save(task);
|
||||
return task.getTask_id();
|
||||
}
|
||||
|
||||
@@ -109,28 +109,9 @@ public class SlitterDownAGVTask extends AbstractTask {
|
||||
acs.put("device_code", requestObj.getString("device_code"));
|
||||
acs.put("product_area", URLEnum.ACS_URL_A1.getProduct_area());
|
||||
acsArray.add(acs);
|
||||
//acs查询缓存架类型
|
||||
log.info("获取缓存架类型 - {}", acsArray);
|
||||
JSONObject jsonObject = wmsToAcsService.getCutpointivtType(acsArray);
|
||||
log.info("获取缓存架类型返回 - {}", jsonObject);
|
||||
JSONObject message = (JSONObject)jsonObject.get("message");
|
||||
if (message == null){
|
||||
throw new BadRequestException("获取缓存架类型失败!");
|
||||
}
|
||||
for (BstIvtCutpointivt bstIvtCutpointivt : areaEmptyNotTaskPoint) {
|
||||
if (message.containsKey(bstIvtCutpointivt.getPoint_code())){
|
||||
if ( bstIvtCutpointivt.getPlan().equals(message.get(bstIvtCutpointivt.getPoint_code()))) {
|
||||
endPoint = bstIvtCutpointivt;
|
||||
} else {
|
||||
throw new BadRequestException("请求搬运失败,缓存架光电信息不满足!");
|
||||
}
|
||||
} else {
|
||||
endPoint = bstIvtCutpointivt;
|
||||
}
|
||||
}
|
||||
if (endPoint == null) {
|
||||
throw new BadRequestException("请求搬运失败,缓存架没有匹配的位置!");
|
||||
}
|
||||
//校验acs与lms气涨轴类型
|
||||
endPoint = checkType(acsArray, areaEmptyNotTaskPoint, endPoint);
|
||||
// endPoint = areaEmptyNotTaskPoint.get(0);
|
||||
task.setPoint_code2(endPoint.getPoint_code());
|
||||
// 设置气胀轴
|
||||
task.setVehicle_code(currentUpPlan != null ? currentUpPlan.getQzzno() : "");
|
||||
@@ -150,6 +131,31 @@ public class SlitterDownAGVTask extends AbstractTask {
|
||||
});
|
||||
}
|
||||
|
||||
private BstIvtCutpointivt checkType(JSONArray acsArray, List<BstIvtCutpointivt> areaEmptyNotTaskPoint, BstIvtCutpointivt endPoint) {
|
||||
log.info("分切下料,获取缓存架类型 - {}", acsArray);
|
||||
JSONObject jsonObject = wmsToAcsService.getCutpointivtType(acsArray);
|
||||
log.info("分切下料,获取缓存架类型返回 - {}", jsonObject);
|
||||
JSONObject message = (JSONObject)jsonObject.get("message");
|
||||
if (message == null){
|
||||
throw new BadRequestException("获取缓存架类型失败!");
|
||||
}
|
||||
for (BstIvtCutpointivt bstIvtCutpointivt : areaEmptyNotTaskPoint) {
|
||||
if (message.containsKey(bstIvtCutpointivt.getPoint_code())){
|
||||
if ( bstIvtCutpointivt.getPlan().equals(message.get(bstIvtCutpointivt.getPoint_code()))) {
|
||||
endPoint = bstIvtCutpointivt;
|
||||
} else {
|
||||
throw new BadRequestException("请求搬运失败,缓存架气涨轴类型与分切机不匹配!");
|
||||
}
|
||||
} else {
|
||||
endPoint = bstIvtCutpointivt;
|
||||
}
|
||||
}
|
||||
if (endPoint == null) {
|
||||
throw new BadRequestException("请求搬运失败,缓存架没有匹配的位置!");
|
||||
}
|
||||
return endPoint;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||
|
||||
Reference in New Issue
Block a user