StockInController.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. print_r($ids);die;
  19. $list = StockInOrderClass::getByIds($ids);
  20. if (empty($list)) {
  21. echo "没有找到入库单\n";
  22. return false;
  23. }
  24. $mainIdList = [];
  25. $use = [];
  26. $inMainId = 0;
  27. foreach ($list as $item) {
  28. $inMainId = $item['inMainId'] ?? 0;
  29. $mainIdList[$inMainId] = 0;
  30. $orderSn = $item['orderSn'] ?? '';
  31. $itemList = StockInOrderItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*');
  32. if (!empty($itemList)) {
  33. foreach ($itemList as $it) {
  34. $itemId = $it['productId'] ?? 0;
  35. $ptItemId = $it['itemId'] ?? 0;
  36. $use[$itemId] = [
  37. 'mainId' => $inMainId,
  38. 'itemId' => $itemId,
  39. 'ptItemId' => $ptItemId,
  40. ];
  41. }
  42. }
  43. }
  44. $arr = array_keys($mainIdList);
  45. if (count($arr) > 1) {
  46. echo "不同门店的入库单\n";
  47. return false;
  48. }
  49. if (empty($use)) {
  50. echo "没有花材需要盘点\n";
  51. return false;
  52. }
  53. StockInDayClass::deleteByCondition(['mainId' => $inMainId]);
  54. foreach ($use as $info) {
  55. StockInDayClass::add($info);
  56. }
  57. $count = count($use);
  58. echo "OK {$count}个 \n";
  59. }
  60. }