public ActionResult EditPurchaseContract(PurchaseContract purchaseContract)
 {
     purchaseContract.Status = Data_Access_Layer.Entities.Enums.Status.Waiting;
     context.Entry(purchaseContract).State = EntityState.Modified;
     context.SaveChanges();
     return(RedirectToAction("Index"));
 }
        public ActionResult CreatePurchaseContract(PurchaseContract purchaseContract)
        {
            context.PurchaseContracts.Add(purchaseContract);
            context.SaveChanges();

            return(RedirectToAction("Index"));
        }
Пример #3
0
        public ActionResult RejectPurchaseContract(int?id)
        {
            PurchaseContract payroll = db.PurchaseContracts.Find(id);

            payroll.Status          = Data_Access_Layer.Entities.Enums.Status.Reject;
            db.Entry(payroll).State = EntityState.Modified;
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public async Task <IHttpActionResult> GetPurchaseContract(int Id)
        {
            PurchaseContract purchaseContract = await _db.PurchaseContracts.SingleOrDefaultAsync(i => i.Id == Id);

            if (purchaseContract == null)
            {
                return(NotFound());
            }

            return(Ok(purchaseContract));
        }
Пример #5
0
        public void TestMethod1()
        {
            PurchaseContract purchaseContract = new PurchaseContract()
            {
                PartyA            = "傲基国际有限公司",
                PartyB            = "深圳市长知科技有限公司",
                ContractNo        = "HT18071000024",
                AddressA          = "深圳市龙岗区平湖街道华南大道一号华南国际印刷纸品包装物流区(一期)P09栋102号",
                AddressB          = "深圳市宝安区沙井街道蚝三工业区1栋工厂厂房三层",
                ContractedAddress = "深圳",
                ContractedTime    = "2018-07-10",
                PartyABankAccount = "817-646268-838",
                PartyABankName    = "HSBC Hong Kong",
                PartyAPhone       = "0755-33622851",
                PartyBPhone       = "-",
                PartyBBankAccount = "4000022509200619286",
                PartyBBankName    = "中国工商银行深圳沙井支行",
            };
            List <PurchaseContractDetaile> list = new List <PurchaseContractDetaile>()
            {
                new PurchaseContractDetaile()
                {
                    采购单号 = "CG15092100901",
                    品名   = "充电器",
                    SKU  = "GET46762",
                    产品描述 = "AUKEY PA-T2 2+1快充充电器 总功率:42W 黑色",
                    单位   = "个",
                    数量   = 60,
                    单价   = 39.77M,
                    采购成本 = 2386.20M,
                    税金   = 0.00M,
                    价税合计 = 2386.20M
                },
                new PurchaseContractDetaile()
                {
                    采购单号 = "CG15092100901",
                    品名   = "充电器",
                    SKU  = "GET46762",
                    产品描述 = "AUKEY PA-T2 2+1快充充电器 总功率:42W 黑色",
                    单位   = "个",
                    数量   = 60,
                    单价   = 39.77M,
                    采购成本 = 2386.20M,
                    税金   = 0.00M,
                    价税合计 = 2386.20M
                },
            };

            SpireWord.GetDocument();
            SpireWord.ReplaseTemplateWord(purchaseContract);
            SpireWord.AddTable(list);
            SpireWord.CreateNewWord();
        }
        public ActionResult DeletePurchaseContract(int id)
        {
            PurchaseContract purchaseContract = context.PurchaseContracts.Find(id);

            if (purchaseContract != null)
            {
                context.PurchaseContracts.Remove(purchaseContract);
                context.SaveChanges();
            }
            ViewBag.Id = id;
            return(RedirectToAction("Index"));
        }
Пример #7
0
 /// <summary>
 /// 替换模板
 /// </summary>
 /// <param name="purchaseContract"></param>
 public static void ReplaseTemplateWord(PurchaseContract purchaseContract)
 {
     try
     {
         foreach (System.Reflection.PropertyInfo p in purchaseContract.GetType().GetProperties())
         {
             Console.WriteLine("Name:{0} Value:{1}", p.Name, p.GetValue(purchaseContract));
             document.Replace(p.Name, p.GetValue(purchaseContract).ToString(), false, true);
         }
     }
     catch (Exception ex)
     {
         string msg = ex.Message;
         throw;
     }
 }
Пример #8
0
        public void Create(CreatePurchaseContract model)
        {
            var entity = new PurchaseContract();

            entity = model.MapTo <PurchaseContract>();
            entity.AddPurchaseContractItem(model.ConvertJsonToPurchaseContractItem());
            entity.UpdatedBy = entity.CreatedBy;
            _service.ValidateContractCode(entity.Code);
            // _service.ValidateContract(entity);
            _db.Insert(entity);
            _db.SaveChange();
            var reason = "创建合同";

            entity = _db.Table.Find <PurchaseContract>(n => n.Code == entity.Code);
            _processHistoryService.Track(model.CreatedBy, model.CreatedByName, (int)entity.Status, entity.Id, FormType.PurchaseContract, reason);
            _db.SaveChange();
        }
Пример #9
0
        public void ValidateContract(PurchaseContract model)
        {
            // 验证 同一个门店,同一个时间段内,与一个供应商,只能有一个合同
            string sql       = @"select * from PurchaseContract where SupplierId=@SupplierId and Status>@Status 
and StartDate<=@Today and EndDate>=@Today";
            var    contracts = _db.Table.FindAll <PurchaseContract>(sql,
                                                                    new { SupplierId = model.SupplierId, Status = PurchaseContractStatus.Cancel, Today = DateTime.Now.Date }).ToList();
            var storeArray = model.StoreIds.Split(',');

            foreach (var storeId in storeArray)
            {
                if (contracts.Exists(n => n.GetStores().Contains(storeId)))
                {
                    throw new Exception("门店与该供应商已经签有合同");
                }
            }
        }
Пример #10
0
        /// <summary>
        /// 获取最新联系电话
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public string GetLastTel(string name)
        {
            if (string.IsNullOrEmpty(name))
            {
                return("");
            }
            PurchaseContract obj = this.m_UnitOfWork.GetRepositoryBase <PurchaseContract>().Query().Where(m => m.PurchaseContract_Supply == name).FirstOrDefault();

            if (obj == null)
            {
                return("");
            }
            else
            {
                return(obj.PurchaseContract_SupplyTel);
            }
        }
Пример #11
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);
            }
        }
Пример #12
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);
            }
        }
        public ActionResult EditPurchaseContract(int?id)
        {
            PurchaseContract purchaseContract = context.PurchaseContracts.Find(id);

            return(View(purchaseContract));
        }
 public ActionResult PurchaseContracts(PurchaseContract material)
 {
     return(RedirectToAction("materialDefinitions"));
 }