zhanglinxin 1 year ago
parent
commit
cec3ecf7f0

+ 2 - 41
application/api/controller/Approve.php

@@ -114,48 +114,9 @@ class Approve extends Base
         $status = input('status');
         $remark = input('remark');
         $params = compact("id", "status", "remark");
-        ApproveService::make($id, $params, $this->user, 'audit');
+        $user = $this->user;
+        ApproveService::make($id, $params, $user, 'audit');
         $this->success('确认成功');
     }
 
-    /**
-     * 修改
-     *
-     * @Apidoc\Method("POST")
-     * @Apidoc\Param("approve_id", type="integer",require=true, desc="审批ID")
-     * @Apidoc\Param("module", type="integer", require=true, desc="模块类型:1=申购申请,2=呈批申请,3=入库申请,4=领用申请,5=出差申请,6=请假申请,7=用车申请,8=维修申请,9=合同呈批,10=收文批阅,11=学校文件")
-     * @Apidoc\Param("reason", type="string", require=true, desc="事由")
-     * @Apidoc\Param("start_time", type="string", require=true, desc="开始时间")
-     * @Apidoc\Param("end_time", type="string", require=true, desc="结束时间")
-     * @Apidoc\Param("document", type="string", require=false, desc="附件(多个用英文逗号隔开)")
-     * @Apidoc\Param("images", type="string", require=false, desc="图片(多个用英文逗号隔开)")
-     * @Apidoc\Param("type", type="integer", require=true, desc="出差类型:1=市内,2=市外")
-     * @Apidoc\Param("is_who", type="integer", require=false, desc="是否跨关内关外:0=否,1=是")
-     * @Apidoc\Param("remark", type="string", require=false, desc="备注")
-     * @Apidoc\Param("peer_user", type="array", require=false, desc="同行员工数据 module=5",
-     *     @Apidoc\Param("is_who", type="integer", require=true, desc="是否外部人员:0=否,1=是"),
-     *     @Apidoc\Param("user_id", type="string", require=false, desc="用户userid"),
-     *     @Apidoc\Param("name", type="string", require=true, desc="姓名"),
-     *     @Apidoc\Param("desc", type="string", require=false, desc="备注"),
-     * )
-     **/
-    public function edit()
-    {
-        $id = input('approve_id');
-        $module = input('module');
-        $reason = input('reason');
-        $desc = input('desc', '');
-        $start_time = input('start_time');
-        $end_time = input('end_time');
-        $document = input('document');
-        $images = input('images');
-        $type = input('type');
-        $is_who = input('is_who');
-        $remark = input('remark');
-        $peer_user = input('peer_user');
-        $params = compact("id", "module", "reason", "desc", "start_time", "end_time", "document", "images", "type", "is_who", "remark", "peer_user");
-        ApproveService::make($id, $params, $this->user, 'edit');
-        $this->success('修改成功');
-    }
-
 }

+ 45 - 14
application/api/controller/Approveinfo.php

@@ -2,6 +2,8 @@
 
 namespace app\api\controller;
 
+use app\common\constant\CommonConstant;
+use app\common\service\ApproveService;
 use app\common\service\ApproveInfoService;
 use hg\apidoc\annotation as Apidoc;
 use think\Db;
@@ -21,10 +23,11 @@ class Approveinfo extends Base
     }
 
     /**
-     * 申请/重新发起
+     * 申请/重新发起/审批人修改
      *
      * @Apidoc\Method("POST")
-     * @Apidoc\Param("id", type="integer", require=false, desc="申请ID 重新发起必传")
+     * @Apidoc\Param("way", type="string", require=true, desc="方式:create=申请,update=重新发起,edit=审批人修改")
+     * @Apidoc\Param("id", type="integer", require=true, desc="ID method=cretae 不传值或传0,method=update 传值申请记录接口的id,method=edit 传值审批列表接口的approve_id")
      * @Apidoc\Param("module", type="integer", require=true, desc="模块类型:1=申购申请,2=呈批申请,3=入库申请,4=领用申请,5=出差申请,6=请假申请,7=用车申请,8=维修申请,9=合同呈批,10=收文批阅,11=学校文件")
      * @Apidoc\Param("reason", type="string", require=false, desc="module=1申购事由,module=2申请标题,module=4物品用途,module=5出差事由,module=6请假原因,module=7出发地点,module=8维修地点,module=9合同编号,module=10文件名称,module=11文件名称")
      * @Apidoc\Param("type", type="integer", require=false, desc="module=1采购类型,module=2呈批类型,module=5出差类型,module=6请假类型,module=8维修类型,module=9合同类型")
@@ -77,7 +80,8 @@ class Approveinfo extends Base
      */
     public function create()
     {
-        // {"id": "","module": "1","reason": "测试","type": "1","desc": "","start_time": "","end_time": "","document": "","images": "","remark": "","total_amount": "1000","pay_type": "1","word_size": "","number": "","is_who": "","start_am": "","end_am": "","time": "","reach_address": "","end_address": "","scope": "","legal_opinion": "","founder": "","serial_number": "","apply_date": "","degree": "","department": "","department_sign": "","approve_user": "1925696723824730358","copy_user": "","apply_goods": [{"id": "1","goods_category_first": "1","goods_category_id": "3","goods_no": "100001","goods_name": "医疗口罩一次性","goods_brand": "一次性口罩","goods_stock": [{"id": "1","name": "均码,白色","price": "1","stock": "110"},{"id": "2","name": "均码,蓝色","price": "1","stock": "100"},{"id": "19","name": "均码,红色","price": "1","stock": "120"}]},{"id": "2","goods_category_first": "1","goods_category_id": "3","goods_no": "100002","goods_name": "84消毒液","goods_brand": "安其生","goods_stock": [{"id": "3","name": "380ml,低浓度","price": "1","stock": "110"},{"id": "4","name": "380ml,高浓度","price": "1","stock": "100"}]},{"id": "","goods_category_first": "1","goods_category_id": "3","goods_no": "100003","goods_name": "一次性手套丁腈橡胶","goods_brand": "万力","goods_stock": [{"name": "白色","price": "0.2","stock": "110"},{"name": "蓝色","price": "0.2","stock": "100"}]}],"peer_user": [{"is_who": "","user_id": "","name": "","desc": ""}]}
+        // {"method":"create","id": "","module": "1","reason": "测试","type": "1","desc": "","start_time": "","end_time": "","document": "","images": "","remark": "","total_amount": "1000","pay_type": "1","word_size": "","number": "","is_who": "","start_am": "","end_am": "","time": "","reach_address": "","end_address": "","scope": "","legal_opinion": "","founder": "","serial_number": "","apply_date": "","degree": "","department": "","department_sign": "","approve_user": "1925696723824730358","copy_user": "","apply_goods": [{"id": "1","goods_category_first": "1","goods_category_id": "3","goods_no": "100001","goods_name": "医疗口罩一次性","goods_brand": "一次性口罩","goods_stock": [{"id": "1","name": "均码,白色","price": "1","stock": "110"},{"id": "2","name": "均码,蓝色","price": "1","stock": "100"},{"id": "19","name": "均码,红色","price": "1","stock": "120"}]},{"id": "2","goods_category_first": "1","goods_category_id": "3","goods_no": "100002","goods_name": "84消毒液","goods_brand": "安其生","goods_stock": [{"id": "3","name": "380ml,低浓度","price": "1","stock": "110"},{"id": "4","name": "380ml,高浓度","price": "1","stock": "100"}]},{"id": "","goods_category_first": "1","goods_category_id": "3","goods_no": "100003","goods_name": "一次性手套丁腈橡胶","goods_brand": "万力","goods_stock": [{"name": "白色","price": "0.2","stock": "110"},{"name": "蓝色","price": "0.2","stock": "100"}]}],"peer_user": [{"is_who": "","user_id": "","name": "","desc": ""}]}
+        $way = input('way');
         $id = input('id');
         $module = input('module');
         $reason = input('reason');
@@ -110,9 +114,15 @@ class Approveinfo extends Base
         $copy_user = input('copy_user');
         $apply_goods = input('apply_goods');
         $peer_user = input('peer_user');
-        $params = compact("id", "module", "reason", "type", "desc", "start_time", "end_time", "document", "images", "remark", "total_amount", "pay_type", "word_size", "number", "is_who", "start_am", "end_am", "time", "reach_address", "end_address", "scope", "legal_opinion", "founder", "serial_number", "apply_date", "degree", "department", "department_sign", "approve_user", "copy_user", "apply_goods", "peer_user");
-        ApproveInfoService::create($id, $module, $params, $this->user);
-        $this->success('申请已提交,请等待审批');
+        $user = $this->user;
+        $params = compact("way","id", "module", "reason", "type", "desc", "start_time", "end_time", "document", "images", "remark", "total_amount", "pay_type", "word_size", "number", "is_who", "start_am", "end_am", "time", "reach_address", "end_address", "scope", "legal_opinion", "founder", "serial_number", "apply_date", "degree", "department", "department_sign", "approve_user", "copy_user", "apply_goods", "peer_user");
+        if($way == CommonConstant::edit){
+            ApproveService::make($id, $params, $user, CommonConstant::edit);
+            $this->success('修改成功');
+        } else{
+            ApproveInfoService::create($id, $module, $params, $user);
+            $this->success('申请已提交,请等待审批');
+        }
     }
 
     /**
@@ -143,6 +153,11 @@ class Approveinfo extends Base
      *          @Apidoc\Returned("name", type="string", desc="用户姓名"),
      *      ),
      * )
+     * @Apidoc\Returned("apply_goods", type="array", desc="申购商品列表 module=1",
+     *     @Apidoc\Returned("id", type="integer", desc="申购商品ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("goods_name", type="string", desc="商品名称"),
+     * )
      * @Apidoc\Returned("peer_user", type="array", desc="同行人员列表 module=5",
      *     @Apidoc\Returned("id", type="integer", desc="同行人员ID"),
      *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
@@ -156,7 +171,8 @@ class Approveinfo extends Base
         $search = input('search');
         $offset = $this->off_set;
         $length = $this->page_num;
-        $list = ApproveInfoService::get_list($module, $status, $search, $offset, $length, $this->user);
+        $user = $this->user;
+        $list = ApproveInfoService::get_list($module, $status, $search, $offset, $length, $user);
         $this->success('我的申请记录', $list);
     }
 
@@ -185,7 +201,7 @@ class Approveinfo extends Base
      *     @Apidoc\Returned("document_text", type="array", desc="附件列表"),
      *     @Apidoc\Returned("images_text", type="array", desc="图片列表"),
      * )
-     * @Apidoc\Returned("approve_info", type="object", desc="审批信息",
+     * @Apidoc\Returned("approve", type="array", desc="审批信息",
      *     @Apidoc\Returned("id", type="integer", desc="审批ID"),
      *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
      *     @Apidoc\Returned("status", type="integer", desc="审批状态:1=待审批,2=审批中,3=审批通过,4=审批拒绝"),
@@ -201,7 +217,7 @@ class Approveinfo extends Base
      *          @Apidoc\Returned("avatar", type="string", desc="头像地址"),
      *      ),
      * )
-     * @Apidoc\Returned("approve_copy", type="object", desc="抄送信息",
+     * @Apidoc\Returned("approve_copy", type="array", desc="抄送信息",
      *     @Apidoc\Returned("id", type="integer", desc="抄送ID"),
      *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
      *     @Apidoc\Returned("approve_flow", type="integer", desc="流程批次"),
@@ -222,17 +238,23 @@ class Approveinfo extends Base
      *     @Apidoc\Returned("dept_id", type="string", desc="部门ID"),
      *     @Apidoc\Returned("name", type="string", desc="部门名称"),
      * )
+     * @Apidoc\Returned("apply_goods", type="array", desc="申购商品列表 module=1",
+     *     @Apidoc\Returned("id", type="integer", desc="申购商品ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("goods_name", type="string", desc="商品名称"),
+     *     @Apidoc\Returned("total_amount", type="string", desc="总金额"),
+     * )
      * @Apidoc\Returned("peer_user", type="array", desc="同行人员列表 module=5",
      *     @Apidoc\Returned("id", type="integer", desc="同行人员ID"),
      *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
      *     @Apidoc\Returned("name", type="string", desc="姓名"),
      * )
-     *
      */
     public function get_detail()
     {
         $id = input('id');
-        $info = ApproveInfoService::get_detail($id, $this->user, 'detail');
+        $user = $this->user;
+        $info = ApproveInfoService::get_detail($id, $user, 'detail');
         $this->success('详情', $info);
     }
 
