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/WaveSeedServiceImpl.java | 42 +++++++++++++++++++++++++++++++++++++++++- 1 files changed, 41 insertions(+), 1 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WaveSeedServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WaveSeedServiceImpl.java index 3e4a0a5..b7dec62 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WaveSeedServiceImpl.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WaveSeedServiceImpl.java @@ -4,21 +4,40 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.zy.asrs.framework.exception.CoolException; import com.zy.asrs.wms.apis.wcs.entity.response.SowSeeds; +import com.zy.asrs.wms.asrs.entity.Order; +import com.zy.asrs.wms.asrs.entity.OrderDetl; +import com.zy.asrs.wms.asrs.entity.TaskDetl; import com.zy.asrs.wms.asrs.entity.param.WaveSeedReviewParam; +import com.zy.asrs.wms.asrs.mapper.OrderDetlMapper; +import com.zy.asrs.wms.asrs.mapper.OrderMapper; +import com.zy.asrs.wms.asrs.mapper.TaskDetlMapper; import com.zy.asrs.wms.asrs.mapper.WaveSeedMapper; import com.zy.asrs.wms.asrs.entity.WaveSeed; +import com.zy.asrs.wms.asrs.service.OrderDetlService; import com.zy.asrs.wms.asrs.service.WaveSeedService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; +import java.util.Objects; import java.util.Optional; +import java.util.stream.Collectors; @Service("waveSeedService") public class WaveSeedServiceImpl extends ServiceImpl<WaveSeedMapper, WaveSeed> implements WaveSeedService { + @Autowired + private OrderMapper orderMapper; + @Autowired + private OrderDetlMapper orderDetlMapper; + @Autowired + private TaskDetlMapper taskDetlMapper; + @Override + @Transactional(rollbackFor = Exception.class) public void waveSeedReview(WaveSeedReviewParam param) { if (param == null) { throw new CoolException("鍙傛暟涓嶈兘涓虹┖"); @@ -41,16 +60,37 @@ throw new CoolException("鎾鏁版嵁涓嶅瓨鍦�"); } + + Double stock = Optional.of(waveSeed.getAnfme() - waveSeed.getWorkQty()).orElse(0.0D); if (stock - param.getReviewNum() < 0) { throw new CoolException("鎾鏁伴噺宸叉弧"); } - waveSeed.setWorkQty(waveSeed.getWorkQty() + param.getReviewNum()); + + TaskDetl taskDetl = taskDetlMapper.selectOne(new LambdaQueryWrapper<TaskDetl>().eq(TaskDetl::getId, waveSeed.getTaskDetlId())); + if (Objects.isNull(taskDetl)) { + throw new CoolException("褰撳墠鎾浠诲姟鏄庣粏涓嶅瓨鍦紒锛�"); + } + if (param.getReviewNum() > taskDetl.getAnfme()) { + throw new CoolException("鎷h揣鏁伴噺澶т簬褰撳墠浠诲姟闇�姹傛暟锛�" + taskDetl.getAnfme()); + } + + OrderDetl orderDetl = orderDetlMapper.selectOne(new LambdaUpdateWrapper<OrderDetl>().eq(OrderDetl::getId, waveSeed.getOrderDetlId())); + if (Objects.isNull(orderDetl)) { + throw new CoolException("褰撳墠鎾璁㈠崟鏄庣粏涓嶅瓨鍦紒锛�"); + } + orderDetl.setWorkQty(orderDetl.getWorkQty() + param.getReviewNum()); + if (orderDetlMapper.updateById(orderDetl) < 1) { + throw new CoolException("璁㈠崟鏄庣粏鏁伴噺鏇存柊澶辫触"); + } + waveSeed.setUpdateTime(new Date()); if (!this.updateById(waveSeed)) { throw new CoolException("鎾澶嶆牳鏇存柊澶辫触"); } + + } @Override -- Gitblit v1.9.1