| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- <?php
- namespace app\workerapi\controller;
- use app\adminapi\logic\works\ServiceWorkLogic;
- use app\common\model\works\IssueWork;
- use app\common\model\works\ReturnWork;
- use app\common\model\works\ServiceWork;
- use app\workerapi\lists\HistoryWorkLists;
- use app\workerapi\lists\ServiceAssignWorkLists;
- use app\workerapi\lists\ServiceWorkLists;
- use app\workerapi\lists\ServiceWorkSparePartLists;
- use app\workerapi\lists\SparePartLists;
- use app\workerapi\validate\ServiceWorkValidate;
- /**
- * 工单系统
- */
- class WorksController extends BaseApiController
- {
- /**
- * 首页数量统计
- * @return \think\response\Json
- * @throws \think\db\exception\DbException
- */
- public function statistics()
- {
- $result['service_work_count'] = ServiceWork::where(['master_worker_id'=>$this->userId])->whereIn('service_status','0,1,2')->where('work_status','<>',1)->count();
- $result['assign_work_count'] = ServiceWork::where(['master_worker_id'=>$this->userId,'work_status'=>1])->count();
- $result['pick_work_count'] = 0;
- $result['return_work_count'] = ReturnWork::where(['master_worker_id'=>$this->userId])->where('return_work_status','<>',2)->count();
- $result['issue_work_count'] = IssueWork::where(['master_worker_id'=>$this->userId])->whereIn('issue_approval','1,2,3')->count();
- $result['review_work_count'] = ServiceWork::where(['master_worker_id'=>$this->userId,'work_status'=>7])->count();
- return $this->data($result);
- }
- /**
- * 服务工单列表-全部
- * @return \think\response\Json
- */
- public function serviceWorkList()
- {
- return $this->dataLists(new ServiceWorkLists());
- }
- /**
- * 派单
- * @return \think\response\Json
- */
- public function assignWorkList()
- {
- return $this->dataLists(new ServiceAssignWorkLists());
- }
- /**
- * 历史工单
- * @return \think\response\Json
- */
- public function historyWorkList()
- {
- return $this->dataLists(new HistoryWorkLists());
- }
- /**
- * 领取服务单
- * @return \think\response\Json
- */
- public function pickWork()
- {
- $params = (new ServiceWorkValidate())->post()->goCheck('pick', [
- 'user_id' => $this->userId,
- 'user_info' => $this->userInfo
- ]);
- $result = ServiceWorkLogic::pickWork($params);
- if (false === $result) {
- return $this->fail(ServiceWorkLogic::getError());
- }
- return $this->success('领取成功', [], 1, 1);
- }
- /**
- * 工单详情
- * @return \think\response\Json
- */
- public function detail()
- {
- $params = (new ServiceWorkValidate())->goCheck('detail',[
- 'user_id' => $this->userId,
- ]);
- $result = ServiceWorkLogic::detail($params);
- if (false === $result) {
- return $this->fail(ServiceWorkLogic::getError());
- }
- return $this->data($result);
- }
- /**
- * 预约上门
- * @return \think\response\Json
- */
- public function appointWork()
- {
- $params = (new ServiceWorkValidate())->post()->goCheck('appoint', [
- 'user_id' => $this->userId,
- 'user_info' => $this->userInfo
- ]);
- $result = ServiceWorkLogic::appointWork($params);
- if (false === $result) {
- return $this->fail(ServiceWorkLogic::getError());
- }
- return $this->success('预约成功,等待上门', [], 1, 1);
- }
- /**
- * 师傅确认上门
- * @return \think\response\Json
- */
- public function confirmDoor()
- {
- $params = (new ServiceWorkValidate())->post()->goCheck('door', [
- 'user_id' => $this->userId,
- 'user_info' => $this->userInfo
- ]);
- $result = ServiceWorkLogic::confirmDoor($params);
- if (false === $result) {
- return $this->fail(ServiceWorkLogic::getError());
- }
- return $this->success('操作成功,师傅已上门', [], 1, 1);
- }
- /**
- * 师傅确认报价单
- * @return \think\response\Json
- */
- public function confirmPrice()
- {
- $params = (new ServiceWorkValidate())->post()->goCheck('price', [
- 'user_id' => $this->userId,
- 'user_info' => $this->userInfo
- ]);
- $result = ServiceWorkLogic::confirmPrice($params);
- if (false === $result) {
- return $this->fail(ServiceWorkLogic::getError());
- }
- return $this->success('操作成功,师傅已填写报价单,等待用户确认中', [], 1, 1);
- }
- /**
- * 师傅确认服务完成
- * @return \think\response\Json
- */
- public function confirmServiceFinish()
- {
- $params = (new ServiceWorkValidate())->post()->goCheck('finished', [
- 'user_id' => $this->userId,
- 'user_info' => $this->userInfo
- ]);
- $result = ServiceWorkLogic::confirmServiceFinish($params);
- if (false === $result) {
- return $this->fail(ServiceWorkLogic::getError());
- }
- return $this->success('操作成功,师傅已确认服务完成,等待用户确认中', [], 1, 1);
- }
- /**
- * 配件列表
- * @return \think\response\Json
- */
- public function spareList()
- {
- // 查全部可选配件
- return $this->dataLists(new SparePartLists());
- }
- /**
- * 工单配件列表
- * @return \think\response\Json
- */
- public function serviceWorkSpareList()
- {
- // 查该订单的配件
- (new ServiceWorkValidate())->get()->goCheck('spare', [
- 'user_id' => $this->userId
- ]);
- return $this->dataLists(new ServiceWorkSparePartLists());
- }
- }
|