Advertisement
Guest User

Untitled

a guest
Mar 30th, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. function getSamples($p){
  2. $db = new UberseqDatabaseIF();
  3. $status = array('error'=>True, 'detail'=>'runtime error fetching samples', 'samples'=>array());
  4. $projectMode = isset($p['project_id']);
  5. $orderMode = isset($p['order_id']);
  6. try {
  7. $q = "SELECT Id, Name, Work_Order__c, Sample__c.Work_Order__r.Name, Order_Opportunity__c FROM Sample__c WHERE";
  8. if($projectMode){
  9. $q .= " Sample__c.Order_Opportunity__c = '" . $p['project_id'] . "'";
  10. }else if($orderMode){
  11. $q .= " Sample__c.work_order__c = '" . $p['order_id'] . "'";
  12. }else{
  13. $status['detail'] = 'No projectID or orderId found';
  14. return $status;
  15. }
  16. $response = $this->_conn->query($q);
  17. if ($response->size > 0) {
  18. $result = new QueryResult($response);
  19. for ($result->rewind(); $result->pointer < $result->size; $result->next() ) {
  20. $rec = $result->current();
  21. $sample = array();
  22. $sample['id'] = $rec->Id;
  23. $sample['name'] = $rec->Name;
  24. $sample['project_id'] = $rec->Order_Opportunity__c;
  25. $sample['order_id'] = $rec->Work_Order__c;
  26. $stats = False;
  27. if( isset( $rec->Work_Order__r ) ){
  28. $sample['order_name'] = $rec->Work_Order__r->Name;
  29. $stats = $db->sample_file_stats(array('sample_id' => $sample['name'], 'order_id' => $sample['order_name']));
  30. }else{
  31. error_log('ERROR: No Order Name found in getSamples:' . $rec->Work_Order__c);
  32. }
  33. if($stats){
  34. $sample['file_size_total'] = $stats['size_total'];
  35. $sample['file_count'] = $stats['file_count'];
  36. }
  37. array_push($status['samples'], $sample);
  38. }
  39. $status['detail'] = 'Samples found for ' . ($orderMode ? ' order:'.$p['order_id'] : ' project:'.$p['project_id']);
  40. }else{
  41. $status['detail'] = 'Samples found for ' . ($orderMode ? ' order:'.$p['order_id'] : ' project:'.$p['project_id']);
  42. }
  43. $status['error'] = False;
  44. } catch (Exception $e) {
  45. $status['detail'] = 'ERROR: ' . $e->getMessage();
  46. $status['error'] = True;
  47. error_log('ERROR fetching order samples: ' . $status['detail']);
  48. }
  49. return $status;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement