pang.jiabao
2025-03-07 dcdb2b8cf1b0c5d05900acec72c80caf3bb5616c
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java
@@ -1,9 +1,6 @@
package com.zy.asrs.wms.asrs.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.common.domain.CodeRes;
import com.zy.asrs.common.domain.enums.LoginSystemType;
import com.zy.asrs.framework.annotations.ManagerAuth;
@@ -11,23 +8,20 @@
import com.zy.asrs.framework.common.R;
import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wms.asrs.entity.CacheSite;
import com.zy.asrs.wms.asrs.entity.Loc;
import com.zy.asrs.wms.asrs.entity.Order;
import com.zy.asrs.wms.asrs.entity.WaitPakin;
import com.zy.asrs.wms.asrs.entity.dto.OrderInfoDto;
import com.zy.asrs.wms.asrs.entity.dto.PickSheetDetlDto;
import com.zy.asrs.wms.asrs.entity.dto.ShippingOrderDetlDto;
import com.zy.asrs.wms.asrs.entity.param.BatchMergeOrdersParam;
import com.zy.asrs.wms.asrs.entity.param.PageRequest;
import com.zy.asrs.wms.asrs.entity.param.PakinOnShelvesParams;
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.common.domain.BaseParam;
import com.zy.asrs.wms.system.controller.BaseController;
import com.zy.asrs.wms.system.entity.Host;
import com.zy.asrs.wms.system.entity.User;
import com.zy.asrs.wms.system.entity.UserLogin;
import com.zy.asrs.wms.system.service.HostService;
import com.zy.asrs.wms.system.service.UserLoginService;
import com.zy.asrs.wms.system.service.UserService;
import io.jsonwebtoken.lang.Collections;
@@ -35,7 +29,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import sun.nio.ch.IOStatus;
import java.util.*;
@@ -73,10 +66,17 @@
     */
    @PostMapping("/mat/auth")
    public R getProductForBarcode(@RequestBody Map<String, String> barcode) {
        if (Objects.isNull(barcode)) {
            return  R.error("参数不能为空!!");
        }
        if (StringUtil.isNullOrEmpty(barcode.get("barcode"))) {
            return  R.error("条码不能为空!!");
        }
        Order order =  orderService.selectByBarcode(barcode.get("barcode"));
        if (Objects.isNull(order)) {
            return R.error("订单不存在!");
        }
        List<OrderInfoDto> orders = orderService.getDetlForOrderId(order.getId());
@@ -84,6 +84,7 @@
    }
    /**
     * 平库上架
     * PDA扫码入库
     * 1. 绑定库位号与拖盘码
     * 2. 库位置为在库状态
@@ -107,7 +108,7 @@
    }
    /**
     * 获取拖码盘绑定商品
     * 获取拖盘码绑定商品
     * @return
     */
    @GetMapping("/barcode/matnr/{code}")
@@ -115,6 +116,15 @@
        if (StringUtil.isNullOrEmpty(code)) {
            return R.error("托盘码不能为空!!");
        }
        String str = code.trim();
        // 确保字符串长度至少为8
        if (str.length() >= 8) {
           code = str.substring(str.length() - 8);
        } else {
            return R.error("字符串长度小于8,无法获取后8位");
        }
        List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, code));
        return R.ok(waitPakins);
@@ -178,6 +188,14 @@
            return R.error("订单明细不能为空!!");
        }
        String str = ordersParam.getMergeNo().trim();
        // 确保字符串长度至少为8
        if (str.length() >= 8) {
            ordersParam.setMergeNo(str.substring(str.length() - 8));
        } else {
            return R.error("字符串长度小于8,无法获取后8位");
        }
       boolean result = mobileService.batchMergeOrders(ordersParam);
        if (result) {
            return R.ok("组托成功!!");
@@ -238,7 +256,7 @@
            throw new CoolException("请求参数不能为空!!");
        }
        if (Objects.isNull(param.get("barcode"))) {
            throw new CoolException("容器编码不能为空");
            throw new CoolException("播种墙容器编码不能为空");
        }
        if (Objects.isNull(param.get("orderNo"))) {
            throw new CoolException("订单编号不能为空!!");
@@ -257,4 +275,31 @@
        }
    }
    /**
     * 获取发货订单明细
     * @return
     */
    @PostMapping("/shipping/order/detl")
    public R  getOrderDetl(@RequestBody Map<String, Object> params) {
        if (Objects.isNull(params)) {
            throw new CoolException("参数不能为空!!");
        }
        return mobileService.selectShippingDetl(params);
    }
    /**
     * 确认发货单明细
     * @return
     */
    @PostMapping("/shipping/confirm")
    public R confirmShipping(@RequestBody List<ShippingOrderDetlDto> params) {
        if (params.isEmpty()) {
            throw new CoolException("发货单明细不能为空!!");
        }
        return mobileService.confirmShippingDetl(params);
    }
}