zhanglinxin 1 年之前
父节点
当前提交
2182fb9a1d

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

@@ -29,7 +29,7 @@ class Approveinfo extends Base
      * @Apidoc\Param("way", type="string", require=true, desc="方式:create=申请,update=重新发起,edit=审批人修改")
      * @Apidoc\Param("id", type="integer", require=true, desc="ID way=cretae 不传值或传0,way=update 传值申请信息接口的id,way=edit 传值审批详情接口的approve_id")
      * @Apidoc\Param("module", type="integer", require=true, desc="模块类型:1=申购申请,2=呈批申请,3=入库申请,4=领用申请,5=出差申请,6=请假申请,7=用车申请,8=维修申请,9=合同呈批,10=收文批阅,11=学校文件")
-     * @Apidoc\Param("apply_user_id", type="string", require=false, desc="发起人 module=5,module=6,module=7")
+     * @Apidoc\Param("apply_user_id", type="string", require=false, desc="申请人 module=5,module=6,module=7")
      * @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合同类型")
      * @Apidoc\Param("desc", type="string", require=false, desc="module=2缓急程度,module=8具体内容,module=9缓急程度,module=10来文单位名称,module=11缓急程度")

+ 31 - 16
application/common/service/ApproveInfoService.php

@@ -33,12 +33,18 @@ class ApproveInfoService
     public static function create($id, $module, $params, $user)
     {
         $userid = $user['userid'];
-        $apply_user_id = $params['apply_user_id'] ? $params['apply_user_id']: '';
-
-        // 发起人信息
-        $apply_user = User::field('userid,department')->where('userid',$apply_user_id)->find();
-        if(!$apply_user){
-            except('发起人信息不存在或已删除');
+        $department = $user['department'];
+        $apply_user_id = $params['apply_user_id'];
+
+        // 申请人信息
+        if (in_array($module, [CommonConstant::MODULE_5, CommonConstant::MODULE_6, CommonConstant::MODULE_7])) {
+            $apply_user = User::field('department')
+                ->where('userid', $apply_user_id)
+                ->find();
+            if (!$apply_user) {
+                except('申请人信息不存在或已删除');
+            }
+            $department = $apply_user['department'];
         }
 
         // 编辑
@@ -69,7 +75,7 @@ class ApproveInfoService
             'module' => $module,
             'user_id' => $userid,
             'apply_user_id' => $apply_user_id,
-            'department' => $apply_user['department'],
+            'department' => $department,
             'status' => CommonConstant::STATUS_2,
             'approve_num' => $approve_num,
             'cur_num' => 0,
@@ -326,7 +332,7 @@ class ApproveInfoService
             $goods_name = '';
             $goods_stock_name = '';
             $apply_goods_data = [];
-            foreach ($goods_ids as $key=>$value) {
+            foreach ($goods_ids as $key => $value) {
                 if (array_key_exists($value['id'], $goods_object)) {
                     // 商品库里有该商品
                     $goods_info = $goods_object[$value['id']];
@@ -361,7 +367,7 @@ class ApproveInfoService
                         'total_price' => $total_price,
                         'goods_stock' => json_encode($goods_stock_data, JSON_UNESCAPED_UNICODE),
                     ];
-                    $total_amount = bcadd($total_amount,$total_price,2);
+                    $total_amount = bcadd($total_amount, $total_price, 2);
                 } else {
                     // 商品库里没有该商品
                     $goods_name .= $value['goods_name'] . '、';
@@ -430,7 +436,7 @@ class ApproveInfoService
                 $goods_data['total_price'] = $total_price;
                 $goods_data['goods_stock'] = json_encode($goods_stock_data, JSON_UNESCAPED_UNICODE);
                 $apply_goods_data[] = $goods_data;
-                $total_amount = bcadd($total_amount,$total_price,2);
+                $total_amount = bcadd($total_amount, $total_price, 2);
             }
             $model::insertAll($apply_goods_data);
         }
@@ -546,9 +552,15 @@ class ApproveInfoService
         }
 
         $userid = $user['userid'];
-        $list = ApproveInfo::field('module_id,user_id,department,is_deleted', true)
+        $list = ApproveInfo::field('module_id,user_id,apply_user_id,department,is_deleted', true)
             ->where('module', $module)
-            ->where('user_id', $userid)
+            ->where(function ($query) use ($module, $userid) {
+                if (in_array($module, [CommonConstant::MODULE_5, CommonConstant::MODULE_6, CommonConstant::MODULE_7])) {
+                    $query->where('user_id', $userid)->whereOr('apply_user_id', $userid);
+                } else {
+                    $query->where('user_id', $userid);
+                }
+            })
             ->where('status', $status)
             ->where('is_deleted', CommonConstant::IS_DELETED_0)
             ->when($search, function ($query) use ($search) {
@@ -573,6 +585,9 @@ class ApproveInfoService
         $where = $user ? ['user_id' => $user['userid']] : [];
         $info = ApproveInfo::field('is_deleted', true)
             ->where($where)
+            ->where(function ($query) use ($user) {
+                $query->where('user_id', $user['userid'])->whereOr('apply_user_id', $user['userid']);
+            })
             ->where('is_deleted', CommonConstant::IS_DELETED_0);
         if ($type == 'detail') {
             $info->with([
@@ -699,7 +714,7 @@ class ApproveInfoService
                         },
                     ]);
                 }
-            break;
+                break;
             case CommonConstant::MODULE_4:
                 // 领用商品列表
                 if (in_array($status, [CommonConstant::STATUS_2, CommonConstant::STATUS_4])) {
@@ -715,7 +730,7 @@ class ApproveInfoService
                                 ]);
                         }
                     ]);
