kyy
2025-08-30 37379aa1d6e95c1964419b32031aaccc302888c3
MESApplication/Controllers/BasicData/DeliveryBarcodeController.cs
@@ -137,7 +137,7 @@
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    /// 根据送货单号删除条码数据
    /// </summary>
@@ -194,6 +194,68 @@
    }
    
    /// <summary>
    /// 批量根据送货单号删除条码数据
    /// </summary>
    /// <param name="request">包含批量送货单号的请求模型(数组格式)</param>
    /// <returns>统一响应结果</returns>
    [HttpPost("DeleteListByNo")]
    public ResponseResult DeleteListByNo([FromBody] BatchDeleteByDeliveryNoRequest request)
    {
        // 1. 初始化消息中心实体
        var messageEntity = new MessageCenter
        {
            TableName = TARGET_TABLE,
            Url = BASE_API_URL + "DeleteListByNo",
            Method = REQUEST_METHOD,
            Data = JsonConvert.SerializeObject(request),
            Status = 1, // 处理中
            CreateBy = "PL017",
            // 路由标识:显示前3个单号
            Route =
                $"Batch_{string.Join(",", request.Take(3).Select(item => item.DeliveryNo))}{(request.Count > 3 ? "..." : "")}",
            DealWith = 0 // 未处理
        };
        try
        {
            // 2. 直接调用业务层(不再在控制器处理列表,逻辑移至业务层)
            dynamic resultData = new ExpandoObject();
            BatchDeleteResult deleteResult = _deliveryBarcodeManager.DeleteListByDeliveryNo(request);
            // 3. 组装返回数据
            resultData.totalRequested = deleteResult.TotalRequested;
            resultData.totalDeleted = deleteResult.TotalDeleted;
            resultData.deletedNos = deleteResult.DeletedNos;
            resultData.notFoundNos = deleteResult.NotFoundNos;
            resultData.isSuccess = deleteResult.TotalDeleted > 0;
            // 4. 更新消息中心状态(成功)
            messageEntity.Result = 1;
            messageEntity.DealWith = 1;
            messageEntity.ResultData = $"批量删除完成,共处理{deleteResult.TotalRequested}个单号";
            _messageCenterManager.save(messageEntity);
            // 5. 返回成功响应
            return new ResponseResult
            {
                status = 0,
                message = $"成功删除{deleteResult.DeletedNos.Count}个送货单号对应的条码数据,共{deleteResult.TotalDeleted}条记录",
                data = resultData
            };
        }
        catch (Exception ex)
        {
            // 6. 异常处理
            messageEntity.Result = 0;
            messageEntity.DealWith = 0;
            messageEntity.ResultData = ex.Message;
            _messageCenterManager.save(messageEntity);
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    /// 按送货单号+行内码联合删除条码数据
    /// </summary>
    /// <param name="request">包含送货单号和行内码的请求模型</param>
@@ -219,7 +281,7 @@
            // 2. 调用业务层联合删除方法
            dynamic resultData = new ExpandoObject();
            bool deleteSuccess = _deliveryBarcodeManager.DeleteByDeliveryItem(
                request.DeliveryNo,
                request.DeliveryNo,
                request.LineNo
            );
            // 响应中返回关键条件,便于前端确认删除范围
@@ -251,6 +313,67 @@
            // 6. 返回统一异常响应
            return ResponseResult.ResponseError(ex);
        }
    }
}
    }
    /// <summary>
    /// 批量按送货单号+行内码删除条码数据
    /// </summary>
    /// <param name="request">包含批量送货单行的请求模型(数组格式)</param>
    /// <returns>统一响应结果</returns>
    [HttpPost("DeleteListByItem")]
    public ResponseResult DeleteListByItem([FromBody] BatchDeleteByDeliveryItemRequest request)
    {
        // 1. 初始化消息中心实体
        var messageEntity = new MessageCenter
        {
            TableName = TARGET_TABLE,
            Url = BASE_API_URL + "DeleteListByItem",
            Method = REQUEST_METHOD,
            Data = JsonConvert.SerializeObject(request),
            Status = 1, // 处理中
            CreateBy = "PL017",
            // 路由标识:显示前3个"DeliveryNo_LineNo"组合
            Route =
                $"BatchItem_{string.Join(",", request.Take(3).Select(item => $"{item.DeliveryNo}_{item.LineNo}"))}{(request.Count > 3 ? "..." : "")}",
            DealWith = 0 // 未处理
        };
        try
        {
            // 2. 调用业务层执行批量删除
            dynamic resultData = new ExpandoObject();
            BatchDeleteResult deleteResult = _deliveryBarcodeManager.DeleteListByDeliveryItem(request);
            // 3. 组装返回数据
            resultData.totalRequested = deleteResult.TotalRequested;
            resultData.totalDeleted = deleteResult.TotalDeleted;
            resultData.deletedItems = deleteResult.DeletedNos; // 格式:["DN1_1", "DN1_2"]
            resultData.notFoundItems = deleteResult.NotFoundNos;
            resultData.isSuccess = deleteResult.TotalDeleted > 0;
            // 4. 更新消息中心状态(成功)
            messageEntity.Result = 1;
            messageEntity.DealWith = 1;
            messageEntity.ResultData = $"批量删除完成,共处理{deleteResult.TotalRequested}条送货单行";
            _messageCenterManager.save(messageEntity);
            // 5. 返回成功响应
            return new ResponseResult
            {
                status = 0,
                message = $"成功删除{deleteResult.DeletedNos.Count}条送货单行数据,共{deleteResult.TotalDeleted}条记录",
                data = resultData
            };
        }
        catch (Exception ex)
        {
            // 6. 异常处理
            messageEntity.Result = 0;
            messageEntity.DealWith = 0;
            messageEntity.ResultData = ex.Message;
            _messageCenterManager.save(messageEntity);
            return ResponseResult.ResponseError(ex);
        }
    }
}