Beispiel #1
0
        /// <summary>
        /// 获取申请单用户信息
        /// </summary>
        /// <param name="dbContext"></param>
        /// <param name="orderNo">批量申请Id</param>
        /// <returns></returns>
        public IList <OrderUserModel> GetOrderUsers(MissionskyOAEntities dbContext, int orderNo)
        {
            IList <OrderUserModel> users = new List <OrderUserModel>();
            var orders = dbContext.Orders.Where(it => it.OrderNo == orderNo);

            orders.ToList().ForEach(order =>
            {
                var user = dbContext.Users.FirstOrDefault(it => it.Id == order.UserId);

                if (user != null)
                {
                    //用户信息
                    var orderUser = new OrderUserModel()
                    {
                        Id       = order.UserId,
                        OrderId  = order.Id,
                        UserName = user.EnglishName,
                        Gender   = user.Gender.HasValue ? (Gender)user.Gender.Value : Gender.Privacy,
                    };

                    //部门信息
                    var dept           = dbContext.Departments.FirstOrDefault(it => it.Id == user.DeptId);
                    orderUser.DeptName = (dept == null ? string.Empty : dept.Name);

                    //项目名称
                    var project           = dbContext.Projects.FirstOrDefault(it => it.Id == user.ProjectId);
                    orderUser.ProjectName = (project == null ? string.Empty : project.Name);

                    users.Add(orderUser);
                }
            });

            return(users);
        }
