コード例 #1
0
        public RO1ZYD(string invoiceid)
        {
            InitializeComponent();

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

            this.invoice.Details = this.InvoiceXSDetailManager.Select(this.invoice);

            this.DataSource = this.invoice.Details;

            //CompanyInfo
            this.xrLabelCompanyInfoName.Text = BL.Settings.CompanyChineseName;
            this.xrLabelData.Text            = Properties.Resources.InvoiceXS;
            this.xrLabelPrintDate.Text      += DateTime.Now.ToString("yyyy-MM-dd");
            //客户信息
            this.xrLabelCustomer.Text       = this.invoice.Customer.CustomerShortName;
            this.xrLabelCustomName.Text     = this.invoice.XSCustomer == null ? "" : this.invoice.XSCustomer.CustomerShortName;
            this.xrLabelCustomFax.Text      = this.invoice.XSCustomer == null ? "" : this.invoice.XSCustomer.CustomerFax;
            this.xrLabelCustomTel.Text      = this.invoice.XSCustomer == null ? "" : string.IsNullOrEmpty(this.invoice.XSCustomer.CustomerPhone) ? this.invoice.Customer.CustomerPhone1 : this.invoice.Customer.CustomerPhone;
            this.xrLabelTongYiNo.Text       = this.invoice.XSCustomer == null ? "" : this.invoice.XSCustomer.CustomerNumber;
            this.xrLabelSongHuoAddress.Text = this.invoice.XSCustomer == null ? "" : this.invoice.XSCustomer.CustomerJinChuAddress;

            //单据信息
            this.xrLabelInvoiceDate.Text = this.invoice.InvoiceDate.Value.ToString("yyyy-MM-dd");
            this.xrLabelInvoiceId.Text   = this.invoice.InvoiceId;
            this.xrLabelYeWuName.Text    = this.invoice.Employee0.EmployeeName;
            this.xrLabel25.Text         += this.invoice.AuditEmp == null ? "" : this.invoice.AuditEmp.EmployeeName;
            this.xrLabelNote.Text        = this.invoice.InvoiceNote;

            this.xrLabelFreightCompany.Text = this.invoice.TransportCompany;
            this.xrLabelFreightWay.Text     = this.invoice.ConveyanceMethod == null ? null : this.invoice.ConveyanceMethod.ToString();

            //明细信息
            this.xrTableCellProductId.DataBindings.Add("Text", this.DataSource, Model.InvoiceXSDetail.PRO_Inumber);
            this.xrTableCellProductName.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_ProductName);
            this.xrTableCellCusPro.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_CustomerProductName);
            this.xrTableQuantity.DataBindings.Add("Text", this.DataSource, Model.InvoiceXSDetail.PRO_InvoiceXSDetailQuantity);

            this.xrTablePrice.DataBindings.Add("Text", this.DataSource, Model.InvoiceXSDetail.PRO_InvoiceXSDetailPrice, global::Helper.DateTimeParse.GetFormatA(BL.V.SetDataFormat.XSDJXiao.Value));
            // this.xrTableTaxPrice.DataBindings.Add("Text", this.DataSource, Model.InvoiceXSDetail.PRO_InvoiceXSDetailTaxPrice, "{0:0.###}");
            this.xrTableHeJi.DataBindings.Add("Text", this.DataSource, Model.InvoiceXSDetail.PRO_InvoiceXSDetailMoney, global::Helper.DateTimeParse.GetFormatA(BL.V.SetDataFormat.XSJEXiao.Value));
            // this.xrTableTax.DataBindings.Add("Text", this.DataSource, Model.InvoiceXSDetail.PRO_InvoiceXSDetailTax, "{0:0.###}");
            // this.xrTableTaxTotal.DataBindings.Add("Text", this.DataSource, Model.InvoiceXSDetail.PRO_InvoiceXSDetailTaxMoney, "{0:0.###}");
            // this.xrTableOrderQuantity.DataBindings.Add("Text", this.DataSource, "InvoiceXODetail." + Model.InvoiceXODetail.PRO_InvoiceXODetailQuantity, "{0:0.###}");
            //  this.xrTableNoXGQuantity.DataBindings.Add("Text", this.DataSource, "InvoiceXODetail." + Model.InvoiceXODetail.PRO_InvoiceXODetailQuantity0, "{0:0.###}");
            //  this.xrTableZS.DataBindings.Add("Text", this.DataSource, Model.InvoiceCGDetail.PRO_InvoiceCGDetaiInQuantity, "{0:0.###}");
            //this.xrTableTransferQuantity.DataBindings.Add("Text", this.DataSource, Model.InvoiceCGDetail.PRO_ProduceTransferQuantity, "{0:0.###}");
            // this.xrTableZR.DataBindings.Add("Text", this.DataSource, Model.InvoiceXSDetail.PRO_InvoiceAllowance, "{0:0.###}");
            this.xrTableUnit.DataBindings.Add("Text", this.DataSource, Model.InvoiceXSDetail.PRO_InvoiceProductUnit);
            //this.xrCheckBoxZS.DataBindings.Add("Checked", this.DataSource, Model.InvoiceXSDetail.PRO_Donatetowards);
            //this.xrTableCellXOId.DataBindings.Add("Text", this.DataSource,"InvoiceXO."+ Model.InvoiceXO.PRO_CustomerInvoiceXOId);
            this.xrTableDesc.DataBindings.Add("Text", this.DataSource, "InvoiceXO." + Model.InvoiceXO.PRO_CustomerInvoiceXOId);
            this.xrLabelHeji.Text  += this.invoice.InvoiceHeji == null ? "0" : this.invoice.InvoiceHeji.Value.ToString(global::Helper.DateTimeParse.GetFormat(BL.V.SetDataFormat.XSZJXiao.Value));
            this.xrLabelTax.Text   += this.invoice.InvoiceTax == null ? "0" : this.invoice.InvoiceTax.Value.ToString(global::Helper.DateTimeParse.GetFormat(BL.V.SetDataFormat.XSZJXiao.Value));
            this.xrLabelTatol.Text += this.invoice.InvoiceTotal == null ? "0" : this.invoice.InvoiceTotal.Value.ToString(global::Helper.DateTimeParse.GetFormat(BL.V.SetDataFormat.XSZJXiao.Value));
        }
