Ejemplo n.º 1
0
 public Model.InvoiceZZ Get(string invoiceId)
 {
     Model.InvoiceZZ invoice = accessor.Get(invoiceId);
     invoice.DetailsIn  = invoiceZZDetailAccessor.Select("I", invoice);
     invoice.DetailsOut = invoiceZZDetailAccessor.Select("O", invoice);
     return(invoice);
 }
Ejemplo n.º 2
0
 public ViewForm(Model.InvoiceZZ initZZ)
     : this()
 {
     if (initZZ == null)
     {
         throw new ArithmeticException("invoiceid");
     }
     this.invoice = initZZ;
 }
Ejemplo n.º 3
0
 public ViewForm(string invoiceId)
     : this()
 {
     this.invoice = this.invoiceZZManager.Get(invoiceId);
     if (this.invoice == null)
     {
         throw new ArithmeticException("invoiceid");
     }
 }
Ejemplo n.º 4
0
        protected override Form GetViewForm()
        {
            Model.InvoiceZZ invoice = this.SelectedItem as Model.InvoiceZZ;
            if (invoice != null)
            {
                return(new ViewForm(invoice.InvoiceId));
            }

            return(null);
        }
Ejemplo n.º 5
0
 public EditForm(string invoiceId)
     : this()
 {
     this.invoice = this.invoiceManager.Get(invoiceId);
     if (this.invoice == null)
     {
         throw new ArithmeticException("invoiceid");
     }
     this.action = "update";
 }
Ejemplo n.º 6
0
 public EditForm(Model.InvoiceZZ initZZ)
     : this()
 {
     if (initZZ == null)
     {
         throw new ArithmeticException("invoiceid");
     }
     this.invoice = initZZ;
     this.action  = "update";
 }
Ejemplo n.º 7
0
        protected override void MovePrev()
        {
            Model.InvoiceZZ invoice = this.invoiceManager.GetPrev(this.invoice);
            if (invoice == null)
            {
                throw new InvalidOperationException(Properties.Resources.ErrorNoMoreRows);
            }

            this.invoice = this.invoiceManager.Get(invoice.InvoiceId);
        }
Ejemplo n.º 8
0
        public R01_I(Model.InvoiceZZ invoice)
        {
            InitializeComponent();

            invoice.DetailsIn = this.invoiceDetailManager.Select("I", invoice);
            this.DataSource   = invoice.DetailsIn;

            this.xrTableCellProductId.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_Id);
            this.xrTableCellProductName.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_ProductName);
            this.xrTableCellQuantity.DataBindings.Add("Text", this.DataSource, Model.InvoiceZZDetail.PROPERTY_INVOICEZZDETAILQUANTITY);
            this.xrTableCellNote.DataBindings.Add("Text", this.DataSource, Model.InvoiceZZDetail.PROPERTY_INVOICEZZDETAILNOTE);
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 验证单据编号,经手人,出货和收货库房等
        /// </summary>
        private void Validate(Model.InvoiceZZ invoiceZZ)
        {
            if (string.IsNullOrEmpty(invoiceZZ.InvoiceId))
            {
                throw new Helper.RequireValueException("Id");
            }

            if (invoiceZZ.Employee0 == null)
            {
                throw new Helper.RequireValueException("Employee0");
            }

            if (invoiceZZ.DetailsIn.Count == 0)
            {
                throw new Helper.RequireValueException("Details1");
            }

            foreach (Model.InvoiceZZDetail detail in invoiceZZ.DetailsIn)
            {
                if (detail.Product == null || string.IsNullOrEmpty(detail.Product.ProductId))
                {
                    continue;
                }
                if (detail.InvoiceZZDetailZongji == 0)
                {
                    throw new Helper.RequireValueException("Details1");
                }
            }

            if (invoiceZZ.DetailsOut.Count == 0)
            {
                throw new Helper.RequireValueException("Details0");
            }
            foreach (Model.InvoiceZZDetail detail in invoiceZZ.DetailsOut)
            {
                if (detail.Product == null || string.IsNullOrEmpty(detail.Product.ProductId))
                {
                    continue;
                }
                if (detail.InvoiceZZDetailZongji == 0)
                {
                    throw new Helper.RequireValueException("Details0");
                }
            }
        }
