|
@@ -9,6 +9,7 @@ use App\Order;
|
|
|
use App\OrderIssue;
|
|
use App\OrderIssue;
|
|
|
use App\OrderIssueRejectedBill;
|
|
use App\OrderIssueRejectedBill;
|
|
|
use App\OrderPackage;
|
|
use App\OrderPackage;
|
|
|
|
|
+use App\Owner;
|
|
|
use App\RejectedBill;
|
|
use App\RejectedBill;
|
|
|
use App\Services\common\BatchUpdateService;
|
|
use App\Services\common\BatchUpdateService;
|
|
|
use App\Services\common\DataHandlerService;
|
|
use App\Services\common\DataHandlerService;
|
|
@@ -17,6 +18,7 @@ use Carbon\Carbon;
|
|
|
use App\Traits\ServiceAppAop;
|
|
use App\Traits\ServiceAppAop;
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
use Illuminate\Database\Query\Builder;
|
|
use Illuminate\Database\Query\Builder;
|
|
|
|
|
+use Overtrue\LaravelPinyin\Facades\Pinyin;
|
|
|
use function Symfony\Component\String\s;
|
|
use function Symfony\Component\String\s;
|
|
|
|
|
|
|
|
|
|
|
|
@@ -83,24 +85,25 @@ class RejectedBillService
|
|
|
$rejectedBills = $this->getRejectedBills($logisticNumberReturn);
|
|
$rejectedBills = $this->getRejectedBills($logisticNumberReturn);
|
|
|
if (!$rejectedBills) return null;
|
|
if (!$rejectedBills) return null;
|
|
|
$updateParams = [[
|
|
$updateParams = [[
|
|
|
- 'id','logistic_number_return', 'is_loaded', 'updated_at'
|
|
|
|
|
|
|
+ 'id', 'is_loaded', 'updated_at'
|
|
|
]];
|
|
]];
|
|
|
$updated_at = Carbon::now()->toDateTimeString();
|
|
$updated_at = Carbon::now()->toDateTimeString();
|
|
|
/** @var DataHandlerService $dataHandlerService */
|
|
/** @var DataHandlerService $dataHandlerService */
|
|
|
$dataHandlerService = app(DataHandlerService::class);
|
|
$dataHandlerService = app(DataHandlerService::class);
|
|
|
$rejectedBills_map = $dataHandlerService->dataHeader(['logistic_number_return'], $rejectedBills);
|
|
$rejectedBills_map = $dataHandlerService->dataHeader(['logistic_number_return'], $rejectedBills);
|
|
|
foreach ($updateCollect as $data) {
|
|
foreach ($updateCollect as $data) {
|
|
|
- if (!$data->asnreference3 && !$data->notes) {
|
|
|
|
|
- continue;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if (!$data->asnreference3 && !$data->notes) continue;
|
|
|
if ($data->asnreference3) {
|
|
if ($data->asnreference3) {
|
|
|
- $rejectedBill = $dataHandlerService->getKeyValue(['logistic_number_return' => $data->asnreference3], $rejectedBills_map);
|
|
|
|
|
|
|
+ $param=[];
|
|
|
|
|
+ preg_match("/[a-zA-Z]{0,5}\d{6,20}/", $data->asnreference3, $param);
|
|
|
|
|
+ if (count($param)<1) continue;
|
|
|
|
|
+ $rejectedBill = $dataHandlerService->getKeyValue(['logistic_number_return' => $param[0]], $rejectedBills_map);
|
|
|
if ($rejectedBill && $rejectedBill->is_loaded != 1) $updateParams[] = [
|
|
if ($rejectedBill && $rejectedBill->is_loaded != 1) $updateParams[] = [
|
|
|
'id'=>$rejectedBill->id,
|
|
'id'=>$rejectedBill->id,
|
|
|
- 'logistic_number_return' => $data->asnreference3,
|
|
|
|
|
'is_loaded' => 1,
|
|
'is_loaded' => 1,
|
|
|
'updated_at' => $updated_at,
|
|
'updated_at' => $updated_at,
|
|
|
];
|
|
];
|
|
|
|
|
+ unset( $param);
|
|
|
} else {
|
|
} else {
|
|
|
$result = [];
|
|
$result = [];
|
|
|
preg_match("/[a-zA-Z]{0,5}\d{6,20}/", $data->notes, $result);
|
|
preg_match("/[a-zA-Z]{0,5}\d{6,20}/", $data->notes, $result);
|
|
@@ -108,10 +111,22 @@ class RejectedBillService
|
|
|
$rejectedBill = $dataHandlerService->getKeyValue(['logistic_number_return' => $result[0]], $rejectedBills_map);
|
|
$rejectedBill = $dataHandlerService->getKeyValue(['logistic_number_return' => $result[0]], $rejectedBills_map);
|
|
|
if ($rejectedBill && $rejectedBill->is_loaded != 1) $updateParams[] = [
|
|
if ($rejectedBill && $rejectedBill->is_loaded != 1) $updateParams[] = [
|
|
|
'id'=>$rejectedBill->id,
|
|
'id'=>$rejectedBill->id,
|
|
|
- 'logistic_number_return' => $result[0],
|
|
|
|
|
'is_loaded' => 1,
|
|
'is_loaded' => 1,
|
|
|
'updated_at' => $updated_at,
|
|
'updated_at' => $updated_at,
|
|
|
];
|
|
];
|
|
|
|
|
+ if (!$rejectedBill){
|
|
|
|
|
+ $checkedNumber=$this->screenCheckNumber($data->customerid,$data->notes);
|
|
|
|
|
+ if (!$checkedNumber)continue;
|
|
|
|
|
+ $rejects=RejectedBill::query()->where('checked_numbers',$checkedNumber)->get();
|
|
|
|
|
+ foreach ($rejects as $reject){
|
|
|
|
|
+ $updateParams[] = [
|
|
|
|
|
+ 'id'=>$reject->id,
|
|
|
|
|
+ 'is_loaded' => 1,
|
|
|
|
|
+ 'updated_at' => $updated_at,
|
|
|
|
|
+ ];
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
unset($result);
|
|
unset($result);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -134,11 +149,12 @@ class RejectedBillService
|
|
|
{
|
|
{
|
|
|
$logisticNumberReturn = [];
|
|
$logisticNumberReturn = [];
|
|
|
foreach ($updateCollect as $data) {
|
|
foreach ($updateCollect as $data) {
|
|
|
- if (!$data->asnreference3 && !$data->notes) {
|
|
|
|
|
- continue;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if (!$data->asnreference3 && !$data->notes) continue;
|
|
|
if ($data->asnreference3) {
|
|
if ($data->asnreference3) {
|
|
|
- array_push($logisticNumberReturn, $data->asnreference3);
|
|
|
|
|
|
|
+ $param=[];
|
|
|
|
|
+ preg_match("/[a-zA-Z]{0,5}\d{6,20}/", $data->asnreference3, $param);
|
|
|
|
|
+ if (count($param) > 0) array_push($logisticNumberReturn, $param[0]);
|
|
|
|
|
+ unset($param);
|
|
|
} else {
|
|
} else {
|
|
|
$result = [];
|
|
$result = [];
|
|
|
preg_match("/[a-zA-Z]{0,5}\d{6,20}/", $data->notes, $result);
|
|
preg_match("/[a-zA-Z]{0,5}\d{6,20}/", $data->notes, $result);
|
|
@@ -167,7 +183,7 @@ class RejectedBillService
|
|
|
$rejectedBills = $this->getRejectedBills($logisticNumberReturn);
|
|
$rejectedBills = $this->getRejectedBills($logisticNumberReturn);
|
|
|
if (!$rejectedBills) return null;
|
|
if (!$rejectedBills) return null;
|
|
|
$updateParams = [[
|
|
$updateParams = [[
|
|
|
- 'id','logistic_number_return', 'is_checked','checked_numbers','updated_at'
|
|
|
|
|
|
|
+ 'id', 'is_checked','checked_numbers','updated_at'
|
|
|
]];
|
|
]];
|
|
|
$updated_at = Carbon::now()->toDateTimeString();
|
|
$updated_at = Carbon::now()->toDateTimeString();
|
|
|
/** @var DataHandlerService $dataHandlerService */
|
|
/** @var DataHandlerService $dataHandlerService */
|
|
@@ -176,14 +192,17 @@ class RejectedBillService
|
|
|
foreach ($asnHerders as $data) {
|
|
foreach ($asnHerders as $data) {
|
|
|
if (!$data->asnreference3 && !$data->notes) continue;
|
|
if (!$data->asnreference3 && !$data->notes) continue;
|
|
|
if ($data->asnreference3) {
|
|
if ($data->asnreference3) {
|
|
|
- $rejectedBill = $dataHandlerService->getKeyValue(['logistic_number_return' => $data->asnreference3], $rejectedBills_map);
|
|
|
|
|
|
|
+ $param=[];
|
|
|
|
|
+ preg_match("/[a-zA-Z]{0,5}\d{6,20}/", $data->asnreference3, $param);
|
|
|
|
|
+ if (count($param)<1) continue;
|
|
|
|
|
+ $rejectedBill = $dataHandlerService->getKeyValue(['logistic_number_return' => $param[0]], $rejectedBills_map);
|
|
|
if ($rejectedBill && $rejectedBill->is_checked != 1) $updateParams[] = [
|
|
if ($rejectedBill && $rejectedBill->is_checked != 1) $updateParams[] = [
|
|
|
'id'=>$rejectedBill->id,
|
|
'id'=>$rejectedBill->id,
|
|
|
- 'logistic_number_return' => $data->asnreference3,
|
|
|
|
|
'is_checked' => 1,
|
|
'is_checked' => 1,
|
|
|
'checked_numbers' => $rejectedBill->makeCheckedNumbers(),
|
|
'checked_numbers' => $rejectedBill->makeCheckedNumbers(),
|
|
|
'updated_at' => $updated_at,
|
|
'updated_at' => $updated_at,
|
|
|
];
|
|
];
|
|
|
|
|
+ unset($param);
|
|
|
} else {
|
|
} else {
|
|
|
$result = [];
|
|
$result = [];
|
|
|
preg_match("/[a-zA-Z]{0,5}\d{6,20}/", $data->notes, $result);
|
|
preg_match("/[a-zA-Z]{0,5}\d{6,20}/", $data->notes, $result);
|
|
@@ -192,7 +211,6 @@ class RejectedBillService
|
|
|
if ($rejectedBill && $rejectedBill->is_checked != 1)
|
|
if ($rejectedBill && $rejectedBill->is_checked != 1)
|
|
|
$updateParams[] = [
|
|
$updateParams[] = [
|
|
|
'id'=>$rejectedBill->id,
|
|
'id'=>$rejectedBill->id,
|
|
|
- 'logistic_number_return' => $result[0],
|
|
|
|
|
'is_checked' => 1,
|
|
'is_checked' => 1,
|
|
|
'checked_numbers' => $rejectedBill->makeCheckedNumbers(),
|
|
'checked_numbers' => $rejectedBill->makeCheckedNumbers(),
|
|
|
'updated_at' => $updated_at,
|
|
'updated_at' => $updated_at,
|
|
@@ -221,6 +239,18 @@ class RejectedBillService
|
|
|
}
|
|
}
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
|
|
+ public function screenCheckNumber($ownerCode,$note){
|
|
|
|
|
+ $ownerName=Owner::query()->where('code',$ownerCode)->value('name');
|
|
|
|
|
+ $result = [];
|
|
|
|
|
+ $pinyinOwnerName=Pinyin::convert($ownerName);
|
|
|
|
|
+ $pinyinArr=array_map(function($pinyin){
|
|
|
|
|
+ return $pinyin[0];
|
|
|
|
|
+ },$pinyinOwnerName);
|
|
|
|
|
+ $initials=implode("", $pinyinArr);
|
|
|
|
|
+ preg_match("/$initials{0,5}\d{6,20}/", $note, $result);
|
|
|
|
|
+ if (count($result)<1) return null;
|
|
|
|
|
+ return $result[0];
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @param string $logisticNumber
|
|
* @param string $logisticNumber
|