MoblieProblemBLL.cs 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460
  1. using PMS.BusinessModels.Account;
  2. using PMS.BusinessModels.ComplaintManage;
  3. using PMS.BusinessModels.MobileProblem;
  4. using PMS.DBService.MoblieProblemRegist;
  5. using PMS.EntityModels.WorkFlow;
  6. using PMS.Interface.MoblieProblemRegist;
  7. using QWPlatform.DataIntface;
  8. using QWPlatform.IService;
  9. using QWPlatform.SystemLibrary;
  10. using QWPlatform.SystemLibrary.LogManager;
  11. using QWPlatform.SystemLibrary.Utils;
  12. using System;
  13. using System.Collections.Generic;
  14. using System.Data;
  15. using System.Linq;
  16. using System.Text;
  17. namespace PMS.BusinessService.MoblieProblemRegist
  18. {
  19. /// <summary>
  20. /// 创建人:伍莲魁
  21. /// 创建日期:2019/1/3
  22. /// 功能描述:手机端问题登记业务层
  23. /// </summary>
  24. public class MoblieProblemBLL : IMoblieProblem
  25. {
  26. private Moblieproblemservice MoblieproblemlService = DataServiceBase.Instance<Moblieproblemservice>();
  27. public string SubmitProblem(string UserType, SubmitProblemFormModel model)
  28. {
  29. try
  30. {
  31. ///如果为客户提交的问题或扫码登记的问题
  32. if (UserType == "3")
  33. {
  34. var res = MoblieproblemlService.CustomerSubmitProblem(model);
  35. return res;
  36. }
  37. ///如果为中联人员提交的问题
  38. if (UserType == "1" || UserType == "2" || UserType == "4" || UserType == "5")
  39. {
  40. var res = MoblieproblemlService.ZLSubmitProblem(model);
  41. return res;
  42. }
  43. ///如果为扫码登记
  44. if (UserType == "0")
  45. {
  46. var res = MoblieproblemlService.SubmitProblemBycode(model);
  47. return res;
  48. }
  49. else
  50. return "";
  51. }
  52. catch (Exception ex)
  53. {
  54. Logger.Instance.Info(ex.Message);
  55. return "";
  56. }
  57. }
  58. public bool ImageUpload(string ProblemID, string AnnexID, string Name, string fileType)
  59. {
  60. var result = MoblieproblemlService.ImageUpload(ProblemID, AnnexID, Name, fileType);
  61. return result == -1;
  62. }
  63. public DataTable QueryMyProblem(QueryMyProblemModel model)
  64. {
  65. var total = "";
  66. var dt = MoblieproblemlService.QueryMyProblem(model, out total);
  67. return dt;
  68. }
  69. public DataTable QueryProblemByProject(QueryProblemByProjectModel model)
  70. {
  71. var dt = MoblieproblemlService.QueryProblemByProject(model);
  72. return dt;
  73. }
  74. /// <summary>
  75. /// 获取机构管理员所属机构和项目
  76. /// </summary>
  77. /// <param name="id"></param>
  78. /// <returns></returns>
  79. public string GetPerson(string id)
  80. {
  81. var dt = MoblieproblemlService.GetPerson(id);
  82. return dt.ToJson();
  83. }
  84. public string ProblemDetail(string id, string PersonID)
  85. {
  86. var dt = MoblieproblemlService.ProblemDetail(id);
  87. ///获取最新处理状态
  88. if (dt != null && dt.Rows.Count > 0)
  89. {
  90. var status = MoblieproblemlService.NewestStatus(id);
  91. var RegisLinkId = MoblieproblemlService.GetRegisLinkId(id); //获取登记的环节ID
  92. dt.Rows[0]["最新状态"] = status;
  93. //修改权限
  94. var registrantId = dt.Rows[0].GetValueByName<string>("登记人id");
  95. var IsSolve = dt.Rows[0].GetValueByName<string>("解决状态");
  96. var StopStatus = dt.Rows[0].GetValueByName<string>("终止状态");
  97. var AcceptStatus = dt.Rows[0].GetValueByName<int>("是否受理");
  98. var Count = dt.Rows[0].GetValueByName<int>("过程条数");
  99. var LinkId = dt.Rows[0].GetValueByName<int>("环节id");
  100. if (registrantId== PersonID && IsSolve == "0" && AcceptStatus==0 && StopStatus=="0")
  101. {
  102. if (Count <= 2 || RegisLinkId >= LinkId)
  103. {
  104. dt.Rows[0]["撤销权限"] = 1;
  105. dt.Rows[0]["修改权限"] = 1;
  106. }
  107. }
  108. return dt.Rows[0].ToJson();
  109. }
  110. return "";
  111. }
  112. public string ProblemDetailByProject(string id, int PersonProperty, string JobCode, string PersonID)
  113. {
  114. var dt = MoblieproblemlService.ProblemDetail(id);
  115. ///获取最新处理状态
  116. if (dt != null && dt.Rows.Count > 0)
  117. {
  118. var status = MoblieproblemlService.NewestStatus(id);
  119. var RegisLinkId = MoblieproblemlService.GetRegisLinkId(id); //获取登记的环节ID
  120. dt.Rows[0]["最新状态"] = status;
  121. /// 获取按钮权限(0.不显示1.受理按钮,2.其他按钮)
  122. var IsSolve = dt.Rows[0].GetValueByName<string>("解决状态");
  123. var StopStatus = dt.Rows[0].GetValueByName<string>("终止状态");
  124. var AcceptStatus = dt.Rows[0].GetValueByName<int>("是否受理");
  125. var AcceptId = dt.Rows[0].GetValueByName<string>("受理人ID");
  126. var LinkId = dt.Rows[0].GetValueByName<int>("环节id");
  127. ///获取当前处理人性质所在的环节Id
  128. var UserLinkId = MoblieproblemlService.GetUserLinkId(PersonProperty, JobCode);
  129. //判断是否解决或是否终止
  130. if (StopStatus == "1" || IsSolve == "1")
  131. {
  132. return dt.Rows[0].ToJson();
  133. }
  134. ///判断是否越级【2021-5-11日,解决机构管理员登记问题,无法编辑和撤销】
  135. //if (UserLinkId < LinkId)
  136. //{
  137. // return dt.Rows[0].ToJson();
  138. //}
  139. ///判断跨级标识
  140. if (UserLinkId > LinkId)
  141. {
  142. dt.Rows[0]["跨级标志"] = 1;
  143. }
  144. ///判断是否受理
  145. if (AcceptStatus == 0)
  146. {
  147. dt.Rows[0]["按钮权限"] = 1;
  148. }
  149. else
  150. {
  151. dt.Rows[0]["按钮权限"] = 2;
  152. }
  153. //修改权限
  154. var registrantId = dt.Rows[0].GetValueByName<string>("登记人id");
  155. var Count = dt.Rows[0].GetValueByName<int>("过程条数");
  156. if ( IsSolve == "0" && StopStatus == "0")
  157. {
  158. if ( UserLinkId >= LinkId && PersonProperty!=3 && (AcceptStatus == 0 || AcceptId== PersonID))
  159. {
  160. dt.Rows[0]["修改权限"] = 1;
  161. }
  162. if(registrantId == PersonID && (Count <= 2 || RegisLinkId >= LinkId) && AcceptStatus == 0)
  163. {
  164. dt.Rows[0]["修改权限"] = 1;
  165. dt.Rows[0]["撤销权限"] = 1;
  166. }
  167. }
  168. return dt.Rows[0].ToJson();
  169. }
  170. return "";
  171. }
  172. public int GetUserLinkId(int PersonProperty, string JobCode)
  173. {
  174. return MoblieproblemlService.GetUserLinkId(PersonProperty, JobCode);
  175. }
  176. public DataTable GetFileFormFTP(string id)
  177. {
  178. var dt = MoblieproblemlService.GetFileFormFTP(id);
  179. return dt;
  180. }
  181. /// <summary>
  182. /// 按钮权限
  183. /// </summary>
  184. /// <param name="PersonProperty"></param>
  185. /// <param name="PersonID"></param>
  186. /// <returns></returns>
  187. public ButtonAuthorityModel GetButtonauthority(int PersonProperty, string PersonID, string ProblemID)
  188. {
  189. var model = MoblieproblemlService.GetButtonauthority(PersonProperty, PersonID, ProblemID);
  190. return model;
  191. }
  192. public string GetCount(string id)
  193. {
  194. var dt = MoblieproblemlService.GetCount(id);
  195. return dt.ToJson();
  196. }
  197. public string GetCountForCustom(string id)
  198. {
  199. var dt = MoblieproblemlService.GetCountForCustom(id);
  200. return dt.ToJson();
  201. }
  202. public string QuerckSearch(QueryMyProblemModel model)
  203. {
  204. var dt = MoblieproblemlService.QuerckSearch(model);
  205. return dt.ToJson();
  206. }
  207. public WorkFlowModel GetNewProblemWorkId(string InstitutionID,string ProjectID)
  208. {
  209. var model = MoblieproblemlService.GetNewProblemWorkId(InstitutionID, ProjectID);
  210. return model;
  211. }
  212. /// <summary>
  213. /// 根据用户ID获取新登记问题的流程ID
  214. /// </summary>
  215. /// <param name="UserId"></param>
  216. /// <returns></returns>
  217. public WorkFlowModel GetNewProblemWorkIdByUser(string InstitutionId, string ProjectId)
  218. {
  219. var model = MoblieproblemlService.GetNewProblemWorkId(InstitutionId, ProjectId);
  220. return model;
  221. }
  222. #region 用户注册
  223. public string UserCheck(string PersonResource_id)
  224. {
  225. var str = MoblieproblemlService.UserCheck(PersonResource_id);
  226. return str;
  227. }
  228. public DataTable GetInstitutionsID(string id)
  229. {
  230. var dt = MoblieproblemlService.GetInstitutionsID(id);
  231. if (dt != null && dt.Rows.Count > 0)
  232. {
  233. return dt;
  234. }
  235. else
  236. {
  237. Logger.Instance.Error("机构资源ID获取机构ID为空");
  238. return new DataTable();
  239. }
  240. }
  241. public string GetExistInfo(string PersonResource_id)
  242. {
  243. var str = MoblieproblemlService.GetExistInfo(PersonResource_id);
  244. return str.ToJson();
  245. }
  246. public string TeleGetUserInfo(string Tele)
  247. {
  248. var str = MoblieproblemlService.TeleGetUserInfo(Tele);
  249. return str.ToJson();
  250. }
  251. public string UpdateResourceID(string UserGetId, string Tele, string edType)
  252. {
  253. return MoblieproblemlService.UpdateResourceID(UserGetId, Tele, edType);
  254. }
  255. public bool GetSMSCode(string tele,string code)
  256. {
  257. return MoblieproblemlService.GetSMSCode(tele, code);
  258. }
  259. public string UserRegist(MobileUserRegistModel Model)
  260. {
  261. return MoblieproblemlService.UserRegist(Model);
  262. }
  263. /// <summary>
  264. /// 获取渠道信息
  265. /// </summary>
  266. /// <returns></returns>
  267. public string GetChannel()
  268. {
  269. var dt = MoblieproblemlService.GetChannel();
  270. return dt.ToJson();
  271. }
  272. /// <summary>
  273. /// 获取渠道扩展信息
  274. /// </summary>
  275. /// <param name="id"></param>
  276. /// <returns></returns>
  277. public DataTable GetChannelExtend(string id)
  278. {
  279. var dt = MoblieproblemlService.GetChannelExtend(id);
  280. return dt;
  281. }
  282. public string PasswordModifySubmit(string telephone, string Code, string password)
  283. {
  284. return MoblieproblemlService.PasswordModifySubmit(telephone, Code, password);
  285. }
  286. #endregion
  287. #region 问题操作相关业务
  288. public bool CrossJud(string ProblemId, int PersonProperty, string JobCode)
  289. {
  290. return MoblieproblemlService.CrossJud(ProblemId, PersonProperty, JobCode);
  291. }
  292. public string IsMyProblem(string ProblemId, string PersonId)
  293. {
  294. return MoblieproblemlService.IsMyProblem(ProblemId, PersonId);
  295. }
  296. public string GetPerson(string search, int PersonProperty, string ProblemId)
  297. {
  298. var dt = MoblieproblemlService.GetPerson(search, PersonProperty, ProblemId);
  299. return dt.ToJson();
  300. }
  301. public bool IsDealProcess(string ProblemId, int PersonProperty)
  302. {
  303. return MoblieproblemlService.IsDealProcess(ProblemId, PersonProperty);
  304. }
  305. public UserInfo GetPersonProperty(string PersonID)
  306. {
  307. return MoblieproblemlService.GetPersonProperty(PersonID);
  308. }
  309. public string GetProblemVison(string ProblemId)
  310. {
  311. var dt = MoblieproblemlService.GetProblemVison(ProblemId);
  312. return dt.ToJson();
  313. }
  314. public string GetProblemInfomation(string id)
  315. {
  316. var dt = MoblieproblemlService.GetProblemInfomation(id);
  317. return dt.ToJson();
  318. }
  319. public string ModifySubmit(SubmitProblemFormModel model)
  320. {
  321. return MoblieproblemlService.ModifySubmit(model);
  322. }
  323. public string ModifySubmitForCustom(SubmitProblemFormModel model)
  324. {
  325. return MoblieproblemlService.ModifySubmitForCustom(model);
  326. }
  327. public bool IsModifyMyProblem(string personId, string problemId)
  328. {
  329. return MoblieproblemlService.IsModifyMyProblem(personId, problemId);
  330. }
  331. public string GetProblemFlie(string id)
  332. {
  333. var dt = MoblieproblemlService.GetProblemFlie(id);
  334. return dt.ToJson();
  335. }
  336. public int GetProblemByProcssId(string id)
  337. {
  338. return MoblieproblemlService.GetProblemByProcssId(id);
  339. }
  340. public int GetProblemByWorkId(int id)
  341. {
  342. return MoblieproblemlService.GetProblemByWorkId(id);
  343. }
  344. /// <summary>
  345. /// 提交评论
  346. /// </summary>
  347. /// <param name="model"></param>
  348. /// <param name="CommentsId"></param>
  349. /// <returns></returns>
  350. public bool ProblemReamrkSubmit(commentsModel model, out string CommentsId)
  351. {
  352. return MoblieproblemlService.ProblemReamrkSubmit(model, out CommentsId);
  353. }
  354. /// <summary>
  355. /// 保存评价附件
  356. /// </summary>
  357. /// <param name="model"></param>
  358. /// <returns></returns>
  359. public bool CommitFlieUplod(CommitFlie model)
  360. {
  361. return MoblieproblemlService.CommitFlieUplod(model);
  362. }
  363. public bool IsCommit(string ProblemId, string PersonId)
  364. {
  365. return MoblieproblemlService.IsCommit(ProblemId, PersonId);
  366. }
  367. public string getVersionPoblemExplain(string id)
  368. {
  369. return MoblieproblemlService.getVersionPoblemExplain(id);
  370. }
  371. public bool SaveLogger(string flieId, string flieVersionId, string personId)
  372. {
  373. return MoblieproblemlService.SaveLogger(flieId, flieVersionId, personId);
  374. }
  375. #endregion
  376. #region 微信登陆相关业务
  377. /// <summary>
  378. /// 判断OpenId是否绑定账户
  379. /// </summary>
  380. /// <param name="openId"></param>
  381. /// <returns></returns>
  382. public bool IsRegisteredWeChat(string openId, out string account, out string pwd)
  383. {
  384. return MoblieproblemlService.IsRegisteredWeChat(openId,out account,out pwd);
  385. }
  386. /// <summary>
  387. /// 判断账户是否存在
  388. /// </summary>
  389. /// <param name="tele"></param>
  390. /// <returns></returns>
  391. public bool IsAccountExist(string tele)
  392. {
  393. return MoblieproblemlService.IsAccountExist(tele);
  394. }
  395. /// <summary>
  396. /// 将OpenID与手机号码绑定
  397. /// </summary>
  398. /// <param name="telephone"></param>
  399. /// <param name="Code"></param>
  400. /// <param name="OpenId"></param>
  401. /// <returns></returns>
  402. public bool WechatVerification(string telephone, string Code, string OpenId,out string pwd, out string msg)
  403. {
  404. return MoblieproblemlService.WechatVerification(telephone,Code,OpenId,out pwd, out msg);
  405. }
  406. #endregion
  407. #region 评价业务
  408. /// <summary>
  409. /// 获取用户评价和待评价的问题
  410. /// </summary>
  411. /// <param name="PersonId">个人id</param>
  412. /// <param name="pageindex">开始页码</param>
  413. /// <param name="pagesize">页码大小</param>
  414. /// <param name="total">1</param>
  415. /// <returns></returns>
  416. public string GetQuestionList(string PersonId, int pageindex, int pagesize,int Tab, out int total)
  417. {
  418. var dt = MoblieproblemlService.GetQuestionList(PersonId, pageindex, pagesize, Tab, out total);
  419. return dt.ToJson();
  420. }
  421. /// <summary>
  422. /// 获取评价的内容
  423. /// </summary>
  424. /// <param name="PersonId">个人id</param>
  425. /// <param name="ProblemID">问题ID</param>
  426. /// <returns></returns>
  427. public string GetEvaluationContent(string PersonId, string ProblemID)
  428. {
  429. var dt = MoblieproblemlService.GetEvaluationContent(PersonId, ProblemID);
  430. return dt.ToJson();
  431. }
  432. /// <summary>
  433. /// 获取评价文件ID
  434. /// </summary>
  435. /// <param name="ID"></param>
  436. /// <returns></returns>
  437. public string GetEvaluationFile(string ID)
  438. {
  439. var dt = MoblieproblemlService.GetEvaluationFile(ID);
  440. return dt.ToJson();
  441. }
  442. #endregion
  443. }
  444. }