|
|
@@ -12,73 +12,58 @@ use Illuminate\Support\Arr;
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
use Overtrue\LaravelPinyin\Facades\Pinyin;
|
|
|
|
|
|
-/*** @method static find(array|string|null $param)
|
|
|
- */
|
|
|
-
|
|
|
-use App\Traits\ModelTimeFormat;
|
|
|
+/**
|
|
|
+ * @method static find(array|string|null $param)
|
|
|
+ */use App\Traits\ModelTimeFormat;
|
|
|
|
|
|
class RejectedBill extends Model
|
|
|
{
|
|
|
use ModelTimeFormat;
|
|
|
use SoftDeletes;
|
|
|
+ protected $fillable=['id_owner','order_number','sender','mobile_sender',
|
|
|
+ 'logistic_number','logistic_number_return','id_logistic_return',
|
|
|
+ 'is_loaded','fee_collected','remark','id_operator','is_checked'
|
|
|
+ ,'is_finished','checked_numbers','remark','common_01','common_02'];
|
|
|
|
|
|
- protected $fillable = ['id_owner', 'order_number', 'sender', 'mobile_sender',
|
|
|
- 'logistic_number', 'logistic_number_return', 'id_logistic_return',
|
|
|
- 'is_loaded', 'fee_collected', 'remark', 'id_operator', 'is_checked'
|
|
|
- , 'is_finished', 'checked_numbers', 'remark', 'common_01', 'common_02'];
|
|
|
-
|
|
|
- protected $appends = ['owner_name', 'logistic_name', 'created_at_short'
|
|
|
- , 'is_loaded_str', 'goods_amount', 'is_loaded_null', 'operator_name'];
|
|
|
-
|
|
|
- function owner()
|
|
|
- {
|
|
|
- return $this->hasOne('App\Owner', 'id', 'id_owner');
|
|
|
+ protected $appends = ['owner_name','logistic_name','created_at_short'
|
|
|
+ ,'is_loaded_str','goods_amount','is_loaded_null','operator_name'];
|
|
|
+ function owner(){
|
|
|
+ return $this->hasOne('App\Owner','id','id_owner');
|
|
|
}
|
|
|
-
|
|
|
- function logistic()
|
|
|
- {
|
|
|
- return $this->hasOne('App\Logistic', 'id', 'id_logistic_return');
|
|
|
+ function logistic(){
|
|
|
+ return $this->hasOne('App\Logistic','id','id_logistic_return');
|
|
|
}
|
|
|
-
|
|
|
- function items()
|
|
|
- {
|
|
|
- return $this->hasMany('App\RejectedBillItem', 'id_rejected_bill', 'id');
|
|
|
+ function items(){
|
|
|
+ return $this->hasMany('App\RejectedBillItem','id_rejected_bill','id');
|
|
|
}
|
|
|
-
|
|
|
- function rejectedBillItems()
|
|
|
- {
|
|
|
+ function user(){
|
|
|
+ return $this->hasOne('App\User','id','id_operator');
|
|
|
+ }
|
|
|
+ function rejectedBillItems(){
|
|
|
return $this->items();
|
|
|
}
|
|
|
-
|
|
|
- function wmsReflectReceive()
|
|
|
- {
|
|
|
- return $this->belongsTo('App\WMSReflectReceive', 'id', 'id_rejected_bill');
|
|
|
+ function wmsReflectReceive(){
|
|
|
+ return $this->belongsTo('App\WMSReflectReceive','id','id_rejected_bill');
|
|
|
}
|
|
|
-
|
|
|
- function setIsLoaded_toWaitConfirm()
|
|
|
- {
|
|
|
- if (config('api.jianshang_rejecteds_log_switch')) Controller::logS(__METHOD__, __FUNCTION__, "将待推单修改为待确认! 退单号:" . $this['logistic_number_return'], Auth::user()['id']);
|
|
|
- $bill = RejectedBill::find($this['id']);
|
|
|
- $bill['is_loaded'] = 4;
|
|
|
+ function setIsLoaded_toWaitConfirm(){
|
|
|
+ if(config('api.jianshang_rejecteds_log_switch'))Controller::logS(__METHOD__,__FUNCTION__,"将待推单修改为待确认! 退单号:".$this['logistic_number_return'],Auth::user()['id']);
|
|
|
+ $bill=RejectedBill::find($this['id']);
|
|
|
+ $bill['is_loaded']=4;
|
|
|
$bill->save();
|
|
|
}
|
|
|
-
|
|
|
- function logisticName()
|
|
|
- {
|
|
|
- $logistic = $this->hasOne('App\Logistic', 'id', 'id_logistic_return')->first();
|
|
|
- return $logistic ? $logistic['name'] : '';
|
|
|
+ function logisticName(){
|
|
|
+ $logistic=$this->hasOne('App\Logistic','id','id_logistic_return')->first();
|
|
|
+ return $logistic?$logistic['name']:'';
|
|
|
}
|
|
|
-
|
|
|
- function makeCheckedNumbers()
|
|
|
- {
|
|
|
+ function makeCheckedNumbers(){
|
|
|
$owner = $this->owner()->first();
|
|
|
- if (!$owner) return '';
|
|
|
- $pinyinOwnerName = Pinyin::convert($owner->name);
|
|
|
- $pinyinArr = array_map(function ($pinyin) {
|
|
|
+ if(!$owner)return '';
|
|
|
+ $pinyinOwnerName=Pinyin::convert($owner->name);
|
|
|
+ $pinyinArr=array_map(function($pinyin){
|
|
|
return $pinyin[0];
|
|
|
- }, $pinyinOwnerName);
|
|
|
- $initials = implode("", $pinyinArr);
|
|
|
- $this['checked_numbers'] = $initials . Carbon::now()->format('Ymd') . $owner->getIncreasedCheckingCount();
|
|
|
+ },$pinyinOwnerName);
|
|
|
+ $initials=implode("", $pinyinArr);
|
|
|
+ $this['checked_numbers']=$initials.Carbon::now()->format('Ymd').$owner->getIncreasedCheckingCount();
|
|
|
return $this['checked_numbers'];
|
|
|
}
|
|
|
|
|
|
@@ -89,92 +74,67 @@ class RejectedBill extends Model
|
|
|
|
|
|
function update(array $attributes = [], array $options = [])
|
|
|
{
|
|
|
- (new LogisticNumberFeatureController())->createFeatures($this['logistic_number_return'], $this['id_logistic_return']);
|
|
|
+ (new LogisticNumberFeatureController())->createFeatures($this['logistic_number_return'],$this['id_logistic_return']);
|
|
|
return parent::update($attributes, $options);
|
|
|
}
|
|
|
-
|
|
|
function save(array $options = [])
|
|
|
{
|
|
|
- (new LogisticNumberFeatureController())->createFeatures($this['logistic_number_return'], $this['id_logistic_return']);
|
|
|
+ (new LogisticNumberFeatureController())->createFeatures($this['logistic_number_return'],$this['id_logistic_return']);
|
|
|
return parent::save($options);
|
|
|
}
|
|
|
|
|
|
|
|
|
- public function getOwnerNameAttribute()
|
|
|
- {
|
|
|
- $id_owner = $this['id_owner'] ?? 0;
|
|
|
- $owner = Owner::find($id_owner);
|
|
|
- return $this['owner_name'] = $owner['name'];
|
|
|
+ public function getOwnerNameAttribute(){
|
|
|
+ $id_owner=$this['id_owner']??0;
|
|
|
+ $owner=Owner::find($id_owner);
|
|
|
+ return $this['owner_name']=$owner['name'];
|
|
|
}
|
|
|
-
|
|
|
- public function getLogisticNameAttribute()
|
|
|
- {
|
|
|
- $id_logistic = $this['id_logistic_return'] ?? 0;
|
|
|
- $logistic = Logistic::find($id_logistic);
|
|
|
- return $this['logistic_name'] = $logistic['name'];
|
|
|
+ public function getLogisticNameAttribute(){
|
|
|
+ $id_logistic=$this['id_logistic_return']??0;
|
|
|
+ $logistic=Logistic::find($id_logistic);
|
|
|
+ return $this['logistic_name']=$logistic['name'];
|
|
|
}
|
|
|
-
|
|
|
- public function getIsLoadedStrAttribute()
|
|
|
- {
|
|
|
- $val = $this['is_loaded'] === null ? 'null' : $this['is_loaded'];
|
|
|
- $val = $val === 0 ? '0' : $val;
|
|
|
- switch ($val) {
|
|
|
- case 'null':
|
|
|
- return '无需入库';
|
|
|
- case '0':
|
|
|
- return '否';
|
|
|
- case 1:
|
|
|
- return '是';
|
|
|
- case 2:
|
|
|
- return '待推单';
|
|
|
- case 3:
|
|
|
- return '上传异常';
|
|
|
+ public function getIsLoadedStrAttribute(){
|
|
|
+ $val=$this['is_loaded']===null?'null':$this['is_loaded'];
|
|
|
+ $val=$val===0?'0':$val;
|
|
|
+ switch ($val){
|
|
|
+ case 'null':return '无需入库';
|
|
|
+ case '0':return '否';
|
|
|
+ case 1:return '是';
|
|
|
+ case 2:return '待推单';
|
|
|
+ case 3:return '上传异常';
|
|
|
}
|
|
|
return '';
|
|
|
}
|
|
|
-
|
|
|
- public function getCreatedAtShortAttribute()
|
|
|
- {
|
|
|
- return $this['created_at'] ? $this['created_at_short'] = $this['created_at']->format('m-d H:i:s') : '';
|
|
|
+ public function getCreatedAtShortAttribute(){
|
|
|
+ return $this['created_at']?$this['created_at_short']=$this['created_at']->format('m-d H:i:s'):'';
|
|
|
}
|
|
|
-
|
|
|
- public function getGoodsAmountAttribute()
|
|
|
- {
|
|
|
- $amount = 0;
|
|
|
- $this->items()->get()->each(function (RejectedBillItem $item) use (&$amount) {
|
|
|
- $amount += $item['amount'];
|
|
|
+ public function getGoodsAmountAttribute(){
|
|
|
+ $amount=0;
|
|
|
+ $this->items()->get()->each(function (RejectedBillItem $item)use(&$amount){
|
|
|
+ $amount+=$item['amount'];
|
|
|
});
|
|
|
return $amount;
|
|
|
}
|
|
|
-
|
|
|
- public function getOperatorNameAttribute()
|
|
|
- {
|
|
|
- if (!$this['id_operator']) {
|
|
|
- return '';
|
|
|
- }
|
|
|
- $user = User::find($this['id_operator']);
|
|
|
- return $user['name'];
|
|
|
+ public function getOperatorNameAttribute(){
|
|
|
+ return $this['user'] ? $this['user']['name'] : null;
|
|
|
}
|
|
|
-
|
|
|
- public function getIsLoadedNullAttribute()
|
|
|
- {
|
|
|
- if ($this['is_loaded'] === null) return 'null';
|
|
|
+ public function getIsLoadedNullAttribute(){
|
|
|
+ if($this['is_loaded']===null) return 'null';
|
|
|
return $this['is_loaded'];
|
|
|
}
|
|
|
-
|
|
|
- public function changeIsLoaded_ifItemsAllLoaded()
|
|
|
- {
|
|
|
- $allItemsAreLoaded = true;
|
|
|
- $this->items->each(function (RejectedBillItem $item) use (&$allItemsAreLoaded) {
|
|
|
- if ($item['is_loaded'] == '未入库') {
|
|
|
- $allItemsAreLoaded = false;
|
|
|
+ public function changeIsLoaded_ifItemsAllLoaded(){
|
|
|
+ $allItemsAreLoaded=true;
|
|
|
+ $this->items->each(function (RejectedBillItem $item)use(&$allItemsAreLoaded){
|
|
|
+ if($item['is_loaded']=='未入库'){
|
|
|
+ $allItemsAreLoaded=false;
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
|
- if ($allItemsAreLoaded) {
|
|
|
- $this['is_loaded'] = 1;
|
|
|
- } else {
|
|
|
- $this['is_loaded'] = 0;
|
|
|
+ if($allItemsAreLoaded){
|
|
|
+ $this['is_loaded']=1;
|
|
|
+ }else{
|
|
|
+ $this['is_loaded']=0;
|
|
|
}
|
|
|
$this->update();
|
|
|
return $this['is_loaded'];
|
|
|
@@ -227,6 +187,7 @@ class RejectedBill extends Model
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
$rejectedExcess = 0; // 退回差异
|
|
|
$rejectedReview = 0; // 退回复核 $rejectedItems == $orderItems
|
|
|
foreach ($rejectedItems as $key => $items) {
|