/// <summary> /// 保存表单(新增、修改) /// </summary> /// <param name="keyValue">主键值</param> /// <param name="entity">实体对象</param> /// <returns></returns> public void SaveForm(string keyValue, DZSH_OrderEntity entity) { IRepository db = new RepositoryFactory().BaseRepository().BeginTrans(); try { if (!string.IsNullOrEmpty(keyValue)) { //先拿到老的客诉单 DZSH_OrderEntity oldEntity = GetEntity(keyValue); if (entity.NeedSale == 1 && oldEntity.NeedSale == 0) { //改为生产之后,创建销售单 CreateDZOrder.SaveDZOrder(db, entity); //发微信模板消息---客诉单接单之后,给审图人提醒--刘琛oA-EC1X6RWfW1_DNJ_VNiA3uhOYg //生成销售单------再通知(审图提醒) TemplateWxApp.SendTemplateNew("oA-EC1X6RWfW1_DNJ_VNiA3uhOYg", "您好,有新的订单需要审图!", entity.OrderTitle, entity.Code, "请进行审图。"); } else { //先拿到老的销售单 DZ_OrderEntity oldDZEntity = dzService.GetEntity(keyValue); if (oldDZEntity != null) { //如果上传的文件路径变化,判断销售单中的审图状态是否已经审图,已经审图,不能修改文件,需要研发驳回! if (entity.CreatePath != oldEntity.CreatePath && oldDZEntity.CheckTuMark == 1) { throw new Exception("请联系研发审图驳回,再重新上传文件!"); } DZ_OrderEntity dzEntity = new DZ_OrderEntity { OrderTitle = entity.OrderTitle, OrderType = entity.OrderType, CompanyId = entity.CompanyId, CompanyName = entity.CompanyName, CustomerId = entity.CustomerId, CustomerName = entity.CustomerName, CustomerTelphone = entity.CustomerTelphone, DesignerUserName = entity.DesignerUserName, DesignerTelphone = entity.DesignerTelphone, Address = entity.Address, SalesmanUserId = entity.SalesmanUserId, SalesmanUserName = entity.SalesmanUserName, ShippingType = entity.ShippingType, Carrier = entity.Carrier, CreatePath = entity.CreatePath, Description = entity.Description, }; oldDZEntity.Modify(keyValue); //同步销售单 db.Update <DZ_OrderEntity>(dzEntity);//重点关注的是路径是否同步 } } entity.Modify(keyValue); //更新 db.Update <DZSH_OrderEntity>(entity); db.Commit(); RecordHelp.AddRecord(4, entity.Id, "客诉单编辑"); } else { entity.Create(); db.Insert <DZSH_OrderEntity>(entity); coderuleService.UseRuleSeed(entity.CreateUserId, "", ((int)CodeRuleEnum.DZSH_Order).ToString(), db);//占用单据号 if (entity.NeedSale == 1) { //创建新的销售单 CreateDZOrder.SaveDZOrder(db, entity); //发微信模板消息---客诉单接单之后,给审图人提醒--刘琛oA-EC1X6RWfW1_DNJ_VNiA3uhOYg //生成销售单------再通知(审图提醒) TemplateWxApp.SendTemplateNew("oA-EC1X6RWfW1_DNJ_VNiA3uhOYg", "您好,有新的订单需要审图!", entity.OrderTitle, entity.Code, "请进行审图。"); } db.Commit(); RecordHelp.AddRecord(4, entity.Id, "客诉接单"); //胡鲁鲁 TemplateWxApp.SendTemplateNew("oA-EC1aaKOSNdW2wL8lHSsr3R4Dg", "您好,有新的客诉单!", entity.OrderTitle, entity.Code, "请进行处理。"); //邵明钊 TemplateWxApp.SendTemplateNew("oA-EC1eudNmGSxra3-c5HJrGGTtk", "您好,有新的客诉单!", entity.OrderTitle, entity.Code, "请进行处理。"); } } catch (Exception) { db.Rollback(); throw; } }
/// <summary> /// 分柜体,门板,五金,添加入库之后,判断是否完全入库 /// </summary> /// <param name="itemEntity">实体对象</param> /// <returns></returns> public void SaveInForm(Buys_OrderItemEntity itemEntity) { IRepository db = new RepositoryFactory().BaseRepository().BeginTrans(); try { Buys_OrderItemEntity oldItemEntity = GetDetail(itemEntity.OrderId, itemEntity.SortCode); Buys_OrderEntity buyEntity = GetEntity(itemEntity.OrderId); //先删除再创建 if (oldItemEntity != null) { db.Delete <Buys_OrderItemEntity>(oldItemEntity.OrderEntryId); buyEntity.TotalQty -= oldItemEntity.Qty;//减去老库存 if (itemEntity.Qty == 0) { //等于0的情况,直接删掉当前入库记录,当前材料的,入库状态改成null switch (itemEntity.SortCode) { case 1: buyEntity.GuiEnterMark = -1; break; case 2: buyEntity.MenEnterMark = -1; break; case 3: buyEntity.WuEnterMark = -1; break; case 4: buyEntity.WaiEnterMark = -1; break; default: break; } } } if (itemEntity.Qty > 0) { //新增入库单从表,新增要新增,初始化id,用户跳过 itemEntity.Create(); db.Insert <Buys_OrderItemEntity>(itemEntity); buyEntity.TotalQty += itemEntity.Qty; //加上新库存 //修改入库状态,分柜体,门板,五金,外协 switch (itemEntity.SortCode) { case 1: buyEntity.GuiEnterMark = 1; break; case 2: buyEntity.MenEnterMark = 1; break; case 3: buyEntity.WuEnterMark = 1; break; case 4: buyEntity.WaiEnterMark = 1; break; default: break; } //判断是否完全入库 if (buyEntity.GuiEnterMark == 0 || buyEntity.MenEnterMark == 0 || buyEntity.WuEnterMark == 0 || buyEntity.WaiEnterMark == 0) { //还没有完全入库 buyEntity.AllEnterMark = 0; } else { //完全入库修改状态 buyEntity.AllEnterMark = 1; buyEntity.AllEnterDate = DateTime.Now; //同步到接单表-入库状态 DZ_OrderEntity dZ_OrderEntity = new DZ_OrderEntity { EnterMark = 1, EnterDate = DateTime.Now }; dZ_OrderEntity.Modify(buyEntity.OrderId); db.Update <DZ_OrderEntity>(dZ_OrderEntity); //同步到生产表-入库状态 Sale_CustomerEntity produceEntity = new Sale_CustomerEntity { EnterMark = 1, EnterDate = DateTime.Now }; produceEntity.Modify(buyEntity.ProduceId); db.Update <Sale_CustomerEntity>(produceEntity); string wk = ""; //发微信模板消息--给销售人提醒(完全入库提醒) if (buyEntity.PaymentState == 3 || buyEntity.AfterMark == 0) { //发微信模板消息---完全入库+(收齐尾款或者不需要收取尾款)之后,给胡鲁鲁发消息提醒????给程东彩发全部入库提醒 //订单生成通知(9完全入库提醒) TemplateWxApp.SendTemplateAllIn("oA-EC1W1BQZ46Wc8HPCZZUUFbE9M", "您好,有新的订单已经入库!", buyEntity.OrderTitle, "共" + buyEntity.TotalQty + "包,请进行发货通知"); if (buyEntity.CompanyId == "0e4ad85a-7bd3-4cba-a390-26ba6d3bf6a2") { //整装部订单全部入库,给戴宝华提醒 TemplateWxApp.SendTemplateAllIn("oA-EC1ZrUuePIU9bIapbYnAVe6EU", "您好,有新的订单已经入库!", buyEntity.OrderTitle, "共" + buyEntity.TotalQty + "包,请进行发货通知"); } } else { wk = "请确认尾款。"; } //发微信模板消息--给销售人提醒(完全入库提醒) if (!string.IsNullOrEmpty(buyEntity.SalesmanUserName)) { var hsf_CardList = db.IQueryable <Hsf_CardEntity>(t => t.Name.Equals(buyEntity.SalesmanUserName)); if (hsf_CardList.Count() != 0) { var hsf_CardEntity = hsf_CardList.First(); //订单生成通知,只有关注公众号的业务员才能收到消息(8完全入库提醒) string backMsg = TemplateWxApp.SendTemplateAllIn(hsf_CardEntity.OpenId, "您好,您的订单已经全部入库!", buyEntity.Code, buyEntity.OrderTitle + ":共" + buyEntity.TotalQty + "包。" + wk); if (backMsg != "ok") { //业务员没有关注公众号,报错:微信Post请求发生错误!错误代码:43004,说明:require subscribe hint: [ziWtva03011295] LogHelper.AddLog(buyEntity.SalesmanUserName + "没有关注公众号");//记录日志 } } } } } buyEntity.Modify(buyEntity.Id); db.Update <Buys_OrderEntity>(buyEntity); db.Commit(); RecordHelp.AddRecord(4, buyEntity.OrderId, itemEntity.ProductName + "入库" + itemEntity.Qty + "包"); } catch (Exception) { 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; } }