Beispiel #1
0
        public JsonResult SaveSupplier(int userID, string sessionID, SupplierInfo info)
        {
            ServiceResultModelBase response = new ServiceResultModelBase();

            try
            {
                if (CheckSessionID(userID, sessionID, response) == false)
                {
                    return(MyJson(response, JsonRequestBehavior.AllowGet));
                }
                UserInfo user = null;
                if (CheckUser(userID, response, out user) == false)
                {
                    return(MyJson(response, JsonRequestBehavior.AllowGet));
                }
                if (this.supplierDao.CheckSupplierName(info.ID, info.Name))
                {
                    response.SetFailed(ResultCodes.ParameterError, "供应商名称重复");
                    return(MyJson(response, JsonRequestBehavior.AllowGet));
                }
                user = this.userDao.GetUser(userID);
                this.supplierManager.SaveSupplier(info, null, user);
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                response.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }
            return(MyJson(response, JsonRequestBehavior.AllowGet));
        }
Beispiel #2
0
        public JsonResult UpdateSelectiveDate(int userID, string sessionID, int requestId, DateTime selectiveDate)
        {
            ServiceResultModelBase response = new ServiceResultModelBase();

            try
            {
                if (!CheckSessionID(userID, sessionID, response))
                {
                    return(MyJson(response, JsonRequestBehavior.AllowGet));
                }
                RequestInfo requestInfo = this.requestManager.GetRequest(requestId);
                if (requestInfo == null)
                {
                    response.SetFailed(ResultCodes.ParameterError, "请求信息不存在");
                }
                else
                {
                    this.requestManager.UpdateSelectiveDate(requestId, selectiveDate);
                }
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                response.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }
            return(MyJson(response, JsonRequestBehavior.AllowGet));
        }
Beispiel #3
0
        public JsonResult SaveContract(int userID, string sessionID, ContractInfo info)
        {
            ServiceResultModelBase response = new ServiceResultModelBase();

            try
            {
                if (CheckSessionID(userID, sessionID, response) == false)
                {
                    return(MyJson(response, JsonRequestBehavior.AllowGet));
                }
                UserInfo user = null;
                if (CheckUser(userID, response, out user) == false)
                {
                    return(MyJson(response, JsonRequestBehavior.AllowGet));
                }

                this.contractManager.SaveContract(info, null, user);
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                response.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }
            return(MyJson(response, JsonRequestBehavior.AllowGet));
        }
Beispiel #4
0
        /// <summary>
        /// 判断用户账号是否可以正常使用
        /// </summary>
        /// <param name="userID">用户编号</param>
        /// <param name="response">ServiceResultModelBase</param>
        /// <param name="user">用户信息</param>
        /// <param name="roleID">角色编号</param>
        /// <returns>账号是否可以正常使用</returns>
        protected bool CheckUser(int userID, ServiceResultModelBase response, out UserInfo user, int roleID = 0)
        {
            user = this.userDao.GetUser(userID);

            if (user == null)
            {
                response.SetFailed(ResultCodes.ParameterError, "用户不存在");
                return(false);
            }

            if (user.IsActive == false)
            {
                response.SetFailed(ResultCodes.ParameterError, "用户已停用");
                return(false);
            }

            if (user.VerifyStatus.ID != VerifyStatus.Pass)
            {
                response.SetFailed(ResultCodes.ParameterError, "用户未通过审批");
                return(false);
            }

            if (roleID != 0)
            {
                if (roleID != user.Role.ID)
                {
                    response.SetFailed(ResultCodes.ParameterError, "角色不正确");
                    return(false);
                }
            }

            return(true);
        }
        public JsonResult ApproveDispatchReport(DispatchReportInfo info, int userID, string sessionID) //comments是审批备注
        {
            ServiceResultModelBase response = new ServiceResultModelBase();

            try
            {
                if (!CheckSessionID(userID, sessionID, response))
                {
                    return(MyJson(response, JsonRequestBehavior.AllowGet));
                }
                UserInfo user = null;
                if (CheckUser(userID, response, out user, UserRole.SuperAdmin) == false)
                {
                    return(MyJson(response, JsonRequestBehavior.AllowGet));
                }

                if (info == null)
                {
                    response.SetFailed(ResultCodes.ParameterError, "作业报告不存在");
                }
                else if (info.Status.ID != DispatchReportInfo.DispatchReportStatus.Pending)
                {
                    response.SetFailed(ResultCodes.ParameterError, "作业报告状态非待审批");
                }
                else if (info.SolutionResultStatus.ID < DispatchReportInfo.SolutionResultStatuses.Allocating || info.SolutionResultStatus.ID > DispatchReportInfo.SolutionResultStatuses.Resolved)
                {
                    response.SetFailed(ResultCodes.ParameterError, "作业结果不存在");
                }
                else
                {
                    if (info.FileInfo != null)
                    {
                        info.FileInfo.FileContent = ParseBase64String(info.FileInfo.FileContent);
                    }
                    if (info.ReportAccessories != null)
                    {
                        foreach (ReportAccessoryInfo item in info.ReportAccessories)
                        {
                            if (item.FileInfos != null && item.FileInfos.Count > 0)
                            {
                                foreach (UploadFileInfo fileInfo in item.FileInfos)
                                {
                                    fileInfo.FileContent = ParseBase64String(fileInfo.FileContent);
                                }
                            }
                        }
                    }
                    this.dispatchManager.PassDispatchReport4App(info, user);
                }
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                response.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }
            return(MyJson(response, JsonRequestBehavior.AllowGet));
        }
