|
@@ -281,8 +281,13 @@ class StationTaskBatchService
|
|
|
{
|
|
{
|
|
|
$taskMaterialBoxes->loadMissing(["stationTaskCommodities.order","stationTaskCommodities.commodity.barcodes"]);
|
|
$taskMaterialBoxes->loadMissing(["stationTaskCommodities.order","stationTaskCommodities.commodity.barcodes"]);
|
|
|
//获取可用的库位 加行锁
|
|
//获取可用的库位 加行锁
|
|
|
- $location = array_column(app("StationService")->getCacheShelf(true)->toArray(),"code");
|
|
|
|
|
- $map = app("StationService")->getStationMapping($location);//获取库位映射信息
|
|
|
|
|
|
|
+ $stations = app("StationService")->getCacheShelf(true);
|
|
|
|
|
+ $location = [];
|
|
|
|
|
+ $map = [];
|
|
|
|
|
+ foreach ($stations as $station){
|
|
|
|
|
+ $location[] = $station->code;
|
|
|
|
|
+ $map[$station->code] = $station->id;
|
|
|
|
|
+ }
|
|
|
/** @var Collection $handleTask */
|
|
/** @var Collection $handleTask */
|
|
|
$handleTask = $taskMaterialBoxes->splice(0,count($location));
|
|
$handleTask = $taskMaterialBoxes->splice(0,count($location));
|
|
|
$toLocation = collect();
|
|
$toLocation = collect();
|
|
@@ -310,7 +315,7 @@ class StationTaskBatchService
|
|
|
$updateTask[] = ["id"=>$task->id,"station_id"=>$task->station_id];
|
|
$updateTask[] = ["id"=>$task->id,"station_id"=>$task->station_id];
|
|
|
foreach ($task->stationTaskCommodities as $taskCommodity)$exeInsert($task,$taskCommodity,0);
|
|
foreach ($task->stationTaskCommodities as $taskCommodity)$exeInsert($task,$taskCommodity,0);
|
|
|
}
|
|
}
|
|
|
- if ($handleTask->collect()>0)app("BatchUpdateService")->batchUpdate("station_task_material_boxes",$updateTask);
|
|
|
|
|
|
|
+ if ($handleTask->count()>0)app("BatchUpdateService")->batchUpdate("station_task_material_boxes",$updateTask);
|
|
|
foreach ($taskMaterialBoxes as $obj)foreach ($obj->stationTaskCommodities as $taskCommodity)$exeInsert($obj,$taskCommodity,3);
|
|
foreach ($taskMaterialBoxes as $obj)foreach ($obj->stationTaskCommodities as $taskCommodity)$exeInsert($obj,$taskCommodity,3);
|
|
|
TaskTransaction::query()->insert($insertTransaction);
|
|
TaskTransaction::query()->insert($insertTransaction);
|
|
|
return array($toLocation, $handleTask, $map);
|
|
return array($toLocation, $handleTask, $map);
|