|
|
@ -1,6 +1,9 @@ |
|
|
|
package org.nl.wms.ext.sorting.service.impl; |
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
import cn.hutool.core.date.DateUtil; |
|
|
|
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.JSONObject; |
|
|
@ -18,6 +21,8 @@ import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup; |
|
|
|
import org.nl.wms.sch.point.service.ISchBasePointService; |
|
|
|
import org.nl.wms.sch.point.service.dao.SchBasePoint; |
|
|
|
import org.nl.wms.sch.point.service.dto.PointMaterialInfo; |
|
|
|
import org.nl.wms.sch.task_manage.AbstractTask; |
|
|
|
import org.nl.wms.sch.task_manage.task.TaskFactory; |
|
|
|
import org.nl.wms.sch.task_manage.task.tasks.sorting.SortingCMTTask; |
|
|
|
import org.nl.wms.sch.task_manage.task.tasks.sorting.SortingCNTTask; |
|
|
|
import org.nl.wms.sch.task_manage.task.tasks.sorting.SortingSMTTask; |
|
|
@ -37,13 +42,7 @@ import java.util.Map; |
|
|
|
public class SortingServiceImpl implements SortingService { |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private SortingCMTTask sortingCMTTask; |
|
|
|
@Autowired |
|
|
|
private SortingCNTTask sortingCNTTask; |
|
|
|
@Autowired |
|
|
|
private SortingSMTTask sortingSMTTask; |
|
|
|
@Autowired |
|
|
|
private SortingSNTTask sortingSNTTask; |
|
|
|
private TaskFactory taskFactory; |
|
|
|
@Autowired |
|
|
|
private ISchBasePointService iSchBasePointService; |
|
|
|
@Autowired |
|
|
@ -69,6 +68,13 @@ public class SortingServiceImpl implements SortingService { |
|
|
|
String vehicle_code = jsonObject.getString("vehicle_code"); |
|
|
|
//托盘上的堆垛信息
|
|
|
|
JSONArray jsonArray = JSONUtil.parseArray(jsonObject.get("pallet_detail")); |
|
|
|
SchBasePoint schBasePoint = iSchBasePointService.selectByPointCode(pointCode); |
|
|
|
if(ObjectUtil.isEmpty(schBasePoint)) { |
|
|
|
return MapOf.of("status", 400,"msg", "点位编码不存在!"); |
|
|
|
} |
|
|
|
if(schBasePoint.getIs_lock()){ |
|
|
|
return MapOf.of("status", 400,"msg", "该点位已创建任务!"); |
|
|
|
} |
|
|
|
// TODO:呼叫空托
|
|
|
|
iSchBasePointService.update(new UpdateWrapper<SchBasePoint>() |
|
|
|
.set("is_lock",true) |
|
|
@ -76,21 +82,23 @@ public class SortingServiceImpl implements SortingService { |
|
|
|
.eq("point_code",pointCode)); |
|
|
|
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(SortingEnum.TASK_TYPE_ONE.getValue().equals(task_type) && SortingEnum.IS_EMPTY.getValue().equals(is_empty)){ |
|
|
|
taskParam.put("config_code","SortingCNTTask"); |
|
|
|
sortingCNTTask.apply(taskParam); |
|
|
|
//TODO:叫料
|
|
|
|
}else if(SortingEnum.TASK_TYPE_ONE.getValue().equals(task_type) && SortingEnum.NOT_EMPTY.getValue().equals(is_empty)){ |
|
|
|
taskParam.put("config_code","SortingCMTTask"); |
|
|
|
sortingCMTTask.apply(taskParam); |
|
|
|
//TODO:将空托盘放到线边库
|
|
|
|
}else if(SortingEnum.TASK_TYPE_TWO.getValue().equals(task_type) && SortingEnum.IS_EMPTY.getValue().equals(is_empty)){ |
|
|
|
taskParam.put("config_code","SortingSNTTask"); |
|
|
|
sortingSNTTask.apply(taskParam); |
|
|
|
//TODO:将满料放到线边库
|
|
|
|
}else if(SortingEnum.TASK_TYPE_TWO.getValue().equals(task_type) && SortingEnum.NOT_EMPTY.getValue().equals(is_empty)){ |
|
|
|
taskParam.put("config_code","SortingSMTTask"); |
|
|
|
sortingSMTTask.apply(taskParam); |
|
|
|
} |
|
|
|
try{ |
|
|
|
connectorTask.apply(taskParam); |
|
|
|
}catch (Exception e){ |
|
|
|
return MapOf.of("status", 400,"msg", e.getMessage()); |
|
|
|
} |
|
|
|
return MapOf.of("status", 200,"msg", "sucess"); |
|
|
|
}catch (Exception ex){ |
|
|
@ -106,6 +114,8 @@ public class SortingServiceImpl implements SortingService { |
|
|
|
for (SchBaseVehiclematerialgroup schBaseVehiclematerialgroup : list) { |
|
|
|
Gson gson = new Gson(); |
|
|
|
ConnectorDto connectorDto = gson.fromJson(schBaseVehiclematerialgroup.getExtend(), ConnectorDto.class); |
|
|
|
connectorDto.setDueDate(StrUtil.isNotEmpty(connectorDto.getDueDate())?connectorDto.getDueDate():RegionEnum.TRUBEND_SHELVES_3_1_1.getRegion_code()); |
|
|
|
connectorDto.setNextOperation(StrUtil.isNotEmpty(connectorDto.getNextOperation())?connectorDto.getNextOperation(): DateUtil.now()); |
|
|
|
connectors.add(connectorDto); |
|
|
|
} |
|
|
|
// List<PointMaterialInfo> structList = iSchBasePointService.getStructList(RegionEnum.ZDFJ.getRegion_code(), "1");
|
|
|
|