modified: 生箔呼叫空辊
add: 空辊回库
This commit is contained in:
@@ -15,6 +15,7 @@ public enum TagNameEnum {
|
||||
* LMS系统
|
||||
*/
|
||||
RAW_DOWN("手持生箔下料"),
|
||||
RAW_EMPTY_HOME("手持生箔空辊回库"),
|
||||
RAW_READY("手持生箔准备就绪"),
|
||||
GX_IN("手持管芯入库"),
|
||||
GX_OUT("手持管芯出库"),
|
||||
|
||||
@@ -38,6 +38,11 @@ public class RawFoilPdaController {
|
||||
public ResponseEntity<Object> needEmptyVehicle(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(rawFoilPdaService.needEmptyVehicle(whereJson), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/necessaryEmptyVehicle")
|
||||
@Log("生箔空辊回库")
|
||||
public ResponseEntity<Object> necessaryEmptyVehicle(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(rawFoilPdaService.necessaryEmptyVehicle(whereJson), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/needEmptyAxis")
|
||||
@Log("生箔下料")
|
||||
|
||||
@@ -11,6 +11,9 @@ public interface RawFoilPdaService {
|
||||
|
||||
/**
|
||||
* 呼叫空辊
|
||||
* <p>先创建桁架出辊,在创建AGV搬运空辊</p>
|
||||
* @see org.nl.wms.sch.task_manage.tasks.raw.RawCallRollTrussTask
|
||||
* @see org.nl.wms.sch.task_manage.tasks.raw.RawCallRollAGVTask
|
||||
* @param param /
|
||||
* @return /
|
||||
*/
|
||||
@@ -43,4 +46,13 @@ public interface RawFoilPdaService {
|
||||
* @return /
|
||||
*/
|
||||
JSONObject confirmBlanking(JSONObject param);
|
||||
|
||||
/**
|
||||
* 空辊回库
|
||||
* @see org.nl.wms.sch.task_manage.tasks.slitter.SlitterSendRollAGVTask
|
||||
* @see org.nl.wms.sch.task_manage.tasks.slitter.SlitterSendRollTrussTask
|
||||
* @param param /
|
||||
* @return /
|
||||
*/
|
||||
JSONObject necessaryEmptyVehicle(JSONObject param);
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ 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.raw.RawCallRollTrussTask;
|
||||
import org.nl.wms.sch.task_manage.tasks.raw.RawDownAGVTask;
|
||||
import org.nl.wms.sch.task_manage.tasks.slitter.SlitterSendRollAGVTask;
|
||||
import org.nl.wms.util.TaskUtils;
|
||||
import org.slf4j.MDC;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -45,25 +46,21 @@ public class RawFoilPdaServiceImpl implements RawFoilPdaService {
|
||||
@Autowired
|
||||
private RawDownAGVTask rawDownAGVTask;
|
||||
@Autowired
|
||||
private ISchBasePointService pointService;
|
||||
@Autowired
|
||||
private IpdmBiRawfoilworkorderService rawfoilworkorderService;
|
||||
@Autowired
|
||||
private ISchBaseTaskService taskService;
|
||||
@Autowired
|
||||
private WmsToAcsService wmsToAcsService;
|
||||
@Autowired
|
||||
IstIvtSbpointivtService stIvtSbpointivtService;
|
||||
private IstIvtSbpointivtService stIvtSbpointivtService;
|
||||
@Autowired
|
||||
private SlitterSendRollAGVTask slitterSendRollAGVTask;
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public JSONObject needEmptyVehicle(JSONObject param) {
|
||||
log.info("手持呼叫空收卷辊: {}", param);
|
||||
// param: point_code, vehicle_type
|
||||
// param:point_code
|
||||
String pointCode = param.getString("point_code");
|
||||
String vehicleType = param.getString("vehicle_type");
|
||||
if (ObjectUtil.isEmpty(vehicleType)) {
|
||||
throw new BadRequestException("收卷辊的类型不能为空!");
|
||||
}
|
||||
// 判断是否存在任务
|
||||
List<SchBaseTask> unFinishTasks = taskService.checkHaveTask(pointCode);
|
||||
// 判断是否存在对应的桁架任务
|
||||
@@ -72,12 +69,13 @@ public class RawFoilPdaServiceImpl implements RawFoilPdaService {
|
||||
log.error("点位 [{}] 已经存在任务!", pointCode);
|
||||
throw new BadRequestException("点位[" + pointCode + "]已经存在任务!");
|
||||
}
|
||||
StIvtSbpointivt sbPoint = stIvtSbpointivtService.getByPointCode(pointCode, false);
|
||||
param.put("config_code", "RawCallRollTrussTask");
|
||||
param.put("device_code", pointCode);
|
||||
param.put("ext_code", sbPoint.getExt_code());
|
||||
param.put("create_mode", GeneralDefinition.PDA_CREATION);
|
||||
// 标记一下这里的任务只是单纯送空
|
||||
param.put("is_flag", "0");
|
||||
param.put("requestNo", "LMS" + IdUtil.getSnowflake(1,1).nextIdStr());
|
||||
// 调用通用口, 创建空辊桁架任务
|
||||
rawCallRollTrussTask.apply(param);
|
||||
JSONObject result = new JSONObject();
|
||||
@@ -266,4 +264,31 @@ public class RawFoilPdaServiceImpl implements RawFoilPdaService {
|
||||
result.put("data", new JSONObject());
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject necessaryEmptyVehicle(JSONObject param) {
|
||||
MDC.put(GeneralDefinition.MDC_KEY, TagNameEnum.RAW_EMPTY_HOME.getTag());
|
||||
log.info("手持生箔空辊回库, {}", param);
|
||||
// param: point_code
|
||||
String pointCode = param.getString("point_code");
|
||||
// 判断是否存在任务
|
||||
List<SchBaseTask> unFinishTasks = taskService.checkHaveTask(pointCode);
|
||||
// 判断是否存在对应的桁架任务
|
||||
// List<SchBaseTask> unFinishRelatedTasks = taskService.checkHaveRelatedTaskInRequestParam(pointCode);
|
||||
if (unFinishTasks.size() > 0 ) {
|
||||
log.error("点位 [{}] 已经存在任务!", pointCode);
|
||||
throw new BadRequestException("点位[" + pointCode + "]已经存在任务!");
|
||||
}
|
||||
StIvtSbpointivt sbPoint = stIvtSbpointivtService.getByPointCode(pointCode, false);
|
||||
param.put("device_code", pointCode);
|
||||
param.put("vehicle_code", sbPoint.getExt_code());
|
||||
param.put("create_mode", GeneralDefinition.PDA_CREATION);
|
||||
param.put("config_code", "SlitterSendRollAGVTask");
|
||||
slitterSendRollAGVTask.apply(param);
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("status", HttpStatus.OK.value());
|
||||
result.put("message", "请求成功!");
|
||||
result.put("data", new JSONObject());
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.nl.wms.sch.task_manage.tasks.slitter;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
@@ -72,20 +73,22 @@ public class SlitterSendRollAGVTask extends AbstractTask {
|
||||
// 起点清除
|
||||
String startPointCode = taskObj.getPoint_code1();
|
||||
StIvtCutpointivt startPoint = cutpointivtService.getOneByCode(startPointCode);
|
||||
startPoint.setContainer_name("");
|
||||
startPoint.setFull_point_status("01");
|
||||
startPoint.setFull_vehicle_code("");
|
||||
startPoint.setEmpty_vehicle_code("");
|
||||
startPoint.setEmpty_point_status("01");
|
||||
PointUtils.setCutUpdateByType(startPoint, taskFinishedType);
|
||||
cutpointivtService.updateById(startPoint);
|
||||
if (ObjectUtil.isEmpty(startPoint)) {
|
||||
// 如果是生箔就不做操作,只有分切上料位才需要清空数据
|
||||
startPoint.setContainer_name("");
|
||||
startPoint.setFull_point_status("01");
|
||||
startPoint.setFull_vehicle_code("");
|
||||
startPoint.setEmpty_vehicle_code("");
|
||||
startPoint.setEmpty_point_status("01");
|
||||
PointUtils.setCutUpdateByType(startPoint, taskFinishedType);
|
||||
cutpointivtService.updateById(startPoint);
|
||||
}
|
||||
// 创建桁架任务
|
||||
JSONObject taskParam = new JSONObject();
|
||||
taskParam.put("config_code", "SlitterSendRollTrussTask");
|
||||
taskParam.put("up_task_code", taskObj.getTask_code());
|
||||
taskParam.put("create_mode", GeneralDefinition.TASK_CREATION);
|
||||
taskParam.put("vehicle_code", taskObj.getVehicle_code());
|
||||
taskParam.put("vehicle_type", taskObj.getVehicle_type());
|
||||
taskParam.put("device_code", taskObj.getPoint_code2());
|
||||
slitterSendRollTrussTask.apply(taskParam);
|
||||
// 任务更新
|
||||
|
||||
@@ -67,8 +67,6 @@ public class SlitterSendRollTrussTask extends AbstractTask {
|
||||
SchBasePoint endPoint = pointService.getById(endPointCode);
|
||||
endPoint.setVehicle_code(taskObj.getVehicle_code());
|
||||
endPoint.setPoint_status("2");
|
||||
// 载具类型是否一开始从工单获取,还是根据编码从物料表查询?
|
||||
endPoint.setVehicle_type(taskObj.getVehicle_type());
|
||||
setUpdateByType(endPoint, taskFinishedType);
|
||||
pointService.updateById(endPoint);
|
||||
// 任务更新
|
||||
|
||||
Reference in New Issue
Block a user