RangeService.php 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace App\Service;
  3. use App\Model\ConstructionInfo;
  4. use App\Model\ProductRange;
  5. use App\Model\ReturnExchangeOrderRange;
  6. use App\Model\SalesOrderInfo;
  7. use App\Model\SalesOrderRange;
  8. class RangeService extends Service
  9. {
  10. //获取产品可见数据
  11. public static function productRange($user){
  12. $user_id = $user['id'];
  13. $depart_id = $user['depart_range'];
  14. $product_id = ProductRange::where('del_time',0)
  15. ->where(function ($query) use($user_id, $depart_id) {
  16. $query->where('employee_id',$user_id)
  17. ->orWhereIn('depart_id', $depart_id);
  18. })->select('product_id')->get()
  19. ->toArray();
  20. return array_unique(array_column($product_id,'product_id'));
  21. }
  22. //获取合同可见数据
  23. public static function salesOrderRange($user){
  24. //单据中选择的签订负责协同人
  25. $sales_order_id = SalesOrderInfo::where('del_time',0)
  26. ->where('employee_id',$user['id'])
  27. ->select('sales_order_id')
  28. ->get()->toArray();
  29. $sales_order_id = array_unique(array_column($sales_order_id,'sales_order_id'));
  30. //指派后
  31. $user_id = $user['id'];
  32. $depart_id = $user['depart_range'];
  33. $sales_order_id2 = SalesOrderRange::where('del_time',0)
  34. ->where(function ($query) use($user_id, $depart_id) {
  35. $query->where('employee_id',$user_id)
  36. ->orWhereIn('depart_id', $depart_id);
  37. })->select('sales_order_id')->get()
  38. ->toArray();
  39. return array_unique(array_merge_recursive($sales_order_id,array_column($sales_order_id2,'sales_order_id')));
  40. }
  41. //获取施工单可见数据
  42. public static function constructionRange($user){
  43. //单据中选择的签订负责协同人
  44. $construction_id = ConstructionInfo::where('del_time',0)
  45. ->where('employee_id',$user['id'])
  46. ->select('construction_id')
  47. ->get()->toArray();
  48. return array_unique(array_column($construction_id,'construction_id'));
  49. }
  50. //获取退换货单可见数据
  51. public static function returnExchangeOrderRange($user){
  52. $user_id = $user['id'];
  53. $depart_id = $user['depart_range'];
  54. $return_exchange_id = ReturnExchangeOrderRange::where('del_time',0)
  55. ->where(function ($query) use($user_id, $depart_id) {
  56. $query->where('employee_id',$user_id)
  57. ->orWhereIn('depart_id', $depart_id);
  58. })->select('return_exchange_id')->get()
  59. ->toArray();
  60. return array_unique(array_column($return_exchange_id,'return_exchange_id'));
  61. }
  62. }