コード例 #2
0
ファイル: InvoiceXSManager.cs プロジェクト: daobataotie/EDERP
        private void Validate(Model.InvoiceXS invoice)
        {
            if (string.IsNullOrEmpty(invoice.InvoiceId))
            {
                throw new Helper.RequireValueException("Id");
            }

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

            if (invoice.Customer == null)
            {
                throw new Helper.RequireValueException("Company");
            }

            if (invoice.Depot == null)
            {
                throw new Helper.RequireValueException("Depot");
            }

            foreach (Model.InvoiceXSDetail detail in invoice.Details)
            {
                if (detail.DepotPositionId == null)
                {
                    throw new Helper.RequireValueException(Model.InvoiceXSDetail.PRO_DepotPositionId);
                }
                //if (detail.PrimaryKey == null || string.IsNullOrEmpty(detail.PrimaryKey.PrimaryKeyId)) continue;
                //if (detail.DepotPosition == null || string.IsNullOrEmpty(detail.DepotPositionId))
                //{
                //    throw new Helper.RequireValueException(Model.InvoiceXSDetail.PROPERTY_DEPOTPOSITIONID);
                //}
            }
        }
コード例 #3
0
ファイル: Q29.cs プロジェクト: daobataotie/EDERP
        private void xrSubreport1_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
        {
            Model.InvoiceXS invoicexs = this.GetCurrentRow() as Model.InvoiceXS;

            switch (invoicexs.Kind)
            {
            case "銷退":
                Q29_2 q29_2_1 = new Q29_2();
                this.xrSubreport1.ReportSource = q29_2_1;
                q29_2_1.Invoice = invoicexs;
                break;

            case "銷售":
                Q29_1 q29_1_1 = new Q29_1();
                this.xrSubreport1.ReportSource = q29_1_1;
                q29_1_1.Invoice = invoicexs;
                break;

            case "销售":
                Q29_1 q29_1_2 = new Q29_1();
                this.xrSubreport1.ReportSource = q29_1_2;
                q29_1_2.Invoice = invoicexs;
                break;

            case "销退":
                Q29_2 q29_2_2 = new Q29_2();
                this.xrSubreport1.ReportSource = q29_2_2;
                q29_2_2.Invoice = invoicexs;
                break;

            default:
                break;
            }
        }
コード例 #4
0
ファイル: InvoiceXSManager.cs プロジェクト: daobataotie/EDERP
 public void DeleteAtSummon(Model.InvoiceXS invoice)
 {
     Model.AtSummon atSummon = atSummonManager.GetByInvoiceXSId(invoice.InvoiceId);
     if (atSummon != null)
     {
         atSummonManager.Delete(atSummon);
     }
 }
コード例 #5
0
ファイル: InvoiceXSManager.cs プロジェクト: daobataotie/EDERP
 public Model.InvoiceXS GetDetails(string invoiceId)
 {
     Model.InvoiceXS invoice = accessor.Get(invoiceId);
     if (invoice != null)
     {
         invoice.Details = invoiceXSDetailAccessor.Select(invoice);
     }
     return(invoice);
 }
コード例 #6
0
 public ViewForm(Model.InvoiceXS initInvoicexs)
     : this()
 {
     if (initInvoicexs == null)
     {
         throw new ArgumentNullException();
     }
     this.invoice = initInvoicexs;
 }
