zhanglinxin 1 year ago
parent
commit
4dd142efaf

+ 18 - 7
application/api/controller/Approve.php

@@ -2,7 +2,7 @@
 
 namespace app\api\controller;
 
-use app\common\service\ApproveFlowService;
+use app\common\service\ApproveService;
 use hg\apidoc\annotation as Apidoc;
 use think\Db;
 use think\Exception;
@@ -21,11 +21,16 @@ class Approve extends Base
     }
 
     /**
-     * 获取审批流程
+     * 审批列表
      *
-     * @Apidoc\Desc("获取流程")
      * @Apidoc\Method("POST")
-     * @Apidoc\Param("module", type="integer", require=true, desc="模块类型:1=申购申请,2=呈批申请,3=入库申请,4=领用申请,5=出差申请,6=请假申请,7=用车申请,8=维修申请,9=合同呈批,10=收文批阅,11=学校文件")
+     * @Apidoc\Param("page", type="integer",require=true, desc="页数")
+     * @Apidoc\Param("page_num", type="integer", require=true, desc="每页数量")
+     * @Apidoc\Param("status", type="integer", require=true, desc="处理状态:1=待处理,2=已处理,3=我收到的")
+     * @Apidoc\Param("module", type="integer", require=false, desc="模块类型:1=申购申请,2=呈批申请,3=入库申请,4=领用申请,5=出差申请,6=请假申请,7=用车申请,8=维修申请,9=合同呈批,10=收文批阅,11=学校文件 不传默认全部")
+     * @Apidoc\Param("start_time", type="string", require=false, desc="申请开始时间")
+     * @Apidoc\Param("end_time", type="string", require=false, desc="申请结束时间")
+     * @Apidoc\Param("search", type="string", require=false, desc="搜索 事由 编号")
      * @Apidoc\Returned("approve_user", type="array", desc="审批人列表",
      *     @Apidoc\Returned("userid", type="string", desc="用户userid"),
      *     @Apidoc\Returned("headimg", type="string", desc="头像"),
@@ -37,11 +42,17 @@ class Approve extends Base
      *     @Apidoc\Returned("name", type="string", desc="姓名"),
      * )
      */
-    public function get_data()
+    public function get_list()
     {
+        $status = input('status');
         $module = input('module');
-        $data = ApproveFlowService::get_data($module, $this->user);
-        $this->success('获取审批流程', $data);
+        $start_time = input('start_time');
+        $end_time = input('end_time');
+        $search = input('search');
+        $offset = $this->off_set;
+        $length = $this->page_num;
+        $data = ApproveService::get_list($module, $status, $start_time, $end_time,$search, $offset, $length, $this->user);
+        $this->success('审批列表', $data);
     }
 
 }

+ 6 - 6
application/api/controller/Approveinfo.php

@@ -67,7 +67,7 @@ class Approveinfo extends Base
             Db::rollback();
             $this->error($e->getMessage());
         }
