6 changed files with 706 additions and 36 deletions
@ -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); |
|||
} |
|||
|
|||
} |
Loading…
Reference in new issue