OrderTracking.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. namespace App;
  3. use App\Traits\ModelTimeFormat;
  4. use Illuminate\Database\Eloquent\Model;
  5. class OrderTracking extends Model
  6. {
  7. use ModelTimeFormat;
  8. protected $fillable = [
  9. 'order_package_commodity_id','owner_id','logistic_id',
  10. 'web_order_number',
  11. 'pick_up_at','sale','client','order_client_code',
  12. 'order_remark','pallet_total','planning_sent_at',
  13. 'is_on_duty_shift','is_arrival','signed_at',
  14. 'receive_bill_status','remark','gross_weight','bulk'];
  15. /*
  16. * order_package_commodity_id 订单商品id
  17. * owner_id 货主
  18. * web_order_number WEB+订单号
  19. * pick_up_at 提货时间
  20. * sale 销售
  21. * client 客户
  22. * order_client_code 订单号
  23. * order_remark 订单备注
  24. * pallet_total 托盘合计
  25. * planning_sent_at 应送达时间
  26. * is_on_duty_shift 是否赶上卡班
  27. * is_arrival 到货情况
  28. * signed_at 签收时间
  29. * receive_bill_status
  30. * remark 签收单情况
  31. * gross_weight 重量
  32. * bulk 体积
  33. */
  34. protected $appends =[
  35. 'ownerName','sku','packageWeight','packageBulk','orderCity','packageLogisticNumber','packageLogistic','orderClientNumber'
  36. ];
  37. public function commodities(){
  38. return $this->hasOne(OrderPackageCommodities::class,'id','order_package_commodity_id');
  39. }
  40. public function owner(){
  41. return $this->hasOne(Owner::class,'id','owner_id');
  42. }
  43. public function logistic(){
  44. return $this->hasOne(Logistic::class,'id','logistic_id');
  45. }
  46. public function uploadFile()
  47. {
  48. return $this->hasOne(UploadFile::class,'table_id','order_client_code')->where('table_name','order_trackings');
  49. }
  50. public function getOwnerNameAttribute(){
  51. return $this->owner['name'] ?? '';
  52. }
  53. public function getSkuAttribute(){
  54. return ['sku' => $this->commodities['commodity']['sku'] ?? '',
  55. 'skuName' => $this->commodities['commodity']['name'] ?? '',
  56. 'skuAmount' => $this->commodities['amount'] ?? ''];
  57. }
  58. public function getPackageWeightAttribute(){
  59. return $this->commodities->package['weight'] ?? '';
  60. }
  61. public function getPackageBulkAttribute(){
  62. return $this->commodities->package['bulk'] ?? '';
  63. }
  64. public function getOrderCityAttribute(){
  65. return $this->commodities->package->order['city'] ?? '';
  66. }
  67. public function getPackageLogisticNumberAttribute(){
  68. return $this->commodities->package['logistic_number'] ?? '';
  69. }
  70. public function getPackageLogisticAttribute(){
  71. return $this->commodities->package->order->logistic['name'] ?? '';
  72. }
  73. public function getOrderClientNumberAttribute(){
  74. return $this->commodities->package->order['client_code'] ?? '';
  75. }
  76. }