StockInController.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace console\controllers;
  3. use bizGhs\order\classes\StockInOrderClass;
  4. use bizGhs\order\classes\StockInOrderItemClass;
  5. use bizGhs\stock\classes\StockInDayClass;
  6. use yii\console\Controller;
  7. class StockInController extends Controller
  8. {
  9. //收集盘点需要的花材
  10. // ./yii stock-in/get-pd-item 253,250
  11. public function actionGetPdItem()
  12. {
  13. global $argv;
  14. ini_set('memory_limit', '2045M');
  15. set_time_limit(0);
  16. $str = $argv[2] ?? '';
  17. $ids = explode(',', $str);
  18. $list = StockInOrderClass::getByIds($ids);
  19. if (empty($list)) {
  20. echo "没有找到入库单\n";
  21. return false;
  22. }
  23. $mainIdList = [];
  24. $use = [];
  25. $inMainId = 0;
  26. foreach ($list as $item) {
  27. $inMainId = $item['inMainId'] ?? 0;
  28. $mainIdList[$inMainId] = 0;
  29. $orderSn = $item['orderSn'] ?? '';
  30. $itemList = StockInOrderItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*');
  31. if (!empty($itemList)) {
  32. foreach ($itemList as $it) {
  33. $itemId = $it['productId'] ?? 0;
  34. $ptItemId = $it['itemId'] ?? 0;
  35. $use[$itemId] = [
  36. 'mainId' => $inMainId,
  37. 'itemId' => $itemId,
  38. 'ptItemId' => $ptItemId,
  39. ];
  40. }
  41. }
  42. }
  43. $arr = array_keys($mainIdList);
  44. if (count($arr) > 1) {
  45. echo "不同门店的入库单\n";
  46. return false;
  47. }
  48. if (empty($use)) {
  49. echo "没有花材需要盘点\n";
  50. return false;
  51. }
  52. StockInDayClass::deleteByCondition(['mainId' => $inMainId]);
  53. foreach ($use as $info) {
  54. StockInDayClass::add($info);
  55. }
  56. $count = count($use);
  57. echo "OK {$count}个 \n";
  58. }
  59. }