OrderTracking.php 2.6 KB

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