add:sorting接口
This commit is contained in:
@@ -35,5 +35,4 @@ public class SortingController {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,9 +4,17 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import cn.hutool.json.JSONArray;
|
import cn.hutool.json.JSONArray;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import org.nl.config.IdUtil;
|
||||||
|
import org.nl.config.MapOf;
|
||||||
import org.nl.wms.ext.sorting.enums.SortingEnum;
|
import org.nl.wms.ext.sorting.enums.SortingEnum;
|
||||||
import org.nl.wms.ext.sorting.service.SortingService;
|
import org.nl.wms.ext.sorting.service.SortingService;
|
||||||
|
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;
|
||||||
|
import org.nl.wms.sch.task_manage.task.tasks.sorting.SortingSNTTask;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.Assert;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -17,19 +25,23 @@ import java.util.Map;
|
|||||||
@Service
|
@Service
|
||||||
public class SortingServiceImpl implements SortingService {
|
public class SortingServiceImpl implements SortingService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SortingCMTTask sortingCMTTask;
|
||||||
|
@Autowired
|
||||||
|
private SortingCNTTask sortingCNTTask;
|
||||||
|
@Autowired
|
||||||
|
private SortingSMTTask sortingSMTTask;
|
||||||
|
@Autowired
|
||||||
|
private SortingSNTTask sortingSNTTask;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map createAgvTask(JSONObject jsonObject) {
|
public Map createAgvTask(JSONObject jsonObject) {
|
||||||
Map map = new HashMap();
|
try {
|
||||||
if(ObjectUtil.isEmpty(jsonObject)){
|
Assert.noNullElements(new Object[]{jsonObject,jsonObject.getString("pointCode"),jsonObject.getString("vehicle_code")},"请求参数不能为空");
|
||||||
map.put("status", 200);
|
|
||||||
map.put("msg", "操作失败");
|
|
||||||
map.put("errMsg","参数对象为空");
|
|
||||||
map.put("data", null);
|
|
||||||
return map;
|
|
||||||
}
|
|
||||||
//任务号
|
//任务号
|
||||||
String task_code = jsonObject.getString("task_code");
|
String task_code = jsonObject.getString("task_code");
|
||||||
|
String pointCode = jsonObject.getString("pointCode");
|
||||||
//任务类型:1.运送托盘到sorting;2.从sorting运送托盘给线边库
|
//任务类型:1.运送托盘到sorting;2.从sorting运送托盘给线边库
|
||||||
String task_type = jsonObject.getString("task_type");
|
String task_type = jsonObject.getString("task_type");
|
||||||
//是否空托盘; 1.是 0.否
|
//是否空托盘; 1.是 0.否
|
||||||
@@ -42,19 +54,26 @@ public class SortingServiceImpl implements SortingService {
|
|||||||
//托盘上的堆垛信息
|
//托盘上的堆垛信息
|
||||||
JSONArray jsonArray = JSONUtil.parseArray(jsonObject.get("pallet_detail"));
|
JSONArray jsonArray = JSONUtil.parseArray(jsonObject.get("pallet_detail"));
|
||||||
// TODO:呼叫空托
|
// TODO:呼叫空托
|
||||||
|
JSONObject taskParam = new JSONObject(MapOf.of("device_code",pointCode,"requestNo", "sorting_"+IdUtil.getStringId(),"ext_data",jsonObject));
|
||||||
if(SortingEnum.TASK_TYPE_ONE.getValue().equals(task_type) && SortingEnum.IS_EMPTY.getValue().equals(is_empty)){
|
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:叫料
|
//TODO:叫料
|
||||||
}else if(SortingEnum.TASK_TYPE_ONE.getValue().equals(task_type) && SortingEnum.NOT_EMPTY.getValue().equals(is_empty)){
|
}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:将空托盘放到线边库
|
//TODO:将空托盘放到线边库
|
||||||
}else if(SortingEnum.TASK_TYPE_TWO.getValue().equals(task_type) && SortingEnum.IS_EMPTY.getValue().equals(is_empty)){
|
}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:将满料放到线边库
|
//TODO:将满料放到线边库
|
||||||
}else if(SortingEnum.TASK_TYPE_TWO.getValue().equals(task_type) && SortingEnum.NOT_EMPTY.getValue().equals(is_empty)){
|
}else if(SortingEnum.TASK_TYPE_TWO.getValue().equals(task_type) && SortingEnum.NOT_EMPTY.getValue().equals(is_empty)){
|
||||||
|
taskParam.put("config_code","sortingCMTTask");
|
||||||
|
sortingCMTTask.apply(taskParam);
|
||||||
|
}
|
||||||
|
return MapOf.of("status", 200,"msg", "sucess");
|
||||||
|
}catch (Exception ex){
|
||||||
|
return MapOf.of("status", 200,"msg", "操作失败","errMsg",ex.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,160 @@
|
|||||||
|
package org.nl.wms.sch.task_manage.task.tasks.sorting;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.common.enums.region.RegionEnum;
|
||||||
|
import org.nl.common.exception.BadRequestException;
|
||||||
|
import org.nl.system.service.notice.ISysNoticeService;
|
||||||
|
import org.nl.wms.ext.acs.service.dto.to.BaseResponse;
|
||||||
|
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
|
||||||
|
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.task.service.ISchBaseTaskService;
|
||||||
|
import org.nl.wms.sch.task.service.ISchBaseTaskconfigService;
|
||||||
|
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||||
|
import org.nl.wms.sch.task.service.dao.SchBaseTaskconfig;
|
||||||
|
import org.nl.wms.sch.task_manage.AbstractTask;
|
||||||
|
import org.nl.wms.sch.task_manage.GeneralDefinition;
|
||||||
|
import org.nl.wms.sch.task_manage.enums.NoticeTypeEnum;
|
||||||
|
import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum;
|
||||||
|
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
|
||||||
|
import org.nl.wms.util.PointUtils;
|
||||||
|
import org.nl.wms.util.TaskUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sorting补空托盘
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component(value = "SortingCMTTask")
|
||||||
|
public class SortingCMTTask extends AbstractTask {
|
||||||
|
|
||||||
|
|
||||||
|
private static final String TASK_CONFIG_CODE = "SortingCMTTask";
|
||||||
|
@Autowired
|
||||||
|
private ISchBasePointService pointService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBaseTaskService taskService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBaseTaskconfigService taskConfigService;
|
||||||
|
@Autowired
|
||||||
|
private ISysNoticeService noticeService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBasePointService schBasePointService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBaseVehiclematerialgroupService schBaseVehiclematerialgroupService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void create() throws BadRequestException {
|
||||||
|
// 获取任务:叫满眶时候已经确认物料
|
||||||
|
List<SchBaseTask> tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY);
|
||||||
|
for (SchBaseTask task : tasks) {
|
||||||
|
TaskUtils.setUpdateByAcs(task);
|
||||||
|
// 找起点
|
||||||
|
JSONObject jsonObject = JSONObject.parseObject(task.getRequest_param());
|
||||||
|
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("task_time");
|
||||||
|
//冲床工作号
|
||||||
|
String jobname = jsonObject.getString("jobname");
|
||||||
|
//载具托盘号
|
||||||
|
String vehicle_code = jsonObject.getString("vehicle_code");
|
||||||
|
SchBasePoint structPoint = schBasePointService.getOne(new QueryWrapper<SchBasePoint>().eq("vehicle_code", vehicle_code));
|
||||||
|
taskService.update(new UpdateWrapper<SchBaseTask>()
|
||||||
|
.set("task_status",TaskStatus.CREATED.getCode())
|
||||||
|
.set("point_code1",structPoint.getPoint_code())
|
||||||
|
.eq("task_id",task.getTask_id()));
|
||||||
|
pointService.update(new UpdateWrapper<SchBasePoint>().set("ing_task_code",task.getTask_code())
|
||||||
|
.eq("point_code",structPoint.getPoint_code()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void updateStatus(String task_code, TaskStatus status) {
|
||||||
|
//TODO:完成任务的时候将int_task_code的清除
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void forceFinish(String task_code) {
|
||||||
|
SchBaseTask taskObj = taskService.getByCode(task_code);
|
||||||
|
if (ObjectUtil.isEmpty(taskObj)) {
|
||||||
|
throw new BadRequestException("该任务不存在");
|
||||||
|
}
|
||||||
|
this.finishTask(taskObj, TaskFinishedTypeEnum.MANUAL_CONNECTOR);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void cancel(String task_code) {
|
||||||
|
//TODO:取消任务的时候将int_task_code的清除
|
||||||
|
SchBaseTask taskObj = taskService.getByCode(task_code);
|
||||||
|
if (ObjectUtil.isEmpty(taskObj)) {
|
||||||
|
throw new BadRequestException("该任务不存在");
|
||||||
|
}
|
||||||
|
this.cancelTask(taskObj, TaskFinishedTypeEnum.MANUAL_CONNECTOR);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void feedbackTaskState(JSONObject param, SchBaseTask schBaseTask, BaseResponse result) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||||
|
// 获取参数
|
||||||
|
String startPoint = taskObj.getPoint_code1();
|
||||||
|
SchBasePoint schBasePoint = pointService.selectByPointCode(startPoint);
|
||||||
|
// 起点清空
|
||||||
|
if (ObjectUtil.isNotEmpty(schBasePoint)) {
|
||||||
|
PointUtils.updateByIngTaskCode(schBasePoint);
|
||||||
|
pointService.updateById(schBasePoint);
|
||||||
|
}
|
||||||
|
String point_code2 = taskObj.getPoint_code2();
|
||||||
|
SchBasePoint schBasePoint2 = pointService.selectByPointCode(point_code2);
|
||||||
|
if (ObjectUtil.isNotEmpty(schBasePoint2)) {
|
||||||
|
PointUtils.updateByIngTaskCode(schBasePoint2);
|
||||||
|
pointService.updateById(schBasePoint2);
|
||||||
|
}
|
||||||
|
// 任务完成
|
||||||
|
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||||
|
taskObj.setRemark(GeneralDefinition.TASK_FINISH);
|
||||||
|
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||||
|
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||||
|
taskService.updateById(taskObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||||
|
// 获取参数
|
||||||
|
String startPoint = taskObj.getPoint_code1();
|
||||||
|
SchBasePoint schBasePoint = pointService.selectByPointCode(startPoint);
|
||||||
|
// 起点清空
|
||||||
|
if (ObjectUtil.isNotEmpty(schBasePoint)) {
|
||||||
|
PointUtils.updateByIngTaskCode(schBasePoint);
|
||||||
|
pointService.updateById(schBasePoint);
|
||||||
|
}
|
||||||
|
String point_code2 = taskObj.getPoint_code2();
|
||||||
|
SchBasePoint schBasePoint2 = pointService.selectByPointCode(point_code2);
|
||||||
|
if (ObjectUtil.isNotEmpty(schBasePoint2)) {
|
||||||
|
PointUtils.updateByIngTaskCode(schBasePoint2);
|
||||||
|
pointService.updateById(schBasePoint2);
|
||||||
|
}
|
||||||
|
taskObj.setTask_status(TaskStatus.CANCELED.getCode());
|
||||||
|
taskObj.setRemark(GeneralDefinition.TASK_CANCEL);
|
||||||
|
taskObj.setTask_status(TaskStatus.CANCELED.getCode());
|
||||||
|
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||||
|
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||||
|
taskService.updateById(taskObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,149 @@
|
|||||||
|
package org.nl.wms.sch.task_manage.task.tasks.sorting;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.common.enums.VehicleEnum;
|
||||||
|
import org.nl.common.enums.region.RegionEnum;
|
||||||
|
import org.nl.common.exception.BadRequestException;
|
||||||
|
import org.nl.system.service.notice.ISysNoticeService;
|
||||||
|
import org.nl.wms.ext.acs.service.dto.to.BaseResponse;
|
||||||
|
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
|
||||||
|
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||||
|
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||||
|
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
||||||
|
import org.nl.wms.sch.task.service.ISchBaseTaskconfigService;
|
||||||
|
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||||
|
import org.nl.wms.sch.task_manage.AbstractTask;
|
||||||
|
import org.nl.wms.sch.task_manage.GeneralDefinition;
|
||||||
|
import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum;
|
||||||
|
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
|
||||||
|
import org.nl.wms.util.PointUtils;
|
||||||
|
import org.nl.wms.util.TaskUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sorting补空托盘
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component(value = "SortingCNTTask")
|
||||||
|
public class SortingCNTTask extends AbstractTask {
|
||||||
|
|
||||||
|
private static String Vehicle_Type = VehicleEnum.S.getCode();
|
||||||
|
|
||||||
|
private static final String TASK_CONFIG_CODE = "SortingCNTTask";
|
||||||
|
@Autowired
|
||||||
|
private ISchBasePointService pointService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBaseTaskService taskService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBaseTaskconfigService taskConfigService;
|
||||||
|
@Autowired
|
||||||
|
private ISysNoticeService noticeService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBasePointService schBasePointService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBaseVehiclematerialgroupService schBaseVehiclematerialgroupService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void create() throws BadRequestException {
|
||||||
|
// 获取任务
|
||||||
|
List<SchBaseTask> tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY);
|
||||||
|
for (SchBaseTask task : tasks) {
|
||||||
|
TaskUtils.setUpdateByAcs(task);
|
||||||
|
// 找起点
|
||||||
|
SchBasePoint basePoint = schBasePointService.selectEmpVehicleByRegionCode(RegionEnum.ZDFJ.getRegion_code(), Vehicle_Type);
|
||||||
|
if (basePoint==null){
|
||||||
|
task.setRemark("未找到所需点位!");
|
||||||
|
taskService.updateById(task);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
taskService.update(new UpdateWrapper<SchBaseTask>()
|
||||||
|
.set("task_status",TaskStatus.CREATED.getCode())
|
||||||
|
.set("point_code1",basePoint.getPoint_code()).eq("task_id",task.getTask_id()));
|
||||||
|
pointService.update(new UpdateWrapper<SchBasePoint>().set("ing_task_code",task.getTask_code())
|
||||||
|
.eq("point_code",basePoint.getPoint_code()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void updateStatus(String task_code, TaskStatus status) {
|
||||||
|
//TODO:完成任务的时候将int_task_code的清除
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void forceFinish(String task_code) {
|
||||||
|
SchBaseTask taskObj = taskService.getByCode(task_code);
|
||||||
|
if (ObjectUtil.isEmpty(taskObj)) {
|
||||||
|
throw new BadRequestException("该任务不存在");
|
||||||
|
}
|
||||||
|
this.finishTask(taskObj, TaskFinishedTypeEnum.MANUAL_CONNECTOR);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void cancel(String task_code) {
|
||||||
|
//TODO:取消任务的时候将int_task_code的清除
|
||||||
|
SchBaseTask taskObj = taskService.getByCode(task_code);
|
||||||
|
if (ObjectUtil.isEmpty(taskObj)) {
|
||||||
|
throw new BadRequestException("该任务不存在");
|
||||||
|
}
|
||||||
|
this.cancelTask(taskObj, TaskFinishedTypeEnum.MANUAL_CONNECTOR);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void feedbackTaskState(JSONObject param, SchBaseTask schBaseTask, BaseResponse result) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||||
|
// 获取参数
|
||||||
|
String startPoint = taskObj.getPoint_code1();
|
||||||
|
SchBasePoint schBasePoint = pointService.selectByPointCode(startPoint);
|
||||||
|
// 起点清空
|
||||||
|
if (ObjectUtil.isNotEmpty(schBasePoint)) {
|
||||||
|
PointUtils.updateByIngTaskCode(schBasePoint);
|
||||||
|
pointService.updateById(schBasePoint);
|
||||||
|
}
|
||||||
|
String point_code2 = taskObj.getPoint_code2();
|
||||||
|
SchBasePoint schBasePoint2 = pointService.selectByPointCode(point_code2);
|
||||||
|
if (ObjectUtil.isNotEmpty(schBasePoint2)) {
|
||||||
|
PointUtils.updateByIngTaskCode(schBasePoint2);
|
||||||
|
pointService.updateById(schBasePoint2);
|
||||||
|
}
|
||||||
|
// 任务完成
|
||||||
|
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||||
|
taskObj.setRemark(GeneralDefinition.TASK_FINISH);
|
||||||
|
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||||
|
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||||
|
taskService.updateById(taskObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||||
|
// 获取参数
|
||||||
|
String startPoint = taskObj.getPoint_code1();
|
||||||
|
SchBasePoint schBasePoint = pointService.selectByPointCode(startPoint);
|
||||||
|
// 起点清空
|
||||||
|
if (ObjectUtil.isNotEmpty(schBasePoint)) {
|
||||||
|
PointUtils.updateByIngTaskCode(schBasePoint);
|
||||||
|
pointService.updateById(schBasePoint);
|
||||||
|
}
|
||||||
|
String point_code2 = taskObj.getPoint_code2();
|
||||||
|
SchBasePoint schBasePoint2 = pointService.selectByPointCode(point_code2);
|
||||||
|
if (ObjectUtil.isNotEmpty(schBasePoint2)) {
|
||||||
|
PointUtils.updateByIngTaskCode(schBasePoint2);
|
||||||
|
pointService.updateById(schBasePoint2);
|
||||||
|
}
|
||||||
|
taskObj.setTask_status(TaskStatus.CANCELED.getCode());
|
||||||
|
taskObj.setRemark(GeneralDefinition.TASK_CANCEL);
|
||||||
|
taskObj.setTask_status(TaskStatus.CANCELED.getCode());
|
||||||
|
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||||
|
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||||
|
taskService.updateById(taskObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,175 @@
|
|||||||
|
package org.nl.wms.sch.task_manage.task.tasks.sorting;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.common.enums.region.RegionEnum;
|
||||||
|
import org.nl.common.exception.BadRequestException;
|
||||||
|
import org.nl.system.service.notice.ISysNoticeService;
|
||||||
|
import org.nl.wms.ext.acs.service.dto.to.BaseResponse;
|
||||||
|
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
|
||||||
|
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.task.service.ISchBaseTaskService;
|
||||||
|
import org.nl.wms.sch.task.service.ISchBaseTaskconfigService;
|
||||||
|
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||||
|
import org.nl.wms.sch.task.service.dao.SchBaseTaskconfig;
|
||||||
|
import org.nl.wms.sch.task_manage.AbstractTask;
|
||||||
|
import org.nl.wms.sch.task_manage.GeneralDefinition;
|
||||||
|
import org.nl.wms.sch.task_manage.enums.NoticeTypeEnum;
|
||||||
|
import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum;
|
||||||
|
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
|
||||||
|
import org.nl.wms.util.PointUtils;
|
||||||
|
import org.nl.wms.util.TaskUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sorting补空托盘
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component(value = "SortingCNTTask")
|
||||||
|
public class SortingSMTTask extends AbstractTask {
|
||||||
|
|
||||||
|
|
||||||
|
private static final String TASK_CONFIG_CODE = "SortingCNTTask";
|
||||||
|
@Autowired
|
||||||
|
private ISchBasePointService pointService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBaseTaskService taskService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBaseTaskconfigService taskConfigService;
|
||||||
|
@Autowired
|
||||||
|
private ISysNoticeService noticeService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBasePointService schBasePointService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBaseVehiclematerialgroupService schBaseVehiclematerialgroupService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void create() throws BadRequestException {
|
||||||
|
// 获取任务
|
||||||
|
List<SchBaseTask> tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY);
|
||||||
|
// 配置信息
|
||||||
|
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
|
||||||
|
.eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE));
|
||||||
|
for (SchBaseTask task : tasks) {
|
||||||
|
TaskUtils.setUpdateByAcs(task);
|
||||||
|
// 找起点
|
||||||
|
String requestParam = task.getRequest_param();
|
||||||
|
JSONObject jsonObject = JSONObject.parseObject(requestParam);
|
||||||
|
// 根据对接位查找对应的载具类型
|
||||||
|
SchBasePoint schBasePoint = schBasePointService.selectByRegionCode(RegionEnum.ZDFJ.getRegion_code(),task.getVehicle_code());
|
||||||
|
if(ObjectUtil.isEmpty(schBasePoint)) continue;
|
||||||
|
jsonObject.put("vehicle_type", schBasePoint.getCan_vehicle_type());
|
||||||
|
if (ObjectUtil.isEmpty(schBasePoint)) {
|
||||||
|
task.setRemark("未找到所需点位!");
|
||||||
|
taskService.updateById(task);
|
||||||
|
// 消息通知
|
||||||
|
noticeService.createNotice("未找到所需点位!", TASK_CONFIG_CODE + task.getTask_code(),
|
||||||
|
NoticeTypeEnum.WARN.getCode());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
SchBaseVehiclematerialgroup schBaseVehiclematerialgroup = new SchBaseVehiclematerialgroup();
|
||||||
|
schBaseVehiclematerialgroup.setVehicle_code(task.getVehicle_code());
|
||||||
|
schBaseVehiclematerialgroup.setVehicle_code(task.getVehicle_code());
|
||||||
|
schBaseVehiclematerialgroup.setPoint_code(schBasePoint.getPoint_code());
|
||||||
|
schBaseVehiclematerialgroup.setMaterial_id();
|
||||||
|
schBaseVehiclematerialgroup.setMaterial_qty();
|
||||||
|
schBaseVehiclematerialgroupService.create(schBaseVehiclematerialgroup);
|
||||||
|
|
||||||
|
// 设置终点并修改创建成功状态
|
||||||
|
task.setPoint_code2(schBasePoint.getPoint_code());
|
||||||
|
task.setVehicle_type(schBasePoint.getCan_vehicle_type());
|
||||||
|
task.setRemark("");
|
||||||
|
task.setTask_status(TaskStatus.CREATED.getCode());
|
||||||
|
taskService.updateById(task);
|
||||||
|
|
||||||
|
schBasePoint.setIng_task_code(task.getTask_code());
|
||||||
|
PointUtils.setUpdateByAcs(schBasePoint);
|
||||||
|
pointService.updateById(schBasePoint);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void updateStatus(String task_code, TaskStatus status) {
|
||||||
|
//TODO:完成任务的时候将int_task_code的清除
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void forceFinish(String task_code) {
|
||||||
|
SchBaseTask taskObj = taskService.getByCode(task_code);
|
||||||
|
if (ObjectUtil.isEmpty(taskObj)) {
|
||||||
|
throw new BadRequestException("该任务不存在");
|
||||||
|
}
|
||||||
|
this.finishTask(taskObj, TaskFinishedTypeEnum.MANUAL_CONNECTOR);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void cancel(String task_code) {
|
||||||
|
//TODO:取消任务的时候将int_task_code的清除
|
||||||
|
SchBaseTask taskObj = taskService.getByCode(task_code);
|
||||||
|
if (ObjectUtil.isEmpty(taskObj)) {
|
||||||
|
throw new BadRequestException("该任务不存在");
|
||||||
|
}
|
||||||
|
this.cancelTask(taskObj, TaskFinishedTypeEnum.MANUAL_CONNECTOR);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void feedbackTaskState(JSONObject param, SchBaseTask schBaseTask, BaseResponse result) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||||
|
// 获取参数
|
||||||
|
String startPoint = taskObj.getPoint_code1();
|
||||||
|
SchBasePoint schBasePoint = pointService.selectByPointCode(startPoint);
|
||||||
|
// 起点清空
|
||||||
|
if (ObjectUtil.isNotEmpty(schBasePoint)) {
|
||||||
|
PointUtils.updateByIngTaskCode(schBasePoint);
|
||||||
|
pointService.updateById(schBasePoint);
|
||||||
|
}
|
||||||
|
String point_code2 = taskObj.getPoint_code2();
|
||||||
|
SchBasePoint schBasePoint2 = pointService.selectByPointCode(point_code2);
|
||||||
|
if (ObjectUtil.isNotEmpty(schBasePoint2)) {
|
||||||
|
PointUtils.updateByIngTaskCode(schBasePoint2);
|
||||||
|
pointService.updateById(schBasePoint2);
|
||||||
|
}
|
||||||
|
// 任务完成
|
||||||
|
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||||
|
taskObj.setRemark(GeneralDefinition.TASK_FINISH);
|
||||||
|
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||||
|
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||||
|
taskService.updateById(taskObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||||
|
// 获取参数
|
||||||
|
String startPoint = taskObj.getPoint_code1();
|
||||||
|
SchBasePoint schBasePoint = pointService.selectByPointCode(startPoint);
|
||||||
|
// 起点清空
|
||||||
|
if (ObjectUtil.isNotEmpty(schBasePoint)) {
|
||||||
|
PointUtils.updateByIngTaskCode(schBasePoint);
|
||||||
|
pointService.updateById(schBasePoint);
|
||||||
|
}
|
||||||
|
String point_code2 = taskObj.getPoint_code2();
|
||||||
|
SchBasePoint schBasePoint2 = pointService.selectByPointCode(point_code2);
|
||||||
|
if (ObjectUtil.isNotEmpty(schBasePoint2)) {
|
||||||
|
PointUtils.updateByIngTaskCode(schBasePoint2);
|
||||||
|
pointService.updateById(schBasePoint2);
|
||||||
|
}
|
||||||
|
taskObj.setTask_status(TaskStatus.CANCELED.getCode());
|
||||||
|
taskObj.setRemark(GeneralDefinition.TASK_CANCEL);
|
||||||
|
taskObj.setTask_status(TaskStatus.CANCELED.getCode());
|
||||||
|
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||||
|
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||||
|
taskService.updateById(taskObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,168 @@
|
|||||||
|
package org.nl.wms.sch.task_manage.task.tasks.sorting;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.common.enums.region.RegionEnum;
|
||||||
|
import org.nl.common.exception.BadRequestException;
|
||||||
|
import org.nl.system.service.notice.ISysNoticeService;
|
||||||
|
import org.nl.wms.ext.acs.service.dto.to.BaseResponse;
|
||||||
|
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
|
||||||
|
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.task.service.ISchBaseTaskService;
|
||||||
|
import org.nl.wms.sch.task.service.ISchBaseTaskconfigService;
|
||||||
|
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||||
|
import org.nl.wms.sch.task.service.dao.SchBaseTaskconfig;
|
||||||
|
import org.nl.wms.sch.task_manage.AbstractTask;
|
||||||
|
import org.nl.wms.sch.task_manage.GeneralDefinition;
|
||||||
|
import org.nl.wms.sch.task_manage.enums.NoticeTypeEnum;
|
||||||
|
import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum;
|
||||||
|
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
|
||||||
|
import org.nl.wms.util.PointUtils;
|
||||||
|
import org.nl.wms.util.TaskUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sorting补空托盘
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component(value = "SortingCNTTask")
|
||||||
|
public class SortingSNTTask extends AbstractTask {
|
||||||
|
|
||||||
|
|
||||||
|
private static final String TASK_CONFIG_CODE = "SortingCNTTask";
|
||||||
|
@Autowired
|
||||||
|
private ISchBasePointService pointService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBaseTaskService taskService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBaseTaskconfigService taskConfigService;
|
||||||
|
@Autowired
|
||||||
|
private ISysNoticeService noticeService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBasePointService schBasePointService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBaseVehiclematerialgroupService schBaseVehiclematerialgroupService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void create() throws BadRequestException {
|
||||||
|
// 获取任务
|
||||||
|
List<SchBaseTask> tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY);
|
||||||
|
// 配置信息
|
||||||
|
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
|
||||||
|
.eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE));
|
||||||
|
for (SchBaseTask task : tasks) {
|
||||||
|
TaskUtils.setUpdateByAcs(task);
|
||||||
|
// 找起点
|
||||||
|
String requestParam = task.getRequest_param();
|
||||||
|
JSONObject jsonObject = JSONObject.parseObject(requestParam);
|
||||||
|
// 根据对接位查找对应的载具类型
|
||||||
|
SchBasePoint schBasePoint = schBasePointService.selectByRegionCode(RegionEnum.ZDFJ.getRegion_code(),task.getVehicle_code());
|
||||||
|
if(ObjectUtil.isEmpty(schBasePoint)) continue;
|
||||||
|
jsonObject.put("vehicle_type", schBasePoint.getCan_vehicle_type());
|
||||||
|
if (ObjectUtil.isEmpty(schBasePoint)) {
|
||||||
|
task.setRemark("未找到所需点位!");
|
||||||
|
taskService.updateById(task);
|
||||||
|
// 消息通知
|
||||||
|
noticeService.createNotice("未找到所需点位!", TASK_CONFIG_CODE + task.getTask_code(),
|
||||||
|
NoticeTypeEnum.WARN.getCode());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//删除组盘信息
|
||||||
|
schBaseVehiclematerialgroupService.remove(new QueryWrapper<SchBaseVehiclematerialgroup>()
|
||||||
|
.eq("vehiicle_code",schBasePoint.getVehicle_code()));
|
||||||
|
taskService.update(new UpdateWrapper<SchBaseTask>()
|
||||||
|
.set("task_status",TaskStatus.CREATED.getCode())
|
||||||
|
.set("point_code2",schBasePoint.getPoint_code())
|
||||||
|
.eq("task_id",task.getTask_id()));
|
||||||
|
pointService.update(new UpdateWrapper<SchBasePoint>()
|
||||||
|
.set("ing_task_code",task.getTask_code())
|
||||||
|
.eq("point_code",schBasePoint.getPoint_code()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void updateStatus(String task_code, TaskStatus status) {
|
||||||
|
//TODO:完成任务的时候将int_task_code的清除
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void forceFinish(String task_code) {
|
||||||
|
SchBaseTask taskObj = taskService.getByCode(task_code);
|
||||||
|
if (ObjectUtil.isEmpty(taskObj)) {
|
||||||
|
throw new BadRequestException("该任务不存在");
|
||||||
|
}
|
||||||
|
this.finishTask(taskObj, TaskFinishedTypeEnum.MANUAL_CONNECTOR);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void cancel(String task_code) {
|
||||||
|
//TODO:取消任务的时候将int_task_code的清除
|
||||||
|
SchBaseTask taskObj = taskService.getByCode(task_code);
|
||||||
|
if (ObjectUtil.isEmpty(taskObj)) {
|
||||||
|
throw new BadRequestException("该任务不存在");
|
||||||
|
}
|
||||||
|
this.cancelTask(taskObj, TaskFinishedTypeEnum.MANUAL_CONNECTOR);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void feedbackTaskState(JSONObject param, SchBaseTask schBaseTask, BaseResponse result) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||||
|
// 获取参数
|
||||||
|
String startPoint = taskObj.getPoint_code1();
|
||||||
|
SchBasePoint schBasePoint = pointService.selectByPointCode(startPoint);
|
||||||
|
// 起点清空
|
||||||
|
if (ObjectUtil.isNotEmpty(schBasePoint)) {
|
||||||
|
PointUtils.updateByIngTaskCode(schBasePoint);
|
||||||
|
pointService.updateById(schBasePoint);
|
||||||
|
}
|
||||||
|
String point_code2 = taskObj.getPoint_code2();
|
||||||
|
SchBasePoint schBasePoint2 = pointService.selectByPointCode(point_code2);
|
||||||
|
if (ObjectUtil.isNotEmpty(schBasePoint2)) {
|
||||||
|
PointUtils.updateByIngTaskCode(schBasePoint2);
|
||||||
|
pointService.updateById(schBasePoint2);
|
||||||
|
}
|
||||||
|
// 任务完成
|
||||||
|
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||||
|
taskObj.setRemark(GeneralDefinition.TASK_FINISH);
|
||||||
|
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||||
|
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||||
|
taskService.updateById(taskObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||||
|
// 获取参数
|
||||||
|
String startPoint = taskObj.getPoint_code1();
|
||||||
|
SchBasePoint schBasePoint = pointService.selectByPointCode(startPoint);
|
||||||
|
// 起点清空
|
||||||
|
if (ObjectUtil.isNotEmpty(schBasePoint)) {
|
||||||
|
PointUtils.updateByIngTaskCode(schBasePoint);
|
||||||
|
pointService.updateById(schBasePoint);
|
||||||
|
}
|
||||||
|
String point_code2 = taskObj.getPoint_code2();
|
||||||
|
SchBasePoint schBasePoint2 = pointService.selectByPointCode(point_code2);
|
||||||
|
if (ObjectUtil.isNotEmpty(schBasePoint2)) {
|
||||||
|
PointUtils.updateByIngTaskCode(schBasePoint2);
|
||||||
|
pointService.updateById(schBasePoint2);
|
||||||
|
}
|
||||||
|
taskObj.setTask_status(TaskStatus.CANCELED.getCode());
|
||||||
|
taskObj.setRemark(GeneralDefinition.TASK_CANCEL);
|
||||||
|
taskObj.setTask_status(TaskStatus.CANCELED.getCode());
|
||||||
|
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||||
|
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||||
|
taskService.updateById(taskObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user