schangxiang@126.com
2025-04-01 2b0d3b1a9f62e5ec48e4b559f95b3d4bdc3bee09
LA24030_LuLiPackageLine_Print/LA24030_LuLiPackageLine_PrintService/WindowsFormsApplication1/Form1.cs
@@ -312,46 +312,56 @@
                    Dictionary<string, object> data = new Dictionary<string, object>();
                    if (printClassifyEnum == PrintClassifyEnum.包装条码)
                    {
                        data.Add("Info4", item.Info4);//合同单号
                        //data.Add("Info4", item.Info4 ?? "");//合同单号
                        data.Add("Info5", item.Info5 ?? "");//生产单号
                        data.Add("Info6", "第" + (item.Info6 ?? "") + "包");//第几包
                        data.Add("bar", item.PackageCode);//二维码(包号)
                        data.Add("bar", item.PackageCode ?? "");//二维码(包号)
                        data.Add("Info7", item.Info7 ?? "");//经销店
                        data.Add("Info8", item.Info8 ?? "");//产品
                        data.Add("Info9", item.PackageCode ?? "");//包装编码
                        data.Add("Info10", item.Info10 ?? "");//客户名称
                        data.Add("Info11", item.Info11 ?? "");//自提or发货 
                        data.Add("Info12", "包装明细 部件总数" + item.Info12 ?? "");//部件明细
                        data.Add("Info13", item.Info13 ?? "");//当前包面积
                        data.Add("Info12", "包装明细 [板件总数" + (item.Info12 ?? "") + "]");//部件明细
                        //data.Add("Info13", item.Info13 ?? "");//当前包面积
                        data.Add("printTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                        var finsiList = mycontext.mes_package_gather.Where(x => x.Info5 == item.Info5 && x.UpiStatus >= (int)UpiStatusEnum.已合包);
                        double leijisaomiaomj = 0;
                        foreach (var aa in finsiList)
                        {
                            if (!string.IsNullOrEmpty(aa.Info13))
                            {
                                leijisaomiaomj += Convert.ToDouble(aa.Info13);
                            }
                        }
                        if (!string.IsNullOrEmpty(item.Info13))
                        {
                            leijisaomiaomj += Convert.ToDouble(item.Info13);
                        }
                        data.Add("leijisaomiaomj", leijisaomiaomj);//累计扫描面积
                        //var finsiList = mycontext.mes_package_gather.Where(x => x.Info5 == item.Info5 && x.UpiStatus >= (int)UpiStatusEnum.已合包).ToList();
                        //double leijisaomiaomj = 0;
                        //foreach (var aa in finsiList)
                        //{
                        //    if (!string.IsNullOrEmpty(aa.Info13))
                        //    {
                        //        leijisaomiaomj += Convert.ToDouble(aa.Info13);
                        //    }
                        //}
                        //不计算本次的
                        //if (!string.IsNullOrEmpty(item.Info13))
                        //{
                        //    leijisaomiaomj += Convert.ToDouble(item.Info13);
                        //}
                        //data.Add("leijisaomiaomj", leijisaomiaomj);//累计扫描面积
                        //查询下 包数据
                        var mylist = mycontext.mes_batchOrderUPI_new.Where(x => x.PackageCode == item.PackageCode).ToList();
                        var gg = mylist.GroupBy(x => x.DetailName);
                        var gg = mylist.GroupBy(x => new { x.DetailName, x.Info16 });
                        int i = 0;
                        int maxCount = 10;
                        if (gg.Count() > 10)
                        {
                            errMsg = $"打印错误 打印机名称{_PrinterName},错误信息:打印超出了限制条数,最大不能超过{maxCount}条,实际{gg.Count()}条";
                            Log4NetHelper.WriteErrorLog(LogType.Print, errMsg, null);
                            return;
                        }
                        foreach (var g in gg)
                        {
                            i++;
                            data.Add("detail_" + i, g.Key ?? "");//部件名称
                            data.Add("detail_" + i + "_length", g.ToList().First().Info16 ?? "");//部件尺寸
                            data.Add("detail_" + i, g.Key.DetailName ?? "");//部件名称
                            data.Add("detail_" + i + "_length", g.Key.Info16 ?? "");//部件尺寸
                            data.Add("detail_" + i + "_number", g.ToList().Count());//部件数量
                        }
                        for (int p = (i + 1); p <= 6; p++)
                        //这个地方是将剩下的数据 清空
                        //最大值改为 10  【Editby shaocx,2025-03-31】
                        for (int p = (i + 1); p <= maxCount; p++)
                        {
                            data.Add("detail_" + p, "");//部件名称
                            data.Add("detail_" + p + "_length", "");//部件尺寸