|
|
@@ -11,6 +11,7 @@ use App\OracleActAllocationDetails;
|
|
|
use App\OracleDOCOrderHeader;
|
|
|
use App\OrderPackage;
|
|
|
use App\Services\OrderService;
|
|
|
+use http\QueryString;
|
|
|
use Illuminate\Support\Carbon;
|
|
|
use Illuminate\Database\Eloquent\Builder;
|
|
|
use Illuminate\Http\Request;
|
|
|
@@ -394,20 +395,17 @@ class WeightBaseController
|
|
|
*/
|
|
|
public function processCodeStr($code): string
|
|
|
{
|
|
|
- /** 双条码处理 */
|
|
|
- $codes = preg_split('/[,,@ ]+/is',$code);
|
|
|
-
|
|
|
- if(count($codes)>0){
|
|
|
- foreach ($codes as $item) {
|
|
|
- $item = trim($item,"'");
|
|
|
- if(mb_strpos($item,'-'))continue;
|
|
|
- if(strlen(trim($item,' ')) < 5)continue;
|
|
|
- return $item;
|
|
|
- }
|
|
|
- }
|
|
|
- $arr = [];
|
|
|
- preg_match('/[A-Z|a-z|\d]+/',$code,$arr);
|
|
|
- return $arr[0];
|
|
|
+ $codes = [];
|
|
|
+ preg_match_all('/[\w]+/',$code,$codes);
|
|
|
+ if(count($codes) == 0)return $code;
|
|
|
+ $codes = array_unique(array_filter(array_shift($codes),function($item){
|
|
|
+ return strlen($item) > 8;
|
|
|
+ }));
|
|
|
+ usort($codes,function($a,$b){
|
|
|
+ if(strlen($a) == strlen($b))return 0;
|
|
|
+ return strlen($a) < strlen($b) ? 1 : -1;
|
|
|
+ });
|
|
|
+ return $codes[0];
|
|
|
}
|
|
|
|
|
|
// endregion
|