public void Insert(Model.ProduceMaterial produceMaterial)
        {
            //
            // todo:add other logic here
            //
            Validate(produceMaterial);
            try
            {
                BL.V.BeginTransaction();
                produceMaterial.InsertTime = produceMaterial.InsertTime == null ? DateTime.Now : produceMaterial.InsertTime;
                produceMaterial.UpdateTime = DateTime.Now;
                TiGuiExists(produceMaterial);
                string invoiceKind   = this.GetInvoiceKind().ToLower();
                string sequencekey_y = string.Format("{0}-y-{1}", invoiceKind, produceMaterial.InsertTime.Value.Year);
                string sequencekey_m = string.Format("{0}-m-{1}-{2}", invoiceKind, produceMaterial.InsertTime.Value.Year, produceMaterial.InsertTime.Value.Month);
                string sequencekey_d = string.Format("{0}-d-{1}", invoiceKind, produceMaterial.InsertTime.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);
                accessor.Insert(produceMaterial);
                foreach (Model.ProduceMaterialdetails produceMaterialdetails in produceMaterial.Details)
                {
                    if (produceMaterialdetails.Product == null || string.IsNullOrEmpty(produceMaterialdetails.Product.ProductId))
                    {
                        throw new Exception("Product can not be empty");
                    }
                    produceMaterialdetails.ProduceMaterialID = produceMaterial.ProduceMaterialID;

                    Model.Product product = productManager.Get(produceMaterialdetails.ProductId);
                    //已分配
                    produceMaterialdetails.Distributioned = (product.OtherMaterialDistributioned == null ? 0 : product.OtherMaterialDistributioned) + (product.ProduceMaterialDistributioned == null ? 0 : product.ProduceMaterialDistributioned) + Convert.ToDouble(produceMaterialdetails.Materialprocessum);

                    // produceMaterialdetails.Materialprocesedsum = produceMaterialdetails.Materialprocessum + produceMaterialdetails.Materialprocessum;
                    ProduceMaterialdetailsAccessor.Insert(produceMaterialdetails);
                    product.ProduceMaterialDistributioned = (product.ProduceMaterialDistributioned == null ? 0 : product.ProduceMaterialDistributioned) + (produceMaterialdetails.Materialprocessum == null ? 0 : produceMaterialdetails.Materialprocessum);
                    productManager.update(product);

                    //物料需求领料描述
                    Model.MRSdetails mrsdetail;
                    if (produceMaterialdetails.MRSdetailsId != null)
                    {
                        mrsdetail = new BL.MRSdetailsManager().Get(produceMaterialdetails.MRSdetailsId);
                        if (mrsdetail != null)
                        {
                            mrsdetail.MaterialDesc = "Generated material requisition";
                            new BL.MRSdetailsManager().Update(mrsdetail);
                        }
                    }
                }
                BL.V.CommitTransaction();
            }
            catch
            {
                BL.V.RollbackTransaction();
                throw;
            }
        }
        public void Delete(string pronoteHeaderID)
        {
            try
            {
                // BL.V.BeginTransaction();
                Model.PronoteHeader pronoteHeader = accessor.Get(pronoteHeaderID);
                if (pronoteHeader != null)
                {
                    Model.MRSdetails mrsDal = new BL.MRSdetailsManager().Get(pronoteHeader.MRSdetailsId);
                    if (mrsDal != null)
                    {
                        mrsDal.MRSHasSingleSum = mrsDal.MRSHasSingleSum - pronoteHeader.DetailsSum;
                        if (mrsDal.MRSHasSingleSum >= mrsDal.MRSdetailssum)
                        {
                            mrsDal.DetailsFlag = 2;
                        }
                        else
                        {
                            if (mrsDal.MRSHasSingleSum > 0)
                            {
                                mrsDal.DetailsFlag = 1;
                            }
                            else
                            {
                                mrsDal.DetailsFlag = 0;
                            }
                        }
                        //修改派单描述
                        if (mrsDal.DetailsFlag != 2)
                        {
                            mrsDal.ArrangeDesc = string.Empty;
                        }
                        new BL.MRSdetailsManager().Update(mrsDal);
                        UpdateMRSHeaderFlag(mrsDal.MRSHeader);
                    }
                }
                //
                // todo:add other logic here
                //
                accessor.Delete(pronoteHeaderID);

                // BL.V.CommitTransaction();
            }
            catch
            {
                // BL.V.RollbackTransaction();
                throw;
            }
        }
