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