ProcessStatisticController.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Process;
  4. use App\Services\common\ExportService;
  5. use App\Services\ProcessStatisticService;
  6. use Exception;
  7. use Illuminate\Http\Request;
  8. use Illuminate\Support\Facades\Gate;
  9. use Illuminate\Support\Facades\Http;
  10. use Oursdreams\Export\Export;
  11. class ProcessStatisticController extends Controller
  12. {
  13. public function index(Request $request){
  14. if(!Gate::allows('二次加工管理-查询')){ return redirect('denied'); }
  15. /** @var ProcessStatisticService $processStatistics */
  16. $processStatistics=app("ProcessStatisticService")->paginate($request->input());
  17. $owners=app("OwnerService")->getIntersectPermitting();
  18. $processMethods=app("ProcessMethodService")->getSelection();
  19. return view('process.statistic',['processStatistics'=>$processStatistics,'params'=>$request->input(),'owners'=>$owners,'processMethods'=>$processMethods]);
  20. }
  21. public function export(){
  22. if(!Gate::allows('二次加工管理-查询')){ return '没有权限'; }
  23. if (request("checkAllSign")){
  24. \request()->offsetUnset("checkAllSign");
  25. $processes = app('ProcessStatisticService')->get(\request()->input());
  26. }else $processes = app('ProcessStatisticService')->get(["process_id"=>\request("data")]);
  27. $row = ["任务号","接单人", "货主", "开始日期", "完成日期","创建日期", "单价", "预期数量", "完成数量", "收入合计",
  28. "完成时间(天)'", "总工时", "加工类型", "最高日产能", "最低日产能", "日均产能", "合计成本", "毛利润",
  29. "毛利率", "状态","加工备注","结算备注"];
  30. $list = [];
  31. foreach ($processes as $process){
  32. $list[] = [
  33. $process->process->code ?? "",
  34. $process->operatorLog->user->name ?? "",
  35. $process->process->owner->name ?? "",
  36. $process->started_at,
  37. $process->ended_at,
  38. $process->process->created_at ?? "",
  39. $process->process->unit_price ?? "",
  40. $process->process->amount ?? "",
  41. $process->process->completed_amount ?? "",
  42. $process->revenue,
  43. $process->duration_days,
  44. $process->duration_man_hours,
  45. $process->process->method->name ?? "",
  46. $process->top_capacity,
  47. $process->bottom_capacity,
  48. $process->average_capacity,
  49. $process->total_cost,
  50. $process->gross_profit,
  51. ($process->gross_profit_rate*100)."%",
  52. $process->process->status ?? "",
  53. $process->process->remark ?? "",
  54. $process->process->balance_remark ?? "",
  55. ];
  56. }
  57. return Export::make($row,$list,"二次加工统计记录");
  58. //return app(ExportService::class)->json($row,$list,"二次加工统计记录");
  59. }
  60. }