PurchaseOrderItemController.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <?php
  2. namespace ghs\controllers;
  3. use bizGhs\order\classes\PurchaseOrderClass;
  4. use bizGhs\order\classes\PurchaseOrderItemClass;
  5. use bizGhs\product\classes\ProductClass;
  6. use common\components\util;
  7. use Yii;
  8. class PurchaseOrderItemController extends BaseController
  9. {
  10. //预存价格 ssh 20230725
  11. public function actionSaveCgPrice()
  12. {
  13. $post = Yii::$app->request->post();
  14. $data = $post['data'] ?? '';
  15. if (empty($data)) {
  16. util::fail('没有修改');
  17. }
  18. $arr = json_decode($data, true);
  19. if (empty($arr)) {
  20. util::fail('没有修改哦');
  21. }
  22. $cgId = $post['cgId'] ?? 0;
  23. $cg = PurchaseOrderClass::getById($cgId, true);
  24. if (empty($cg)) {
  25. util::fail('没有找到采购单');
  26. }
  27. if ($cg->mainId != $this->mainId) {
  28. util::fail('没有权限');
  29. }
  30. $orderSn = $cg->orderSn ?? '';
  31. $cgItemList = PurchaseOrderItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*', null, true);
  32. if (empty($cgItemList)) {
  33. util::fail('没有找到花材');
  34. }
  35. $new = [];
  36. foreach ($arr as $product) {
  37. $currentId = $product['id'] ?? 0;
  38. $savePrice = $product['savePrice'] ?? 0;
  39. $saveSkPrice = $product['saveSkPrice'] ?? 0;
  40. $saveHjPrice = $product['saveHjPrice'] ?? 0;
  41. $new[$currentId]['savePrice'] = $savePrice;
  42. $new[$currentId]['saveSkPrice'] = $saveSkPrice;
  43. $new[$currentId]['saveHjPrice'] = $saveHjPrice;
  44. }
  45. foreach ($cgItemList as $cgItem) {
  46. $thisId = $cgItem->id ?? 0;
  47. if (isset($new[$thisId]) == false) {
  48. util::fail('有花材没有价格');
  49. }
  50. $info = $new[$thisId];
  51. $savePrice = $info['savePrice'] ?? 0;
  52. $saveSkPrice = $info['saveSkPrice'] ?? 0;
  53. $saveHjPrice = $info['saveHjPrice'] ?? 0;
  54. $cgItem->savePrice = $savePrice;
  55. $cgItem->saveSkPrice = $saveSkPrice;
  56. $cgItem->saveHjPrice = $saveHjPrice;
  57. $cgItem->save();
  58. }
  59. $cg->hasSavePrice = 1;
  60. $cg->save();
  61. util::complete();
  62. }
  63. //获取采购单的明细
  64. public function actionGetItemList()
  65. {
  66. $get = Yii::$app->request->get();
  67. $id = $get['id'] ?? 0;
  68. $cg = PurchaseOrderClass::getById($id, true);
  69. if (isset($cg->mainId) == false || $cg->mainId != $this->mainId) {
  70. util::fail('没有权限');
  71. }
  72. $orderSn = $cg->orderSn ?? '';
  73. $list = PurchaseOrderItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*');
  74. if (!empty($list)) {
  75. $productIdList = array_column($list, 'productId');
  76. $itemList = ProductClass::getByIds($productIdList, null, 'id');
  77. foreach ($list as $key => $info) {
  78. $productId = $info['productId'] ?? 0;
  79. $cost = $info['cost'] ?? 0;
  80. $cost = round($cost);
  81. $current = $itemList[$productId] ?? [];
  82. $addPrice = $current['addPrice'] ?? 0;
  83. $hjAddPrice = $current['hjAddPrice'] ?? 0;
  84. $skMore = $current['skMore'] ?? 0;
  85. if (isset($info['savePrice']) && $info['savePrice'] > 0) {
  86. $suggestPrice = $info['savePrice'] ?? 0;
  87. $suggestSkPrice = $info['saveSkPrice'] ?? 0;
  88. $suggestHjPrice = $info['saveHjPrice'] ?? 0;
  89. } else {
  90. $suggestPrice = bcadd($cost, $addPrice, 2);
  91. $suggestSkPrice = bcadd($cost, $skMore, 2);
  92. $suggestHjPrice = bcadd($cost, $hjAddPrice, 2);
  93. }
  94. $suggestPrice = floatval($suggestPrice);
  95. $suggestSkPrice = floatval($suggestSkPrice);
  96. $suggestHjPrice = floatval($suggestHjPrice);
  97. $list[$key]['suggestPrice'] = $suggestPrice;
  98. $list[$key]['suggestSkPrice'] = $suggestSkPrice;
  99. $list[$key]['suggestHjPrice'] = $suggestHjPrice;
  100. $list[$key]['skMore'] = $skMore;
  101. $list[$key]['addPrice'] = $addPrice;
  102. $list[$key]['hjAddPrice'] = $hjAddPrice;
  103. //修改之前的批发价
  104. $beforeModifyPrice = $current['price'] ?? 0;
  105. $list[$key]['beforeModifyPrice'] = $beforeModifyPrice;
  106. $beforeModifyStock = $current['stock'] ?? 0;
  107. $list[$key]['beforeModifyStock'] = $beforeModifyStock;
  108. }
  109. }
  110. util::success(['list' => $list]);
  111. }
  112. //下载excel ssh 20241127
  113. public function actionGetDownExcel()
  114. {
  115. $get = Yii::$app->request->get();
  116. $id = $get['id'] ?? 0;
  117. $order = PurchaseOrderClass::getById($id, true);
  118. if (empty($order)) {
  119. util::fail('没有找到订单');
  120. }
  121. if ($order->mainId != $this->mainId) {
  122. util::fail('不是你的订单');
  123. }
  124. $orderSn = $order->orderSn ?? '';
  125. $list = PurchaseOrderItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*', null, true);
  126. PurchaseOrderItemClass::exportExcel($order, $list, $this->mainId);
  127. }
  128. }