Exemplo n.º 1
0
        public PrintDataMessage GenSingleTrayLabel(string trayId, string dateFormat, string[] keepers)
        {
            PrintDataMessage    pdm = new PrintDataMessage();
            ValidateMsg <Trays> msg = TraysHelper.TrayCanPrint(trayId);

            if (msg.Valid)
            {
                List <TrayPackView> tpv = TrayPackViewHelper.GetTPVByTrayIdsGropSumPartNr(new List <string>()
                {
                    trayId
                });
                string[]         dateFormats = dateFormat.Split(',');
                List <PrintTask> tasks       = new List <PrintTask>();
                foreach (string keeper in keepers)
                {
                    RecordSet rs   = new RecordSet();
                    PrintTask task = new PrintTask()
                    {
                        DataSet = rs
                    };
                    foreach (TrayPackView t in tpv)
                    {
                        RecordData label = new RecordData();
                        label.Add("TrayId", t.trayId);
                        label.Add("Warehouse", t.warehouse);
                        label.Add("Position", t.position);
                        label.Add("customerPNr", t.customerPartNr);
                        label.Add("PartNr", t.partNr);
                        label.Add("Capa", t.capa.ToString());
                        label.Add("Keeper", keeper);
                        label.Add("CreateTime", t.createTime.ToString(dateFormats[0]));
                        label.Add("StoreCreateTime", t.createTime.ToString(dateFormats[1]));
                        rs.Add(label);
                    }
                    tasks.Add(task);
                }
                pdm.PrintTask      = tasks;
                pdm.ReturnedResult = true;
            }
            else
            {
                pdm.ReturnedResult = false;
                pdm.ReturnedMessage.Add(msg.ToString());
            }
            return(pdm);
        }
Exemplo n.º 2
0
        public static Message PrintTrayLabel(string trayId)
        {
            Message          msg          = new Message();
            PrintService     printService = new PrintService();
            PrintDataMessage pmsg         = printService.GenSingleTrayLabel(trayId
                                                                            , new ConfigUtil("DATEFORMAT", "config.ini").Get("DATEFORMAT")
                                                                            , new ConfigUtil("KEEPER", "config.ini").Get("KEEPER").Split(','));

            if (pmsg.ReturnedResult)
            {
                Hashtable  printConfig = PrinterUtil.GetPrinterConfig();;
                ProcessMsg prmsg       = printService.Print(printConfig, pmsg);
                msg.Result  = prmsg.result;
                msg.Content = prmsg.GetAllLevelMsgs();
            }
            else
            {
                msg.Result  = pmsg.ReturnedResult;
                msg.Content = pmsg.GetMsgText();
            }
            return(msg);
        }
Exemplo n.º 3
0
        public ProcessMsg Print(Hashtable printConfig, PrintDataMessage pmsg)
        {
            ProcessMsg msg = new ProcessMsg();

            try
            {
                IReportGen gen = new TecITGener();
                foreach (PrintTask task in pmsg.PrintTask)
                {
                    task.Config.Printer        = printConfig["PrinterName"].ToString();
                    task.Config.NumberOfCopies = int.Parse(printConfig["Copy"].ToString());
                    task.Config.Template       = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, printConfig["Template"].ToString());
                    gen.Print(task.DataSet, task.Config);
                }
                msg.result = true;
                msg.AddMessage(ReturnCode.OK, "打印成功!");
            }
            catch (Exception e)
            {
                msg.result = false;
                msg.AddMessage(ReturnCode.Fail, "打印错误:" + e.Message);
            }
            return(msg);
        }