新版订单消耗系统

StatementsSealController.php 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Services\StatementsSealService;
  4. use Illuminate\Http\Request;
  5. class StatementsSealController extends Controller
  6. {
  7. /*
  8. * 结算单盖章申请
  9. */
  10. public function statementsSealApply(Request $request)
  11. {
  12. // 处理验证失败信息,不要直接抛异常
  13. $validator = \Validator::make($request->all(), [
  14. 'statements_id' => 'required|numeric',
  15. 'attachments' => 'nullable|array',
  16. 'type' => 'required|in:1,2',
  17. 'copies' => 'required|int'
  18. ]);
  19. if ($validator->fails()) {
  20. return self::returnValue(['error' => $validator->errors()], 1102);
  21. }
  22. $params['statements_id'] = $request->input('statements_id');
  23. $params['attachments'] = $request->input('attachments');
  24. $params['copies'] = $request->input('copies');
  25. $params['type'] = $request->input('type', 1);
  26. $params['handler_remark'] = $request->input('handler_remark');# 申请人备注
  27. $errcode = 0;
  28. $res = StatementsSealService::statementsSealApply($params, $errcode);
  29. return self::returnValue($res, $errcode);
  30. }
  31. /*
  32. * 结算单盖章申请列表
  33. */
  34. public function statementsSealApplyList(Request $request) {
  35. // 处理验证失败信息,不要直接抛异常
  36. $validator = \Validator::make($request->all(), [
  37. 'page' => 'required|numeric',
  38. 'page_size' => 'required|numeric'
  39. ]);
  40. if ($validator->fails()) {
  41. return self::returnValue(['error' => $validator->errors()], 1102);
  42. }
  43. $page = $request->input('page');
  44. $pageSize = $request->input('page_size');
  45. $params['statements_type'] = $request->input('statements_type');
  46. $params['customer_name'] = $request->input('customer_name'); // 甲方
  47. $params['applicant_date_st'] = $request->input('applicant_date_st'); // 申请开始日期
  48. $params['applicant_date_ed'] = $request->input('applicant_date_ed'); // 申请截止日期
  49. list($data, $count) = StatementsSealService::statementsSealApplyList($params, $page, $pageSize);
  50. return self::returnPageValue($data, $count, $pageSize, $page);
  51. }
  52. /*
  53. * 结算单盖章申请详情
  54. */
  55. public function statementsSealDetails(Request $request) {
  56. // 处理验证失败信息,不要直接抛异常
  57. $validator = \Validator::make($request->all(), [
  58. 'statements_seal_id' => 'required|numeric'
  59. ]);
  60. if ($validator->fails()) {
  61. return self::returnValue(['error' => $validator->errors()], 1102);
  62. }
  63. $statementsSealId = $request->input('statements_seal_id');
  64. $data = StatementsSealService::statementsSealDetails($statementsSealId);
  65. return self::returnValue($data);
  66. }
  67. /*
  68. * 结算单盖章申请撤销
  69. */
  70. public function statementsSealDel(Request $request) {
  71. // 处理验证失败信息,不要直接抛异常
  72. $validator = \Validator::make($request->all(), [
  73. 'statements_seal_id' => 'required|numeric'
  74. ]);
  75. if ($validator->fails()) {
  76. return self::returnValue(['error' => $validator->errors()], 1102);
  77. }
  78. $statementsSealId = $request->input('statements_seal_id');
  79. $errcode = 0;
  80. $res = StatementsSealService::statementsSealDel($statementsSealId, $errcode);
  81. return self::returnValue($res, $errcode);
  82. }
  83. /*
  84. * 结算单盖章审核列表
  85. */
  86. public function statementsSealVerifyList(Request $request) {
  87. // 处理验证失败信息,不要直接抛异常
  88. $validator = \Validator::make($request->all(), [
  89. 'page' => 'required|numeric',
  90. 'page_size' => 'required|numeric'
  91. ]);
  92. if ($validator->fails()) {
  93. return self::returnValue(['error' => $validator->errors()], 1102);
  94. }
  95. $page = $request->input('page');
  96. $pageSize = $request->input('page_size');
  97. $params['statements_type'] = $request->input('statements_type');
  98. $params['customer_name'] = $request->input('customer_name'); // 甲方
  99. $params['company'] = $request->input('company'); // 签约公司
  100. $params['applicant_date_st'] = $request->input('applicant_date_st'); // 申请开始日期
  101. $params['applicant_date_ed'] = $request->input('applicant_date_ed'); // 申请截止日期
  102. $params['statements_seal_id']= $request->input('statements_seal_id'); // 结算单盖章序列号
  103. $params['statements_id'] = $request->input('statements_id'); // 结算单序列号
  104. $params['applicant'] = $request->input('applicant'); // 申请人
  105. $params['verify_status'] = $request->input('verify_status'); // 审核状态
  106. $params['processing_state'] = $request->input('processing_state');// 处理状态 1待审核 2审核通过 3审核不通过 0全部
  107. list($data, $count) = StatementsSealService::statementsSealVerifyList($params, $page, $pageSize);
  108. return self::returnPageValue($data, $count, $pageSize, $page);
  109. }
  110. /*
  111. * 结算单盖章审核
  112. */
  113. public function statementsSealVerifyAction(Request $request) {
  114. // 处理验证失败信息,不要直接抛异常
  115. $validator = \Validator::make($request->all(), [
  116. 'statements_seal_id' => 'required|numeric',
  117. 'verify_status' => 'required|in:1,2',
  118. 'remark' => 'required_if:verify_status,2'
  119. ]);
  120. if ($validator->fails()) {
  121. return self::returnValue(['error' => $validator->errors()], 1102);
  122. }
  123. $statementsSealId = $request->input('statements_seal_id');
  124. $verifyStatus = $request->input('verify_status'); // 1通过 2不通过
  125. $remark = $request->input('remark');
  126. $errcode = 0;
  127. $res = StatementsSealService::statementsSealVerifyAction($statementsSealId, $verifyStatus, $remark, $errcode);
  128. return self::returnValue($res, $errcode);
  129. }
  130. /*
  131. * 结算单标记盖章列表
  132. */
  133. public function statementsSealList(Request $request) {
  134. // 处理验证失败信息,不要直接抛异常
  135. $validator = \Validator::make($request->all(), [
  136. 'page' => 'required|numeric',
  137. 'page_size' => 'required|numeric'
  138. ]);
  139. if ($validator->fails()) {
  140. return self::returnValue(['error' => $validator->errors()], 1102);
  141. }
  142. $page = $request->input('page');
  143. $pageSize = $request->input('page_size');
  144. $params['customer_name'] = $request->input('customer_name'); // 甲方
  145. $params['company'] = $request->input('company'); // 签约公司
  146. $params['statements_seal_id']= $request->input('statements_seal_id'); // 结算单盖章序列号
  147. $params['statements_id'] = $request->input('statements_id'); // 结算单序列号
  148. $params['processing_state'] = $request->input('processing_state');// 处理状态 1已处理 2未处理 0全部
  149. list($data, $count) = StatementsSealService::statementsSealList($params, $page, $pageSize);
  150. return self::returnPageValue($data, $count, $pageSize, $page);
  151. }
  152. /*
  153. * 结算单标记(取消标记)盖章
  154. */
  155. public function statementsSealAction(Request $request) {
  156. // 处理验证失败信息,不要直接抛异常
  157. $validator = \Validator::make($request->all(), [
  158. 'statements_seal_id_list' => 'required|array',
  159. 'date' => 'date',
  160. 'type' => 'required|in:1,2'
  161. ]);
  162. if ($validator->fails()) {
  163. return self::returnValue(['error' => $validator->errors()], 1102);
  164. }
  165. $statementsSealIdList = $request->input('statements_seal_id_list');
  166. $date = $request->input('date');
  167. $type = $request->input('type');
  168. list($res, $code) = StatementsSealService::statementsSealAction($statementsSealIdList, $type, $date);
  169. return self::returnValue($res, $code);
  170. }
  171. /*
  172. * 盖章短信提醒
  173. */
  174. public function statementsSealRemind(Request $request) {
  175. // 处理验证失败信息,不要直接抛异常
  176. $validator = \Validator::make($request->all(), [
  177. 'statements_seal_id_list' => 'required|array',
  178. ]);
  179. if ($validator->fails()) {
  180. return self::returnValue(['error' => $validator->errors()], 1102);
  181. }
  182. $statementsSealIdList = $request->input('statements_seal_id_list');
  183. list($res, $code) = StatementsSealService::statementsSealRemind($statementsSealIdList);
  184. return self::returnValue($res, $code);
  185. }
  186. /*
  187. * 结算单归档列表
  188. */
  189. public function statementsFileList(Request $request) {
  190. // 处理验证失败信息,不要直接抛异常
  191. $validator = \Validator::make($request->all(), [
  192. 'page' => 'required|numeric',
  193. 'page_size' => 'required|numeric'
  194. ]);
  195. if ($validator->fails()) {
  196. return self::returnValue(['error' => $validator->errors()], 1102);
  197. }
  198. $page = $request->input('page');
  199. $pageSize = $request->input('page_size');
  200. $params['customer_name'] = $request->input('customer_name'); // 甲方
  201. $params['company'] = $request->input('company'); // 签约公司
  202. $params['statements_seal_id']= $request->input('statements_seal_id'); // 结算单盖章序列号
  203. $params['statements_id'] = $request->input('statements_id'); // 结算单序列号
  204. list($data, $count) = StatementsSealService::statementsFileList($params, $page, $pageSize);
  205. return self::returnPageValue($data, $count, $pageSize, $page);
  206. }
  207. /*
  208. * 结算单归档
  209. */
  210. public function statementsFileAction(Request $request) {
  211. // 处理验证失败信息,不要直接抛异常
  212. $validator = \Validator::make($request->all(), [
  213. 'statements_seal_id_list' => 'required|array',
  214. 'date' => 'date',
  215. 'type' => 'required|in:1,2'
  216. ]);
  217. if ($validator->fails()) {
  218. return self::returnValue(['error' => $validator->errors()], 1102);
  219. }
  220. $statementsSealIdList = $request->input('statements_seal_id_list');
  221. $date = $request->input('date');
  222. $type = $request->input('type');
  223. $fileRemark = $request->input('file_remark');
  224. list($res, $code) = StatementsSealService::statementsFileAction($statementsSealIdList, $type, $date, $fileRemark);
  225. return self::returnValue($res, $code);
  226. }
  227. public function statementsFileDetailList(Request $request) {
  228. // 处理验证失败信息,不要直接抛异常
  229. $validator = \Validator::make($request->all(), [
  230. 'file_date_start' => 'date',
  231. 'file_date_end' => 'date',
  232. 'statements_id' => 'numeric',
  233. 'file_status' => 'in:0,1,2'
  234. ]);
  235. if ($validator->fails()) {
  236. return self::returnValue(['error' => $validator->errors()], 1102);
  237. }
  238. $page = $request->input('page');
  239. $pageSize = $request->input('page_size');
  240. $params['customer_name'] = $request->input('customer_name'); // 甲方
  241. $params['company'] = $request->input('company'); // 签约公司
  242. $params['statements_id'] = $request->input('statements_id'); // 结算单序列号
  243. $params['order_month_start'] = $request->input('order_month_start'); // 起始订单所属月份
  244. $params['order_month_end'] = $request->input('order_month_end'); // 截止订单所属月份
  245. $params['project_name'] = $request->input('project_name'); // 项目名
  246. $params['file_date_start'] = $request->input('file_date_start'); // 起始归档日期
  247. $params['file_date_end'] = $request->input('file_date_end'); // 截止归档日期
  248. $params['file_status'] = $request->input('file_status');
  249. list($data, $count) = StatementsSealService::statementsFileDetailList($params, $page, $pageSize);
  250. return self::returnPageValue($data, $count, $pageSize, $page);
  251. }
  252. public function statementsFileDetailExport(Request $request) {
  253. // 处理验证失败信息,不要直接抛异常
  254. $validator = \Validator::make($request->all(), [
  255. 'file_date_start' => 'date',
  256. 'file_date_end' => 'date',
  257. 'statements_id' => 'numeric',
  258. 'file_status' => 'in:0,1,2'
  259. ]);
  260. if ($validator->fails()) {
  261. return self::returnValue(['error' => $validator->errors()], 1102);
  262. }
  263. $params['customer_name'] = $request->input('customer_name'); // 甲方
  264. $params['company'] = $request->input('company'); // 签约公司
  265. $params['statements_id'] = $request->input('statements_id'); // 结算单序列号
  266. $params['order_month_start'] = $request->input('order_month_start'); // 起始订单所属月份
  267. $params['order_month_end'] = $request->input('order_month_end'); // 截止订单所属月份
  268. $params['project_name'] = $request->input('project_name'); // 项目名
  269. $params['file_date_start'] = $request->input('file_date_start'); // 起始归档日期
  270. $params['file_date_end'] = $request->input('file_date_end'); // 截止归档日期
  271. $params['file_status'] = $request->input('file_status');
  272. $fileUrl = StatementsSealService::statementsFileDetailExport($params);
  273. return self::returnValue($fileUrl);
  274. }
  275. }