StockInController.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <?php
  2. namespace ghs\controllers;
  3. use bizGhs\order\classes\StockInOrderClass;
  4. use bizGhs\order\classes\StockInOrderItemClass;
  5. use bizGhs\stock\classes\StockInDayClass;
  6. use common\components\util;
  7. use Yii;
  8. //入库 lqh 2021.1.25
  9. class StockInController extends BaseController
  10. {
  11. //入库单盘点,生成需要盘点的花材 ssh 20221208
  12. public function actionCreatePdItem()
  13. {
  14. $post = Yii::$app->request->post();
  15. $ids = $post['ids'] ?? '';
  16. $arr = json_decode($ids, true);
  17. if (is_array($arr) == false) {
  18. util::fail('没有盘点单');
  19. }
  20. $idData = array_column($arr, 'id');
  21. if (empty($idData) || is_array($idData) == false) {
  22. util::fail('没有盘点单哦');
  23. }
  24. $idData = array_filter(array_unique($idData));
  25. $list = StockInOrderClass::getByIds($idData);
  26. if (empty($list)) {
  27. util::fail('没有找到盘点单');
  28. }
  29. $use = [];
  30. $inMainId = 0;
  31. foreach ($list as $item) {
  32. $inMainId = $item['inMainId'] ?? 0;
  33. if ($inMainId != $this->mainId) {
  34. util::fail('入库单有问题');
  35. }
  36. $orderSn = $item['orderSn'] ?? '';
  37. $itemList = StockInOrderItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*');
  38. if (!empty($itemList)) {
  39. foreach ($itemList as $it) {
  40. $itemId = $it['productId'] ?? 0;
  41. $ptItemId = $it['itemId'] ?? 0;
  42. $use[$itemId] = [
  43. 'mainId' => $inMainId,
  44. 'itemId' => $itemId,
  45. 'ptItemId' => $ptItemId,
  46. ];
  47. }
  48. }
  49. }
  50. if (empty($use)) {
  51. util::fail('没有找到需要盘点的花材');
  52. }
  53. StockInDayClass::deleteByCondition(['mainId' => $inMainId]);
  54. foreach ($use as $info) {
  55. StockInDayClass::add($info);
  56. }
  57. util::complete();
  58. }
  59. //入库列表 lqh 2021.1.25
  60. public function actionList()
  61. {
  62. $get = Yii::$app->request->get();
  63. $orderStatus = isset($get['status']) ? $get['status'] : '';
  64. $where = [];
  65. $where['inShopId'] = $this->shopId;
  66. if (!empty($orderStatus)) {
  67. $where['status'] = $orderStatus;
  68. }
  69. $list = StockInOrderClass::getOrderList($where);
  70. util::success($list);
  71. }
  72. //入库详情 lqh 2021.1.25
  73. public function actionDetail()
  74. {
  75. $orderSn = Yii::$app->request->get('orderSn', '');
  76. $orderData = StockInOrderClass::getOrderDetail($orderSn, $this->shopId);
  77. util::success($orderData);
  78. }
  79. //确认入库 lqh 2021.1.24
  80. public function actionConfirmOrder()
  81. {
  82. $get = Yii::$app->request->get();
  83. $orderSn = $get['orderSn'];
  84. $connection = Yii::$app->db;
  85. $transaction = $connection->beginTransaction();
  86. try {
  87. StockInOrderClass::confirmOrder($orderSn, $this->shop, $this->adminId);
  88. $transaction->commit();
  89. util::complete("入库成功");
  90. } catch (\Exception $exception) {
  91. Yii::info("确认入库报错:" . $exception->getMessage());
  92. $transaction->rollBack();
  93. util::fail();
  94. }
  95. }
  96. //取消入库 lqh 2021.1.24
  97. public function actionCancelOrder()
  98. {
  99. $get = Yii::$app->request->get();
  100. $orderSn = $get['orderSn'] ?? '';
  101. $order = StockInOrderClass::getByCondition(['orderSn' => $orderSn], true);
  102. if (empty($order)) {
  103. util::fail('订单不存在');
  104. }
  105. if (isset($order->inShopId) == false || $order->inShopId != $this->shopId) {
  106. util::fail('没有权限');
  107. }
  108. $id = $order->id ?? 0;
  109. $info = StockInOrderClass::getLockById($id);
  110. StockInOrderClass::cancelOrder($info, $this->adminId);
  111. util::complete("取消成功");
  112. }
  113. }