Exemplo n.º 1
0
        ///////////////////////////////// Custom Method /////////////////////////////////
        private void LoadPurchaseMenu()
        {
            PurchaseMain purchaseMain = new PurchaseMain();

            purchaseMain.TopLevel        = false;
            purchaseMain.AutoScroll      = true;
            purchaseMain.FormBorderStyle = FormBorderStyle.None;
            purchaseMain.Dock            = DockStyle.Fill;

            this.pnlDisplay.Controls.Clear();
            this.pnlDisplay.Controls.Add(purchaseMain);

            purchaseMain.Show();
        }
        private void SavePurchaseMain(PharmacyDbContext db, string invoiceId)
        {
            PurchaseMain main = new PurchaseMain();

            main.Id          = Guid.NewGuid().ToString();
            main.InvoiceId   = invoiceId;
            main.CreatedBy   = currentUser;
            main.CreatedDate = DateTime.Now;
            main.CompanyId   = CompanyFactory.GetCompanyId(txtSupplier.Text, currentUser);
            main.TotalAmount = Convert.ToDecimal(lblTotal.Text);
            main.Due         = Convert.ToDecimal(txtDue.Text);
            main.Paid        = Convert.ToDecimal(txtPaid.Text);
            main.Discount    = Convert.ToDecimal(txtDiscount.Text);
            main.GrandTotal  = (main.TotalAmount - main.Discount);
            main.Note        = txtNote.Text;
            db.PurchaseMain.Add(main);
            SaveVoucher(main.GrandTotal, main.Paid, main.Due, main.CompanyId, invoiceId, db);
            SavePurchaseSub(db, main.Id);
        }
Exemplo n.º 3
0
        public string AddPurchase(string[] arry)
        {
            lock (obj)
            {
                string msg = "";//错误信息
                if (arry == null || arry.Length == 0)
                {
                    return(msg = "传递参数为空");
                }

                using (IGenericTransaction tx = this.m_UnitOfWork.BeginTransaction())
                {
                    try
                    {
                        //创建采购子表
                        string       main_id = arry[0];
                        PurchaseMain mainobj = this.m_UnitOfWork.GetRepositoryBase <PurchaseMain>().Query().Where(m => (m.ID).ToString() == main_id).FirstOrDefault();
                        if (mainobj == null)
                        {
                            msg = "找不到编号为" + main_id + "的主表数据";
                            return(msg);
                        }

                        //判断数量
                        if (mainobj.Purchases == null || mainobj.Purchases.Count == 0)
                        {
                        }
                        else
                        {
                            decimal num = 0;
                            for (int i = 0; i < mainobj.Purchases.Count; i++)
                            {
                                num += mainobj.Purchases[i].Purchase_Num;
                            }
                            num += Convert.ToDecimal(arry[1]);
                            if (num > mainobj.Main_Num)
                            {
                                //数量超标了
                                msg = string.Format("采购计划数量{0},本次购买{1},超标{2}", mainobj.Main_Num, Convert.ToDecimal(arry[1]), num - mainobj.Main_Num);
                                return(msg);
                            }
                        }

                        Purchase purchase = new Purchase();
                        purchase.PurchaseMain = mainobj;
                        purchase.Purchase_Num = Convert.ToDecimal(arry[1]);
                        //purchase.Purchase_Num1 = Convert.ToDecimal(arry[18]);
                        purchase.Purchase_Price      = Convert.ToDecimal(arry[2]);
                        purchase.Purchase_Money      = Convert.ToDecimal(arry[3]);
                        purchase.Purchase_ManTel     = arry[4];
                        purchase.Purchase_Man        = arry[5];
                        purchase.Purchase_Date       = Convert.ToDateTime(arry[6]);
                        purchase.Purchase_StickMoney = Convert.ToDecimal(arry[7]);
                        purchase.Purchase_NoMoney    = Convert.ToDecimal(arry[8]);
                        purchase.Purchase_StickNo    = arry[9];
                        purchase.Purchase_State      = 0;//未完成
                        purchase.Remark    = "";
                        purchase.GoodsID   = mainobj.GoodsID;
                        purchase.GoodsName = mainobj.GoodsName;
                        purchase.Main_ID   = (int)mainobj.ID;
                        //purchase.Purchase_Num1 = 0.00m;
                        this.Add(purchase);


                        //创建合同表
                        PurchaseContract purchaseContract = new PurchaseContract();
                        purchaseContract.Purchase = purchase;
                        purchaseContract.PurchaseContract_Name      = arry[10];
                        purchaseContract.PurchaseContract_SupplyTel = arry[11];
                        purchaseContract.PurchaseContract_Supply    = arry[12];
                        purchaseContract.PurchaseContract_Price     = Convert.ToDecimal(arry[2]);
                        purchaseContract.PurchaseContract_Num       = Convert.ToDecimal(arry[1]);
                        purchaseContract.PurchaseContract_Money     = Convert.ToDecimal(arry[3]);
                        purchaseContract.PurchaseContract_One       = arry[13];
                        purchaseContract.PurchaseContract_Tow       = arry[14];
                        purchaseContract.PurchaseContract_Date      = Convert.ToDateTime(arry[15]);
                        purchaseContract.PurchaseContract_StartDate = Convert.ToDateTime(arry[16]);
                        purchaseContract.PurchaseContract_EndDate   = Convert.ToDateTime(arry[17]);
                        purchaseContract.GoodsID     = mainobj.GoodsID;
                        purchaseContract.GoodsName   = mainobj.GoodsName;
                        purchaseContract.Purchase_ID = (int)purchase.ID;
                        purchaseContract.PurchaseContract_SupplyTel1 = arry[18];
                        purchaseContract.PurchaseContract_Supply1    = arry[19];
                        purchaseContract.PurchaseContract_SupplyID   = arry[20];
                        if (ps == null)
                        {
                            ps = new PublicService();
                        }

                        ps.PurchaseConstract.Add(purchaseContract);

                        tx.Commit();
                    }
                    catch (Exception e)
                    {
                        tx.Rollback();
                        return(e.Message);
                    }
                }
                return(msg);
            }
        }
