/**
  * 增加收款周期
  * @param Request $request
  * @param $companyId
  * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
  */
 public function addCycleBill(Request $request, $companyId)
 {
     $input = $request->only('item', 'grand_total', 'start_date', 'rule', 'remarks');
     $rules = ['item' => 'required', 'grand_total' => 'required|numeric|min:1', 'start_date' => 'required|date', 'rule' => 'required|in:1m,3m,12m'];
     $v = Validator::make($input, $rules);
     if ($v->fails()) {
         Session::flash('error', $v->messages()->first());
         return redirect()->back()->with($input);
     }
     $arr = explode("-", $input['start_date']);
     $startDate = Carbon::createFromDate($arr[0], $arr[1], $arr[2]);
     $bill = new CompanyCycleBill();
     $bill->item = $input['item'];
     $bill->user_id = Session::get('company_id');
     $bill->company_id = $companyId;
     $bill->operator_id = Auth::user()->id;
     $bill->grand_total = $input['grand_total'];
     $bill->start_date = $input['start_date'];
     $bill->next_date = $startDate->addMonth(intval($input['rule']));
     $bill->rule = $input['rule'];
     $bill->remarks = $input['remarks'];
     $bill->save();
     $now = Carbon::now();
     if ($now->format('Y-m-d') == $bill->start_date) {
         $companyBill = new CompanyBill();
         $item = $bill->item;
         if ($bill->rule = '1m') {
             $item = $item . "(" . $now->month . "月)";
         } elseif ($bill->rule = '3m') {
             $item = $item . "(" . (int) ($now->month / 4 + 1) . "季度)";
         } elseif ($bill->rule = '12m') {
             $item = $item . "(" . $now->year . "年)";
         }
         $companyBill->item = $item;
         $companyBill->user_id = $bill->user_id;
         $companyBill->remarks = $bill->remarks;
         $companyBill->company_id = $bill->company_id;
         $companyBill->operator_id = $bill->operator_id;
         $companyBill->grand_total = $bill->grand_total;
         $companyBill->deadline = $bill->start_date;
         $companyBill->cycle_bill_id = $bill->id;
         $companyBill->save();
     }
     Session::flash('success', '添加收款周期成功');
     return redirect(action('CompanyBillController@getAllBills', $companyId) . "?type=cycle");
 }