-                }  else {
+                } else {
 
                 }
                 break;
@@ -780,14 +795,14 @@ class ApproveInfoService
         switch ($module) {
             case CommonConstant::MODULE_1:
                 if ($type == 'detail') {
-                    $info['apply_goods'] = $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_price,goods_stock')->select();
                 } else {
                     $info->apply_goods;
                 }
                 break;
             case CommonConstant::MODULE_3:
                 if ($type == 'detail') {
-                    $info['stock_goods'] = $info->stockGoods()->field('id,info_id,goods_name,goods_data')->select();
+                    $info['stock_goods'] = $info->stockGoods()->field('id,info_id,goods_name,total_price,goods_stock')->select();
                 } else {
                     $info->stock_goods;
                 }

+ 2 - 2
application/common/validate/ApproveCar.php

@@ -43,14 +43,14 @@ class ApproveCar extends Validate
     public function __construct(array $rules = [], $message = [], $field = [])
     {
         $this->field = [
-            'apply_user_id.require' => '请选择发起人',
+            'apply_user_id.require' => '请人',
             'reason' => '出发地点',
             'start_time' => '出发时间',
             'reach_address' => '到达地点',
             'approve_user' => '审批人',
         ];
         $this->message = array_merge($this->message, [
-            'apply_user_id.require' => '请选择发起人',
+            'apply_user_id.require' => '请选择申请人',
         ]);
         parent::__construct($rules, $message, $field);
     }

+ 2 - 2
application/common/validate/ApproveEvection.php

@@ -46,7 +46,7 @@ class ApproveEvection extends Validate
     public function __construct(array $rules = [], $message = [], $field = [])
     {
         $this->field = [
-            'apply_user_id' => '发起人',
+            'apply_user_id' => '申请人',
             'reason' => '事由',
             'start_time' => '出差开始时间',
             'end_time' => '出差结束时间',
@@ -56,7 +56,7 @@ class ApproveEvection extends Validate
             'approve_user' => '审批人',
         ];
         $this->message = array_merge($this->message, [
-            'apply_user_id.require' => '请选择发起人',
+            'apply_user_id.require' => '请选择申请人',
             'start_time.check_start_time' => '出差开始时间必须大于当前时间',
             'end_time.check_end_time' => '出差结束时间必须大于开始时间',
             'type.in' => '请选择正确的出差类型',

+ 2 - 2
application/common/validate/ApproveLeave.php

@@ -47,7 +47,7 @@ class ApproveLeave extends Validate
     public function __construct(array $rules = [], $message = [], $field = [])
     {
         $this->field = [
-            'apply_user_id' => '发起人',
+            'apply_user_id' => '申请人',
             'type' => '请假类型',
             'start_time' => '请假开始时间',
             'end_time' => '请假结束时间',
@@ -58,7 +58,7 @@ class ApproveLeave extends Validate
             'approve_user' => '审批人',
         ];
         $this->message = array_merge($this->message, [
-            'apply_user_id.require' => '请选择发起人',
+            'apply_user_id.require' => '请选择申请人',
             'type.gt' => '请选择正确的请假类型',
             'start_time.check_start_time' => '请假开始时间必须大于今天',
             'end_time.check_end_time' => '请假结束时间必须大于开始时间',