From 7c7eac0587ee0a0d79364e4830f26ad9ce207ea6 Mon Sep 17 00:00:00 2001 From: "HUOJIN\\92525" <925258474@qq.com> Date: Tue, 20 Aug 2024 12:04:44 +0800 Subject: [PATCH] no message --- .../service/impl/StockServiceImpl.java | 11 ++++++++--- .../youchain/businessdata/domain/AgvTask.java | 2 +- .../repository/PickRepository.java | 3 +++ .../businessdata/service/dto/AgvTaskDto.java | 3 +++ .../service/impl/AgvTaskServiceImpl.java | 18 +++++++++++++++--- 5 files changed, 30 insertions(+), 7 deletions(-) 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 91d428b..723e626 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 @@ -628,16 +628,19 @@ public class StockServiceImpl implements StockService { throw new RuntimeException(pick.getGdCode() + "请翻包拣货!"); } if (pick.getCallPoint() == null) { - throw new RuntimeException(pick.getGdCode() + "叫料点位不能为空!"); + throw new RuntimeException(pick.getGdCode() + "工单没有叫料请求!"); } Point srcPoint = pick.getStock().getPoint(); Point endPoint = pick.getCallPoint(); Stock stock = pick.getStock(); - endPoint.setStatus(BaseStatus.USED); - pointRepository.save(endPoint); AgvTask agvTask = new AgvTask(BizStatus.CALL_PICK, stock.getCode(), srcPoint.getCode(), endPoint.getCode(), BizStatus.OPEN, "RACK_MOVE"); + agvTask.setLineSlotCode(pick.getCode()); agvTaskService.create(agvTask); agvTaskService.sendAgvTaskHJImpl(agvTask); + srcPoint.setStatus(BaseStatus.USED); + pointRepository.save(srcPoint); + endPoint.setStatus(BaseStatus.USED); + pointRepository.save(endPoint); } /** @@ -705,6 +708,8 @@ public class StockServiceImpl implements StockService { if (inventory.getQuantity() <= 0) { inventoryRepository.delete(inventory); } + dstStock.setStatus(BaseStatus.USED); + stockRepository.save(dstStock); //库存日志 inventoryLogService.storeInventoryLog(BizStatus.MOVE, BizStatus.ADD, task.getPickDetail().getPo(), task.getItemKey(), task.getDstPoint(), dstStock.getPoint(), task.getSrcStock(), dstStock, 0d, moveQty, BizStatus.PICK, task.getId(), newInventory.getId(), ""); diff --git a/youchain-system/src/main/java/com/youchain/businessdata/domain/AgvTask.java b/youchain-system/src/main/java/com/youchain/businessdata/domain/AgvTask.java index 0624c42..88ee241 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/domain/AgvTask.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/domain/AgvTask.java @@ -115,7 +115,7 @@ public class AgvTask extends BaseEntity implements Serializable { private Integer beScan=0; @Column(name = "`line_slot_code`") - @ApiModelProperty(value = "小件线边点位") + @ApiModelProperty(value = "出库单号") private String lineSlotCode; @Column(name = "`job_message_time`") diff --git a/youchain-system/src/main/java/com/youchain/businessdata/repository/PickRepository.java b/youchain-system/src/main/java/com/youchain/businessdata/repository/PickRepository.java index 04d3719..beaafe3 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/repository/PickRepository.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/repository/PickRepository.java @@ -41,4 +41,7 @@ public interface PickRepository extends JpaRepository, JpaSpecificat @Query(value = " from PickDetail pd WHERE pd.pick.id=:pickId ") List queryPickDetail(Long pickId); + + @Query(value = " from Pick p WHERE p.code=:code ") + Pick findByPickCode(String code); } diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/dto/AgvTaskDto.java b/youchain-system/src/main/java/com/youchain/businessdata/service/dto/AgvTaskDto.java index 193c015..4d98dc6 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/dto/AgvTaskDto.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/dto/AgvTaskDto.java @@ -79,6 +79,9 @@ public class AgvTaskDto implements Serializable { /** 是否扫描 */ private Integer beScan=0; + /** 出库单号 */ + private String lineSlotCode; + /** 变动时间 */ private Timestamp jobMessageTime; diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AgvTaskServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AgvTaskServiceImpl.java index c9194e9..51402a9 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AgvTaskServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AgvTaskServiceImpl.java @@ -24,6 +24,7 @@ import com.youchain.basicdata.repository.StockRepository; import com.youchain.basicdata.service.PointService; import com.youchain.businessdata.domain.*; import com.youchain.businessdata.repository.InventoryRepository; +import com.youchain.businessdata.repository.PickRepository; import com.youchain.businessdata.repository.TaskRepository; import com.youchain.businessdata.service.*; import com.youchain.modules.quartz.utils.TimeNumberUtils; @@ -66,7 +67,7 @@ public class AgvTaskServiceImpl implements AgvTaskService { private final PointService pointService; private final AsnDetailService asnDetailService; private final StockRepository stockRepository; - + private final PickRepository pickRepository; @Override public Map queryAll(AgvTaskQueryCriteria criteria, Pageable pageable) { Page page = agvTaskRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable); @@ -440,7 +441,7 @@ public class AgvTaskServiceImpl implements AgvTaskService { handleFBQ(taskList, stock, endPoint);//备料完成 break; case AreaNameDic.JLQ: - handleJL(stock, endPoint);//叫料完成 + handleJL(stock, endPoint,agvTask);//叫料完成 break; case AreaNameDic.CPXXQ: case AreaNameDic.CPRKQ: @@ -490,6 +491,7 @@ public class AgvTaskServiceImpl implements AgvTaskService { newAgvTask.setType(agvTask.getType()); newAgvTask.setJobType(agvTask.getJobType()); newAgvTask.setJobPriority(1); + newAgvTask.setLineSlotCode(agvTask.getLineSlotCode()); agvTaskRepository.save(newAgvTask); //重新发送任务 @@ -583,7 +585,7 @@ public class AgvTaskServiceImpl implements AgvTaskService { * * @param stock */ - private void handleJL(Stock stock, Point endPoint) { + private void handleJL(Stock stock, Point endPoint,AgvTask agvTask) { List inventoryList = inventoryService.queryInventory(stock); if (!inventoryList.isEmpty()) { inventoryService.deleteAll(inventoryList.stream().map(Inventory::getId).toArray(Long[]::new)); @@ -592,6 +594,16 @@ public class AgvTaskServiceImpl implements AgvTaskService { stockRepository.save(stock); endPoint.setStatus(BaseStatus.USED); pointService.update(endPoint); + + Pick pick=pickRepository.findByPickCode(agvTask.getLineSlotCode()); + if(pick!=null){ + pick.setStatus(BizStatus.CLOSE); + pickRepository.save(pick); + } + + //回传MES + + } /**