コード例 #7
0
        protected override Form GetViewForm()
        {
            Model.InvoiceXS invoice = this.SelectedItem as Model.InvoiceXS;
            if (invoice != null)
            {
                return(new EditForm(invoice.InvoiceId));
            }

            return(null);
        }
コード例 #8
0
 protected override void LoadData()
 {
     this.bsHeader.DataSource = this._mInvoiceXSManager.SelectDateRangAndWhere(null, null, this.dateEditStart.DateTime, this.dateEditEnd.DateTime, global::Helper.DateTimeParse.NullDate, global::Helper.DateTimeParse.EndDate, "", null, null, null, null, null);
     if (this.bsHeader.Current != null)
     {
         Model.InvoiceXS xs = this.bsHeader.Current as Model.InvoiceXS;
         IList <Model.InvoiceXSDetail> xsd = this._mInvoiceXSDetailManager.Select(xs);
         (this.bsHeader.Current as Model.InvoiceXS).Details = xsd;
         this.bindingSource1.DataSource = (this.bsHeader.Current as Model.InvoiceXS).Details;
     }
 }
コード例 #9
0
 private void bsHeader_CurrentChanged(object sender, EventArgs e)
 {
     if (this.bsHeader.Current != null)
     {
         if ((this.bsHeader.Current as Model.InvoiceXS).Details.Count == 0)
         {
             Model.InvoiceXS ixs = this.bsHeader.Current as Model.InvoiceXS;
             IList <Model.InvoiceXSDetail> ixsd = this._mInvoiceXSDetailManager.Select(ixs);
             (this.bsHeader.Current as Model.InvoiceXS).Details = ixsd;
         }
         //this.SelectAll((this.bsHeader.Current as Model.InvoiceXS).Details);
         this.bindingSource1.DataSource = (this.bsHeader.Current as Model.InvoiceXS).Details;
     }
 }
コード例 #10
0
ファイル: XSDetailForm.cs プロジェクト: daobataotie/EDNew
        private void listBoxControlXSID_DoubleClick(object sender, EventArgs e)
        {
            Model.InvoiceXS invoicexs = this.bindingSourceXSID.Current as Model.InvoiceXS;
            if (invoicexs == null)
            {
                return;
            }
            EditForm f = new EditForm(invoicexs.InvoiceId);

            if (f.ShowDialog(this) != DialogResult.OK)
            {
                return;
            }
        }
コード例 #11
0
        public RO4(string invoiceid)
        {
            InitializeComponent();
            this.invoice = this.InvoiceXSManager.Get(invoiceid);
            if (invoice == null)
            {
                return;
            }
            this.invoice.Details = this.InvoiceXSDetailManager.Select(this.invoice);
            this.DataSource      = this.invoice.Details;
            //CompanyInfo
            //  this.xrLabelCompanyInfoName.Text = BL.Settings.CompanyChineseName + Properties.Resources.InvoiceXS;
            // this.xrLabelTel.Text = BL.Settings.CompanyPhone;
            // this.xrLabelFax.Text = BL.Settings.CompanyFax;
            //客户信息
            this.xrLabelxsid.Text       = this.invoice.InvoiceId;
            this.xrLabelCustomName.Text = this.invoice.Customer.CustomerShortName;
            // this.xrLabelCustomFax.Text = this.invoice.Customer.CustomerFax;
            this.xrLabelCustomTel.Text         = string.IsNullOrEmpty(this.invoice.Customer.CustomerPhone) ? this.invoice.Customer.CustomerPhone1 : this.invoice.Customer.CustomerPhone;
            this.xrLabelTongYiNo.Text          = this.invoice.Customer.CustomerNumber;
            this.xrLabelSongHuoAddress.Text    = this.invoice.Customer.CustomerJinChuAddress;
            this.xrLabelTAX.Text               = Convert.ToInt32(this.invoice.InvoiceXO.InvoiceTax).ToString();
            this.xrLabelNote.Text              = this.invoice.InvoiceNote;
            this.xrLabelNo.Text                = Convert.ToInt32(this.invoice.InvoiceXO.InvoiceReceiveable).ToString();
            this.xrLabelYiShou.Text            = (Convert.ToInt32(this.invoice.InvoiceXO.InvoiceTotal) - Convert.ToInt32(this.invoice.InvoiceXO.InvoiceReceiveable)).ToString();
            this.xrLabelCustomerInvoiceId.Text = this.invoice.InvoiceXO.CustomerInvoiceXOId;
            this.xrLabelZherang.Text           = Convert.ToInt32(this.invoice.InvoiceXO.InvoiceDiscount).ToString();
            // this.xrLabelHeji.Text =Convert.ToInt32( this.invoice.InvoiceXO.InvoiceHeji).ToString();
            //单据信息
            this.xrLabelInvoiceDate.Text = this.invoice.InvoiceDate.Value.ToString("yyyy-MM-dd");
            //this.xrLabelInvoiceId.Text = this.invoice.InvoiceId;
            this.xrLabelYeWuName.Text = this.invoice.Employee0.EmployeeName;
            this.xrLabelNote.Text     = this.invoice.InvoiceNote;
            //明细信息
            ////this.xrTableCellCustomerProductId.DataBindings.Add("Text", this.DataSource, "PrimaryKey." + Model.CustomerProducts.PROPERTY_CUSTOMERPRODUCTID);
            ////this.xrTableCellCustomerProductName.DataBindings.Add("Text", this.DataSource, "PrimaryKey." + Model.CustomerProducts.PROPERTY_CUSTOMERPRODUCTNAME);

            this.xrTableCellCustomerProductId.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_Id);
            this.xrTableCellCustomerProductName.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_ProductName);


            // this.xrTableCellProductGuige.DataBindings.Add("Text", this.DataSource, "PrimaryKey.Product." + Model.Product.PRO_ProductSpecification);
            this.xrTableCellProductUnit.DataBindings.Add("Text", this.DataSource, Model.InvoiceXSDetail.PRO_InvoiceProductUnit);
            this.xrTableCellQuantity.DataBindings.Add("Text", this.DataSource, Model.InvoiceXSDetail.PRO_InvoiceXSDetailQuantity);
            //  this.xrTableCellProductId.DataBindings.Add("Text", this.DataSource, "PrimaryKey.Product." + Model.Product.PRO_Id);
            this.xrTableCellPrice.DataBindings.Add("Text", this.DataSource, "InvoiceXODetail.InvoiceXODetailPrice", "{0:c0}");
            this.xrTablebeizhu.DataBindings.Add("Text", this.DataSource, "InvoiceXODetail.InvoiceXODetailNote");
            this.xrTableCellxiaoji.DataBindings.Add("Text", this.DataSource, "xiaoji");
        }
