From 29d966699dcf29364064dedb131a132a01b56428 Mon Sep 17 00:00:00 2001 From: weiz Date: Wed, 1 Nov 2023 11:24:07 +0800 Subject: [PATCH 1/4] fixed --- app/api/controller/InformationController.php | 89 +++++++++++++++++++- app/api/controller/VehicleController.php | 8 +- 2 files changed, 92 insertions(+), 5 deletions(-) diff --git a/app/api/controller/InformationController.php b/app/api/controller/InformationController.php index 8dec60efe..91d24c3e6 100644 --- a/app/api/controller/InformationController.php +++ b/app/api/controller/InformationController.php @@ -13,7 +13,7 @@ use think\response\Json; class InformationController extends BaseApiController { - public array $notNeedLogin = ['groupServiceInfo','captainInfo','farmerInfo','farmerLandInfo','farmerPondInfo']; + public array $notNeedLogin = ['groupServiceInfo','captainInfo','farmerInfo','farmerLandInfo','farmerPondInfo','farmerList']; public function list() { @@ -410,4 +410,91 @@ class InformationController extends BaseApiController ]; return $this->success('请求成功',$resData); } + + //获取农户列表 + public function farmerList() { + $params = $this->request->post(['farmer_name','farmer_phone','group_name','captain_name','page_no','page_size']); + if(empty($params['page_no']) || empty($params['page_size'])){ + return $this->fail('参数错误'); + } + $data = UserInformationg::alias('f') + ->field('f.id as farmer_id,f.create_user_id,f.company_id,f.name as farmer_name,f.phone as farmer_phone,c.company_name,u.nickname as captain_name,g.nickname as group_name') + ->leftJoin('company c','f.company_id = c.id') + ->leftJoin('user u','u.id = f.create_user_id') + ->leftJoin('user g','g.id = c.user_id') + ->page($params['page_no'],$params['page_size'])->order('id desc')->select()->toArray(); + /* + $data = UserInformationg::field('id,create_user_id,company_id,name,phone,area_id,street_id,village_id,brigade_id,area_id area_name,street_id street_name,village_id village_name,brigade_id brigade_name,address')->page($params['page_no'],$params['page_size'])->order('id desc')->select()->each(function($item){ + $item['address'] = $item['area_name'].$item['street_name'].$item['village_name'].$item['brigade_name'].$item['address']; + unset($item['area_name'],$item['street_name'],$item['village_name'],$item['brigade_name'],$item['area_id'],$item['street_id'],$item['village_id'],$item['brigade_id']); + //获取公司信息 + $company = Company::field('company_name,user_id')->where('id',$item['company_id'])->findOrEmpty(); + $item['company_name'] = $company['company_name']; + //获取生产队长信息 + $captain = User::field('nickname')->where('id',$item['create_user_id'])->findOrEmpty(); + $item['captain_name'] = $captain['nickname']; + //获取小组服务公司用户信息 + $group = User::field('nickname')->where('id',$company['user_id'])->findOrEmpty(); + $item['group_name'] = $group['nickname']; + $userInformationgDemand = UserInformationgDemand::field('id,category_child,data')->where('information_id', $item['id'])->where('category_id',6)->where('category_child','in','7,32')->order('id', 'desc')->select()->toArray(); + //是否是种植户 + $is_zz_user = false; + //是否是水产养殖户 + $is_sc_user = false; + //是否是家禽养殖户 + $is_jq_user = false; + //是否是大型动物养殖户 + $is_dw_user = false; + //土地总面积 + $total_land_area = 0; + //池塘总面积 + $total_pond_area = 0; + //家禽养殖场总面积 + $total_henhouse_area = 0; + //动物养殖场总面积 + $total_pasture_area = 0; + foreach($userInformationgDemand as $v){ + if($v['category_child'] == 7){ + $is_zz_user = true; + $total_land_area += floatval($v['data']['area']); + } + if($v['category_child'] == 32){ + if($v['data']['breeding_type'] == 1){//水产 + $is_sc_user = true; + $total_pond_area += floatval($v['data']['area']); + }elseif ($v['data']['breeding_type'] == 2) {//脯乳动物 + $is_jq_user = true; + $total_henhouse_area += floatval($v['data']['area']); + }elseif ($v['data']['breeding_type'] == 3){//家禽 + $is_dw_user = true; + $total_pasture_area += floatval($v['data']['area']); + } + } + } + $str = []; + $area = []; + if($is_zz_user){ + $str[] = '种植户'; + $area[] = $total_land_area; + } + if($is_sc_user){ + $str[] = '水产养殖户'; + $area[] = $total_pond_area; + } + if($is_jq_user){ + $str[] = '家禽养殖户'; + $area[] = $total_henhouse_area; + } + if($is_dw_user){ + $str[] = '家畜养殖户'; + $area[] = $total_pasture_area; + } + $item['farmer_type'] = implode('/',$str); + $item['farmer_area'] = implode('/',$area); + return $item; + })->toArray(); + */ + dump($data); + + } } diff --git a/app/api/controller/VehicleController.php b/app/api/controller/VehicleController.php index e97583fdf..3576aaa57 100644 --- a/app/api/controller/VehicleController.php +++ b/app/api/controller/VehicleController.php @@ -236,11 +236,11 @@ class VehicleController extends BaseApiController return $this->fail('当前小组服务公司未签约'); } //获取签约信息 - $contract = Contract::where('party_b',$this->userInfo['company_id'])->where('signing_timer',2)->find(); + $contract = Contract::where('party_b',$this->userInfo['company_id'])->where('signing_timer',2)->findOrEmpty(); + if(empty($contract) || empty($party_a)){ + return $this->fail('未找到签约镇街公司'); + } $party_a = Company::field('id,company_name,master_name,master_phone,master_email,is_contract,organization_code,company_type')->where('id',$contract['party_a'])->find(); - if(empty($contract) || empty($party_a)){ - return $this->fail('未找到签约镇街公司'); - } if($party_a['company_type'] != 16){ return $this->fail('不能与非镇街公司签约'); } From 2fc2368767666d6e6c21625dc5897f553ac88177 Mon Sep 17 00:00:00 2001 From: weiz Date: Wed, 1 Nov 2023 11:29:11 +0800 Subject: [PATCH 2/4] fixed --- app/api/controller/VehicleController.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/api/controller/VehicleController.php b/app/api/controller/VehicleController.php index 3576aaa57..7374b8ecc 100644 --- a/app/api/controller/VehicleController.php +++ b/app/api/controller/VehicleController.php @@ -666,6 +666,9 @@ class VehicleController extends BaseApiController } //2、获取小组服务公司签约的镇街公司 $zjCompany = Contract::field('party_a')->where('party_b',$this->userInfo['company_id'])->where('signing_timer',2)->findOrEmpty(); + if($zjCompany->isEmpty()){ + return $this->fail('未获取到小组服务公司签约的镇街公司'); + } //3、获取镇街公司向平台租赁的且未二次租赁给小组公司的车辆 $zjRentCars = VehicleRent::field('car_id')->where('company_id',$zjCompany['party_a'])->where('status',0)->select()->toArray(); $zjRentCars = array_column($zjRentCars,'car_id'); From b188458b9bed34842c8e1e2f57181beccb37348e Mon Sep 17 00:00:00 2001 From: weiz Date: Wed, 1 Nov 2023 16:29:15 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E6=89=80=E6=9C=89=E5=86=9C=E6=88=B7=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/InformationController.php | 175 +++++++++++-------- 1 file changed, 99 insertions(+), 76 deletions(-) diff --git a/app/api/controller/InformationController.php b/app/api/controller/InformationController.php index 91d24c3e6..d1ae81f91 100644 --- a/app/api/controller/InformationController.php +++ b/app/api/controller/InformationController.php @@ -315,7 +315,13 @@ class InformationController extends BaseApiController return $this->fail('参数错误_worker'); } //获取农户信息 - $farmerInfo = UserInformationg::where('id', $params['user_id'])->field('id,create_user_id,company_id,name,phone,area_id,street_id,village_id,brigade_id,area_id area_name,street_id street_name,village_id village_name,brigade_id brigade_name')->findOrEmpty()->toArray(); + $farmerInfo = UserInformationg::alias('f') + ->leftJoin('company c','f.company_id = c.id') + ->leftJoin('user u','u.id = f.create_user_id') + ->leftJoin('user g','g.id = c.user_id') + ->where('f.id', $params['user_id']) + ->field('f.id,f.create_user_id,f.company_id,f.name,f.phone,f.area_id,f.street_id,f.village_id,f.brigade_id,f.area_id area_name,f.street_id street_name,f.village_id village_name,f.brigade_id brigade_name,c.company_name,f.address,u.nickname as captain_name,g.nickname as group_name') + ->findOrEmpty()->toArray(); if(empty($farmerInfo)){ return $this->fail('用户不存在_worker'); } @@ -412,89 +418,106 @@ class InformationController extends BaseApiController } //获取农户列表 - public function farmerList() { + public function farmerList(): Json + { $params = $this->request->post(['farmer_name','farmer_phone','group_name','captain_name','page_no','page_size']); if(empty($params['page_no']) || empty($params['page_size'])){ return $this->fail('参数错误'); } + $search = []; + if(!empty($params['farmer_name'])){ + $search[] = ['f.name','like','%'.$params['farmer_name'].'%']; + } + if(!empty($params['farmer_phone'])){ + $search[] = ['f.phone','like','%'.$params['farmer_phone'].'%']; + } + if(!empty($params['group_name'])){ + $search[] = ['g.nickname','like','%'.$params['group_name'].'%']; + } + if(!empty($params['captain_name'])){ + $search[] = ['u.nickname','like','%'.$params['captain_name'].'%']; + } $data = UserInformationg::alias('f') - ->field('f.id as farmer_id,f.create_user_id,f.company_id,f.name as farmer_name,f.phone as farmer_phone,c.company_name,u.nickname as captain_name,g.nickname as group_name') + ->field('f.id,f.create_user_id,f.company_id,f.name,f.phone,f.area_id,f.street_id,f.village_id,f.brigade_id,c.company_name,u.nickname as captain_name,g.nickname as group_name,f.area_id area_name,f.street_id street_name,f.village_id village_name,f.brigade_id brigade_name,f.address') ->leftJoin('company c','f.company_id = c.id') ->leftJoin('user u','u.id = f.create_user_id') ->leftJoin('user g','g.id = c.user_id') - ->page($params['page_no'],$params['page_size'])->order('id desc')->select()->toArray(); - /* - $data = UserInformationg::field('id,create_user_id,company_id,name,phone,area_id,street_id,village_id,brigade_id,area_id area_name,street_id street_name,village_id village_name,brigade_id brigade_name,address')->page($params['page_no'],$params['page_size'])->order('id desc')->select()->each(function($item){ - $item['address'] = $item['area_name'].$item['street_name'].$item['village_name'].$item['brigade_name'].$item['address']; - unset($item['area_name'],$item['street_name'],$item['village_name'],$item['brigade_name'],$item['area_id'],$item['street_id'],$item['village_id'],$item['brigade_id']); - //获取公司信息 - $company = Company::field('company_name,user_id')->where('id',$item['company_id'])->findOrEmpty(); - $item['company_name'] = $company['company_name']; - //获取生产队长信息 - $captain = User::field('nickname')->where('id',$item['create_user_id'])->findOrEmpty(); - $item['captain_name'] = $captain['nickname']; - //获取小组服务公司用户信息 - $group = User::field('nickname')->where('id',$company['user_id'])->findOrEmpty(); - $item['group_name'] = $group['nickname']; - $userInformationgDemand = UserInformationgDemand::field('id,category_child,data')->where('information_id', $item['id'])->where('category_id',6)->where('category_child','in','7,32')->order('id', 'desc')->select()->toArray(); - //是否是种植户 - $is_zz_user = false; - //是否是水产养殖户 - $is_sc_user = false; - //是否是家禽养殖户 - $is_jq_user = false; - //是否是大型动物养殖户 - $is_dw_user = false; - //土地总面积 - $total_land_area = 0; - //池塘总面积 - $total_pond_area = 0; - //家禽养殖场总面积 - $total_henhouse_area = 0; - //动物养殖场总面积 - $total_pasture_area = 0; - foreach($userInformationgDemand as $v){ - if($v['category_child'] == 7){ - $is_zz_user = true; - $total_land_area += floatval($v['data']['area']); - } - if($v['category_child'] == 32){ - if($v['data']['breeding_type'] == 1){//水产 - $is_sc_user = true; - $total_pond_area += floatval($v['data']['area']); - }elseif ($v['data']['breeding_type'] == 2) {//脯乳动物 - $is_jq_user = true; - $total_henhouse_area += floatval($v['data']['area']); - }elseif ($v['data']['breeding_type'] == 3){//家禽 - $is_dw_user = true; - $total_pasture_area += floatval($v['data']['area']); - } - } - } - $str = []; - $area = []; - if($is_zz_user){ - $str[] = '种植户'; - $area[] = $total_land_area; - } - if($is_sc_user){ - $str[] = '水产养殖户'; - $area[] = $total_pond_area; - } - if($is_jq_user){ - $str[] = '家禽养殖户'; - $area[] = $total_henhouse_area; - } - if($is_dw_user){ - $str[] = '家畜养殖户'; - $area[] = $total_pasture_area; - } - $item['farmer_type'] = implode('/',$str); - $item['farmer_area'] = implode('/',$area); - return $item; - })->toArray(); - */ - dump($data); + ->where($search) + ->page($params['page_no'],$params['page_size'])->order('id desc')->select() + ->each(function($item){ + $item['address'] = $item['area_name'].$item['street_name'].$item['village_name'].$item['brigade_name'].$item['address']; + unset($item['area_name'],$item['street_name'],$item['village_name'],$item['brigade_name'],$item['area_id'],$item['street_id'],$item['village_id'],$item['brigade_id']); + $userInformationgDemand = UserInformationgDemand::field('id,category_child,data')->where('information_id', $item['id'])->where('category_id',6)->where('category_child','in','7,32')->order('id', 'desc')->select()->toArray(); + //是否是种植户 + $is_zz_user = false; + //是否是水产养殖户 + $is_sc_user = false; + //是否是家禽养殖户 + $is_jq_user = false; + //是否是大型动物养殖户 + $is_dw_user = false; + //土地总面积 + $total_land_area = 0; + //池塘总面积 + $total_pond_area = 0; + //家禽养殖场总面积 + $total_henhouse_area = 0; + //动物养殖场总面积 + $total_pasture_area = 0; + foreach($userInformationgDemand as $v){ + if($v['category_child'] == 7){ + $is_zz_user = true; + $total_land_area += floatval($v['data']['area']); + } + if($v['category_child'] == 32){ + if($v['data']['breeding_type'] == 1){//水产 + $is_sc_user = true; + $total_pond_area += floatval($v['data']['area']); + }elseif ($v['data']['breeding_type'] == 2) {//脯乳动物 + $is_jq_user = true; + $total_henhouse_area += floatval($v['data']['area']); + }elseif ($v['data']['breeding_type'] == 3){//家禽 + $is_dw_user = true; + $total_pasture_area += floatval($v['data']['area']); + } + } + } + $str = []; + $area = []; + if($is_zz_user){ + $str[] = '种植户'; + $area[] = $total_land_area; + } + if($is_sc_user){ + $str[] = '水产养殖户'; + $area[] = $total_pond_area; + } + if($is_jq_user){ + $str[] = '家禽养殖户'; + $area[] = $total_henhouse_area; + } + if($is_dw_user){ + $str[] = '家畜养殖户'; + $area[] = $total_pasture_area; + } + $item['farmer_type'] = implode('/',$str); + $item['farmer_area'] = implode('/',$area); + return $item; + })->toArray(); + $count = UserInformationg::alias('f') + ->field('f.id,f.create_user_id,f.company_id,f.name,f.phone,f.area_id,f.street_id,f.village_id,f.brigade_id,c.company_name,u.nickname as captain_name,g.nickname as group_name,f.area_id area_name,f.street_id street_name,f.village_id village_name,f.brigade_id brigade_name,f.address') + ->leftJoin('company c','f.company_id = c.id') + ->leftJoin('user u','u.id = f.create_user_id') + ->leftJoin('user g','g.id = c.user_id') + ->where($search) + ->count(); + $result = [ + 'count' => $count, + 'page_no' => $params['page_no'], + 'page_size' => $params['page_size'], + 'lists' => $data + ]; + return $this->success('请求成功',$result); } } From 09a0ee4cc11c81999d51b31436731ac8cd9fb4c7 Mon Sep 17 00:00:00 2001 From: weiz Date: Thu, 2 Nov 2023 16:42:39 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=80=9A=E8=BF=87?= =?UTF-8?q?=E6=89=8B=E6=9C=BA=E5=8F=B7=E7=A0=81=E6=9F=A5=E6=89=BE=E5=86=9C?= =?UTF-8?q?=E6=88=B7=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/InformationController.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/app/api/controller/InformationController.php b/app/api/controller/InformationController.php index d1ae81f91..1d5583145 100644 --- a/app/api/controller/InformationController.php +++ b/app/api/controller/InformationController.php @@ -13,7 +13,7 @@ use think\response\Json; class InformationController extends BaseApiController { - public array $notNeedLogin = ['groupServiceInfo','captainInfo','farmerInfo','farmerLandInfo','farmerPondInfo','farmerList']; + public array $notNeedLogin = ['groupServiceInfo','captainInfo','farmerInfo','farmerInfoByPhone','farmerLandInfo','farmerPondInfo','farmerList']; public function list() { @@ -374,6 +374,19 @@ class InformationController extends BaseApiController return $this->success('请求成功',$farmerInfo); } + //通过手机号码查找农户 + public function farmerInfoByPhone(): Json + { + $params = $this->request->post(['phone']); + if(empty($params['phone'])){ + return $this->fail('参数错误'); + } + $data = UserInformationg::where('phone',$params['phone']) + ->field('id,name,phone,area_id,street_id,village_id,brigade_id,area_id area_name,street_id street_name,village_id village_name,brigade_id brigade_name,address') + ->findOrEmpty(); + return !$data->isEmpty() ? $this->success('请求成功',$data->toArray()) : $this->fail('请求失败'); + } + //获取农户土地信息 public function farmerLandInfo(): Json {