颐和api

ApointRegistrationController.cs 26KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Security.Cryptography;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using MadRunFabric.Common;
  8. using Microsoft.AspNetCore.Authorization;
  9. using Microsoft.AspNetCore.Mvc;
  10. using Microsoft.Extensions.Logging;
  11. using Microsoft.Extensions.Configuration;
  12. using Newtonsoft.Json.Linq;
  13. using Newtonsoft.Json;
  14. using WorkOrderApi.IRepositories;
  15. using MadRunFabric.Model.WorkOrderApi.Areas_FW;
  16. namespace WorkOrderApi.Controllers.ApointRegistration
  17. {
  18. /// <summary>
  19. /// 预约挂号
  20. /// </summary>
  21. [Authorize]
  22. [ApiVersion("6.0")]
  23. [Route("api/[controller]")]
  24. [Produces("application/json")]
  25. public class ApointRegistrationController : BaseController
  26. {
  27. public IActionResult Index()
  28. {
  29. return View();
  30. }
  31. private readonly IConfiguration _configuration;
  32. private readonly ILogger<ApointRegistrationController> _logger;
  33. private readonly IHis_OpeRecordsRepository _his_operecordsRepository;
  34. public ApointRegistrationController(ILogger<ApointRegistrationController> logger,
  35. IHis_OpeRecordsRepository his_operecordsRepository,
  36. IConfiguration configuration
  37. )
  38. {
  39. _logger = logger;
  40. _his_operecordsRepository = his_operecordsRepository;
  41. _configuration = configuration;
  42. }
  43. //获取签名sign
  44. [HttpGet("getsign")]
  45. public async Task<IActionResult> GetSign(List<string> keyvalue)
  46. {
  47. //model.timestamp = DateTimeConvert.ToTimespan(DateTime.Now);//保存导入时间时间戳
  48. var input = keyvalue;
  49. var keys = new List<string>();
  50. var values = new List<string>();
  51. for (int index = 0; index < input.Count; index++)
  52. {
  53. if (index % 2 == 0) keys.Add(input[index]);
  54. else values.Add(input[index]);
  55. }
  56. //添加时间戳
  57. keys.Add("timestamp");
  58. values.Add(DateTimeConvert.ToTimespan(DateTime.Now).ToString());
  59. var result = keys.Zip(values, (key, value) =>
  60. new KeyValuePair<string, string>(key, value)).ToList ();
  61. var sign = GenerateSign(result ,"");
  62. //var obj = new
  63. //{
  64. // tasktel = model,
  65. // task = modelTask
  66. //};
  67. return Success("获取成功", sign);
  68. }
  69. #region 计算签名
  70. /// <summary>
  71. /// 生成签名
  72. /// </summary>
  73. /// <param name="paramlst">参数列表</param>
  74. /// <param name="IsToUpper">是否转大写</param>
  75. /// <param name="IsDirect">是否直接加上签名Key</param>
  76. /// <returns></returns>
  77. public static string GenerateSign(List<KeyValuePair<string, string>> lst, string privateKey)
  78. {
  79. Comparison<KeyValuePair<string, string>> Comparer = new Comparison<KeyValuePair<string, string>>(CompareKeyValuepair);
  80. lst.Sort(Comparer);
  81. var paramlst = lst.Where(p => !string.IsNullOrEmpty(p.Value)).ToList();
  82. string signstr = string.Join("&", paramlst.Select(p => p.Key + "=" + p.Value)) + privateKey;
  83. return Sign(signstr, "UTF-8");
  84. }
  85. /// <summary>
  86. /// 根据Key比较排序位置
  87. /// </summary>
  88. private static int CompareKeyValuepair(KeyValuePair<string, string> p1, KeyValuePair<string, string> p2)
  89. {
  90. return string.Compare(p1.Key, p2.Key);
  91. }
  92. /// <summary>
  93. /// 签名字符串
  94. /// </summary>
  95. /// <param name="prestr">需要签名的字符串</param>
  96. /// <param name="key">密钥</param>
  97. /// <param name="inputCharset">编码格式</param>
  98. /// <returns>签名结果</returns>
  99. public static string Sign(string prestr, string inputCharset)
  100. {
  101. StringBuilder sb = new StringBuilder();
  102. MD5 md5 = new MD5CryptoServiceProvider();
  103. byte[] t = md5.ComputeHash(Encoding.GetEncoding(inputCharset).GetBytes(prestr));
  104. foreach (byte t1 in t)
  105. {
  106. sb.Append(t1.ToString("x2"));
  107. }
  108. return sb.ToString();
  109. }
  110. #endregion
  111. //获取AccessToken
  112. [HttpGet("gettokennew")]
  113. public async Task<IActionResult> GetAccessTokenNEW()//(List<string> keyvalue)
  114. {
  115. var keyvalue = new List<string>();
  116. #region 获取签名
  117. keyvalue.Add("appid");
  118. keyvalue.Add("appidvalue");
  119. keyvalue.Add("secret");
  120. keyvalue.Add("secretvalue");
  121. keyvalue.Add("timestamp");
  122. keyvalue.Add(DateTimeConvert.ToTimespan(DateTime.Now).ToString());
  123. //keyvalue.Add("sign");
  124. #endregion
  125. #region 获取路径
  126. string ha = _configuration["his:hisaddress"].ToString();
  127. #endregion
  128. string strURL = "http://" + ha + "/Token";
  129. var m = new
  130. {
  131. appid = "appidvalue",
  132. secret = "secretvalue",
  133. timestamp = DateTimeConvert.ToTimespan(DateTime.Now).ToString(),
  134. sign= GetSign(keyvalue).Result.ToString()
  135. };
  136. //实体序列化和反序列化
  137. string json1 = JsonConvert.SerializeObject(m);
  138. string strHTML = MadRunFabric.Common.HttpMethods.HttpPost(strURL, json1);
  139. JObject jo1 = (JObject)JsonConvert.DeserializeObject(strHTML);
  140. if (jo1 != null && jo1["result"].ToString() == "0")
  141. {
  142. #region 添加访问记录
  143. /*var model = new His_OpeRecords();
  144. model.requesttype = "获取token";
  145. model.requestaddress = strURL;
  146. model.requestparameter = json1;
  147. model.backcontent = jo1.ToString ();
  148. bool bl = await _his_operecordsRepository.Add(model);*/
  149. #endregion
  150. AddRecords("获取token", strURL, json1, jo1.ToString(),"成功");
  151. return Success("获取token成功", jo1);
  152. }
  153. else
  154. {
  155. if (jo1 != null)
  156. {
  157. AddRecords("获取token", strURL, json1, jo1.ToString(), "失败");
  158. }
  159. else
  160. {
  161. AddRecords("获取token", strURL, json1, "", "失败");
  162. }
  163. return Error("获取token失败");
  164. }
  165. }
  166. #region 获取出诊科室列表
  167. /// <summary>
  168. /// 获取出诊科室列表
  169. /// </summary>
  170. /// <returns></returns>
  171. [HttpGet("divisionnew")]
  172. public async Task<IActionResult> DivisionAsyncNEW()
  173. {
  174. var keyvalue = new List<string>();
  175. #region 获取签名
  176. keyvalue.Add("access_token");
  177. keyvalue.Add("tokenvalue");
  178. keyvalue.Add("timestamp");
  179. keyvalue.Add(DateTimeConvert.ToTimespan(DateTime.Now).ToString());
  180. //keyvalue.Add("sign");
  181. #endregion
  182. #region 获取路径
  183. string ha = _configuration["his:hisaddress"].ToString();
  184. #endregion
  185. string strURL = "http://" + ha + "/Appt/Division";
  186. var m = new
  187. {
  188. access_token = "access_token",
  189. timestamp = DateTimeConvert.ToTimespan(DateTime.Now).ToString(),
  190. sign = GetSign(keyvalue).Result.ToString()
  191. };
  192. //实体序列化和反序列化
  193. string json1 = JsonConvert.SerializeObject(m);
  194. string strHTML = MadRunFabric.Common.HttpMethods.HttpPost(strURL, json1);
  195. JObject jo1 = (JObject)JsonConvert.DeserializeObject(strHTML);
  196. if (jo1 != null && jo1["result"].ToString() == "0")
  197. {
  198. AddRecords("获取出诊科室列表", strURL, json1, jo1.ToString(), "成功");
  199. return Success("获取出诊科室列表成功", jo1);
  200. }
  201. else
  202. {
  203. if (jo1 != null)
  204. {
  205. AddRecords("获取出诊科室列表", strURL, json1, jo1.ToString(), "失败");
  206. }
  207. else
  208. {
  209. AddRecords("获取出诊科室列表", strURL, json1, "", "失败");
  210. }
  211. return Error("获取出诊科室列表失败");
  212. }
  213. }
  214. #endregion
  215. #region 获取出诊排班
  216. /// <summary>
  217. /// 获取出诊排班
  218. /// </summary>
  219. /// <returns></returns>
  220. [HttpGet("schedulingnew")]
  221. public async Task<IActionResult> SchedulingAsyncNEW(string startdate,string enddate,string divisioncode)
  222. {
  223. var keyvalue = new List<string>();
  224. #region 获取签名
  225. keyvalue.Add("start_date");
  226. keyvalue.Add("startdate");
  227. keyvalue.Add("end_date");
  228. keyvalue.Add("enddate");
  229. keyvalue.Add("division_code");
  230. keyvalue.Add("divisioncode");
  231. keyvalue.Add("access_token");
  232. keyvalue.Add("tokenvalue");
  233. keyvalue.Add("timestamp");
  234. keyvalue.Add(DateTimeConvert.ToTimespan(DateTime.Now).ToString());
  235. //keyvalue.Add("sign");
  236. #endregion
  237. #region 获取路径
  238. string ha = _configuration["his:hisaddress"].ToString();
  239. #endregion
  240. string strURL = "http://" + ha + "/Appt/Scheduling";
  241. var m = new
  242. {
  243. start_date=startdate ,
  244. end_date=enddate,
  245. division_code=divisioncode ,
  246. access_token = "access_token",
  247. timestamp = DateTimeConvert.ToTimespan(DateTime.Now).ToString(),
  248. sign = GetSign(keyvalue).Result.ToString()
  249. };
  250. //实体序列化和反序列化
  251. string json1 = JsonConvert.SerializeObject(m);
  252. string strHTML = MadRunFabric.Common.HttpMethods.HttpPost(strURL, json1);
  253. JObject jo1 = (JObject)JsonConvert.DeserializeObject(strHTML);
  254. if (jo1 != null && jo1["result"].ToString() == "0")
  255. {
  256. AddRecords("获取出诊排班", strURL, json1, jo1.ToString(), "成功");
  257. return Success("获取出诊排班成功", jo1);
  258. }
  259. else
  260. {
  261. if (jo1 != null)
  262. {
  263. AddRecords("获取出诊排班", strURL, json1, jo1.ToString(), "失败");
  264. }
  265. else
  266. {
  267. AddRecords("获取出诊排班", strURL, json1, "", "失败");
  268. }
  269. return Error("获取出诊排班失败");
  270. }
  271. }
  272. #endregion
  273. #region 获取出诊排班--按医生
  274. /// <summary>
  275. /// 获取出诊排班
  276. /// </summary>
  277. /// <returns></returns>
  278. [HttpGet("doctorschedulingnew")]
  279. public async Task<IActionResult> DoctorSchedulingAsyncNEW(string startdate, string enddate, string doctorcode)
  280. {
  281. var keyvalue = new List<string>();
  282. #region 获取签名
  283. keyvalue.Add("start_date");
  284. keyvalue.Add("startdate");
  285. keyvalue.Add("end_date");
  286. keyvalue.Add("enddate");
  287. keyvalue.Add("doctor_code");
  288. keyvalue.Add("doctorcode");
  289. keyvalue.Add("access_token");
  290. keyvalue.Add("tokenvalue");
  291. keyvalue.Add("timestamp");
  292. keyvalue.Add(DateTimeConvert.ToTimespan(DateTime.Now).ToString());
  293. //keyvalue.Add("sign");
  294. #endregion
  295. #region 获取路径
  296. string ha = _configuration["his:hisaddress"].ToString();
  297. #endregion
  298. string strURL = "http://" + ha + "/Appt/DoctorScheduling";
  299. var m = new
  300. {
  301. start_date = startdate,
  302. end_date = enddate,
  303. doctor_code = doctorcode,
  304. access_token = "access_token",
  305. timestamp = DateTimeConvert.ToTimespan(DateTime.Now).ToString(),
  306. sign = GetSign(keyvalue).Result.ToString()
  307. };
  308. //实体序列化和反序列化
  309. string json1 = JsonConvert.SerializeObject(m);
  310. string strHTML = MadRunFabric.Common.HttpMethods.HttpPost(strURL, json1);
  311. JObject jo1 = (JObject)JsonConvert.DeserializeObject(strHTML);
  312. if (jo1 != null && jo1["result"].ToString() == "0")
  313. {
  314. AddRecords("按医生获取出诊排班", strURL, json1, jo1.ToString(), "成功");
  315. return Success("按医生获取出诊排班成功", jo1);
  316. }
  317. else
  318. {
  319. if (jo1 != null)
  320. {
  321. AddRecords("按医生获取出诊排班", strURL, json1, jo1.ToString(), "失败");
  322. }
  323. else
  324. {
  325. AddRecords("按医生获取出诊排班", strURL, json1, "", "失败");
  326. }
  327. return Error("按医生获取出诊排班失败");
  328. }
  329. }
  330. #endregion
  331. #region 获取分时出诊信息
  332. /// <summary>
  333. /// 获取出诊排班
  334. /// </summary>
  335. /// <returns></returns>
  336. [HttpGet("getperiodnew")]
  337. public async Task<IActionResult> GetPeriodAsyncNEW(string sched_id)
  338. {
  339. var keyvalue = new List<string>();
  340. #region 获取签名
  341. keyvalue.Add("sched_id");
  342. keyvalue.Add(sched_id);
  343. keyvalue.Add("access_token");
  344. keyvalue.Add("tokenvalue");
  345. keyvalue.Add("timestamp");
  346. keyvalue.Add(DateTimeConvert.ToTimespan(DateTime.Now).ToString());
  347. //keyvalue.Add("sign");
  348. #endregion
  349. #region 获取路径
  350. string ha = _configuration["his:hisaddress"].ToString();
  351. #endregion
  352. string strURL = "http://" + ha + "/Appt/GetPeriod";
  353. var m = new
  354. {
  355. sched_id ,
  356. access_token = "access_token",
  357. timestamp = DateTimeConvert.ToTimespan(DateTime.Now).ToString(),
  358. sign = GetSign(keyvalue).Result.ToString()
  359. };
  360. //实体序列化和反序列化
  361. string json1 = JsonConvert.SerializeObject(m);
  362. string strHTML = MadRunFabric.Common.HttpMethods.HttpPost(strURL, json1);
  363. JObject jo1 = (JObject)JsonConvert.DeserializeObject(strHTML);
  364. if (jo1 != null && jo1["result"].ToString() == "0")
  365. {
  366. AddRecords("获取分时出诊信息", strURL, json1, jo1.ToString(), "成功");
  367. return Success("获取分时出诊信息成功", jo1);
  368. }
  369. else
  370. {
  371. if (jo1 != null)
  372. {
  373. AddRecords("获取分时出诊信息", strURL, json1, jo1.ToString(), "失败");
  374. }
  375. else
  376. {
  377. AddRecords("获取分时出诊信息", strURL, json1, "", "失败");
  378. }
  379. return Error("获取分时出诊信息失败");
  380. }
  381. }
  382. #endregion
  383. #region 添加预约申请
  384. /// <summary>
  385. /// 添加预约申请
  386. /// </summary>
  387. /// <returns></returns>
  388. [HttpGet("submitapptnew")]
  389. public async Task<IActionResult> SubmitApptAsyncNEW(string opinfo_id, string patient_name, string idcard_code,string phone)
  390. {
  391. var keyvalue = new List<string>();
  392. #region 获取签名
  393. keyvalue.Add("opinfo_id");
  394. keyvalue.Add(opinfo_id);
  395. keyvalue.Add("patient_name");
  396. keyvalue.Add(patient_name);
  397. keyvalue.Add("idcard_code");
  398. keyvalue.Add(idcard_code);
  399. keyvalue.Add("phone");
  400. keyvalue.Add(phone);
  401. keyvalue.Add("access_token");
  402. keyvalue.Add("tokenvalue");
  403. keyvalue.Add("timestamp");
  404. keyvalue.Add(DateTimeConvert.ToTimespan(DateTime.Now).ToString());
  405. //keyvalue.Add("sign");
  406. #endregion
  407. #region 获取路径
  408. string ha = _configuration["his:hisaddress"].ToString();
  409. #endregion
  410. string strURL = "http://" + ha + "/Appt/SubmitAppt";
  411. var m = new
  412. {
  413. opinfo_id,
  414. patient_name,
  415. idcard_code,
  416. phone,
  417. access_token = "access_token",
  418. timestamp = DateTimeConvert.ToTimespan(DateTime.Now).ToString(),
  419. sign = GetSign(keyvalue).Result.ToString()
  420. };
  421. //实体序列化和反序列化
  422. string json1 = JsonConvert.SerializeObject(m);
  423. string strHTML = MadRunFabric.Common.HttpMethods.HttpPost(strURL, json1);
  424. JObject jo1 = (JObject)JsonConvert.DeserializeObject(strHTML);
  425. if (jo1 != null && jo1["result"].ToString() == "0")
  426. {
  427. AddRecords("添加预约申请", strURL, json1, jo1.ToString(), "成功");
  428. return Success("添加预约申请成功", jo1);
  429. }
  430. else
  431. {
  432. if (jo1 != null)
  433. {
  434. AddRecords("添加预约申请", strURL, json1, jo1.ToString(), "失败");
  435. }
  436. else
  437. {
  438. AddRecords("添加预约申请", strURL, json1, "", "失败");
  439. }
  440. return Error("获取预约申请失败");
  441. }
  442. }
  443. #endregion
  444. #region 取消预约申请
  445. /// <summary>
  446. /// 取消预约申请
  447. /// </summary>
  448. /// <returns></returns>
  449. [HttpGet("cancelapptnew")]
  450. public async Task<IActionResult> CancelApptAsyncNEW(string appt_id, string vericode)
  451. {
  452. var keyvalue = new List<string>();
  453. #region 获取签名
  454. keyvalue.Add("appt_id");
  455. keyvalue.Add(appt_id);
  456. keyvalue.Add("vericode");
  457. keyvalue.Add(vericode);
  458. keyvalue.Add("access_token");
  459. keyvalue.Add("tokenvalue");
  460. keyvalue.Add("timestamp");
  461. keyvalue.Add(DateTimeConvert.ToTimespan(DateTime.Now).ToString());
  462. //keyvalue.Add("sign");
  463. #endregion
  464. #region 获取路径
  465. string ha = _configuration["his:hisaddress"].ToString();
  466. #endregion
  467. string strURL = "http://" + ha + "/Appt/CancelAppt";
  468. var m = new
  469. {
  470. appt_id,
  471. vericode,
  472. access_token = "access_token",
  473. timestamp = DateTimeConvert.ToTimespan(DateTime.Now).ToString(),
  474. sign = GetSign(keyvalue).Result.ToString()
  475. };
  476. //实体序列化和反序列化
  477. string json1 = JsonConvert.SerializeObject(m);
  478. string strHTML = MadRunFabric.Common.HttpMethods.HttpPost(strURL, json1);
  479. JObject jo1 = (JObject)JsonConvert.DeserializeObject(strHTML);
  480. if (jo1 != null && jo1["result"].ToString() == "0")
  481. {
  482. AddRecords("取消预约申请", strURL, json1, jo1.ToString(), "成功");
  483. return Success("取消预约申请成功", jo1);
  484. }
  485. else
  486. {
  487. if (jo1 != null)
  488. {
  489. AddRecords("取消预约申请", strURL, json1, jo1.ToString(), "失败");
  490. }
  491. else
  492. {
  493. AddRecords("取消预约申请", strURL, json1, "", "失败");
  494. }
  495. return Error("取消预约申请失败");
  496. }
  497. }
  498. #endregion
  499. #region 接口访问测试
  500. /// <summary>
  501. /// 接口访问测试
  502. /// </summary>
  503. /// <returns></returns>
  504. [HttpGet("apiconnectiontest")]
  505. public async Task<IActionResult> ApiConnectionTest()
  506. {
  507. var keyvalue = new List<string>();
  508. #region 获取签名
  509. keyvalue.Add("access_token");
  510. keyvalue.Add("tokenvalue");
  511. keyvalue.Add("timestamp");
  512. keyvalue.Add(DateTimeConvert.ToTimespan(DateTime.Now).ToString());
  513. //keyvalue.Add("sign");
  514. #endregion
  515. #region 获取路径
  516. string ha = _configuration["his:hisaddress"].ToString();
  517. #endregion
  518. string strURL = "http://" + ha + "/Appt/ApiConnectionTest";
  519. var m = new
  520. {
  521. access_token = "access_token",
  522. timestamp = DateTimeConvert.ToTimespan(DateTime.Now).ToString(),
  523. sign = GetSign(keyvalue).Result.ToString()
  524. };
  525. //实体序列化和反序列化
  526. string json1 = JsonConvert.SerializeObject(m);
  527. string strHTML = MadRunFabric.Common.HttpMethods.HttpPost(strURL, json1);
  528. JObject jo1 = (JObject)JsonConvert.DeserializeObject(strHTML);
  529. if (jo1 != null && jo1["result"].ToString() == "0")
  530. {
  531. return Success("接口访问测试成功", jo1);
  532. }
  533. else
  534. {
  535. return Error("接口访问测试失败");
  536. }
  537. }
  538. #endregion
  539. #region 添加请求访问记录
  540. public bool AddRecords(string type,string address,string paras,string backcontent,string issuccess)
  541. {
  542. #region 添加访问记录
  543. var model = new His_OpeRecords();
  544. model.requesttype = type;
  545. model.requestaddress = address;
  546. model.requestparameter = paras;
  547. model.backcontent = backcontent;
  548. model.issuccess = issuccess;
  549. bool bl = _his_operecordsRepository.Add(model).Result ;
  550. return bl;
  551. #endregion
  552. }
  553. #endregion
  554. #region 测试
  555. //获取AccessToken
  556. [HttpGet("gettoken")]
  557. public async Task<IActionResult> GetAccessToken()
  558. {
  559. var m = new
  560. {
  561. appid = "appidvalue",
  562. secret = "secretvalue",
  563. timestamp = DateTimeConvert.ToTimespan(DateTime.Now).ToString(),
  564. sign = "sign"
  565. };
  566. return Success("获取token成功", m);
  567. }
  568. /// <summary>
  569. /// 获取出诊科室列表
  570. /// </summary>
  571. /// <returns></returns>
  572. [HttpGet("division")]
  573. public async Task<IActionResult> DivisionAsync()
  574. {
  575. var m = new
  576. {
  577. access_token = "access_token",
  578. timestamp = DateTimeConvert.ToTimespan(DateTime.Now).ToString(),
  579. sign = "SIGN"
  580. };
  581. return Success("获取token成功", m);
  582. }
  583. /// <summary>
  584. /// 获取出诊排班
  585. /// </summary>
  586. /// <returns></returns>
  587. [HttpGet("scheduling")]
  588. public async Task<IActionResult> SchedulingAsync(string startdate, string enddate, string divisioncode)
  589. {
  590. var m = new
  591. {
  592. start_date = startdate,
  593. end_date = enddate,
  594. division_code = divisioncode,
  595. access_token = "access_token",
  596. timestamp = DateTimeConvert.ToTimespan(DateTime.Now).ToString(),
  597. sign = "sign"
  598. };
  599. return Success("获取出诊排班成功", m);
  600. }
  601. [HttpGet("doctorscheduling")]
  602. public async Task<IActionResult> DoctorSchedulingAsync(string startdate, string enddate, string doctorcode)
  603. {
  604. var m = new
  605. {
  606. start_date = startdate,
  607. end_date = enddate,
  608. doctor_code = doctorcode,
  609. access_token = "access_token",
  610. timestamp = DateTimeConvert.ToTimespan(DateTime.Now).ToString(),
  611. sign = "sign"
  612. };
  613. return Success("按医生获取出诊排班成功", m);
  614. }
  615. /// <summary>
  616. /// 获取分时出诊信息
  617. /// </summary>
  618. /// <returns></returns>
  619. [HttpGet("getperiod")]
  620. public async Task<IActionResult> GetPeriodAsync(string sched_id)
  621. {
  622. var m = new
  623. {
  624. sched_id,
  625. access_token = "access_token",
  626. timestamp = DateTimeConvert.ToTimespan(DateTime.Now).ToString(),
  627. sign = "sign"
  628. };
  629. return Success("获取分时出诊信息成功", m);
  630. }
  631. /// <summary>
  632. /// 添加预约申请
  633. /// </summary>
  634. /// <returns></returns>
  635. [HttpGet("submitappt")]
  636. public async Task<IActionResult> SubmitApptAsync(string opinfo_id, string patient_name, string idcard_code, string phone)
  637. {
  638. var m = new
  639. {
  640. opinfo_id,
  641. patient_name,
  642. idcard_code,
  643. phone,
  644. access_token = "access_token",
  645. timestamp = DateTimeConvert.ToTimespan(DateTime.Now).ToString(),
  646. sign = "sign"
  647. };
  648. return Success("添加预约申请成功", m);
  649. }
  650. /// <summary>
  651. /// 取消预约申请
  652. /// </summary>
  653. /// <returns></returns>
  654. [HttpGet("cancelappt")]
  655. public async Task<IActionResult> CancelApptAsync(string appt_id, string vericode)
  656. {
  657. var m = new
  658. {
  659. appt_id,
  660. vericode,
  661. access_token = "access_token",
  662. timestamp = DateTimeConvert.ToTimespan(DateTime.Now).ToString(),
  663. sign = "sign"
  664. };
  665. return Success("取消预约申请成功", m);
  666. }
  667. #endregion
  668. }
  669. }