Ejemplo n.º 10
0
        protected override void TurnNull()
        {
            if (this.invoice == null)
            {
                return;
            }
            if (MessageBox.Show(Properties.Resources.ConfirmToDelete, this.Text, MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) != DialogResult.OK)
            {
                return;
            }

            this.invoiceManager.TurnNull(this.invoice.InvoiceId);
            this.invoice = this.invoiceManager.GetNext(this.invoice);
            if (this.invoice == null)
            {
                this.invoice = this.invoiceManager.GetLast();
            }
        }
Ejemplo n.º 11
0
        public R01(string invoiceId)
        {
            InitializeComponent();

            this.invoice = this.invoiceManager.Get(invoiceId);

            if (this.invoice == null)
            {
                return;
            }

            this.xrLabelCompanyInfoAddress.Text  = BL.Settings.CompanyAddress1;
            this.xrLabelCompanyInfoFAX.Text      = BL.Settings.CompanyFax;
            this.xrLabelCompanyInfoName.Text     = BL.Settings.CompanyChineseName + Properties.Resources.InvoiceZZ;
            this.xrLabelCompanyInfoTelphone.Text = BL.Settings.CompanyPhone;
            this.xrLabelInvoiceId.Text           = this.invoice.InvoiceId;
            this.xrLabelInvoiceDate.Text         = this.invoice.InvoiceDate.Value.ToString();

            this.xrSubreport1.ReportSource = new R01_I(invoice);
            this.xrSubreport2.ReportSource = new R01_O(invoice);
        }
Ejemplo n.º 12
0
        protected override void AddNew()
        {
            this.invoice = new Model.InvoiceZZ();

            this.invoice.InvoiceId   = this.invoiceManager.GetNewId();
            this.invoice.InvoiceDate = DateTime.Now;

            this.invoice.DetailsIn  = new List <Model.InvoiceZZDetail>();
            this.invoice.DetailsOut = new List <Model.InvoiceZZDetail>();

            if (this.action == "insert")
            {
                Model.InvoiceZZDetail detailOut = new Model.InvoiceZZDetail();
                detailOut.InvoiceZZDetailId       = Guid.NewGuid().ToString();
                detailOut.InvoiceZZDetailKind     = "O";
                detailOut.InvoiceZZDetailNote     = "";
                detailOut.InvoiceZZDetailPrice    = 0;
                detailOut.InvoiceZZDetailQuantity = 0;
                detailOut.InvoiceZZDetailZongji   = 0;
                detailOut.InvoiceProductUnit      = "";
                detailOut.Product = new Book.Model.Product();
                this.invoice.DetailsOut.Add(detailOut);
                this.bindingSourceOut.Position = this.bindingSourceOut.IndexOf(detailOut);

                Model.InvoiceZZDetail detailIn = new Model.InvoiceZZDetail();
                detailIn.InvoiceZZDetailId       = Guid.NewGuid().ToString();
                detailIn.InvoiceZZDetailKind     = "I";
                detailIn.InvoiceZZDetailNote     = "";
                detailIn.InvoiceZZDetailPrice    = 0;
                detailIn.InvoiceZZDetailQuantity = 0;
                detailIn.InvoiceZZDetailZongji   = 0;
                detailIn.InvoiceProductUnit      = "";
                detailIn.Product = new Book.Model.Product();
                this.invoice.DetailsIn.Add(detailIn);
                this.bindingSourceIn.Position = this.bindingSourceIn.IndexOf(detailIn);
            }
        }
Ejemplo n.º 13
0
 public IList <Model.InvoiceZZDetail> Select(string kind, Model.InvoiceZZ invoiceZZ)
 {
     return(accessor.Select(kind, invoiceZZ));
 }
