From 3c52f39678034ce21c1158a01b4885e3afde4443 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期六, 04 一月 2025 17:08:00 +0800 Subject: [PATCH] #平库入库功能 --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 46 insertions(+), 12 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java index 1cfb59d..d01778e 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java @@ -1,54 +1,88 @@ package com.zy.asrs.wms.asrs.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zy.asrs.framework.exception.CoolException; +import com.zy.asrs.wms.asrs.entity.Order; import com.zy.asrs.wms.asrs.entity.WaitPakin; import com.zy.asrs.wms.asrs.entity.enums.LocTypeHeightType; +import com.zy.asrs.wms.asrs.entity.enums.OrderType; import com.zy.asrs.wms.asrs.entity.enums.TaskStsType; import com.zy.asrs.wms.asrs.entity.param.BatchMergeOrdersParam; import com.zy.asrs.wms.asrs.entity.param.GeneratePakInParam; import com.zy.asrs.wms.asrs.service.MobileService; +import com.zy.asrs.wms.asrs.service.OrderService; import com.zy.asrs.wms.asrs.service.WaitPakinService; import com.zy.asrs.wms.asrs.service.WorkService; +import com.zy.asrs.wms.system.entity.Host; +import com.zy.asrs.wms.system.service.HostService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; +import java.util.List; +import java.util.Objects; @Service public class MobileServiceImpl implements MobileService { @Autowired private WaitPakinService waitPakinService; - @Autowired private WorkService workService; + @Autowired + private HostService hostService; + + @Autowired + private OrderService orderService; + @Override - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean batchMergeOrders(BatchMergeOrdersParam ordersParam) { + Order order = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderNo, ordersParam.getOrderNo())); + if (Objects.isNull(order)) { + throw new CoolException("璁㈠崟涓嶅瓨鍦紒锛�"); + } ArrayList<WaitPakin> waitPakins = new ArrayList<>(); ordersParam.getOrderDetls().forEach(orderdetl -> { WaitPakin waitPakin = new WaitPakin(); - waitPakin.setBatch(orderdetl.getBatch()).setAnfme(orderdetl.getMergeNum()).setBarcode(ordersParam.getMergeNo()).setMatnr(orderdetl.getMatnr()).setDetlId(orderdetl.getDetlId()).setIoStatus(0).setOrderNo(orderdetl.getOrderNo()).setOrderId(orderdetl.getOrderId()).setStatus(1); + waitPakin.setBatch(orderdetl.getBatch()) + .setAnfme(orderdetl.getMergeNum()) + .setBarcode(ordersParam.getMergeNo()) + .setMatnr(orderdetl.getMatnr()) + .setDetlId(orderdetl.getDetlId()) + .setIoStatus(0) + .setOrderNo(orderdetl.getOrderNo()).setOrderId(orderdetl.getOrderId()).setStatus(1); waitPakins.add(waitPakin); }); - /*** 椤圭洰涓嬪彂娴佺▼ * 1. PDA缁勬嫋閫氱煡妗�* 2. 鐢熸垚浠诲姟妗�* 3. 閫氳繃瀹氭椂浠诲姟涓嬪彂鑷矱SS** */ //缁勬嫋閫氱煡妗� waitPakins.forEach(pakin -> { waitPakinService.comb(pakin); }); - //鐢熸垚浠诲姟妗� - GeneratePakInParam generatePakInParam = new GeneratePakInParam(); - //褰撳墠娌℃湁璧峰绔欑偣锛岄粯璁�101锛� 楂樹綆浣嶉粯璁や紶浣庡簱浣� - generatePakInParam.setBarcode(ordersParam.getMergeNo()) - .setOriginSite("101") - .setTaskType(TaskStsType.GENERATE_IN.id).setLocTypeHeight(LocTypeHeightType.LOW.id); - if (workService.generatePakIn(generatePakInParam)) { - return true; + // UTC鍏ュ簱鍗曟嵁(闈炲钩搴撳叆搴撳崟鎹�) + if (order.getOrderType() != OrderType.PK_IN_ORDER.id) { + /*** 椤圭洰涓嬪彂娴佺▼ * 1. PDA缁勬嫋閫氱煡妗�* 2. 鐢熸垚浠诲姟妗�* 3. 閫氳繃瀹氭椂浠诲姟涓嬪彂鑷矱SS** */ + //鐢熸垚浠诲姟妗� + GeneratePakInParam generatePakInParam = new GeneratePakInParam(); + //褰撳墠娌℃湁璧峰绔欑偣锛岄粯璁�101锛� 楂樹綆浣嶉粯璁や紶浣庡簱浣� + generatePakInParam.setBarcode(ordersParam.getMergeNo()) + .setOriginSite("101") + .setTaskType(TaskStsType.GENERATE_IN.id).setLocTypeHeight(LocTypeHeightType.LOW.id); + if (workService.generatePakIn(generatePakInParam)) { + return true; + } + } else { + //fixme 骞冲簱鏄惁闇�瑕侀绾﹀叆搴� } return false; } + + @Override + public List<Host> getHosts() { + return hostService.list(); + } } -- Gitblit v1.9.1