diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/TagNameEnum.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/TagNameEnum.java index 07ed303e6..4e35ba453 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/TagNameEnum.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/TagNameEnum.java @@ -15,6 +15,7 @@ public enum TagNameEnum { * LMS系统 */ RAW_DOWN("手持生箔下料"), + RAW_EMPTY_HOME("手持生箔空辊回库"), RAW_READY("手持生箔准备就绪"), GX_IN("手持管芯入库"), GX_OUT("手持管芯出库"), diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/controller/RawFoilPdaController.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/controller/RawFoilPdaController.java index 9b1c47382..dd31ceb26 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/controller/RawFoilPdaController.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/controller/RawFoilPdaController.java @@ -38,6 +38,11 @@ public class RawFoilPdaController { public ResponseEntity needEmptyVehicle(@RequestBody JSONObject whereJson) { return new ResponseEntity<>(rawFoilPdaService.needEmptyVehicle(whereJson), HttpStatus.OK); } + @PostMapping("/necessaryEmptyVehicle") + @Log("生箔空辊回库") + public ResponseEntity necessaryEmptyVehicle(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(rawFoilPdaService.necessaryEmptyVehicle(whereJson), HttpStatus.OK); + } @PostMapping("/needEmptyAxis") @Log("生箔下料") diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/RawFoilPdaService.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/RawFoilPdaService.java index 51c02dda4..0cf9dc339 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/RawFoilPdaService.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/RawFoilPdaService.java @@ -11,6 +11,9 @@ public interface RawFoilPdaService { /** * 呼叫空辊 + *

先创建桁架出辊,在创建AGV搬运空辊

+ * @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); } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilPdaServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilPdaServiceImpl.java index 41e3181b8..f7ca7d4c3 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilPdaServiceImpl.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilPdaServiceImpl.java @@ -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 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 unFinishTasks = taskService.checkHaveTask(pointCode); + // 判断是否存在对应的桁架任务 +// List 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; + } } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/slitter/SlitterSendRollAGVTask.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/slitter/SlitterSendRollAGVTask.java index c131ce88c..6d1a20350 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/slitter/SlitterSendRollAGVTask.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/slitter/SlitterSendRollAGVTask.java @@ -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); // 任务更新 diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/slitter/SlitterSendRollTrussTask.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/slitter/SlitterSendRollTrussTask.java index c91d8712d..cfa7c8a1e 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/slitter/SlitterSendRollTrussTask.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/slitter/SlitterSendRollTrussTask.java @@ -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); // 任务更新