123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- <?php
- namespace app\api\controller;
- use app\common\model\CarApprove;
- use app\common\model\ContractApprove;
- use app\common\model\DocumentApprove;
- use app\common\model\EvectionApprove;
- use app\common\model\LeaveApprove;
- use app\common\model\MaintainApprove;
- use app\common\model\OfferApprove;
- use hg\apidoc\annotation as Apidoc;
- use think\Db;
- /**
- * @Apidoc\Title("我的审批")
- */
- class General extends Base
- {
- public function initialize()
- {
- parent::initialize();
- parent::checkLogin();
- }
- /**
- * @Apidoc\Title("我的审批")
- * @Apidoc\Desc("我的审批")
- * @Apidoc\Method("GET")
- * @Apidoc\Author("HG")
- * @Apidoc\Tag("")
- * @Apidoc\Query("page", type="int",desc="页数")
- * @Apidoc\Query("page_num", type="string", desc="每页数量")
- * @Apidoc\Returned("id", type="int", desc="审批记录id")
- * @Apidoc\Returned("create_at", type="string", desc="申请时间")
- * @Apidoc\Returned("module", type="string", desc="所属模块")
- * @Apidoc\Returned("approve_info", type="array", desc="申请记录详情")
- * @Apidoc\Returned("approve_info.id", type="int", desc="申请记录详情id")
- */
- public function getAllApprove()
- {
- $field = "id,create_at,approve_user,module,status";
- $where = ' approve_user = '.$this->user_id . ' AND status > 0 ';
- $list= Db::name('offer_approve')
- ->field($field)
- ->where($where)
- ->unionAll("select $field FROM dd_car_approve WHERE $where")
- ->unionAll("select $field FROM dd_document_approve WHERE $where")
- ->unionAll("select $field FROM dd_evection_approve WHERE $where")
- ->unionAll("select $field FROM dd_leave_approve WHERE $where")
- ->unionAll("select $field FROM dd_maintain_approve WHERE $where")
- ->unionAll("select $field FROM dd_contract_approve WHERE $where")
- ->order('create_at desc,id desc')
- ->limit($this->off_set,$this->page_num)
- ->select();
- foreach ($list as &$v) {
- switch ($v['module']) {
- case "car_approve":
- $v['approve_info'] = CarApprove::field('i.*,p.status approve_status,p.approve_time,p.remark')
- ->alias('p')
- ->where(['p.id'=>$v['id']])
- ->where('p.status','>','0')
- ->leftJoin('CarInfo i','p.car_id = i.id')
- ->find()->toArray();
- break;
- case "document_approve":
- $v['approve_info'] =DocumentApprove::field('i.*,p.id approve_id,p.status approve_status,p.approve_time,p.remark')
- ->alias('p')
- ->where(['p.id'=>$v['id']])
- ->where('p.status','>','0')
- ->leftJoin('DocumentInfo i','p.info_id = i.id')
- ->find()->toArray();
- break;
- case "evection_approve":
- $v['approve_info'] = EvectionApprove::field('i.*,p.status approve_status,p.approve_time,p.remark')
- ->alias('p')
- ->where(['p.id'=>$v['id']])
- ->where('p.status','>','0')
- ->leftJoin('EvectionInfo i','p.info_id = i.id')
- ->find()->toArray();
- break;
- case "leave_approve":
- $v['approve_info']= LeaveApprove::field('i.*,p.status approve_status,p.approve_time,p.remark')
- ->alias('p')
- ->where(['p.id'=>$v['id']])
- ->where('p.status','>','0')
- ->leftJoin('LeaveInfo i','p.info_id = i.id')
- ->find()->toArray();
- break;
- case "maintain_approve":
- $v['approve_info'] =MaintainApprove::field('i.*,p.id approve_id,p.status approve_status,p.approve_time,p.remark')
- ->alias('p')
- ->where(['p.id'=>$v['id']])
- ->where('p.status','>','0')
- ->leftJoin('MaintainInfo i','p.info_id = i.id')
- ->find()->toArray();
- break;
- case "offer_approve":
- $v['approve_info'] = OfferApprove::field('i.*,p.id approve_id,p.status approve_status,p.approve_time,p.remark')
- ->alias('p')
- ->where(['p.id'=>$v['id']])
- ->where('p.status','>','0')
- ->leftJoin('OfferInfo i','p.info_id = i.id')
- ->find()->toArray();
- break;
- case "contract_approve":
- $v['approve_info'] = ContractApprove::field('i.*,p.id approve_id,p.status approve_status,p.approve_time,p.remark')
- ->alias('p')
- ->where(['p.id'=>$v['id']])
- ->where('p.status','>','0')
- ->leftJoin('ContractInfo i','p.info_id = i.id')
- ->find()->toArray();
- break;
- }
- }
- $this->success('ok',['list'=>$list]);
- }
- }
|