Exemple #1
0
        /// <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;
            }
        }
Exemple #2
0
        /// <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;
            }
        }
Exemple #3
0
        /// <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;
            }
        }