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
}
}