1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?php
- namespace App\Http\Controllers\Manage\Channel;
- use App\Http\Controllers\Manage\BaseController;
- use App\Http\Controllers\Manage\Channel\Transformers\ChannelQuestionNaireTransformer;
- use App\Modules\Channel\Models\ChannelQuestionNaire;
- use App\Modules\Channel\Services\ChannelQuestionNaireService;
- use App\Modules\Channel\Services\CompanyService;
- use Illuminate\Http\Request;
- //结算比例
- /**
- * 渠道问卷调查
- * Class ChannelSwitchController
- * @package App\Http\Controllers\Channel\Channel
- */
- class ChannelQuestionNaireController extends BaseController
- {
- /**
- * 获取问卷调查信息
- * @param Request $request
- * @return mixed
- */
- public function get_question_naires(Request $request)
- {
- $business_name = $request->input('business_name', '');
- $params = [];
- if ($business_name) {
- $params['business_name'] = $business_name;
- }
- $data = ChannelQuestionNaireService::getQuestionNaires($params, false);
- foreach ($data as $item) {
- $channel_user_id = $item->channel_user_id;
- $distribution_manages_id = $item->distribution_manages_id;
- $total_grade = $this->getTotalGradePreMonth($distribution_manages_id, false);
- $total_naire_company_count = $this->getNaireCompanyCountPreMonth($distribution_manages_id, false);
- $total_grade_pre_month = $this->getTotalGradePreMonth($distribution_manages_id, true);
- $naire_company_count_pre_month = $this->getNaireCompanyCountPreMonth($distribution_manages_id, true);
- $item->company_count = CompanyService::getCompanyCountByManageId($distribution_manages_id);;
- $item->un_naire_company_count = $item->company_count - $naire_company_count_pre_month;
- if ($naire_company_count_pre_month == 0) {
- $item->average_grade_pre_month = 0;
- } else {
- $item->average_grade_pre_month = round(($total_grade_pre_month / $naire_company_count_pre_month), 2);
- }
- if ($total_naire_company_count == 0) {
- $item->total_average_grade = 0;
- } else {
- $item->total_average_grade = round(($total_grade / $total_naire_company_count), 2);
- }
- }
- return response()->pagination(new ChannelQuestionNaireTransformer(), $data);
- }
- /**
- * 获取上个月调查的公司的数量
- * @param $channel_user_id
- * @return mixed
- */
- public static function getNaireCompanyCountPreMonth($distribution_manages_id, $isPreMonth = true)
- {
- return ChannelQuestionNaire::getNaireCompanyCount($distribution_manages_id, $isPreMonth);
- }
- /**
- * 获取商务上个月的总分数
- * @param $channel_user_id
- */
- public static function getTotalGradePreMonth($distribution_manages_id, $isPreMonth = true)
- {
- return ChannelQuestionNaire::getTotalGrade($distribution_manages_id, $isPreMonth);
- }
- }
|