南骏 池
109 分钟以前 52d1e37bb116c995b601728bfe81e3816c3944c9
Controllers/Wom/WwGdController.cs
@@ -20,7 +20,7 @@
    /// <returns>ResponseResult对象,包含状态、消息和数据</returns>
    /// // Demo Request:
    // POST /api/WwGd/ScanCode
    // Body:
    // BodyGetItemsByDaa001
    // {
    //     "query": {
    //         "Code": "SampleCode",
@@ -35,6 +35,15 @@
            // 调用WwGdManager的ScanCode方法进行扫码操作
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.ScanCode(query);
            if (resultInfos.tbBillList.result == "2")
            {
                return new ResponseResult
                {
                    status = Convert.ToInt32(resultInfos.tbBillList.result),
                    message = resultInfos.tbBillList.strMsg,
                    data = resultInfos
                };
            }
            return new ResponseResult
            {
                status = 0,
@@ -121,9 +130,9 @@
    }
    /// <summary>
    ///     委外工单退料扫码
    ///     委外工单补料扫码
    /// </summary>
    /// <param name="barcode">条形码号</param>
    /// <param name="query">条形码号</param>
    /// <returns>ResponseResult对象,包含状态、消息和数据</returns>
    // Demo Request:
    // POST /api/WwGd/WwblScanBarcode
@@ -140,9 +149,19 @@
    {
        try
        {
            // 调用WwGdManager的WwblScanBarcode方法获取物料信息
            dynamic resultInfos = new ExpandoObject();
            resultInfos.materialInfo = m.WwblScanBarcode(query);
            var (success, pendingList) = m.WwblScanBarcode(query);
            resultInfos.success = success;
            resultInfos.pendingList = pendingList;
            if (success.status == 2)
            {
                return new ResponseResult
                {
                    status = Convert.ToInt32(success.status),
                    message = success.message,
                    data = resultInfos.success
                };
            }
            return new ResponseResult
            {
                status = 0,
@@ -158,6 +177,105 @@
    }
    /// <summary>
    ///     生产补料单条码拆分
    /// </summary>
    /// <param name="query">查询参数</param>
    /// <returns>拆分结果和待处理列表</returns>
    /// <remarks>
    ///     请求示例:
    ///     POST /api/WwGd/SplitBarcode
    ///     {
    ///     "billNo": "WO202401010001",  // 工单号(必填)
    ///     "barcode": "BC001",          // 条码号(必填)
    ///     "userName": "admin",          // 用户名(必填)
    ///     "blNo": "BL202401010001",    // 补料单号(必填)
    ///     "Num": 10                    // 拆分数量(必填,必须大于0)
    ///     }
    ///     业务处理:
    ///     - 验证补料单状态
    ///     - 验证条码库存信息
    ///     - 验证拆分数量是否合理
    ///     - 执行条码拆分事务处理
    ///     - 更新工单和补料单相关数量
    ///     返回数据包含:
    ///     - success: 拆分是否成功
    ///     - pendingList: 待处理明细列表,包含:
    ///     * Bld012: 物料ID
    ///     * Bld002: 物料编号
    ///     * Bld003: 物料名称
    ///     * Bld004: 物料规格
    ///     * Bld007: 计划数量
    ///     * Bld008: 已补数量
    /// </remarks>
    /// <response code="200">拆分成功</response>
    /// <response code="400">拆分失败,返回具体错误信息</response>
    [HttpPost("SplitBarcode")]
    public ResponseResult SplitBarcode([FromBody] WarehouseQuery query)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var (success, pendingList) = m.SplitBarcode(query);
            resultInfos.success = success;
            resultInfos.pendingList = pendingList;
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     扫描条码
    /// </summary>
    /// <param name="query">查询对象</param>
    /// <returns>ResponseResult对象,包含状态、消息和数据</returns>
    /// <remarks>
    ///     请求示例:
    ///     POST /api/WwGd/WwtlScanBarcode
    ///     {
    ///     "barcode": "BC001",          // 条码号(必填)
    ///     "userName": "admin",          // 用户名(必填)
    ///     }
    ///     业务处理:
    ///     - 验证条码是否存在
    ///     - 验证用户是否有权限
    ///     - 执行条码扫描事务处理
    ///     - 更新相关记录
    ///     返回数据包含:
    ///     - success: 扫描是否成功
    ///     - message: 扫描结果信息
    /// </remarks>
    /// <response code="200">扫描成功</response>
    /// <response code="400">扫描失败,返回具体错误信息</response>
    [HttpPost("WwtlScanBarcode")]
    public ResponseResult WwtlScanBarcode([FromBody] WarehouseQuery query)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var wwtlScanBarcode = m.WwtlScanBarcode(query);
            resultInfos.tbBillList = wwtlScanBarcode;
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     获取所有
    /// </summary>
    /// <returns></returns>