-        $this->success('申请已提交,请等待审');
+        $this->success('申请已提交,请等待审');
     }
 
     /**
@@ -77,10 +77,10 @@ class Approveinfo extends Base
      * @Apidoc\Param("page", type="integer",require=true, desc="页数")
      * @Apidoc\Param("page_num", type="integer", require=true, desc="每页数量")
      * @Apidoc\Param("module", type="integer", require=true, desc="模块类型:1=申购申请,2=呈批申请,3=入库申请,4=领用申请,5=出差申请,6=请假申请,7=用车申请,8=维修申请,9=合同呈批,10=收文批阅,11=学校文件")
-     * @Apidoc\Param("status", type="integer", require=true, desc="审状态:2=审批中,3=审批通过,4=审批驳回,5=审批撤销")
+     * @Apidoc\Param("status", type="integer", require=true, desc="审状态:2=审批中,3=审批通过,4=审批驳回,5=审批撤销")
      * @Apidoc\Param("search", type="string", require=false, desc="搜索 事由 编号")
      * @Apidoc\Returned("id", type="integer", desc="申请ID")
-     * @Apidoc\Returned("status", type="integer", desc="审状态:2=审批中,3=审批通过,4=审批驳回,5=审批撤销")
+     * @Apidoc\Returned("status", type="integer", desc="审状态:2=审批中,3=审批通过,4=审批驳回,5=审批撤销")
      * @Apidoc\Returned("create_at", type="string", desc="创建时间")
      * @Apidoc\Returned("order_no", type="string", desc="审批编号")
      * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
@@ -121,7 +121,7 @@ class Approveinfo extends Base
      * @Apidoc\Returned("id", type="integer", desc="申请ID")
      * @Apidoc\Returned("module", type="integer", desc="模块类型:1=申购申请,2=呈批申请,3=入库申请,4=领用申请,5=出差申请,6=请假申请,7=用车申请,8=维修申请,9=合同呈批,10=收文批阅,11=学校文件")
      * @Apidoc\Returned("module_id", type="integer", desc="对应模块ID")
-     * @Apidoc\Returned("status", type="integer", desc="审状态:2=审批中,3=审批通过,4=审批驳回,5=审批撤销")
+     * @Apidoc\Returned("status", type="integer", desc="审状态:2=审批中,3=审批通过,4=审批驳回,5=审批撤销")
      * @Apidoc\Returned("create_at", type="string", desc="创建时间")
      * @Apidoc\Returned("order_no", type="string", desc="审批编号")
      * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
@@ -174,13 +174,13 @@ class Approveinfo extends Base
     /**
      * 信息
      *
-     * @Apidoc\Method("POST")
      * @Apidoc\Desc("重新发起信息/修改信息")
+     * @Apidoc\Method("POST")
      * @Apidoc\Param("id", type="integer",require=true, desc="申请ID")
      * @Apidoc\Returned("id", type="integer", desc="申请ID")
      * @Apidoc\Returned("module", type="integer", desc="模块类型:1=申购申请,2=呈批申请,3=入库申请,4=领用申请,5=出差申请,6=请假申请,7=用车申请,8=维修申请,9=合同呈批,10=收文批阅,11=学校文件")
      * @Apidoc\Returned("module_id", type="integer", desc="对应模块ID")
-     * @Apidoc\Returned("status", type="integer", desc="审状态:2=审批中,3=审批通过,4=审批驳回,5=审批撤销")
+     * @Apidoc\Returned("status", type="integer", desc="审状态:2=审批中,3=审批通过,4=审批驳回,5=审批撤销")
      * @Apidoc\Returned("create_at", type="string", desc="创建时间")
      * @Apidoc\Returned("order_no", type="string", desc="审批编号")
      * @Apidoc\Returned("apply_date", type="string", desc="申请日期")

+ 2 - 1
application/api/controller/Base.php

@@ -15,6 +15,7 @@
 
 namespace app\api\controller;
 use app\common\constant\CommonConstant;
+use app\common\model\User;
 use Firebase\JWT\JWT;
 use think\Controller;
 use think\Db;
@@ -74,7 +75,7 @@ class Base extends Controller
             if($check_authorization['code'] !=200) $this->exception($check_authorization['msg']);
             $authInfo = json_decode(json_encode($check_authorization['data']), true);
             if (!empty($authInfo['uid'])) {
-                $member = Db::name('store_member')->where('id',$authInfo['uid'])->find();
+                $member = User::find($authInfo['uid']);
                 if(empty($member) || $member['is_deleted'])  $this->error('会员不存在','',0);
                 //if(!empty($authInfo['facility_code']) && !in_array($authInfo['facility_code'],[$member['facility_1'],$member['facility_2'],$member['facility_3'],$member['facility_4'],$member['facility_5']]))    $this->error('该设备已被禁用','',0,-1);
                 if($member['status']){

+ 6 - 6
application/api/controller/Evection.php

@@ -104,7 +104,7 @@ class Evection extends Base
             Db::rollback();
             $this->error($e->getMessage());
         }
-        $this->success('申请已提交,请等待审');
+        $this->success('申请已提交,请等待审');
     }
 
     /**
@@ -113,10 +113,10 @@ class Evection extends Base
      * @Apidoc\Method("POST")
      * @Apidoc\Param("page", type="integer",require=true, desc="页数")
      * @Apidoc\Param("page_num", type="integer", require=true, desc="每页数量")
-     * @Apidoc\Param("status", type="integer", require=true, desc="审状态:1=审批中,2=审批通过,3=审批驳回,9=审批撤销")
+     * @Apidoc\Param("status", type="integer", require=true, desc="审状态:1=审批中,2=审批通过,3=审批驳回,9=审批撤销")
      * @Apidoc\Param("search", type="string", require=false, desc="搜索 事由 编号")
      * @Apidoc\Returned("id", type="integer", desc="出差ID")
-     * @Apidoc\Returned("status", type="integer", desc="审状态:1=审批中,2=审批通过,3=审批驳回,4=审批撤销")
+     * @Apidoc\Returned("status", type="integer", desc="审状态:1=审批中,2=审批通过,3=审批驳回,4=审批撤销")
      * @Apidoc\Returned("create_at", type="string", desc="创建时间")
      * @Apidoc\Returned("order_no", type="string", desc="审批编号")
      * @Apidoc\Returned("reason", type="string", desc="出差事由")
@@ -153,7 +153,7 @@ class Evection extends Base
      * @Apidoc\Method("POST")
      * @Apidoc\Param("id", type="integer",require=true, desc="出差ID")
      * @Apidoc\Returned("id", type="integer", desc="出差ID")
-     * @Apidoc\Returned("status", type="integer", desc="审状态:1=审批中,2=审批通过,3=审批驳回,4=审批撤销")
+     * @Apidoc\Returned("status", type="integer", desc="审状态:1=审批中,2=审批通过,3=审批驳回,4=审批撤销")
      * @Apidoc\Returned("create_at", type="string", desc="创建时间")
      * @Apidoc\Returned("order_no", type="string", desc="审批编号")
      * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
@@ -171,7 +171,7 @@ class Evection extends Base
      * @Apidoc\Returned("approve_info", type="object", desc="审批信息",
      *     @Apidoc\Returned("id", type="integer", desc="审批ID"),
      *     @Apidoc\Returned("info_id", type="integer", desc="出差ID"),
-     *     @Apidoc\Returned("status", type="integer", desc="审状态:0=待审批,1=审批中,2=审批通过,3=审批拒绝"),
+     *     @Apidoc\Returned("status", type="integer", desc="审状态:0=待审批,1=审批中,2=审批通过,3=审批拒绝"),
      *     @Apidoc\Returned("create_at", type="string", desc="创建时间"),
      *     @Apidoc\Returned("approve_flow", type="integer", desc="流程批次"),
      *     @Apidoc\Returned("approve_type", type="integer", desc="流程类型:1=审批,2=抄送"),
@@ -207,7 +207,7 @@ class Evection extends Base
      * @Apidoc\Param("id", type="integer",require=true, desc="出差ID")
      * @Apidoc\Param("id", type="integer",require=true, desc="出差ID")
      * @Apidoc\Returned("id", type="integer", desc="出差ID")
-     * @Apidoc\Returned("status", type="integer", desc="审状态:1=审批中,2=审批通过,3=审批驳回,4=审批撤销")
+     * @Apidoc\Returned("status", type="integer", desc="审状态:1=审批中,2=审批通过,3=审批驳回,4=审批撤销")
      * @Apidoc\Returned("create_at", type="string", desc="创建时间")
      * @Apidoc\Returned("order_no", type="string", desc="审批编号")
      * @Apidoc\Returned("apply_date", type="string", desc="申请日期")

+ 11 - 0
application/common/model/Approve.php

@@ -20,4 +20,15 @@ class Approve extends Model
         return $this->belongsTo(User::class, 'approve_user', 'userid')->where('is_deleted',CommonConstant::IS_DELETED_0);
     }
 
+    // 关联审批申请 join
+    public function approveInfo()
+    {
+        return $this->belongsTo(ApproveInfo::class, 'info_id', 'id');
+    }
+
+    public function approveInfoUser()
+    {
+        return $this->belongsTo(User::class, 'approve_info.user_id', 'userid');
+    }
+
 }

+ 5 - 0
application/common/model/ApproveInfo.php

@@ -48,4 +48,9 @@ class ApproveInfo extends Model
         return $this->hasOne(Approve::class, 'info_id', 'id')->where('is_deleted',CommonConstant::IS_DELETED_0);
     }
 
+    public function approveInfoUser()
+    {
+        return $this->belongsTo(User::class, 'user_id', 'userid');
+    }
+
 }

+ 1 - 1
application/common/service/ApproveInfoService.php

@@ -9,6 +9,7 @@ use app\common\model\ApproveEvectionPeerUser;
 use app\common\model\ApproveInfo;
 use app\common\model\Department;
 use app\common\model\User;
+use think\Db;
 use think\Exception;
 
 /**
@@ -164,7 +165,6 @@ class ApproveInfoService
                 'create_at' => $create_at,
                 'status' => $flow_num == 1 ? CommonConstant::STATUS_2 : CommonConstant::STATUS_1,
                 'approve_flow' => $flow_num,
-//                'approve_type' => CommonConstant::TYPE_1,
                 'approve_user' => $value,
                 'approve_time' => $create_at,
             ];

+ 68 - 345
application/common/service/ApproveService.php

@@ -1,374 +1,97 @@
 <?php
+
 namespace app\common\service;
-use app\common\model\CarApprove;
-use app\common\model\CarInfo;
-use app\common\model\LeaveInfo;
-use app\common\model\LeaveApprove;
-use app\common\model\EvectionInfo;
-use app\common\model\EvectionApprove;
-use app\common\model\OfferInfo;
-use app\common\model\OfferApprove;
-use app\common\model\MaintainApprove;
-use app\common\model\MaintainInfo;
-use app\common\model\DocumentInfo;
-use app\common\model\DocumentApprove;
-use app\common\model\ContractInfo;
-use app\common\model\ContractApprove;
+
+use app\common\constant\CommonConstant;
+use app\common\model\Approve;
+use app\common\model\ApproveInfo;
+use app\common\model\User;
 use think\Db;
 use think\Exception;
 
 /**
- * 审批
- * Class ApproveService
+ * 审批服务类
  */
 class ApproveService
 {
-    protected static $ret_val = true;
-    protected static $msg = '';
 
     /**
-     * 请假审批
-     * @param $apply_id    申请记录id
-     * @param $user_id     审批会员
-     * @param $status      审批状态
-     * @param $remark      审批备注
-     * @return array
-     */
-    public static function approveLeave($apply_id,$user_id,$status,$remark)
+     * 列表
+     *
+     * @param $module
+     * @param $status
+     * @param $start_time
+     * @param $end_time
+     * @param $search
+     * @param $offset
+     * @param $length
+     * @param $user
+     **/
+    public static function get_list($module, $status, $start_time, $end_time, $search, $offset, $length, $user)
     {
-        Db::startTrans();
-        try {
-            $apply_info = LeaveInfo::where('id',$apply_id)->find()->toArray();
-            $approve_info = LeaveApprove::where('info_id',$apply_id)->where('approve_user',$user_id)->where('approve_type',1)->find();
-            if(empty($approve_info)) throw new Exception('没有审核权限');
-            if(!in_array($status,[2,3]))throw new Exception('审批状态错误');
-            $approve_info = $approve_info->toArray();
-            if($approve_info['status'] == 0) throw new Exception('请等待审核');
-            if($approve_info['status'] != 1) throw new Exception('该记录已审核');
-            if($apply_info['status'] != 1)  throw new Exception('该记录已审核或已取消');
-            $approve_update = [];
-            $approve_update['status'] = $status;
-            $approve_update['remark'] = $remark;
-            $approve_update['approve_time'] = date('Y-m-d H:i:s');
-            $approve_time = time() - strtotime($approve_info['start_time']);
-            $approve_update['time'] = $approve_time;
-            $approve_update['time_desc'] = get_stay_time($approve_time);
-            LeaveApprove::where('info_id',$apply_id)->where('approve_user',$user_id)->where('approve_type',1)->update($approve_update);// 更新审批记录
-            $leave_data = [];
-            // 审批流程数 + 1
-            $leave_data['cur_num'] = $apply_info['cur_num'] + 1;
-            if($approve_info['flow'] < $apply_info['approve_num']){
-                // 更新下一级审批记录状态
-                LeaveApprove::where(['info_id'=>$approve_info['info_id'],'flow'=>$approve_info['flow'] + 1,'approve_type'=>1])->update(['status'=>1,'start_time'=>date('Y-m-d H:i:s')]);
-                if($status == 3) $leave_data['status'] = 3;
-            } else if($approve_info['flow'] == $apply_info['approve_num']) {
-                $leave_data['status'] = $status;
-            }
-            LeaveInfo::where('id',$apply_info['id'])->update($leave_data);// 更新请假状态
-            Db::commit();
-        }catch (\Exception $e) {
-            Db::rollback();
-            static::$ret_val = false;
-            static::$msg = $e->getMessage();
+        if (!array_key_exists($module, CommonConstant::get_module_list())) {
+            return [];
         }
-        return ['ret_val'=>static::$ret_val ,'msg'=>static::$msg];
-    }
-
-
-    /**
-     * 用车申请审批
-     * @param $apply_id    申请记录id
-     * @param $user_id     审批会员
-     * @param $status      审批状态
-     * @param $remark      审批备注
-     * @return array
-     */
-    public static function approveCar($apply_id,$user_id,$status,$remark)
-    {
-        Db::startTrans();
-        try {
-            $apply_info = CarInfo::where('id',$apply_id)->find()->toArray();
-            $approve_info = CarApprove::where('info_id',$apply_id)->where('approve_user',$user_id)->where('approve_type',1)->find();
-            if(empty($approve_info)) throw new Exception('没有审核权限');
-            if(!in_array($status,[2,3]))throw new Exception('审批状态错误');
-            $approve_info = $approve_info->toArray();
-
-            if($approve_info['approve_user'] != $user_id) throw new Exception('没有审核权限');
-            if($approve_info['status'] == 0) throw new Exception('请等待审核');
-            if($approve_info['status'] != 1) throw new Exception('该记录已审核');
-            if($apply_info['status'] != 1)  throw new Exception('该记录已审核或已取消');
-            $approve_update = [];
-            $approve_update['status'] = $status;
-            $approve_update['remark'] = $remark;
-            $approve_update['approve_time'] = date('Y-m-d H:i:s');
-            $approve_time = time() - strtotime($approve_info['start_time']);
-            $approve_update['time'] = $approve_time;
-            $approve_update['time_desc'] = get_stay_time($approve_time);
-            CarApprove::where('info_id',$apply_id)->where('approve_user',$user_id)->where('approve_type',1)->update($approve_update);// 更新审批记录
-            $car_data = [];
-            // 审批流程数 + 1
-            $car_data['cur_num'] = $apply_info['cur_num'] + 1;
-            if($approve_info['flow'] < $apply_info['approve_num']){
-                // 更新下一级审批记录状态
-                CarApprove::where(['car_id'=>$approve_info['car_id'],'flow'=>$approve_info['flow'] + 1,'approve_type'=>1])->update(['status'=>1,'start_time'=>date('Y-m-d H:i:s')]);
-                if($status == 3) $car_data['status'] = 3;
-            } else if($approve_info['flow'] == $apply_info['approve_num']) {
-                $car_data['status'] = $status;
-            }
-            CarInfo::where('id',$apply_info['id'])->update($car_data);// 更新用车申请状态
-            Db::commit();
-        }catch (\Exception $e) {
-            Db::rollback();
-            static::$ret_val = false;
-            static::$msg = $e->getMessage();
+        if (!in_array($status, [1, 2, 3])) {
+            return [];
         }
-        return ['ret_val'=>static::$ret_val ,'msg'=>static::$msg];
-    }
 
-    /**
-     * 出差申请审批
-     * @param $apply_id    申请记录id
-     * @param $user_id     审批会员
-     * @param $status      审批状态
-     * @param $remark      审批备注
-     * @return array
-     */
-    public static function approveEvection($apply_id,$user_id,$status,$remark)
-    {
-        Db::startTrans();
-        try {
-            $apply_info = EvectionInfo::where('id',$apply_id)->find()->toArray();
-            $approve_info =EvectionApprove::where('info_id',$apply_id)->where('approve_user',$user_id)->where('approve_type',1)->find();
-            if(empty($approve_info)) throw new Exception('没有审核权限');
-            if(!in_array($status,[2,3]))throw new Exception('审批状态错误');
-            $approve_info = $approve_info->toArray();
-            if($approve_info['status'] == 0) throw new Exception('请等待审核');
-            if($approve_info['status'] != 1) throw new Exception('该记录已审核');
-            if($apply_info['status'] != 1)  throw new Exception('该记录已审核或已取消');
-            $approve_update = [];
-            $approve_update['status'] = $status;
-            $approve_update['remark'] = $remark;
-            $approve_update['approve_time'] = date('Y-m-d H:i:s');
-            $approve_time = time() - strtotime($approve_info['start_time']);
-            $approve_update['time'] = $approve_time;
-            $approve_update['time_desc'] = get_stay_time($approve_time);
-            EvectionApprove::where('info_id',$apply_id)->where('approve_user',$user_id)->where('approve_type',1)->update($approve_update);// 更新审批记录
-            $Info_up = [];
-            // 审批流程数 + 1
-            $Info_up['cur_num'] = $approve_info['cur_num'] + 1;
-            if($approve_info['flow'] < $approve_info['approve_num']){
-                // 更新下一级审批记录状态
-                EvectionApprove::where(['info_id'=>$approve_info['info_id'],'flow'=>$approve_info['flow'] + 1,'approve_type'=>1])->update(['status'=>1,'start_time'=>date('Y-m-d H:i:s')]);
-                if($status == 3) $Info_up['status'] = 3;
-            } else if($approve_info['flow'] == $approve_info['approve_num']) {
-                $Info_up['status'] = $status;
-            }
-            EvectionInfo::where('id',$approve_info['id'])->update($Info_up);// 更新用车申请状态
-            Db::commit();
-        }catch (\Exception $e) {
-            Db::rollback();
-            static::$ret_val = false;
-            static::$msg = $e->getMessage();
-        }
-        return ['ret_val'=>static::$ret_val ,'msg'=>static::$msg];
+        $userid = $user['userid'];
+        $aliasName = 'approve.';
+//        $jobName = 'approveInfo.';
+        $field = 'id,info_id,status,create_at';
+        $joinField = 'id,user_id,order_no,apply_date,reason,type,desc,start_time,end_time';
+        $list = Approve::field($field)
+            ->when($status, function ($query) use ($aliasName,$status) {
+                if ($status == 1) {
+                    $query->where($aliasName.'status', 'in',[CommonConstant::STATUS_1,CommonConstant::STATUS_2]);
+                }
+                if ($status == 2) {
+                    $query->where($aliasName.'status', 'in', [CommonConstant::STATUS_3,CommonConstant::STATUS_4]);
+                }
+            })
+            ->where($aliasName.'is_deleted', CommonConstant::IS_DELETED_0)
+            ->where($aliasName.'approve_user', $userid)
+            ->withJoin(['approveInfo' => function ($query) use ($joinField) {
+                $query->withField($joinField)
+                    ->where('is_deleted',CommonConstant::IS_DELETED_0);
+            }]);
+//        $list = self::get_with($list, $module, $status);
+        $list = $list->limit($offset, $length)
+            ->order('id desc')
+            ->select();
+        return $list;
     }
 
-
-    /**
-     * 呈批申请审批
-     * @param $apply_id   申请记录id
-     * @param $user_id     审批会员
-     * @param $status      审批状态
-     * @param $remark      审批备注
-     * @return array
-     */
-    public static function approveOffer($apply_id,$user_id,$status,$remark)
-    {
-        Db::startTrans();
-        try {
-            $apply_info = OfferInfo::where('id',$apply_id)->find()->toArray();
-            $approve_info =OfferApprove::where('info_id',$apply_id)->where('approve_user',$user_id)->where('approve_type',1)->find();
-            if(empty($approve_info)) throw new Exception('没有审核权限');
-            if(!in_array($status,[2,3]))throw new Exception('审批状态错误');
-            $approve_info = $approve_info->toArray();
-            if($approve_info['approve_user'] != $user_id) throw new Exception('没有审核权限');
-            if($approve_info['status'] == 0) throw new Exception('请等待审核');
-            if($approve_info['status'] != 1) throw new Exception('该记录已审核');
-            if($apply_info['status'] != 1)  throw new Exception('该记录已审核或已取消');
-            $approve_update = [];
-            $approve_update['status'] = $status;
-            $approve_update['remark'] = $remark;
-            $approve_update['approve_time'] = date('Y-m-d H:i:s');
-            $approve_time = time() - strtotime($approve_info['start_time']);
-            $approve_update['time'] = $approve_time;
-            $approve_update['time_desc'] = get_stay_time($approve_time);
-            OfferApprove::where('info_id',$apply_id)->where('approve_user',$user_id)->where('approve_type',1)->update($approve_update);// 更新审批记录
-            $Info_up = [];
-            // 审批流程数 + 1
-            $Info_up['cur_num'] = $apply_info['cur_num'] + 1;
-            if($approve_info['flow'] < $apply_info['approve_num']){
-                // 更新下一级审批记录状态
-                OfferApprove::where(['info_id'=>$approve_info['info_id'],'flow'=>$approve_info['flow'] + 1,'approve_type'=>1])->update(['status'=>1,'start_time'=>date('Y-m-d H:i:s')]);
-                if($status == 3) $Info_up['status'] = 3;
-            } else if($approve_info['flow'] == $apply_info['approve_num']) {
-                $Info_up['status'] = $status;
-            }
-            OfferInfo::where('id',$apply_info['id'])->update($Info_up);// 更新用车申请状态
-            Db::commit();
-        }catch (\Exception $e) {
-            Db::rollback();
-            static::$ret_val = false;
-            static::$msg = $e->getMessage();
-        }
-        return ['ret_val'=>static::$ret_val ,'msg'=>static::$msg];
-    }
-
-
-    /**
-     * 维修申请审批
-     * @param $apply_id   申请记录id
-     * @param $user_id     审批会员
-     * @param $status      审批状态
-     * @param $remark      审批备注
-     * @return array
-     */
-    public static function approveMaintain($apply_id,$user_id,$status,$remark)
+    public static function get_with($list, $module, $status)
     {
-        Db::startTrans();
-        try {
-            $apply_info = MaintainInfo::where('id',$apply_id)->find()->toArray();
-            $approve_info =MaintainApprove::where('info_id',$apply_id)->where('approve_user',$user_id)->where('approve_type',1)->find();
-            if(empty($approve_info)) throw new Exception('没有审核权限');
-            if(!in_array($status,[2,3]))throw new Exception('审批状态错误');
-            $approve_info = $approve_info->toArray();
-            if($approve_info['status'] == 0) throw new Exception('请等待审核');
-            if($approve_info['status'] != 1) throw new Exception('该记录已审核');
-            if($apply_info['status'] != 1)  throw new Exception('该记录已审核或已取消');
-            $approve_update = [];
-            $approve_update['status'] = $status;
-            $approve_update['remark'] = $remark;
-            $approve_update['approve_time'] = date('Y-m-d H:i:s');
-            $approve_time = time() - strtotime($approve_info['start_time']);
-            $approve_update['time'] = $approve_time;
-            $approve_update['time_desc'] = get_stay_time($approve_time);
-            MaintainApprove::where('info_id',$apply_id)->where('approve_user',$user_id)->where('approve_type',1)->update($approve_update);// 更新审批记录
-            $Info_up = [];
-            // 审批流程数 + 1
-            $Info_up['cur_num'] = $apply_info['cur_num'] + 1;
-            if($approve_info['flow'] < $apply_info['approve_num']){
-                // 更新下一级审批记录状态
-                MaintainApprove::where(['info_id'=>$approve_info['info_id'],'flow'=>$approve_info['flow'] + 1,'approve_type'=>1])->update(['status'=>1,'start_time'=>date('Y-m-d H:i:s')]);
-                if($status == 3) $Info_up['status'] = 3;
-            } else if($approve_info['flow'] == $apply_info['approve_num']) {
-                $Info_up['status'] = $status;
-            }
-            MaintainInfo::where('id',$apply_info['id'])->update($Info_up);// 更新申请状态
-            Db::commit();
-        }catch (\Exception $e) {
-            Db::rollback();
-            static::$ret_val = false;
-            static::$msg = $e->getMessage();
+        switch ($module) {
+            case CommonConstant::MODULE_5:
+                $list = $list->with(['peer_user' => function ($query) {
+                    $query->field('id,info_id,name');
+                }, 'approve_info' => function ($query) use ($status) {
+                    $query->field('id,info_id,status,approve_user')
+                        ->where('status', $status)
+                        ->with(['user' => function ($query) {
+                            $query->field('userid,name');
+                        }]);
+                }]);
+                break;
         }
-        return ['ret_val'=>static::$ret_val ,'msg'=>static::$msg];
+        return $list;
     }
 
-
     /**
-     * 学校文件
-     * @param $apply_id    申请记录id
-     * @param $user_id     审批会员
-     * @param $status      审批状态
-     * @param $remark      审批备注
-     * @return array
+     * 拼接查询字段
      */
-    public static function approveDocument($apply_id,$user_id,$status,$remark)
+    public static function getAliasField($field, $aliasName)
     {
-        Db::startTrans();
-        try {
-            $apply_info =DocumentInfo::where('id',$apply_id)->find()->toArray();
-            $approve_info =DocumentApprove::where('info_id',$apply_id)->where('approve_user',$user_id)->where('approve_type',1)->find();
-            if(empty($approve_info)) throw new Exception('没有审核权限');
-            if(!in_array($status,[2,3]))throw new Exception('审批状态错误');
-            $approve_info = $approve_info->toArray();
-            if($approve_info['status'] == 0) throw new Exception('请等待审核');
-            if($approve_info['status'] != 1) throw new Exception('该记录已审核');
-            if($apply_info['status'] != 1)  throw new Exception('该记录已审核或已取消');
-            $approve_update = [];
-            $approve_update['status'] = $status;
-            $approve_update['remark'] = $remark;
-            $approve_update['approve_time'] = date('Y-m-d H:i:s');
-            $approve_time = time() - strtotime($approve_info['start_time']);
-            $approve_update['time'] = $approve_time;
-            $approve_update['time_desc'] = get_stay_time($approve_time);
-            DocumentApprove::where('info_id',$apply_id)->where('approve_user',$user_id)->where('approve_type',1)->update($approve_update);// 更新审批记录
-            $Info_up = [];
-            // 审批流程数 + 1
-            $Info_up['cur_num'] = $apply_info['cur_num'] + 1;
-            if($approve_info['flow'] < $apply_info['approve_num']){
-                // 更新下一级审批记录状态
-                DocumentApprove::where(['info_id'=>$approve_info['info_id'],'flow'=>$approve_info['flow'] + 1,'approve_type'=>1])->update(['status'=>1,'start_time'=>date('Y-m-d H:i:s')]);
-                if($status == 3) $Info_up['status'] = 3;
-            } else if($approve_info['flow'] == $apply_info['approve_num']) {
-                $Info_up['status'] = $status;
-            }
-            DocumentInfo::where('id',$apply_info['id'])->update($Info_up);// 更新申请状态
-            Db::commit();
-        }catch (\Exception $e) {
-            Db::rollback();
-            static::$ret_val = false;
-            static::$msg = $e->getMessage();
+        $field = explode(',', $field);
+        foreach ($field as &$value) {
+            $value = $aliasName . $value;
         }
-        return ['ret_val'=>static::$ret_val ,'msg'=>static::$msg];
-    }
 
-
-    /**
-     * 合同审批
-     * @param $apply_id    申请记录id
-     * @param $user_id     审批会员
-     * @param $status      审批状态
-     * @param $remark      审批备注
-     * @return array
-     */
-    public static function approveContract($apply_id,$user_id,$status,$remark)
-    {
-        Db::startTrans();
-        try {
-            $apply_info =ContractInfo::where('id',$apply_id)->find()->toArray();
-            $approve_info =ContractApprove::where('info_id',$apply_id)->where('approve_user',$user_id)->where('approve_type',1)->find();
-            if(empty($approve_info)) throw new Exception('没有审核权限');
-            if(!in_array($status,[2,3]))throw new Exception('审批状态错误');
-            $approve_info = $approve_info->toArray();
-            if($approve_info['status'] == 0) throw new Exception('请等待审核');
-            if($approve_info['status'] != 1) throw new Exception('该记录已审核');
-            if($apply_info['status'] != 1)  throw new Exception('该记录已审核或已取消');
-            $approve_update = [];
-            $approve_update['status'] = $status;
-            $approve_update['remark'] = $remark;
-            $approve_update['approve_time'] = date('Y-m-d H:i:s');
-            $approve_time = time() - strtotime($approve_info['start_time']);
-            $approve_update['time'] = $approve_time;
-            $approve_update['time_desc'] = get_stay_time($approve_time);
-            ContractApprove::where('info_id',$apply_id)->where('approve_user',$user_id)->where('approve_type',1)->update($approve_update);// 更新审批记录
-            $Info_up = [];
-            // 审批流程数 + 1
-            $Info_up['cur_num'] = $apply_info['cur_num'] + 1;
-            if($approve_info['flow'] < $apply_info['approve_num']){
-                // 更新下一级审批记录状态
-                ContractApprove::where(['info_id'=>$approve_info['info_id'],'flow'=>$approve_info['flow'] + 1,'approve_type'=>1])->update(['status'=>1,'start_time'=>date('Y-m-d H:i:s')]);
-                if($status == 3) $Info_up['status'] = 3;
-            } else if($approve_info['flow'] == $apply_info['approve_num']) {
-                $Info_up['status'] = $status;
-            }
-            ContractInfo::where('id',$apply_info['id'])->update($Info_up);// 更新申请状态
-            Db::commit();
-        }catch (\Exception $e) {
-            Db::rollback();
-            static::$ret_val = false;
-            static::$msg = $e->getMessage();
-        }
-        return ['ret_val'=>static::$ret_val ,'msg'=>static::$msg];
+        return $field;
     }
 
-
 }