コード例 #12
0
 private void gridView3_RowCountChanged(object sender, EventArgs e)
 {
     if (this.gridView3.RowCount < 1)
     {
         this.bindingSource1.DataSource = null;
         this.gridControl3.RefreshDataSource();
     }
     else if (this.bsHeader.Current != null)
     {
         Model.InvoiceXS xs = this.bsHeader.Current as Model.InvoiceXS;
         IList <Model.InvoiceXSDetail> xsd = this._mInvoiceXSDetailManager.Select(xs);
         (this.bsHeader.Current as Model.InvoiceXS).Details = xsd;
         this.bindingSource1.DataSource = (this.bsHeader.Current as Model.InvoiceXS).Details;
     }
 }
コード例 #13
0
ファイル: XSDetailForm.cs プロジェクト: daobataotie/EDNew
 private void bindingSourceXSID_CurrentChanged(object sender, EventArgs e)
 {
     Model.InvoiceXS invoicexs = this.bindingSourceXSID.Current as Model.InvoiceXS;
     if (invoicexs == null)
     {
         return;
     }
     this.dateEditInvoiceDate.Text         = invoicexs.InvoiceDate.ToString();
     this.textEditEmployee0.Text           = invoicexs.Employee0.EmployeeName;
     this.textEditDepot.Text               = invoicexs.Depot.DepotName;
     this.textEditInvoiceId.Text           = invoicexo.InvoiceId;
     this.textEditCustomerInvoiceXOID.Text = invoicexo.CustomerInvoiceXOId;
     this.textEditCustomer.Text            = invoicexs.Customer.CustomerShortName;
     this.bindingSourceXSList.DataSource   = this.xsDetailManager.Select(invoicexs);
 }
コード例 #14
0
 private void btnSearch_Click(object sender, EventArgs e)
 {
     this.RecordSelected();
     this.bsHeader.DataSource = this._mInvoiceXSManager.SelectDateRangAndWhere(this.nccChuHuoCustomer.EditValue as Model.Customer, this.nccChuHuoCustomer.EditValue as Model.Customer, this.dateEditStart.DateTime, this.dateEditEnd.DateTime, global::Helper.DateTimeParse.NullDate, global::Helper.DateTimeParse.EndDate, null, null, null, null, null, null, null, null, null, null, null);
     if (this.bsHeader.Current != null)
     {
         Model.InvoiceXS xs = this.bsHeader.Current as Model.InvoiceXS;
         IList <Model.InvoiceXSDetail> xsd = this._mInvoiceXSDetailManager.Select(xs);
         (this.bsHeader.Current as Model.InvoiceXS).Details = xsd;
         this.bindingSource1.DataSource = (this.bsHeader.Current as Model.InvoiceXS).Details;
     }
     else
     {
         this.bindingSource1.DataSource = null;
     }
 }
