/// <summary> /// 保存表单(新增、修改) /// </summary> /// <param name="keyValue">主键值</param> /// <param name="entity">实体对象</param> /// <returns></returns> public void SaveForm(string keyValue, Sale_CustomerEntity entity, List <Sale_Customer_ItemEntity> entryList) { IRepository db = this.BaseRepository().BeginTrans(); try { if (!string.IsNullOrEmpty(keyValue)) { //主表 entity.Modify(keyValue); db.Update(entity); //明细 db.Delete <Sale_Customer_ItemEntity>(t => t.CustomerId.Equals(keyValue)); foreach (Sale_Customer_ItemEntity item in entryList) { item.Create(); item.CustomerId = entity.CustomerId; db.Insert(item); } } else { //主表 entity.Create(); db.Insert(entity); //明细 foreach (Sale_Customer_ItemEntity item in entryList) { item.Create(); item.CustomerId = entity.CustomerId; db.Insert(item); } } db.Commit(); } catch (Exception) { db.Rollback(); throw; } }
/// <summary> /// 保存表单(新增、修改) /// </summary> /// <param name="keyValue">主键值</param> /// <param name="entity">实体对象</param> /// <param name="entryList">明细对象</param> /// <returns></returns> public void SaveForm(string keyValue, Sales_ContractEntity entity, List <Sales_Contract_ItemEntity> entryList) { IRepository db = this.BaseRepository().BeginTrans(); try { if (!string.IsNullOrEmpty(keyValue)) { //主表 entity.Modify(keyValue); db.Update(entity); //明细 db.Delete <Sales_Contract_ItemEntity>(t => t.ContractId.Equals(keyValue)); foreach (Sales_Contract_ItemEntity item in entryList) { item.Create(); item.ContractId = entity.Id; db.Insert(item); //出库才减库存 if (entity.Status == 1) { MinusWareGoods(db, item); } } } else { //主表 entity.Create(); db.Insert(entity); //出库再操作,初始化余量主表 if (entity.Status == 1) { Sale_CustomerEntity saleCustomer = db.FindEntity <Sale_CustomerEntity>(t => t.CustomerId.Equals(entity.CustomerId)); if (saleCustomer != null) { saleCustomer.SumTotalAmount = saleCustomer.SumTotalAmount + entity.TotalAmount; saleCustomer.SumTotalCount = saleCustomer.SumTotalCount + entity.TotalCount; saleCustomer.ModifyUserId = entity.UserId; saleCustomer.ModifyUserName = entity.UserName; saleCustomer.Modify(saleCustomer.CustomerId); db.Update(saleCustomer); } else { Sale_CustomerEntity saleCustomerEntity = new Sale_CustomerEntity() { CustomerId = entity.CustomerId, CustomerCompany = entity.CustomerCompany, SumTotalAmount = entity.TotalAmount, SumTotalCount = entity.TotalCount, CreateUserId = entity.UserId, CreateUserName = entity.UserName, }; saleCustomerEntity.Create(); db.Insert(saleCustomerEntity); } } //明细 int sort = 0; foreach (Sales_Contract_ItemEntity item in entryList) { item.Sort = sort++; item.Create(); item.ContractId = entity.Id; db.Insert(item); //出库才减库存 if (entity.Status == 1) { //出库才减库存 MinusWareGoods(db, item); #region 余量信息 //出库才初始化余量子表 Sale_Customer_ItemEntity saleCustomerItem = db.FindEntity <Sale_Customer_ItemEntity>(t => t.CustomerId.Equals(entity.CustomerId) && t.ProductId.Equals(item.ProductId)); //商品已经进过一次货,在上次进货基础上累加总进货量 if (saleCustomerItem != null) { saleCustomerItem.UnitPrice = item.UnitPrice; saleCustomerItem.SumAmount = saleCustomerItem.SumAmount + item.Amount; saleCustomerItem.SumCount = saleCustomerItem.SumCount + item.Count; saleCustomerItem.Modify(saleCustomerItem.Id); db.Update(saleCustomerItem); } else { //第一次进货,新增此商品 Sale_Customer_ItemEntity saleCustomerItemEntity = new Sale_Customer_ItemEntity() { CustomerId = entity.CustomerId, ProductId = item.ProductId, ProductCode = item.ProductCode, ProductName = item.ProductName, UnitPrice = item.UnitPrice, SumAmount = item.Amount, SumCount = item.Count, Sort = item.Sort, }; saleCustomerItemEntity.Create(); db.Insert(saleCustomerItemEntity); } #endregion } } //占用单据号 coderuleService.UseRuleSeed(SystemInfo.CurrentModuleId, db); } db.Commit(); } catch (Exception ex) { db.Rollback(); throw; } }
/// <summary> /// 保存生产单主单 /// </summary> /// <param name="orderEntity">实体对象</param> /// <returns></returns> public static void SaveSaleMain(IRepository db, DZ_OrderEntity orderEntity) { try { //判断是否创建过这个生产单Id(跟生产编号一致,方便实体查询) Sale_CustomerEntity oldSale = db.FindEntity <Sale_CustomerEntity>(orderEntity.Code); //没创建过的才新增,避免下单不及时创建两个生产单初始单 if (oldSale == null) { //自动创建【生产单】主单部分 Sale_CustomerEntity sale_CustomerEntity = new Sale_CustomerEntity { ProduceCode = orderEntity.Code, //生产单号默认和销售单号一样 OrderId = orderEntity.Id, OrderCode = orderEntity.Code, //销售单号 OrderTitle = orderEntity.OrderTitle, OrderType = orderEntity.OrderType, CompanyId = orderEntity.CompanyId, CompanyName = orderEntity.CompanyName, CustomerId = orderEntity.CustomerId, CustomerName = orderEntity.CustomerName, SalesmanUserId = orderEntity.SalesmanUserId, SalesmanUserName = orderEntity.SalesmanUserName, CustomerTelphone = orderEntity.CustomerTelphone, SendPlanDate = orderEntity.SendPlanDate, Address = orderEntity.Address, ShippingType = orderEntity.ShippingType, Carrier = orderEntity.Carrier, //MoneyOkMark = orderEntity.MoneyOkMark == null ? 0 : orderEntity.MoneyOkMark,//报价审核 MoneyOkMark = orderEntity.MoneyOkMark, MoneyOkDate = orderEntity.MoneyOkDate }; sale_CustomerEntity.Create();//付款时间 //主表 db.Insert(sale_CustomerEntity); //生成生产单id二维码 string url = "http://www.sikelai.cn/WeChatManage/Produce/StepSweepcode?id=" + sale_CustomerEntity.ProduceId; CommonHelper.QRCode(url, sale_CustomerEntity.ProduceCode); if (sale_CustomerEntity.MoneyOkMark == 1) { //发微信模板消息---财务已经报价审核并收款确认之后,给张宝莲发消息提醒oA-EC1bJnd0KFBuOy0joJvUOGwwk //订单生成通知(7下单提醒) TemplateWxApp.SendTemplateNew("oA-EC1bJnd0KFBuOy0joJvUOGwwk", "您好,有新的订单需要下单!", sale_CustomerEntity.OrderTitle, sale_CustomerEntity.OrderCode, "请进行生产下单。"); } RecordHelp.AddRecord(4, orderEntity.Id, "初始化生产单"); } else { //客诉单需要修改报价审核状态 oldSale.MoneyOkMark = orderEntity.MoneyOkMark; oldSale.MoneyOkDate = orderEntity.MoneyOkDate; oldSale.Modify(orderEntity.Code); db.Update(oldSale); } } catch (Exception) { throw; } }