Beispiel #6
0
        /// <summary>
        /// 获取验证码
        /// </summary>
        /// <param name="mobilePhone">手机号</param>
        /// <returns>验证码</returns>
        public JsonResult GetVerificationCode(string mobilePhone)
        {
            ServiceResultModelBase response = new ServiceResultModelBase();

            try
            {
                if (string.IsNullOrEmpty(mobilePhone))
                {
                    response.SetFailed(ResultCodes.ParameterError, "手机号码不能为空");//您输入的MobilePhone参数不正确
                }
                else if (mobilePhone.Length != 11)
                {
                    response.SetFailed(ResultCodes.ParameterError, "请正确输入11位数手机号码");//您输入的MobilePhone参数不正确
                }
                else
                {
                    UserInfo             userInfo             = userManager.GetUserByLoginID(mobilePhone);
                    VerificationCodeInfo verificationCodeInfo = userDao.GetLastVerificationCode(mobilePhone);

                    if (userInfo != null)
                    {
                        response.SetFailed(ResultCodes.ParameterError, "您输入的手机号已注册");//您输入的手机号已注册
                    }
                    else if (verificationCodeInfo != null && (DateTime.Now - verificationCodeInfo.CreatedTime).TotalMinutes <= WebConfig.SMS_PERIOD)
                    {
                        response.SetFailed(ResultCodes.ParameterError, "短信验证码已发送,请耐心等待");//短信验证码已发送,请耐心等待
                    }
                    else
                    {
                        if (this.userManager.SendPhoneVerify(mobilePhone, WebConfig.SMS_SDK_APP_ID, WebConfig.SMS_SDK_APP_KEY, WebConfig.SMS_PERIOD, WebConfig.SMS_SIGNATURE, WebConfig.SMS_TEMPLATEID) == false)
                        {
                            response.SetFailed(ResultCodes.ParameterError, "发送短信验证码失败,请重试");//发送短信验证码失败,请重试
                        }
                        else
                        {
                            response.SetFailed(ResultCodes.Succeed, "短信验证码已发送,请耐心等待");//短信验证码已发送,请耐心等待
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                response.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }

            return(MyJson(response, JsonRequestBehavior.AllowGet));
        }
Beispiel #7
0
        /// <summary>
        /// 判断用户账号当前登录是否一致
        /// </summary>
        /// <param name="userID">用户编号</param>
        /// <param name="sessionID">当前请求所在App设备保存的SessionID</param>
        /// <param name="response">ServiceResultModelBase</param>
        /// <returns>账号登录位置是否一致</returns>
        protected bool CheckSessionID(int userID, string sessionID, ServiceResultModelBase response)
        {
            bool flag = true;

            if (WebConfig.GLOBAL_SESSIONID_FLAG)
            {
                string _sessionID = this.userDao.GetSessionID(userID);
                flag = string.IsNullOrEmpty(_sessionID) || _sessionID.Equals(sessionID);

                if (!flag)
                {
                    response.SetFailed(ResultCodes.LogoutError, "用户已在其他设备登录");
                }
            }
            return(flag);
        }
Beispiel #8
0
        public JsonResult StartDispatch(int userID, string sessionID, int dispatchID)
        {
            ServiceResultModelBase response = new ServiceResultModelBase();

            try
            {
                if (!CheckSessionID(userID, sessionID, response))
                {
                    return(MyJson(response, JsonRequestBehavior.AllowGet));
                }
                UserInfo user = null;
                if (CheckUser(userID, response, out user) == false)
                {
                    return(MyJson(response, JsonRequestBehavior.AllowGet));
                }

                List <DispatchInfo> infos        = new List <DispatchInfo>();
                DispatchInfo        dispatchInfo = new DispatchInfo();

                dispatchInfo = this.dispatchManager.GetDispatchByID(dispatchID);
                if (dispatchInfo == null)
                {
                    response.SetFailed(ResultCodes.ParameterError, "派工单信息不存在");
                }
                else if (dispatchInfo.Status.ID != BusinessObjects.Domain.DispatchInfo.Statuses.New)
                {
                    response.SetFailed(ResultCodes.ParameterError, "派工单已响应");
                }
                else if (userID != dispatchInfo.Engineer.ID)
                {
                    response.SetFailed(ResultCodes.ParameterError, "不可操作他人派工单");
                }
                else
                {
                    this.dispatchManager.ResponseDispatch(dispatchID, dispatchInfo.Request.ID, user);
                }
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                response.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }
            return(MyJson(response, JsonRequestBehavior.AllowGet));
        }
        public JsonResult ApproveDispatchJournal(int userID, string sessionID, int dispatchJournalID, int resultStatusID, string followProblem, string comments)
        {
            ServiceResultModelBase response = new ServiceResultModelBase();

            try
            {
                if (!CheckSessionID(userID, sessionID, response))
                {
                    return(MyJson(response, JsonRequestBehavior.AllowGet));
                }
                UserInfo user = null;
                if (CheckUser(userID, response, out user, UserRole.SuperAdmin) == false)
                {
                    return(MyJson(response, JsonRequestBehavior.AllowGet));
                }

                DispatchJournalInfo info = this.dispatchManager.GetDispatchJournalByID(dispatchJournalID);

                if (info == null)
                {
                    response.SetFailed(ResultCodes.ParameterError, "服务凭证不存在");
                }
                else if (info.Status.ID != BusinessObjects.Domain.DispatchInfo.DocStatus.Pending)
                {
                    response.SetFailed(ResultCodes.ParameterError, "当前服务凭证状态不可审批");
                }
                else if (resultStatusID < DispatchJournalInfo.ResultStatuses.Pending || resultStatusID > DispatchJournalInfo.ResultStatuses.Close)
                {
                    response.SetFailed(ResultCodes.ParameterError, "服务结果不存在");
                }
                else
                {
                    this.dispatchManager.PassDispatchJournal(dispatchJournalID, info.Dispatch.ID, resultStatusID, user, followProblem, comments);
                }
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                response.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }
            return(MyJson(response, JsonRequestBehavior.AllowGet));
        }
Beispiel #10
0
        public JsonResult SaveEquipment(int userID, string sessionID, EquipmentInfo info)
        {
            ServiceResultModelBase result = new ServiceResultModelBase();

            try
            {
                if (!CheckSessionID(userID, sessionID, result))
                {
                    return(MyJson(result, JsonRequestBehavior.AllowGet));
                }
                UserInfo user = null;
                if (CheckUser(userID, result, out user) == false)
                {
                    return(MyJson(result, JsonRequestBehavior.AllowGet));
                }

                if (WebConfig.AutoAssetCode == false)
                {
                    if (string.IsNullOrEmpty(info.AssetCode))
                    {
                        result.SetFailed(ResultCodes.ParameterError, "设备资产编号不能为空");
                        return(MyJson(result, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        if (this.equipmentDao.CheckAssetCode(info.ID, info.AssetCode))
                        {
                            result.SetFailed(ResultCodes.ParameterError, "设备资产编号重复");
                            return(MyJson(result, JsonRequestBehavior.AllowGet));
                        }
                    }
                }

                this.equipmentManager.SaveEquipment4App(info, info.EquipmentFile, user);
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                result.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }
            return(MyJson(result, JsonRequestBehavior.AllowGet));
        }
Beispiel #11
0
        public JsonResult EndDispatch(int userID, string sessionID, int dispatchID, int requestID)
        {
            ServiceResultModelBase response = new ServiceResultModelBase();

            try
            {
                if (!CheckSessionID(userID, sessionID, response))
                {
                    return(MyJson(response, JsonRequestBehavior.AllowGet));
                }
                UserInfo user = null;
                if (CheckUser(userID, response, out user, UserRole.SuperAdmin) == false)
                {
                    return(MyJson(response, JsonRequestBehavior.AllowGet));
                }

                DispatchInfo dispatch = this.dispatchManager.GetDispatchByID(dispatchID);

                if (dispatch == null)
                {
                    response.SetFailed(ResultCodes.ParameterError, "派工单不存在");
                }
                else if (dispatch.Status.ID == BusinessObjects.Domain.DispatchInfo.Statuses.Cancelled || dispatch.Status.ID == BusinessObjects.Domain.DispatchInfo.Statuses.Approved)
                {
                    response.SetFailed(ResultCodes.ParameterError, "当前派工状态下不可终止");
                }
                else if (dispatch.RequestID != requestID)
                {
                    response.SetFailed(ResultCodes.ParameterError, "请求单号与派工单号不匹配");
                }
                else
                {
                    this.dispatchManager.CancelDispatch(dispatchID, requestID, user);
                }
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                response.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }
            return(MyJson(response, JsonRequestBehavior.AllowGet));
        }
Beispiel #12
0
        public JsonResult EndRequest(int userID, string sessionID, int requestID)
        {
            ServiceResultModelBase response = new ServiceResultModelBase();

            RequestInfo requestInfo = new RequestInfo();

            try
            {
                if (!CheckSessionID(userID, sessionID, response))
                {
                    return(MyJson(response, JsonRequestBehavior.AllowGet));
                }
                UserInfo user = null;
                if (CheckUser(userID, response, out user, UserRole.SuperAdmin) == false)
                {
                    return(MyJson(response, JsonRequestBehavior.AllowGet));
                }

                requestInfo = this.requestManager.GetRequest(requestID);

                if (requestInfo == null)
                {
                    response.SetFailed(ResultCodes.ParameterError, "请求信息不存在");
                }
                else if (requestInfo.Status.ID == RequestInfo.Statuses.Cancelled || requestInfo.Status.ID == RequestInfo.Statuses.Close)
                {
                    response.SetFailed(ResultCodes.ParameterError, "当前请求状态下不可终止");
                }
                else
                {
                    this.requestManager.CancelRequest(requestInfo, user);
                }
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                response.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }
            return(MyJson(response, JsonRequestBehavior.AllowGet));
        }
        public JsonResult DeleteFileByID(int userID, string sessionID, int fileID)
        {
            ServiceResultModelBase response = new ServiceResultModelBase();

            try
            {
                if (!CheckSessionID(userID, sessionID, response))
                {
                    return(MyJson(response, JsonRequestBehavior.AllowGet));
                }
                if (fileID > 0)
                {
                    this.uploadFileManager.DeleteUploadFileByID(ObjectTypes.DispatchReport, fileID);
                }
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                response.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }
            return(MyJson(response, JsonRequestBehavior.AllowGet));
        }