Exemple #1
0
        public JsonResult AddressApproveAll(int action, string reason, string applicant)
        {
            var        channel  = PreApprovalClientChannelFactory.GetChannel();
            P_USERINFO userInfo = Session[MealH5.Util.ConstantHelper.CURRENTWXUSER] as P_USERINFO;

            try
            {
                var list = channel.LoadMyAddressApproveAll(CurrentWxUser.UserId, applicant);
                if (list.Count > 0)
                {
                    foreach (var item in list)
                    {
                        var res = channel.AddressApprove(item, reason);
                        if (res == 1)
                        {
                            P_AddressApproveHistory addressApproveHistory = new P_AddressApproveHistory()
                            {
                                ID          = Guid.NewGuid(),
                                DA_ID       = item.ID,
                                UserName    = userInfo.Name,
                                UserId      = userInfo.UserId,
                                ActionType  = action,
                                ApproveDate = DateTime.Now,
                                Comments    = reason,
                                type        = 0,
                                IsDelete    = 0
                            };
                            //添加审批记录
                            //var historyRes = channel.AddAddressApproveHistory(addressApproveHistory);
                            //if (historyRes == 0)
                            //{
                            //    LogHelper.Info($"审批成功,添加审批记录失败 - [{ item.ID},{userInfo.UserId}]");
                            //}
                            P_AddressApproval addressApproval = new P_AddressApproval();
                            addressApproval.ID = item.ID;
                            // 发用户消息
                            WxMessageHandler.GetInstance().SendAddressApprovalStateChangeMessageToUser(addressApproval);
                        }
                        else
                        {
                            LogHelper.Info($" 审批地址申请失败 - [{item.ID}]");
                        }
                    }
                    return(Json(new { state = 1, txt = "地址申请审批通过。" }));
                }
                else
                {
                    return(Json(new { state = 1, txt = "当前没有待审批地址申请数据。" }));
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error("Exception AddressApproveAll", ex);
                return(Json(new { state = 0, txt = "地址申请审批失败,请刷新页面后重试。", errCode = 9007 }));
            }
        }
Exemple #2
0
        public JsonResult AddressApproveSelected(List <string> Ids)
        {
            var channel = PreApprovalClientChannelFactory.GetChannel();

            P_AddressApproval addressApproval = new P_AddressApproval();

            P_AddressApproval_View addressApproval_View = new P_AddressApproval_View();
            var preApprovalChannel = PreApprovalClientChannelFactory.GetChannel();

            P_USERINFO userInfo = Session[MealH5.Util.ConstantHelper.CURRENTWXUSER] as P_USERINFO;


            try
            {
                foreach (var id in Ids)
                {
                    addressApproval_View = channel.LoadAddressApprovalInfo(Guid.Parse(id));
                    var res = preApprovalChannel.AddressApprove(addressApproval_View, "");
                    if (res == 1)
                    {
                        P_AddressApproveHistory addressApproveHistory = new P_AddressApproveHistory()
                        {
                            ID          = Guid.NewGuid(),
                            DA_ID       = Guid.Parse(id),
                            UserName    = userInfo.Name,
                            UserId      = userInfo.UserId,
                            ActionType  = 1,
                            ApproveDate = DateTime.Now,
                            Comments    = "",
                            type        = 0,
                            IsDelete    = 0
                        };
                        //添加审批记录
                        //var historyRes = preApprovalChannel.AddAddressApproveHistory(addressApproveHistory);
                        //if (historyRes == 0)
                        //{
                        //    LogHelper.Info($"审批成功,添加审批记录失败 - [{ id},{userInfo.UserId}]");
                        //}
                        // 发用户消息
                        addressApproval.ID = Guid.Parse(id);
                        WxMessageHandler.GetInstance().SendAddressApprovalStateChangeMessageToUser(addressApproval);
                        LogHelper.Info($"地址申请审批通过 - [{ id},{userInfo.UserId}]");
                    }
                    else
                    {
                        LogHelper.Info($" 审批地址申请失败 - [{id}]");
                    }
                }
                return(Json(new { state = 1, txt = "地址申请审批通过。" }));
            }
            catch (Exception ex)
            {
                LogHelper.Error("Exception AddressApprove", ex);
                return(Json(new { state = 0, txt = "地址申请审批失败,请刷新页面后重试。", errCode = 9007 }));
            }
        }
        public ActionResult UploadOrder()
        {
            //用户信息
            P_USERINFO userInfo   = Session[MealH5.Util.ConstantHelper.CURRENTWXUSER] as P_USERINFO;
            var        channel    = UploadOrderApiClientChannelFactory.GetChannel();
            var        listHTCode = channel.LoadHTCode(userInfo.UserId);

            ViewBag.listHTCode = listHTCode;
            return(View(listHTCode));
        }
        public ActionResult ChooseHospital()
        {
            SetResponseFlag();
            // 标记当前是新单
            ChangeOrderID = null;
            OrderInfo     = null;

            var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
            var listMarket      = baseDataChannel.LoadMarket();

            var channelUser = UserInfoClientChannelFactory.GetChannel();
            var channelBase = BaseDataClientChannelFactory.GetChannel();

            var userId   = CurrentWxUser.UserId;
            var userInfo = channelUser.FindByUserId(userId);

            if (userInfo == null)
            {
                userInfo = new P_USERINFO()
                {
                    UserId = userId
                };
            }

            if (userInfo.IsCheckedStatement == 0)
            {
                return(RedirectToAction("Statement", "Other"));
            }

            var listGroup = channelBase.LoadUserGroup(userId).Select(a => a.GroupType).ToArray();

            if (listGroup.Contains(GroupType.ServPause))
            {
                userInfo.IsServPause = 1;
            }
            if (listGroup.Contains(GroupType.OutSideHT))
            {
                userInfo.IsOutSideHT = 1;
            }
            CurrentWxUser = userInfo;
            var market = CurrentWxUser.Market;

            market                = market ?? "";
            ViewBag.Market        = market;
            ViewBag.listMarket    = listMarket.Where(a => a.Name == market).ToList();
            ViewBag.IsServPause   = CurrentWxUser.IsServPause;
            ViewBag.IsOutSideHT   = CurrentWxUser.IsOutSideHT;
            ViewBag.CurrentUserId = CurrentWxUser.UserId;
            return(View());
        }
Exemple #5
0
        public JsonResult SendSpecialWxMessage(Guid id)
        {
            P_AddressApproval addressApproval = new P_AddressApproval();

            addressApproval.ID = id;
            P_AddressApproval_View addressApproval_View = new P_AddressApproval_View();
            var preApprovalChannel = PreApprovalClientChannelFactory.GetChannel();
            var channel            = PreApprovalClientChannelFactory.GetChannel();

            addressApproval_View = channel.LoadAddressApprovalInfo(id);
            P_USERINFO userInfo = Session[MealH5.Util.ConstantHelper.CURRENTWXUSER] as P_USERINFO;
            string     msg      = "";

            try
            {
                var res = preApprovalChannel.AddressApprove(addressApproval_View, "该医院已被删除");
                if (res == 1)
                {
                    P_AddressApproveHistory addressApproveHistory = new P_AddressApproveHistory()
                    {
                        ID          = Guid.NewGuid(),
                        DA_ID       = id,
                        UserName    = userInfo.Name,
                        UserId      = userInfo.UserId,
                        ActionType  = 2,
                        ApproveDate = DateTime.Now,
                        Comments    = "该医院已被删除",
                        type        = 0,
                        IsDelete    = 0
                    };

                    WxMessageHandler.GetInstance().SendSpecialMessageToUser(addressApproval);
                    return(Json(new { state = 1, txt = msg }));
                }
                else
                {
                    LogHelper.Info($" 审批地址申请失败 - [{id}]");
                    return(Json(new { state = 0, txt = "地址申请审批失败,请刷新页面后重试。", errCode = 9007 }));
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error("Exception SendWxMessage", ex);
                return(Json(new { state = 0, txt = "", errCode = 9007 }));
            }
        }
Exemple #6
0
        public JsonResult ApproveSelected(List <string> Ids)
        {
            bool       hasOverDate = false;
            var        channel     = PreApprovalClientChannelFactory.GetChannel();
            P_USERINFO userInfo    = Session[MealH5.Util.ConstantHelper.CURRENTWXUSER] as P_USERINFO;

            foreach (var item in Ids)
            {
                var preApproval = channel.LoadPreApprovalInfo(Guid.Parse(item));
                if (preApproval.MeetingDate < DateTime.Now)
                {
                    hasOverDate = true;
                    continue;
                }
                var res = channel.BUHeadApprove(Guid.Parse(item), 3, "");
                if (res == 1)
                {
                    P_PreApprovalApproveHistory preApprovalHistory = new P_PreApprovalApproveHistory()
                    {
                        ID          = Guid.NewGuid(),
                        PID         = Guid.Parse(item),
                        UserName    = userInfo.Name,
                        UserId      = userInfo.UserId,
                        ActionType  = 3,
                        ApproveDate = DateTime.Now,
                        Comments    = "",
                        type        = 2
                    };
                    //添加审批记录
                    var historyRes = channel.AddPreApprovalApproveHistory(preApprovalHistory);
                    if (historyRes == 0)
                    {
                        LogHelper.Info($"审批通过,添加审批记录失败 - [{ item}]");
                    }
                    // 发用户消息
                    //var preApproval = channel.LoadPreApprovalInfo(Guid.Parse(item));
                    WxMessageHandler.GetInstance().SendPreApprovalStateChangeMessageToUser(preApproval);
                }
                else
                {
                    LogHelper.Info($"(审批通过)预申请状态修改失败 - [{ item}]");
                }
            }
            return(Json(new { state = 1, txt = hasOverDate == true ? "预申请已批量审批通过,会议日期失效部分系统已忽略。" : "预申请已批量审批通过。" }));
        }
Exemple #7
0
        /// <summary>
        /// 添加使用人信息
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public int Add(P_USERINFO entity)
        {
            var sqlServerTemplate = sqlServerTemplFactory.CreateDbTemplate();

            using (var conn = sqlServerTemplate.GetSqlConnection())
            {
                conn.Open();
                return(sqlServerTemplate.ExecuteNonQuery("INSERT INTO P_USERINFO " +
                                                         " (ID,UserId,Name,PhoneNumber,CreateDate)" + "VALUES (@ID,@UserId,@Name,@PhoneNumber,@CreateDate)",
                                                         new SqlParameter[]
                {
                    SqlParameterFactory.GetSqlParameter("@ID", entity.ID),
                    SqlParameterFactory.GetSqlParameter("@UserId", entity.UserId),
                    SqlParameterFactory.GetSqlParameter("@Name", entity.Name),
                    SqlParameterFactory.GetSqlParameter("@PhoneNumber", entity.PhoneNumber),
                    SqlParameterFactory.GetSqlParameter("@CreateDate", entity.CreateDate)
                }));
            }
        }
Exemple #8
0
        private void button3_Click(object sender, EventArgs e)
        {
            var channel = MealAdminApiClient.UserInfoClientChannelFactory.GetChannel();

            var res2 = channel.Edit("TJ_011", "18877776666", "");



            P_USERINFO entity = new P_USERINFO();

            entity.ID          = Guid.NewGuid();
            entity.UserId      = "TJ_011";
            entity.Name        = "韩利胜";
            entity.PhoneNumber = "18393911179";
            entity.CreateDate  = DateTime.Now;
            var res = channel.Add(entity);


            var res1 = channel.FindByUserId("TJ_011");
        }
        public JsonResult ApproveSelected(List <string> Ids)
        {
            var        channel  = UploadOrderApiClientChannelFactory.GetChannel();
            P_USERINFO userInfo = Session[MealH5.Util.ConstantHelper.CURRENTWXUSER] as P_USERINFO;

            foreach (var item in Ids)
            {
                var res = channel.BUHeadApprove(Guid.Parse(item), 3, "");
                if (res == 1)
                {
                    P_OrderApproveHistory orderHistory = new P_OrderApproveHistory()
                    {
                        ID          = Guid.NewGuid(),
                        PID         = Guid.Parse(item),
                        UserName    = userInfo.Name,
                        UserId      = userInfo.UserId,
                        ActionType  = 3,
                        ApproveDate = DateTime.Now,
                        Comments    = "",
                        type        = 2
                    };
                    //添加审批记录
                    var historyRes = channel.AddOrderApproveHistory(orderHistory);
                    if (historyRes == 0)
                    {
                        LogHelper.Info($"审批通过,添加审批记录失败 - [{ item}]");
                    }
                    // 发用户消息
                    var orderInfo = channel.LoadPreUploadOrder(Guid.Parse(item));
                    WxMessageHandler.GetInstance().SendOrderStateChangeMessageToUser(orderInfo);
                }
                else
                {
                    LogHelper.Info($"(审批通过)上传文件状态修改失败 - [{ item}]");
                }
            }
            return(Json(new { state = 1, txt = "上传文件已批量审批通过。" }));
        }
        /// <summary>
        /// 文件上传审批
        /// </summary>
        /// <param name="id"></param>
        /// <param name="state"></param>
        /// <param name="reason"></param>
        /// <returns></returns>
        public JsonResult OrderApprove(Guid id, int state, string reason)
        {
            var        uploadChannel = UploadOrderApiClientChannelFactory.GetChannel();
            P_USERINFO userInfo      = Session[MealH5.Util.ConstantHelper.CURRENTWXUSER] as P_USERINFO;

            //审批通过
            if (state == 3)
            {
                var res   = uploadChannel.BUHeadApprove(id, state, reason);
                var order = uploadChannel.LoadPreUploadOrder(id);

                if (res == 1)
                {
                    P_OrderApproveHistory orderlHistory = new P_OrderApproveHistory()
                    {
                        ID          = Guid.NewGuid(),
                        PID         = id,
                        UserName    = userInfo.Name,
                        UserId      = userInfo.UserId,
                        ActionType  = state,
                        ApproveDate = DateTime.Now,
                        Comments    = reason,
                        type        = 2
                    };
                    //添加审批记录
                    var historyRes = uploadChannel.AddOrderApproveHistory(orderlHistory);
                    if (historyRes == 0)
                    {
                        LogHelper.Info($"审批通过,添加审批记录失败 - [{ id}]");
                    }
                    // 发用户消息  修改SendOrderStateChangeMessageToUser
                    try
                    {
                        WxMessageHandler.GetInstance().SendOrderStateChangeMessageToUser(order);
                        string returnMessage = "上传文件已审批通过。";
                        switch (order.FileType)
                        {
                        case 1:
                            returnMessage = "退单原因已审批通过。"; break;

                        case 2:
                            returnMessage = "会议支持文件丢失原因已审批通过。"; break;

                        case 3:
                            returnMessage = "未送达,会议未正常召开原因已审批通过。"; break;
                        }
                        return(Json(new { state = 1, txt = returnMessage }));
                    }
                    catch (Exception ex)
                    {
                        string returnMessage = "上传文件失败。";
                        LogHelper.Info($"调用SendOrderStateChangeMessageToUser失败-[{ex.Message}]");
                        return(Json(new { state = 0, txt = returnMessage }));
                    }
                }
                else
                {
                    LogHelper.Info($"(审批通过)文件上传状态修改失败 - [{ id}]");
                }
            }
            else
            {
                var res       = uploadChannel.BUHeadReject(id, state, reason);
                var orderInfo = uploadChannel.LoadPreUploadOrder(id);
                if (res == 1)
                {
                    P_OrderApproveHistory orderHistory = new P_OrderApproveHistory()
                    {
                        ID          = Guid.NewGuid(),
                        PID         = id,
                        UserName    = userInfo.Name,
                        UserId      = userInfo.UserId,
                        ActionType  = state,
                        ApproveDate = DateTime.Now,
                        Comments    = reason,
                        type        = 2
                    };
                    //添加审批记录
                    var historyRes = uploadChannel.AddOrderApproveHistory(orderHistory);
                    if (historyRes == 0)
                    {
                        LogHelper.Info($"审批驳回,添加审批记录失败 - [{ id}]");
                    }
                    // 发用户消息
                    WxMessageHandler.GetInstance().SendOrderRejectMessageToUser(reason, orderInfo);
                    string returnMessage = "上传文件已审批被驳回。";
                    switch (orderInfo.FileType)
                    {
                    case 1:
                        returnMessage = "退单原因已审批被驳回。"; break;

                    case 2:
                        returnMessage = "会议支持文件丢失原因已审批被驳回。"; break;

                    case 3:
                        returnMessage = "未送达,会议未正常召开原因已审批被驳回。"; break;
                    }
                    return(Json(new { state = 1, txt = returnMessage }));
                }
                else
                {
                    LogHelper.Info($"(审批驳回)上传文件状态修改失败 - [{ id}]");
                }
            }
            return(Json(new { state = 0, txt = "上传文件审批失败,请刷新页面后重试。", errCode = 9007 }));
        }
Exemple #11
0
 public int Add(P_USERINFO entity)
 {
     return(userInfoDao.Add(entity));
 }
        /// <summary>
        /// 进入Action之前进行拦截
        /// </summary>
        /// <param name="filterContext"></param>
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            filterContext.HttpContext.Response.Headers.Add("mic", "1");

            var uri = filterContext.HttpContext.Request.AppRelativeCurrentExecutionFilePath;

            HttpSessionStateBase Session = filterContext.HttpContext.Session;
            var wxUser = Session[ConstantHelper.CURRENTWXUSER] as P_USERINFO;

            if (wxUser == null || string.IsNullOrEmpty(wxUser.UserId))
            {
                var user_ticket = filterContext.HttpContext.Request["user_ticket"];
                if (string.IsNullOrEmpty(user_ticket))
                {
                    // 还未通过oauth2取得openid

                    var oauth2url = $"{ConfigurationManager.AppSettings["ShortUrlService"]}/s/{MappingKey}";
                    if (CallBackUrl)
                    {
                        var nowUrl = System.Configuration.ConfigurationManager.AppSettings["CurrentRootDomain"] + filterContext.HttpContext.Request.Url.PathAndQuery;
                        oauth2url += $"?callback={HttpUtility.UrlEncode(nowUrl)}";
                    }

                    filterContext.Result = new RedirectResult(oauth2url);
                }
                else
                {
                    var getUserInfoUrl = $"{ConfigurationManager.AppSettings["iPathAuthService"]}/UrlMapping/GetUserInfoByTicket/{user_ticket}";
                    LogHelper.Info(getUserInfoUrl);

                    var json = ThreadWebClientFactory.GetWebClient().DownloadString(getUserInfoUrl);
                    LogHelper.Info(json);
                    var userInfoRes = JsonConvert.DeserializeObject <WxUserInfoRes>(json);
                    if (userInfoRes.state == 1 && userInfoRes.userinfo.errcode == 1)
                    {
                        var channelUser = UserInfoClientChannelFactory.GetChannel();
                        var channelBase = BaseDataClientChannelFactory.GetChannel();

                        var userId   = userInfoRes.userinfo.userId;
                        var userInfo = channelUser.FindByUserId(userId);
                        if (userInfo == null)
                        {
                            var res1 = channelUser.Find(userId);

                            P_USERINFO entity = new P_USERINFO();
                            entity.ID         = Guid.NewGuid();
                            entity.UserId     = userId;
                            entity.Name       = res1.Name;
                            entity.CreateDate = DateTime.Now;
                            var _res = channelUser.Add(entity);

                            userInfo = channelUser.FindByUserId(userId);
                        }

                        var listGroup = channelBase.LoadUserGroup(userId).Select(a => a.GroupType).ToArray();

                        if (listGroup.Contains(GroupType.ServPause))
                        {
                            userInfo.IsServPause = 1;
                        }
                        if (listGroup.Contains(GroupType.OutSideHT))
                        {
                            userInfo.IsOutSideHT = 1;
                        }


                        Session[ConstantHelper.CURRENTWXUSER] = userInfo;
                        var url = filterContext.HttpContext.Request.RawUrl;
                        if (url.Contains("user_ticket"))
                        {
                            url = url.Replace($"user_ticket={user_ticket}", string.Empty);
                        }

                        filterContext.Result = new RedirectResult(url);
                    }
                    else
                    {
                        // 没有权限
                        filterContext.Result = new ContentResult()
                        {
                            Content = "您无使用此功能的权限"
                        };
                    }
                }
            }
            else
            {
                var           IsPublishProgram = ConfigurationManager.AppSettings["IsPublishProgram"];
                var           SystemCoders     = ConfigurationManager.AppSettings["SystemCoders"];
                List <string> Coders           = new List <string>();
                if (!string.IsNullOrEmpty(SystemCoders))
                {
                    Coders = SystemCoders.Split(';').ToList();
                }
                if (IsPublishProgram == "1" && !Coders.Contains(wxUser.UserId))
                {
                    var LocalService = ConfigurationManager.AppSettings["LocalService"];
                    filterContext.Result = new RedirectResult(LocalService + "/P/Publish/Index");
                }
            }
        }
        public ActionResult Personal()
        {
            var channel = MealAdminApiClient.UserInfoClientChannelFactory.GetChannel();
            var userId  = CurrentWxUser.UserId;

            var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
            var listMarket      = baseDataChannel.LoadMarket();

            ViewBag.listMarket = listMarket;

            //var isDevGroup = baseDataChannel.IsDevGroup(userId);

            var listTACode     = baseDataChannel.LoadTACode(userId);
            var listMarketCode = baseDataChannel.LoadMarketByUserId(userId);

            if (listTACode != null && listTACode.Count > 0)
            {
                ViewBag.listMarket = listMarketCode;
                ViewBag.listTACode = listTACode;
            }
            else
            {
                ViewBag.listTACode = new List <P_TACode>();
            }


            var resta = channel.FindTAByUserId(userId);

            if (resta != null)
            {
                ViewBag.Name        = resta.Name;
                ViewBag.UserId      = resta.UserId;
                ViewBag.PhoneNumber = resta.PhoneNumber;
                ViewBag.Market      = resta.Market;
                ViewBag.TACODE      = resta.TerritoryCode;

                if (listMarketCode != null && listMarketCode.Count > 0 && !listMarketCode.Select(x => x.Name).Contains(resta.Market))
                {
                    ViewBag.Market = listMarketCode.FirstOrDefault().Name;
                    //var MarketList = listMarket.Where(x => x.Name == resta.Market);
                    //if (MarketList != null && MarketList.Count() > 0)
                    //{
                    //    listMarketCode.Add(MarketList.FirstOrDefault());
                    //}
                }
                //else
                //{
                //    var MarketList = listMarket.Where(x => x.Name == resta.Market);
                //    if(MarketList != null && MarketList.Count() > 0)
                //    {
                //        listMarketCode.Add(MarketList.FirstOrDefault());
                //    }
                //}
            }
            else
            {
                //var res = channel.FindByUserId(userId);
                //if (res != null)
                //{
                //    ViewBag.Name = res.Name;
                //    ViewBag.UserId = res.UserId;
                //    ViewBag.PhoneNumber = res.PhoneNumber;
                //    ViewBag.Market = res.Market;
                //    ViewBag.TACODE = res.TerritoryCode;
                //}

                //else
                //{
                var res1 = channel.Find(userId);

                P_USERINFO entity = new P_USERINFO();
                entity.ID         = Guid.NewGuid();
                entity.UserId     = userId;
                entity.Name       = res1.Name;
                entity.CreateDate = DateTime.Now;
                var _res = channel.Add(entity);

                ViewBag.Name   = res1.Name;
                ViewBag.UserId = userId;
                if (string.IsNullOrEmpty(res1.PhoneNumber))
                {
                    ViewBag.PhoneNumber = "";
                }
                else
                {
                    ViewBag.PhoneNumber = res1.PhoneNumber;
                }
                //}
            }



            return(View());
        }
        /// <summary>
        /// 文件上传审批
        /// </summary>
        /// <param name="id"></param>
        /// <param name="state"></param>
        /// <param name="reason"></param>
        /// <returns></returns>
        public JsonResult SaveMMCoEResult(Guid id, int state, string reason)
        {
            var        orderChannel = UploadOrderApiClientChannelFactory.GetChannel();
            P_USERINFO userInfo     = Session[MealH5.Util.ConstantHelper.CURRENTWXUSER] as P_USERINFO;
            //审批通过
            int pstate = 6;

            if (state == 3)
            {
                var preApproval = orderChannel.LoadPreUploadOrder(id);
                var res         = orderChannel.MMCoEApprove(id, pstate, reason);

                if (res == 1)
                {
                    P_OrderApproveHistory orderHistory = new P_OrderApproveHistory()
                    {
                        ID          = Guid.NewGuid(),
                        PID         = id,
                        UserName    = userInfo.Name,
                        UserId      = userInfo.UserId,
                        ActionType  = state,
                        ApproveDate = DateTime.Now,
                        Comments    = reason,
                        type        = 1
                    };
                    //添加审批记录
                    var historyRes = orderChannel.AddOrderApproveHistory(orderHistory);
                    if (historyRes == 0)
                    {
                        LogHelper.Info($"审批通过,添加审批记录失败 - [{ id}]");
                    }
                    // 发用户消息
                    WxMessageHandler.GetInstance().SendOrderStateChangeMessageToUser(preApproval);
                    return(Json(new { state = 1, txt = "文件上传已审批通过。" }));
                }
                else
                {
                    LogHelper.Info($"(审批通过)文件上传状态修改失败 - [{ id}]");
                }
            }
            else
            {
                pstate = 2;
                var res       = orderChannel.MMCoEReject(id, pstate, reason);
                var orderInfo = orderChannel.LoadPreUploadOrder(id);
                orderInfo.State = "2";
                if (res == 1)
                {
                    P_OrderApproveHistory orderHistory = new P_OrderApproveHistory()
                    {
                        ID          = Guid.NewGuid(),
                        PID         = id,
                        UserName    = userInfo.Name,
                        UserId      = userInfo.UserId,
                        ActionType  = state,
                        ApproveDate = DateTime.Now,
                        Comments    = reason,
                        type        = 1
                    };
                    //添加审批记录
                    var historyRes = orderChannel.AddOrderApproveHistory(orderHistory);
                    if (historyRes == 0)
                    {
                        LogHelper.Info($"审批驳回,添加审批记录失败 - [{ id}]");
                    }
                    // 发用户消息
                    WxMessageHandler.GetInstance().SendOrderRejectMessageToUser(reason, orderInfo);
                    return(Json(new { state = 1, txt = "文件上传已审批驳回。" }));
                }
                else
                {
                    LogHelper.Info($"(审批驳回)文件上传状态修改失败 - [{ id}]");
                }
            }
            return(Json(new { state = 0, txt = "文件上传审批失败,请刷新页面后重试。", errCode = 9007 }));
        }
        public JsonResult _Submit(string htCode, string MMCoEImageOne, string MMCoEImageTwo, string MMCoEImageThree, int FileType, int IsAttentSame, string AttentSameReason, string SpecialReason, int IsAddFile, int IsMeetingInfoSame, string MeetingInfoSameReason, string Memo)
        {
            //用户信息
            P_USERINFO userInfo        = Session[MealH5.Util.ConstantHelper.CURRENTWXUSER] as P_USERINFO;
            var        uploadChannel   = UploadOrderApiClientChannelFactory.GetChannel();
            var        userInfoChannel = UserInfoClientChannelFactory.GetChannel();
            var        orderChannel    = OrderApiClientChannelFactory.GetChannel();
            //DM
            var uploadInfo = uploadChannel.FindApproveInfo(userInfo.UserId);


            if (uploadInfo == null || uploadInfo.UserId == null)
            {
                return(Json(new { state = 0, txt = "您的直线经理信息有误,请隔日再尝试提交。", errCode = 6666 }));
            }

            var uploadInfoDMDelegate = userInfoChannel.isAgent(uploadInfo.UserId);
            //RM
            var            uploaderRMInfo     = new WP_QYUSER();
            var            uploaderRDInfo     = new WP_QYUSER();
            P_UserDelegate uploaderRDDelegate = null;

            if (uploadInfo != null && uploadInfo.UserId != null)
            {
                uploaderRMInfo = uploadChannel.FindApproveInfo(uploadInfo.UserId);

                if (uploaderRMInfo != null && uploaderRMInfo.UserId != null)
                {
                    //RD/SD
                    uploaderRDInfo     = uploadChannel.FindApproveInfo(uploaderRMInfo.UserId);
                    uploaderRDDelegate = userInfoChannel.isAgent(uploaderRDInfo.UserId);
                }
            }

            var orderInfo   = orderChannel.FindOrderByCN(htCode);
            var orderUpload = new P_PREUPLOADORDER();

            orderUpload.ID                    = Guid.NewGuid();
            orderUpload.ApplierName           = orderInfo.IsTransfer == 0 ? userInfo.Name : orderInfo.Consignee;                                                                                                                                           //登录人姓名
            orderUpload.ApplierMUDID          = orderInfo.IsTransfer == 0 ? userInfo.UserId : orderInfo.UserId;                                                                                                                                            //登录人ID
            orderUpload.CreateDate            = DateTime.Now;                                                                                                                                                                                              //创建日期
            orderUpload.ModifyDate            = orderUpload.CreateDate;                                                                                                                                                                                    //修改日期
            orderUpload.HTCode                = htCode;                                                                                                                                                                                                    //HT编号
            orderUpload.BUHeadName            = FileType == 2 ? (uploaderRDDelegate == null ? uploaderRDInfo.Name : uploaderRDDelegate.DelegateUserName) : (uploadInfoDMDelegate == null ? uploadInfo.Name : uploadInfoDMDelegate.DelegateUserName);       //审批人姓名
            orderUpload.BUHeadMUDID           = FileType == 2 ? (uploaderRDDelegate == null ? uploaderRDInfo.UserId : uploaderRDDelegate.DelegateUserMUDID) : (uploadInfoDMDelegate == null ? uploadInfo.UserId : uploadInfoDMDelegate.DelegateUserMUDID); //审批人ID
            orderUpload.IsReAssign            = false;                                                                                                                                                                                                     //是否重新分配
            orderUpload.State                 = "1";                                                                                                                                                                                                       //状态
            orderUpload.MMCoEImageOne         = MMCoEImageOne;                                                                                                                                                                                             //上传文件1
            orderUpload.MMCoEImageTwo         = MMCoEImageTwo;                                                                                                                                                                                             //上传文件2
            orderUpload.MMCoEImageThree       = MMCoEImageThree;                                                                                                                                                                                           //上传文件2
            orderUpload.FileType              = FileType;
            orderUpload.IsAttentSame          = IsAttentSame;
            orderUpload.AttentSameReason      = AttentSameReason;
            orderUpload.SpecialReason         = SpecialReason;
            orderUpload.IsAddFile             = IsAddFile;
            orderUpload.IsMeetingInfoSame     = IsMeetingInfoSame;
            orderUpload.MeetingInfoSameReason = MeetingInfoSameReason;
            orderUpload.Memo                  = Memo;
            if (orderInfo.IsTransfer == 1)
            {
                orderUpload.IsTransfer            = orderInfo.IsTransfer;
                orderUpload.TransferUserName      = orderInfo.TransferUserName;
                orderUpload.TransferUserMUDID     = orderInfo.TransferUserMUDID;
                orderUpload.TransferOperatorName  = orderInfo.TransferOperatorName;
                orderUpload.TransferOperatorMUDID = orderInfo.TransferOperatorMUDID;
                orderUpload.TransferOperateDate   = orderInfo.TransferOperateDate;
            }
            var res = uploadChannel.Add(orderUpload);

            if (res > 0)
            {
                P_OrderApproveHistory history = new P_OrderApproveHistory()
                {
                    ID          = Guid.NewGuid(),
                    PID         = orderUpload.ID,
                    UserName    = userInfo.Name,
                    UserId      = userInfo.UserId,
                    ActionType  = 1,
                    ApproveDate = DateTime.Now,
                    type        = 2
                };
                uploadChannel.AddOrderApproveHistory(history);
                WxMessageHandler.GetInstance().SendOrderStateChangeMessageToUser(orderUpload);
                return(Json(new { state = 1 }));
            }
            if (res == 0)
            {
                return(Json(new { state = 0, txt = "您的文件已经提交过,请勿重复提交。", errCode = 5555 }));
            }
            else
            {
                return(Json(new { state = 0 }));
            }
        }
        public JsonResult _Edit(Guid UploadOrderId, string htCode, string MMCoEImageOne, string MMCoEImageTwo, string MMCoEImageThree, int FileType, int IsAttentSame, string AttentSameReason, string SpecialReason, int IsAddFile, int IsMeetingInfoSame, string MeetingInfoSameReason, string Memo)
        {
            //用户信息
            P_USERINFO userInfo        = Session[MealH5.Util.ConstantHelper.CURRENTWXUSER] as P_USERINFO;
            var        uploadChannel   = UploadOrderApiClientChannelFactory.GetChannel();
            var        userInfoChannel = UserInfoClientChannelFactory.GetChannel();
            var        orderChannel    = OrderApiClientChannelFactory.GetChannel();
            //DM
            var uploadInfo = uploadChannel.FindApproveInfo(userInfo.UserId);

            if (uploadInfo == null || uploadInfo.UserId == null)
            {
                return(Json(new { state = 0, txt = "您的直线经理信息有误,请隔日再尝试提交。", errCode = 6666 }));
            }

            var uploadInfoDMDelegate = userInfoChannel.isAgent(uploadInfo.UserId);
            //RM
            var            uploaderRMInfo     = new WP_QYUSER();
            var            uploaderRDInfo     = new WP_QYUSER();
            P_UserDelegate uploaderRDDelegate = null;

            if (uploadInfo != null && uploadInfo.UserId != null)
            {
                uploaderRMInfo = uploadChannel.FindApproveInfo(uploadInfo.UserId);

                if (uploaderRMInfo != null && uploaderRMInfo.UserId != null)
                {
                    //RD/SD
                    uploaderRDInfo     = uploadChannel.FindApproveInfo(uploaderRMInfo.UserId);
                    uploaderRDDelegate = userInfoChannel.isAgent(uploaderRDInfo.UserId);
                }
            }

            var uploadOrderInfo = uploadChannel.LoadPreUploadOrder(UploadOrderId);
            var orderInfo       = orderChannel.FindOrderByCN(htCode);

            uploadOrderInfo.ModifyDate            = DateTime.Now;                                                                                                                                                                                              //修改日期
            uploadOrderInfo.State                 = "1";
            uploadOrderInfo.BUHeadName            = FileType == 2 ? (uploaderRDDelegate == null ? uploaderRDInfo.Name : uploaderRDDelegate.DelegateUserName) : (uploadInfoDMDelegate == null ? uploadInfo.Name : uploadInfoDMDelegate.DelegateUserName);       //审批人姓名
            uploadOrderInfo.BUHeadMUDID           = FileType == 2 ? (uploaderRDDelegate == null ? uploaderRDInfo.UserId : uploaderRDDelegate.DelegateUserMUDID) : (uploadInfoDMDelegate == null ? uploadInfo.UserId : uploadInfoDMDelegate.DelegateUserMUDID); //审批人ID
            uploadOrderInfo.MMCoEImageOne         = MMCoEImageOne;                                                                                                                                                                                             //上传文件1
            uploadOrderInfo.MMCoEImageTwo         = MMCoEImageTwo;                                                                                                                                                                                             //上传文件2
            uploadOrderInfo.MMCoEImageThree       = MMCoEImageThree;                                                                                                                                                                                           //上传文件2
            uploadOrderInfo.IsAttentSame          = IsAttentSame;
            uploadOrderInfo.AttentSameReason      = AttentSameReason;
            uploadOrderInfo.SpecialReason         = SpecialReason;
            uploadOrderInfo.IsAddFile             = IsAddFile;
            uploadOrderInfo.IsMeetingInfoSame     = IsMeetingInfoSame;
            uploadOrderInfo.MeetingInfoSameReason = MeetingInfoSameReason;
            uploadOrderInfo.Memo = Memo;
            if (orderInfo.IsTransfer == 1)
            {
                uploadOrderInfo.IsTransfer            = orderInfo.IsTransfer;
                uploadOrderInfo.TransferUserName      = orderInfo.TransferUserName;
                uploadOrderInfo.TransferUserMUDID     = orderInfo.TransferUserMUDID;
                uploadOrderInfo.TransferOperatorName  = orderInfo.TransferOperatorName;
                uploadOrderInfo.TransferOperatorMUDID = orderInfo.TransferOperatorMUDID;
                uploadOrderInfo.TransferOperateDate   = orderInfo.TransferOperateDate;
            }
            uploadChannel.Update(uploadOrderInfo);
            P_OrderApproveHistory history = new P_OrderApproveHistory()
            {
                ID          = Guid.NewGuid(),
                PID         = UploadOrderId,
                UserName    = CurrentWxUser.Name,
                UserId      = CurrentWxUser.UserId,
                ActionType  = 4,
                ApproveDate = DateTime.Now,
                type        = 2
            };

            uploadChannel.AddOrderApproveHistory(history);

            WxMessageHandler.GetInstance().SendOrderStateChangeMessageToUser(uploadOrderInfo);
            return(Json(new { state = 1 }));
        }
Exemple #17
0
        public JsonResult AddressApprove(Guid id, int action, string reason)
        {
            P_AddressApproval addressApproval = new P_AddressApproval();

            addressApproval.ID = id;
            P_AddressApproval_View addressApproval_View = new P_AddressApproval_View();
            var preApprovalChannel = PreApprovalClientChannelFactory.GetChannel();
            var channel            = PreApprovalClientChannelFactory.GetChannel();

            addressApproval_View = channel.LoadAddressApprovalInfo(id);
            P_USERINFO userInfo = Session[MealH5.Util.ConstantHelper.CURRENTWXUSER] as P_USERINFO;
            string     msg      = "";

            try
            {
                var res = preApprovalChannel.AddressApprove(addressApproval_View, reason);
                if (res == 1)
                {
                    P_AddressApproveHistory addressApproveHistory = new P_AddressApproveHistory()
                    {
                        ID          = Guid.NewGuid(),
                        DA_ID       = id,
                        UserName    = userInfo.Name,
                        UserId      = userInfo.UserId,
                        ActionType  = action,
                        ApproveDate = DateTime.Now,
                        Comments    = reason,
                        type        = 0,
                        IsDelete    = 0
                    };
                    //添加审批记录
                    //var historyRes = preApprovalChannel.AddAddressApproveHistory(addressApproveHistory);
                    //if (historyRes == 0)
                    //{
                    //    LogHelper.Info($"审批成功,添加审批记录失败 - [{ id},{userInfo.UserId}]");
                    //}
                    // 发用户消息
                    WxMessageHandler.GetInstance().SendAddressApprovalStateChangeMessageToUser(addressApproval);
                    LogHelper.Info($"地址申请审批通过 - [{ id},{userInfo.UserId}]");
                    if (reason == "")
                    {
                        if (addressApproval_View.ApprovalStatus == 0)
                        {
                            msg = "地址申请审批通过。";
                        }
                        else if (addressApproval_View.ApprovalStatus == 9)
                        {
                            msg = "地址申请修改审批通过。";
                        }
                        else if (addressApproval_View.ApprovalStatus == 10)
                        {
                            msg = "地址申请重新提交审批通过。";
                        }
                    }
                    else
                    {
                        if (addressApproval_View.ApprovalStatus == 0)
                        {
                            msg = "地址申请审批驳回。";
                        }
                        else if (addressApproval_View.ApprovalStatus == 9)
                        {
                            msg = "地址申请修改审批驳回。";
                        }
                        else if (addressApproval_View.ApprovalStatus == 10)
                        {
                            msg = "地址申请重新提交审批驳回。";
                        }
                    }
                    return(Json(new { state = 1, txt = msg }));
                }
                else
                {
                    LogHelper.Info($" 审批地址申请失败 - [{id}]");
                    return(Json(new { state = 0, txt = "地址申请审批失败,请刷新页面后重试。", errCode = 9007 }));
                }
            }catch (Exception ex)
            {
                LogHelper.Error("Exception AddressApprove", ex);
                return(Json(new { state = 0, txt = "地址申请审批失败,请刷新页面后重试。", errCode = 9007 }));
            }
        }
Exemple #18
0
        public JsonResult ApproveAll(string end, string state, string applicant, int year, int month)
        {
            bool hasOverDate = false;
            var  beginTime   = "";
            var  endTime     = "";

            if (month == 0)
            {
                beginTime = year + "-01-01";
                year      = year + 1;
                endTime   = year + "-01-01";
            }
            else
            {
                beginTime = year + "-" + month + "-01";
                if (month == 12)
                {
                    year  = year + 1;
                    month = 1;
                }
                else
                {
                    month = month + 1;
                }
                endTime = year + "-" + month + "-01";
            }
            var        channel  = PreApprovalClientChannelFactory.GetChannel();
            P_USERINFO userInfo = Session[MealH5.Util.ConstantHelper.CURRENTWXUSER] as P_USERINFO;
            DateTime   _begin   = Convert.ToDateTime(beginTime);
            DateTime   _end     = Convert.ToDateTime(endTime);
            DateTime   __end    = Convert.ToDateTime(end);

            if (__end >= _begin && __end <= _end)
            {
                _end = __end;
            }
            var list = channel.LoadMyApproveAll(CurrentWxUser.UserId, applicant);

            if (list.Count > 0)
            {
                foreach (var item in list)
                {
                    if (item.MeetingDate < DateTime.Now)
                    {
                        hasOverDate = true;
                        continue;
                    }
                    var res = channel.BUHeadApprove(item.ID, 3, "");
                    item.State = "5";
                    if (res == 1)
                    {
                        P_PreApprovalApproveHistory preApprovalHistory = new P_PreApprovalApproveHistory()
                        {
                            ID          = Guid.NewGuid(),
                            PID         = item.ID,
                            UserName    = userInfo.Name,
                            UserId      = userInfo.UserId,
                            ActionType  = 3,
                            ApproveDate = DateTime.Now,
                            Comments    = "",
                            type        = 2
                        };
                        //添加审批记录
                        var historyRes = channel.AddPreApprovalApproveHistory(preApprovalHistory);
                        if (historyRes == 0)
                        {
                            LogHelper.Info($"审批通过,添加审批记录失败 - [{ item.ID}]");
                        }
                        // 发用户消息
                        WxMessageHandler.GetInstance().SendPreApprovalStateChangeMessageToUser(item);
                    }
                    else
                    {
                        LogHelper.Info($"(审批通过)预申请状态修改失败 - [{ item.ID}]");
                    }
                }
                return(Json(new { state = 1, txt = hasOverDate == true ? "预申请已全部审批通过,会议日期失效部分系统已忽略。" : "预申请已全部审批通过。" }));
            }
            else
            {
                return(Json(new { state = 1, txt = "当前没有待审批预申请数据。" }));
            }
        }
Exemple #19
0
        /// <summary>
        /// 预申请审批
        /// </summary>
        /// <param name="id"></param>
        /// <param name="state"></param>
        /// <param name="reason"></param>
        /// <returns></returns>
        public JsonResult PreApprovalApprove(Guid id, int state, string reason)
        {
            var        preApprovalChannel = PreApprovalClientChannelFactory.GetChannel();
            P_USERINFO userInfo           = Session[MealH5.Util.ConstantHelper.CURRENTWXUSER] as P_USERINFO;
            var        preApproval        = preApprovalChannel.LoadPreApprovalInfo(id);
            // var userInfoChannel = UserInfoClientChannelFactory.GetChannel();
            bool flag   = preApprovalChannel.HasApproveByTA(preApproval.CurrentApproverMUDID, preApproval.TA);
            bool second = false;

            //审批通过
            if (state == 3)
            {
                if (preApproval.BudgetTotal >= 1200 && preApproval.BudgetTotal < 1500)
                {
                    state  = 7;
                    second = true;
                }
                else if (preApproval.BudgetTotal >= 1500)
                {
                    state = 3;
                }

                //预申请buhead审批通过
                if ((preApproval.BUHeadMUDID.ToUpper() == userInfo.UserId.ToUpper() || flag == true) && second == false)
                {
                    var res = preApprovalChannel.BUHeadApprove(id, 5, reason);
                    if (res == 1)
                    {
                        P_PreApprovalApproveHistory preApprovalHistory = new P_PreApprovalApproveHistory()
                        {
                            ID          = Guid.NewGuid(),
                            PID         = id,
                            UserName    = userInfo.Name,
                            UserId      = userInfo.UserId,
                            ActionType  = 3,
                            ApproveDate = DateTime.Now,
                            Comments    = reason,
                            type        = 2
                        };
                        //添加审批记录
                        var historyRes = preApprovalChannel.AddPreApprovalApproveHistory(preApprovalHistory);
                        if (historyRes == 0)
                        {
                            LogHelper.Info($"审批通过,添加审批记录失败 - [{ id},{userInfo.UserId}]");
                        }
                        // 发用户消息
                        var preApproval1 = preApprovalChannel.LoadPreApprovalInfo(id);
                        WxMessageHandler.GetInstance().SendPreApprovalStateChangeMessageToUser(preApproval1);
                        LogHelper.Info($"BuHead审批通过 - [{ id},{userInfo.UserId}]");
                        return(Json(new { state = 1, txt = "预申请已审批通过。" }));
                    }
                    else
                    {
                        LogHelper.Info($"(审批通过)预申请状态修改失败 - [{id}]");
                    }
                }
                else if (state == 3)
                {
                    if (!CheckApproveStep(userInfo.UserId, preApproval.TA))
                    {
                        return(Json(new { state = 0, txt = "当前预申请审批流程有误,请联系:技术支持热线: 0411-84898998或PMO邮箱[email protected]。" }));
                    }

                    var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
                    var pre             = baseDataChannel.GetNameUserId(preApproval.CurrentApproverMUDID);
                    //var delegateMUDID = userInfoChannel.isAgent(preApproval.CurrentApproverMUDID);
                    //preApproval.CurrentApproverMUDID = delegateMUDID == null ? preApproval.CurrentApproverMUDID : delegateMUDID.DelegateUserMUDID;
                    //preApproval.CurrentApproverName = delegateMUDID == null ? preApproval.CurrentApproverName : delegateMUDID.DelegateUserName;
                    preApproval.CurrentApproverMUDID = preApproval.CurrentApproverMUDID;
                    preApproval.CurrentApproverName  = preApproval.CurrentApproverName;
                    P_PreApprovalApproveHistory preApprovalHistory = new P_PreApprovalApproveHistory()
                    {
                        ID          = Guid.NewGuid(),
                        PID         = id,
                        UserName    = preApproval.CurrentApproverName,
                        UserId      = preApproval.CurrentApproverMUDID,
                        ActionType  = 3,
                        ApproveDate = DateTime.Now,
                        Comments    = reason,
                        type        = 2
                    };
                    //添加审批记录
                    var historyRes = preApprovalChannel.AddPreApprovalApproveHistory(preApprovalHistory);
                    if (historyRes == 0)
                    {
                        LogHelper.Info($"审批通过,添加审批记录失败 - [{ id}]");
                    }
                    else
                    {
                        preApproval.CurrentApproverMUDID = pre.CurrentApproverMUDID;
                        preApproval.CurrentApproverName  = pre.CurrentApproverName;
                        var num = baseDataChannel.UpdateCurrentPreApprova(preApproval);
                        if (num == 0)
                        {
                            LogHelper.Info($"审批通过,跟新审批人失败 - [{ id}]");
                        }
                    }
                    // 发用户消息
                    //bool flag1 = preApprovalChannel.HasApprove(preApproval.CurrentApproverMUDID);
                    //if (flag1 == true)
                    //{
                    var preApproval3 = preApprovalChannel.LoadPreApprovalInfo(id);
                    preApproval3.IsOnc = 2;
                    WxMessageHandler.GetInstance().SendPreApprovalStateChangeMessageToUser(preApproval3);
                    LogHelper.Info($"审批通过 - [{ id},{pre.CurrentApproverMUDID}]");
                    //}

                    return(Json(new { state = 1, txt = "预申请已审批通过。" }));
                }
                else if (state == 7)
                {
                    var res = preApprovalChannel.BUHeadApprove(id, 9, reason);
                    if (res == 1)
                    {
                        P_PreApprovalApproveHistory preApprovalHistory = new P_PreApprovalApproveHistory()
                        {
                            ID          = Guid.NewGuid(),
                            PID         = id,
                            UserName    = userInfo.Name,
                            UserId      = userInfo.UserId,
                            ActionType  = 3,
                            ApproveDate = DateTime.Now,
                            Comments    = reason,
                            type        = 2
                        };
                        //添加审批记录
                        var historyRes = preApprovalChannel.AddPreApprovalApproveHistory(preApprovalHistory);
                        if (historyRes == 0)
                        {
                            LogHelper.Info($"审批通过,添加审批记录失败 - [{ id}]");
                        }
                        // 发用户消息
                        var preApproval1 = preApprovalChannel.LoadPreApprovalInfo(id);
                        WxMessageHandler.GetInstance().SendPreApprovalStateChangeMessageToUser(preApproval1);
                        LogHelper.Info($"二线审批通过 - [{ id},{preApproval.CurrentApproverMUDID}]");
                        return(Json(new { state = 1, txt = "预申请已审批通过。" }));
                    }
                    else
                    {
                        LogHelper.Info($"(审批通过)预申请状态修改失败 - [{ id}]");
                    }
                }
            }

            else
            {
                if (preApproval.BudgetTotal >= 1200 && preApproval.BudgetTotal < 1500)
                {
                    state             = 8;
                    preApproval.State = "8";
                }
                else if (preApproval.BudgetTotal >= 1500)
                {
                    if (!CheckApproveStep(userInfo.UserId, preApproval.TA))
                    {
                        return(Json(new { state = 0, txt = "当前预申请审批流程有误,请联系:技术支持热线: 0411-84898998或PMO邮箱[email protected]。" }));
                    }

                    state             = 4;
                    preApproval.State = "4";
                    LogHelper.Info($"审批驳回 - [{ id},{preApproval.CurrentApproverMUDID}]");
                }
                var res = preApprovalChannel.BUHeadReject(id, state, reason);
                //var preApproval = preApprovalChannel.LoadPreApprovalInfo(id);
                if (res == 1)
                {
                    P_PreApprovalApproveHistory preApprovalHistory = new P_PreApprovalApproveHistory()
                    {
                        ID          = Guid.NewGuid(),
                        PID         = id,
                        UserName    = userInfo.Name,
                        UserId      = userInfo.UserId,
                        ActionType  = 2,
                        ApproveDate = DateTime.Now,
                        Comments    = reason,
                        type        = 2
                    };
                    //添加审批记录
                    var historyRes = preApprovalChannel.AddPreApprovalApproveHistory(preApprovalHistory);

                    if (historyRes == 0)
                    {
                        LogHelper.Info($"审批驳回,添加审批记录失败 - [{ id}]");
                    }
                    // 发用户消息
                    if (state == 8 || flag == true)
                    {
                        var preApproval4 = preApprovalChannel.LoadPreApprovalInfo(id);
                        WxMessageHandler.GetInstance().SendPreApprovalRejectMessageToUser(reason, preApproval4);
                        LogHelper.Info($"审批拒绝 - [{ id},{preApproval.CurrentApproverMUDID}]");
                    }

                    return(Json(new { state = 1, txt = "预申请已审批驳回。" }));
                }
                else
                {
                    LogHelper.Info($"(审批驳回)预申请状态修改失败 - [{ id}]");
                }
            }
            return(Json(new { state = 0, txt = "预申请审批失败,请刷新页面后重试。", errCode = 9007 }));
        }
Exemple #20
0
        /// <summary>
        /// 预申请审批
        /// </summary>
        /// <param name="id"></param>
        /// <param name="state"></param>
        /// <param name="reason"></param>
        /// <returns></returns>
        public JsonResult SaveMMCoEResult(Guid id, int state, string reason)
        {
            var        preApprovalChannel = PreApprovalClientChannelFactory.GetChannel();
            P_USERINFO userInfo           = Session[MealH5.Util.ConstantHelper.CURRENTWXUSER] as P_USERINFO;
            var        preApproval        = preApprovalChannel.LoadPreApprovalInfo(id);
            var        hisList            = preApprovalChannel.FindPreApprovalApproveHistory(id);
            P_PreApprovalApproveHistory lastBUHeadApprove = null;

            if (hisList.Count > 0)
            {
                lastBUHeadApprove = hisList.Where(p => p.PID == id && p.type == 2 && (p.ActionType == 2 || p.ActionType == 3)).OrderByDescending(p => p.ApproveDate).FirstOrDefault();
            }
            var isReject = true;

            if (lastBUHeadApprove != null)
            {
                if (lastBUHeadApprove.ActionType == 3)
                {
                    isReject = false;
                }
            }
            //审批通过
            if (state == 3)
            {
                //预算超02000并且(金额产生变化或上一次是审批拒绝)
                if (preApproval.BudgetTotal > 2000 && (preApproval.IsBudgetChange || (lastBUHeadApprove == null || isReject == true) || preApproval.ModifyDate == null))
                {
                    preApproval.State = "3";
                }
                else
                {
                    preApproval.State = "6";
                }
                var res = preApprovalChannel.MMCoEApprove(id, int.Parse(preApproval.State), reason);

                if (res == 1)
                {
                    P_PreApprovalApproveHistory preApprovalHistory = new P_PreApprovalApproveHistory()
                    {
                        ID          = Guid.NewGuid(),
                        PID         = id,
                        UserName    = userInfo.Name,
                        UserId      = userInfo.UserId,
                        ActionType  = state,
                        ApproveDate = DateTime.Now,
                        Comments    = reason,
                        type        = 1
                    };
                    // 发用户消息
                    WxMessageHandler.GetInstance().SendPreApprovalStateChangeMessageToUser(preApproval);
                    //添加审批记录
                    var historyRes = preApprovalChannel.AddPreApprovalApproveHistory(preApprovalHistory);
                    if (preApproval.State == "6")
                    {
                        P_PreApprovalApproveHistory autoHistory = new P_PreApprovalApproveHistory()
                        {
                            ID          = Guid.NewGuid(),
                            PID         = id,
                            UserName    = "******",
                            UserId      = "系统自动审批",
                            ActionType  = 3,
                            ApproveDate = DateTime.Now,
                            type        = 1
                        };
                        preApprovalChannel.AddPreApprovalApproveHistory(autoHistory);
                    }
                    if (historyRes == 0)
                    {
                        LogHelper.Info($"审批通过,添加审批记录失败 - [{ id}]");
                    }
                    return(Json(new { state = 1, txt = "预申请已审批通过。" }));
                }
                else
                {
                    LogHelper.Info($"(审批通过)预申请状态修改失败 - [{ id}]");
                }
            }
            else
            {
                var res = preApprovalChannel.MMCoEReject(id, state, reason);
                preApproval.State = "2";
                if (res == 1)
                {
                    P_PreApprovalApproveHistory preApprovalHistory = new P_PreApprovalApproveHistory()
                    {
                        ID          = Guid.NewGuid(),
                        PID         = id,
                        UserName    = userInfo.Name,
                        UserId      = userInfo.UserId,
                        ActionType  = state,
                        ApproveDate = DateTime.Now,
                        Comments    = reason,
                        type        = 1
                    };
                    // 发用户消息
                    WxMessageHandler.GetInstance().SendPreApprovalRejectMessageToUser(reason, preApproval);
                    //添加审批记录
                    var historyRes = preApprovalChannel.AddPreApprovalApproveHistory(preApprovalHistory);
                    if (historyRes == 0)
                    {
                        LogHelper.Info($"审批驳回,添加审批记录失败 - [{ id}]");
                    }
                    return(Json(new { state = 1, txt = "预申请已审批驳回。" }));
                }
                else
                {
                    LogHelper.Info($"(审批驳回)预申请状态修改失败 - [{ id}]");
                }
            }
            return(Json(new { state = 0, txt = "预申请审批失败,请刷新页面后重试。", errCode = 9007 }));
        }
Exemple #21
0
 public int Add(P_USERINFO entity)
 {
     return(userInfoService.Add(entity));
 }