Beispiel #1
0
        //
        static void Main(string[] args)
        {
            var print1 = new Print1();
            var print2 = new Print2();

            print1.Print();
            print2.Print();
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            Print print1 = new Print(PrintNumber);

            print1(100);
            print1(200);
            print1(300);

            print1 += PrintMoney;
            print1(100);
            print1(200);
            print1(300);

            print1 -= PrintNumber;
            print1(100);
            print1(200);
            print1(300);

            Print2 secretString = SuperSecretFormula;

            Console.WriteLine(secretString());
        }
Beispiel #3
0
        /// <summary>
        /// 修改日期20180517
        /// </summary>
        public override TPCResult <bool> PrintLabel2()
        {
            TPCResult <bool> result = null;
            List <CItem>     items  = null;

            result = new TPCResult <bool>();
            PrinterSettings setting = GetPrinterSetting();

            if (setting == null)
            {
                return(result);
            }
            items = GetPackingItems();
            //写数据库文件
            result = Database.CompletedPallet(items);
            if (result.State == RESULT_STATE.NG)
            {
                return(result);
            }
            //打印第一页信息
            TPCPrintLabel labelFrist      = LabelPrintGlobal.g_LabelCreator.GetPrintLabel("pallet_fxzz");
            List <string> parametersFrist = MakePrintParameters(PACK_MODE.Pallet, GetLabelData(false));

            labelFrist.Print(setting, parametersFrist);
            labelFrist.Print(setting, parametersFrist);
            labelFrist.Print(setting, parametersFrist);
            labelFrist.Print(setting, parametersFrist);
            //选择性打印第二页信息
            TPCPrintLabel labelSecond      = LabelPrintGlobal.g_LabelCreator.GetPrintLabel("fxzz_additional");
            List <string> parametersSecond = MakePrintParameters(PACK_MODE.Pallet, GetLabelData(false));

            #region 修改打印参数
            #region lotNo
            string lotNo = parametersSecond[14];
            parametersSecond[14] = lotNo.Substring(0, lotNo.Length - 1);
            #endregion

            #region dateCode
            //将时间格式9013改成2019-01-03
            string   outputTime = "";
            string   dateCode   = parametersSecond[14].Substring(3);
            string[] code       = { dateCode.Substring(0, 1), dateCode.Substring(1, 2), dateCode.Substring(3, 1) };

            //确定年
            string today = DateTime.Today.ToString("yyyy");

            for (int i = 0; i < 10; i++)
            {
                if (today.Substring(3, 1).Equals(code[0]))
                {
                    outputTime = today;
                }
                else
                {
                    today = (Convert.ToInt16(today) - 1).ToString();
                }
            }
            //确定月份和日
            DateTime          dtTemp = Convert.ToDateTime(outputTime + "-01-01");
            GregorianCalendar gc     = new GregorianCalendar();
            for (int i = 0; i < 365; i++)
            {
                int weekOfYear = gc.GetWeekOfYear(dtTemp, CalendarWeekRule.FirstDay, DayOfWeek.Sunday);
                int dayOfWeek  = (int)dtTemp.DayOfWeek + 1;
                if (weekOfYear == Convert.ToInt16(code[1]) && dayOfWeek == Convert.ToInt16(code[2]))
                {
                    outputTime = dtTemp.ToString("yyyy-MM-dd");
                    break;
                }
                else
                {
                    dtTemp = dtTemp.AddDays(1);
                }
            }

            parametersSecond[5] = outputTime;
            #endregion
            #endregion
            setting = GetPrinterSetting();
            if (setting != null)
            {
                labelSecond.Print(setting, parametersSecond);
                labelSecond.Print(setting, parametersSecond);
                labelSecond.Print(setting, parametersSecond);
                labelSecond.Print(setting, parametersSecond);
            }

            #region 富士康卡板A4纸张
            //设置新纸张大小

            PrinterSettings setting2 = GetPrinterSetting();
            if (setting2 == null)
            {
                return(result);
            }



            Print2 print2 = new Print2(Parent.PNoEdit.Text, parametersSecond[7], outputTime, parametersSecond[14]);

            DataTable dt = new DataTable();
            dt.Columns.Add("No.");
            dt.Columns.Add("箱号");
            dt.Columns.Add("料号");
            dt.Columns.Add("数量");
            int ii = 0;
            //每行写上被包括的子标签数量等
            TPCResult <List <List <string> > > items2 = null;
            bool queryInfo(string ID)
            {
                items2 = null;
                items2 = Database.GetFXZZ_Data(ID);
                if (items2.State == RESULT_STATE.NG)
                {
                    MessageBox.Show(items2.Message);
                    return(false);
                }
                return(true);
            }

            foreach (ListViewItem var in Parent.ItemsListView.Items)
            {
                string id = var.SubItems[1].Text;
                if (!queryInfo(id))
                {
                    return(result);
                }
                if (items2.Value.Count == 0)
                {
                    continue;
                }
                DataRow dr = dt.NewRow();
                dr["No."] = (++ii).ToString();
                dr["箱号"]  = id;
                dr["料号"]  = LabelPrintGlobal.g_Config.APN;
                dr["数量"]  = items2.Value[0][0].ToString();
                dt.Rows.Add(dr);
            }

            print2.ImportDataTable(dt);

            print2.BtnPrint_Click(setting2);
            print2.Dispose();
            #endregion



            //这里需要写入pnt_mng表
            result = Database.SetManagerData(PACK_MODE.Pallet, Parent.PNoEdit.Text, Program.LoginUser,
                                             Convert.ToInt32(Parent.QTYEdit.Text), PACK_ACTION.Register,
                                             PACK_STATUS.Completed);

            return(result);
        }