コード例 #15
0
        public IList <Model.InvoiceXSDetail> Select(Model.InvoiceXS invoiceXS, string productStart, string productEnd)
        {
            IList <Book.Model.InvoiceXSDetail> invoicexs = null;
            Hashtable ht = new Hashtable();

            ht.Add("invoiceId", invoiceXS.InvoiceId);
            ht.Add("productStart", productStart);
            ht.Add("productEnd", productEnd);

            if (string.IsNullOrEmpty(productEnd))
            {
                invoicexs = sqlmapper.QueryForList <Book.Model.InvoiceXSDetail>("InvoiceXSDetail.selectByProductIdQuJianEndNULL", ht);
            }
            else
            {
                invoicexs = sqlmapper.QueryForList <Model.InvoiceXSDetail>("InvoiceXSDetail.selectByProductIdQuJian", ht);
            }
            return(invoicexs);
        }
コード例 #16
0
 //更改查询条件
 private void btnChangeSearch_Click(object sender, EventArgs e)
 {
     this.RecordSelected();
     Query.ConditionXChooseForm f = new Query.ConditionXChooseForm();
     if (f.ShowDialog(this) == DialogResult.OK)
     {
         Query.ConditionX con = f.Condition as Query.ConditionX;
         this.bsHeader.DataSource = this._mInvoiceXSManager.SelectDateRangAndWhere(con.Customer1, con.Customer2, con.StartDate, con.EndDate, con.Yjri1, con.Yjri2, con.CusXOId, con.Product, con.Product2, con.XOId1, con.XOId2, con.FreightedCompanyId, con.ConveyanceMethodId, con.Employee1, con.Employee2, con.Product_Id, con.ProductCategoryId);
         if (this.bsHeader.Current != null)
         {
             Model.InvoiceXS xs = this.bsHeader.Current as Model.InvoiceXS;
             IList <Model.InvoiceXSDetail> xsd = this._mInvoiceXSDetailManager.Select(xs);
             (this.bsHeader.Current as Model.InvoiceXS).Details = xsd;
             this.bindingSource1.DataSource = (this.bsHeader.Current as Model.InvoiceXS).Details;
         }
     }
     f.Dispose();
     GC.Collect();
 }
コード例 #17
0
ファイル: InvoiceXSManager.cs プロジェクト: daobataotie/EDERP
 public Model.InvoiceXS GetNext(Model.InvoiceXS e)
 {
     return(accessor.GetNext(e));
 }
コード例 #18
0
 public IList <Model.InvoiceXSDetail> Selectbyinvoiceidfz(Model.InvoiceXS inovicexs)
 {
     return(sqlmapper.QueryForList <Model.InvoiceXSDetail>("InvoiceXSDetail.selectbyinvoiceidfz", inovicexs.InvoiceId));
 }
コード例 #19
0
 public void Update(Model.InvoiceXS e)
 {
     this.Update <Model.InvoiceXS>(e);
 }
コード例 #20
0
 public bool HasRowsBefore(Model.InvoiceXS e)
 {
     return(sqlmapper.QueryForObject <bool>("InvoiceXS.has_rows_before", e));
 }
コード例 #21
0
ファイル: InvoiceXSManager.cs プロジェクト: daobataotie/EDERP
        public void UpdateAtSummon(Model.InvoiceXS invoice, Dictionary <string, string> dic)
        {
            Model.AtSummon atSummon = atSummonManager.GetByInvoiceXSId(invoice.InvoiceId);
            if (atSummon != null)
            {
                atSummon.UpdateTime = DateTime.Now;

                atSummon.Details = atSummonDetailManager.Select(atSummon);

                foreach (var item in atSummon.Details)
                {
                    if (dic.Values.Contains(item.SubjectId))
                    {
                        if (item.Lending == "貸")
                        {
                            if (item.Subject.SubjectName == "銷貨收入")
                            {
                                if (item.AMoney != invoice.InvoiceHeji)
                                {
                                    item.AMoney     = invoice.InvoiceHeji;
                                    item.UpdateTime = DateTime.Now;

                                    atSummonDetailManager.Update(item);
                                }
                            }
                            else       //銷項稅額
                            {
                                if (invoice.InvoiceTax > 0)
                                {
                                    if (item.AMoney != invoice.InvoiceTax)
                                    {
                                        item.AMoney     = invoice.InvoiceTax;
                                        item.UpdateTime = DateTime.Now;

                                        atSummonDetailManager.Update(item);
                                    }
                                }
                                else
                                {
                                    atSummonDetailManager.Delete(item.SummonDetailId);
                                }
                            }
                        }
                        else          //應收賬款-客戶
                        {
                            if (item.AMoney != invoice.InvoiceTotal)
                            {
                                item.AMoney     = invoice.InvoiceTotal;
                                item.UpdateTime = DateTime.Now;

                                atSummonDetailManager.Update(item);
                            }
                        }
                    }
                }

                if (invoice.InvoiceTax > 0 && atSummon.Details.Count == 2 && !atSummon.Details.Any(d => d.Subject.SubjectName == "銷項稅額"))
                {
                    Model.AtSummonDetail detail3 = new Model.AtSummonDetail();
                    detail3.SummonId       = atSummon.SummonId;
                    detail3.SummonDetailId = Guid.NewGuid().ToString();
                    detail3.SummonCatetory = atSummon.SummonCategory;
                    detail3.Lending        = "貸";
                    detail3.Id             = "B2";
                    detail3.AMoney         = invoice.InvoiceTax;
                    detail3.SubjectId      = dic["銷項稅額"];
                    detail3.InsertTime     = DateTime.Now;
                    detail3.UpdateTime     = DateTime.Now;
                    atSummon.Details.Add(detail3);

                    atSummonDetailManager.Insert(detail3);
                }

                atSummon.TotalDebits = atSummon.Details.Where(d => d.Lending == "借").Sum(d => d.AMoney);
                atSummon.CreditTotal = atSummon.Details.Where(d => d.Lending == "貸").Sum(d => d.AMoney);

                atSummonAccessor.Update(atSummon);
            }
        }
