From 25e1bcba7282b350011950cdf5006e11f1bb9ba5 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期一, 13 一月 2025 20:38:43 +0800 Subject: [PATCH] # 大屏分拣拍灯功能开发 --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/MobileServiceImpl.java | 49 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 42 insertions(+), 7 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 77f09a9..f078b36 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,9 +1,8 @@ package com.zy.asrs.wms.asrs.service.impl; -import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.zy.asrs.framework.exception.CoolException; import com.zy.asrs.wms.asrs.entity.*; import com.zy.asrs.wms.asrs.entity.dto.PickSheetDetlDto; @@ -11,12 +10,13 @@ import com.zy.asrs.wms.asrs.entity.enums.OrderType; import com.zy.asrs.wms.asrs.entity.param.BatchMergeOrdersParam; import com.zy.asrs.wms.asrs.entity.param.GeneratePakInParam; -import com.zy.asrs.wms.asrs.entity.param.PageRequest; import com.zy.asrs.wms.asrs.entity.param.PakinOnShelvesParams; import com.zy.asrs.wms.asrs.mapper.CacheSiteMapper; +import com.zy.asrs.wms.asrs.mapper.SeedSitesMapper; import com.zy.asrs.wms.asrs.service.*; import com.zy.asrs.wms.system.entity.Host; import com.zy.asrs.wms.system.service.HostService; +import io.netty.util.internal.StringUtil; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -63,6 +63,9 @@ private WaveDetlService waveDetlService; @Autowired private CacheSiteMapper cacheSiteMapper; + + @Autowired + private SeedSitesMapper seedSitesMapper; @Override @Transactional(rollbackFor = Exception.class) @@ -157,7 +160,7 @@ locDetl.setLocId(loc.getId()); locDetl.setMatnr(pakin.getMatnr()); Mat one = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, pakin.getMatnr())); - if (!Objects.isNull(one)) { + if (Objects.isNull(one)) { throw new CoolException("褰撳墠鐗╂枡涓嶅瓨鍦紒锛�"); } locDetl.setMatId(one.getId()); @@ -292,6 +295,9 @@ } List<Order> orders = orderService.list(new LambdaQueryWrapper<Order>().eq(Order::getWaveId, pickSheet.getWaveId())); + if (orders.isEmpty()) { + throw new CoolException("娉㈡璁㈠崟涓嶅瓨鍦紒锛�"); + } List<Long> list = orders.stream().map(Order::getId).collect(Collectors.toList()); boolean remove = orderDetlService.remove(new LambdaQueryWrapper<OrderDetl>().in(OrderDetl::getOrderId, list)); if (!remove) { @@ -304,20 +310,49 @@ return true; } + /** + * 鑾峰彇鎾澧欑珯鐐� + * @return + */ @Override public List<CacheSite> getSeedLocs() { return cacheSiteMapper.selectList(new LambdaQueryWrapper<>()); } /** - * 璁㈠崟缁戝畾鎾澧� + * 璁㈠崟缁戝畾鎾澧欑珯鐐�+ * @param param * @return */ @Override + @Transactional(rollbackFor = Exception.class) public boolean bindOrderBySite(Map<String, Object> param) { -// return cacheSiteMapper.bindOrderBySite(param); - return false; + CacheSite siteNo = cacheSiteMapper.selectOne(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getSiteNo, param.get("siteNo")), false); + if (Objects.isNull(siteNo)) { + throw new CoolException("绔欑偣寮傚父锛侊紒"); + } + if (param.get("type").equals("bind")) { + if (!StringUtil.isNullOrEmpty(siteNo.getOrderNo())) { + throw new CoolException("褰撳墠鎾绔欑偣宸茬粦瀹氳鍗曪紒锛�"); + } + Order order = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderNo, param.get("orderNo").toString())); + if (Objects.isNull(order)) { + throw new CoolException("缁戝畾璁㈠崟涓嶅瓨鍦紒锛�"); + } + siteNo.setOrderNo(order.getOrderNo()).setOrderId(order.getId()).setSiteStatus(CacheSiteStatusType.R.id); + if (cacheSiteMapper.updateById(siteNo) < 1) { + throw new CoolException("璁㈠崟鎾浣嶇粦瀹氬け璐ワ紒锛�" ); + } + } else { + if (StringUtil.isNullOrEmpty(siteNo.getOrderNo())) { + throw new CoolException("褰撳墠鎾绔欑偣鏈粦瀹氳鍗曪紒锛�"); + } + siteNo.setOrderId(null).setOrderNo(null).setSiteNo("0"); + if (cacheSiteMapper.updateById(siteNo) < 1) { + throw new CoolException("璁㈠崟涓庢挱绉嶄綅瑙g粦澶辫触锛侊紒" ); + } + } + return true; } } -- Gitblit v1.9.1