11
啊鑫
2025-01-02 4704a266830cf05b877dfb3cc572fb1ca8680b3d
Controllers/Warehouse/MesItemBlController.cs
@@ -162,6 +162,64 @@
        }
    }
    /// <summary>
    /// 生产补料单条码拆分
    /// </summary>
    /// <param name="query">查询参数</param>
    /// <returns>拆分结果和待处理列表</returns>
    /// <remarks>
    /// 请求示例:
    ///
    ///     POST /api/MesItemBl/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) = _manager.SplitBarcode(query);
            resultInfos.success = success;
            resultInfos.pendingList = pendingList;
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    #region 生产补料
    /// <summary>
@@ -171,12 +229,12 @@
    /// <response code="200">成功获取补料单号列表</response>
    /// <response code="400">获取失败</response>
    [HttpPost("GetSCBLBillNo")]
    public ResponseResult GetSCBLBillNo()
    public ResponseResult GetSCBLBillNo(WarehouseQuery query)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = _manager.GetSCBLBillNo();
            resultInfos.tbBillList = _manager.GetSCBLBillNo(query);
            return new ResponseResult
            {
                status = 0,
@@ -275,12 +333,12 @@
    /// <response code="200">成功获取超领单号列表</response>
    /// <response code="400">获取失败</response>
    [HttpPost("GetSccList")]
    public ResponseResult GetSccList()
    public ResponseResult GetSccList(WarehouseQuery query)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = _manager.GetSccList();
            resultInfos.tbBillList = _manager.GetSccList(query);
            return new ResponseResult
            {
                status = 0,