示例#3
0
        public RO(string produceMaterialID)
        {
            InitializeComponent();
            this.produceMaterial = this.produceMaterialManager.Get(produceMaterialID);
            if (this.produceMaterial == null)
            {
                return;
            }
            if (this.produceMaterial.SourceType != 1)
            {
                Model.PronoteHeader pheader = ph.Get(produceMaterial.InvoiceId);
                if (pheader != null)
                {
                    this.xrLabelProduct.Text = string.IsNullOrEmpty(pheader.Product.CustomerProductName) ? pheader.Product.ProductName : pheader.Product.ProductName + "{" + pheader.Product.CustomerProductName + "}";
                }
            }
            this.produceMaterial.Details = this.produceMaterialdetailsManager.Select(this.produceMaterial);
            this.DataSource = this.produceMaterial.Details;
            //CompanyInfo
            this.xrLabelCompanyInfoName.Text = BL.Settings.CompanyChineseName;
            this.xrLabelDataName.Text        = Properties.Resources.ProduceMaterialdetails;
            //加工领料
            this.xrLabelProduceMaterialDate.Text = this.produceMaterial.ProduceMaterialDate.Value.ToString("yyyy-MM-dd");
            this.xrBarCodeProduceMaterialID.Text = this.produceMaterial.ProduceMaterialID;
            this.xrLabelInsertTime.Text          = DateTime.Now.ToString("yyyy-MM-dd");
            //if (this.produceMaterial.SourceType == 1)
            //{
            //    this.xrLabelSourceType.Text = "需求計劃";
            //}
            //else { this.xrLabelSourceType.Text = "生產加工"; }
            //this.xrLabelPronoteHeaderID.Text = this.produceMaterial.InvoiceId;
            // this.xrLabelMRP.Text=this.produceMaterial.


            //if (this.produceMaterial.Employee1 != null)
            //{
            //    this.xrLabelEmployee1.Text = this.produceMaterial.Employee1.EmployeeName;
            //}
            if (this.produceMaterial.Employee0 != null)
            {
                this.xrLabelEmployee0.Text = this.produceMaterial.Employee0.EmployeeName;
            }

            if (this.produceMaterial.Employee2 != null)
            {
                this.xrLabelEmployee2.Text = this.produceMaterial.Employee2.EmployeeName;
            }

            if (this.produceMaterial.WorkHouse != null)
            {
                this.xrLabelDepartment.Text = this.produceMaterial.WorkHouse.Workhousename;
            }
            this.xrLabel1ProduceMaterialdesc.Text = this.produceMaterial.ProduceMaterialdesc;
            this.xrLabelProduceMaterialId.Text    = this.produceMaterial.ProduceMaterialID;


            //if (this.produceMaterial.InvoiceXO != null)
            //{
            //    this.xrLabelXOId.Text = invoiceXoManager.Get(this.produceMaterial.InvoiceXO)==null?"":invoiceXoManager.Get(this.produceMaterial.InvoiceXO).CustomerInvoiceXOId;
            //}

            if (this.produceMaterial.SourceType != 1 && !string.IsNullOrEmpty(this.produceMaterial.InvoiceId))
            {
                Model.MRSdetails    mrsdetail     = new Book.Model.MRSdetails();
                Model.PronoteHeader pronoteHeader = new BL.PronoteHeaderManager().Get(this.produceMaterial.InvoiceId);
                if (pronoteHeader != null)
                {
                    mrsdetail = new BL.MRSdetailsManager().Get(pronoteHeader.MRSdetailsId);
                }
                Model.InvoiceXO invoiceXO = new BL.InvoiceXOManager().Get(produceMaterial.InvoiceXOId);
                if (invoiceXO != null)
                {
                    this.xrLabelPiHao.Text = invoiceXO.CustomerLotNumber;
                    foreach (Model.InvoiceXODetail detail in invoiceXO.Details)
                    {
                        if (mrsdetail != null && detail.ProductId == mrsdetail.MadeProductId)
                        {
                            this.xrLabelInvoiceSum.Text = detail.InvoiceXODetailQuantity.Value.ToString("F0");
                        }
                    }
                }
            }
            if (!string.IsNullOrEmpty(this.produceMaterial.InvoiceXOId))
            {
                Model.InvoiceXO invoiceXO = new BL.InvoiceXOManager().Get(produceMaterial.InvoiceXOId);
                if (invoiceXO != null)
                {
                    this.xrLabelXOId.Text = invoiceXO == null ? string.Empty : invoiceXO.CustomerInvoiceXOId;
                }
            }
            //明细

            this.xrTableCell5.DataBindings.Add("Text", this.DataSource, Model.ProduceMaterialdetails.PRO_Inumber);
            //this.xrTableCell1ProductId.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_Id);
            this.xrTableCellProductName.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_ProductName);

            this.xrTableCusProName.DataBindings.Add("Text", this.DataSource, Model.ProduceMaterialdetails.PRO_Pihao);//后来改批号

            this.xrTableCellQuantity.DataBindings.Add("Text", this.DataSource, Model.ProduceMaterialdetails.PRO_Materialprocessum);

            //this.xrTableHasOutDepot.DataBindings.Add("Text", this.DataSource, Model.ProduceMaterialdetails.PRO_Distributioned, "{0:0.####}");
            // this.xrTableMPSSum.DataBindings.Add("Text", this.DataSource, Model.ProduceMaterialdetails.PRO_MPSDetailsSum, "{0:0.####}");
            this.xrTableCellUnit.DataBindings.Add("Text", this.DataSource, "ProductUnit");
            //this.xrTableCellProductSpecification.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_StocksQuantity, "{0:0.####}");
            this.TCDepotStock.DataBindings.Add("Text", this.DataSource, Model.ProduceMaterialdetails.PRO_Pihao);
            // this.xrTableMRP.DataBindings.Add("Text", this.DataSource, Model.ProduceMaterialdetails.PRO_MRSHeaderId);
            // this.xrTableCusXOID.DataBindings.Add("Text", this.DataSource,  Model.ProduceMaterialdetails.PRO_CustomerInvoiceXOId);
            this.TCCustomerProduct.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_CustomerProductName);

            this.xrRichText1.DataBindings.Add("Rtf", this.DataSource, "ProductDescription");
            this.TCInvoiceId.DataBindings.Add("Text", this.DataSource, Model.ProduceMaterialdetails.PRO_InvoiceFrom);
            this.TCHandbookId.DataBindings.Add("Text", this.DataSource, Model.ProduceMaterialdetails.PRO_HandbookId);
            this.TCDepotStock.DataBindings.Add("Text", this.DataSource, Model.ProduceMaterialdetails.PRO_DepotStock);
            this.lblStockInvoiceId.DataBindings.Add("Text", this.DataSource, Model.ProduceMaterialdetails.PRO_StockInvoiceId);
        }