Esempio n. 1
0
        public virtual async Task <JsonResult> SendVerifyCode(LoginViewModel loginModel)
        {
            var v = await SettingManager.GetSettingValueAsync(AppSettingNames.Rule.VerifyLogin);

            if (v == "true" && loginModel.UsernameOrEmailAddress != "admin")
            {
                var worker = _workManager.GetWorkerByCn(loginModel.UsernameOrEmailAddress);
                if (worker == null)
                {
                    throw new UserFriendlyException("找不到此员工");
                }
                string appName = _workManager.GetWorkerPostAppName(worker);
                if (string.IsNullOrEmpty(appName))
                {
                    throw new UserFriendlyException("此员工无对应的微信应用");
                }

                string code = ClcUtils.GetRandomNumber(ClcConsts.VerifyCodeLength);
                WeixinUtils.SendMessage(appName, worker.Cn, string.Format("你的登录验证码为:{0}", code));
                HttpContext.Session.SetString("WorkerCn", loginModel.UsernameOrEmailAddress);
                HttpContext.Session.SetString("VerifyCode", code);
                return(Json(new AjaxResponse()
                {
                    Success = true
                }));
            }
            return(Json(new AjaxResponse {
                Success = false
            }));
        }
Esempio n. 2
0
        public JsonResult AskOpenTemp(string style, int depotId, string routeName, int affairId, int doorId, string askWorkers)
        {
            var captain = WorkManager.GetCaptain(depotId);

            WorkManager.InsertTempAskDoorRecord(style, depotId, routeName, affairId, doorId, askWorkers, captain.Cn);

            WeixinUtils.SendMessage("App03", captain.Cn, "请审批临时存取开门请求");
            return(Json(new { Message = "已通知队长处理" }));
        }
Esempio n. 3
0
        public JsonResult NotifyAskWorkers(int doorRecordId)
        {
            if (doorRecordId == 0)
            {
                return(Json(new { Message = "直接开门方式" }));
            }

            var ret = _doorRecordAppService.GetNotifyInfo(doorRecordId);

            WeixinUtils.SendMessage("App01", ret.Item1, $"你申请的{ret.Item2}已打开");
            return(Json(new { Message = "已通知" }));
        }
Esempio n. 4
0
        public async Task ReportBoxTo()
        {
            // var toUser = _workAppService.GetReportToManagers();
            var data = await _boxRecordAppService.GetReportData();

            foreach (var a in data)
            {
                string title = a.OutletName;
                string desc  = string.Format("贵行的{0}于{1}入库", a.BoxName, a.InTime);
                if (!string.IsNullOrEmpty(a.ToUser))
                {
                    WeixinUtils.SendTextCard("app04", a.ToUser, title, desc);
                }
                //WeixinUtils.SendTextCard("app03", toUser, title, desc);
            }
        }
Esempio n. 5
0
        public async Task <JsonResult> ProcessIssueReport(int issueId, string content, int depotId)
        {
            try
            {
                var toUsers = WorkManager.GetReportToManagers(depotId);
                var title   = await _issueAppService.ProcessIssue(issueId, $"发送给{toUsers}");

                WeixinUtils.SendTextCard("App03", toUsers, title, content);

                return(Json(new { result = "success", content = $"完成处理并发送通知给{toUsers}" }));
            }
            catch (Exception ex)
            {
                throw new UserFriendlyException("操作失败", ex.Message);
            }
        }
Esempio n. 6
0
        public void ReportTaskTo(string id)
        {
            var ret = _workAppService.GetReportToManagers();

            if (string.IsNullOrEmpty(ret.Item2))
            {
                return;
            }

            var    data  = _workAppService.GetTaskReportData();
            string title = string.Format("{0}报告今日<{1}>线路任务情况", id, ret.Item1);
            string desc  = string.Format("线路数:{0} 条 (安排人员: {1}人)\n", data.Route.Count1, data.Route.Count2);

            desc += string.Format("内务数:{0} 条 (安排人员: {1}人)\n", data.Affair.Count1, data.Affair.Count2);
            desc += string.Format("收费中调数:{0} 个 (收费: {1}元)\n", data.Task.Count1, data.Task.Count2);
            WeixinUtils.SendTextCard("App03", ret.Item2, title, desc);
            _workAppService.SetReportDate();
        }
Esempio n. 7
0
        public async Task ReportVehicleTo(string id)
        {
            var ret = _workAppService.GetReportToManagers();

            if (string.IsNullOrEmpty(ret.Item2))
            {
                return;
            }

            var data = await _vehicleRecordAppService.GetReportData();

            string title = string.Format("{0}报告今日<{1}>车辆加油维修情况", id, ret.Item1);;
            string desc  = string.Format("加油次数:{0} (量:{1}}升   费用:{2}元\n", data.OilCount, data.OilQuantity, data.OilPrice);

            desc += string.Format("车辆维修次数:{0} (费用: {1}元)", data.MTCount, data.MTPrice);

            WeixinUtils.SendTextCard("App04", ret.Item2, title, desc);
            _workAppService.SetReportDate();
        }
Esempio n. 8
0
        public async Task <JsonResult> ProcessIssueEmergDoor(int issueId, int doorId, string content, int leaderId, string leader)
        {
            try
            {
                await _issueAppService.ProcessIssue(issueId, $"发送给 {leader} 审批");

                await _doorRecordAppService.ProcessIssueEmergDoor(issueId, doorId, content, leaderId);

                var toUser = leader.Split()[0];
                var wp     = WorkManager.GetWorkplace(doorId);
                var depot  = WorkManager.GetDepot(wp.DepotId);
                var msg    = string.Format("有来自{0}大队的应急开门({1})申请", depot.Name, wp.Name);
                WeixinUtils.SendMessage("App03", toUser, msg);

                return(Json(new { result = "success", content = $"完成处理并发送通知给{leader}" }));
            }
            catch (Exception ex)
            {
                throw new UserFriendlyException("操作失败", ex.Message);
            }
        }
Esempio n. 9
0
        public async Task ReportArticleTo(string id)
        {
            var ret = _workAppService.GetReportToManagers();

            if (string.IsNullOrEmpty(ret.Item2))
            {
                return;
            }

            var data = await _articleRecordAppService.GetReportData();

            string title = string.Format("{0}报告今日<{1}>物品领用情况", id, ret.Item1);
            string desc  = null;

            foreach (var a in data)
            {
                desc += string.Format("{0}今领:{1}, 未还:{2}\n", a.Name, a.LendCount, a.UnReturnCount);
            }
            WeixinUtils.SendTextCard("App03", ret.Item2, title, desc);
            _workAppService.SetReportDate();

            await _context.Clients.All.SendAsync("getMessage", "askVaultGuard " + string.Format("你有来自({0})的设防申请", ret.Item1));
        }