Exemplo n.º 4
0
        public string InGoods(string id, decimal num)
        {
            lock (obj)
            {
                using (IGenericTransaction tx = this.m_UnitOfWork.BeginTransaction())
                {
                    try
                    {
                        Purchase p = this.Get(Convert.ToInt32(id));
                        if (ps == null)
                        {
                            ps = new PublicService();
                        }

                        //数量累加
                        PurchaseMain pm = p.PurchaseMain;
                        if (pm == null)
                        {
                            tx.Rollback();
                            return("找不到PurchaseMain数据。");
                        }
                        pm.Main_num1 += num;
                        ps.PurchaseMain.Update(pm);

                        //修改数量

                        if (p == null)
                        {
                            return("找不到ID为" + id + "的信息");
                        }
                        if (p.Purchase_Num < p.Purchase_Num1 + num)
                        {
                            return("超过额定量");
                        }
                        if (p.Purchase_State == 1)
                        {
                            return("任务已经完成");
                        }
                        p.Purchase_Num1 += num;
                        if (p.Purchase_Num == p.Purchase_Num1)//满表示完成了
                        {
                            p.Purchase_State = 1;
                            if (p.PurchaseContracts != null)
                            {
                                //更新合同完成
                                p.PurchaseContracts[0].PurchaseContract_state = 1;
                                this.ps.PurchaseConstract.Update(p.PurchaseContracts[0]);
                            }
                        }
                        this.Update(p);

                        //入库存 AddByPurchase方法有写库存
                        //GoodsInfo ginfo = this.m_UnitOfWork.GetRepositoryBase<GoodsInfo>().Query().Where(m => m.ID == p.GoodsID).FirstOrDefault();
                        //if (ginfo == null)
                        //{
                        //    tx.Rollback();
                        //    return "找不到" + p.GoodsID + "的物资";
                        //}
                        //ginfo.ContentNum += num;
                        //this.ps.GoodsInfo.Update(ginfo);

                        //入库信息
                        GoodsIn gIn = new GoodsIn();
                        gIn.GoodsID       = p.GoodsID;
                        gIn.InNum         = num;
                        gIn.SupplyName    = p.PurchaseContracts[0].PurchaseContract_Supply;
                        gIn.InPrice       = p.Purchase_Price;
                        gIn.InTime        = DateTime.Now;
                        gIn.Operator      = AuthorizationService.CurrentUserID;
                        gIn.TransportName = p.PurchaseContracts[0].PurchaseContract_Supply1;
                        if (p.PurchaseContracts != null)
                        {
                            //添加合同
                            gIn.PurchaseContract_ID   = p.PurchaseContracts[0].ID;
                            gIn.PurchaseContract_Name = p.PurchaseContracts[0].PurchaseContract_Name;
                        }
                        this.ps.GoodsIn.AddByPurchase(gIn);

                        tx.Commit();
                        return("");
                    }
                    catch (Exception e)
                    {
                        tx.Rollback();
                        return(e.Message);
                    }
                }
            }
        }
