Esempio n. 1
0
        void Item2Buffer(ByteBuilder Buf, CSaleItem item)
        {
            int    index = productBindingSource.Find("ProductID", item.ProductID);
            string s     = "產品" + item.ProductID.ToString();

            if (index >= 0)
            {
                object       o  = productBindingSource.DataSource;
                BasicDataSet ds = (BasicDataSet)o;
                BasicDataSet.ProductDataTable t   = ds.Product;
                BasicDataSet.ProductRow       row = t[index];
                s = row.Name;
            }

            int m;

            do
            {
                m = GB2312.GetByteCount(s);
                if (m <= 16)
                {
                    break;
                }
                s = s.Substring(0, s.Length - 1);
            } while (true);
            int n = 16 - m + s.Length;

            Buf.AppendPadRight(s, n, GB2312);
            Buf.Append(d2str(item.Volume, 6), GB2312);
//            Buf.Append(d2str(item.Price  , 5), GB2312);
            Buf.Append(d2str(item.Total, 10), GB2312);
            Buf.Append("\r\n", GB2312);
        }
Esempio n. 2
0
        public FormOrder(BasicDataSet DS1, BasicDataSet.OrderRow Row, FormBrowse Browse, string PortName, bool CheckOnly)
        {
            DataSet1         = DS1;
            CurrentOrder     = Row;
            BrowseForm       = Browse;
            ComPortName      = PortName;
            FormOnlyForCheck = CheckOnly;
//          if (Row.RowState != DataRowState.Detached)
            OrderDetail = Row.GetOrderItemRows();
//          else
//            OrderDetail = null;
            InitializeComponent();
            InitializeMenu();       // 必需放後面,因為有用到前面設定
            if (OrderDetail == null)
            {
                return;                         // 即使沒資料會是 OrderItemRow[0] 不會是null
            }
            comboBoxGuoDi.SelectedIndex = MyConstant.MaxNo;
        }
Esempio n. 3
0
        public MonthlyReportData Statics(BasicDataSet basicDataSet1)
        {
            decimal           cash = 0, credit = 0, deduct = 0;
            int               people = 0;
            MonthlyReportData data   = new MonthlyReportData();

            foreach (BasicDataSet.OrderRow row in basicDataSet1.Order)
            {
                if (row.IsCreditIDNull() || row.CreditID == 0)
                {
                    cash += row.Income;
                }
                else
                {
                    credit += row.Income;
                }
                if (!row.IsPeopleNoNull())
                {
                    people += row.PeopleNo;
                }
                if (!row.IsDeductNull())
                {
                    deduct += row.Deduct;
                }
            }
            data.OrderCount = basicDataSet1.Order.Count;
            data.Cash       = Math.Round(cash);
            data.Date       = m_WorkingDay.Date;
            data.CreditCard = Math.Round(credit);
            data.CreditFee  = Math.Round(FeeRate * data.CreditCard, 2);
            data.CreditNet  = data.CreditCard - data.CreditFee;
            data.Deduct     = Math.Round(deduct);
            if (people != 0)
            {
                data.AvePerPerson = Math.Round((cash + credit) / people, 1);
            }
            data.Revenue = Math.Round(cash + credit);
            return(data);
        }
Esempio n. 4
0
        public bool LoadData(BasicDataSet basicDataSet1, int year, int month, int day, bool Use12)
        {
            int count = basicDataSet1.Header.Rows.Count;

            if (count == 0)
            {
                return(false);
            }
            if (month < 1 || month > 12)
            {
                return(false);
            }
            if (day < 1 || day > 31)
            {
                return(false);
            }
            if (year < 2008 || year > 2020)
            {
                return(false);
            }
            BasicDataSet.HeaderRow row;
            foreach (BasicDataSet.HeaderRow r in basicDataSet1.Header.Rows)
            {
                if (r.DataDate.Month != month)
                {
                    continue;
                }
                if (r.DataDate.Year != year)
                {
                    continue;
                }
                if (r.DataDate.Day == day)
                {
                    row = r;
                    goto Yes;
                }
            }
            return(false);

Yes:
            string sql = CreateSql(row.DataDate.Year, row.DataDate.Month, row.DataDate.Day, Use12);

            try
            {
                if (Use12)
                {
                    BasicDataSet.OrderDataTable temp = new BasicDataSet.OrderDataTable();
                    m_OrderAdapter.FillBySelectStr(temp, "Select * From [Order] " + sql + " Order by ID");
                    int      todayID = WorkingDay.IDTagHead(year, month, day);
                    DateTime d       = new DateTime(year, month, day);
                    d = d.Subtract(new TimeSpan(24, 0, 0));
                    int prevID = WorkingDay.IDTagHead(d.Year, d.Month, d.Day);
                    basicDataSet1.Order.Clear();
                    foreach (BasicDataSet.OrderRow r in temp)
                    {
                        int idHead = r.ID / 10000;
                        if (idHead == todayID)
                        {
                            if (r.PrintTime.Hour < 7)
                            {
                                continue;
                            }
                        }
                        else if (idHead == prevID)
                        {
                            if (r.PrintTime.Hour >= 7)
                            {
                                continue;
                            }
                        }
                        BasicDataSet.OrderRow oRow = basicDataSet1.Order.NewOrderRow();
                        oRow.ItemArray = r.ItemArray;
                        basicDataSet1.Order.AddOrderRow(oRow);
                    }
                }
                else
                {
                    m_OrderAdapter.FillBySelectStr(basicDataSet1.Order, "Select * From [Order] " + sql + " Order by ID");
                }
                //                m_OrderItemAdapter.FillBySelectStr(basicDataSet1.OrderItem, "Select * From [OrderItem] " + sql);
                m_WorkingDay.Set(row.DataDate);
                return(true);
            }
            catch (Exception ex)
            {
                LastErrorString = ex.Message;
            }
            return(false);
        }