|
|
@ -7,6 +7,7 @@ import cn.hutool.core.util.ObjectUtil; |
|
|
|
import cn.hutool.core.util.StrUtil; |
|
|
|
import cn.hutool.json.JSONArray; |
|
|
|
import cn.hutool.json.JSONUtil; |
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
@ -35,6 +36,9 @@ import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
import org.springframework.util.Assert; |
|
|
|
|
|
|
|
import java.time.ZonedDateTime; |
|
|
|
import java.time.format.DateTimeFormatter; |
|
|
|
import java.time.format.DateTimeParseException; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
@ -53,6 +57,8 @@ public class SortingServiceImpl implements SortingService { |
|
|
|
@Autowired |
|
|
|
private ISchBaseVehiclematerialgroupService iSchBaseVehiclematerialgroupService; |
|
|
|
|
|
|
|
private static final DateTimeFormatter ISO_8601_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSX"); |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
@ -61,133 +67,136 @@ public class SortingServiceImpl implements SortingService { |
|
|
|
try { |
|
|
|
Assert.noNullElements(new Object[]{jsonObject, jsonObject.getString("pointCode"), jsonObject.getString("vehicle_code") |
|
|
|
, jsonObject.getString("task_type"), jsonObject.getString("is_empty")}, "请求参数不能为空"); |
|
|
|
//任务号
|
|
|
|
String task_code = jsonObject.getString("task_code"); |
|
|
|
String pointCode = jsonObject.getString("pointCode"); |
|
|
|
//任务类型:1.运送托盘到sorting;2.从sorting运送托盘给线边库
|
|
|
|
String task_type = jsonObject.getString("task_type"); |
|
|
|
//是否空托盘; 1.是 0.否
|
|
|
|
String is_empty = jsonObject.getString("is_empty"); |
|
|
|
String task_time = jsonObject.getString("taskTime"); |
|
|
|
//冲床工作号
|
|
|
|
String jobname = jsonObject.getString("jobname"); |
|
|
|
//载具托盘号
|
|
|
|
String vehicle_code = jsonObject.getString("vehicle_code"); |
|
|
|
String vehicle_type = jsonObject.getString("vehicle_type"); |
|
|
|
//托盘上的堆垛信息
|
|
|
|
JSONArray jsonArray = JSONUtil.parseArray(jsonObject.get("pallet_detail")); |
|
|
|
JSONArray jsonArray1 = JSONUtil.parseArray(jsonObject.get("pallet_detail2")); |
|
|
|
SchBasePoint schBasePoint = iSchBasePointService.selectByPointCode(pointCode); |
|
|
|
if (ObjectUtil.isEmpty(schBasePoint)) { |
|
|
|
log.info("点位编码不存在:{}", pointCode); |
|
|
|
return MapOf.of("status", 400, "msg", "点位编码不存在!"); |
|
|
|
} |
|
|
|
if (schBasePoint.getIs_lock()) { |
|
|
|
log.info("该点位已创建任务:{}", pointCode); |
|
|
|
return MapOf.of("status", 400, "msg", "该点位已创建任务!"); |
|
|
|
} |
|
|
|
JSONObject taskParam = new JSONObject(MapOf.of("task_code", task_code, "job_name", jobname, "device_code", pointCode, "requestNo" |
|
|
|
, "sorting_" + IdUtil.getStringId(), "ext_data", jsonObject, "vehicle_code", vehicle_code, "ext_data", jsonObject)); |
|
|
|
AbstractTask connectorTask = taskFactory.getTask("CNTTask"); |
|
|
|
if ("0".equals(vehicle_type)) { |
|
|
|
// TODO:呼叫空托
|
|
|
|
if (SortingEnum.TASK_TYPE_ONE.getValue().equals(task_type) && SortingEnum.IS_EMPTY.getValue().equals(is_empty)) { |
|
|
|
taskParam.put("vehicle_type", "G01"); |
|
|
|
taskParam.put("config_code", "SortingCNTTask"); |
|
|
|
connectorTask.apply(taskParam); |
|
|
|
//TODO:叫料
|
|
|
|
} else if (SortingEnum.TASK_TYPE_ONE.getValue().equals(task_type) && SortingEnum.NOT_EMPTY.getValue().equals(is_empty)) { |
|
|
|
if (StrUtil.isEmpty(vehicle_code)) { |
|
|
|
log.info("载具号未传递"); |
|
|
|
return MapOf.of("status", 400, "msg", "载具号未传递!"); |
|
|
|
} |
|
|
|
taskParam.put("config_code", "SortingCMTTask"); |
|
|
|
connectorTask.apply(taskParam); |
|
|
|
//TODO:将空托盘放到线边库
|
|
|
|
} else if (SortingEnum.TASK_TYPE_TWO.getValue().equals(task_type) && SortingEnum.IS_EMPTY.getValue().equals(is_empty)) { |
|
|
|
if (StrUtil.isEmpty(vehicle_code)) { |
|
|
|
log.info("载具号未传递"); |
|
|
|
return MapOf.of("status", 400, "msg", "载具号未传递!"); |
|
|
|
} |
|
|
|
taskParam.put("config_code", "SortingSNTTask"); |
|
|
|
connectorTask.apply(taskParam); |
|
|
|
//TODO:将满料放到线边库
|
|
|
|
} else if (SortingEnum.TASK_TYPE_TWO.getValue().equals(task_type) && SortingEnum.NOT_EMPTY.getValue().equals(is_empty)) { |
|
|
|
if (StrUtil.isEmpty(vehicle_code)) { |
|
|
|
log.info("载具号未传递"); |
|
|
|
return MapOf.of("status", 400, "msg", "载具号未传递!"); |
|
|
|
} |
|
|
|
if (CollUtil.isEmpty(jsonArray) || jsonArray.size() < 1) { |
|
|
|
log.info("物料信息为空!"); |
|
|
|
return MapOf.of("status", 400, "msg", "物料信息为空!"); |
|
|
|
} |
|
|
|
taskParam.put("config_code", "SortingSMTTask"); |
|
|
|
connectorTask.apply(taskParam); |
|
|
|
if (StrUtil.isNotEmpty(jsonObject.getString("is_rawdata")) && "1".equals(jsonObject.getString("is_rawdata"))) { |
|
|
|
createMaterial(jsonArray, jsonObject.getString("vehicle_code")); |
|
|
|
} else { |
|
|
|
//任务号
|
|
|
|
String task_code = jsonObject.getString("task_code"); |
|
|
|
String pointCode = jsonObject.getString("pointCode"); |
|
|
|
//任务类型:1.运送托盘到sorting;2.从sorting运送托盘给线边库
|
|
|
|
String task_type = jsonObject.getString("task_type"); |
|
|
|
//是否空托盘; 1.是 0.否
|
|
|
|
String is_empty = jsonObject.getString("is_empty"); |
|
|
|
String task_time = jsonObject.getString("taskTime"); |
|
|
|
//冲床工作号
|
|
|
|
String jobname = jsonObject.getString("jobname"); |
|
|
|
//载具托盘号
|
|
|
|
String vehicle_code = jsonObject.getString("vehicle_code"); |
|
|
|
String vehicle_type = jsonObject.getString("vehicle_type"); |
|
|
|
//托盘上的堆垛信息
|
|
|
|
JSONArray jsonArray1 = JSONUtil.parseArray(jsonObject.get("pallet_detail2")); |
|
|
|
SchBasePoint schBasePoint = iSchBasePointService.selectByPointCode(pointCode); |
|
|
|
if (ObjectUtil.isEmpty(schBasePoint)) { |
|
|
|
log.info("点位编码不存在:{}", pointCode); |
|
|
|
return MapOf.of("status", 400, "msg", "点位编码不存在!"); |
|
|
|
} |
|
|
|
iSchBasePointService.update(new UpdateWrapper<SchBasePoint>() |
|
|
|
.set("is_lock", true) |
|
|
|
.set("remark", task_code) |
|
|
|
.eq("point_code", pointCode)); |
|
|
|
} else if ("1".equals(vehicle_type)) { |
|
|
|
//TODO:呼叫两个空笼框
|
|
|
|
if (SortingEnum.TASK_TYPE_ONE.getValue().equals(task_type) && SortingEnum.IS_EMPTY.getValue().equals(is_empty)) { |
|
|
|
taskParam.put("device_code", pointCode + "_01"); |
|
|
|
taskParam.put("task_seq", "2"); |
|
|
|
taskParam.put("config_code", "SortingTwoCNTTask"); |
|
|
|
taskParam.put("task_code", task_code + "A"); |
|
|
|
connectorTask.apply(taskParam); |
|
|
|
iSchBasePointService.update(new UpdateWrapper<SchBasePoint>() |
|
|
|
.set("is_lock", true) |
|
|
|
.set("remark", task_code) |
|
|
|
.eq("point_code", pointCode + "_01")); |
|
|
|
taskParam.put("device_code", pointCode + "_02"); |
|
|
|
taskParam.put("task_seq", "1"); |
|
|
|
taskParam.put("task_code", task_code + "B"); |
|
|
|
connectorTask.apply(taskParam); |
|
|
|
iSchBasePointService.update(new UpdateWrapper<SchBasePoint>() |
|
|
|
.set("is_lock", true) |
|
|
|
.set("remark", task_code) |
|
|
|
.eq("point_code", pointCode + "_02")); |
|
|
|
//TODO:将两个笼框放到线边库
|
|
|
|
} else if (SortingEnum.TASK_TYPE_TWO.getValue().equals(task_type) && SortingEnum.NOT_EMPTY.getValue().equals(is_empty)) { |
|
|
|
if (StrUtil.isEmpty(jsonObject.getString("vehicle_code2"))) { |
|
|
|
log.info("第二个笼框载具号未传递"); |
|
|
|
return MapOf.of("status", 400, "msg", "第二个笼框载具号未传递!"); |
|
|
|
} |
|
|
|
if (CollUtil.isEmpty(jsonArray) || jsonArray.size() < 1) { |
|
|
|
log.info("物料信息为空!"); |
|
|
|
return MapOf.of("status", 400, "msg", "物料信息为空!"); |
|
|
|
} |
|
|
|
if (CollUtil.isEmpty(jsonArray1) || jsonArray1.size() < 1) { |
|
|
|
log.info("第二个物料信息为空!"); |
|
|
|
return MapOf.of("status", 400, "msg", "第二个物料信息为空!"); |
|
|
|
if (schBasePoint.getIs_lock()) { |
|
|
|
log.info("该点位已创建任务:{}", pointCode); |
|
|
|
return MapOf.of("status", 400, "msg", "该点位已创建任务!"); |
|
|
|
} |
|
|
|
JSONObject taskParam = new JSONObject(MapOf.of("task_code", task_code, "job_name", jobname, "device_code", pointCode, "requestNo" |
|
|
|
, "sorting_" + IdUtil.getStringId(), "ext_data", jsonObject, "vehicle_code", vehicle_code, "ext_data", jsonObject)); |
|
|
|
AbstractTask connectorTask = taskFactory.getTask("CNTTask"); |
|
|
|
if ("0".equals(vehicle_type)) { |
|
|
|
// TODO:呼叫空托
|
|
|
|
if (SortingEnum.TASK_TYPE_ONE.getValue().equals(task_type) && SortingEnum.IS_EMPTY.getValue().equals(is_empty)) { |
|
|
|
taskParam.put("vehicle_type", "G01"); |
|
|
|
taskParam.put("config_code", "SortingCNTTask"); |
|
|
|
connectorTask.apply(taskParam); |
|
|
|
//TODO:叫料
|
|
|
|
} else if (SortingEnum.TASK_TYPE_ONE.getValue().equals(task_type) && SortingEnum.NOT_EMPTY.getValue().equals(is_empty)) { |
|
|
|
if (StrUtil.isEmpty(vehicle_code)) { |
|
|
|
log.info("载具号未传递"); |
|
|
|
return MapOf.of("status", 400, "msg", "载具号未传递!"); |
|
|
|
} |
|
|
|
taskParam.put("config_code", "SortingCMTTask"); |
|
|
|
connectorTask.apply(taskParam); |
|
|
|
//TODO:将空托盘放到线边库
|
|
|
|
} else if (SortingEnum.TASK_TYPE_TWO.getValue().equals(task_type) && SortingEnum.IS_EMPTY.getValue().equals(is_empty)) { |
|
|
|
if (StrUtil.isEmpty(vehicle_code)) { |
|
|
|
log.info("载具号未传递"); |
|
|
|
return MapOf.of("status", 400, "msg", "载具号未传递!"); |
|
|
|
} |
|
|
|
taskParam.put("config_code", "SortingSNTTask"); |
|
|
|
connectorTask.apply(taskParam); |
|
|
|
//TODO:将满料放到线边库
|
|
|
|
} else if (SortingEnum.TASK_TYPE_TWO.getValue().equals(task_type) && SortingEnum.NOT_EMPTY.getValue().equals(is_empty)) { |
|
|
|
if (StrUtil.isEmpty(vehicle_code)) { |
|
|
|
log.info("载具号未传递"); |
|
|
|
return MapOf.of("status", 400, "msg", "载具号未传递!"); |
|
|
|
} |
|
|
|
if (CollUtil.isEmpty(jsonArray) || jsonArray.size() < 1) { |
|
|
|
log.info("物料信息为空!"); |
|
|
|
return MapOf.of("status", 400, "msg", "物料信息为空!"); |
|
|
|
} |
|
|
|
taskParam.put("config_code", "SortingSMTTask"); |
|
|
|
connectorTask.apply(taskParam); |
|
|
|
} |
|
|
|
taskParam.put("config_code", "SortingSMTTask"); |
|
|
|
taskParam.put("vehicle_code", vehicle_code); |
|
|
|
taskParam.put("task_seq", "1"); |
|
|
|
taskParam.put("device_code", pointCode + "_01"); |
|
|
|
taskParam.put("task_code", task_code + "A"); |
|
|
|
connectorTask.apply(taskParam); |
|
|
|
iSchBasePointService.update(new UpdateWrapper<SchBasePoint>() |
|
|
|
.set("is_lock", true) |
|
|
|
.set("remark", task_code) |
|
|
|
.eq("point_code", pointCode + "_01")); |
|
|
|
jsonObject.put("pallet_detail",jsonArray1); |
|
|
|
taskParam = new JSONObject(MapOf.of("task_code", task_code, "job_name", jobname, "device_code", pointCode, "requestNo" |
|
|
|
, "sorting_" + IdUtil.getStringId(), "ext_data", jsonObject, "vehicle_code", vehicle_code, "ext_data", jsonObject)); |
|
|
|
taskParam.put("config_code", "SortingSMTTask"); |
|
|
|
taskParam.put("task_seq", "2"); |
|
|
|
taskParam.put("vehicle_code", jsonObject.getString("vehicle_code2")); |
|
|
|
taskParam.put("device_code", pointCode + "_02"); |
|
|
|
taskParam.put("task_code", task_code + "B"); |
|
|
|
connectorTask.apply(taskParam); |
|
|
|
iSchBasePointService.update(new UpdateWrapper<SchBasePoint>() |
|
|
|
.set("is_lock", true) |
|
|
|
.set("remark", task_code) |
|
|
|
.eq("point_code", pointCode + "_02")); |
|
|
|
.eq("point_code", pointCode)); |
|
|
|
} else if ("1".equals(vehicle_type)) { |
|
|
|
//TODO:呼叫两个空笼框
|
|
|
|
if (SortingEnum.TASK_TYPE_ONE.getValue().equals(task_type) && SortingEnum.IS_EMPTY.getValue().equals(is_empty)) { |
|
|
|
taskParam.put("device_code", pointCode + "_01"); |
|
|
|
taskParam.put("task_seq", "2"); |
|
|
|
taskParam.put("config_code", "SortingTwoCNTTask"); |
|
|
|
taskParam.put("task_code", task_code + "A"); |
|
|
|
connectorTask.apply(taskParam); |
|
|
|
iSchBasePointService.update(new UpdateWrapper<SchBasePoint>() |
|
|
|
.set("is_lock", true) |
|
|
|
.set("remark", task_code) |
|
|
|
.eq("point_code", pointCode + "_01")); |
|
|
|
taskParam.put("device_code", pointCode + "_02"); |
|
|
|
taskParam.put("task_seq", "1"); |
|
|
|
taskParam.put("task_code", task_code + "B"); |
|
|
|
connectorTask.apply(taskParam); |
|
|
|
iSchBasePointService.update(new UpdateWrapper<SchBasePoint>() |
|
|
|
.set("is_lock", true) |
|
|
|
.set("remark", task_code) |
|
|
|
.eq("point_code", pointCode + "_02")); |
|
|
|
//TODO:将两个笼框放到线边库
|
|
|
|
} else if (SortingEnum.TASK_TYPE_TWO.getValue().equals(task_type) && SortingEnum.NOT_EMPTY.getValue().equals(is_empty)) { |
|
|
|
if (StrUtil.isEmpty(jsonObject.getString("vehicle_code2"))) { |
|
|
|
log.info("第二个笼框载具号未传递"); |
|
|
|
return MapOf.of("status", 400, "msg", "第二个笼框载具号未传递!"); |
|
|
|
} |
|
|
|
if (CollUtil.isEmpty(jsonArray) || jsonArray.size() < 1) { |
|
|
|
log.info("物料信息为空!"); |
|
|
|
return MapOf.of("status", 400, "msg", "物料信息为空!"); |
|
|
|
} |
|
|
|
if (CollUtil.isEmpty(jsonArray1) || jsonArray1.size() < 1) { |
|
|
|
log.info("第二个物料信息为空!"); |
|
|
|
return MapOf.of("status", 400, "msg", "第二个物料信息为空!"); |
|
|
|
} |
|
|
|
taskParam.put("config_code", "SortingSMTTask"); |
|
|
|
taskParam.put("vehicle_code", vehicle_code); |
|
|
|
taskParam.put("task_seq", "1"); |
|
|
|
taskParam.put("device_code", pointCode + "_01"); |
|
|
|
taskParam.put("task_code", task_code + "A"); |
|
|
|
connectorTask.apply(taskParam); |
|
|
|
iSchBasePointService.update(new UpdateWrapper<SchBasePoint>() |
|
|
|
.set("is_lock", true) |
|
|
|
.set("remark", task_code) |
|
|
|
.eq("point_code", pointCode + "_01")); |
|
|
|
jsonObject.put("pallet_detail", jsonArray1); |
|
|
|
taskParam = new JSONObject(MapOf.of("task_code", task_code, "job_name", jobname, "device_code", pointCode, "requestNo" |
|
|
|
, "sorting_" + IdUtil.getStringId(), "ext_data", jsonObject, "vehicle_code", vehicle_code, "ext_data", jsonObject)); |
|
|
|
taskParam.put("config_code", "SortingSMTTask"); |
|
|
|
taskParam.put("task_seq", "2"); |
|
|
|
taskParam.put("vehicle_code", jsonObject.getString("vehicle_code2")); |
|
|
|
taskParam.put("device_code", pointCode + "_02"); |
|
|
|
taskParam.put("task_code", task_code + "B"); |
|
|
|
connectorTask.apply(taskParam); |
|
|
|
iSchBasePointService.update(new UpdateWrapper<SchBasePoint>() |
|
|
|
.set("is_lock", true) |
|
|
|
.set("remark", task_code) |
|
|
|
.eq("point_code", pointCode + "_02")); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return MapOf.of("status", 200, "msg", "sucess"); |
|
|
|
} catch (Exception ex) { |
|
|
|
log.info("sorting下发任务失败:{}", ex.getMessage()); |
|
|
@ -195,17 +204,60 @@ public class SortingServiceImpl implements SortingService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void createMaterial(JSONArray jsonArray, String vehicleCode) { |
|
|
|
iSchBaseVehiclematerialgroupService.remove(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class) |
|
|
|
.eq(SchBaseVehiclematerialgroup::getVehicle_code, vehicleCode)); |
|
|
|
for (Object o : jsonArray) { |
|
|
|
JSONObject jO = (JSONObject) JSONObject.toJSON(o); |
|
|
|
String workorder = jO.getString("ProductionOrder"); |
|
|
|
String ProductID = jO.getString("ProductID"); |
|
|
|
Integer qty = jO.getInteger("Currentqty"); |
|
|
|
String Jobname = jO.getString("Jobname"); |
|
|
|
String dueDate = jO.getString("DueDate"); |
|
|
|
String region_code = jO.getString("NextOperation"); |
|
|
|
SchBaseVehiclematerialgroup schBaseVehiclematerialgroup = new SchBaseVehiclematerialgroup(); |
|
|
|
schBaseVehiclematerialgroup.setVehicle_code(vehicleCode); |
|
|
|
schBaseVehiclematerialgroup.setMaterial_id(ProductID); |
|
|
|
schBaseVehiclematerialgroup.setMaterial_qty(qty); |
|
|
|
schBaseVehiclematerialgroup.setRegion_code(region_code); |
|
|
|
schBaseVehiclematerialgroup.setOrder_code(workorder); |
|
|
|
schBaseVehiclematerialgroup.setJob_name(Jobname); |
|
|
|
if (StrUtil.isNotEmpty(dueDate) && isValidISO8601(dueDate)) { |
|
|
|
dueDate = parseDate(dueDate); |
|
|
|
} |
|
|
|
schBaseVehiclematerialgroup.setDue_date(dueDate); |
|
|
|
schBaseVehiclematerialgroup.setCreate_name("Sorting"); |
|
|
|
schBaseVehiclematerialgroup.setExtend(JSON.toJSONString(jO)); |
|
|
|
iSchBaseVehiclematerialgroupService.create(schBaseVehiclematerialgroup); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public static String parseDate(String isoString) { |
|
|
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|
|
|
ZonedDateTime zonedDateTime = ZonedDateTime.parse(isoString); |
|
|
|
return formatter.format(zonedDateTime); |
|
|
|
} |
|
|
|
|
|
|
|
public static boolean isValidISO8601(String dateString) { |
|
|
|
try { |
|
|
|
ZonedDateTime.parse(dateString, ISO_8601_FORMATTER); |
|
|
|
return true; |
|
|
|
} catch (DateTimeParseException e) { |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<ConnectorDto> getStructList(String jobName) { |
|
|
|
log.info("sorting查询组盘请求参数数据:{}", jobName); |
|
|
|
List<SchBaseVehiclematerialgroup> list = iSchBaseVehiclematerialgroupService.list(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class) |
|
|
|
.eq(SchBaseVehiclematerialgroup::getJob_name, jobName) |
|
|
|
.eq(SchBaseVehiclematerialgroup::getCreate_name,"Connector")); |
|
|
|
.eq(SchBaseVehiclematerialgroup::getCreate_name, "Connector")); |
|
|
|
List<ConnectorDto> connectors = new ArrayList<>(); |
|
|
|
for (SchBaseVehiclematerialgroup schBaseVehiclematerialgroup : list) { |
|
|
|
Gson gson = new Gson(); |
|
|
|
ConnectorDto connectorDto = gson.fromJson(schBaseVehiclematerialgroup.getExtend(), ConnectorDto.class); |
|
|
|
connectorDto.setDueDate(StrUtil.isNotEmpty(connectorDto.getDueDate()) ? connectorDto.getDueDate() : DateUtil.now() ); |
|
|
|
connectorDto.setDueDate(StrUtil.isNotEmpty(connectorDto.getDueDate()) ? connectorDto.getDueDate() : DateUtil.now()); |
|
|
|
connectorDto.setNextOperation(StrUtil.isNotEmpty(connectorDto.getNextOperation()) ? connectorDto.getNextOperation() : RegionEnum.TRUBEND_SHELVES_3_1_1.getRegion_code()); |
|
|
|
connectors.add(connectorDto); |
|
|
|
} |
|
|
|