コード例 #22
0
ファイル: InvoiceXSManager.cs プロジェクト: daobataotie/EDERP
        public void InsertAtSummon(Model.InvoiceXS invoice, Dictionary <string, string> dic)
        {
            Model.AtSummon atSummon = new Book.Model.AtSummon();
            atSummon.SummonId       = Guid.NewGuid().ToString();
            atSummon.SummonDate     = DateTime.Now;
            atSummon.SummonCategory = "轉帳傳票";
            atSummon.InsertTime     = DateTime.Now;
            atSummon.UpdateTime     = DateTime.Now;
            //atSummon.Id = this.atSummonManager.GetId();
            atSummon.Id          = this.atSummonManager.GetConsecutiveId(DateTime.Now);
            atSummon.InvoiceXSId = invoice.InvoiceId;

            atSummon.Details = new List <Model.AtSummonDetail>();

            Model.AtSummonDetail detail1 = new Model.AtSummonDetail();
            detail1.SummonDetailId = Guid.NewGuid().ToString();
            detail1.SummonCatetory = atSummon.SummonCategory;
            detail1.Lending        = "借";
            detail1.AMoney         = invoice.InvoiceTotal;
            detail1.SubjectId      = dic[string.Format("應收帳款-{0}", invoice.Customer.CustomerShortName)];
            detail1.InsertTime     = DateTime.Now;
            detail1.UpdateTime     = DateTime.Now;
            atSummon.Details.Add(detail1);

            Model.AtSummonDetail detail2 = new Model.AtSummonDetail();
            detail2.SummonDetailId = Guid.NewGuid().ToString();
            detail2.SummonCatetory = atSummon.SummonCategory;
            detail2.Lending        = "貸";
            detail2.AMoney         = invoice.InvoiceHeji;
            detail2.SubjectId      = dic["銷貨收入"];
            detail2.InsertTime     = DateTime.Now;
            detail2.UpdateTime     = DateTime.Now;
            atSummon.Details.Add(detail2);

            if (invoice.InvoiceTax > 0)
            {
                Model.AtSummonDetail detail3 = new Model.AtSummonDetail();
                detail3.SummonDetailId = Guid.NewGuid().ToString();
                detail3.SummonCatetory = atSummon.SummonCategory;
                detail3.Lending        = "貸";
                detail3.AMoney         = invoice.InvoiceTax;
                detail3.SubjectId      = dic["銷項稅額"];
                detail3.InsertTime     = DateTime.Now;
                detail3.UpdateTime     = DateTime.Now;
                atSummon.Details.Add(detail3);
            }


            foreach (var item in atSummon.Details)
            {
                if (item.Lending == "借")
                {
                    item.Id = "A" + atSummon.Details.IndexOf(item);
                }
                else
                {
                    item.Id = "B" + atSummon.Details.IndexOf(item);
                }
            }

            atSummonManager.TiGuiExists(atSummon);

            //插入
            string invoiceKind   = "ats";
            string sequencekey_y = string.Format("{0}-y-{1}", invoiceKind, atSummon.SummonDate.Value.Year);
            string sequencekey_m = string.Format("{0}-m-{1}-{2}", invoiceKind, atSummon.SummonDate.Value.Year, atSummon.SummonDate.Value.Month);
            string sequencekey_d = string.Format("{0}-d-{1}", invoiceKind, atSummon.SummonDate.Value.ToString("yyyy-MM-dd"));
            string sequencekey   = string.Format(invoiceKind);

            SequenceManager.Increment(sequencekey_y);
            SequenceManager.Increment(sequencekey_m);
            SequenceManager.Increment(sequencekey_d);
            SequenceManager.Increment(sequencekey);

            atSummon.TotalDebits = atSummon.Details.Where(d => d.Lending == "借").Sum(d => d.AMoney);
            atSummon.CreditTotal = atSummon.Details.Where(d => d.Lending == "貸").Sum(d => d.AMoney);

            atSummonAccessor.Insert(atSummon);

            foreach (Model.AtSummonDetail atSummonDetail in atSummon.Details)
            {
                atSummonDetail.SummonId = atSummon.SummonId;
                atSummonDetailManager.Insert(atSummonDetail);
            }
        }
