feat: 手持出入收卷辊
This commit is contained in:
@@ -40,4 +40,14 @@ public class OtherPdaController {
|
|||||||
public ResponseEntity<Object> callAgvToSampling(@RequestBody JSONObject param) {
|
public ResponseEntity<Object> callAgvToSampling(@RequestBody JSONObject param) {
|
||||||
return new ResponseEntity<>(otherPdaService.callAgvToSampling(param), HttpStatus.OK);
|
return new ResponseEntity<>(otherPdaService.callAgvToSampling(param), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
@PostMapping("/onlyCallRollTruss")
|
||||||
|
@Log("呼叫出辊-桁架任务完成不做AGV")
|
||||||
|
public ResponseEntity<Object> onlyCallRollTruss(@RequestBody JSONObject param) {
|
||||||
|
return new ResponseEntity<>(otherPdaService.onlyCallRollTruss(param), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
@PostMapping("/onlySendRollTruss")
|
||||||
|
@Log("呼叫入辊-桁架任务完成不做AGV")
|
||||||
|
public ResponseEntity<Object> onlySendRollTruss(@RequestBody JSONObject param) {
|
||||||
|
return new ResponseEntity<>(otherPdaService.onlySendRollTruss(param), HttpStatus.OK);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,4 +28,18 @@ public interface OtherPdaService {
|
|||||||
* @return /
|
* @return /
|
||||||
*/
|
*/
|
||||||
JSONObject callAgvToSampling(JSONObject param);
|
JSONObject callAgvToSampling(JSONObject param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 呼叫出辊-桁架任务完成不做AGV
|
||||||
|
* @param param /
|
||||||
|
* @return /
|
||||||
|
*/
|
||||||
|
JSONObject onlyCallRollTruss(JSONObject param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 呼叫入辊
|
||||||
|
* @param param /
|
||||||
|
* @return /
|
||||||
|
*/
|
||||||
|
JSONObject onlySendRollTruss(JSONObject param);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -181,7 +181,7 @@ public class GxPdaServiceImpl implements GxPdaService {
|
|||||||
pointService.updateBatchById(updatePoints);
|
pointService.updateBatchById(updatePoints);
|
||||||
JSONObject result = new JSONObject();
|
JSONObject result = new JSONObject();
|
||||||
result.put("status", HttpStatus.OK.value());
|
result.put("status", HttpStatus.OK.value());
|
||||||
result.put("message", "管芯出库全部请求成功!");
|
result.put("message", "管芯出库 " + number + " 个管芯!");
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ import org.nl.wms.sch.task_manage.TaskStatus;
|
|||||||
import org.nl.wms.sch.task_manage.core.constant.GeneralDefinition;
|
import org.nl.wms.sch.task_manage.core.constant.GeneralDefinition;
|
||||||
import org.nl.wms.sch.task_manage.tasks.other.CallToSamplingAGVTask;
|
import org.nl.wms.sch.task_manage.tasks.other.CallToSamplingAGVTask;
|
||||||
import org.nl.wms.sch.task_manage.tasks.other.WasteFoilAGVTask;
|
import org.nl.wms.sch.task_manage.tasks.other.WasteFoilAGVTask;
|
||||||
|
import org.nl.wms.sch.task_manage.tasks.raw.RawCallRollTrussTask;
|
||||||
|
import org.nl.wms.sch.task_manage.tasks.slitter.SlitterSendRollTrussTask;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -34,6 +36,10 @@ public class OtherPdaServiceImpl implements OtherPdaService {
|
|||||||
private ISchBaseTaskService taskService;
|
private ISchBaseTaskService taskService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private CallToSamplingAGVTask callToSamplingAGVTask;
|
private CallToSamplingAGVTask callToSamplingAGVTask;
|
||||||
|
@Autowired
|
||||||
|
private RawCallRollTrussTask rawCallRollTrussTask;
|
||||||
|
@Autowired
|
||||||
|
private SlitterSendRollTrussTask slitterSendRollTrussTask;
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public JSONObject startMoveWasteFoil(JSONObject param) {
|
public JSONObject startMoveWasteFoil(JSONObject param) {
|
||||||
@@ -52,6 +58,7 @@ public class OtherPdaServiceImpl implements OtherPdaService {
|
|||||||
param.put("config_code", "WasteFoilAGVTask");
|
param.put("config_code", "WasteFoilAGVTask");
|
||||||
param.put("stage", "first");
|
param.put("stage", "first");
|
||||||
param.put("total", row.size());
|
param.put("total", row.size());
|
||||||
|
param.put("create_mode", GeneralDefinition.PDA_CREATION);
|
||||||
wasteFoilAGVTask.apply(param);
|
wasteFoilAGVTask.apply(param);
|
||||||
JSONObject result = new JSONObject();
|
JSONObject result = new JSONObject();
|
||||||
result.put("status", HttpStatus.OK.value());
|
result.put("status", HttpStatus.OK.value());
|
||||||
@@ -95,6 +102,7 @@ public class OtherPdaServiceImpl implements OtherPdaService {
|
|||||||
param.put("row", row);
|
param.put("row", row);
|
||||||
param.put("total", row.size());
|
param.put("total", row.size());
|
||||||
param.put("up_task_code", task.getTask_code());
|
param.put("up_task_code", task.getTask_code());
|
||||||
|
param.put("create_mode", GeneralDefinition.PDA_CREATION);
|
||||||
wasteFoilAGVTask.apply(param);
|
wasteFoilAGVTask.apply(param);
|
||||||
// todo: 通知ACS完成上一个任务
|
// todo: 通知ACS完成上一个任务
|
||||||
JSONObject result = new JSONObject();
|
JSONObject result = new JSONObject();
|
||||||
@@ -121,4 +129,50 @@ public class OtherPdaServiceImpl implements OtherPdaService {
|
|||||||
result.put("message", "取样检测任务请求成功!");
|
result.put("message", "取样检测任务请求成功!");
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public JSONObject onlyCallRollTruss(JSONObject param) {
|
||||||
|
log.info("手持收卷辊呼叫,只做桁架,没有AGV - {}", param);
|
||||||
|
// point_code, vehicle_type
|
||||||
|
String pointCode = param.getString("point_code");
|
||||||
|
List<SchBaseTask> schBaseTasks = taskService.checkHaveTask(pointCode);
|
||||||
|
if (schBaseTasks.size() > 0) {
|
||||||
|
throw new BadRequestException("点位[" + pointCode + "]已经存在任务!");
|
||||||
|
}
|
||||||
|
JSONObject taskParam = new JSONObject();
|
||||||
|
taskParam.put("device_code", pointCode);
|
||||||
|
taskParam.put("vehicle_type", param.getString("vehicle_type"));
|
||||||
|
taskParam.put("is_flag", "2");
|
||||||
|
taskParam.put("config_code", "RawCallRollTrussTask");
|
||||||
|
taskParam.put("create_mode", GeneralDefinition.PDA_CREATION);
|
||||||
|
rawCallRollTrussTask.apply(taskParam);
|
||||||
|
JSONObject result = new JSONObject();
|
||||||
|
result.put("status", HttpStatus.OK.value());
|
||||||
|
result.put("message", "收卷辊呼叫任务请求成功!");
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JSONObject onlySendRollTruss(JSONObject param) {
|
||||||
|
log.info("人工把收卷辊当到对接位后执行手持入收卷辊 - {}", param);
|
||||||
|
// point_code, vehicle_code, vehicle_type
|
||||||
|
// 到物料表中查找载具号
|
||||||
|
String pointCode = param.getString("point_code");
|
||||||
|
List<SchBaseTask> schBaseTasks = taskService.checkHaveTask(pointCode);
|
||||||
|
if (schBaseTasks.size() > 0) {
|
||||||
|
throw new BadRequestException("点位[" + pointCode + "]已经存在任务!");
|
||||||
|
}
|
||||||
|
JSONObject taskParam = new JSONObject();
|
||||||
|
taskParam.put("device_code", pointCode);
|
||||||
|
taskParam.put("vehicle_code", param.getString("vehicle_code"));
|
||||||
|
taskParam.put("vehicle_type", param.getString("vehicle_type"));
|
||||||
|
taskParam.put("config_code", "SlitterSendRollTrussTask");
|
||||||
|
taskParam.put("create_mode", GeneralDefinition.PDA_CREATION);
|
||||||
|
slitterSendRollTrussTask.apply(taskParam);
|
||||||
|
JSONObject result = new JSONObject();
|
||||||
|
result.put("status", HttpStatus.OK.value());
|
||||||
|
result.put("message", "收卷辊入库任务请求成功!");
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
AND p.vehicle_type = #{vehicleType}
|
AND p.vehicle_type = #{vehicleType}
|
||||||
AND p.is_used = TRUE
|
AND p.is_used = TRUE
|
||||||
AND 0 = (SELECT COUNT(*) FROM sch_base_task t WHERE t.point_code1 = p.point_code AND t.task_status <![CDATA[<]]> '07')
|
AND 0 = (SELECT COUNT(*) FROM sch_base_task t WHERE t.point_code1 = p.point_code AND t.task_status <![CDATA[<]]> '07')
|
||||||
ORDER BY p.in_order_seq
|
ORDER BY p.in_order_seq, p.update_time
|
||||||
</select>
|
</select>
|
||||||
<select id="getHotNotTaskPoint" resultType="org.nl.wms.sch.point.service.dao.SchBasePoint">
|
<select id="getHotNotTaskPoint" resultType="org.nl.wms.sch.point.service.dao.SchBasePoint">
|
||||||
SELECT p.*
|
SELECT p.*
|
||||||
|
|||||||
@@ -0,0 +1,71 @@
|
|||||||
|
package org.nl.wms.sch.task_manage.tasks.other;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.common.exception.BadRequestException;
|
||||||
|
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
||||||
|
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||||
|
import org.nl.wms.sch.task_manage.AbstractTask;
|
||||||
|
import org.nl.wms.sch.task_manage.TaskStatus;
|
||||||
|
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.TaskUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import static org.nl.wms.util.TaskUtils.checkTaskOptionStatus;
|
||||||
|
import static org.nl.wms.util.TaskUtils.setUpdateByPC;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: lyd
|
||||||
|
* @Description: 点对点AGV任务
|
||||||
|
* @Date: 2024/8/15
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
@Slf4j
|
||||||
|
@Component(value = "PointToPointAGVTask")
|
||||||
|
public class PointToPointAGVTask extends AbstractTask {
|
||||||
|
private final String THIS_CLASS = PointToPointAGVTask.class.getName();
|
||||||
|
@Autowired
|
||||||
|
private ISchBaseTaskService taskService;
|
||||||
|
@Override
|
||||||
|
public void create() throws BadRequestException {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void createCompletion(SchBaseTask task) {
|
||||||
|
// 创建点对点
|
||||||
|
JSONObject requestObj = JSONObject.parseObject(task.getRequest_param());
|
||||||
|
task.setPoint_code1(requestObj.getString("point_code1"));
|
||||||
|
task.setPoint_code2(requestObj.getString("point_code2"));
|
||||||
|
// 创建任务
|
||||||
|
task.setHandle_class(THIS_CLASS);
|
||||||
|
task.setTask_status(TaskStatus.START_AND_POINT.getCode());
|
||||||
|
setUpdateByPC(task);
|
||||||
|
taskService.save(task);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||||
|
checkTaskOptionStatus(taskObj);
|
||||||
|
// 任务完成
|
||||||
|
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||||
|
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||||
|
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||||
|
taskService.updateById(taskObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||||
|
checkTaskOptionStatus(taskObj);
|
||||||
|
// 取消
|
||||||
|
taskObj.setTask_status(TaskStatus.CANCELED.getCode());
|
||||||
|
taskObj.setRemark(GeneralDefinition.TASK_CANCEL);
|
||||||
|
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||||
|
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||||
|
taskService.updateById(taskObj);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
package org.nl.wms.sch.task_manage.tasks.other;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.common.exception.BadRequestException;
|
||||||
|
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
||||||
|
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||||
|
import org.nl.wms.sch.task_manage.AbstractTask;
|
||||||
|
import org.nl.wms.sch.task_manage.TaskStatus;
|
||||||
|
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.TaskUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import static org.nl.wms.util.TaskUtils.checkTaskOptionStatus;
|
||||||
|
import static org.nl.wms.util.TaskUtils.setUpdateByPC;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: lyd
|
||||||
|
* @Description: 点对点桁架任务
|
||||||
|
* @Date: 2024/8/15
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
@Slf4j
|
||||||
|
@Component(value = "PointToPointTrussTask")
|
||||||
|
public class PointToPointTrussTask extends AbstractTask {
|
||||||
|
private final String THIS_CLASS = PointToPointTrussTask.class.getName();
|
||||||
|
@Autowired
|
||||||
|
private ISchBaseTaskService taskService;
|
||||||
|
@Override
|
||||||
|
public void create() throws BadRequestException {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void createCompletion(SchBaseTask task) {
|
||||||
|
// 创建点对点
|
||||||
|
JSONObject requestObj = JSONObject.parseObject(task.getRequest_param());
|
||||||
|
task.setPoint_code1(requestObj.getString("point_code1"));
|
||||||
|
task.setPoint_code2(requestObj.getString("point_code2"));
|
||||||
|
// 创建任务
|
||||||
|
task.setHandle_class(THIS_CLASS);
|
||||||
|
task.setTask_status(TaskStatus.START_AND_POINT.getCode());
|
||||||
|
setUpdateByPC(task);
|
||||||
|
taskService.save(task);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||||
|
checkTaskOptionStatus(taskObj);
|
||||||
|
// 任务完成
|
||||||
|
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||||
|
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||||
|
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||||
|
taskService.updateById(taskObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||||
|
checkTaskOptionStatus(taskObj);
|
||||||
|
// 取消
|
||||||
|
taskObj.setTask_status(TaskStatus.CANCELED.getCode());
|
||||||
|
taskObj.setRemark(GeneralDefinition.TASK_CANCEL);
|
||||||
|
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||||
|
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||||
|
taskService.updateById(taskObj);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -29,6 +29,7 @@ import static org.nl.wms.util.TaskUtils.setUpdateByPC;
|
|||||||
/**
|
/**
|
||||||
* @Author: lyd
|
* @Author: lyd
|
||||||
* @Description: 生箔呼叫空收卷辊桁架任务类
|
* @Description: 生箔呼叫空收卷辊桁架任务类
|
||||||
|
* <p>任务中的 {@code is_flag} 为0:单纯叫空,1:生箔送辊,2:只创建到对接位接着人工处理</p>
|
||||||
* @Date: 2024/8/7
|
* @Date: 2024/8/7
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -99,13 +100,16 @@ public class RawCallRollTrussTask extends AbstractTask {
|
|||||||
// 起点清空
|
// 起点清空
|
||||||
clearPoint(startPointObj, taskFinishedType);
|
clearPoint(startPointObj, taskFinishedType);
|
||||||
}
|
}
|
||||||
log.info("点位清除完毕,清楚后的数据:{}", startPointObj);
|
log.info("点位清除完毕,清除后的数据:{}", startPointObj);
|
||||||
|
if ("2".equals(flag)) {
|
||||||
|
log.info("手持单独呼叫收卷辊,不创建AGV任务!");
|
||||||
|
} else {
|
||||||
|
// 2、创建AGV任务
|
||||||
StIvtSbpointivt startAgvPointObj = stIvtSbpointivtService.getByPointCode(endAgvPoint, false);
|
StIvtSbpointivt startAgvPointObj = stIvtSbpointivtService.getByPointCode(endAgvPoint, false);
|
||||||
if (ObjectUtil.isEmpty(startAgvPointObj)) {
|
if (ObjectUtil.isEmpty(startAgvPointObj)) {
|
||||||
throw new BadRequestException("点位[" + endAgvPoint + "]不存在!");
|
throw new BadRequestException("点位[" + endAgvPoint + "]不存在!");
|
||||||
}
|
}
|
||||||
log.info("桁架任务完毕,开始创建 [{}] 的AGV任务", endAgvPoint);
|
log.info("桁架任务完毕,开始创建 [{}] 的AGV任务", endAgvPoint);
|
||||||
// 2、创建AGV任务
|
|
||||||
// 收卷辊库里的载具编码
|
// 收卷辊库里的载具编码
|
||||||
taskParam.put("vehicle_code", taskObj.getVehicle_code());
|
taskParam.put("vehicle_code", taskObj.getVehicle_code());
|
||||||
taskParam.put("vehicle_type", taskObj.getVehicle_type());
|
taskParam.put("vehicle_type", taskObj.getVehicle_type());
|
||||||
@@ -126,6 +130,7 @@ public class RawCallRollTrussTask extends AbstractTask {
|
|||||||
taskParam.put("config_code", "RawCallRollAGVTask");
|
taskParam.put("config_code", "RawCallRollAGVTask");
|
||||||
rawCallRollAGVTask.apply(taskParam);
|
rawCallRollAGVTask.apply(taskParam);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
log.info("创建AGV任务的参数:{}", taskParam);
|
log.info("创建AGV任务的参数:{}", taskParam);
|
||||||
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||||
taskObj.setFinished_type(taskFinishedType.getCode());
|
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||||
|
|||||||
Reference in New Issue
Block a user