rev: 分切子卷号

This commit is contained in:
2024-10-29 14:37:35 +08:00
parent 6c3bdcaee9
commit 8d7be82cab
5 changed files with 25 additions and 13 deletions

View File

@@ -206,6 +206,7 @@ public class SlitterPdaServiceImpl implements SlitterPdaService {
.map(PdmBiSlittingproductionplan::getContainer_name)
.collect(Collectors.toList());
param.put("container", collect);
param.put("qzzs", qzzNo);
param.put("config_code", "SlitterDownAGVTask");
param.put("device_code", device.getPoint_code());
param.put("create_mode", GeneralDefinition.PDA_CREATION);
@@ -397,12 +398,13 @@ public class SlitterPdaServiceImpl implements SlitterPdaService {
String pointCode = row.get(0).getPoint_code();
StIvtCutpointivt cutDevice = cutpointivtService.getPintByUpOrDownCode(pointCode, false);
List<PdmBiSlittingproductionplan> plans = new ArrayList<>();
int count = 1;
for (CallShaftVo callShaftVo : row) {
// 保存工单
PdmBiSlittingproductionplan plan = new PdmBiSlittingproductionplan();
plan.setWorkorder_id(IdUtil.getSnowflake(1,1).nextIdStr());
plan.setOrder_type("1");
plan.setContainer_name("-");
plan.setContainer_name(TaskUtils.createVirtualSubContainer("yyMMddHHmmss", cutDevice.getExt_code(), count++));
plan.setProduct_name("-");
plan.setDescription("-");
plan.setWare_house("-");

View File

@@ -119,7 +119,7 @@ public class NbjPdaServiceImpl implements NbjPdaService {
log.info("手持子卷下线,送到一楼 - {}", param);
// point_code, vehicle_code, container_name
String pointCode = param.getString("point_code");
String containerName = param.getString("container_name");
// String containerName = param.getString("container_name");
String vehicleCode = param.getString("vehicle_code");
// 校验任务
List<SchBaseTask> schBaseTasks = taskService.checkHaveTask(pointCode);
@@ -127,14 +127,14 @@ public class NbjPdaServiceImpl implements NbjPdaService {
throw new BadRequestException("该点位已经创建过任务!");
}
// 判断子卷是否存在
PdmBiSlittingproductionplan plan = slittingproductionplanService.getByContainerName(containerName);
if (ObjectUtil.isEmpty(plan)) {
throw new BadRequestException("子卷[" + containerName + "]的分切计划不存在!");
}
// PdmBiSlittingproductionplan plan = slittingproductionplanService.getByContainerName(containerName);
// if (ObjectUtil.isEmpty(plan)) {
// throw new BadRequestException("子卷[" + containerName + "]的分切计划不存在!");
// }
SchBasePoint startPoint = pointService.getById(pointCode);
startPoint.setPoint_status("3");
// 子卷号
startPoint.setMaterial_code(containerName);
// startPoint.setMaterial_code(containerName);
startPoint.setVehicle_code(vehicleCode);
setUpdateByPC(startPoint);
pointService.updateById(startPoint);
@@ -142,7 +142,7 @@ public class NbjPdaServiceImpl implements NbjPdaService {
taskParam.put("device_code", pointCode);
// 纸管编码
taskParam.put("vehicle_code", vehicleCode);
taskParam.put("container_name", containerName);
// taskParam.put("container_name", containerName);
taskParam.put("config_code", "SubRollDownAGVTask");
taskParam.put("create_mode", GeneralDefinition.PDA_CREATION);
subRollDownAGVTask.apply(taskParam);

View File

@@ -138,11 +138,11 @@ public class SubRollDownAGVTask extends AbstractTask {
public void agvReleaseCompleted(SchBaseTask task) {
JSONObject request = JSONObject.parseObject(task.getRequest_param());
if (request.getString("release_point").equals(task.getPoint_code2())) {
JSONObject requestObj = JSONObject.parseObject(task.getRequest_param());
// JSONObject requestObj = JSONObject.parseObject(task.getRequest_param());
// 终点赋值
SchBasePoint endPoint = pointService.getById(task.getPoint_code2());
endPoint.setPoint_status("3");
endPoint.setMaterial_code(requestObj.getString("container_name"));
// endPoint.setMaterial_code(requestObj.getString("container_name"));
endPoint.setVehicle_code(task.getVehicle_code());
setUpdateByType(endPoint, TaskFinishedTypeEnum.AUTO_ACS);
pointService.updateById(endPoint);

View File

@@ -68,12 +68,12 @@ public class SlitterDownAGVTask extends AbstractTask {
taskLock(task.getConfig_code(), () -> {
// 分切下料,子卷信息在请求参数中
JSONObject requestObj = JSONObject.parseObject(task.getRequest_param());
JSONArray container = requestObj.getJSONArray("container");
List<String> containerList = container.toJavaList(String.class);
JSONArray container = requestObj.getJSONArray("qzzs");
List<String> qzzList = container.toJavaList(String.class);
// 获取分切计划最多4个需要出站的任务
List<PdmBiSlittingproductionplan> currentPlans = slittingproductionplanService.list(
new LambdaQueryWrapper<PdmBiSlittingproductionplan>()
.in(PdmBiSlittingproductionplan::getContainer_name, containerList)
.in(PdmBiSlittingproductionplan::getQzzno, qzzList)
.eq(PdmBiSlittingproductionplan::getIs_delete, "0")
.eq(PdmBiSlittingproductionplan::getStatus, "05"));
if (currentPlans.size() == 0) {

View File

@@ -398,4 +398,14 @@ public class TaskUtils {
public static String createVirtualContainer(String rollCode, String format, String pointCode) {
return "R-" + pointCode + "-" + TaskUtils.getDateTime(format) + "-" + rollCode;
}
/**
* 创建虚拟的子卷号
* @param format 时间格式
* @param pointCode 点位编码
* @param count 计数
* @return
*/
public static String createVirtualSubContainer(String format, String pointCode, int count) {
return "S-" + pointCode + "-" + TaskUtils.getDateTime(format) + "-" + count;
}
}