Ejemplo n.º 14
0
 public Model.InvoiceZZ GetPrev(Model.InvoiceZZ e)
 {
     return(sqlmapper.QueryForObject <Model.InvoiceZZ>("InvoiceZZ.get_prev", e));
 }
Ejemplo n.º 15
0
 public Model.InvoiceZZ GetNext(Model.InvoiceZZ e)
 {
     return(sqlmapper.QueryForObject <Model.InvoiceZZ>("InvoiceZZ.get_next", e));
 }
Ejemplo n.º 16
0
 public bool HasRowsAfter(Model.InvoiceZZ e)
 {
     return(sqlmapper.QueryForObject <bool>("InvoiceZZ.has_rows_after", e));
 }
Ejemplo n.º 17
0
 public Model.InvoiceZZ GetNext(Model.InvoiceZZ e)
 {
     return(accessor.GetNext(e));
 }
Ejemplo n.º 18
0
 public bool HasRowsAfter(Model.InvoiceZZ e)
 {
     return(accessor.HasRowsAfter(e));
 }
Ejemplo n.º 19
0
        public override void Refresh()
        {
            if (this.invoice == null)
            {
                this.invoice = new Book.Model.InvoiceZZ();
                this.action  = "insert";
            }
            else
            {
                if (this.action == "view")
                {
                    this.invoice = this.invoiceManager.Get(invoice.InvoiceId);
                }
            }
            this.textEditInvoiceId.EditValue  = this.invoice.InvoiceId;
            this.dateEditInvoiceDate.DateTime = this.invoice.InvoiceDate.Value;

            this.buttonEditEmployee.EditValue = this.invoice.Employee0;
            this.textEditNote.EditValue       = this.invoice.InvoiceNote;

            this.EmpAudit.EditValue      = this.invoice.AuditEmp;
            this.textEditAuditState.Text = this.invoice.AuditStateName;

            this.bindingSourceIn.DataSource  = this.invoice.DetailsIn;
            this.bindingSourceOut.DataSource = this.invoice.DetailsOut;

            switch (this.action)
            {
            case "insert":
                this.textEditInvoiceId.Properties.ReadOnly             = false;
                this.dateEditInvoiceDate.Properties.ReadOnly           = false;
                this.dateEditInvoiceDate.Properties.Buttons[0].Visible = true;
                this.textEditNote.Properties.ReadOnly = false;

                this.buttonEditEmployee.ButtonReadOnly = false;

                this.buttonEditEmployee.ShowButton = true;

                this.simpleButtonAppendIn.Enabled = true;
                this.simpleButtonRemoveIn.Enabled = true;

                this.simpleButtonAppendOut.Enabled = true;
                this.simpleButtonRemoveOut.Enabled = true;


                this.gridViewIn.OptionsBehavior.Editable  = true;
                this.gridViewOut.OptionsBehavior.Editable = true;
                break;

            case "update":
                this.textEditInvoiceId.Properties.ReadOnly             = true;
                this.dateEditInvoiceDate.Properties.ReadOnly           = true;
                this.dateEditInvoiceDate.Properties.Buttons[0].Visible = false;
                this.textEditNote.Properties.ReadOnly = false;

                this.buttonEditEmployee.ButtonReadOnly = false;

                this.buttonEditEmployee.ShowButton = true;

                this.simpleButtonAppendIn.Enabled = false;
                this.simpleButtonRemoveIn.Enabled = true;

                this.simpleButtonAppendOut.Enabled = true;
                this.simpleButtonRemoveOut.Enabled = true;

                this.gridViewIn.OptionsBehavior.Editable  = true;
                this.gridViewOut.OptionsBehavior.Editable = true;

                break;

            case "view":
                this.textEditInvoiceId.Properties.ReadOnly             = true;
                this.dateEditInvoiceDate.Properties.ReadOnly           = true;
                this.dateEditInvoiceDate.Properties.Buttons[0].Visible = false;
                this.textEditNote.Properties.ReadOnly = true;

                this.buttonEditEmployee.ButtonReadOnly = true;

                this.buttonEditEmployee.ShowButton = false;

                this.simpleButtonAppendIn.Enabled = false;
                this.simpleButtonRemoveIn.Enabled = false;

                this.simpleButtonAppendOut.Enabled = false;
                this.simpleButtonRemoveOut.Enabled = false;

                this.gridViewIn.OptionsBehavior.Editable  = false;
                this.gridViewOut.OptionsBehavior.Editable = false;
                break;

            default:
                break;
            }
            base.Refresh();
        }
