From 348af9207fe7f69450e5a530dc24e438c64a392c Mon Sep 17 00:00:00 2001 From: "HUOJIN\\92525" <925258474@qq.com> Date: Sun, 4 Aug 2024 22:49:41 +0800 Subject: [PATCH] no message --- .../basicdata/service/StockService.java | 5 - .../service/impl/StockServiceImpl.java | 68 ++++---- .../repository/AgvTaskRepository.java | 2 +- .../modules/quartz/task/pickTask.java | 8 - .../java/com/youchain/utils/BizStatus.java | 161 ++++++++++-------- .../src/main/resources/config/application.yml | 12 +- 6 files changed, 139 insertions(+), 117 deletions(-) diff --git a/youchain-system/src/main/java/com/youchain/basicdata/service/StockService.java b/youchain-system/src/main/java/com/youchain/basicdata/service/StockService.java index a988a01..a6552e8 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/service/StockService.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/service/StockService.java @@ -195,11 +195,6 @@ public interface StockService { */ void moveStock(TransTask transTask); - /** - * 成品下线呼叫空货架 - */ - void cpCallStock(); - /** * 解绑容器 * @param stockCode diff --git a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/StockServiceImpl.java b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/StockServiceImpl.java index 7ab42a2..71658b4 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/StockServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/StockServiceImpl.java @@ -297,8 +297,6 @@ public class StockServiceImpl implements StockService { /**更新库存和点位状态*/ updateStockAndPoints(stock, srcPoint, endPoint); - agvTaskService.sendAgvTaskCCImpl(agvTask);//发送任务 - } @@ -364,6 +362,7 @@ public class StockServiceImpl implements StockService { private AgvTask createAndSendAgvTask(Stock stock, Point srcPoint, Point endPoint) { AgvTask agvTask = new AgvTask(BizStatus.ASN, stock.getCode(), srcPoint.getCode(), endPoint.getCode(), BizStatus.OPEN, "FORKLIFT_MOVE"); agvTaskService.create(agvTask); + agvTaskService.sendAgvTaskCCImpl(agvTask);//发送任务 return agvTask; } @@ -501,8 +500,8 @@ public class StockServiceImpl implements StockService { /**验证目标容器*/ Stock dstStock = validatedstStock(dstStockCode); - if(dstStock.getStatus().equals(BaseStatus.USED)){ - throw new RuntimeException(dstStock.getCode()+"目标托盘已使用,请绑定新的托盘!"); + if (dstStock.getStatus().equals(BaseStatus.USED)) { + throw new RuntimeException(dstStock.getCode() + "目标托盘已使用,请绑定新的托盘!"); } /**待拣货数量*/ @@ -522,7 +521,6 @@ public class StockServiceImpl implements StockService { moveInventory(task, dstStock, moveQty); - /**刷新拣货状态*/ refreshPickStatus(task, moveQty); @@ -533,33 +531,21 @@ public class StockServiceImpl implements StockService { @Override @Transactional(rollbackFor = Exception.class) public void moveStock(TransTask transTask) { - if (BizStatus.Cp_Off_Line.equals(transTask.getTaskType())) { - Point srcPoint = validateSrcPoint(transTask.getPointCode());//起点 - Stock stock = stockRepository.fingByPointCode(srcPoint.getCode()); - if (stock == null) { - throw new RuntimeException(srcPoint.getCode() + "点位没有货架!"); - } - List endPointList = pointRepository.findByCode(null, BaseStatus.FREE, BaseStatus.BOX, AreaNameDic.CPRKQ, null, null); - if (endPointList.isEmpty()) { - throw new RuntimeException("成品入库区没有空闲点位!"); - } - Point endPoint = endPointList.get(0); - AgvTask agvTask = new AgvTask(BizStatus.Cp_Off_Line, stock.getCode(), srcPoint.getCode(), endPoint.getCode(), BizStatus.OPEN, "RACK_MOVE"); - agvTaskService.create(agvTask); - agvTaskService.sendAgvTaskHJImpl(agvTask); - endPoint.setStatus(BaseStatus.USED); - pointRepository.save(endPoint); - stock.setStatus(BaseStatus.USED); - stockRepository.save(stock); - } else { - throw new RuntimeException("任务类型不存在!"); + switch (transTask.getTaskType()) { + case BizStatus.Cp_Off_Up: + moveCpOffUp();//呼叫空货架 + break; + case BizStatus.Cp_Off_Line: + moveCpOffLine(transTask);//送满货架 + break; + case BizStatus.Fx_Off_Line: + moveFxOffLine(transTask);//滚筒 + break; } - } - @Override - @Transactional(rollbackFor = Exception.class) - public void cpCallStock() { + + private void moveCpOffUp() { // 尝试从成品入库缓存区查询空车 List emptyStockList = stockRepository.findByEnmptyStock(AreaNameDic.CPRKHCQ); if (emptyStockList.isEmpty()) { @@ -590,6 +576,30 @@ public class StockServiceImpl implements StockService { } } + private void moveCpOffLine(TransTask transTask) { + Point srcPoint = validateSrcPoint(transTask.getPointCode());//起点 + Stock stock = stockRepository.fingByPointCode(srcPoint.getCode()); + if (stock == null) { + throw new RuntimeException(srcPoint.getCode() + "点位没有货架!"); + } + List endPointList = pointRepository.findByCode(null, BaseStatus.FREE, BaseStatus.BOX, AreaNameDic.CPRKQ, null, null); + if (endPointList.isEmpty()) { + throw new RuntimeException("成品入库区没有空闲点位!"); + } + Point endPoint = endPointList.get(0); + AgvTask agvTask = new AgvTask(BizStatus.Cp_Off_Line, stock.getCode(), srcPoint.getCode(), endPoint.getCode(), BizStatus.OPEN, "RACK_MOVE"); + agvTaskService.create(agvTask); + agvTaskService.sendAgvTaskHJImpl(agvTask); + endPoint.setStatus(BaseStatus.USED); + pointRepository.save(endPoint); + stock.setStatus(BaseStatus.USED); + stockRepository.save(stock); + } + + private void moveFxOffLine(TransTask transTask) { + + } + @Override @Transactional(rollbackFor = Exception.class) public void unBindContainer(String stockCode) { diff --git a/youchain-system/src/main/java/com/youchain/businessdata/repository/AgvTaskRepository.java b/youchain-system/src/main/java/com/youchain/businessdata/repository/AgvTaskRepository.java index d9c34a6..8be2384 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/repository/AgvTaskRepository.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/repository/AgvTaskRepository.java @@ -32,6 +32,6 @@ public interface AgvTaskRepository extends JpaRepository, JpaSpec /** * 去重 */ - @Query(value = " from AgvTask agv where agv.stockCode=:stockCode and agv.status in ('OPEN','ATCALL','UP_CONTAINER','ARRIVED')") + @Query(value = " from AgvTask agv where agv.stockCode=:stockCode and agv.status not in ('CANCEL','FINISH') ") List findRepeat(String stockCode); } diff --git a/youchain-system/src/main/java/com/youchain/modules/quartz/task/pickTask.java b/youchain-system/src/main/java/com/youchain/modules/quartz/task/pickTask.java index b5f2c9a..b08f970 100644 --- a/youchain-system/src/main/java/com/youchain/modules/quartz/task/pickTask.java +++ b/youchain-system/src/main/java/com/youchain/modules/quartz/task/pickTask.java @@ -62,14 +62,6 @@ public class pickTask { } } - /** - * 成品下线呼叫空货架 - */ - public void cpCallStock() { - stockService.cpCallStock(); - } - - public void callJlTask() { /*查询拣货完成完成的出库单*/ List statuses = Arrays.asList(BizStatus.PICK_ALL); diff --git a/youchain-system/src/main/java/com/youchain/utils/BizStatus.java b/youchain-system/src/main/java/com/youchain/utils/BizStatus.java index f74436a..8182dc7 100644 --- a/youchain-system/src/main/java/com/youchain/utils/BizStatus.java +++ b/youchain-system/src/main/java/com/youchain/utils/BizStatus.java @@ -9,221 +9,246 @@ public interface BizStatus { /** * 出入库状态-打开||任务状态-待执行 */ - public static String OPEN = "OPEN"; + String OPEN = "OPEN"; + /** * 出入库状态-审核 */ - public static String ACTIVE = "ACTIVE"; + String ACTIVE = "ACTIVE"; + /** * 入库状态-收货中 */ - public static String RECEIVING = "RECEIVING"; + String RECEIVING = "RECEIVING"; + /** * 入库状态-收货完毕 */ - public static String RECEIVED = "RECEIVED"; + String RECEIVED = "RECEIVED"; + /** * 入库状态-上架中 */ - public static String PUTAWAY = "PUTAWAY"; + String PUTAWAY = "PUTAWAY"; + /** * 出入库状态-已取消||任务状态-已取消 */ - public static String CANCEL = "CANCEL"; + String CANCEL = "CANCEL"; + /** * 出入库状态-已关闭 */ - public static String CLOSE = "CLOSE"; + String CLOSE = "CLOSE"; + /** * 分配中 */ - public static String ASSIGN = "ASSIGN"; + String ASSIGN = "ASSIGN"; + /** * 出库状态-分配完成; */ - public static String ALLOCATE = "ALLOCATE"; + String ALLOCATE = "ALLOCATE"; + /** * 出库状态-拣货中 */ - public static String PICKUP = "PICKUP"; + String PICKUP = "PICKUP"; + /** * 出库状态-拣货完成 */ - public static String PICK_ALL = "PICK_ALL"; + String PICK_ALL = "PICK_ALL"; + /** * 出库状态-部分发货; */ - public static String SHIP_PART = "SHIP_PART"; + String SHIP_PART = "SHIP_PART"; + /** * 出库状态-全部发货; */ - public static String SHIP_ALL = "SHIP_ALL"; + String SHIP_ALL = "SHIP_ALL"; /** * 任务状态-执行中 */ - public static String ATCALL = "ATCALL"; - - /** - * 任务状态-工作中 - */ - public static String ATWORK = "ATWORK"; + String ATCALL = "ATCALL"; /** * 任务状态-已到站 */ - public static String ARRIVED = "ARRIVED"; + String ARRIVED = "ARRIVED"; /** * 任务状态-顶升 */ - public static String UP_CONTAINER = "UP_CONTAINER"; - - /** - * 翻包返库 - */ - public static String FB_RETURN = "FB_RETURN"; - - /** - * 任务状态-成品下线 - */ - public static String Cp_Off_Line = "Cp_Off_Line"; - - + String UP_CONTAINER = "UP_CONTAINER"; /** * 任务状态-完成 */ - public static String FINISH = "FINISH"; + String FINISH = "FINISH"; /** - * 原材料入库 + * 任务类型-翻包返库 */ - public static String ASN = "ASN"; - /** - * 备料任务 - */ - public static String PICK = "PICK"; + String FB_RETURN = "FB_RETURN"; /** - * 叫料任务 + * 任务类型-成品上线 */ - public static String CALL_PICK = "CALL_PICK"; + String Cp_Off_Up = "Cp_Off_Up"; /** - * 盘点任务 + * 任务类型-成品下线 */ - public static String INV = "INV"; + String Cp_Off_Line = "Cp_Off_Line"; + + /** + * 任务类型-返修下线 + */ + String Fx_Off_Line = "Fx_Off_Line"; + + + + /** + * 任务类型-原材料入库 + */ + String ASN = "ASN"; + + /** + * 任务类型-备料任务 + */ + String PICK = "PICK"; + + /** + * 任务类型-叫料任务 + */ + String CALL_PICK = "CALL_PICK"; + + /** + * 任务类型-盘点任务 + */ + String INV = "INV"; /** * 库存日志-移位 */ - public static String MOVE = "MOVE"; + String MOVE = "MOVE"; + /** * 库存日志-库存调整 */ - public static String INVENTORY_ADJUST = "INVENTORY_ADJUST"; + String INVENTORY_ADJUST = "INVENTORY_ADJUST"; + /** * 库存日志-批次调整 */ - public static String MODIFY_LOT = "MODIFY_LOT"; + String MODIFY_LOT = "MODIFY_LOT"; + /** * 库存日志-状态调整 */ - public static String MODIFY_STATUS = "MODIFY_STATUS"; + String MODIFY_STATUS = "MODIFY_STATUS"; + /** * 库存日志-拣货下架 */ - public static String PICK_DOWN = "PICK_DOWN"; + String PICK_DOWN = "PICK_DOWN"; + /** * 库存日志-拣货退回 */ - public static String PICK_CANCEL = "PICK_CANCEL"; + String PICK_CANCEL = "PICK_CANCEL"; + /** * 库存日志-发货 */ - public static String SHIPPING = "SHIPPING"; + String SHIPPING = "SHIPPING"; /** * 库存日志-收货上架 */ - public static String RECEIVING_UP = "RECEIVING_UP"; + String RECEIVING_UP = "RECEIVING_UP"; /** * 库存日志-收货取消 */ - public static String RECEIVING_CANCEL = "RECEIVING_CANCEL"; + String RECEIVING_CANCEL = "RECEIVING_CANCEL"; + /** * 盘点类型-库区 */ - public static String ZONE = "ZONE"; + String ZONE = "ZONE"; /** * 盘点类型-物料 */ - public static String ITEM = "ITEM"; + String ITEM = "ITEM"; /** * 盘点类型-仓库 */ - public static String WAREHOUSE = "WAREHOUSE"; + String WAREHOUSE = "WAREHOUSE"; /** * 盘点状态-分配; */ - public static String COUNT = "COUNT"; + String COUNT = "COUNT"; /** * 盘点状态-差异调整; */ - public static String ADJUST = "ADJUST"; + String ADJUST = "ADJUST"; /** * 增减类型-ADD */ - public static int ADD = 1; + int ADD = 1; /** * 增减类型-不变的 */ - public static int INVARIANT = 0; + int INVARIANT = 0; /** * 增减类型-减少 */ - public static int REDUCE = -1; + int REDUCE = -1; /** * 物料类型,前桶 */ - public static String QT = "QT"; + String QT = "QT"; /** * 物料类型,后桶 */ - public static String HT = "HT"; + String HT = "HT"; /** * 物料类型,小件 */ - public static String XJ = "XJ"; + String XJ = "XJ"; /** * 物料类型,门封 */ - public static String MF = "MF"; + String MF = "MF"; /** * 物料类型,轴承座 */ - public static String ZC = "ZC"; + String ZC = "ZC"; /** * 空车入库 */ - public static String EMPTY_IN = "EMPTY_IN"; + String EMPTY_IN = "EMPTY_IN"; /** * 空车出库/空箱出库 */ - public static String EMPTY_OUT = "EMPTY_OUT"; + String EMPTY_OUT = "EMPTY_OUT"; } diff --git a/youchain-system/src/main/resources/config/application.yml b/youchain-system/src/main/resources/config/application.yml index b97f608..aee462d 100644 --- a/youchain-system/src/main/resources/config/application.yml +++ b/youchain-system/src/main/resources/config/application.yml @@ -6,8 +6,8 @@ spring: freemarker: check-template-location: false profiles: - active: prod - #active: dev + #active: prod + active: dev jackson: time-zone: GMT+8 data: @@ -36,11 +36,11 @@ spring: redis: #数据库索引 database: ${REDIS_DB:2} - host: ${REDIS_HOST:192.168.100.102} - password: ${REDIS_PWD:123456} + #host: ${REDIS_HOST:192.168.100.102} + #password: ${REDIS_PWD:123456} - #host: ${REDIS_HOST:localhost} - #password: ${REDIS_PWD:} + host: ${REDIS_HOST:localhost} + password: ${REDIS_PWD:} port: ${REDIS_PORT:6379} #连接超时时间 timeout: 5000