コード例 #23
0
 public bool HasRowsAfter(Model.InvoiceXS e)
 {
     return(sqlmapper.QueryForObject <bool>("InvoiceXS.has_rows_after", e));
 }
コード例 #24
0
ファイル: InvoiceXSManager.cs プロジェクト: daobataotie/EDERP
        private void _Update(Model.InvoiceXS invoice)
        {
            _ValidateForUpdate(invoice);
            invoice.UpdateTime  = DateTime.Now;
            invoice.CustomerId  = invoice.Customer.CustomerId;
            invoice.DepotId     = invoice.Depot.DepotId;
            invoice.Employee0Id = invoice.Employee0.EmployeeId;
            invoice.Employee1Id = invoice.Employee1 == null ? null : invoice.Employee1.EmployeeId;
            invoice.Employee2Id = invoice.Employee2 == null ? null : invoice.Employee2.EmployeeId;
            Model.InvoiceXS invoiceOriginal = this.Get(invoice.InvoiceId);
            switch ((Helper.InvoiceStatus)invoiceOriginal.InvoiceStatus)
            {
            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:

                    foreach (Model.InvoiceXSDetail detail in invoice.Details)
                    {
                        Model.InvoiceXODetail xodetail = invoiceXODetailAccessor.Get(detail.InvoiceXODetailId);
                        if (xodetail != null)
                        {
                            xodetail.InvoiceXODetailBeenQuantity = Convert.ToDouble(xodetail.InvoiceXODetailBeenQuantity) - detail.InvoiceXSDetailQuantity;
                            if (!xodetail.InvoiceXTDetailQuantity.HasValue)
                            {
                                xodetail.InvoiceXTDetailQuantity = 0;
                            }
                            xodetail.InvoiceXODetailQuantity0 = xodetail.InvoiceXODetailQuantity - xodetail.InvoiceXODetailBeenQuantity + xodetail.InvoiceXTDetailQuantity;
                            if (xodetail.InvoiceXODetailQuantity0 < 0)
                            {
                                xodetail.InvoiceXODetailQuantity0 = 0;
                            }

                            if (xodetail.InvoiceXODetailQuantity0 == 0)
                            {
                                xodetail.DetailsFlag = 2;
                            }
                            else if (xodetail.InvoiceXODetailQuantity0 == xodetail.InvoiceXODetailQuantity)
                            {
                                xodetail.DetailsFlag = 0;
                            }
                            else
                            {
                                xodetail.DetailsFlag = 1;
                            }

                            invoiceXODetailAccessor.Update(xodetail);
                            invoiceXOManager.UpdateInvoiceFlag(xodetail.Invoice);
                        }
                        if (detail.DepotPosition != null)
                        {
                            stockAccessor.Increment(detail.DepotPosition, detail.Product, detail.InvoiceXSDetailQuantity.Value);
                            //更新产品库存

                            this.productManager.UpdateProduct_Stock(detail.Product);
                        }
                        //临时注销客户产品
                        //Model.CustomerProducts p = detail.PrimaryKey;
                        //p.PrimaryKeyId = detail.PrimaryKey.PrimaryKeyId;
                        //if (p.DepotQuantity == null)
                        //    p.DepotQuantity = 0;
                        //if (p.OrderQuantity == null)
                        //    p.OrderQuantity = 0;
                        //p.DepotQuantity -= detail.InvoiceXSDetailQuantity;
                        //p.OrderQuantity += detail.InvoiceXSDetailQuantity;
                        //customerProductsAccessor.Update(p);
                    }
                    if (invoice.InvoiceXO != null)
                    {
                        this.invoiceXOManager.UpdateInvoiceFlag(invoice.InvoiceXO);
                    }
                    break;
                }
                break;
            }
        }