Ejemplo n.º 20
0
 protected override void MoveLast()
 {
     this.invoice = this.invoiceManager.Get(this.invoiceManager.GetLast() == null ? "" : this.invoiceManager.GetLast().InvoiceId);
 }
Ejemplo n.º 21
0
 public bool HasRowsBefore(Model.InvoiceZZ e)
 {
     return(accessor.HasRowsBefore(e));
 }
Ejemplo n.º 22
0
        private void _Update(Model.InvoiceZZ invoice)
        {
            _ValidateForUpdate(invoice);


            Model.InvoiceZZ invoiceOriginal = this.Get(invoice.InvoiceId);

            switch ((Helper.InvoiceStatus)invoiceOriginal.InvoiceStatus)
            {
            case Helper.InvoiceStatus.Draft:
                switch ((Helper.InvoiceStatus)invoice.InvoiceStatus)
                {
                case Helper.InvoiceStatus.Draft:
                    invoice.UpdateTime = DateTime.Now;
                    accessor.Update(invoice);

                    invoiceZZDetailAccessor.Delete(invoiceOriginal);

                    foreach (Model.InvoiceZZDetail detail in invoice.DetailsIn)
                    {
                        if (detail.Product == null || string.IsNullOrEmpty(detail.Product.ProductId))
                        {
                            continue;
                        }
                        detail.InvoiceZZDetailId = Guid.NewGuid().ToString();
                        detail.InvoiceId         = invoice.InvoiceId;
                        invoiceZZDetailAccessor.Insert(detail);
                    }
                    foreach (Model.InvoiceZZDetail detail in invoice.DetailsOut)
                    {
                        if (detail.Product == null || string.IsNullOrEmpty(detail.Product.ProductId))
                        {
                            continue;
                        }
                        detail.InvoiceZZDetailId = Guid.NewGuid().ToString();
                        detail.InvoiceId         = invoice.InvoiceId;
                        invoiceZZDetailAccessor.Insert(detail);
                    }

                    break;

                case Helper.InvoiceStatus.Normal:
                    accessor.Delete(invoiceOriginal.InvoiceId);
                    invoice.InsertTime = invoiceOriginal.InsertTime;
                    invoice.UpdateTime = DateTime.Now;
                    _Insert(invoice);
                    break;

                case Helper.InvoiceStatus.Null:
                    throw new InvalidOperationException();
                }
                break;

            case Helper.InvoiceStatus.Normal:
                switch ((Helper.InvoiceStatus)invoice.InvoiceStatus)
                {
                case Helper.InvoiceStatus.Draft:
                    throw new InvalidOperationException();

                case Helper.InvoiceStatus.Normal:
                    invoiceOriginal.InvoiceStatus = (int)Helper.InvoiceStatus.Null;
                    _TurnNull(invoiceOriginal);
                    accessor.Delete(invoiceOriginal.InvoiceId);
                    invoice.InsertTime = invoiceOriginal.InsertTime;
                    invoice.UpdateTime = DateTime.Now;
                    _Insert(invoice);
                    break;

                case Helper.InvoiceStatus.Null:

                    Model.InvoiceZZDetail itemIn  = invoice.DetailsIn[0];
                    Model.Product         product = itemIn.Product;
                    //if (itemIn.InvoiceProductUnit == product.ProductOuterPackagingUnit)
                    //{
                    //    product.ProductCurrentCGPrice = itemIn.InvoiceZZDetailPrice / Convert.ToDecimal(product.ProductBaseUnitRelationship.Value) / Convert.ToDecimal(product.ProductInnerUnitRelationship.Value);
                    //    zzInQuantity = itemIn.InvoiceZZDetailQuantity * product.ProductBaseUnitRelationship * product.ProductInnerUnitRelationship;
                    //}
                    //else if (itemIn.InvoiceProductUnit == product.ProductInnerPackagingUnit)
                    //{
                    //    product.ProductCurrentCGPrice = itemIn.InvoiceZZDetailPrice / Convert.ToDecimal(product.ProductBaseUnitRelationship.Value);
                    //    zzInQuantity = itemIn.InvoiceZZDetailQuantity * product.ProductBaseUnitRelationship;
                    //}
                    //else
                    //{
                    //    product.ProductCurrentCGPrice = itemIn.InvoiceZZDetailPrice;
                    //    zzInQuantity = itemIn.InvoiceZZDetailQuantity;
                    //}

                    //productAccessor.UpdateCost1(product, product.ProductCurrentCGPrice, -zzInQuantity);
                    //stockAccessor.Decrement(itemIn.Depot, product, zzInQuantity.Value);

                    foreach (Model.InvoiceZZDetail itemOut in invoice.DetailsOut)
                    {
                        if (itemOut.Product == null || string.IsNullOrEmpty(itemOut.Product.ProductId))
                        {
                            continue;
                        }
                        Model.Product p = itemOut.Product;
                        //if (itemOut.InvoiceProductUnit == itemOut.Product.ProductOuterPackagingUnit)
                        //{
                        //    p.ProductCurrentCGPrice = itemOut.InvoiceZZDetailPrice / Convert.ToDecimal(p.ProductBaseUnitRelationship.Value) / Convert.ToDecimal(p.ProductInnerUnitRelationship.Value);
                        //    zzOutQuantity = itemOut.InvoiceZZDetailQuantity * p.ProductBaseUnitRelationship * p.ProductInnerUnitRelationship;
                        //}
                        //else if (itemOut.InvoiceProductUnit == itemOut.Product.ProductInnerPackagingUnit)
                        //{
                        //    p.ProductCurrentCGPrice = itemOut.InvoiceZZDetailPrice / Convert.ToDecimal(p.ProductBaseUnitRelationship.Value);
                        //    zzOutQuantity = itemOut.InvoiceZZDetailQuantity * p.ProductBaseUnitRelationship;
                        //}
                        //else
                        //{
                        //    p.ProductCurrentCGPrice = itemOut.InvoiceZZDetailPrice;
                        //    zzOutQuantity = itemOut.InvoiceZZDetailQuantity;
                        //}
                        //stockAccessor.Increment(itemOut.Depot, p, zzOutQuantity.Value * itemIn.InvoiceZZDetailQuantity.Value);
                    }
                    break;
                }
                break;

            case Helper.InvoiceStatus.Null:
                throw new InvalidOperationException();
            }
        }
