private LabelNormal GetNormal(List <FNLABELEntity> labels, List <LineEntity> lines) { LabelNormal ln = new LabelNormal(); ln.TicketNo = labels[0].TICKET_NO; ln.BucketNo = labels[0].BUCKET_NO; ln.ItemCode = labels[0].ZAIKEY; ln.ItemName = GetItemName(ln.ItemCode); ln.ColorCode = labels[0].COLOR_CODE; ln.Unit = (labels[0].MASTER_UNIT_WEIGHT * 1000).ToString("F4"); ln.Section = labels[0].SECTION; ln.UserName = labels[0].USERNAME; if (labels[0].OPTION_FLAG.Equals("1")) { ln.OptionFlag = "(直行)"; } decimal count = 0, weight = 0; foreach (FNLABELEntity label in labels) { count += label.RETRIEVAL_QTY; weight += label.RETRIEVAL_WEIGHT; } ln.Count = count.ToString("F0"); ln.Weight = weight.ToString(); for (int i = 0; lines.Count > 0 && i < 14; i++) { ln.AddDetails(lines[0].Line, lines[0].Count.ToString("F0"), lines[0].Weight.ToString()); lines.RemoveAt(0); } return(ln); }
private void PrintNormal(List <FNLABELEntity> labels) { List <LineEntity> lines = new List <LineEntity>(); LineEntity line = new LineEntity(); for (int i = 0; i < labels.Count; i++) { if (i == 0) { line.Line = labels[i].LINE; line.Count = labels[i].RETRIEVAL_QTY; line.Weight = labels[i].RETRIEVAL_WEIGHT; line.RetrievalNo = labels[i].RETRIEVAL_NO.Trim(); line.SerialNo = labels[i].SERIAL_NO; line.NecessaryQty = labels[i].NECESSARY_QTY; lines.Add(line); } else { if (line.Line == labels[i].LINE) { line.Count += labels[i].RETRIEVAL_QTY; line.Weight += labels[i].RETRIEVAL_WEIGHT; } else { line = new LineEntity(); line.Line = labels[i].LINE; line.Count = labels[i].RETRIEVAL_QTY; line.Weight = labels[i].RETRIEVAL_WEIGHT; line.RetrievalNo = labels[i].RETRIEVAL_NO.Trim(); line.SerialNo = labels[i].SERIAL_NO; line.NecessaryQty = labels[i].NECESSARY_QTY; lines.Add(line); } } string date = (labels[i].START_DATE.Length == 8 ? labels[i].START_DATE.Insert(4, "/").Insert(7, "/") : labels[i].START_DATE) + (labels[i].START_TIMING_FLAG == "1" ? "AM" : labels[i].START_TIMING_FLAG == "2" ? "PM" : ""); line.LineDetail.Add(new LineDetailEntity(date, labels[i].RETRIEVAL_QTY, labels[i].RETRIEVAL_WEIGHT, labels[i].RETRIEVAL_NO.Trim(), labels[i].SERIAL_NO, labels[i].NECESSARY_QTY)); } List <LabelNormal> lns = new List <LabelNormal>(); List <LabelDetail> lds = new List <LabelDetail>(); foreach (LineEntity l in lines) { decimal count = 0, weight = 0; for (int i = 0; i < l.LineDetail.Count; i++) { count += l.LineDetail[i].Count; weight += l.LineDetail[i].Weight; } while (l.LineDetail.Count > 0) { LabelDetail ld = GetDetail(labels[0], l); ld.Weight = weight.ToString("F4"); ld.Count = count.ToString("F0"); lds.Add(ld); } } while (lines.Count > 0) { LabelNormal ln = GetNormal(labels, lines); lns.Add(ln); } if (GetRetrievalStation(labels[0].RETRIEVAL_STATION).UNIFY_TICKET_PRINTFLG == "1") { foreach (LabelNormal ln in lns) { pc.DoPrint(GetPrintName(labels[0].PRINTER_NO), ln); } } if (GetRetrievalStation(labels[0].RETRIEVAL_STATION).TICKET_PRINTFLG == "1") { foreach (LabelDetail ld in lds) { pc.DoPrint(GetPrintName(labels[0].PRINTER_NO), ld); } } }