#
luxiaotao1123
2021-03-20 b650e00a5e5ecdad78014452c8bfa60b3ffbfca7
src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
@@ -11,12 +11,14 @@
import org.springframework.transaction.annotation.Transactional;
import zy.cloud.wms.common.model.OrderStoDto;
import zy.cloud.wms.common.service.MainService;
import zy.cloud.wms.common.service.asrs.AsrsService;
import zy.cloud.wms.common.utils.VersionUtils;
import zy.cloud.wms.manager.entity.*;
import zy.cloud.wms.manager.entity.param.*;
import zy.cloud.wms.manager.entity.result.StoPrintVo;
import zy.cloud.wms.manager.service.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -42,6 +44,8 @@
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
    private MatService matService;
    @Autowired
    private AsrsService asrsService;
    @Override
    @Transactional
@@ -327,4 +331,34 @@
        return R.ok("生成销售订单" + param.getNumber() + "成功");
    }
    @Override
    public R stockTransfer(String number, Long userId) {
        List<CustOrder> custOrders = custOrderService.selectList(new EntityWrapper<CustOrder>().eq("number", number).eq("status", 1));
        boolean error = false;
        List<StockTransferParam> params = new ArrayList<>();
        for (CustOrder custOrder : custOrders) {
            Double count = locDetlService.selectCountByMatnr(custOrder.getUserCode());
            if (count == null) {
                count = 0.0D;
            }
            if (count < custOrder.getQty()) {
                if (!error) {
                    error = true;
                }
                StockTransferParam param = new StockTransferParam();
                param.setMatnr(custOrder.getUserCode());
                param.setAnfme(custOrder.getQty() - count);
                params.add(param);
            }
        }
        if (error) {
            if (asrsService.stockTransfer(params)) {
                return R.ok("库存调拨成功");
            } else {
                return R.error("立库调拨失败,请联系管理员");
            }
        }
        return R.error("暂不缺货,不需要立库调拨");
    }
}