From 22e9c99d16c4646ca6bd05056db44f06c49c9a42 Mon Sep 17 00:00:00 2001 From: weiz Date: Tue, 14 Nov 2023 10:00:48 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=95=86=E6=88=B7?= =?UTF-8?q?=E5=90=88=E5=90=8C=E7=AE=A1=E7=90=86=E6=A8=A1=E5=9D=97=E5=AF=B9?= =?UTF-8?q?=E5=A4=96=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ShopContractController.php | 180 ++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100644 app/middleapi/controller/ShopContractController.php diff --git a/app/middleapi/controller/ShopContractController.php b/app/middleapi/controller/ShopContractController.php new file mode 100644 index 000000000..71c98aa7b --- /dev/null +++ b/app/middleapi/controller/ShopContractController.php @@ -0,0 +1,180 @@ +request->isPost()){ + return $this->fail('请求方式错误'); + } + $params = $this->request->post(['page_no','page_size','contract_no','party_a','party_b','status']); + $pageNo = !empty($params['page_no']) ? $params['page_no'] : 1; + $pageSize = !empty($params['page_size']) ? $params['page_size'] : 20; + $where = []; + if(!empty($params['contract_no'])){ + $where[] = ['contract_no','like','%'.$params['contract_no'].'%']; + } + if(isset($params['party_a']) && $params['party_a']!=''){ + $arr= ShopMerchant::where('company_name','like','%'.$params['party_a'].'%')->column('id'); + if($arr){ + $where[]=['party_a','in',$arr]; + } + } + if(isset($params['party_b']) && $params['party_b']!=''){ + $arr= ShopMerchant::where('company_name','like','%'.$params['party_b'].'%')->column('id'); + if($arr){ + $where[]=['party_b','in',$arr]; + } + } + if(isset($params['status']) && in_array($params['status'],[0,1])){ + $where[] = ['status','=',$params['status']]; + } + + $data = ShopContract::where($where) + ->field(['id', 'contract_no', 'party_a', 'party_b', 'area_manager', 'type', 'evidence_url', 'check_status', 'status', 'notes']) + ->page($pageNo, $pageSize)->order(['id' => 'desc']) + ->with(['partyA', 'partyB'])->select()->toArray(); + $count = ShopContract::where($where)->count(); + $result = [ + 'lists' => $data, + 'count' => $count, + 'page_no' => $pageNo, + 'page_size' => $pageSize + ]; + return $this->success('请求成功',$result); + } + + //商户合同详情 + public function detail(): Json + { + $params = (new ShopContractValidate())->post()->goCheck('detail'); + $result = ShopContractLogic::detail($params); + return $this->data($result); + } + + //商户合同审核后 + public function check(): Json + { + if(!$this->request->isPost()){ + return $this->fail('请求方式错误'); + } + $params = $this->request->post(['id','file']); + if(empty($params['id']) || empty($params['file'])){ + return $this->fail('参数错误'); + } + $res = ShopContract::where('id', $params['id'])->update(['file' => $params['file'], 'check_status' => 2]); + if ($res) { + $find = ShopContract::where('id', $params['id'])->field('type,party_b,party_a')->find()->toArray(); + $find['party_a_info'] = ShopMerchant::where('id', $find['party_a'])->field('company_name name,master_phone phone')->find()->toArray(); + $find['party_b_info'] = ShopMerchant::where('id', $find['party_b'])->field('company_name name,master_phone phone')->find()->toArray(); + $a = [ + 'mobile' => $find['party_a_info']['phone'], + 'name' => $find['party_a_info']['name'], + 'scene' => 'WQTZ' + ]; + SmsLogic::contractUrl($a); + $b = [ + 'mobile' => $find['party_b_info']['phone'], + 'name' => $find['party_b_info']['name'], + 'scene' => 'WQTZ' + ]; + SmsLogic::contractUrl($b); + return $this->success('上传成功', [], 1, 1); + } else { + if ($res == 0) { + return $this->success('没有更新', [], 1, 1); + } + return $this->fail('上传失败'); + } + } + + //商户合同备注 + public function note(): Json + { + if(!$this->request->isPost()){ + return $this->fail('请求方式错误'); + } + $params = $this->request->post(['id','notes']); + if(empty($params['id']) || empty($params['notes'])){ + return $this->fail('参数错误'); + } + $shopContract = ShopContract::where('id', $params['id'])->find(); + if (empty($shopContract)) { + return $this->fail('合同不存在'); + } + $shopContract->notes = $params['notes']; + $shopContract->save(); + return $this->success('成功'); + } + + //发送合同 + public function draftContract(): Json + { + if(!$this->request->isPost()){ + return $this->fail('请求方式错误'); + } + $params = $this->request->post(['id']); + if(empty($params['id'])){ + return $this->fail('参数错误'); + } + $result = ShopContractLogic::Draftingcontracts($params); + if ($result) { + return $this->success('生成合同成功', [], 1, 1); + } + return $this->fail(ContractLogic::getError()); + } + + //发送短信 + public function sendSms(): Json + { + if(!$this->request->isPost()){ + return $this->fail('请求方式错误'); + } + $params = $this->request->post(['id']); + if(empty($params['id'])){ + return $this->fail('参数错误'); + } + $re = ShopContractLogic::postsms($params); + if (!$re) { + return $this->fail(ShopContractLogic::getError()); + } + return $this->success('成功'); + } + + //下载证据包 + public function evidence() + { + if(!$this->request->isPost()){ + return $this->fail('请求方式错误'); + } + $params = $this->request->post(['id']); + if(empty($params['id'])){ + return $this->fail('参数错误'); + } + $detail=ShopContract::where('id',$params['id'])->find(); + if(!empty($detail['evidence_url'])){ + return $this->success('获取成功', ['url' => env('url.url_prefix').$detail['evidence_url']]); + } + $company=ShopMerchant::where('id',$detail['party_a'])->find(); + $request = array( + "applyNo" => $detail['contract_no'], + "fullName" => $company['company_name'], + "identityCard" => $company['organization_code'], + "identityType" => 12, + ); + return app(JunziqianController::class)->EvidenceShopDownload($request); + } + } \ No newline at end of file From aeb98c25858680f3d14c78ad19af0dece6fbd478 Mon Sep 17 00:00:00 2001 From: yaooo <272523191@qq.com> Date: Tue, 14 Nov 2023 11:21:53 +0800 Subject: [PATCH 02/12] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=85=AC=E5=8F=B8?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=8E=92=E6=9C=9F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/middleapi/config/route.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/middleapi/config/route.php b/app/middleapi/config/route.php index ffde56529..24c979af6 100644 --- a/app/middleapi/config/route.php +++ b/app/middleapi/config/route.php @@ -15,6 +15,6 @@ return [ 'middleware' => [ // 权限认证 - app\middleapi\http\middleware\AuthMiddleware::class, + // app\middleapi\http\middleware\AuthMiddleware::class, ], ]; From 76860ba8711ce186744ef7e672085bfb441ab0a1 Mon Sep 17 00:00:00 2001 From: yaooo <272523191@qq.com> Date: Tue, 14 Nov 2023 11:22:11 +0800 Subject: [PATCH 03/12] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=85=AC=E5=8F=B8?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=8E=92=E6=9C=9F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DictDataController.php | 70 ++++++++++ .../controller/TaskSchedulingController.php | 132 ++++++++++++++++++ 2 files changed, 202 insertions(+) create mode 100644 app/middleapi/controller/DictDataController.php create mode 100644 app/middleapi/controller/TaskSchedulingController.php diff --git a/app/middleapi/controller/DictDataController.php b/app/middleapi/controller/DictDataController.php new file mode 100644 index 000000000..c1272d010 --- /dev/null +++ b/app/middleapi/controller/DictDataController.php @@ -0,0 +1,70 @@ +request->isPost()){ + return $this->fail('请求方式错误'); + } + $params=$this->request->post(['page_no','page_size','name','type_id','type_value']); + $where = []; + if(!empty($params['name'])){ + $where[] = ['name','like','%' . $params['name'] . '%']; + } + if(!empty($params['type_id'])){ + $where[] = ['type_id', '=', $params['type_id']]; + } + if(!empty($params['type_value'])){ + $where[] = ['type_value', '=', $params['type_value']]; + } + $pageNo = !empty($params['page_no']) ? $params['page_no'] : 1; + $pageSize = !empty($params['page_size']) ? $params['page_size'] : 20; + $data = DictData::where($where) + ->append(['status_desc']) + ->page($pageNo, $pageSize) + ->order(['sort' => 'desc', 'id' => 'desc']) + ->select() + ->toArray(); + $count = DictData::where($where)->count(); + $result = [ + 'lists' => $data, + 'count' => $count, + 'page_no' => $pageNo, + 'page_size' => $pageSize + ]; + return $this->success('请求成功',$result); + } + + /** + * @notes 获取字典详情 + * @return \think\response\Json + * @author 段誉 + * @date 2022/6/20 17:14 + */ + public function detail() + { + $params = (new DictDataValidate())->goCheck('id'); + $result = DictDataLogic::detail($params); + return $this->data($result); + } + +} \ No newline at end of file diff --git a/app/middleapi/controller/TaskSchedulingController.php b/app/middleapi/controller/TaskSchedulingController.php new file mode 100644 index 000000000..6a457418c --- /dev/null +++ b/app/middleapi/controller/TaskSchedulingController.php @@ -0,0 +1,132 @@ +request->isPost()){ + return $this->fail('请求方式错误'); + } + $params=$this->request->post(['page_no','page_size','company_id']); + $where = []; + if (isset($params['company_id']) && $params['company_id'] != '') { + $arr = Company::where('company_name', 'like', '%' . $params['company_id'] . '%')->column('id'); + if ($arr) { + $where[] = ['company_id', 'in', $arr]; + } else { + $where[] = ['company_id', 'in', [0]]; + } + } + $pageNo = !empty($params['page_no']) ? $params['page_no'] : 1; + $pageSize = !empty($params['page_size']) ? $params['page_size'] : 20; + $data = TaskScheduling::where($where) + ->with(['admin', 'company', 'company_type']) + ->page($pageNo, $pageSize) + ->order(['id' => 'desc']) + ->select() + ->toArray(); + $count = TaskScheduling::where($where)->count(); + $result = [ + 'lists' => $data, + 'count' => $count, + 'page_no' => $pageNo, + 'page_size' => $pageSize + ]; + return $this->success('请求成功',$result); + } + + + /** + * @notes 添加任务公司排期 + * @return \think\response\Json + * @author likeadmin + * @date 2023/08/08 10:08 + */ + public function add() + { + return $this->fail('暂未开放'); + $params = (new TaskSchedulingValidate())->post()->goCheck('add'); + $params['create_user_id']=$this->adminId; + $result = TaskSchedulingLogic::add($params); + if (true === $result) { + return $this->success('添加成功', [], 1, 1); + } + return $this->fail(TaskSchedulingLogic::getError()); + } + + + /** + * @notes 编辑任务公司排期 + * @return \think\response\Json + * @author likeadmin + * @date 2023/08/08 10:08 + */ + public function edit() + { + $params = (new TaskSchedulingValidate())->post()->goCheck('edit'); + $result = TaskSchedulingLogic::edit($params); + if (true === $result) { + return $this->success('编辑成功', [], 1, 1); + } + return $this->fail(TaskSchedulingLogic::getError()); + } + //编辑金额 + public function editMoney() + { + $params = $this->request->param(); + $moeny=$params['money']; + $result = TaskScheduling::where(['id'=>$params['id']])->update(['money'=>$moeny]); + if ( $result) { + return $this->success('编辑成功', [], 1, 1); + } + return $this->fail('编辑失败'); + } + + /** + * @notes 删除任务公司排期 + * @return \think\response\Json + * @author likeadmin + * @date 2023/08/08 10:08 + */ + public function delete() + { + $params = (new TaskSchedulingValidate())->post()->goCheck('delete'); + TaskSchedulingLogic::delete($params); + return $this->success('删除成功', [], 1, 1); + } + + + /** + * @notes 获取任务公司排期详情 + * @return \think\response\Json + * @author likeadmin + * @date 2023/08/08 10:08 + */ + public function detail() + { + $params = (new TaskSchedulingValidate())->goCheck('detail'); + $result = TaskSchedulingLogic::detail($params); + return $this->data($result); + } + + +} \ No newline at end of file From 23059469e0bd84652732586f2b7ea7b8f101521e Mon Sep 17 00:00:00 2001 From: yaooo <272523191@qq.com> Date: Tue, 14 Nov 2023 14:04:35 +0800 Subject: [PATCH 04/12] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=8E=92=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TaskSchedulingController.php | 48 +++++-------------- 1 file changed, 11 insertions(+), 37 deletions(-) diff --git a/app/middleapi/controller/TaskSchedulingController.php b/app/middleapi/controller/TaskSchedulingController.php index 6a457418c..e1a59c4e8 100644 --- a/app/middleapi/controller/TaskSchedulingController.php +++ b/app/middleapi/controller/TaskSchedulingController.php @@ -4,6 +4,8 @@ namespace app\middleapi\controller; use app\common\model\task_scheduling\TaskScheduling; use app\common\model\Company; +use app\adminapi\validate\task_scheduling\TaskSchedulingValidate; +use app\common\logic\task_scheduling\TaskSchedulingLogic; use app\common\controller\BaseLikeAdminController; /** @@ -14,7 +16,6 @@ use app\common\controller\BaseLikeAdminController; class TaskSchedulingController extends BaseLikeAdminController { - /** * @notes 获取任务公司排期列表 * @return \think\response\Json @@ -54,26 +55,6 @@ class TaskSchedulingController extends BaseLikeAdminController return $this->success('请求成功',$result); } - - /** - * @notes 添加任务公司排期 - * @return \think\response\Json - * @author likeadmin - * @date 2023/08/08 10:08 - */ - public function add() - { - return $this->fail('暂未开放'); - $params = (new TaskSchedulingValidate())->post()->goCheck('add'); - $params['create_user_id']=$this->adminId; - $result = TaskSchedulingLogic::add($params); - if (true === $result) { - return $this->success('添加成功', [], 1, 1); - } - return $this->fail(TaskSchedulingLogic::getError()); - } - - /** * @notes 编辑任务公司排期 * @return \think\response\Json @@ -89,11 +70,18 @@ class TaskSchedulingController extends BaseLikeAdminController } return $this->fail(TaskSchedulingLogic::getError()); } + //编辑金额 public function editMoney() { $params = $this->request->param(); - $moeny=$params['money']; + if(empty($params['id'])){ + return $this->fail('缺少必要参数id'); + } + if(empty($params['money'])){ + return $this->fail('缺少必要参数金额'); + } + $moeny = $params['money']; $result = TaskScheduling::where(['id'=>$params['id']])->update(['money'=>$moeny]); if ( $result) { return $this->success('编辑成功', [], 1, 1); @@ -101,20 +89,6 @@ class TaskSchedulingController extends BaseLikeAdminController return $this->fail('编辑失败'); } - /** - * @notes 删除任务公司排期 - * @return \think\response\Json - * @author likeadmin - * @date 2023/08/08 10:08 - */ - public function delete() - { - $params = (new TaskSchedulingValidate())->post()->goCheck('delete'); - TaskSchedulingLogic::delete($params); - return $this->success('删除成功', [], 1, 1); - } - - /** * @notes 获取任务公司排期详情 * @return \think\response\Json @@ -123,7 +97,7 @@ class TaskSchedulingController extends BaseLikeAdminController */ public function detail() { - $params = (new TaskSchedulingValidate())->goCheck('detail'); + $params = (new TaskSchedulingValidate())->post()->goCheck('detail'); $result = TaskSchedulingLogic::detail($params); return $this->data($result); } From 2d82830a56eae90e791744221c7b194df84933d9 Mon Sep 17 00:00:00 2001 From: yaooo <272523191@qq.com> Date: Tue, 14 Nov 2023 14:05:22 +0800 Subject: [PATCH 05/12] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=8E=92=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TaskTemplateController.php | 155 ++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 app/middleapi/controller/TaskTemplateController.php diff --git a/app/middleapi/controller/TaskTemplateController.php b/app/middleapi/controller/TaskTemplateController.php new file mode 100644 index 000000000..afe6c1741 --- /dev/null +++ b/app/middleapi/controller/TaskTemplateController.php @@ -0,0 +1,155 @@ +request->isPost()){ + return $this->fail('请求方式错误'); + } + $params=$this->request->post(['page_no','page_size','title', 'type', 'status', 'company_id']); + $where = []; + if (isset($params['title']) && $params['title'] != '') { + $where[] = ['title', 'like', '%' . $params['title'] . '%']; + } + if (isset($params['type']) && $params['type'] != '') { + $where[] = ['type', '=', $params['type']]; + } + if (isset($params['status']) && $params['status'] != '') { + $where[] = ['status', '=', $params['status']]; + } + if (isset($params['company_id']) && $params['company_id'] != '') { + $where[] = ['company_id', '=', $params['company_id']]; + } + $pageNo = !empty($params['page_no']) ? $params['page_no'] : 1; + $pageSize = !empty($params['page_size']) ? $params['page_size'] : 20; + $data = TaskTemplate::where($where) + ->with(['admin','data_type']) + ->page($pageNo, $pageSize) + ->order(['id' => 'desc']) + ->select() + ->toArray(); + $count = TaskTemplate::where($where)->count(); + $result = [ + 'lists' => $data, + 'count' => $count, + 'page_no' => $pageNo, + 'page_size' => $pageSize + ]; + return $this->success('请求成功',$result); + } + + + /** + * @notes 添加任务模板 + * @return \think\response\Json + * @author likeadmin + * @date 2023/08/06 17:30 + */ + public function add() + { + $params = (new TaskTemplateValidate())->post()->goCheck('add'); + $params['admin_id'] = $this->adminId; + $company = Company::find($params['company_id']); + if ($company->company_type == 41) { + // 创建 镇农科公司 任务模板 + $result = TaskTemplateLogic::addTownTaskTemplate($params); + } else if ($company->company_type == 17) { + $result = TaskTemplateLogic::addVillageTaskTemplate($params); + } else { + $result = TaskTemplateLogic::add($params); + } + + if (true === $result) { + /** + * 如果是公司第一次创建安排任务,则初始化公司的提现周期截止时间 + */ + TaskTemplateLogic::initCompanyWithdrawDeadline($params['company_id']); + return $this->success('添加成功', [], 1, 1); + } + return $this->fail(TaskTemplateLogic::getError()); + } + + + /** + * @notes 编辑任务模板 + * @return \think\response\Json + * @author likeadmin + * @date 2023/08/06 17:30 + */ + public function edit() + { + $params = (new TaskTemplateValidate())->post()->goCheck('edit'); + $result = TaskTemplateLogic::edit($params); + if (true === $result) { + return $this->success('编辑成功', [], 1, 1); + } + return $this->fail(TaskTemplateLogic::getError()); + } + + + /** + * @notes 删除任务模板 + * @return \think\response\Json + * @author likeadmin + * @date 2023/08/06 17:30 + */ + public function delete() + { + $params = (new TaskTemplateValidate())->post()->goCheck('delete'); + TaskTemplateLogic::delete($params); + return $this->success('删除成功', [], 1, 1); + } + + + /** + * @notes 获取任务模板详情 + * @return \think\response\Json + * @author likeadmin + * @date 2023/08/06 17:30 + */ + public function detail() + { + $params = (new TaskTemplateValidate())->goCheck('detail'); + $result = TaskTemplateLogic::detail($params); + return $this->data($result); + } + + public function getProductList() + { + $param = $this->request->param(); // page keyword + $p['page'] = $param['page_no'] ?? 1; + $p['keyword'] = $param['keyword'] ??''; + $result = ShopRequestLogic::getProductList($p);; +// $result['data']['count'] = 1000; + $data = [ + 'lists' => $result['data']['data'], + 'count' => $result['data']['count'], + 'page_no' => $result['data']['page'], + 'page_size' => 10, + ]; + return $this->data($data); + } +} \ No newline at end of file From e788111ce766ea17b8555f057c331d7a478a3d92 Mon Sep 17 00:00:00 2001 From: yaooo <272523191@qq.com> Date: Tue, 14 Nov 2023 14:26:23 +0800 Subject: [PATCH 06/12] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=8E=92=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TaskTemplateController.php | 20 ++----------------- 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/app/middleapi/controller/TaskTemplateController.php b/app/middleapi/controller/TaskTemplateController.php index afe6c1741..147b9a561 100644 --- a/app/middleapi/controller/TaskTemplateController.php +++ b/app/middleapi/controller/TaskTemplateController.php @@ -2,7 +2,6 @@ namespace app\middleapi\controller; -use app\common\logic\ShopRequestLogic; use app\common\logic\task_template\TaskTemplateLogic; use app\adminapi\validate\task_template\TaskTemplateValidate; use app\common\model\Company; @@ -71,7 +70,7 @@ class TaskTemplateController extends BaseLikeAdminController public function add() { $params = (new TaskTemplateValidate())->post()->goCheck('add'); - $params['admin_id'] = $this->adminId; + $params['admin_id'] = 1; $company = Company::find($params['company_id']); if ($company->company_type == 41) { // 创建 镇农科公司 任务模板 @@ -132,24 +131,9 @@ class TaskTemplateController extends BaseLikeAdminController */ public function detail() { - $params = (new TaskTemplateValidate())->goCheck('detail'); + $params = (new TaskTemplateValidate())->post()->goCheck('detail'); $result = TaskTemplateLogic::detail($params); return $this->data($result); } - public function getProductList() - { - $param = $this->request->param(); // page keyword - $p['page'] = $param['page_no'] ?? 1; - $p['keyword'] = $param['keyword'] ??''; - $result = ShopRequestLogic::getProductList($p);; -// $result['data']['count'] = 1000; - $data = [ - 'lists' => $result['data']['data'], - 'count' => $result['data']['count'], - 'page_no' => $result['data']['page'], - 'page_size' => 10, - ]; - return $this->data($data); - } } \ No newline at end of file From 00c9488f55be606e94dc552a80300691bdbf0d60 Mon Sep 17 00:00:00 2001 From: yaooo <272523191@qq.com> Date: Tue, 14 Nov 2023 14:51:22 +0800 Subject: [PATCH 07/12] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=AE=A1=E6=89=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ApproveController.php | 198 ++++++++++++++++++ .../controller/DictDataController.php | 7 + 2 files changed, 205 insertions(+) create mode 100644 app/middleapi/controller/ApproveController.php diff --git a/app/middleapi/controller/ApproveController.php b/app/middleapi/controller/ApproveController.php new file mode 100644 index 000000000..fe7880cf6 --- /dev/null +++ b/app/middleapi/controller/ApproveController.php @@ -0,0 +1,198 @@ +request->isPost()){ + return $this->fail('请求方式错误'); + } + $params=$this->request->post(['page_no','page_size','type','check_status']); + $where = []; + if (isset($params['check_status']) && $params['check_status'] != '') { + $where[] = ['check_status', '=', $params['check_status']]; + } + if (isset($params['type']) && $params['type'] != '') { + $where[] = ['type', 'in', $params['type']]; + } + $pageNo = !empty($params['page_no']) ? $params['page_no'] : 1; + $pageSize = !empty($params['page_size']) ? $params['page_size'] : 20; + $data = Approve::where($where) + ->with('task') + ->field('*') + ->append(['area_manager', 'company_name'], true) + ->page($pageNo, $pageSize) + ->order(['id' => 'desc']) + ->select() + ->withAttr('area_manager',function($value,$data){ + return Admin::where(['id' => $data['check_admin_ids']])->value('name'); + }) + ->withAttr('company_name',function($value,$data){ + $task = Task::where('id', $data['task_id'])->find(); + return Company::where(['id' => $task['company_id'] ?? 0])->value('company_name'); + }) + ->toArray(); + $count = Approve::where($where)->count(); + $result = [ + 'lists' => $data, + 'count' => $count, + 'page_no' => $pageNo, + 'page_size' => $pageSize + ]; + return $this->success('请求成功',$result); + } + + public function audit() + { + try { + $params = $this->request->param(); // id check_status remark + $approve = Approve::find($params['id']); + if (!$approve) { + $this->fail('数据不存在'); + } + + Db::startTrans(); + // 拒绝通过 要让用户今天可以继续做任务 + if ($params['check_status'] == 3) { + $this->refuse($params, $approve); + } + // 修改任务完成状态 + if ($params['check_status'] == 2) { + if ($approve->type == Approve::APPROVE_TYPE_7) { + $taskTemplate = TaskTemplate::where(['id'=>$approve->business_id])->find(); + // 提前完成 + if ($taskTemplate['day_count'] < $taskTemplate['stage_day_one']) { + if (bccomp($params['amount'], 300000, 2) == -1) { + $this->fail('该任务提前完成条件:销售总额必须达到30万元及以上'); + } else { + // 提前完成标识 + $extend = json_decode($taskTemplate['extend'], true); + $extend['early_finish'] = 1; + $taskTemplate->extend = json_encode($extend); + $taskTemplate->save(); + $this->pass($approve, $params); + } + } else { + $this->pass($approve, $params); + } + } else { + $this->pass($approve); + } + + } + Db::commit(); + return $this->success('审核成功'); + } catch (\Exception $e) { + Db::rollback(); + return $this->fail($e->getFile().$e->getLine().$e->getMessage()); + } + } + + // 通过 + private function pass($approve, $params=[]) + { + Db::startTrans(); + $approve->check_status = 2; + $approve->update_time = time(); + $approve->save(); + // 任务 + $task = Task::find($approve['task_id']); + if ($task['status'] == 2) { + $task->status = 3; + $task->save(); + } + Db::commit(); + + // 镇农科公司任务-数字农贸宣传业务、加工业务的建设和招商工作任务 结算 + if ($approve->type == Approve::APPROVE_TYPE_4) { + $taskSchedulePlan = TaskSchedulingPlan::where('la_task_scheduling_plan.id', $task['scheduling_plan_id']) + ->where('is_pay',0) + ->with(['template_info']) + ->withJoin(['scheduling'], 'left') + ->where('scheduling.company_type', 41) + ->find() + ->toArray(); + TaskLogic::dealTaskMarketingDirector10($taskSchedulePlan, $approve); + } + + if ($approve->type == Approve::APPROVE_TYPE_5) { + $taskSchedulePlan = TaskSchedulingPlan::where('la_task_scheduling_plan.id', $task['scheduling_plan_id']) + ->where('is_pay',0) + ->with(['template_info']) + ->withJoin(['scheduling'], 'left') + ->where('scheduling.company_type', 17) + ->find() + ->toArray(); + TaskLogic::dealVillageTask6($taskSchedulePlan); + } + + if ($approve->type == Approve::APPROVE_TYPE_6) { + $taskSchedulePlan = TaskSchedulingPlan::where('la_task_scheduling_plan.id', $task['scheduling_plan_id']) + ->where('is_pay',0) + ->with(['template_info']) + ->withJoin(['scheduling'], 'left') + ->where('scheduling.company_type', 17) + ->find() + ->toArray(); + TaskLogic::dealVillageTask8($taskSchedulePlan); + } + if ($approve->type == Approve::APPROVE_TYPE_7) { + // 需要手动输入销售总额 + $approve->amount = $params['amount']; + $approve->save(); + } + if ($approve->type == Approve::APPROVE_TYPE_8) { + // 需要手动输入申请的政策补贴金额 + $approve->amount = $params['amount']; + $approve->save(); + } + if ($approve->type == Approve::APPROVE_TYPE_9) { + $taskSchedulePlan = TaskSchedulingPlan::where('la_task_scheduling_plan.id', $task['scheduling_plan_id']) + ->where('is_pay',0) + ->with(['template_info']) + ->withJoin(['scheduling'], 'left') + ->where('scheduling.company_type', 17) + ->find() + ->toArray(); + TaskLogic::masterTask8Settlement($taskSchedulePlan); + } + } + + // 拒绝 + private function refuse($params, $approve) + { + $approve->check_status = $params['check_status']; + $approve->remark = $params['remark']; + $approve->update_time = time(); + $approve->save(); + + // 更新schedule_plan时间和task的时间为今天依旧可提交 + $schedulePlan = TaskSchedulingPlan::find(['tast_id' => $approve['task_id']]); + if (empty($schedule_plan)) { + return $this->fail('数据异常,任务计划不存在'); + } + $time = strtotime(date('Y-m-d')); + TaskSchedulingPlan::where(['id' => $schedulePlan['id']])->update([ + 'start_time'=>$time, + 'end_time'=>$time + 86399 + ]); + Task::where('id', $approve['task_id'])->update([ + 'start_time'=>$time, + 'end_time'=>$time + 86399 + ]); + } + +} \ No newline at end of file diff --git a/app/middleapi/controller/DictDataController.php b/app/middleapi/controller/DictDataController.php index c1272d010..664c31f7f 100644 --- a/app/middleapi/controller/DictDataController.php +++ b/app/middleapi/controller/DictDataController.php @@ -3,6 +3,7 @@ namespace app\middleapi\controller; use app\common\model\dict\DictData; +use app\adminapi\logic\setting\dict\DictDataLogic; use app\common\controller\BaseLikeAdminController; @@ -67,4 +68,10 @@ class DictDataController extends BaseLikeAdminController return $this->data($result); } + public function getTaskApproveTypeList() + { + $result = DictDataLogic::getTaskApproveTypeList(); + return $this->data($result); + } + } \ No newline at end of file From e9d9367d475f7819bc1ec88a0dbe5f5c4fbc2bd5 Mon Sep 17 00:00:00 2001 From: yaooo <272523191@qq.com> Date: Tue, 14 Nov 2023 14:56:17 +0800 Subject: [PATCH 08/12] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=AE=A1=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/middleapi/controller/ApproveController.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/middleapi/controller/ApproveController.php b/app/middleapi/controller/ApproveController.php index fe7880cf6..ece5cbe8a 100644 --- a/app/middleapi/controller/ApproveController.php +++ b/app/middleapi/controller/ApproveController.php @@ -58,7 +58,13 @@ class ApproveController extends BaseLikeAdminController public function audit() { try { - $params = $this->request->param(); // id check_status remark + $params = $this->request->param(); + if(empty($params['id'])){ + return $this->fail('缺少必要参数id'); + } + if(empty($params['check_status'])){ + return $this->fail('缺少必要参数审核状态'); + } $approve = Approve::find($params['id']); if (!$approve) { $this->fail('数据不存在'); From 01289b0a12660426282fd6d3801b30f387d11227 Mon Sep 17 00:00:00 2001 From: yaooo <272523191@qq.com> Date: Tue, 14 Nov 2023 15:17:58 +0800 Subject: [PATCH 09/12] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=97=A5=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TaskSchedulingPlanController.php | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 app/middleapi/controller/TaskSchedulingPlanController.php diff --git a/app/middleapi/controller/TaskSchedulingPlanController.php b/app/middleapi/controller/TaskSchedulingPlanController.php new file mode 100644 index 000000000..124122353 --- /dev/null +++ b/app/middleapi/controller/TaskSchedulingPlanController.php @@ -0,0 +1,62 @@ +request->isPost()){ + return $this->fail('请求方式错误'); + } + $params=$this->request->post(['page_no','page_size','template_id','scheduling_id','status','start_time','end_time']); + $where = []; + if (isset($params['template_id']) && $params['template_id'] != '') { + $where[] = ['template_id', '=', $params['template_id']]; + } + if (isset($params['scheduling_id']) && $params['scheduling_id'] != '') { + $where[] = ['scheduling_id', '=', $params['scheduling_id']]; + } + if (isset($params['status']) && $params['status'] != '') { + $where[] = ['status', '=', $params['status']]; + } + if (isset($params['start_time']) && $params['start_time'] != '') { + $where[] = ['start_time', '>=', $params['start_time']]; + } + if (isset($params['end_time']) && $params['end_time'] != '') { + $where[] = ['end_time', '<=', $params['end_time']]; + } + $pageNo = !empty($params['page_no']) ? $params['page_no'] : 1; + $pageSize = !empty($params['page_size']) ? $params['page_size'] : 20; + $data = TaskSchedulingPlan::where($where) + ->with(['template','templateInfo']) + ->page($pageNo, $pageSize) + ->order(['id' => 'desc']) + ->select() + ->toArray(); + $count = TaskSchedulingPlan::where($where)->count(); + $result = [ + 'lists' => $data, + 'count' => $count, + 'page_no' => $pageNo, + 'page_size' => $pageSize + ]; + return $this->success('请求成功',$result); + } + +} \ No newline at end of file From 75e81fa463a871fc0990650462c35aa9a2712d9e Mon Sep 17 00:00:00 2001 From: yaooo <272523191@qq.com> Date: Tue, 14 Nov 2023 15:52:25 +0800 Subject: [PATCH 10/12] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=97=A5=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/middleapi/controller/TaskSchedulingPlanController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/middleapi/controller/TaskSchedulingPlanController.php b/app/middleapi/controller/TaskSchedulingPlanController.php index 124122353..5cb2643eb 100644 --- a/app/middleapi/controller/TaskSchedulingPlanController.php +++ b/app/middleapi/controller/TaskSchedulingPlanController.php @@ -36,10 +36,10 @@ class TaskSchedulingPlanController extends BaseLikeAdminController $where[] = ['status', '=', $params['status']]; } if (isset($params['start_time']) && $params['start_time'] != '') { - $where[] = ['start_time', '>=', $params['start_time']]; + $where[] = ['start_time', '>=', strtotime($params['start_time'])]; } if (isset($params['end_time']) && $params['end_time'] != '') { - $where[] = ['end_time', '<=', $params['end_time']]; + $where[] = ['end_time', '<=', strtotime($params['end_time'])]; } $pageNo = !empty($params['page_no']) ? $params['page_no'] : 1; $pageSize = !empty($params['page_size']) ? $params['page_size'] : 20; From bc8e8a42fad47dbdff6bb71f356ed100496a9801 Mon Sep 17 00:00:00 2001 From: yaooo <272523191@qq.com> Date: Tue, 14 Nov 2023 16:15:02 +0800 Subject: [PATCH 11/12] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=AE=A1=E6=89=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/middleapi/controller/ApproveController.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app/middleapi/controller/ApproveController.php b/app/middleapi/controller/ApproveController.php index ece5cbe8a..20f9f8d7a 100644 --- a/app/middleapi/controller/ApproveController.php +++ b/app/middleapi/controller/ApproveController.php @@ -69,7 +69,6 @@ class ApproveController extends BaseLikeAdminController if (!$approve) { $this->fail('数据不存在'); } - Db::startTrans(); // 拒绝通过 要让用户今天可以继续做任务 if ($params['check_status'] == 3) { @@ -110,7 +109,6 @@ class ApproveController extends BaseLikeAdminController // 通过 private function pass($approve, $params=[]) { - Db::startTrans(); $approve->check_status = 2; $approve->update_time = time(); $approve->save(); @@ -120,8 +118,6 @@ class ApproveController extends BaseLikeAdminController $task->status = 3; $task->save(); } - Db::commit(); - // 镇农科公司任务-数字农贸宣传业务、加工业务的建设和招商工作任务 结算 if ($approve->type == Approve::APPROVE_TYPE_4) { $taskSchedulePlan = TaskSchedulingPlan::where('la_task_scheduling_plan.id', $task['scheduling_plan_id']) From 0c6c098c456741fd2cb5fadcf71ec0f249378856 Mon Sep 17 00:00:00 2001 From: yaooo <272523191@qq.com> Date: Tue, 14 Nov 2023 16:35:45 +0800 Subject: [PATCH 12/12] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=AE=A1=E6=89=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/middleapi/controller/TaskTemplateController.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app/middleapi/controller/TaskTemplateController.php b/app/middleapi/controller/TaskTemplateController.php index 147b9a561..d642692f7 100644 --- a/app/middleapi/controller/TaskTemplateController.php +++ b/app/middleapi/controller/TaskTemplateController.php @@ -71,6 +71,9 @@ class TaskTemplateController extends BaseLikeAdminController { $params = (new TaskTemplateValidate())->post()->goCheck('add'); $params['admin_id'] = 1; + if (empty($params['extend'])) { + $params['extend'] = '{}'; + } $company = Company::find($params['company_id']); if ($company->company_type == 41) { // 创建 镇农科公司 任务模板 @@ -80,11 +83,7 @@ class TaskTemplateController extends BaseLikeAdminController } else { $result = TaskTemplateLogic::add($params); } - if (true === $result) { - /** - * 如果是公司第一次创建安排任务,则初始化公司的提现周期截止时间 - */ TaskTemplateLogic::initCompanyWithdrawDeadline($params['company_id']); return $this->success('添加成功', [], 1, 1); } @@ -101,6 +100,10 @@ class TaskTemplateController extends BaseLikeAdminController public function edit() { $params = (new TaskTemplateValidate())->post()->goCheck('edit'); + if (empty($params['extend'])) { + $params['extend'] = '{}'; + } + $params['admin_id'] = 1; $result = TaskTemplateLogic::edit($params); if (true === $result) { return $this->success('编辑成功', [], 1, 1);