skyouc
2025-03-29 5bf1406ed9e17b42ff04052667dcf288fa3a2ec0
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java
@@ -31,20 +31,22 @@
@Service("waitPakinService")
public class WaitPakinServiceImpl extends ServiceImpl<WaitPakinMapper, WaitPakin> implements WaitPakinService {
    @Autowired
    private AsnOrderItemService asnOrderItemService;
    @Autowired
    private AsnOrderService asnOrderService;
    @Autowired
    private AsnOrderItemService asnOrderItemService;
    @Autowired
    private WaitPakinService waitPakinService;
    @Autowired
    private WaitPakinItemService waitPakinItemService;
    /**
     * 单据组拖
     * @param waitPakin
     * @author Ryan
     * @description 组拖
     * @param
     * @return
     * @time 2025/3/29 14:42
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -56,7 +58,7 @@
            throw new CoolException("参数错误:托盘码为空!!");
        }
        double sum = waitPakin.getItems().stream().mapToDouble(PakinItem::getQty).sum();
        double sum = waitPakin.getItems().stream().mapToDouble(PakinItem::getReceiptQty).sum();
        WaitPakin pakin = new WaitPakin();
@@ -100,9 +102,9 @@
                    .setMatnrCode(item.getMatnrCode());
            for (PakinItem waitPakinItem : waitPakin.getItems()) {
                if (waitPakinItem.getTrackCode().equals(item.getTrackCode())) {
                    Double v = item.getWorkQty() + waitPakinItem.getQty();
                    Double v = item.getWorkQty() + waitPakinItem.getReceiptQty();
                    pakinItem.setWorkQty(v)
                            .setAnfme(waitPakinItem.getQty())
                            .setAnfme(waitPakinItem.getReceiptQty())
                            .setTrackCode(waitPakinItem.getTrackCode());
                    /**更新单据执行中库存*/
                    if (v.compareTo(item.getAnfme()) > 0) {throw new CoolException("执行中数量大于收货数量!!");}
@@ -120,6 +122,13 @@
        return pakin;
    }
    /**
     * @author Ryan
     * @description 组拖解绑
     * @param
     * @return
     * @time 2025/3/29 14:42
     */
    @Override
    public WaitPakin unBind(WaitPakinParam param) {
        String barcode = param.getBarcode();
@@ -135,11 +144,12 @@
            List<Long> list = paramItems.stream().map(PakinItem::getMatnrId).collect(Collectors.toList());
            List<WaitPakinItem> pakinItems = waitPakinItemService.list(new LambdaQueryWrapper<WaitPakinItem>()
                    .eq(WaitPakinItem::getPakinId, waitPakins.getId())
                    .eq(WaitPakinItem::getMatnrId, list));
                    .in(WaitPakinItem::getMatnrId, list));
            if (pakinItems.isEmpty()) {
                throw new CoolException("数据错误:组拖明细不存在!!");
            }
            if (!waitPakinItemService.removeByIds(pakinItems)) {
            List<Long> ids = pakinItems.stream().map(WaitPakinItem::getId).collect(Collectors.toList());
            if (!waitPakinItemService.removeByIds(ids)) {
                throw new CoolException("组拖明细解绑失败!!");
            }
            return waitPakins;