WinForm打印程序报length cannot be less zero错误,但是参数打印没有长度为0

文章描述了一个过程,涉及字符串验证、工单一致性检查、重量验证通过后将数据保存到数据库,同时记录日志并生成包含物料信息的报告,遇到异常时会捕获并显示错误信息。
摘要由CSDN通过智能技术生成

try
{
    string validateStr = "合格";
    if (resultModels.GroupBy(x => x.OrderNo).Count() > 1)
    {
        UpdateLblMsg($"该栈板产品工单不一致");
        validateStr = "不合格";
        //return $"该栈板产品工单不一致";
        WriteLog.GetLog("打印日志记录").Write($"{30}", "打印日志记录");
    }
    WriteLog.GetLog("打印日志记录").Write($"1", "打印日志记录");
    bool result = ValidateWeight(matCode, Convert.ToSingle(matWeight), Convert.ToSingle(qty));
    WriteLog.GetLog("打印日志记录").Write($"{JsonConvert.SerializeObject(result)}", "打印日志记录");
    if (!result)
    {
        validateStr = "不合格";
    }
    SaveToDatabase(snList, Convert.ToSingle(matWeight), barcode, validateStr == "合格");
    WriteLog.GetLog("打印").Write($"响应参数:SN码:{snList}{Environment.NewLine}称重重量:{Convert.ToSingle(matWeight)}{Environment.NewLine}{Convert.ToSingle(LblWeight.Text)}{Environment.NewLine}栈板码:{barcode}{Environment.NewLine}物料名称:{matName}{Environment.NewLine}物料编码:{matCode}{Environment.NewLine}订单数量:{qty}{Environment.NewLine}{Convert.ToSingle(qty)}{Environment.NewLine}model:{model}{Environment.NewLine}", "打印");
    string ReportPathmater = System.IO.Directory.GetCurrentDirectory();
    WriteLog.GetLog("打印日志记录").Write($"{JsonConvert.SerializeObject(2)}", "打印日志记录");
    string MFile = string.Empty;
    WriteLog.GetLog("打印日志记录").Write($"{JsonConvert.SerializeObject(3)}", "打印日志记录");
    MFile = ReportPathmater + "\\frx\\ProductBarcode.frx";
    WriteLog.GetLog("打印日志记录").Write($"{JsonConvert.SerializeObject(4)}", "打印日志记录");
    Report report = new Report();
    WriteLog.GetLog("打印日志记录").Write($"{JsonConvert.SerializeObject(5)}", "打印日志记录");
    report.Load(MFile);
    WriteLog.GetLog("打印日志记录").Write($"{JsonConvert.SerializeObject(6)}", "打印日志记录");
    report.PrintSettings.ShowDialog = false;
    WriteLog.GetLog("打印日志记录").Write($"{JsonConvert.SerializeObject(7)}", "打印日志记录");
    System.Drawing.Printing.PrinterSettings oitem = new System.Drawing.Printing.PrinterSettings();
    WriteLog.GetLog("打印日志记录").Write($"{JsonConvert.SerializeObject(8)}", "打印日志记录");

    TableCell matCodeObj = report.FindObject("MatCode") as TableCell;
    if (matCodeObj != null)
    {
        matCodeObj.Text = matCode;
        WriteLog.GetLog("打印日志记录").Write($"{JsonConvert.SerializeObject(matCodeObj.Text)}", "打印日志记录");
    }
    TableCell matNameObj = report.FindObject("MatName") as TableCell;
    if (matNameObj != null)
    {
        matNameObj.Text = matName;
        WriteLog.GetLog("打印日志记录").Write($"{JsonConvert.SerializeObject(matNameObj.Text)}", "打印日志记录");
    }
    TableCell matModelObj = report.FindObject("MatModel") as TableCell;
    if (matModelObj != null)
    {
        matModelObj.Text = model;
        WriteLog.GetLog("打印日志记录").Write($"{JsonConvert.SerializeObject(matModelObj.Text)}", "打印日志记录");
    }
    TableCell matQtyObj = report.FindObject("MatQty") as TableCell;
    if (matQtyObj != null)
    {
        matQtyObj.Text = qty;
        WriteLog.GetLog("打印日志记录").Write($"{JsonConvert.SerializeObject(matQtyObj.Text)}", "打印日志记录");
    }
    TableCell Cell18 = report.FindObject("Cell18") as TableCell;
    if (Cell18 != null)
    {
        Cell18.Text = validateStr;
        WriteLog.GetLog("打印日志记录").Write($"{JsonConvert.SerializeObject(Cell18.Text)}", "打印日志记录");
    }
    TableCell matWeightObj = report.FindObject("MatWeight") as TableCell;
    if (matWeightObj != null)
    {
        matWeightObj.Text = Math.Round(Convert.ToSingle(matWeight), 2) + "KG";
        WriteLog.GetLog("打印日志记录").Write($"{JsonConvert.SerializeObject(matWeightObj.Text)}", "打印日志记录");
    }
    BarcodeObject barcodeObject = report.FindObject("PalletCode") as BarcodeObject;
    if (barcodeObject != null)
    {
        barcodeObject.Text = barcode;
        WriteLog.GetLog("打印日志记录").Write($"{JsonConvert.SerializeObject(barcodeObject.Text)}", "打印日志记录");
    }
    BarcodeObject barcodeObject2 = report.FindObject("SnArray") as BarcodeObject;
    if (barcodeObject2 != null)
    {
        barcodeObject2.Text = snList;
        WriteLog.GetLog("打印日志记录").Write($"{JsonConvert.SerializeObject(barcodeObject2.Text)}", "打印日志记录");
    }
    report.Print();
    WriteLog.GetLog("打印日志记录").Write($"{JsonConvert.SerializeObject(9)}", "打印日志记录");
    report.Dispose();
    WriteLog.GetLog("打印日志记录").Write($"{JsonConvert.SerializeObject(10)}", "打印日志记录");
    return "";
}
catch (Exception ex)
{
    UpdateLblMsg($"打印错误,错误信息:{ex.Message}");
    return ex.Message;
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值