Ejemplo n.º 23
0
 public Model.InvoiceZZ GetPrev(Model.InvoiceZZ e)
 {
     return(accessor.GetPrev(e));
 }
Ejemplo n.º 24
0
        private void _Insert(Model.InvoiceZZ invoice)
        {
            _ValidateForInsert(invoice);
            invoice.Employee0Id = invoice.Employee0.EmployeeId;

            invoice.Employee1Id = invoice.Employee1.EmployeeId;


            if ((Helper.InvoiceStatus)invoice.InvoiceStatus.Value == Helper.InvoiceStatus.Normal)
            {
                invoice.Employee2Id   = invoice.Employee2.EmployeeId;
                invoice.InvoiceGZTime = DateTime.Now;
            }
            accessor.Insert(invoice);

            //插入收货商品明细

            Model.InvoiceZZDetail itemIn = invoice.DetailsIn[0];

            if (itemIn.Product == null || string.IsNullOrEmpty(itemIn.Product.ProductId))
            {
            }
            else
            {
                //itemIn.DepotId = itemIn.Depot.DepotId;
                Model.Product product = itemIn.Product;

                //if (itemIn.InvoiceProductUnit == product.ProductOuterPackagingUnit)
                //{
                //    product.ProductCurrentCGPrice = itemIn.InvoiceZZDetailPrice / Convert.ToDecimal(product.ProductBaseUnitRelationship.Value) / Convert.ToDecimal(product.ProductInnerUnitRelationship.Value);
                //    quantity = itemIn.InvoiceZZDetailQuantity * product.ProductBaseUnitRelationship * product.ProductInnerUnitRelationship;
                //}
                //else if (itemIn.InvoiceProductUnit == product.ProductInnerPackagingUnit)
                //{
                //    product.ProductCurrentCGPrice = itemIn.InvoiceZZDetailPrice / Convert.ToDecimal(product.ProductBaseUnitRelationship.Value);
                //    quantity = itemIn.InvoiceZZDetailQuantity * product.ProductBaseUnitRelationship;
                //}
                //else
                //{
                //    product.ProductCurrentCGPrice = itemIn.InvoiceZZDetailPrice;
                //    quantity = itemIn.InvoiceZZDetailQuantity;
                //}

                itemIn.InvoiceId = invoice.InvoiceId;
                //productAccessor.UpdateCost1(product, product.ProductCurrentCGPrice,quantity);
                //stockAccessor.Increment(itemIn.Depot, itemIn.Product, quantity.Value);
                invoiceZZDetailAccessor.Insert(itemIn);
            }
            //插入出库商品明细
            foreach (Model.InvoiceZZDetail itemOut in invoice.DetailsOut)
            {
                if (itemOut.Product == null || string.IsNullOrEmpty(itemOut.Product.ProductId))
                {
                    continue;
                }
                //itemOut.DepotId = itemOut.Depot.DepotId;
                Model.Product p = itemOut.Product;

                //if (itemOut.InvoiceProductUnit == itemOut.Product.ProductOuterPackagingUnit)
                //{
                //    p.ProductCurrentCGPrice = itemOut.InvoiceZZDetailPrice / Convert.ToDecimal(p.ProductBaseUnitRelationship.Value) / Convert.ToDecimal(p.ProductInnerUnitRelationship.Value);
                //    zsQuantity = itemOut.InvoiceZZDetailQuantity * p.ProductBaseUnitRelationship * p.ProductInnerUnitRelationship;
                //}
                //else if (itemOut.InvoiceProductUnit == itemOut.Product.ProductInnerPackagingUnit)
                //{
                //    p.ProductCurrentCGPrice = itemOut.InvoiceZZDetailPrice / Convert.ToDecimal(p.ProductBaseUnitRelationship.Value);
                //    zsQuantity = itemOut.InvoiceZZDetailQuantity * p.ProductBaseUnitRelationship;
                //}
                //else
                //{
                //    p.ProductCurrentCGPrice = itemOut.InvoiceZZDetailPrice;
                //    zsQuantity = itemOut.InvoiceZZDetailQuantity;
                //}
                //stockAccessor.Decrement(itemOut.Depot, p, zsQuantity.Value * itemIn.InvoiceZZDetailQuantity.Value);
                itemOut.InvoiceId = invoice.InvoiceId;
                invoiceZZDetailAccessor.Insert(itemOut);
            }
        }
Ejemplo n.º 25
0
 public void Insert(Model.InvoiceZZ e)
 {
     this.Insert <Model.InvoiceZZ>(e);
 }
Ejemplo n.º 26
0
 public bool HasRowsBefore(Model.InvoiceZZ e)
 {
     return(sqlmapper.QueryForObject <bool>("InvoiceZZ.has_rows_before", e));
 }
Ejemplo n.º 27
0
 public void Update(Model.InvoiceZZ e)
 {
     this.Update <Model.InvoiceZZ>(e);
 }
Ejemplo n.º 28
0
 private void _TurnNormal(Model.InvoiceZZ invoice)
 {
     invoice.InvoiceStatus = (int)Helper.InvoiceStatus.Normal;
     _Update(invoice);
 }