コード例 #25
0
ファイル: InvoiceXSManager.cs プロジェクト: daobataotie/EDERP
        private void _Insert(Model.InvoiceXS invoice)
        {
            invoice.DepotId     = invoice.Depot.DepotId;
            invoice.Employee0Id = invoice.Employee0.EmployeeId;
            invoice.Employee1Id = invoice.Employee1 == null ? null : invoice.Employee1.EmployeeId;
            invoice.Employee2Id = invoice.Employee2 == null ? null : invoice.Employee2.EmployeeId;
            accessor.Insert(invoice);
            foreach (Model.InvoiceXSDetail detail in invoice.Details)
            {
                //  if (detail.PrimaryKey == null || string.IsNullOrEmpty(detail.PrimaryKey.PrimaryKeyId)) continue;
                if (detail.Product == null || string.IsNullOrEmpty(detail.Product.ProductId))
                {
                    continue;
                }
                Model.Stock stock = stockAccessor.GetStockByProductIdAndDepotPositionId(detail.ProductId, detail.DepotPositionId);
                if (stock == null || Convert.ToDecimal(stock.StockQuantity1) < Convert.ToDecimal(detail.InvoiceXSDetailQuantity))
                {
                    throw new Helper.MessageValueException("" + detail.Product + "\r出貨數量不能大於貨位庫存");
                }

                detail.InvoiceId = invoice.InvoiceId;
                invoiceXSDetailAccessor.Insert(detail);
                Model.InvoiceXODetail xodetail = invoiceXODetailAccessor.Get(detail.InvoiceXODetailId);
                if (xodetail != null)
                {
                    if (detail.InvoiceXSDetailQuantity >= xodetail.InvoiceXODetailQuantity0)
                    {
                        xodetail.DetailsFlag = (int)Helper.DetailsFlag.AllArrived;
                    }
                    else
                    {
                        xodetail.DetailsFlag = (int)Helper.DetailsFlag.PartArrived;
                    }


                    if (!xodetail.InvoiceXODetailBeenQuantity.HasValue)
                    {
                        xodetail.InvoiceXODetailBeenQuantity = 0;
                    }
                    if (!xodetail.InvoiceXTDetailQuantity.HasValue)
                    {
                        xodetail.InvoiceXTDetailQuantity = 0;
                    }
                    xodetail.InvoiceXODetailBeenQuantity += detail.InvoiceXSDetailQuantity;
                    xodetail.InvoiceXODetailQuantity0     = xodetail.InvoiceXODetailQuantity - xodetail.InvoiceXODetailBeenQuantity + xodetail.InvoiceXTDetailQuantity;
                    if (xodetail.InvoiceXODetailQuantity0 < 0)
                    {
                        xodetail.InvoiceXODetailQuantity0 = 0;
                    }
                    invoiceXODetailAccessor.Update(xodetail);
                    //改变客户订单和生产加工单的结案状态
                    invoiceXOManager.UpdateInvoiceFlag(xodetail.Invoice);
                }

                //更新产品表库存
                // customerProductsAccessor.Update(p);
                //更新销售订单出货量和未出货量
                //单位转化过程
                //1
                //2
                //3

                if (detail.DepotPosition != null)
                {
                    // 更新库存
                    stockAccessor.Decrement(detail.DepotPosition, detail.Product, detail.InvoiceXSDetailQuantity.Value);
                    //更新产品库存
                    //this.productManager.UpdateProduct_Stock(detail.Product);
                    detail.Product.StocksQuantity    = stockAccessor.GetTheCountByProduct(detail.Product);
                    detail.Product.ProductNearXSDate = DateTime.Now;
                    this.productManager.update(detail.Product);
                }
            }



            //客户最近交易日
            invoice.Customer.LastTransactionDate = DateTime.Now;
            customerAccessor.Update(invoice.Customer);
        }
コード例 #26
0
ファイル: InvoiceXSManager.cs プロジェクト: daobataotie/EDERP
 private void _TurnNormal(Model.InvoiceXS invoice)
 {
     invoice.InvoiceStatus = (int)Helper.InvoiceStatus.Normal;
     _Update(invoice);
 }
コード例 #27
0
 public Model.InvoiceXS GetNext(Model.InvoiceXS e)
 {
     return(sqlmapper.QueryForObject <Model.InvoiceXS>("InvoiceXS.get_next", e));
 }
コード例 #28
0
ファイル: InvoiceXSManager.cs プロジェクト: daobataotie/EDERP
 public bool HasRowsBefore(Model.InvoiceXS e)
 {
     return(accessor.HasRowsBefore(e));
 }
コード例 #29
0
ファイル: InvoiceXSManager.cs プロジェクト: daobataotie/EDERP
 public bool HasRowsAfter(Model.InvoiceXS e)
 {
     return(accessor.HasRowsAfter(e));
 }
コード例 #30
0
ファイル: InvoiceXSManager.cs プロジェクト: daobataotie/EDERP
 public Model.InvoiceXS GetPrev(Model.InvoiceXS e)
 {
     return(accessor.GetPrev(e));
 }