zhanglinxin 1 ano atrás
pai
commit
9268eb7292

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

@@ -10,13 +10,17 @@ use app\common\model\ApproveFlow;
 use app\common\model\EvectionInfo;
 use app\common\service\ApproveFlowService;
 use app\common\service\ApproveService;
+use app\common\service\EvectionInfoService;
 use think\App;
 use think\Db;
 use app\common\model\User;
 use hg\apidoc\annotation as Apidoc;
+use think\Request;
+
+
 
 /**
- * @Apidoc\Title("员工出差管理")
+ * @Apidoc\Title("员工出差")
  * @Apidoc\Group("api")
  */
 class Evection extends Base
@@ -56,14 +60,28 @@ class Evection extends Base
      * @Apidoc\Query("images", type="string", desc="图片(多个用英文逗号隔开)")
      * @Apidoc\Query("type", type="integer",desc="出差类型:1=市内,2=市外")
      * @Apidoc\Query("is_who", type="integer",desc="是否跨关内关外:0=否,1=是")
-     * @Apidoc\Query("desc", type="string", desc="备注")
-     * @Apidoc\Query("peer_user", type="string", desc="同行员工id(多个用英文逗号隔开)")
+     * @Apidoc\Query("remark", type="string", desc="备注")
+     * @Apidoc\Query("peer_user", type="string", desc="同行员工数据")
      * @Apidoc\Query("approve_user", type="string", desc="审批人id(多个用英文逗号隔开)")
      * @Apidoc\Query("copy_user", type="string", desc="抄送人id(多个用英文逗号隔开)")
      */
-    public function applyEvection()
+    public function create()
     {
-        $request_param = input('post.');
+        $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("reason", "start_time", "end_time", "document", "images", "type", "is_who", "remark", "peer_user", "approve_user", "copy_user");
+        EvectionInfoService::create($params,$this->user);
+        $this->success('申请已提交,请等待审核');
+
         if (empty($request_param['start_time']) || empty($request_param['end_time'])) $this->error('请选择出差时间');
         if (empty($request_param['type'])) $this->error('请选择出差类型');
         if (empty($request_param['user_id'])) $request_param['user_id'] = $this->user_id;
@@ -83,7 +101,7 @@ class Evection extends Base
         } else {
             EvectionInfo::where('id', $flow_info->id)->update(['status' => 2]);
         }
-        $this->success('出差已提交,请等待审核', ['detail' => $flow_info->toArray()]);
+        $this->success('出差已提交,请等待审核', ['detail' => -$flow_info>toArray()]);
     }
 
 

+ 11 - 0
application/common.php

@@ -182,3 +182,14 @@ function p($arr)
     print_r($arr);
     echo '</pre>';
 }
+
+/**
+ * 获取订单号
+ **/
+function get_order_sn($user_id)
+{
+    $rand = $user_id < 9999 ? mt_rand(100000, 99999999) : mt_rand(100, 99999);
+    $order_sn = date('Yhis') . $rand;
+    $id = str_pad($user_id, (24 - strlen($order_sn)), '0', STR_PAD_BOTH);
+    return $order_sn . $id;
+}

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

@@ -0,0 +1,11 @@
+<?php
+
+namespace app\common\model;
+
+use think\Model;
+
+class EvectionPeerUser extends Model
+{
+    // 表名
+    protected $name = 'evection_peer_user';
+}

+ 1 - 0
application/common/service/ApproveFlowService.php

@@ -71,4 +71,5 @@ class ApproveFlowService
         }
         return User::field('userid,headimg,name')->where('userid', 'in', $user_ids)->select();
     }
+
 }

+ 49 - 0
application/common/service/EvectionInfoService.php

@@ -0,0 +1,49 @@
+<?php
+
+namespace app\common\service;
+
+use app\common\constant\CommonConstant;
+use app\common\model\ApproveFlow;
+use app\common\model\EvectionInfo;
+use app\common\model\EvectionPeerUser;
+use app\common\model\User;
+use think\Db;
+use think\Exception;
+
+/**
+ * 出差申请服务类
+ */
+class EvectionInfoService
+{
+
+    /**
+     * 出差申请
+     *
+     * @param $params
+     * @param $user
+     **/
+    public static function create($params, $user)
+    {
+        $userid = $user['userid'];
+        $order_no = get_order_sn($userid);
+        $approve_user = explode(',', $params['approve_user']);
+        $approve_num = count($approve_user);
+
+        $data = [
+            'user_id' => $userid,
+            'order_no' => $order_no,
+            'apply_date' => date("Y-m-d"),
+            'start_time' => $params['start_time'],
+            'end_time' => $params['end_time'],
+            'document' => $params['document'],
+            'images' => $params['images'],
+            'type' => $params['type'],
+            'is_who' => $params['is_who'],
+            'remark' => $params['remark'],
+            'approve_num' => $approve_num,
+        ];
+        EvectionInfo::create($data);
+        EvectionPeerUser::insertAll();
+    }
+
+}