QueryDrugReportController.php 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Servers\QueryDrugReportService;
  4. use Carbon\Carbon;
  5. use Illuminate\Http\JsonResponse;
  6. use Illuminate\Http\Request;
  7. use App\Servers\SyncDrugReportService;
  8. class QueryDrugReportController extends Api
  9. {
  10. /**
  11. * 查询上游企业的待签收药检报告信息
  12. * (?begin_time=2025-11-01 00:00:00&end_time=2025-11-31 23:59:59&page=1&page_size=20)
  13. * @param Request $request
  14. * @param QueryDrugReportService $service
  15. * @return JsonResponse
  16. * @throws \Exception
  17. */
  18. public function queryDrugReport(Request $request, QueryDrugReportService $service)
  19. {
  20. $beginTime = $request->get("begin_time") ?? Carbon::now()->startOfMonth()->toDateTimeString();
  21. $endTime = $request->get("end_time") ?? Carbon::now()->endOfMonth()->toDateTimeString();
  22. $page = $request->get("page") ?? 1;
  23. $pageSize = $request->get("page_size") ?? 20;
  24. $data = $service->queryDrugReport($beginTime, $endTime, $page, $pageSize);
  25. dd($data);
  26. // return response()->json($data);
  27. }
  28. /**
  29. * 查询上传报告信息接口
  30. * (?begin_time=2025-03-01 00:00:00&end_time=2025-03-31 23:59:59&page=1&page_size=20&is_seal=0)
  31. * @param Request $request
  32. * @param QueryDrugReportService $service
  33. * @return JsonResponse
  34. * @throws \Exception
  35. */
  36. public function querySealDrugReport(Request $request, QueryDrugReportService $service)
  37. {
  38. $beginTime = $request->get("start_time") ?? Carbon::now()->startOfMonth()->toDateTimeString();
  39. $endTime = $request->get("end_time") ?? Carbon::now()->endOfMonth()->toDateTimeString();
  40. $page = $request->get("page") ?? 1;
  41. $pageSize = $request->get("page_size") ?? 20;
  42. $isSeal = $request->get("is_seal") ?? 0;
  43. $data = $service->querySealDrugReport($beginTime, $endTime, $page, $pageSize, $isSeal);
  44. dd($data);
  45. // return response()->json($data);
  46. }
  47. /**
  48. * 药检报告操作日志
  49. * (?begin_date=2025-11-01&end_date=2025-11-31&page=1&page_size=20)
  50. * @param Request $request
  51. * @param QueryDrugReportService $service
  52. * @return JsonResponse
  53. * @throws \Exception
  54. */
  55. public function drugReportOptHistory(Request $request, QueryDrugReportService $service)
  56. {
  57. $beginDate = $request->get("start_time") ?? Carbon::now()->startOfMonth()->toDateString();
  58. $endDate = $request->get("end_time") ?? Carbon::now()->endOfMonth()->toDateString();
  59. $page = $request->get("page") ?? 1;
  60. $pageSize = $request->get("page_size") ?? 20;
  61. $data = $service->drugReportOptHistory($beginDate, $endDate, $page, $pageSize);
  62. dd($data);
  63. // return response()->json($data);
  64. }
  65. /**
  66. * 查询上游出库单,支持以自己身份查询或者货主身份查询
  67. * (?begin_time=2025-03-01 00:00:00&end_time=2025-03-31 23:59:59&page=1&page_size=20&is_seal=0)
  68. * @param Request $request
  69. * @param QueryDrugReportService $service
  70. * @return JsonResponse
  71. * @throws \Exception
  72. */
  73. public function queryDrugReportass(Request $request, QueryDrugReportService $service)
  74. {
  75. $beginTime = $request->get("start_time") ?? Carbon::now()->startOfMonth()->toDateTimeString();
  76. $endTime = $request->get("end_time") ?? Carbon::now()->endOfMonth()->toDateTimeString();
  77. $page = $request->get("page") ?? 1;
  78. $pageSize = $request->get("page_size") ?? 20;
  79. $isSeal = $request->get("is_seal") ?? 0;
  80. $batchNo = $request->get("batch_no") ?? 0;
  81. $drugId = $request->get("drug_id") ?? 0;
  82. $time_type = $request->get("time_type") ?? "0";
  83. $batch_no = $request->get("batch_no") ?? '';
  84. $drug_id = $request->get("drug_id") ?? '';
  85. $bill_code = $request->get("bill_code") ?? '';
  86. $data = $service->querydrugreportass($beginTime, $endTime, $page, $pageSize, $isSeal,$time_type,$bill_code,$batch_no,$drug_id);
  87. dd($data);
  88. // return response()->json($data);
  89. }
  90. /**
  91. * 同步上游出库单数据,支持以自己身份查询或者货主身份查询
  92. * (?begin_time=2025-03-01 00:00:00&end_time=2025-03-31 23:59:59&page=1&page_size=20&is_seal=0)
  93. * @param Request $request
  94. * @param QueryDrugReportService $service
  95. * @return JsonResponse
  96. * @throws \Exception
  97. */
  98. public function syncDrugReportass(Request $request,SyncDrugReportService $SyncDrugReportService)
  99. {
  100. $source = $request->get('source', 'querydrugreportass');
  101. $isFull = (bool)$request->get('full', true);
  102. $startTime = $request->get('start_time') ?? Carbon::today()->startOfDay();
  103. $endTime = $request->get('end_time') ?? ''; // Carbon::now()
  104. $page = $request->get('page') ?? 1;
  105. $pageSize = $request->get('page_size') ?? 20;
  106. if (empty($source)) {
  107. echo "参数错误,未指定来源[source]", PHP_EOL;
  108. return Command::FAILURE;
  109. }
  110. echo $isFull ? "全量同步开始" : "增量同步开始", sprintf('[%d, %s, %s, %d, %d]……', $isFull, $startTime, $endTime, $page, $pageSize), PHP_EOL;
  111. $count = $SyncDrugReportService->syncDrugReport($source, $isFull, $startTime, $endTime, $page, $pageSize);
  112. echo $isFull ? "全量同步结束" : "增量同步结束", ",共处理 {$count} 条记录!", PHP_EOL;
  113. // return response()->json($data);
  114. }
  115. /**
  116. * 查询一张网报告操作日志
  117. * (?begin_time=2025-03-01 00:00:00&end_time=2025-03-31 23:59:59&page=1&page_size=20&is_seal=0)
  118. * @param Request $request
  119. * @param QueryDrugReportService $service
  120. * @return JsonResponse
  121. * @throws \Exception
  122. */
  123. public function historyAll(Request $request, QueryDrugReportService $service)
  124. {
  125. $beginTime = $request->get("begin_time") ?? Carbon::now()->startOfMonth()->toDateTimeString();
  126. $endTime = $request->get("end_time") ?? Carbon::now()->endOfMonth()->toDateTimeString();
  127. $page = $request->get("page") ?? 1;
  128. $pageSize = $request->get("page_size") ?? 20;
  129. $isSeal = $request->get("is_seal") ?? 0;
  130. $batchNo = $request->get("batch_no") ?? 0;
  131. $drugId = $request->get("drug_id") ?? 0;
  132. $data = $service->querydrugreportass($beginTime, $endTime, $page, $pageSize, $isSeal);
  133. dd($data);
  134. // return response()->json($data);
  135. }
  136. /**
  137. * 查询一段时间内已经签收的单据
  138. */
  139. public function getSignedAss(Request $request, QueryDrugReportService $service)
  140. {
  141. $beginTime = $request->get("start_time") ?? Carbon::now()->startOfMonth()->toDateTimeString();
  142. $endTime = $request->get("end_time") ?? Carbon::now()->endOfMonth()->toDateTimeString();
  143. $page = $request->get("page") ?? 1;
  144. $pageSize = $request->get("page_size") ?? 20;
  145. $data = $service->queryDrugReportSignedAss($beginTime, $endTime, $page, $pageSize);
  146. dd($data);
  147. // return response()->json($data);
  148. }
  149. /**
  150. * 查询药检报告签章信息
  151. */
  152. public function synergyDrugReport(Request $request, QueryDrugReportService $service)
  153. {
  154. $reportId = $request->get("report_id") ?? 0;
  155. $data = $service->synergyDrugReport($reportId);
  156. dd($data);
  157. // return response()->json($data);
  158. }
  159. /**
  160. * 查询已经签收但是还未盖章的单据
  161. */
  162. public function signednotstampedbill(Request $request, QueryDrugReportService $service)
  163. {
  164. $beginTime = $request->get("start_time") ?? Carbon::now()->startOfMonth()->toDateTimeString();
  165. $endTime = $request->get("end_time") ?? Carbon::now()->endOfMonth()->toDateTimeString();
  166. $page = $request->get("page") ?? 1;
  167. $pageSize = $request->get("page_size") ?? 20;
  168. $data = $service->signednotstampedbill($beginTime, $endTime, $page, $pageSize);
  169. dd($data);
  170. // return response()->json($data);
  171. }
  172. }