@@ -262,6 +284,12 @@ class Approveinfo extends Base
      *     @Apidoc\Returned("document_text", type="array", desc="附件列表"),
      *     @Apidoc\Returned("images_text", type="array", desc="图片列表"),
      * )
+     * @Apidoc\Returned("apply_goods", type="array", desc="申购商品列表 module=1",
+     *     @Apidoc\Returned("id", type="integer", desc="申购商品ID"),
+     *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
+     *     @Apidoc\Returned("goods_name", type="string", desc="商品名称"),
+     *     @Apidoc\Returned("total_amount", type="string", desc="总金额"),
+     * )
      * @Apidoc\Returned("peer_user", type="array", desc="同行人员列表 module=5",
      *     @Apidoc\Returned("id", type="integer", desc="同行人员ID"),
      *     @Apidoc\Returned("info_id", type="integer", desc="申请ID"),
@@ -274,7 +302,8 @@ class Approveinfo extends Base
     public function get_info()
     {
         $id = input('id');
-        $info = ApproveInfoService::get_detail($id, $this->user, 'info');
+        $user = $this->user;
+        $info = ApproveInfoService::get_detail($id, $user, 'info');
         $this->success('信息', $info);
     }
 
@@ -287,9 +316,10 @@ class Approveinfo extends Base
     public function urging()
     {
         $id = input('id');
+        $user = $this->user;
         Db::startTrans();
         try {
-            ApproveInfoService::make($id, $this->user, 'urging');
+            ApproveInfoService::make($id, $user, 'urging');
             Db::commit();
         } catch (Exception $e) {
             Db::rollback();
@@ -307,9 +337,10 @@ class Approveinfo extends Base
     public function cancel()
     {
         $id = input('id');
+        $user = $this->user;
         Db::startTrans();
         try {
-            ApproveInfoService::make($id, $this->user, 'cancel');
+            ApproveInfoService::make($id, $user, 'cancel');
             Db::commit();
         } catch (Exception $e) {
             Db::rollback();

+ 10 - 21
application/api/controller/Base.php

@@ -15,9 +15,11 @@
 
 namespace app\api\controller;
 
+use AlibabaCloud\SDK\Dingtalk\Vworkflow_1_0\Models\GetProcessConfigResponseBody\result\commentConf;
 use app\common\constant\CommonConstant;
 use app\common\model\User;
 use Firebase\JWT\JWT;
+use hg\apidoc\providers\CommonService;
 use think\Controller;
 use think\Db;
 use think\Exception;
@@ -260,23 +262,30 @@ class Base extends Controller
         }
         if ($controllername == 'approveinfo') {
             if ($action_name == 'create') {
+                $get_way_list = CommonConstant::way;
                 $get_module_list = CommonConstant::get_module_list();
                 $rule = [
+                    'way|方式' => 'require|in:' . implode(',', array_keys($get_way_list)),
                     'module|模块类型' => 'require|in:' . implode(',', array_keys($get_module_list)),
                 ];
                 $message = [
+                    'way.in' => '请选择正确的方式',
                     'module.in' => '请选择正确的模块类型',
                 ];
                 $validate = new Validate($rule, $message);
                 if (!$validate->check($params)) {
                     $this->error($validate->getError());
                 }
+                $way = $this->request->post('way');
                 $id = $this->request->post('id');
+                if (!$id && in_array($way, [CommonConstant::update, CommonConstant::edit])) {
+                    $this->error('ID参数不能为空');
+                }
                 $module = $this->request->post('module');
                 $validates = CommonConstant::get_module_validate_list();
                 $validate = $validates[$module];
                 $validate = new $validate;
-                if (!$validate->check($params, [], $id > 0 ? 'update' : 'create')) {
+                if (!$validate->check($params, [], $get_way_list[$way])) {
                     $this->error($validate->getError());
                 }
             }
@@ -292,26 +301,6 @@ class Base extends Controller
             }
         }
         if ($controllername == 'approve') {
-            if ($action_name == 'edit') {
-                $get_module_list = CommonConstant::get_module_list();
-                $rule = [
-                    'module|模块类型' => 'require|in:' . implode(',', array_keys($get_module_list)),
-                ];
-                $message = [
-                    'module.in' => '请选择正确的模块类型',
-                ];
-                $validate = new Validate($rule, $message);
-                if (!$validate->check($params)) {
-                    $this->error($validate->getError());
-                }
-                $module = $this->request->post('module');
-                $validates = CommonConstant::get_module_validate_list();
-                $validate = $validates[$module];
-                $validate = new $validate;
-                if (!$validate->check($params, [], 'edit')) {
-                    $this->error($validate->getError());
-                }
-            }
             if (in_array($action_name, ['get_detail', 'get_info'])) {
                 $rule = [
                     'approve_id|审批参数' => 'require|gt:0',

+ 0 - 260
application/api/controller/Contract.php

@@ -1,260 +0,0 @@
-<?php
-namespace app\api\controller;
-use app\common\model\ApproveFlow;
-use app\common\model\ContractType;
-use app\common\model\ContractInfo;
-use app\common\model\ContractApprove;
-use app\common\service\ApproveService;
-use hg\apidoc\annotation as Apidoc;
-
-/**
- * @Apidoc\Title("合同管理")
- */
-class Contract extends Base
-{
-    public function initialize()
-    {
-        parent::initialize();
-        parent::checkLogin();
-    }
-
-    /**
-     * @Apidoc\Title("获取合同审核流程")
-     * @Apidoc\Desc("获取合同流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getApproveFlow()
-    {
-        $list = ApproveFlow::getApproveUser(7,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("获取抄送人流程")
-     * @Apidoc\Desc("获取抄送人流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getCopyFlow()
-    {
-        $list = ApproveFlow::getCopyTo(7,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-
-    /**
-     * @Apidoc\Title("获取合同类型")
-     * @Apidoc\Desc("获取合同类型")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("id", type="int", desc="会员id")
-     * @Apidoc\Returned("title", type="int", desc="类型")
-     */
-    public function getOfferType()
-    {
-        $field = 'id,title';
-        $list = ContractType::field($field)->where('status',1)->where('is_deleted',0)->select()->toArray();
-        $this->success('获取成功',['list'=>$list]);
-    }
-
-
-
-    /**
-     * @Apidoc\Title("合同申请")
-     * @Apidoc\Desc("合同申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("type", type="int",desc="类型id")
-     * @Apidoc\Query("contract_no", type="string",desc="合同号")
-     * @Apidoc\Query("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Query("num", type="int",desc="数量")
-     * @Apidoc\Query("document", type="string", desc="附件")
-     * @Apidoc\Query("contract_remark", type="string", desc="备注")
-     * @Apidoc\Query("scope", type="string", desc="范围")
-     * @Apidoc\Query("legal_opinion", type="string", desc="法务意见")
-
-     * @Apidoc\Query("file_number", type="string", desc="文件号")
-     * @Apidoc\Query("publish_time", type="string", desc="发文时间")
-     * @Apidoc\Query("flow_user", type="string", desc="审批人id(多个逗号隔开)")
-     * @Apidoc\Query("copy_user", type="string", desc="抄送人id(多个逗号隔开)")
-     */
-    public function applyContract()
-    {
-        $request_param = input('post.');
-        $request_param['user_id'] = $this->user_id;// 申请会员id
-        $request_param['apply_date'] = date("Y-m-d");
-        $flow_user = isset($request_param['flow_user']) ? $request_param['flow_user']:'' ;
-        $copy_user = isset($request_param['copy_user']) ? $request_param['copy_user']:'' ;
-        if(!$flow_user) $this->error('请选择审批人');
-        $flow_info = ContractInfo::create($request_param);//生成合同记录
-        $approve_res = ApproveFlow::getApproveData($flow_user,$copy_user,$flow_info->id);
-        $flow_data = $approve_res['flow_data'];// 合同流程
-        $flow_num  =  $approve_res['flow_num'];
-        if(!empty($flow_data)) {
-            ContractInfo::where('id',$flow_info->id)->update(['approve_num'=>$flow_num]);
-            (new ContractApprove())->saveAll($flow_data);
-        }else{
-            ContractInfo::where('id',$flow_info->id)->update(['status'=>2]);
-        }
-        $this->success('合同已提交,请等待审核',['detail'=>$flow_info->toArray()]);
-
-    }
-
-    /**
-     * @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\Query("type", type="int", desc="出差类型id")
-     * @Apidoc\Query("status", type="int", desc="审批状态0全部,1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Returned("type", type="int",desc="类型id")
-     * @Apidoc\Returned("contract_no", type="string",desc="合同号")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("num", type="int",desc="数量")
-     * @Apidoc\Returned("document", type="string", desc="附件")
-     * @Apidoc\Returned("contract_remark", type="string", desc="备注")
-     * @Apidoc\Returned("scope", type="string", desc="范围")
-     * @Apidoc\Returned("legal_opinion", type="string", desc="法务意见")
-     *
-     */
-    public function getContractList()
-    {
-        $sel_where = [];
-        $sel_where[] = ['user_id','=',$this->user_id];
-        if(input('get.status') > 0)  $sel_where[] = ['status','=',input('get.status')];
-        $list = ContractInfo::where($sel_where)->limit($this->off_set,$this->page_num)
-            ->order('id desc')
-            ->select()->toArray();
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("合同详情")
-     * @Apidoc\Desc("合同详情")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="合同记录id")
-     * @Apidoc\Returned("type", type="int",desc="类型id")
-     * @Apidoc\Returned("contract_no", type="string",desc="合同号")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("num", type="int",desc="数量")
-     * @Apidoc\Returned("document", type="string", desc="附件")
-     * @Apidoc\Returned("remark", type="string", desc="备注")
-     * @Apidoc\Returned("scope", type="string", desc="范围")
-     * @Apidoc\Returned("legal_opinion", type="string", desc="法务意见")
-     * @Apidoc\Returned("headimg", type="string", desc="申请人头像")
-     * @Apidoc\Returned("user_name", type="string", desc="申请人昵称")
-     * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
-     * @Apidoc\Returned("approve_list", type="array", desc="合同记录")
-     * @Apidoc\Returned("approve_list.status", type="int", desc="合同状态:0待审核合同,1合同审核中,2审核通过3审核拒绝")
-     * @Apidoc\Returned("approve_list.approve_time", type="string", desc="合同时间")
-     * @Apidoc\Returned("approve_list.remark", type="string", desc="合同备注")
-     * @Apidoc\Returned("approve_list.user_name", type="string", desc="合同人")
-     * @Apidoc\Returned("approve_list.headimg", type="string", desc="合同人头像")
-     * @Apidoc\Returned("approve_list.time", type="string", desc="合同用时(上一次合同完成到本次合同的时间,单位秒)")
-     */
-    public function getContractInfo()
-    {
-        $id = input('get.id');
-        $detail = ContractInfo::with('approveList')
-            ->alias('a')
-            ->field('a.*,u.branch_id,u.headimg,u.name user_name')
-            ->leftJoin('StoreMember u','a.user_id = u.id')
-            ->where(['a.id'=>$id])
-            ->limit($this->off_set,$this->page_num)
-            ->find()->toArray();
-        $this->success('ok',['detail'=>$detail]);
-    }
-
-    /**
-     * @Apidoc\Title("需要我审批的")
-     * @Apidoc\Desc("需要我审批的")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",require=true, desc="页数")
-     * @Apidoc\Query("page_num", type="int",require=true, desc="每页数量")
-     * @Apidoc\Query("type", type="int", desc="合同类型id")
-     *
-     * @Apidoc\Returned("type", type="int",desc="类型id")
-     * @Apidoc\Returned("contract_no", type="string",desc="合同号")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("num", type="int",desc="数量")
-     * @Apidoc\Returned("document", type="string", desc="附件")
-     * @Apidoc\Returned("contract_remark", type="string", desc="备注")
-     * @Apidoc\Returned("scope", type="string", desc="范围")
-     * @Apidoc\Returned("legal_opinion", type="string", desc="法务意见")
-     *
-     * @Apidoc\Returned("apply_date", type="string", desc="合同日期")
-     * @Apidoc\Returned("approve_status", type="int", desc="合同状态(我的审批状态)")
-     * @Apidoc\Returned("approve_time", type="string", desc="合同时间")
-     * @Apidoc\Returned("approve_id", type="int", desc="合同记录id")
-     * @Apidoc\Returned("remark", type="string", desc="合同备注")
-     */
-    public function getApproveContract()
-    {
-        $list = ContractApprove::field('i.*,p.id approve_id,p.status approve_status,p.approve_time,p.remark')
-            ->alias('p')
-            ->where(['p.approve_user'=>$this->user_id])
-            ->where('p.status','>','0')
-            ->leftJoin('ContractInfo i','p.info_id = i.id')
-            ->limit($this->off_set,$this->page_num)
-            ->select()->toArray();
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("合同审批")
-     * @Apidoc\Desc("合同审批")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="申请记录id")
-     * @Apidoc\Query("status", type="string",require=true, desc="合同状态(2合同通过3合同拒绝)")
-     * @Apidoc\Query("remark", type="string",require=true, desc="审批备注")
-     */
-    public function approveContract()
-    {
-        $approve_id = input('post.id');
-        $status = input('post.status');
-        $remark = input('post.remark');
-        $res = ApproveService::approveContract($approve_id,$this->user_id,$status,$remark);
-        if(!$res['ret_val']) $this->error($res['msg']);
-        $this->success('审批完成');
-    }
-
-    /**
-     * @Apidoc\Title("撤销合同申请")
-     * @Apidoc\Desc("撤销合同申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="合同记录id")
-     */
-    public function cancelApply()
-    {
-        $id  = input('post.id');
-        $apply_info  = ContractInfo::where('id',$id)->where('user_id',$this->user_id)->find();
-        if(!$apply_info)$this->error('合同记录有误');
-        $apply_info->status = 9;
-        $apply_info->save();
-        $this->success('撤销成功');
-    }
-
-
-}
-
-

+ 0 - 336
application/api/controller/Evection.php

@@ -1,336 +0,0 @@
-<?php
-
-namespace app\api\controller;
-
-use app\common\constant\CommonConstant;
-use app\common\model\EvectionApprove;
-use app\common\service\ApproveFlowService;
-use app\common\service\ApproveService;
-use app\common\service\EvectionInfoService;
-use hg\apidoc\annotation as Apidoc;
-use think\Db;
-use think\Exception;
-
-/**
- * @Apidoc\Title("员工出差")
- */
-class Evection extends Base
-{
-    public function initialize()
-    {
-        parent::initialize();
-        parent::checkLogin();
-    }
-
-    /**
-     * 获取流程
-     *
-     * @Apidoc\Desc("获取流程")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Returned("approve_user", type="array", desc="审批人列表",
-     *     @Apidoc\Returned("userid", type="string", desc="用户userid"),
-     *     @Apidoc\Returned("headimg", type="string", desc="头像"),
-     *     @Apidoc\Returned("name", type="string", desc="姓名"),
-     * )
-     * @Apidoc\Returned("copy_user", type="array", desc="抄送人列表",
-     *     @Apidoc\Returned("userid", type="string", desc="用户userid"),
-     *     @Apidoc\Returned("headimg", type="string", desc="头像"),
-     *     @Apidoc\Returned("name", type="string", desc="姓名"),
-     * )
-     */
-    public function get_data()
-    {
-        $array = [
-            ['reason' => '申请事由', 'type' => '采购类型','desc'=>'', 'start_time' => '','end_time' => '', 'item_list' => ''],
-            ['reason' => '申请标题', 'type' => '呈批类型','desc'=>'缓急程度', 'start_time' => '','end_time' => '', 'item_list' => ''],
-            ['reason' => '物品名称', 'type' => '','desc'=>'', 'start_time' => '','end_time' => '', 'item_list' => ''],
-            ['reason' => '物品用途', 'type' => '','desc'=>'', 'start_time' => '','end_time' => '', 'item_list' => '领用物品'],
-            ['reason' => '出差事由', 'type' => '','desc'=>'', 'start_time' => '出差开始时间','end_time' => '出差结束时间','item_list' => '同行人员'],
-            ['reason' => '','type' => '请假类型','desc'=>'', 'start_time' => '请假开始时间','end_time' => '请假结束时间','item_list' => ''],
-            ['reason' => '出发地点', 'type' => '','desc'=>'','start_time' => '出发时间','end_time' => '返回时间','item_list' => ''],
-            ['reason' => '维修地点', 'type' => '','desc'=>'具体内容','start_time' => '','end_time' => '','item_list' => ''],
-            ['reason' => '合同编号', 'type' => '','desc'=>'缓急程度','start_time' => '','end_time' => '','item_list' => '','apply_date' => '拟稿日期'],
-            ['reason' => '文件名称', 'type' => '','desc'=>'来文单位名称','start_time' => '','end_time' => '','item_list' => ''],
-            ['reason' => '文件名称', 'type' => '','desc'=>'缓急程度', 'start_time' => '','end_time' => '', 'item_list' => '','apply_date' => '拟发文时间'],
-        ];
-
-        $data = ApproveFlowService::get_data(CommonConstant::MODULE_3, $this->user);
-        $this->success('获取流程', $data);
-    }
-
-    /**
-     * 申请出差/重新发起
-     *
-     * @Apidoc\Method("POST")
-     * @Apidoc\Param("id", type="integer", require=false, desc="出差ID 重新发起必传")
-     * @Apidoc\Param("reason", type="string", require=true, desc="出差事由")
-     * @Apidoc\Param("start_time", type="string", require=true, desc="开始时间")
-     * @Apidoc\Param("end_time", type="string", require=true, desc="结束时间")
-     * @Apidoc\Param("document", type="string", require=false, desc="附件(多个用英文逗号隔开)")
-     * @Apidoc\Param("images", type="string", require=false, desc="图片(多个用英文逗号隔开)")
-     * @Apidoc\Param("type", type="integer", require=true, desc="出差类型:1=市内,2=市外")
-     * @Apidoc\Param("is_who", type="integer", require=false, desc="是否跨关内关外:0=否,1=是")
-     * @Apidoc\Param("remark", type="string", require=false, desc="备注")
-     * @Apidoc\Param("peer_user", type="array", require=false, desc="同行员工数据",
-     *     @Apidoc\Param("is_who", type="integer", require=true, desc="是否外部人员:0=否,1=是"),
-     *     @Apidoc\Param("user_id", type="string", require=false, desc="用户userid"),
-     *     @Apidoc\Param("name", type="string", require=true, desc="姓名"),
-     *     @Apidoc\Param("desc", type="string", require=false, desc="备注"),
-     * )
-     * @Apidoc\Param("approve_user", type="string", require=true, desc="审批人id(多个用英文逗号隔开)")
-     * @Apidoc\Param("copy_user", type="string", require=false, desc="抄送人id(多个用英文逗号隔开)")
-     */
-    public function create()
-    {
-        $id = input('id');
-        $reason = input('reason');
-        $start_time = input('start_time');
-        $end_time = input('end_time');
-        $document = input('document');
-        $images = input('images');
-        $type = input('type');
-        $is_who = input('is_who');
-        $remark = input('remark');
-        $peer_user = input('peer_user');
-        $approve_user = input('approve_user');
-        $copy_user = input('copy_user');
-        $params = compact("id", "reason", "start_time", "end_time", "document", "images", "type", "is_who", "remark", "peer_user", "approve_user", "copy_user");
-        Db::startTrans();
-        try {
-            EvectionInfoService::create($id, $params, $this->user);
-            Db::commit();
-        } catch (Exception $e) {
-            Db::rollback();
-            $this->error($e->getMessage());
-        }
-        $this->success('申请已提交,请等待审批');
-    }
-
-    /**
-     * 我的出差记录
-     *
-     * @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("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("create_at", type="string", desc="创建时间")
-     * @Apidoc\Returned("order_no", type="string", desc="审批编号")
-     * @Apidoc\Returned("reason", type="string", desc="出差事由")
-     * @Apidoc\Returned("start_time", type="string", desc="出差开始时间")
-     * @Apidoc\Returned("end_time", type="string", desc="出差结束时间")
-     * @Apidoc\Returned("peer_user", type="array", desc="同行人员列表",
-     *     @Apidoc\Returned("id", type="integer", desc="同行人员ID"),
-     *     @Apidoc\Returned("info_id", type="integer", desc="出差ID"),
-     *     @Apidoc\Returned("name", type="string", desc="姓名"),
-     * )
-     * @Apidoc\Returned("approve_info", type="object", desc="审批信息",
-     *     @Apidoc\Returned("id", type="integer", desc="审批ID"),
-     *     @Apidoc\Returned("info_id", type="integer", desc="出差ID"),
-     *     @Apidoc\Returned("approve_user", type="string", desc="审批人userid"),
-     *     @Apidoc\Returned("user", type="object", desc="审批人信息",
-     *          @Apidoc\Returned("userid", type="string", desc="用户userid"),
-     *          @Apidoc\Returned("name", type="string", desc="姓名"),
-     *      ),
-     * )
-     */
-    public function get_list()
-    {
-        $status = input('status');
-        $search = input('search');
-        $offset = $this->off_set;
-        $length = $this->page_num;
-        $list = EvectionInfoService::get_list($status, $search, $offset, $length, $this->user);
-        $this->success('我的出差记录', $list);
-    }
-
-    /**
-     * 详情
-     *
-     * @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("create_at", type="string", desc="创建时间")
-     * @Apidoc\Returned("order_no", type="string", desc="审批编号")
-     * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
-     * @Apidoc\Returned("reason", type="string", desc="出差事由")
-     * @Apidoc\Returned("start_time", type="string", desc="出差开始时间")
-     * @Apidoc\Returned("end_time", type="string", desc="出差结束时间")
-     * @Apidoc\Returned("type", type="integer", desc="出差类型:1=市内,2=市外")
-     * @Apidoc\Returned("is_who", type="integer", desc="是否跨关内关外:0=否,1=是")
-     * @Apidoc\Returned("remark", type="string", desc="备注")
-     * @Apidoc\Returned("peer_user", type="array", desc="同行人员列表",
-     *     @Apidoc\Returned("id", type="integer", desc="同行人员ID"),
-     *     @Apidoc\Returned("info_id", type="integer", desc="出差ID"),
-     *     @Apidoc\Returned("name", type="string", desc="姓名"),
-     * )
-     * @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("create_at", type="string", desc="创建时间"),
-     *     @Apidoc\Returned("approve_flow", type="integer", desc="流程批次"),
-     *     @Apidoc\Returned("approve_type", type="integer", desc="流程类型:1=审批,2=抄送"),
-     *     @Apidoc\Returned("approve_user", type="string", desc="审批人userid"),
-     *     @Apidoc\Returned("approve_time", type="string", desc="审批时间"),
-     *     @Apidoc\Returned("remark", type="string", desc="审批备注"),
-     *     @Apidoc\Returned("time", type="string", desc="审批时长(上一次审批完成到本次审批的时间,单位秒)"),
-     *     @Apidoc\Returned("time_text", type="string", desc="审批时长文本"),
-     *     @Apidoc\Returned("user", type="object", desc="审批人信息",
-     *          @Apidoc\Returned("userid", type="string", desc="用户userid"),
-     *          @Apidoc\Returned("name", type="string", desc="姓名"),
-     *      ),
-     * )
-     * @Apidoc\Returned("department", type="array", desc="所在部门列表",
-     *     @Apidoc\Returned("dept_id", type="string", desc="部门ID"),
-     *     @Apidoc\Returned("name", type="string", desc="部门名称"),
-     * )
-     * @Apidoc\Returned("document_text", type="array", desc="附件列表")
-     * @Apidoc\Returned("images_text", type="array", desc="图片列表")
-     */
-    public function get_detail()
-    {
-        $id = input('id');
-        $info = EvectionInfoService::get_detail($id, $this->user, 'detail');
-        $this->success('详情', $info);
-    }
-
-    /**
-     * 信息
-     *
-     * @Apidoc\Method("POST")
-     * @Apidoc\Desc("重新发起信息/修改信息")
-     * @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("create_at", type="string", desc="创建时间")
-     * @Apidoc\Returned("order_no", type="string", desc="审批编号")
-     * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
-     * @Apidoc\Returned("reason", type="string", desc="出差事由")
-     * @Apidoc\Returned("start_time", type="string", desc="出差开始时间")
-     * @Apidoc\Returned("end_time", type="string", desc="出差结束时间")
-     * @Apidoc\Returned("type", type="integer", desc="出差类型:1=市内,2=市外")
-     * @Apidoc\Returned("is_who", type="integer", desc="是否跨关内关外:0=否,1=是")
-     * @Apidoc\Returned("remark", type="string", desc="备注")
-     * @Apidoc\Returned("peer_user", type="array", desc="同行人员列表",
-     *     @Apidoc\Returned("id", type="integer", desc="同行人员ID"),
-     *     @Apidoc\Returned("info_id", type="integer", desc="出差ID"),
-     *     @Apidoc\Returned("is_who", type="integer", desc="是否外部人员:0=否,1=是"),
-     *     @Apidoc\Returned("user_id", type="string", desc="用户userid"),
-     *     @Apidoc\Returned("name", type="string", desc="姓名"),
-     *     @Apidoc\Returned("desc", type="string", desc="备注"),
-     * )
-     * @Apidoc\Returned("document_text", type="array", desc="附件列表")
-     * @Apidoc\Returned("images_text", type="array", desc="图片列表")
-     **/
-    public function get_info()
-    {
-        $id = input('id');
-        $info = EvectionInfoService::get_detail($id, $this->user, 'info');
-        $this->success('信息', $info);
-    }
-
-    /**
-     * 催办
-     *
-     * @Apidoc\Method("POST")
-     * @Apidoc\Param("id", type="integer",require=true, desc="出差ID")
-     */
-    public function urging()
-    {
-        $id = input('id');
-        Db::startTrans();
-        try {
-            EvectionInfoService::make($id, $this->user, 'urging');
-            Db::commit();
-        } catch (Exception $e) {
-            Db::rollback();
-            $this->error($e->getMessage());
-        }
-        $this->success('催办成功');
-    }
-
-    /**
-     * 撤销
-     *
-     * @Apidoc\Method("POST")
-     * @Apidoc\Param("id", type="integer",require=true, desc="出差ID")
-     */
-    public function cancel()
-    {
-        $id = input('id');
-        Db::startTrans();
-        try {
-            EvectionInfoService::make($id, $this->user, 'cancel');
-            Db::commit();
-        } catch (Exception $e) {
-            Db::rollback();
-            $this->error($e->getMessage());
-        }
-        $this->success('撤销成功');
-    }
-
-    /**
-     * @Apidoc\Title("我审批的")
-     * @Apidoc\Desc("需要我审批的")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",require=true, desc="页数")
-     * @Apidoc\Query("page_num", type="int",require=true, desc="每页数量")
-     * @Apidoc\Query("password", type="string",require=true, desc="密码")
-     * @Apidoc\Returned("id", type="int", desc="出差记录id")
-     * @Apidoc\Returned("start_time", type="string", desc="出差记录id")
-     * @Apidoc\Returned("end_time", type="string", desc="结束时间")
-     * @Apidoc\Returned("reason", type="string", desc="出差事由")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("images", type="string", desc="图片(多张|隔开)")
-     * @Apidoc\Returned("reason", type="string", desc="出差事由")
-     * @Apidoc\Returned("type", type="string", desc="出差类型(1市内2市外)")
-     * @Apidoc\Returned("status", type="int", desc="状态:1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Returned("user_id", type="int", desc="出差会员id")
-     * @Apidoc\Returned("approve_status", type="int", desc="审批状态(我的审批状态)")
-     * @Apidoc\Returned("approve_time", type="string", desc="审批时间")
-     * @Apidoc\Returned("remark", type="string", desc="审批备注")
-     */
-    public function getApproveEvection()
-    {
-        $list = EvectionApprove::field('i.*,p.status approve_status,p.approve_time,p.remark')
-            ->alias('p')
-            ->where(['p.approve_user' => $this->user_id])
-            ->where('p.status', '>', '0')
-            ->leftJoin('EvectionInfo i', 'p.info_id = i.id')
-            ->limit($this->off_set, $this->page_num)
-            ->select()->toArray();
-        array_walk($list, function (&$v) {
-            $v['images_arr'] = $v['images'] ? explode('|', $v['images']) : null;
-        });
-        $this->success('ok', ['list' => $list]);
-    }
-
-    /**
-     * @Apidoc\Title("审批出差记录")
-     * @Apidoc\Desc("审批出差记录")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="申请记录id")
-     * @Apidoc\Query("status", type="string",require=true, desc="审批状态(2审批通过3审批拒绝)")
-     * @Apidoc\Query("remark", type="string",require=true, desc="审批备注")
-     */
-    public function approveEvection()
-    {
-        $approve_id = input('post.id');
-        $status = input('post.status');
-        $remark = input('post.remark');
-        $res = ApproveService::approveEvection($approve_id, $this->user_id, $status, $remark);
-        if (!$res['ret_val']) $this->error($res['msg']);
-        $this->success('审批完成');
-    }
-
-
-}

+ 0 - 122
application/api/controller/General.php

@@ -1,122 +0,0 @@
-<?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]);
-
-    }
-
-
-
-}

+ 0 - 224
application/api/controller/Maintain.php

@@ -1,224 +0,0 @@
-<?php
-namespace app\api\controller;
-use app\common\model\ApproveFlow;
-use app\common\model\MaintainInfo;
-use app\common\model\MaintainApprove;
-use app\common\service\ApproveService;
-use hg\apidoc\annotation as Apidoc;
-
-/**
- * @Apidoc\Title("员工维修管理")
- */
-class Maintain extends Base
-{
-    public function initialize()
-    {
-        parent::initialize();
-        parent::checkLogin();
-    }
-
-    /**
-     * @Apidoc\Title("获取维修审核流程")
-     * @Apidoc\Desc("获取维修流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getApproveFlow()
-    {
-        $list = ApproveFlow::getApproveUser(5,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("获取抄送人流程")
-     * @Apidoc\Desc("获取抄送人流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getCopyFlow()
-    {
-        $list = ApproveFlow::getCopyTo(5,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("维修申请")
-     * @Apidoc\Desc("维修申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("title", type="string",desc="标题")
-     * @Apidoc\Query("content", type="string", desc="维修详细内容")
-     * @Apidoc\Query("images", type="string", desc="图片(多张|隔开)")
-     * @Apidoc\Query("address", type="string", desc="维修地址")
-     * @Apidoc\Query("flow_user", type="string", desc="审批人id(多个逗号隔开)")
-     * @Apidoc\Query("copy_user", type="string", desc="抄送人id(多个逗号隔开)")
-     */
-    public function applyMaintain()
-    {
-        $request_param = input('post.');
-        $request_param['user_id'] = $this->user_id;// 申请会员id
-        $request_param['apply_date'] = date("Y-m-d");
-        $flow_user = isset($request_param['flow_user']) ? $request_param['flow_user']:'' ;
-        $copy_user = isset($request_param['copy_user']) ? $request_param['copy_user']:'' ;
-        if(!$flow_user) $this->error('请选择审批人');
-        $flow_info = MaintainInfo::create($request_param);//生成维修记录
-        $approve_res = ApproveFlow::getApproveData($flow_user,$copy_user,$flow_info->id);
-        $flow_data = $approve_res['flow_data'];// 维修流程
-        $flow_num  =  $approve_res['flow_num'];
-        if(!empty($flow_data)) {
-            MaintainInfo::where('id',$flow_info->id)->update(['approve_num'=>$flow_num]);
-            (new MaintainApprove())->saveAll($flow_data);
-        }else{
-            MaintainInfo::where('id',$flow_info->id)->update(['status'=>2]);
-        }
-        $this->success('维修已提交,请等待审核',['detail'=>$flow_info->toArray()]);
-
-    }
-    /**
-     * @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\Query("type", type="int", desc="出差类型id")
-     * @Apidoc\Query("status", type="int", desc="审批状态0全部,1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Returned("type", type="int", desc="维修类型id")
-     * @Apidoc\Returned("word_size", type="string", desc="发文字号")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("num", type="int", desc="申请数量")
-     * @Apidoc\Returned("title", type="string", desc="标题")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("content", type="string", desc="维修详细内容")
-     * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
-     */
-    public function getMaintainList()
-    {
-        $sel_where = [];
-        $sel_where[] = ['user_id','=',$this->user_id];
-        if(input('get.status') > 0)  $sel_where[] = ['status','=',input('get.status')];
-        if(input('get.type') > 0)  $sel_where[] = ['type','=',input('get.type')];
-        $list = MaintainInfo::where($sel_where)->limit($this->off_set,$this->page_num)->select()->toArray();
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("维修详情")
-     * @Apidoc\Desc("维修详情")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="维修记录id")
-     * @Apidoc\Returned("type", type="int", desc="维修类型id")
-     * @Apidoc\Returned("word_size", type="string", desc="发文字号")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("num", type="int", desc="申请数量")
-     * @Apidoc\Returned("title", type="string", desc="标题")
-     * @Apidoc\Returned("headimg", type="string", desc="申请人头像")
-     * @Apidoc\Returned("user_name", type="string", desc="申请人昵称")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("content", type="string", desc="维修详细内容")
-     * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
-     * @Apidoc\Returned("approve_list", type="array", desc="维修记录")
-     * @Apidoc\Returned("approve_list.status", type="int", desc="维修状态:0待维修(未到该维修人维修),1维修中(已到该维修人维修,还未维修)2维修通过3维修拒绝")
-     * @Apidoc\Returned("approve_list.approve_time", type="string", desc="维修时间")
-     * @Apidoc\Returned("approve_list.remark", type="string", desc="维修备注")
-     * @Apidoc\Returned("approve_list.user_name", type="string", desc="维修人")
-     * @Apidoc\Returned("approve_list.headimg", type="string", desc="维修人头像")
-     * @Apidoc\Returned("approve_list.time", type="string", desc="维修用时(上一次维修完成到本次维修的时间,单位秒)")
-     */
-    public function getMaintainInfo()
-    {
-        $id = input('get.id');
-        $detail = MaintainInfo::with('approveList')
-            ->alias('a')
-            ->field('a.*,u.branch_id,u.headimg,u.name user_name')
-            ->leftJoin('StoreMember u','a.user_id = u.id')
-            ->where(['a.id'=>$id])
-            ->limit($this->off_set,$this->page_num)
-            ->find()->toArray();
-        $this->success('ok',['detail'=>$detail]);
-    }
-    /**
-     * @Apidoc\Title("需要我审批的")
-     * @Apidoc\Desc("需要我审批的")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",require=true, desc="页数")
-     * @Apidoc\Query("page_num", type="int",require=true, desc="每页数量")
-     * @Apidoc\Query("type", type="int", desc="维修类型id")
-     * @Apidoc\Returned("word_size", type="string", desc="发文字号")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("num", type="int", desc="申请数量")
-     * @Apidoc\Returned("title", type="string", desc="标题")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("content", type="string", desc="维修详细内容")
-     * @Apidoc\Returned("apply_date", type="string", desc="维修日期")
-     * @Apidoc\Returned("approve_status", type="int", desc="维修状态(我的审批状态)")
-     * @Apidoc\Returned("approve_time", type="string", desc="维修时间")
-     * @Apidoc\Returned("approve_id", type="int", desc="维修记录id")
-     * @Apidoc\Returned("remark", type="string", desc="维修备注")
-     */
-    public function getApproveMaintain()
-    {
-        $list = MaintainApprove::field('i.*,p.id approve_id,p.status approve_status,p.approve_time,p.remark')
-            ->alias('p')
-            ->where(['p.approve_user'=>$this->user_id])
-            ->where('p.status','>','0')
-            ->leftJoin('MaintainInfo i','p.info_id = i.id')
-            ->limit($this->off_set,$this->page_num)
-            ->select()->toArray();
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("维修审批")
-     * @Apidoc\Desc("维修审批")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="申请记录id")
-     * @Apidoc\Query("status", type="string",require=true, desc="维修状态(2维修通过3维修拒绝)")
-     * @Apidoc\Query("remark", type="string",require=true, desc="维修备注")
-     */
-    public function approveMaintain()
-    {
-        $approve_id = input('post.id');
-        $status = input('post.status');
-        $remark = input('post.remark');
-        $res = ApproveService::approveMaintain($approve_id,$this->user_id,$status,$remark);
-        if(!$res['ret_val']) $this->error($res['msg']);
-        $this->success('审批完成');
-    }
-
-    /**
-     * @Apidoc\Title("撤销维修申请")
-     * @Apidoc\Desc("撤销维修申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="维修记录id")
-     */
-    public function cancelApply()
-    {
-        $id  = input('post.id');
-        $apply_info  = MaintainInfo::where('id',$id)->where('user_id',$this->user_id)->find();
-        if(!$apply_info)$this->error('维修记录有误');
-        $apply_info->status = 9;
-        $apply_info->save();
-        $this->success('撤销成功');
-    }
-
-
-}
-
-

+ 0 - 237
application/api/controller/Offer.php

@@ -1,237 +0,0 @@
-<?php
-namespace app\api\controller;
-use app\common\model\ApproveFlow;
-use app\common\model\OfferType;
-use app\common\model\OfferInfo;
-use app\common\model\OfferApprove;
-use app\common\service\ApproveService;
-use hg\apidoc\annotation as Apidoc;
-/**
- * @Apidoc\Title("员工呈批管理")
- */
-class Offer extends Base
-{
-    public function initialize()
-    {
-        parent::initialize();
-        parent::checkLogin();
-    }
-
-    /**
-     * @Apidoc\Title("获取审批流程")
-     * @Apidoc\Desc("获取审批流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("user_name", type="string",require=true, desc="会员名称")
-     * @Apidoc\Query("headimg", type="string",require=true, desc="密码")
-     */
-    public function getApproveFlow()
-    {
-        $list = ApproveFlow::getApproveUser(4,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("获取抄送人流程")
-     * @Apidoc\Desc("获取抄送人流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getCopyFlow()
-    {
-        $list = ApproveFlow::getCopyTo(4,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("获取呈批类型")
-     * @Apidoc\Desc("获取呈批类型")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("id", type="int", desc="会员id")
-     * @Apidoc\Returned("title", type="int", desc="类型")
-     */
-    public function getOfferType()
-    {
-        $field = 'id,title';
-        $list = OfferType::field($field)->where('status',1)->where('is_deleted',0)->select()->toArray();
-        $this->success('获取成功',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("呈批申请")
-     * @Apidoc\Desc("呈批申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("type", type="int",desc="呈批类型id")
-     * @Apidoc\Query("word_size", type="string",desc="发文字号")
-     * @Apidoc\Query("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Query("num", type="int", desc="申请数量")
-     * @Apidoc\Query("title", type="string", desc="标题")
-     * @Apidoc\Query("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Query("content", type="string", desc="呈批详细内容")
-     * @Apidoc\Query("flow_user", type="string", desc="审批人id(多个逗号隔开)")
-     * @Apidoc\Query("copy_user", type="string", desc="抄送人id(多个逗号隔开)")
-     */
-    public function applyOffer()
-    {
-        $request_param = input('post.');
-        if(empty($request_param['type'])) $this->error('请选择呈批类型');
-        $request_param['user_id'] = $this->user_id;// 申请会员id
-        $request_param['apply_date'] = date("Y-m-d");
-        $flow_user = isset($request_param['flow_user']) ? $request_param['flow_user']:'' ;
-        $copy_user = isset($request_param['copy_user']) ? $request_param['copy_user']:'' ;
-        if(!$flow_user) $this->error('请选择审批人');
-        $flow_info = OfferInfo::create($request_param);//生成呈批记录
-        $approve_res = ApproveFlow::getApproveData($flow_user,$copy_user,$flow_info->id);
-        $flow_data = $approve_res['flow_data'];// 审批流程
-        $flow_num  =  $approve_res['flow_num'];
-        if(!empty($flow_data)) {
-            OfferInfo::where('id',$flow_info->id)->update(['approve_num'=>$flow_num]);
-            (new OfferApprove())->saveAll($flow_data);
-        }else{
-            OfferInfo::where('id',$flow_info->id)->update(['status'=>2]);
-        }
-        $this->success('呈批已提交,请等待审核',['detail'=>$flow_info->toArray()]);
-
-    }
-
-    /**
-     * @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\Query("type", type="int", desc="呈批类型id")
-     * @Apidoc\Query("status", type="int", desc="审批状态0全部,1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Returned("type", type="int", desc="呈批类型id")
-     * @Apidoc\Returned("word_size", type="string", desc="发文字号")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("num", type="int", desc="申请数量")
-     * @Apidoc\Returned("title", type="string", desc="标题")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("content", type="string", desc="维修详细内容")
-     * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
-     */
-    public function getOfferList()
-    {
-        $sel_where = [];
-        $sel_where[] = ['user_id','=',$this->user_id];
-        if(input('get.status') > 0)  $sel_where[] = ['status','=',input('get.status')];
-        if(input('get.type') > 0)  $sel_where[] = ['type','=',input('get.type')];
-        $list = OfferInfo::where($sel_where)->limit($this->off_set,$this->page_num)->select()->toArray();
-        $this->success('ok',['list'=>$list]);
-    }
-    /**
-     * @Apidoc\Title("呈批详情")
-     * @Apidoc\Desc("呈批详情")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="呈批记录id")
-     * @Apidoc\Returned("type", type="int", desc="呈批记录id")
-     * @Apidoc\Returned("word_size", type="string", desc="发文字号")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("num", type="int", desc="申请数量")
-     * @Apidoc\Returned("title", type="string", desc="标题")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("content", type="string", desc="呈批详细内容")
-     * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
-     * @Apidoc\Returned("approve_list", type="array", desc="审批记录")
-     * @Apidoc\Returned("approve_list.status", type="int", desc="呈批状态:0待呈批(未到该呈批人呈批),1呈批中(已到该呈批人呈批,还未呈批2呈批通过3呈批拒绝")
-     * @Apidoc\Returned("approve_list.approve_time", type="string", desc="审批时间")
-     * @Apidoc\Returned("approve_list.remark", type="string", desc="审批备注")
-     * @Apidoc\Returned("approve_list.user_name", type="string", desc="审批人")
-     * @Apidoc\Returned("approve_list.headimg", type="string", desc="审批人头像")
-     * @Apidoc\Returned("approve_list.time", type="string", desc="审批用时(上一次审批完成到本次维修的时间,单位秒)")
-     */
-    public function getOfferInfo()
-    {
-        $id = input('get.id');
-        $detail = OfferInfo::with('approveList')->where(['id'=>$id])
-            ->limit($this->off_set,$this->page_num)
-            ->find()->toArray();
-        $this->success('ok',['detail'=>$detail]);
-    }
-
-    /**
-     * @Apidoc\Title("需要我审批的")
-     * @Apidoc\Desc("需要我审批的")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",require=true, desc="页数")
-     * @Apidoc\Query("page_num", type="int",require=true, desc="每页数量")
-     * @Apidoc\Query("type", type="int", desc="呈批类型id")
-     * @Apidoc\Returned("word_size", type="string", desc="发文字号")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("num", type="int", desc="申请数量")
-     * @Apidoc\Returned("title", type="string", desc="标题")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("content", type="string", desc="呈批详细内容")
-     * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
-     * @Apidoc\Returned("approve_status", type="int", desc="审批状态(我的审批状态)")
-     * @Apidoc\Returned("approve_time", type="string", desc="审批时间(1审批中2审批通过3审批拒绝)")
-     * @Apidoc\Returned("approve_id", type="int", desc="审批记录id")
-     * @Apidoc\Returned("remark", type="string", desc="审批备注")
-     */
-    public function getApproveOffer()
-    {
-        $list = OfferApprove::field('i.*,p.id approve_id,p.status approve_status,p.approve_time,p.remark')
-            ->alias('p')
-            ->where(['p.approve_user'=>$this->user_id])
-            ->where('p.status','>','0')
-            ->leftJoin('OfferInfo i','p.info_id = i.id')
-            ->limit($this->off_set,$this->page_num)
-            ->select()->toArray();
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("审批呈批记录")
-     * @Apidoc\Desc("审批呈批记录")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="申请记录id")
-     * @Apidoc\Query("status", type="string",require=true, desc="审批状态(2呈批通过3呈批拒绝)")
-     * @Apidoc\Query("remark", type="string",require=true, desc="审批备注")
-     */
-    public function approveOffer()
-    {
-        $approve_id = input('post.id');
-        $status = input('post.status');
-        $remark = input('post.remark');
-        $res = ApproveService::approveOffer($approve_id,$this->user_id,$status,$remark);
-        if(!$res['ret_val']) $this->error($res['msg']);
-        $this->success('审批完成');
-    }
-
-    /**
-     * @Apidoc\Title("撤销呈批申请")
-     * @Apidoc\Desc("撤销呈批申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="呈批记录id")
-     */
-    public function cancelApply()
-    {
-        $id  = input('post.id');
-        $apply_info  = OfferInfo::where('id',$id)->where('user_id',$this->user_id)->find();
-        if(!$apply_info)$this->error('呈批记录有误');
-        $apply_info->status = 9;
-        $apply_info->save();
-        $this->success('撤销成功');
-    }
-}
-
-

+ 0 - 235
application/api/controller/Schoolfile.php

@@ -1,235 +0,0 @@
-<?php
-namespace app\api\controller;
-use app\common\model\ApproveFlow;
-use app\common\model\DocumentInfo;
-use app\common\model\DocumentApprove;
-use app\common\service\ApproveService;
-use hg\apidoc\annotation as Apidoc;
-
-/**
- * @Apidoc\Title("学校文件")
- */
-class Schoolfile extends Base
-{
-    public function initialize()
-    {
-        parent::initialize();
-        parent::checkLogin();
-    }
-
-    /**
-     * @Apidoc\Title("获取学校文件审核流程")
-     * @Apidoc\Desc("获取学校文件流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getApproveFlow()
-    {
-        $list = ApproveFlow::getApproveUser(6,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("获取抄送人流程")
-     * @Apidoc\Desc("获取抄送人流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getCopyFlow()
-    {
-        $list = ApproveFlow::getCopyTo(6,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("学校文件申请")
-     * @Apidoc\Desc("学校文件申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("branch_id", type="int",desc="部门id")
-     * @Apidoc\Query("title", type="string",desc="标题【文件名】")
-     * @Apidoc\Query("inscribe", type="string",desc="落款")
-     * @Apidoc\Query("content", type="string", desc="学校文件详细内容【上会情况】")
-     * @Apidoc\Query("document", type="string", desc="附件")
-     * @Apidoc\Query("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Query("file_number", type="string", desc="文件号")
-     * @Apidoc\Query("publish_time", type="string", desc="发文时间")
-     * @Apidoc\Query("flow_user", type="string", desc="审批人id(多个逗号隔开)")
-     * @Apidoc\Query("copy_user", type="string", desc="抄送人id(多个逗号隔开)")
-     */
-    public function applyDocument()
-    {
-        $request_param = input('post.');
-        $request_param['user_id'] = $this->user_id;// 申请会员id
-        $request_param['apply_date'] = date("Y-m-d");
-        $flow_user = isset($request_param['flow_user']) ? $request_param['flow_user']:'' ;
-        $copy_user = isset($request_param['copy_user']) ? $request_param['copy_user']:'' ;
-        if(!$flow_user) $this->error('请选择审批人');
-        $flow_info = DocumentInfo::create($request_param);//生成学校文件记录
-        $approve_res = ApproveFlow::getApproveData($flow_user,$copy_user,$flow_info->id);
-        $flow_data = $approve_res['flow_data'];// 学校文件流程
-        $flow_num  =  $approve_res['flow_num'];
-        if(!empty($flow_data)) {
-            DocumentInfo::where('id',$flow_info->id)->update(['approve_num'=>$flow_num]);
-            (new DocumentApprove())->saveAll($flow_data);
-        }else{
-            DocumentInfo::where('id',$flow_info->id)->update(['status'=>2]);
-        }
-        $this->success('学校文件已提交,请等待审核',['detail'=>$flow_info->toArray()]);
-
-    }
-    /**
-     * @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\Query("type", type="int", desc="出差类型id")
-     * @Apidoc\Query("status", type="int", desc="审批状态0全部,1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Returned("branch_id", type="int",desc="部门id")
-     * @Apidoc\Returned("title", type="string",desc="标题【文件名】")
-     * @Apidoc\Returned("inscribe", type="string",desc="落款")
-     * @Apidoc\Returned("content", type="string", desc="学校文件详细内容【上会情况】")
-     * @Apidoc\Returned("document", type="string", desc="附件")
-     * @Apidoc\Returned("publish_time", type="string", desc="发文时间")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("file_number", type="string", desc="文件号")
-     *
-     *
-     */
-    public function getDocumentList()
-    {
-        $sel_where = [];
-        $sel_where[] = ['user_id','=',$this->user_id];
-        if(input('get.status') > 0)  $sel_where[] = ['status','=',input('get.status')];
-        $list = DocumentInfo::where($sel_where)->limit($this->off_set,$this->page_num)
-            ->order('id desc')
-            ->select()->toArray();
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("学校文件详情")
-     * @Apidoc\Desc("学校文件详情")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="学校文件记录id")
-     * @Apidoc\Returned("branch_id", type="int",desc="部门id")
-     * @Apidoc\Returned("title", type="string",desc="标题【文件名】")
-     * @Apidoc\Returned("inscribe", type="string",desc="落款")
-     * @Apidoc\Returned("content", type="string", desc="学校文件详细内容【上会情况】")
-     * @Apidoc\Returned("document", type="string", desc="附件")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("file_number", type="string", desc="文件号")
-     * @Apidoc\Returned("publish_time", type="string", desc="发文时间")
-     * @Apidoc\Returned("headimg", type="string", desc="申请人头像")
-     * @Apidoc\Returned("user_name", type="string", desc="申请人昵称")
-     * @Apidoc\Returned("apply_date", type="string", desc="申请日期")
-     * @Apidoc\Returned("approve_list", type="array", desc="学校文件记录")
-     * @Apidoc\Returned("approve_list.status", type="int", desc="学校文件状态:0待审核学校文件,1学校文件审核中,2审核通过3审核拒绝")
-     * @Apidoc\Returned("approve_list.approve_time", type="string", desc="学校文件时间")
-     * @Apidoc\Returned("approve_list.remark", type="string", desc="学校文件备注")
-     * @Apidoc\Returned("approve_list.user_name", type="string", desc="学校文件人")
-     * @Apidoc\Returned("approve_list.headimg", type="string", desc="学校文件人头像")
-     * @Apidoc\Returned("approve_list.time", type="string", desc="学校文件用时(上一次学校文件完成到本次学校文件的时间,单位秒)")
-     */
-    public function getDocumentInfo()
-    {
-        $id = input('get.id');
-        $detail = DocumentInfo::with('approveList')
-            ->alias('a')
-            ->field('a.*,u.branch_id,u.headimg,u.name user_name')
-            ->leftJoin('StoreMember u','a.user_id = u.id')
-            ->where(['a.id'=>$id])
-            ->limit($this->off_set,$this->page_num)
-            ->find()->toArray();
-        $this->success('ok',['detail'=>$detail]);
-    }
-
-    /**
-     * @Apidoc\Title("需要我审批的")
-     * @Apidoc\Desc("需要我审批的")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",require=true, desc="页数")
-     * @Apidoc\Query("page_num", type="int",require=true, desc="每页数量")
-     * @Apidoc\Query("type", type="int", desc="学校文件类型id")
-     *
-     * @Apidoc\Returned("title", type="string",desc="标题【文件名】")
-     * @Apidoc\Returned("inscribe", type="string",desc="落款")
-     * @Apidoc\Returned("content", type="string", desc="学校文件详细内容【上会情况】")
-     * @Apidoc\Returned("document", type="string", desc="附件")
-     * @Apidoc\Returned("level", type="int", desc="缓急程度(1缓,2稍急,3很急)")
-     * @Apidoc\Returned("file_number", type="string", desc="文件号")
-     *
-     * @Apidoc\Returned("apply_date", type="string", desc="学校文件日期")
-     * @Apidoc\Returned("approve_status", type="int", desc="学校文件状态(我的审批状态)")
-     * @Apidoc\Returned("approve_time", type="string", desc="学校文件时间")
-     * @Apidoc\Returned("approve_id", type="int", desc="学校文件记录id")
-     * @Apidoc\Returned("remark", type="string", desc="学校文件备注")
-     */
-    public function getApproveDocument()
-    {
-        $list = DocumentApprove::field('i.*,p.id approve_id,p.status approve_status,p.approve_time,p.remark')
-            ->alias('p')
-            ->where(['p.approve_user'=>$this->user_id])
-            ->where('p.status','>','0')
-            ->leftJoin('DocumentInfo i','p.info_id = i.id')
-            ->limit($this->off_set,$this->page_num)
-            ->select()->toArray();
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("学校文件审批")
-     * @Apidoc\Desc("学校文件审批")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="申请记录id")
-     * @Apidoc\Query("status", type="string",require=true, desc="学校文件状态(2学校文件通过3学校文件拒绝)")
-     * @Apidoc\Query("remark", type="string",require=true, desc="学校文件备注")
-     */
-    public function approveDocument()
-    {
-        $approve_id = input('post.id');
-        $status = input('post.status');
-        $remark = input('post.remark');
-        $res = ApproveService::approveDocument($approve_id,$this->user_id,$status,$remark);
-        if(!$res['ret_val']) $this->error($res['msg']);
-        $this->success('审批完成');
-    }
-
-    /**
-     * @Apidoc\Title("撤销学校文件申请")
-     * @Apidoc\Desc("撤销学校文件申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="学校文件记录id")
-     */
-    public function cancelApply()
-    {
-        $id  = input('post.id');
-        $apply_info  = DocumentInfo::where('id',$id)->where('user_id',$this->user_id)->find();
-        if(!$apply_info)$this->error('学校文件记录有误');
-        $apply_info->status = 9;
-        $apply_info->save();
-        $this->success('撤销成功');
-    }
-
-
-}
-
-

+ 0 - 105
application/api/controller/Subscribe.php

@@ -1,105 +0,0 @@
-<?php
-namespace app\api\controller;
-
-use app\api\controller\Base;
-use think\Db;
-use hg\apidoc\annotation as Apidoc;
-/**
- * @Apidoc\Title("申购模块")
- */
-class Subscribe extends Base
-{
-    public function initialize()
-    {
-        parent::initialize();
-        parent::checkLogin();
-    }
-    /**
-     * @Apidoc\Title("获取商品导入模板地址")
-     * @Apidoc\Desc("获取审批流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("", type="string", desc="模板链接地址")
-     */
-    public function template_url()
-    {
-        $url = 'https://'.$_SERVER['HTTP_HOST'].'/template.xlsx';
-        $this->success('获取成功',$url);
-    }
-    /**
-     * @Apidoc\Title("获取商品导入后的商品信息")
-     * @Apidoc\Desc("获取审批流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("url", type="string", desc="导入文件上传后的路径")
-     * @Apidoc\Returned("", type="string", desc="模板链接地址")
-     */
-    public function goods_info()
-    {
-        $url = input('url');
-        if(empty($url)){
-            $this->error('参数错误');
-        }
-        $file_name = explode('/',$url);
-        $import_path = $_SERVER['DOCUMENT_ROOT'].'/upload/excel/'.end($file_name);
-        $objReader =\PHPExcel_IOFactory::createReader('Excel2007');
-        $objExcel = $objReader->load($import_path);
-        $list = $objExcel->getActiveSheet()->toArray();
-        if(empty($list)){
-            $this->error('暂无数据');
-        }
-        $data = array();
-        foreach ($list as $k=>$v){
-            if($k > 0 && $v[0]){
-                //判断分类是否有
-                $old_cate_one_id = $cate_one_id = Db::name('goods_cate')->where('title',$v[1])->where('level',1)->value('id');
-                $old_cate_two_id = $cate_two_id = Db::name('goods_cate')->where('title',$v[2])->where('level',2)->value('id');
-                if(empty($cate_one_id)){
-                    Db::name('goods_cate')->insert(array('title'=>$v[1]));
-                    $cate_one_id = Db::name('goods_cate')->getLastInsID();
-                    Db::name('goods_cate')->insert(array('title'=>$v[2],'level'=>2,'pid'=>$cate_one_id));
-                    $cate_two_id = Db::name('goods_cate')->getLastInsID();
-                }
-                if(empty($cate_two_id)){
-                    Db::name('goods_cate')->insert(array('title'=>$v[2],'level'=>2,'pid'=>$cate_one_id));
-                    $cate_two_id = Db::name('goods_cate')->getLastInsID();
-                }
-                $goods_id = Db::name('store_goods')->where('name',$v[4])->value('id');
-                if(empty($old_cate_one_id) || empty($old_cate_two_id) || empty($goods_id)){
-                    Db::name('store_goods')->insert(array('name'=>$v[4],'brand'=>$v[3],'first_classify'=>$cate_one_id,'second_classify'=>$cate_two_id,'user_id'=>$this->user_id));
-                    $goods_id = Db::name('store_goods')->getLastInsID();
-                }
-                $specification_name_arr = explode(',',$v[5]);
-                $specification_value_arr = explode(',',$v[6]);
-                if(count($specification_name_arr) != count($specification_value_arr)){
-                    $this->error('规格信息有误');
-                }
-
-                $specification = '';
-                foreach ($specification_name_arr as $sk=>$sv){
-                    if($sk == 0){
-                        $specification = $sv.':'.$specification_value_arr[$sk];
-                    }else{
-                        $specification .= ','.$sv.':'.$specification_value_arr[$sk];
-                    }
-                    //保存规格键值
-                    $spec_id = Db::name('goods_spec')->where('goods_id',$goods_id)->where('spec_name',$sv)->where('spec_value',$specification_value_arr[$sk])->value('id');
-                    if(empty($spec_id)){
-                        Db::name('goods_spec')->insert(array('goods_id'=>$goods_id,'spec_name'=>$sv,'spec_value'=>$specification_value_arr[$sk]));
-                    }
-                }
-                $goods_item_id = Db::name('store_goods_item')->where('goods_id',$goods_id)->where('goods_spec',$specification)->value('id');
-                if(empty($goods_item_id)){
-                    Db::name('store_goods_item')->insert(array('goods_id'=>$goods_id, 'goods_spec'=>$specification, 'goods_no'=>$v[0]));
-                    $goods_item_id = Db::name('store_goods_item')->getLastInsID();
-                }
-                $data[] = array('name'=>$v[4],'specification'=>$specification,'num'=>$v[7],'price'=>$v[8],'goods_item_id'=>$goods_item_id);
-            }
-        }
-        $this->success('导入成功',$data);
-    }
-}
-
-

+ 0 - 10
application/api/controller/Task.php

@@ -1,10 +0,0 @@
-<?php
-namespace app\api\controller;
-
-class Task extends Base
-{
-
-
-
-
-}

+ 0 - 231
application/api/controller/UserCar.php

@@ -1,231 +0,0 @@
-<?php
-namespace app\api\controller;
-use AlibabaCloud\SDK\Dingtalk\Vyida_1_0\Models\GetFormDataByIDResponseBody\originator\name;
-use app\common\model\CarApprove;
-use app\common\model\ApproveFlow;
-use app\common\model\CarInfo;
-use app\common\service\ApproveService;
-use think\Db;
-use hg\apidoc\annotation as Apidoc;
-/**
- * @Apidoc\Title("用车管理")
- */
-class UserCar extends Base
-{
-    public function initialize()
-    {
-        parent::initialize();
-        parent::checkLogin();
-    }
-
-    /**
-     * @Apidoc\Title("获取审批流程")
-     * @Apidoc\Desc("获取审批流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getApproveFlow()
-    {
-        $list = ApproveFlow::getApproveUser(2,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("获取抄送人流程")
-     * @Apidoc\Desc("获取抄送人流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getCopyFlow()
-    {
-        $list = ApproveFlow::getCopyTo(2,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("用车申请")
-     * @Apidoc\Desc("用车申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("departure", type="string",desc="出发地址")
-     * @Apidoc\Query("start_time", type="string", desc="出发时间")
-     * @Apidoc\Query("arrive", type="string", desc="到达地址")
-     * @Apidoc\Query("end_time", type="string", desc="返回时间")
-     * @Apidoc\Query("back_address", type="string", desc="返回地址")
-     * @Apidoc\Query("flow_user", type="string", desc="审批人id(多个逗号隔开)")
-     * @Apidoc\Query("copy_user", type="string", desc="抄送人id(多个逗号隔开)")
-     */
-    public function applyCar()
-    {
-        $departure = input('post.departure');
-        $start_time = input('post.start_time');
-        $arrive = input('post.arrive');
-        $end_time = input('post.end_time');
-        $back_address = input('post.back_address');
-        $request_param = input('post.');
-        $request_param['user_id'] = $this->user_id;
-        $request_param['apply_user'] = $this->user_id;
-        $request_param['apply_date'] = date("Y-m-d");
-        $flow_user = isset($request_param['flow_user']) ? $request_param['flow_user']:'' ;
-        $copy_user = isset($request_param['copy_user']) ? $request_param['copy_user']:'' ;
-        if(!$flow_user) $this->error('请选择审批人');
-        $flow_info = CarInfo::create($request_param);//生成出差记录
-        $approve_res = ApproveFlow::getApproveData($flow_user,$copy_user,$flow_info->id);
-        $flow_data = $approve_res['flow_data'];// 审批流程
-        $flow_num = $approve_res['flow_num'];
-
-        if(!empty($flow_data)) {
-            CarInfo::where('id',$flow_info->id)->update(['approve_num'=>$flow_num]);
-            (new CarApprove())->saveAll($flow_data);
-        }else{
-            CarInfo::where('id',$flow_info->id)->update(['status'=>2]);
-        }
-        $this->success('用车申请已提交,请等待审核',['detail'=>$flow_info->toArray()]);
-
-    }
-    /**
-     * @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\Query("status", type="int", desc="审批状态0全部,1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Query("sel_time", type="string", desc="时间查询")
-     * @Apidoc\Returned("create_at", type="string", desc="提交申请用车时间")
-     * @Apidoc\Returned("departure", type="string", desc="出发地址")
-     * @Apidoc\Returned("start_time", type="string", desc="出发时间")
-     * @Apidoc\Returned("arrive", type="string", desc="到达地址")
-     * @Apidoc\Returned("end_time", type="string", desc="返回时间")
-     * @Apidoc\Returned("back_address", type="string", desc="返回地址")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="用车会员头像")
-     */
-    public function getApplyList()
-    {
-        $sel_where[] = ['user_id','=',$this->user_id];
-        if(input('get.status') > 0)  $sel_where[] = ['status','=',input('get.status')];
-        if(input('get.sel_time'))  $sel_where[] = ['create|end_date','=',input('get.sel_time')];
-        $list = CarInfo::where($sel_where)
-            ->field('c.id,c.create_at,c.departure,c.start_time,c.arrive,c.end_time,c.back_address,u.name user_name,u.headimg')
-            ->alias('c')
-            ->leftJoin('StoreMember u','u.id = c.user_id')
-            ->limit($this->off_set,$this->page_num)
-            ->select()->toArray();
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("用车记录详情")
-     * @Apidoc\Desc("用车记录详情")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="用车记录id")
-     * @Apidoc\Returned("create_at", type="string", desc="提交申请用车时间")
-     * @Apidoc\Returned("departure", type="string", desc="出发地址")
-     * @Apidoc\Returned("start_time", type="string", desc="出发时间")
-     * @Apidoc\Returned("arrive", type="string", desc="到达地址")
-     * @Apidoc\Returned("end_time", type="string", desc="返回时间")
-     * @Apidoc\Returned("back_address", type="string", desc="返回地址")
-     * @Apidoc\Returned("approve_list", type="array", desc="审批记录")
-     * @Apidoc\Returned("approve_list.status", type="int", desc="审批状态:0待审批(未到该审批人审批),1审批中(已到该审批人审批,还未审批)2审批通过3审批拒绝")
-     * @Apidoc\Returned("approve_list.approve_time", type="string", desc="审批时间")
-     * @Apidoc\Returned("approve_list.remark", type="string", desc="审批备注")
-     * @Apidoc\Returned("approve_list.user_name", type="string", desc="审批人")
-     * @Apidoc\Returned("approve_list.headimg", type="string", desc="审批人头像")
-     * @Apidoc\Returned("approve_list.time", type="string", desc="审批用时(上一次审批完成到本次审批的时间,单位秒)")
-     */
-    public function getApplyDetail()
-    {
-        $id = input('get.id');
-        $detail = CarInfo::field('c.id,c.create_at,c.departure,c.start_time,c.arrive,c.end_time,c.back_address,u.name user_name,u.headimg')
-            ->alias('c')->with('approveList')->where(['user_id'=>$this->user_id])->where(['id'=>$id])
-            ->limit($this->off_set,$this->page_num)
-            ->find()->toArray();
-        $this->success('ok',['detail'=>$detail]);
-
-    }
-
-    /**
-     * @Apidoc\Title("需要我审批的")
-     * @Apidoc\Desc("需要我审批的")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",require=true, desc="页数")
-     * @Apidoc\Query("page_num", type="int",require=true, desc="每页数量")
-     * @Apidoc\Returned("departure", type="string", desc="出发地址")
-     * @Apidoc\Returned("start_time", type="string", desc="出发时间")
-     * @Apidoc\Returned("arrive", type="string", desc="到达地址")
-     * @Apidoc\Returned("end_time", type="string", desc="返回时间")
-     * @Apidoc\Returned("back_address", type="string", desc="返回地址")
-     * @Apidoc\Returned("user_name", type="string", desc="申请人")
-     * @Apidoc\Returned("approve_status", type="int", desc="审批状态(我的审批状态)")
-     * @Apidoc\Returned("approve_time", type="string", desc="审批时间(1审批中2审批通过3审批拒绝)")
-     * @Apidoc\Returned("remark", type="string", desc="审批备注")
-     */
-    public function getApproveApply()
-    {
-        $list = CarApprove::field('i.*,p.status approve_status,p.approve_time,p.remark')
-            ->alias('p')
-            ->where(['p.approve_user'=>$this->user_id])
-            ->where('p.status','>','0')
-            ->leftJoin('CarInfo i','p.car_id = i.id')
-            ->limit($this->off_set,$this->page_num)
-            ->select()->toArray();
-        array_walk($list,function (&$v){
-            $user_info = $this->userInfo('name,headimg');
-            $v['user_name'] = $user_info['name'];
-        });
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("撤销用车申请")
-     * @Apidoc\Desc("撤销用车申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="用车记录id")
-     */
-    public function cancelApply()
-    {
-        $id  = input('post.id');
-        $apply_info  = CarInfo::where('id',$id)->where('user_id',$this->user_id)->find();
-        if(!$apply_info)$this->error('用车记录有误');
-        $apply_info->status = 9;
-        $apply_info->save();
-        $this->success('撤销成功');
-    }
-    /**
-     * @Apidoc\Title("审批用车记录")
-     * @Apidoc\Desc("审批用车记录")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="申请记录id")
-     * @Apidoc\Query("status", type="string",require=true, desc="审批状态(2维修通过3维修拒绝)")
-     * @Apidoc\Query("remark", type="string",require=true, desc="审批备注")
-     */
-    public function approveCar()
-    {
-        $approve_id = input('post.id');
-        $status = input('post.status');
-        $remark = input('post.remark');
-        $res = ApproveService::approveCar($approve_id,$this->user_id,$status,$remark);
-        if(!$res['ret_val']) $this->error($res['msg']);
-        $this->success('审批完成');
-    }
-
-}
-
-

+ 0 - 267
application/api/controller/UserLeave.php

@@ -1,267 +0,0 @@
-<?php
-namespace app\api\controller;
-use AlibabaCloud\SDK\Dingtalk\Vyida_1_0\Models\GetFormDataByIDResponseBody\originator\name;
-use app\common\model\LeaveApprove;
-use app\common\model\ApproveFlow;
-use app\common\model\LeaveInfo;
-use app\common\model\LeaveType;
-use app\common\service\ApproveService;
-use think\Db;
-use app\common\model\User;
-use hg\apidoc\annotation as Apidoc;
-/**
- * @Apidoc\Title("员工请假管理")
- */
-class UserLeave extends Base
-{
-    public function initialize()
-    {
-        parent::initialize();
-        parent::checkLogin();
-    }
-
-    /**
-     * @Apidoc\Title("获取审批流程")
-     * @Apidoc\Desc("获取审批流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getApproveFlow()
-    {
-        $list = ApproveFlow::getApproveUser(1,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("获取抄送人流程")
-     * @Apidoc\Desc("获取抄送人流程")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("user_name", type="string", desc="会员名称")
-     * @Apidoc\Returned("headimg", type="string", desc="会员头像")
-     */
-    public function getCopyFlow()
-    {
-        $list = ApproveFlow::getCopyTo(1,$this->user_id);
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("获取请假类型")
-     * @Apidoc\Desc("获取请假类型")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Returned("id", type="int", desc="会员id")
-     * @Apidoc\Returned("title", type="int", desc="类型")
-     */
-    public function getLeaveType()
-    {
-        $field = 'id,title';
-        $user_info = LeaveType::field($field)->where('status',1)->where('is_deleted',0)->select()->toArray();
-        $this->success('获取成功',['detail'=>$user_info]);
-    }
-
-    /**
-     * @Apidoc\Title("请假申请")
-     * @Apidoc\Desc("请假申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("type", type="int",desc="请假类型id")
-     * @Apidoc\Query("start_date", type="string",desc="开始日期(格式:2022-11-01)")
-     * @Apidoc\Query("start_time", type="string", desc="开始时间(上午||下午)")
-     * @Apidoc\Query("end_time", type="string", desc="结束日期(格式:2022-11-01)")
-     * @Apidoc\Query("title", type="string", desc="结束时间(上午||下午)")
-     * @Apidoc\Query("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Query("images", type="string", desc="图片(多张|隔开)")
-     * @Apidoc\Query("content", type="string", desc="呈批详细内容")
-     * @Apidoc\Query("user_id", type="int", desc="请假会员id(自己请假可以不传,代为请假传请假人id)")
-     * @Apidoc\Query("flow_user", type="string", desc="审批人id(多个逗号隔开)")
-     * @Apidoc\Query("copy_user", type="string", desc="抄送人id(多个逗号隔开)")
-     */
-    public function applyVacate()
-    {
-        $request_param = input('post.');
-        if(empty($request_param['start_date']) || empty($request_param['end_date'])) $this->error('请选择请假期');
-        if(empty($request_param['type'])) $this->error('请选择请假类型');
-        if(empty($request_param['user_id'])) $request_param['user_id'] = $this->user_id;
-        $request_param['apply_user'] = $this->user_id;// 申请会员id
-
-        $flow_user = isset($request_param['flow_user']) ? $request_param['flow_user']:'' ;
-        $copy_user = isset($request_param['copy_user']) ? $request_param['copy_user']:'' ;
-        if(!$flow_user) $this->error('请选择审批人');
-        $flow_info = LeaveInfo::create($request_param);//生成出差记录
-        $approve_res = ApproveFlow::getApproveData($flow_user,$copy_user,$flow_info->id);
-        $flow_data = $approve_res['flow_data'];// 审批流程
-        $flow_num = $approve_res['flow_num'];
-
-        if(!empty($flow_data)) {
-            LeaveInfo::where('id',$flow_info->id)->update(['approve_num'=>$flow_num]);
-            (new LeaveApprove())->saveAll($flow_data);
-        }else{
-            LeaveInfo::where('id',$flow_info->id)->update(['status'=>2]);
-        }
-        $this->success('请假已提交,请等待审核',['detail'=>$flow_info->toArray()]);
-    }
-
-    /**
-     * @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\Query("type", type="int", desc="请假类型id")
-     * @Apidoc\Query("status", type="int", desc="审批状态0全部,1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Query("sel_time", type="string", desc="时间查询")
-     * @Apidoc\Returned("start_date", type="string", desc="开始日期(格式:2022-11-01)")
-     * @Apidoc\Returned("start_time", type="string", desc="开始时间(上午||下午)")
-     * @Apidoc\Returned("end_date", type="string", desc="结束日期(格式:2022-11-01)")
-     * @Apidoc\Returned("end_time", type="string", desc="结束时间(上午||下午)")
-     * @Apidoc\Returned("reason", type="string", desc="请假事由")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("images", type="string", desc="图片(多张|隔开)")
-     * @Apidoc\Returned("content", type="string", desc="维修详细内容")
-     * @Apidoc\Returned("type_name", type="string", desc="请假类型")
-     * @Apidoc\Returned("status", type="int", desc="状态:1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Returned("user_id", type="int", desc="请假会员id")
-     */
-    public function getVacateList()
-    {
-        $all_type = LeaveType::getAllType();
-        $type = array_column($all_type,null,'id');
-        $sel_where = [];
-        $sel_where[] = ['user_id','=',$this->user_id];
-        if(input('get.status') > 0)  $sel_where[] = ['status','=',input('get.status')];
-        if(input('get.type') > 0)  $sel_where[] = ['type','=',input('get.type')];
-        if(input('get.sel_time'))  $sel_where[] = ['start_date|end_date','=',input('get.sel_time')];
-        $list = LeaveInfo::where($sel_where)->limit($this->off_set,$this->page_num)->select()->toArray();
-        array_walk($list,function (&$v,$k)use ($type){
-            $list['type_name'] = $type[$v['type']]['title'];
-        });
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("我的请假详情")
-     * @Apidoc\Desc("我的请假详情")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="请假记录id")
-     * @Apidoc\Returned("start_date", type="string", desc="开始日期(格式:2022-11-01)")
-     * @Apidoc\Returned("start_time", type="string", desc="开始时间(上午||下午)")
-     * @Apidoc\Returned("end_date", type="string", desc="结束日期(格式:2022-11-01)")
-     * @Apidoc\Returned("end_time", type="string", desc="结束时间(上午||下午)")
-     * @Apidoc\Returned("reason", type="string", desc="请假事由")
-     * @Apidoc\Returned("type_name", type="string", desc="请假类型")
-     * @Apidoc\Returned("status", type="int", desc="状态:1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Returned("user_id", type="int", desc="请假会员id")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("images", type="string", desc="图片(多张|隔开)")
-     * @Apidoc\Returned("content", type="string", desc="维修详细内容")
-     * @Apidoc\Returned("type_name", type="string", desc="请假类型")
-     * @Apidoc\Returned("status", type="int", desc="状态:1审批中,2审批通过,3审批拒绝,9取消")
-     * @Apidoc\Returned("user_id", type="int", desc="请假会员id")
-     * @Apidoc\Returned("approve_list", type="array", desc="审批记录")
-     * @Apidoc\Returned("approve_list.status", type="int", desc="审批状态:0待审批(未到该审批人审批),1审批中(已到该审批人审批,还未审批)2审批通过3审批拒绝")
-     * @Apidoc\Returned("approve_list.approve_time", type="string", desc="审批时间")
-     * @Apidoc\Returned("approve_list.remark", type="string", desc="审批备注")
-     * @Apidoc\Returned("approve_list.user_name", type="string", desc="审批人")
-     * @Apidoc\Returned("approve_list.headimg", type="string", desc="审批人头像")
-     * @Apidoc\Returned("approve_list.time", type="string", desc="审批用时(上一次审批完成到本次维修的时间,单位秒)")
-     */
-    public function getVacateDetail()
-    {
-        $id = input('get.id');
-        $detail = LeaveInfo::with('approveList')->where(['user_id'=>$this->user_id])->where(['id'=>$id])
-            ->limit($this->off_set,$this->page_num)
-            ->find()->toArray();
-        $detail['images_arr'] = $detail['images'] ? explode('|',$detail['images']) : null;
-        $this->success('ok',['detail'=>$detail]);
-
-    }
-
-    /**
-     * @Apidoc\Title("需要我审批的")
-     * @Apidoc\Desc("需要我审批的")
-     * @Apidoc\Method("GET")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("page", type="int",require=true, desc="页数")
-     * @Apidoc\Query("page_num", type="int",require=true, desc="每页数量")
-     * @Apidoc\Query("id", type="int", desc="请假记录id")
-     * @Apidoc\Returned("start_date", type="string", desc="开始日期(格式:2022-11-01)")
-     * @Apidoc\Returned("start_time", type="string", desc="开始时间(上午||下午)")
-     * @Apidoc\Returned("end_date", type="string", desc="结束日期(格式:2022-11-01)")
-     * @Apidoc\Returned("end_time", type="string", desc="结束时间(上午||下午)")
-     * @Apidoc\Returned("document", type="string", desc="附件(文件路径)")
-     * @Apidoc\Returned("images", type="string", desc="图片(多张|隔开)")
-     * @Apidoc\Returned("content", type="string", desc="呈批详细内容")
-     * @Apidoc\Returned("reason", type="string", desc="请假事由")
-     * @Apidoc\Returned("approve_status", type="int", desc="审批状态(我的审批状态)")
-     * @Apidoc\Returned("approve_time", type="string", desc="审批时间(1审批中2审批通过3审批拒绝)")
-     * @Apidoc\Returned("remark", type="string", desc="审批备注")
-     */
-    public function getApproveLeave()
-    {
-        $list = LeaveApprove::field('i.*,p.status approve_status,p.approve_time,p.remark')
-            ->alias('p')
-            ->where(['p.approve_user'=>$this->user_id])
-            ->where('p.status','>','0')
-            ->leftJoin('LeaveInfo i','p.info_id = i.id')
-            ->limit($this->off_set,$this->page_num)
-            ->select()->toArray();
-        array_walk($list,function (&$v){
-            $v['images_arr'] =  $v['images'] ? explode('|',$v['images']) : null;
-        });
-        $this->success('ok',['list'=>$list]);
-    }
-
-    /**
-     * @Apidoc\Title("审批请假记录")
-     * @Apidoc\Desc("审批请假记录")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="请假记录id")
-     * @Apidoc\Query("status", type="string",require=true, desc="审批状态(2审批通过3审批拒绝)")
-     * @Apidoc\Query("remark", type="string",require=true, desc="审批备注")
-     */
-    public function approveLeave()
-    {
-        $approve_id = input('post.id');
-        $status = input('post.status');
-        $remark = input('post.remark');
-        $res = ApproveService::approveLeave($approve_id,$this->user_id,$status,$remark);
-        if(!$res['ret_val']) $this->error($res['msg']);
-        $this->success('审批完成');
-    }
-
-    /**
-     * @Apidoc\Title("撤销请假申请")
-     * @Apidoc\Desc("撤销请假申请")
-     * @Apidoc\Method("POST")
-     * @Apidoc\Author("HG")
-     * @Apidoc\Tag("")
-     * @Apidoc\Query("id", type="int",require=true, desc="请假记录id")
-     */
-    public function cancelApply()
-    {
-        $id  = input('post.id');
-        $apply_info  = LeaveInfo::where('id',$id)->where('user_id|apply_user',$this->user_id)->find();
-        if(!$apply_info)$this->error('请假记录有误');
-        $apply_info->status = 9;
-        $apply_info->save();
-        $this->success('撤销成功');
-    }
-
-}
-
-

+ 11 - 0
application/common/constant/CommonConstant.php

@@ -149,4 +149,15 @@ class CommonConstant
         ];
     }
 
+    // 方式:create=申请,update=重新发起,edit=审批人修改
+    const create = 'create';
+    const update = 'update';
+    const edit = 'edit';
+
+    const way = [
+        self::create=>'create',
+        self::update=>'update',
+        self::edit=>'edit',
+    ];
 }
+

+ 9 - 8
application/common/model/ApproveInfo.php

@@ -33,19 +33,25 @@ class ApproveInfo extends Model
     // 关联审批 (详情/信息)
     public function approve()
     {
-        return $this->hasMany(Approve::class, 'info_id', 'id')->where('is_deleted',CommonConstant::IS_DELETED_0);
+        return $this->hasMany(Approve::class, 'info_id', 'id')->where('is_deleted', CommonConstant::IS_DELETED_0);
     }
 
     // 关联抄送 (详情/信息)
     public function approveCopy()
     {
-        return $this->hasMany(ApproveCopy::class, 'info_id', 'id')->where('is_deleted',CommonConstant::IS_DELETED_0);
+        return $this->hasMany(ApproveCopy::class, 'info_id', 'id')->where('is_deleted', CommonConstant::IS_DELETED_0);
     }
 
     // 关联审批 (我的申请记录)
     public function approveOne()
     {
-        return $this->hasOne(Approve::class, 'info_id', 'id')->where('is_deleted',CommonConstant::IS_DELETED_0);
+        return $this->hasOne(Approve::class, 'info_id', 'id')->where('is_deleted', CommonConstant::IS_DELETED_0);
+    }
+
+    // 关联申购商品 (我的申请记录 详情/信息)
+    public function applyGoods()
+    {
+        return $this->hasMany(ApplyGoods::class, 'info_id', 'id');
     }
 
     // 关联出差同行人员 (我的申请记录 详情/信息)
@@ -54,9 +60,4 @@ class ApproveInfo extends Model
         return $this->hasMany(ApproveEvectionPeerUser::class, 'info_id', 'id');
     }
 
-    // 关联申购商品 (我的申请记录 详情/信息)
-    public function applyGoods()
-    {
-        return $this->hasMany(ApplyGoods::class, 'info_id', 'id');
-    }
 }

+ 29 - 12
application/common/service/ApproveInfoService.php

@@ -538,15 +538,19 @@ class ApproveInfoService
                 'moduleInfo',
                 'approve' => function ($query) {
                     $query->field('is_deleted,create_at', true)
-                        ->with(['user' => function ($query) {
-                            $query->field('userid,name,avatar');
-                        }]);
+                        ->with([
+                            'user' => function ($query) {
+                                $query->field('userid,name,avatar');
+                            }
+                        ]);
                 },
                 'approveCopy' => function ($query) {
                     $query->field('is_deleted,create_at', true)
-                        ->with(['user' => function ($query) {
-                            $query->field('userid,name,avatar');
-                        }]);
+                        ->with([
+                            'user' => function ($query) {
+                                $query->field('userid,name,avatar');
+                            }
+                        ]);
                 }
             ]);
             $info = $info->find($id);
@@ -563,6 +567,7 @@ class ApproveInfoService
                     $approve_info_user = User::field('userid,name,avatar')->where('userid', $info['user_id'])->find();
                     $approve_info_user['create_at'] = $info['create_at'];
                 }
+                // 部门列表
                 $department_data = Department::field('dept_id,name')->where('dept_id', 'in', $info['department'])->select();
                 $info['approve_info_user'] = $approve_info_user;
                 $info['department_data'] = $department_data;
@@ -577,6 +582,11 @@ class ApproveInfoService
         return $info;
     }
 
+    /**
+     * @param mixed $list
+     * @param integer $module 模块类型
+     * @param integer $status 审批状态
+     **/
     public static function get_with($list, $module, $status)
     {
         $field = 'id,info_id,status,approve_user';
@@ -588,9 +598,11 @@ class ApproveInfoService
                         'approveOne' => function ($query) use ($status, $field) {
                             $query->field($field)
                                 ->where('status', $status)
-                                ->with(['user' => function ($query) {
-                                    $query->field('userid,name');
-                                }]);
+                                ->with([
+                                    'user' => function ($query) {
+                                        $query->field('userid,name');
+                                    }
+                                ]);
                         },
                         'applyGoods' => function ($query) {
                             $query->field('id,info_id,goods_name');
@@ -672,28 +684,33 @@ class ApproveInfoService
         return $list;
     }
 
+    /**
+     * @param mixed $info
+     * @param string $type 类型:detail=详情,info=信息
+     **/
     public static function get_item($info, $type)
     {
         $module = $info['module'];
         switch ($module) {
             case CommonConstant::MODULE_1:
                 if ($type == 'detail') {
-                    $info['applyGoods'] = $info->applyGoods()->field('id,info_id,goods_name,total_amount,goods_data')->select();
+                    $info['apply_goods'] = $info->applyGoods()->field('id,info_id,goods_name,total_amount,goods_data')->select();
                 } else {
-                    $info->applyGoods;
+                    $info->apply_goods;
                 }
                 break;
             case CommonConstant::MODULE_5:
                 if ($type == 'detail') {
                     $info['peer_user'] = $info->peerUser()->field('id,info_id,name')->select();
                 } else {
-                    $info->peerUser;
+                    $info->peer_user;
                 }
                 break;
         }
         return $info;
     }
 
+
     /**
      * 操作方法
      *