|
|
@@ -234,79 +234,65 @@ class PackageController extends Controller
|
|
|
return $validator;
|
|
|
}
|
|
|
|
|
|
-// public function syncBatch($batch_number,$weight,$max,$centre,$min,$date,$paperBox_id){
|
|
|
-//// $accomplishToWMS=new Api\thirdPart\flux\PackageController();
|
|
|
-//// $packageBatch=Package::where('batch_number',$batch_number)->first();
|
|
|
-// $newValues = ['weight' => $weight];
|
|
|
-// $newValues['batch_number']=$batch_number;
|
|
|
-// if($max)$newValues['length']=$max;
|
|
|
-// if($centre)$newValues['width']=$centre;
|
|
|
-// if($min)$newValues['height']=$min;
|
|
|
-// if($date)$newValues['weighed_at']=$date;
|
|
|
-// if($paperBox_id)$newValues['paper_box_id']=$paperBox_id;
|
|
|
-// if($max&&$centre&&$min){
|
|
|
-// $newValues['bulk']=$max*$centre*$min;
|
|
|
-// }
|
|
|
-//// $weightChanged=$packageBatch['weight']!=$weight;
|
|
|
-//// Package::where('batch_number',$batch_number)->update($newValues);
|
|
|
-//// $packageBatch['forceUpload']=$weightChanged;
|
|
|
-// Controller::logS(__METHOD__,__FUNCTION__,"批量更新时批次号传入:{$batch_number}");
|
|
|
-//// $result=$accomplishToWMS->markWMSOnBatch($packageBatch['batch_number']);
|
|
|
-//// if ($result['result']){
|
|
|
-//// $newValues['status']='已上传';
|
|
|
-//// Controller::logS(__METHOD__,'SUCCESS_'.__FUNCTION__,'批量更改波次上传成功'.json_encode($packageBatch));
|
|
|
-//// }else{
|
|
|
-//// $newValues['status']='上传异常';
|
|
|
-//// Controller::logS(__METHOD__,'error_'.__FUNCTION__,'批量更改波次上传异常:'.$result['message'].json_encode($packageBatch));
|
|
|
-//// }picktotraceid
|
|
|
-// $packagesInOracle=OracleDOCWaveDetails::where('doc_wave_details.waveno',$batch_number)
|
|
|
-// ->leftJoin('act_allocation_details','act_allocation_details.orderno','doc_wave_details.orderno')
|
|
|
-// ->get();
|
|
|
-// foreach ($packagesInOracle as $packageInOracle) {
|
|
|
-// $newValues['logistic_number']=$packageInOracle['picktotraceid'];
|
|
|
-// $package = Package::where('logistic_number', $packageInOracle['picktotraceid'])->first();
|
|
|
-// if(!$package){
|
|
|
-// Package::create($newValues);
|
|
|
-// }else{
|
|
|
-// $package->fill($newValues);
|
|
|
-// $package->update();
|
|
|
-// }
|
|
|
-// }
|
|
|
-//// Package::where('batch_number',$batch_number)->update($newValues);
|
|
|
-//
|
|
|
-// }
|
|
|
-
|
|
|
public function statisticsExport(Request $request){
|
|
|
if(!Gate::allows('称重管理-查询')){ return '没有权限'; }
|
|
|
+ /** @var PackageStatisticsService $service */
|
|
|
+ $service = app('packageStatisticsService');
|
|
|
+
|
|
|
if ($request->checkAllSign){
|
|
|
$params = $request->input();
|
|
|
unset($params['checkAllSign']);
|
|
|
- $data = app('packageStatisticsService')->get($params);
|
|
|
+ $data = $service->get($params);
|
|
|
}else{
|
|
|
/**@var PackageStatisticsService */
|
|
|
- $data = app('packageStatisticsService')->get(['owner_id'=>$request->data]);
|
|
|
+ $data = $service->get(['owner_id'=>$request->data]);
|
|
|
}
|
|
|
+
|
|
|
+ $owners=app('ownerService')->getSelection();
|
|
|
+ $ownerTemp = [];
|
|
|
+ foreach ($owners as $owner){
|
|
|
+ $ownerTemp[$owner->id] = $owner->name;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ $logisticsTemp = [];
|
|
|
+ $ps = [];
|
|
|
+ foreach ($data as $package){
|
|
|
+ if (!($logisticsTemp[$package->logistic_id] ?? false))$logisticsTemp[$package->logistic_id] = true;
|
|
|
+ if ($ps[$package->owner_id] ?? false){
|
|
|
+ $ps[$package->owner_id][$package->logistic_id] = $package->count;
|
|
|
+ $ps[$package->owner_id]["sum"] += (int)$package->count;
|
|
|
+ }else{
|
|
|
+ $ps[$package->owner_id] = [
|
|
|
+ $package->logistic_id => $package->count,
|
|
|
+ "sum" => (int)$package->count,
|
|
|
+ "owner_id" => $package->owner_id,
|
|
|
+ "owner_name" => $ownerTemp[$package->owner_id]
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
$column = ["货主","总计"];
|
|
|
- $columnMap = ["货主"=>0,"总计"=>1];
|
|
|
- $row = [];
|
|
|
- $rowMap = [];
|
|
|
- $coordinate = [];
|
|
|
- foreach ($data as $value){
|
|
|
- if ($value->owner_name && $value->logistic_name){
|
|
|
- if (!isset($columnMap[$value->logistic_id])){
|
|
|
- array_push($column,$value->logistic_name);
|
|
|
- $columnMap[$value->logistic_id] = count($column)-1;
|
|
|
- }
|
|
|
- if (!isset($rowMap[$value->owner_id])){
|
|
|
- array_push($row,$value->owner_name);
|
|
|
- $rowMap[$value->owner_id] = count($row)-1 ;
|
|
|
- }
|
|
|
- if (isset($coordinate[$rowMap[$value->owner_id]])){
|
|
|
- $coordinate[$rowMap[$value->owner_id]][$columnMap[$value->logistic_id]] = (string)$value->count;
|
|
|
- }else $coordinate[$rowMap[$value->owner_id]] = [0 => $value->owner_name,$columnMap[$value->logistic_id] => (string)$value->count];
|
|
|
+
|
|
|
+ $columnMap = [];
|
|
|
+ $logistics=app('logisticService')->getSelection();
|
|
|
+ foreach ($logistics as $index => $logistic){
|
|
|
+ if (!($logisticsTemp[$logistic->id] ?? false))unset($logistics[$index]);
|
|
|
+ else {
|
|
|
+ $columnMap[] = $logistic->id;
|
|
|
+ $column[] = $logistic->name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $list = [];
|
|
|
+ foreach ($ps as $p){
|
|
|
+ $row = [$p["owner_name"],$p["sum"]];
|
|
|
+ foreach ($columnMap as $id){
|
|
|
+ $row[] = $p[$id] ?? 0;
|
|
|
}
|
|
|
+ $list[] = $row;
|
|
|
}
|
|
|
- $post = Http::post(config('go.export.url'),['type'=>'packageStatistic','data'=>json_encode(["row"=>$column,"list"=>$coordinate],JSON_UNESCAPED_UNICODE)]);
|
|
|
+ $post = Http::post(config('go.export.url'),['type'=>'base','data'=>json_encode(["row"=>$column,"list"=>$list],JSON_UNESCAPED_UNICODE)]);
|
|
|
if ($post->status() == 500){
|
|
|
throw new Exception($post->header("Msg"));
|
|
|
}
|