OrderTracking.php 2.9 KB

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