示例#1
0
        public int SavePurchaseCashConfirm(PurchaseCashConfirm pcc, PurchaseCashConfirmDetail[] pccds)
        {
            PurchaseCashConfirm purchasecashConfirm = new PurchaseCashConfirm();

            purchasecashConfirm.ConfirmUserId  = pcc.ConfirmUserId;
            purchasecashConfirm.Id             = pcc.Id;
            purchasecashConfirm.Memo           = pcc.Memo;
            purchasecashConfirm.PurchaseUserId = pcc.PurchaseUserId;
            purchasecashConfirm.SumMoney       = pcc.SumMoney;
            purchasecashConfirm.Title          = pcc.Title;
            purchasecashConfirm.UpdateTime     = DateTime.Now;
            purchasecashConfirm.BranchId       = pcc.BranchId;
            int pccId = purchasecashConfirm.Save();

            if (pccId > 0)
            {
                for (int i = 0; i < pccds.Length; i++)
                {
                    PurchaseCashConfirmDetail pccd = new PurchaseCashConfirmDetail();
                    pccd.Id = pccds[i].Id;
                    pccd.PurchaseCashConfirmId = pccId;
                    pccd.PurchaseId            = pccds[i].PurchaseId;
                    if (pccd.Save() > 0)
                    {
                        Purchase p = new Purchase();
                        p.Id = pccds[i].PurchaseId;
                        p.Load();
                        p.IsCashConfirm = 1;
                        p.Save();
                    }
                }
            }
            return(pccId);
        }
示例#2
0
        /// <summary>
        /// 保存采购对账单
        /// </summary>
        /// <param name="ps"></param>
        /// <param name="psds"></param>
        /// <returns></returns>
        public int SavePurchaseStatement(PurchaseStatement ps, PurchaseStatementDetail[] psds)
        {
            PurchaseStatement purchaseStatement = new PurchaseStatement();

            purchaseStatement.BranchId   = ps.BranchId;
            purchaseStatement.Id         = ps.Id;
            purchaseStatement.Memo       = ps.Memo;
            purchaseStatement.PaidMoney  = ps.PaidMoney;
            purchaseStatement.PayStatus  = ps.PayStatus;
            purchaseStatement.SumMoney   = ps.SumMoney;
            purchaseStatement.SupplierId = ps.SupplierId;
            purchaseStatement.UpdateTime = DateTime.Now;
            purchaseStatement.UserId     = ps.UserId;
            int id = purchaseStatement.Save();

            if (id > 0)
            {
                for (int i = 0; i < psds.Length; i++)
                {
                    PurchaseStatementDetail psd = new PurchaseStatementDetail();
                    psd.Id                  = 0;
                    psd.PurchaseId          = psds[i].PurchaseId;
                    psd.PurchaseStatementId = id;
                    if (psd.Save() > 0)
                    {
                        Purchase p = new Purchase();
                        p.Id = psds[i].PurchaseId;
                        p.Load();
                        p.IsPaid = 2;
                        p.Save();
                    }
                }
            }
            return(id);
        }
示例#3
0
        public bool OrderModifyPurchaseSave(DataTable dtNeedToPurchaseDetail, int branchId, int StoreId, string OrderModifyIdTable)
        {
            DataTable dt = dtNeedToPurchaseDetail.DefaultView.ToTable(true, "SupplierId", "UserId", "PurchaseType");

            if (dt.Rows.Count > 0)
            {
                int SId = 0;
                foreach (DataRow drSupplier in dt.Rows)
                {
                    int SupplierId = DBTool.GetIntFromRow(drSupplier, "SupplierId", 0);
                    if (SId == SupplierId && SupplierId != 0)
                    {
                        continue;
                    }
                    int      UserId       = DBTool.GetIntFromRow(drSupplier, "UserId", 0);
                    string   PurchaseType = DBTool.GetStringFromRow(drSupplier, "PurchaseType", "");
                    Purchase p            = new Purchase();
                    p.BranchId         = branchId;
                    p.NeedToPurchaseId = NeedToPurchaseId;
                    p.PurchaseStatus   = CommenClass.PurchaseStatus.未处理.ToString();
                    p.PurchaseType     = PurchaseType;
                    p.UserId           = 0;
                    p.StoreId          = StoreId;
                    p.SupplierId       = SupplierId;
                    p.PurchaseUserId   = UserId;
                    int purchaseId = p.Save();
                    if (purchaseId > 0)
                    {
                        string    sql = string.Format("SupplierId='{0}'", SupplierId);
                        DataRow[] drw = dtNeedToPurchaseDetail.Select(sql);
                        foreach (DataRow dr in drw)
                        {
                            PurchaseDetail pd = new PurchaseDetail();
                            pd.PurchaseId = purchaseId;
                            pd.GoodsId    = DBTool.GetIntFromRow(dr, "GoodsId", 0);
                            pd.StoreId    = StoreId;
                            pd.Model      = "";
                            pd.BillsPrice = DBTool.GetDoubleFromRow(dr, "InPrice", 0);
                            pd.InPrice    = DBTool.GetDoubleFromRow(dr, "InPrice", 0);
                            pd.Num        = DBTool.GetIntFromRow(dr, "LackNum", 0);
                            pd.Amount     = pd.InPrice * pd.Num;
                            pd.Save();
                        }
                        SId = SupplierId;
                        PurchaseManager pm = new PurchaseManager();
                        pm.UpdatePurchaseSumMoney(purchaseId);
                    }
                }
                if (SId > 0)
                {
                    OrderModify om = new OrderModify();
                    return(om.UpdatePurchaseType(OrderModifyIdTable));
                }
            }
            return(false);
        }
