using PMS.BusinessModels.Account; using PMS.BusinessModels.ComplaintManage; using PMS.BusinessModels.MobileProblem; using PMS.DBService.MoblieProblemRegist; using PMS.EntityModels.WorkFlow; using PMS.Interface.MoblieProblemRegist; using QWPlatform.DataIntface; using QWPlatform.IService; using QWPlatform.SystemLibrary; using QWPlatform.SystemLibrary.LogManager; using QWPlatform.SystemLibrary.Utils; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; namespace PMS.BusinessService.MoblieProblemRegist { /// /// 创建人:伍莲魁 /// 创建日期:2019/1/3 /// 功能描述:手机端问题登记业务层 /// public class MoblieProblemBLL : IMoblieProblem { private Moblieproblemservice MoblieproblemlService = DataServiceBase.Instance(); public string SubmitProblem(string UserType, SubmitProblemFormModel model) { try { ///如果为客户提交的问题或扫码登记的问题 if (UserType == "3") { var res = MoblieproblemlService.CustomerSubmitProblem(model); return res; } ///如果为中联人员提交的问题 if (UserType == "1" || UserType == "2" || UserType == "4" || UserType == "5") { var res = MoblieproblemlService.ZLSubmitProblem(model); return res; } ///如果为扫码登记 if (UserType == "0") { var res = MoblieproblemlService.SubmitProblemBycode(model); return res; } else return ""; } catch (Exception ex) { Logger.Instance.Info(ex.Message); return ""; } } public bool ImageUpload(string ProblemID, string AnnexID, string Name, string fileType) { var result = MoblieproblemlService.ImageUpload(ProblemID, AnnexID, Name, fileType); return result == -1; } public DataTable QueryMyProblem(QueryMyProblemModel model) { var total = ""; var dt = MoblieproblemlService.QueryMyProblem(model, out total); return dt; } public DataTable QueryProblemByProject(QueryProblemByProjectModel model) { var dt = MoblieproblemlService.QueryProblemByProject(model); return dt; } /// /// 获取机构管理员所属机构和项目 /// /// /// public string GetPerson(string id) { var dt = MoblieproblemlService.GetPerson(id); return dt.ToJson(); } public string ProblemDetail(string id, string PersonID) { var dt = MoblieproblemlService.ProblemDetail(id); ///获取最新处理状态 if (dt != null && dt.Rows.Count > 0) { var status = MoblieproblemlService.NewestStatus(id); var RegisLinkId = MoblieproblemlService.GetRegisLinkId(id); //获取登记的环节ID dt.Rows[0]["最新状态"] = status; //修改权限 var registrantId = dt.Rows[0].GetValueByName("登记人id"); var IsSolve = dt.Rows[0].GetValueByName("解决状态"); var StopStatus = dt.Rows[0].GetValueByName("终止状态"); var AcceptStatus = dt.Rows[0].GetValueByName("是否受理"); var Count = dt.Rows[0].GetValueByName("过程条数"); var LinkId = dt.Rows[0].GetValueByName("环节id"); if (registrantId== PersonID && IsSolve == "0" && AcceptStatus==0 && StopStatus=="0") { if (Count <= 2 || RegisLinkId >= LinkId) { dt.Rows[0]["撤销权限"] = 1; dt.Rows[0]["修改权限"] = 1; } } return dt.Rows[0].ToJson(); } return ""; } public string ProblemDetailByProject(string id, int PersonProperty, string JobCode, string PersonID) { var dt = MoblieproblemlService.ProblemDetail(id); ///获取最新处理状态 if (dt != null && dt.Rows.Count > 0) { var status = MoblieproblemlService.NewestStatus(id); var RegisLinkId = MoblieproblemlService.GetRegisLinkId(id); //获取登记的环节ID dt.Rows[0]["最新状态"] = status; /// 获取按钮权限(0.不显示1.受理按钮,2.其他按钮) var IsSolve = dt.Rows[0].GetValueByName("解决状态"); var StopStatus = dt.Rows[0].GetValueByName("终止状态"); var AcceptStatus = dt.Rows[0].GetValueByName("是否受理"); var AcceptId = dt.Rows[0].GetValueByName("受理人ID"); var LinkId = dt.Rows[0].GetValueByName("环节id"); ///获取当前处理人性质所在的环节Id var UserLinkId = MoblieproblemlService.GetUserLinkId(PersonProperty, JobCode); //判断是否解决或是否终止 if (StopStatus == "1" || IsSolve == "1") { return dt.Rows[0].ToJson(); } ///判断是否越级【2021-5-11日,解决机构管理员登记问题,无法编辑和撤销】 //if (UserLinkId < LinkId) //{ // return dt.Rows[0].ToJson(); //} ///判断跨级标识 if (UserLinkId > LinkId) { dt.Rows[0]["跨级标志"] = 1; } ///判断是否受理 if (AcceptStatus == 0) { dt.Rows[0]["按钮权限"] = 1; } else { dt.Rows[0]["按钮权限"] = 2; } //修改权限 var registrantId = dt.Rows[0].GetValueByName("登记人id"); var Count = dt.Rows[0].GetValueByName("过程条数"); if ( IsSolve == "0" && StopStatus == "0") { if ( UserLinkId >= LinkId && PersonProperty!=3 && (AcceptStatus == 0 || AcceptId== PersonID)) { dt.Rows[0]["修改权限"] = 1; } if(registrantId == PersonID && (Count <= 2 || RegisLinkId >= LinkId) && AcceptStatus == 0) { dt.Rows[0]["修改权限"] = 1; dt.Rows[0]["撤销权限"] = 1; } } return dt.Rows[0].ToJson(); } return ""; } public int GetUserLinkId(int PersonProperty, string JobCode) { return MoblieproblemlService.GetUserLinkId(PersonProperty, JobCode); } public DataTable GetFileFormFTP(string id) { var dt = MoblieproblemlService.GetFileFormFTP(id); return dt; } /// /// 按钮权限 /// /// /// /// public ButtonAuthorityModel GetButtonauthority(int PersonProperty, string PersonID, string ProblemID) { var model = MoblieproblemlService.GetButtonauthority(PersonProperty, PersonID, ProblemID); return model; } public string GetCount(string id) { var dt = MoblieproblemlService.GetCount(id); return dt.ToJson(); } public string GetCountForCustom(string id) { var dt = MoblieproblemlService.GetCountForCustom(id); return dt.ToJson(); } public string QuerckSearch(QueryMyProblemModel model) { var dt = MoblieproblemlService.QuerckSearch(model); return dt.ToJson(); } public WorkFlowModel GetNewProblemWorkId(string InstitutionID,string ProjectID) { var model = MoblieproblemlService.GetNewProblemWorkId(InstitutionID, ProjectID); return model; } /// /// 根据用户ID获取新登记问题的流程ID /// /// /// public WorkFlowModel GetNewProblemWorkIdByUser(string InstitutionId, string ProjectId) { var model = MoblieproblemlService.GetNewProblemWorkId(InstitutionId, ProjectId); return model; } #region 用户注册 public string UserCheck(string PersonResource_id) { var str = MoblieproblemlService.UserCheck(PersonResource_id); return str; } public DataTable GetInstitutionsID(string id) { var dt = MoblieproblemlService.GetInstitutionsID(id); if (dt != null && dt.Rows.Count > 0) { return dt; } else { Logger.Instance.Error("机构资源ID获取机构ID为空"); return new DataTable(); } } public string GetExistInfo(string PersonResource_id) { var str = MoblieproblemlService.GetExistInfo(PersonResource_id); return str.ToJson(); } public string TeleGetUserInfo(string Tele) { var str = MoblieproblemlService.TeleGetUserInfo(Tele); return str.ToJson(); } public string UpdateResourceID(string UserGetId, string Tele, string edType) { return MoblieproblemlService.UpdateResourceID(UserGetId, Tele, edType); } public bool GetSMSCode(string tele,string code) { return MoblieproblemlService.GetSMSCode(tele, code); } public string UserRegist(MobileUserRegistModel Model) { return MoblieproblemlService.UserRegist(Model); } /// /// 获取渠道信息 /// /// public string GetChannel() { var dt = MoblieproblemlService.GetChannel(); return dt.ToJson(); } /// /// 获取渠道扩展信息 /// /// /// public DataTable GetChannelExtend(string id) { var dt = MoblieproblemlService.GetChannelExtend(id); return dt; } public string PasswordModifySubmit(string telephone, string Code, string password) { return MoblieproblemlService.PasswordModifySubmit(telephone, Code, password); } #endregion #region 问题操作相关业务 public bool CrossJud(string ProblemId, int PersonProperty, string JobCode) { return MoblieproblemlService.CrossJud(ProblemId, PersonProperty, JobCode); } public string IsMyProblem(string ProblemId, string PersonId) { return MoblieproblemlService.IsMyProblem(ProblemId, PersonId); } public string GetPerson(string search, int PersonProperty, string ProblemId) { var dt = MoblieproblemlService.GetPerson(search, PersonProperty, ProblemId); return dt.ToJson(); } public bool IsDealProcess(string ProblemId, int PersonProperty) { return MoblieproblemlService.IsDealProcess(ProblemId, PersonProperty); } public UserInfo GetPersonProperty(string PersonID) { return MoblieproblemlService.GetPersonProperty(PersonID); } public string GetProblemVison(string ProblemId) { var dt = MoblieproblemlService.GetProblemVison(ProblemId); return dt.ToJson(); } public string GetProblemInfomation(string id) { var dt = MoblieproblemlService.GetProblemInfomation(id); return dt.ToJson(); } public string ModifySubmit(SubmitProblemFormModel model) { return MoblieproblemlService.ModifySubmit(model); } public string ModifySubmitForCustom(SubmitProblemFormModel model) { return MoblieproblemlService.ModifySubmitForCustom(model); } public bool IsModifyMyProblem(string personId, string problemId) { return MoblieproblemlService.IsModifyMyProblem(personId, problemId); } public string GetProblemFlie(string id) { var dt = MoblieproblemlService.GetProblemFlie(id); return dt.ToJson(); } public int GetProblemByProcssId(string id) { return MoblieproblemlService.GetProblemByProcssId(id); } public int GetProblemByWorkId(int id) { return MoblieproblemlService.GetProblemByWorkId(id); } /// /// 提交评论 /// /// /// /// public bool ProblemReamrkSubmit(commentsModel model, out string CommentsId) { return MoblieproblemlService.ProblemReamrkSubmit(model, out CommentsId); } /// /// 保存评价附件 /// /// /// public bool CommitFlieUplod(CommitFlie model) { return MoblieproblemlService.CommitFlieUplod(model); } public bool IsCommit(string ProblemId, string PersonId) { return MoblieproblemlService.IsCommit(ProblemId, PersonId); } public string getVersionPoblemExplain(string id) { return MoblieproblemlService.getVersionPoblemExplain(id); } public bool SaveLogger(string flieId, string flieVersionId, string personId) { return MoblieproblemlService.SaveLogger(flieId, flieVersionId, personId); } #endregion #region 微信登陆相关业务 /// /// 判断OpenId是否绑定账户 /// /// /// public bool IsRegisteredWeChat(string openId, out string account, out string pwd) { return MoblieproblemlService.IsRegisteredWeChat(openId,out account,out pwd); } /// /// 判断账户是否存在 /// /// /// public bool IsAccountExist(string tele) { return MoblieproblemlService.IsAccountExist(tele); } /// /// 将OpenID与手机号码绑定 /// /// /// /// /// public bool WechatVerification(string telephone, string Code, string OpenId,out string pwd, out string msg) { return MoblieproblemlService.WechatVerification(telephone,Code,OpenId,out pwd, out msg); } #endregion #region 评价业务 /// /// 获取用户评价和待评价的问题 /// /// 个人id /// 开始页码 /// 页码大小 /// 1 /// public string GetQuestionList(string PersonId, int pageindex, int pagesize,int Tab, out int total) { var dt = MoblieproblemlService.GetQuestionList(PersonId, pageindex, pagesize, Tab, out total); return dt.ToJson(); } /// /// 获取评价的内容 /// /// 个人id /// 问题ID /// public string GetEvaluationContent(string PersonId, string ProblemID) { var dt = MoblieproblemlService.GetEvaluationContent(PersonId, ProblemID); return dt.ToJson(); } /// /// 获取评价文件ID /// /// /// public string GetEvaluationFile(string ID) { var dt = MoblieproblemlService.GetEvaluationFile(ID); return dt.ToJson(); } #endregion } }