Beispiel #2
0
        /// <summary>
        /// 获取申请单用户信息
        ///
        /// </summary>
        /// <param name="dbContext"></param>
        /// <param name="userIds">申请单用户</param>
        /// <returns></returns>
        public IList <OrderUserModel> GetOrderUsers(MissionskyOAEntities dbContext, int[] userIds)
        {
            // 1、新建一个OrderUserModel的IList变量,用于返回
            IList <OrderUserModel> users = new List <OrderUserModel>();

            // 2、判断UserIds是否为空
            if (userIds != null && userIds.Count() > 0)
            {
                /*
                 * 此设计Lamda表达式的使用
                 *
                 * **/
                userIds.ToList().ForEach(userId =>
                {
                    // 3、获取申请用户 根据userId 从User表中
                    var user = dbContext.Users.FirstOrDefault(it => it.Id == userId);

                    // 判断获取的user是否为空
                    if (user != null)
                    {
                        //用户信息
                        // 4、将User 转换为 OrderUserModel
                        var orderUser = new OrderUserModel()
                        {
                            Id       = userId,
                            UserName = user.EnglishName,

                            /*
                             * 三目运算 和 枚举类型的实例使用
                             *
                             * **/
                            Gender = user.Gender.HasValue ? (Gender)user.Gender.Value : Gender.Privacy,
                        };

                        // 5、获取部门信息,并添加到OrderUserModel
                        var dept = dbContext.Departments.FirstOrDefault(it => it.Id == user.DeptId);

                        orderUser.DeptName = (dept == null ? string.Empty : dept.Name);

                        // 6、获取 项目名称,并添加到OrderUserModel
                        var project           = dbContext.Projects.FirstOrDefault(it => it.Id == user.ProjectId);
                        orderUser.ProjectName = (project == null ? string.Empty : project.Name);

                        // 添加到IList<OrderuserModel>中
                        users.Add(orderUser);
                    }
                });
            }

            return(users);
        }
        public override void OnLoad(HttpContext context)
        {
            base.OnLoad(context);
            requestBody             = new RequestBody();
            requestBody.accessToken = context.Request["accessToken"];
            requestBody.oid         = context.Request["oid"];
            requestBody.action      = Convert.ToInt32(context.Request["action"]);
            requestBody.amount      = Convert.ToDecimal(context.Request["money"]);
            if (requestBody.accessToken == null || requestBody.accessToken.Trim().Length == 0 || requestBody.oid.Length == 0 || requestBody.action == 0)
            {
                SystemResponse.Output(SystemResponse.TYPE_NULLPARAMETER, out statusCode, out responseJson);
            }
            else if (requestBody.action == 2 && requestBody.amount == 0)
            {
                SystemResponse.Output(SystemResponse.TYPE_NULLPARAMETER, out statusCode, out responseJson);
            }
            else
            {
                //验证用户
                TokenHelper    token          = new TokenHelper();
                UserTokenModel userTokenModel = token.getUserToken(requestBody.accessToken);
                if (userTokenModel == null)
                {
                    SystemResponse.Output(SystemResponse.TYPE_EXPIRE, out statusCode, out responseJson);
                }
                else
                {
                    ModelAdo <OrderUserModel> modelAdo = new ModelAdo <OrderUserModel>();

                    //核对有没有供应商已抢单
                    OrderUserModel sendOrder = modelAdo.GetModel(" oid =?oid AND status=2", "",
                                                                 new MySqlParameter("?oid", requestBody.oid));
                    //核对供应商与订单状态
                    OrderUserModel model = modelAdo.GetModel("oid=?oid AND uid=?uid", "",
                                                             new MySqlParameter("?oid", requestBody.oid),
                                                             new MySqlParameter("?uid", userTokenModel.uid));
                    //数据是否存在派单中间表
                    if (model != null)
                    {
                        #region 供应商确认抢单【派单中间表已存在,并且订单状态为2,派单中】
                        if (2 == requestBody.action && sendOrder == null)
                        {
                            model.status     = 2;
                            model.amount     = requestBody.amount;
                            model.createTime = StringHelper.ConvertDateTimeInt(DateTime.Now);
                            model.remark     = "被供应商抢单的订单";

                            //修改订单状态为3,并录入相关抢单数据
                            ModelAdo <OrderModel> orderModelAdo = new ModelAdo <OrderModel>();
                            OrderModel            orderModel    = orderModelAdo.GetModel("id=?id", "",
                                                                                         new MySqlParameter("?id", requestBody.oid)
                                                                                         );
                            if (orderModel != null)
                            {
                                orderModel.ostatus    = 3;
                                orderModel.sendUid    = Convert.ToInt32(userTokenModel.uid);
                                orderModel.sendTime   = model.createTime;
                                orderModel.sendRemark = "供应商抢单并输入价格 【待处理订单】";
                                orderModel.sendAmount = model.amount;
                                if (orderModelAdo.Update(orderModel) >= 1)
                                {
                                    if (modelAdo.Update(model) >= 1)
                                    {
                                        SystemResponse.Output(SystemResponse.TYPE_OK, out statusCode, out responseJson);
                                    }
                                    else
                                    {
                                        SystemResponse.Output(SystemResponse.TYPE_ERROR, out statusCode, out responseJson);
                                    }
                                }
                            }
                            else
                            {
                                SystemResponse.Output(SystemResponse.TYPE_ERROR, out statusCode, out responseJson);
                            }
                        }
                        #endregion
                        #region 用户退回订单 【派单中间表已存在,并且订单状态为3,待处理订单】
                        else if (3 == requestBody.action && sendOrder != null && sendOrder.uid == Convert.ToInt32(userTokenModel.uid))
                        {
                            //修改订单状态为2,并清除相关抢单数据
                            ModelAdo <OrderModel> orderModelAdo = new ModelAdo <OrderModel>();
                            OrderModel            orderModel    = orderModelAdo.GetModel("id=?id", "",
                                                                                         new MySqlParameter("?id", requestBody.oid)
                                                                                         );
                            if (orderModel != null)
                            {
                                orderModel.ostatus    = 2;
                                orderModel.sendUid    = 0;
                                orderModel.sendTime   = 0;
                                orderModel.sendRemark = "供应商退回抢单【派单中】";
                                orderModel.sendAmount = 0;
                                if (orderModelAdo.Update(orderModel) >= 1)
                                {
                                    model.status = 3;
                                    model.remark = "被供应商退回的订单";
                                    modelAdo.Update(model);
                                    SystemResponse.Output(SystemResponse.TYPE_OK, out statusCode, out responseJson);
                                }
                                else
                                {
                                    SystemResponse.Output(SystemResponse.TYPE_NO_PERMISSON, out statusCode, out responseJson);
                                }
                            }
                            else
                            {
                                SystemResponse.Output(SystemResponse.TYPE_ERROR, out statusCode, out responseJson);
                            }
                        }
                        #endregion
                        #region 其他操作
                        else
                        {
                            SystemResponse.Output(SystemResponse.TYPE_NO_PERMISSON, out statusCode, out responseJson);
                        }
                        #endregion
                    }
                    else
                    {
                        SystemResponse.Output(SystemResponse.TYPE_NO_PERMISSON, out statusCode, out responseJson);
                    }
                }
            }
        }
        public override void OnLoad(HttpContext context)
        {
            base.OnLoad(context);
            requestBody             = new RequestBody();
            requestBody.accessToken = context.Request["accessToken"];
            requestBody.oid         = context.Request["oid"];
            requestBody.action      = Convert.ToInt32(context.Request["action"]);
            if (requestBody.accessToken == null || requestBody.accessToken.Trim().Length == 0 || requestBody.oid.Length == 0 || requestBody.action == 0)
            {
                SystemResponse.Output(SystemResponse.TYPE_NULLPARAMETER, out statusCode, out responseJson);
            }
            else
            {
                //验证用户
                TokenHelper    token          = new TokenHelper();
                UserTokenModel userTokenModel = token.getUserToken(requestBody.accessToken);
                if (userTokenModel == null)
                {
                    SystemResponse.Output(SystemResponse.TYPE_EXPIRE, out statusCode, out responseJson);
                }
                else
                {
                    #region 客服取消供应商抢单数据、修改订单状态回派单中
                    if (requestBody.action == 2)
                    {
                        //获取当前订单信息
                        ModelAdo <OrderModel> modelAdo = new ModelAdo <OrderModel>();
                        OrderModel            order    = modelAdo.GetModel("id=?oid AND ostatus=?ostatus", "",
                                                                           new MySqlParameter("?oid", requestBody.oid),
                                                                           new MySqlParameter("?ostatus", 3));
                        if (order != null)
                        {
                            //获取派单供应商对应订单中间表数据
                            ModelAdo <OrderUserModel> ouModelAdo = new ModelAdo <OrderUserModel>();
                            OrderUserModel            orderUser  = ouModelAdo.GetModel("oid=?oid AND uid=?uid", "",
                                                                                       new MySqlParameter("?oid", requestBody.oid),
                                                                                       new MySqlParameter("?uid", order.sendUid));
                            orderUser.amount     = 0;
                            orderUser.remark     = "被供应商退回抢单数据";
                            orderUser.createTime = 0;
                            orderUser.status     = 1;
                            if (ouModelAdo.Update(orderUser) >= 1)
                            {
                                order.ostatus    = 2;
                                order.sendUid    = 0;
                                order.sendTime   = 0;
                                order.sendRemark = "被供应商退回抢单数据";
                                order.sendAmount = 0;
                                if (modelAdo.Update(order) >= 1)
                                {
                                    SystemResponse.Output(SystemResponse.TYPE_OK, out statusCode, out responseJson);
                                }
                                else
                                {
                                    SystemResponse.Output(SystemResponse.TYPE_NULL, out statusCode, out responseJson);
                                }
                            }
                        }
                        else
                        {
                            SystemResponse.Output(SystemResponse.TYPE_NULL, out statusCode, out responseJson);
                        }
                    }
                    #endregion

                    #region 客服确认供应商抢单数据
                    else if (requestBody.action == 4)
                    {
                        //获取当前订单信息
                        ModelAdo <OrderModel> modelAdo = new ModelAdo <OrderModel>();
                        OrderModel            order    = modelAdo.GetModel("id=?oid AND ostatus=?ostatus", "",
                                                                           new MySqlParameter("?oid", requestBody.oid),
                                                                           new MySqlParameter("?ostatus", 3));
                        order.ostatus    = 4;
                        order.sendRemark = "客服确认供应商抢单数据";
                        if (order != null)
                        {
                            if (modelAdo.Update(order) >= 1)
                            {
                                //删除派单供应商对应订单中间表数据
                                ModelAdo <OrderUserModel> ouModelAdo = new ModelAdo <OrderUserModel>();
                                int delCount = ouModelAdo.ExecuteSql("DELETE FROM ct_order_user WHERE oid=?oid",
                                                                     new MySqlParameter("?oid", requestBody.oid));
                                if (delCount >= 1)
                                {
                                    SystemResponse.Output(SystemResponse.TYPE_OK, out statusCode, out responseJson);
                                }
                                else
                                {
                                    SystemResponse.Output(SystemResponse.TYPE_NULL, out statusCode, out responseJson);
                                }
                            }
                        }
                        else
                        {
                            SystemResponse.Output(SystemResponse.TYPE_NULL, out statusCode, out responseJson);
                        }
                    }
                    #endregion

                    #region 客服确认关闭已确认数据
                    else if (requestBody.action == 5)
                    {
                        //获取当前订单信息
                        ModelAdo <OrderModel> closeModelAdo = new ModelAdo <OrderModel>();
                        OrderModel            closeOrder    = closeModelAdo.GetModel("id=?oid AND ostatus=?ostatus", "",
                                                                                     new MySqlParameter("?oid", requestBody.oid),
                                                                                     new MySqlParameter("?ostatus", 4));
                        closeOrder.ostatus    = 5;
                        closeOrder.sendRemark = "客服确认完成订单数据";
                        if (closeOrder != null)
                        {
                            if (closeModelAdo.Update(closeOrder) >= 1)
                            {
                                SystemResponse.Output(SystemResponse.TYPE_OK, out statusCode, out responseJson);

                                //删除派单供应商对应订单中间表数据
                                ModelAdo <OrderUserModel> ouModelAdo = new ModelAdo <OrderUserModel>();
                                int delCount = ouModelAdo.ExecuteSql("DELETE FROM ct_order_user WHERE oid=?oid",
                                                                     new MySqlParameter("?oid", requestBody.oid));
                                //if (delCount >= 1)
                                //{
                                //}
                                //else
                                //{
                                //}
                            }
                            else
                            {
                                SystemResponse.Output(SystemResponse.TYPE_NULL, out statusCode, out responseJson);
                            }
                        }
                        else
                        {
                            SystemResponse.Output(SystemResponse.TYPE_NULL, out statusCode, out responseJson);
                        }
                    }
                    #endregion

                    #region 其他
                    else
                    {
                        SystemResponse.Output(SystemResponse.TYPE_NULLPARAMETER, out statusCode, out responseJson);
                    }
                    #endregion
                }
            }
        }
        public List <OrderUserModel> GetTable(DateTime chuumon_tsuki, String hinmoku_cd)
        {
            List <OrderUserModel> orderUser = new List <OrderUserModel>();
            var dataTable = (from a in _dbContext.TtWebHatsuchuumeisai
                             // from b in _dbContext.TtWebKanjounengetsu.Where(x => x.FEdiKanjounengetsuNo == a.FChuumonMeisaiNo).DefaultIfEmpty()
                             from c in _dbContext.TtWebShiiresaki.Where(x => x.FShiiresakiCd == a.FShiiresakiCd).DefaultIfEmpty()
                             select new
            {
                a.FEdiHatsuchuumeisaiId,
                c.FToiawaseTantoushaMei,
                c.FToiawaseTel,
                c.FToiawaseFax,
                a.FChuumonMeisaiJoutaiKubun,
                a.FChuumonHi,
                a.FChuumonNo,
                a.FChuumonMeisaiGyou,
                a.FSeiban,
                a.FHinmokuCd,
                a.FHinmokuMei,
                a.FKoubaiKishumei,
                a.FSaizuW,
                a.FSaizuH,
                a.FSaizuL,
                a.FShiyouJouhou,
                a.FShiyouBikou,
                a.FKibouNouki,
                a.FSuuryou,
                a.FTaniMei,
                a.FChuumonTanka,
                a.FChuumonKingaku,
                a.FShouhizeiKingaku,
                a.FNounyuusakiMei,
                a.FTanaban,
                a.FChuumonMeisaiBikou1,
                a.FJushinNichiji,
                a.FKakuninNichiji,
                a.FKoushinTaimusutanpu,
                a.FKoushinYuzaId,
                a.FKoushinKonpyutaMei,
                a.FKoushinKinouId,
                a.FKoushinKontororuNo,
                a.FBajon
            }).ToList();

            foreach (var item in dataTable)
            {
                OrderUserModel term = new OrderUserModel();
                term.f_chuumon_tsuki               = chuumon_tsuki;
                term.f_edi_hatsuchuumeisai_id      = item.FEdiHatsuchuumeisaiId;
                term.f_toiawase_tel                = item.FToiawaseTel;
                term.f_toiawase_fax                = item.FToiawaseFax;
                term.f_toiawase_tantousha_mei      = item.FToiawaseTantoushaMei;
                term.f_chuumon_meisai_joutai_kubun = item.FChuumonMeisaiJoutaiKubun;
                term.f_chuumon_hi          = item.FChuumonHi;
                term.f_chuumon_no          = item.FChuumonNo;
                term.f_chuumon_meisai_gyou = item.FChuumonMeisaiGyou;
                term.f_seiban                = item.FSeiban;
                term.f_hinmoku_cd            = item.FHinmokuCd;
                term.f_hinmoku_mei           = item.FHinmokuMei;
                term.f_koubai_kishumei       = item.FKoubaiKishumei;
                term.f_saizu_w               = item.FSaizuW;
                term.f_saizu_h               = item.FSaizuH;
                term.f_saizu_l               = item.FSaizuL;
                term.f_shiyou_jouhou         = item.FShiyouJouhou;
                term.f_shiyou_bikou          = item.FShiyouBikou;
                term.f_kibou_nouki           = item.FKibouNouki;
                term.f_suuryou               = item.FSuuryou;
                term.f_tani_mei              = item.FTaniMei;
                term.f_chuumon_tanka         = item.FChuumonTanka;
                term.f_chuumon_kingaku       = item.FChuumonKingaku;
                term.f_shouhizei_kingaku     = item.FShouhizeiKingaku;
                term.f_nounyuusaki_mei       = item.FNounyuusakiMei;
                term.f_tanaban               = item.FTanaban;
                term.f_chuumon_meisai_bikou1 = item.FChuumonMeisaiBikou1;
                term.f_jushin_nichiji        = item.FJushinNichiji;
                term.f_kakunin_nichiji       = item.FKakuninNichiji;
                term.f_koushin_taimusutanpu  = item.FKoushinTaimusutanpu;
                term.f_koushin_yuza_id       = item.FKoushinYuzaId;
                term.f_koushin_konpyuta_mei  = item.FKoushinKonpyutaMei;
                term.f_koushin_kinou_id      = item.FKoushinKinouId;
                term.f_koushin_kontororu_no  = item.FKoushinKontororuNo;
                term.f_bajon = item.FBajon;
                orderUser.Add(term);
            }
            return(orderUser);
        }