ForwardController.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?php
  2. /**
  3. * 花店冲销凭证只读接口
  4. * 用途:按本侧 xhCgForward 查列表/详情,不跨读 GHS 冲销表。ssh 冲销单功能
  5. */
  6. namespace hd\controllers;
  7. use bizHd\cg\classes\CgForwardClass;
  8. use bizHd\cg\classes\CgForwardItemClass;
  9. use bizHd\purchase\classes\PurchaseClass;
  10. use common\components\util;
  11. use Yii;
  12. class ForwardController extends BaseController
  13. {
  14. /**
  15. * 按原采购单查冲销凭证列表
  16. * GET: cgId
  17. */
  18. public function actionListByCg()
  19. {
  20. $cgId = intval(Yii::$app->request->get('cgId', 0));
  21. $cg = PurchaseClass::getById($cgId, true);
  22. if (empty($cg) || intval($cg->mainId) !== intval($this->mainId)) {
  23. util::fail('没有找到采购单');
  24. }
  25. $list = CgForwardClass::getAllByCondition(
  26. ['cgId' => $cgId, 'status' => CgForwardClass::STATUS_SUCCESS],
  27. 'id DESC',
  28. '*',
  29. null,
  30. true
  31. );
  32. $rows = [];
  33. foreach ($list ?: [] as $row) {
  34. $rows[] = [
  35. 'id' => $row->id,
  36. 'forwardSn' => $row->forwardSn,
  37. 'cgId' => $row->cgId,
  38. 'cgSn' => $row->cgSn,
  39. 'amount' => $row->amount,
  40. 'payWay' => $row->payWay,
  41. 'fundType' => $row->fundType,
  42. 'forwardStock' => $row->forwardStock,
  43. 'status' => $row->status,
  44. 'remark' => $row->remark,
  45. 'addTime' => $row->addTime,
  46. 'ghsForwardId' => $row->ghsForwardId,
  47. ];
  48. }
  49. util::success([
  50. 'list' => $rows,
  51. 'cgId' => $cgId,
  52. 'forwardPrice' => $cg->forwardPrice ?? '0.00',
  53. 'hasForward' => intval($cg->hasForward ?? 0),
  54. ]);
  55. }
  56. /**
  57. * 花店侧冲销凭证详情
  58. * GET: id
  59. */
  60. public function actionDetail()
  61. {
  62. $id = intval(Yii::$app->request->get('id', 0));
  63. $forward = CgForwardClass::getById($id, true);
  64. if (empty($forward) || intval($forward->mainId) !== intval($this->mainId)) {
  65. util::fail('没有找到冲销凭证');
  66. }
  67. $items = CgForwardItemClass::getAllByCondition(['forwardId' => $id], null, '*', null, true);
  68. $itemRows = [];
  69. foreach ($items ?: [] as $it) {
  70. $itemRows[] = [
  71. 'id' => $it->id,
  72. 'productId' => $it->productId,
  73. 'name' => $it->name,
  74. 'num' => $it->num,
  75. 'bigNum' => $it->bigNum,
  76. 'smallNum' => $it->smallNum,
  77. 'unitPrice' => $it->unitPrice,
  78. 'price' => $it->price,
  79. 'amount' => $it->amount,
  80. ];
  81. }
  82. util::success([
  83. 'id' => $forward->id,
  84. 'forwardSn' => $forward->forwardSn,
  85. 'cgId' => $forward->cgId,
  86. 'cgSn' => $forward->cgSn,
  87. 'amount' => $forward->amount,
  88. 'payWay' => $forward->payWay,
  89. 'fundType' => $forward->fundType,
  90. 'forwardStock' => $forward->forwardStock,
  91. 'status' => $forward->status,
  92. 'remark' => $forward->remark,
  93. 'addTime' => $forward->addTime,
  94. 'ghsForwardId' => $forward->ghsForwardId,
  95. 'items' => $itemRows,
  96. ]);
  97. }
  98. }