南骏 池
15 小时以前 52d1e37bb116c995b601728bfe81e3816c3944c9
Controllers/Wom/WwGdController.cs
@@ -19,8 +19,8 @@
    /// <param name="query">扫码请求参数</param>
    /// <returns>ResponseResult对象,包含状态、消息和数据</returns>
    /// // Demo Request:
    // POST /api/WwGdController/ScanCode
    // Body:
    // POST /api/WwGd/ScanCode
    // 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,
@@ -55,7 +64,7 @@
    /// <param name="query">扫码确认请求参数</param>
    /// <returns>ResponseResult对象,包含状态、消息和数据</returns>
    /// // Demo Request:
    // POST /api/WwGdController/ScanCodeCF
    // POST /api/WwGd/ScanCodeCF
    // Body:
    // {
    //     "query": {
@@ -91,7 +100,7 @@
    /// <param name="query">工单号请求参数</param>
    /// <returns>ResponseResult对象,包含状态、消息和数据</returns>
    // Demo Request:
    // POST /api/WwGdController/GetItemsByDaa001
    // POST /api/WwGd/GetItemsByDaa001
    // Body:
    // {
    //     "query": {
@@ -121,6 +130,152 @@
    }
    /// <summary>
    ///     委外工单补料扫码
    /// </summary>
    /// <param name="query">条形码号</param>
    /// <returns>ResponseResult对象,包含状态、消息和数据</returns>
    // Demo Request:
    // POST /api/WwGd/WwblScanBarcode
    // Body:
    // {
    //     参数说明:
    //     - billNo: 单据号(必填)
    //     - barcode: 条码(必填)
    //     - userName: 用户名
    //     - blNo: 补料单号(必填)
    // }
    [HttpPost("WwblScanBarcode")]
    public ResponseResult WwblScanBarcode(WarehouseQuery query)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            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,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            // 如果发生异常,返回错误信息
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <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>