Exemplo n.º 5
0
        public string UpdatePurchase(string[] arry)
        {
            lock (obj)
            {
                string msg = "";//错误信息
                if (arry == null || arry.Length == 0)
                {
                    return(msg = "传递参数为空");
                }

                using (IGenericTransaction tx = this.m_UnitOfWork.BeginTransaction())
                {
                    try
                    {
                        Purchase purchase = this.Get(Convert.ToInt32(arry[0]));
                        if (purchase == null)
                        {
                            msg = "找不到编号为" + arry[0] + "的子表数据";
                            return(msg);
                        }
                        //创建采购子表
                        if (purchase.PurchaseMain == null)
                        {
                            msg = "找不到主表数据";
                            return(msg);
                        }
                        PurchaseMain mainobj = purchase.PurchaseMain;

                        //判断数量
                        if (mainobj.Purchases == null || mainobj.Purchases.Count == 0)
                        {
                        }
                        else
                        {
                            decimal num = 0;
                            for (int i = 0; i < mainobj.Purchases.Count; i++)
                            {
                                if (mainobj.Purchases[i].ID.ToString() != arry[0])
                                {
                                    num += mainobj.Purchases[i].Purchase_Num;
                                }
                            }
                            num += Convert.ToDecimal(arry[1]);
                            if (num > mainobj.Main_Num)
                            {
                                //数量超标了
                                msg = string.Format("采购计划数量{0},本次购买{1},超标{2}", mainobj.Main_Num, Convert.ToDecimal(arry[1]), num - mainobj.Main_Num);
                                return(msg);
                            }
                        }

                        purchase.Purchase_Num        = Convert.ToDecimal(arry[1]);
                        purchase.Purchase_Price      = Convert.ToDecimal(arry[2]);
                        purchase.Purchase_Money      = Convert.ToDecimal(arry[3]);
                        purchase.Purchase_ManTel     = arry[4];
                        purchase.Purchase_Man        = arry[5];
                        purchase.Purchase_Date       = Convert.ToDateTime(arry[6]);
                        purchase.Purchase_StickMoney = Convert.ToDecimal(arry[7]);
                        purchase.Purchase_NoMoney    = Convert.ToDecimal(arry[8]);
                        purchase.Purchase_StickNo    = arry[9];
                        //purchase.Purchase_Num1 = Convert.ToDecimal(arry[18]);
                        this.Update(purchase);


                        //合同表
                        if (purchase.PurchaseContracts == null || purchase.PurchaseContracts.Count == 0)
                        {
                            msg = "找不到合同数据!";
                            tx.Rollback();
                            return(msg);
                        }
                        PurchaseContract purchaseContract = purchase.PurchaseContracts[0];
                        purchaseContract.PurchaseContract_Name       = arry[10];
                        purchaseContract.PurchaseContract_SupplyTel  = arry[11];
                        purchaseContract.PurchaseContract_Supply     = arry[12];
                        purchaseContract.PurchaseContract_SupplyTel1 = arry[18];
                        purchaseContract.PurchaseContract_Supply1    = arry[19];
                        purchaseContract.PurchaseContract_Price      = Convert.ToDecimal(arry[2]);
                        purchaseContract.PurchaseContract_Num        = Convert.ToDecimal(arry[1]);
                        purchaseContract.PurchaseContract_Money      = Convert.ToDecimal(arry[3]);
                        purchaseContract.PurchaseContract_One        = arry[13];
                        purchaseContract.PurchaseContract_Tow        = arry[14];
                        purchaseContract.PurchaseContract_Date       = Convert.ToDateTime(arry[15]);
                        purchaseContract.PurchaseContract_StartDate  = Convert.ToDateTime(arry[16]);
                        purchaseContract.PurchaseContract_EndDate    = Convert.ToDateTime(arry[17]);
                        purchaseContract.PurchaseContract_SupplyID   = arry[20];
                        if (ps == null)
                        {
                            ps = new PublicService();
                        }

                        ps.PurchaseConstract.Update(purchaseContract);

                        tx.Commit();
                    }
                    catch (Exception e)
                    {
                        tx.Rollback();
                        return(e.Message);
                    }
                }
                return(msg);
            }
        }