fix: 烘烤质检
This commit is contained in:
@@ -16,6 +16,7 @@ import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
||||
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||
import org.nl.wms.sch.task_manage.core.constant.GeneralDefinition;
|
||||
import org.nl.wms.sch.task_manage.tasks.hot.InHotCachingTrussTask;
|
||||
import org.nl.wms.sch.task_manage.tasks.hot.InHotTrussTask;
|
||||
import org.nl.wms.util.PointUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -43,9 +44,13 @@ public class BakingPdaServiceImpl implements BakingPdaService {
|
||||
private InHotTrussTask inHotTrussTask;
|
||||
@Autowired
|
||||
private ISchBaseTaskService taskService;
|
||||
@Autowired
|
||||
private InHotCachingTrussTask inHotCachingTrussTask;
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public JSONObject bakingQuality(JSONObject param) {
|
||||
log.info("手持操作烘烤质检:{}", param);
|
||||
// update: 需要改成送到对应的暂存点位上
|
||||
// param: point_code,quality(1: 合格,0: 不合格)
|
||||
String quality = param.getString("quality");
|
||||
String pointCode = param.getString("point_code");
|
||||
@@ -67,6 +72,16 @@ public class BakingPdaServiceImpl implements BakingPdaService {
|
||||
}
|
||||
PointUtils.setUpdateByPC(hotZcPoint);
|
||||
pointService.updateById(hotZcPoint);
|
||||
// 创建桁架任务
|
||||
JSONObject taskParam = new JSONObject();
|
||||
taskParam.put("config_code", "InHotCachingTrussTask");
|
||||
taskParam.put("device_code", pointCode);
|
||||
taskParam.put("create_mode", GeneralDefinition.PDA_CREATION);
|
||||
// 标记一下这里的任务只是单纯送空
|
||||
taskParam.put("is_flag", quality);
|
||||
taskParam.put("order_code", hotZcPoint.getMaterial_code());
|
||||
taskParam.put("workorder_id", hotZcPoint.getSource_id());
|
||||
inHotCachingTrussTask.apply(taskParam);
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("message", "操作成功!");
|
||||
return result;
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
package org.nl.wms.sch.task_manage.tasks.hot;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
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.dao.SchBaseTask;
|
||||
import org.nl.wms.sch.task_manage.AbstractTask;
|
||||
import org.nl.wms.sch.task_manage.TaskStatus;
|
||||
import org.nl.wms.sch.task_manage.core.constant.GeneralDefinition;
|
||||
import org.nl.wms.sch.task_manage.core.enums.TaskFinishedTypeEnum;
|
||||
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 org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.nl.wms.sch.task_manage.core.constant.RegionConstant.REGION_A1_HXZC;
|
||||
import static org.nl.wms.util.TaskUtils.checkTaskOptionStatus;
|
||||
import static org.nl.wms.util.TaskUtils.setUpdateByPC;
|
||||
|
||||
/**
|
||||
* 进烘箱暂存位桁架任务
|
||||
* @Author: lyd
|
||||
* @Date: 2024/9/6
|
||||
*/
|
||||
@Slf4j
|
||||
@Component(value = "InHotCachingTrussTask")
|
||||
public class InHotCachingTrussTask extends AbstractTask {
|
||||
private final String THIS_CLASS = InHotCachingTrussTask.class.getName();
|
||||
@Autowired
|
||||
private ISchBaseTaskService taskService;
|
||||
@Autowired
|
||||
private ISchBasePointService pointService;
|
||||
@Override
|
||||
public void create() throws BadRequestException {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createCompletion(SchBaseTask task) {
|
||||
JSONObject requestObj = JSONObject.parseObject(task.getRequest_param());
|
||||
String isFlag = requestObj.getString("is_flag");
|
||||
List<SchBasePoint> hotCacheList;
|
||||
if (GeneralDefinition.YES.equals(isFlag)) {
|
||||
// 质检合格 送到烘烤完毕区
|
||||
hotCacheList = pointService.getHotNotTaskPoint("A1", REGION_A1_HXZC,
|
||||
"4", "1");
|
||||
} else {
|
||||
// 质检不合格 送到待烘烤区
|
||||
hotCacheList = pointService.getHotNotTaskPoint("A1", REGION_A1_HXZC,
|
||||
"2", "1");
|
||||
}
|
||||
if (hotCacheList.size() == 0) {
|
||||
throw new BadRequestException("烘箱暂存区暂无位置!");
|
||||
}
|
||||
SchBasePoint hotCache = hotCacheList.get(0);
|
||||
task.setPoint_code2(hotCache.getPoint_code());
|
||||
// 保存任务参数
|
||||
task.setHandle_class(THIS_CLASS);
|
||||
task.setTask_status(TaskStatus.START_AND_POINT.getCode());
|
||||
setUpdateByPC(task);
|
||||
taskService.save(task);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||
checkTaskOptionStatus(taskObj);
|
||||
JSONObject requestObj = JSONObject.parseObject(taskObj.getRequest_param());
|
||||
SchBasePoint startPoint = pointService.getById(taskObj.getPoint_code1());
|
||||
SchBasePoint endPoint = pointService.getById(taskObj.getPoint_code2());
|
||||
// 起点恢复
|
||||
PointUtils.clearPoint(startPoint, taskFinishedType);
|
||||
// 合格就是带分切,不合格则是待烘烤
|
||||
endPoint.setPoint_status(GeneralDefinition.YES.equals(requestObj.getString("is_flag"))
|
||||
? "4" : "2");
|
||||
endPoint.setMaterial_code(requestObj.getString("order_code"));
|
||||
endPoint.setSource_id(requestObj.getString("workorder_id"));
|
||||
PointUtils.setUpdateByType(endPoint, taskFinishedType);
|
||||
pointService.updateById(endPoint);
|
||||
// 完成
|
||||
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||
taskService.updateById(taskObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||
checkTaskOptionStatus(taskObj);
|
||||
// 取消
|
||||
taskObj.setTask_status(TaskStatus.CANCELED.getCode());
|
||||
taskObj.setRemark(GeneralDefinition.TASK_CANCEL);
|
||||
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||
taskService.updateById(taskObj);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user