示例#4
0
        /// <summary>
        /// 采购单入库,支持批量操作,PDA调用
        /// </summary>
        /// <param name="purchaseArr">采购单id集合</param>
        /// <param name="branchId">branchId</param>
        /// <param name="userId">操作人id</param>
        /// <returns></returns>
        public bool SetGoodsStore(int[] purchaseArr, int branchId, int userId)
        {
            bool result = false;

            //首先判断集合中是否有值
            if (purchaseArr.Length > 0)
            {
                int count = 0;
                for (int i = 0; i < purchaseArr.Length; i++)
                {
                    int      id       = purchaseArr[i];
                    Purchase purchase = new Purchase(id);
                    if (purchase.PurchaseStatus == CommenClass.PurchaseStatus.已入库.ToString())
                    {
                        continue;
                    }
                    else
                    {
                        PurchaseManager pm = new PurchaseManager();
                        if (PurchaseDetailSave(pm.ReadPurchaseDetail(id), branchId, userId))
                        {
                            purchase.PurchaseStatus = CommenClass.PurchaseStatus.已入库.ToString();
                            purchase.UpdateTime     = DateTime.Now;
                            purchase.UserId         = userId;
                            if (purchase.Save() > 0)
                            {
                                count++;
                            }
                        }
                    }
                }
                if (count == purchaseArr.Length)
                {
                    result = true;
                }
            }
            return(result);
        }
示例#5
0
        /// <summary>
        /// 商品汇总单拆分采购单
        /// </summary>
        /// <param name="NeedToPurchaseId"></param>
        /// <param name="branchId"></param>
        /// <param name="StoreId"></param>
        /// <returns></returns>
        public bool PurchaseSave(int NeedToPurchaseId, int branchId, int StoreId)
        {
            DataTable dtNeedToPurchaseDetail = ReadNeedToPurchaseDetail(NeedToPurchaseId).Tables[0];

            if (dtNeedToPurchaseDetail.Rows.Count > 0)
            {
                int    SId         = 0;
                double taxRate     = 0;
                int    isTax       = 0;
                string invoiceType = "";
                int    SupplierId  = 0;
                foreach (DataRow dr in dtNeedToPurchaseDetail.Rows)
                {
                    SupplierId  = DBTool.GetIntFromRow(dr, "SupplierId", 0);
                    taxRate     = DBTool.GetDoubleFromRow(dr, "SprTaxRate", 0.17);
                    invoiceType = DBTool.GetStringFromRow(dr, "SprInvoiceType", "");
                    switch (invoiceType)
                    {
                    case "无发票":
                        isTax   = 0;
                        taxRate = 0;
                        break;

                    case "增票":
                        isTax = 1;
                        break;

                    case "普票":
                        isTax = 2;
                        break;

                    default:
                        isTax   = 1;
                        taxRate = 0.17;
                        break;
                    }
                    int      UserId       = DBTool.GetIntFromRow(dr, "UserId", 0);
                    string   PurchaseType = DBTool.GetStringFromRow(dr, "PurchaseType", "");
                    Purchase p            = new Purchase();
                    p.BranchId         = branchId;
                    p.NeedToPurchaseId = NeedToPurchaseId;
                    p.PurchaseStatus   = CommenClass.PurchaseStatus.未处理.ToString();
                    p.PurchaseType     = PurchaseType;
                    p.UserId           = 0;
                    p.StoreId          = StoreId;
                    p.SupplierId       = SupplierId;
                    p.PurchaseUserId   = UserId;
                    p.IsTax            = isTax;
                    p.TaxRate          = taxRate;
                    int purchaseId = p.Save();
                    if (purchaseId > 0)
                    {
                        string sql = string.Format(@"insert into PurchaseDetail(PurchaseId,GoodsId,StoreId,Model,BillsPrice,InPrice,Num,Amount,ReceivedNum,OldStore,OldAC,Emergency,TaxInPrice)
                                                                        select {0},
                                                                               GoodsId,
                                                                               {1},
                                                                               '',
                                                                               InPrice,
                                                                               (case when {7}=0 then InPrice*1.25 when {7}=1 then InPrice/(1+{6}) when {7}=2 then InPrice end),
                                                                               -LackNum,
                                                                               (InPrice * (-LackNum)),
                                                                               0,
                                                                               {1},
                                                                               InPrice,
                                                                               Emergency,
                                                                               (case when {7}=0 then InPrice*1.25*1.17 when {7}=1 then InPrice when {7}=2 then InPrice*(1+{6}) end)
                                                                       from NeedToPurchaseDetail where NeedToPurchaseId={2} and SupplierId={3} and UserId={4}  and LackNum<0;
                         update Purchase set SumMoney=(select ISNULL(SUM(Amount),0) from PurchaseDetail where PurchaseId={0}),
                                                  Tax=(select ISNULL(SUM(Amount),0) from PurchaseDetail where PurchaseId={0})/(1+{6})*{6}  where Id={0}", purchaseId, StoreId, NeedToPurchaseId, SupplierId, UserId, PurchaseType, taxRate, isTax);
                        m_dbo.ExecuteNonQuery(sql);
                        SId = SupplierId;
                    }
                }
                NeedToPurchase ntp = new NeedToPurchase();
                ntp.AddStatus(NeedToPurchaseId);
                return(true);
            }
            return(false);
        }