zhanglinxin 1 年之前
父节点
当前提交
7e0fcf1982

+ 4 - 3
application/api/controller/Approveinfo.php

@@ -55,6 +55,7 @@ class Approveinfo extends Base
      * @Apidoc\Param("approve_user", type="string", require=true, desc="审批人id(多个用英文逗号隔开)")
      * @Apidoc\Param("copy_user", type="string", require=false, desc="抄送人id(多个用英文逗号隔开)")
      * @Apidoc\Param("apply_data", type="array", require=false, desc="module=1 && type=1 必传申购物品数据",
+     *     @Apidoc\Param("id", type="integer", require=false, desc="商品ID 传值=商品库选择,不传值=添加新商品"),
      *     @Apidoc\Param("goods_category_first", type="integer", require=true, desc="商品分类一级ID"),
      *     @Apidoc\Param("goods_category_id", type="integer", require=true, desc="商品分类ID"),
      *     @Apidoc\Param("goods_no", type="string", require=true, desc="商品编号"),
@@ -67,7 +68,7 @@ class Approveinfo extends Base
      *          ),
      *     ),
      *     @Apidoc\Param("goods_sku_value", type="array", require=false, desc="规格列表",
-     *          @Apidoc\Param("goods_sku_ids", type="string", desc="规格项ids 多个用英文逗号隔开"),
+     *          @Apidoc\Param("goods_sku_text", type="string", desc="规格项文本 例如(蓝色,100ml)"),
      *          @Apidoc\Param("price", type="integer", desc="单价"),
      *          @Apidoc\Param("stock", type="integer", desc="数量"),
      *     ),
@@ -111,9 +112,9 @@ class Approveinfo extends Base
         $department_sign = input('department_sign');
         $approve_user = input('approve_user');
         $copy_user = input('copy_user');
-        $apply_data = input('apply_data');
+        $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_data","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");
         Db::startTrans();
         try {
             ApproveInfoService::create($id, $module, $params, $this->user);

+ 41 - 5
application/common/service/ApproveInfoService.php

@@ -94,7 +94,15 @@ class ApproveInfoService
         }
     }
 
-    // 添加对应模块
+    /**
+     * 添加对应模块
+     *
+     * @param integer $info_id 申请ID
+     * @param integer $module 模块类型
+     * @param array $params
+     * @param mixed $info 申请信息
+     * @param integer $type 类型:create=申请,update=重新发起
+     **/
     public static function create_module($info_id, $module, $params, $info, $type)
     {
         $data = [];
@@ -214,15 +222,35 @@ class ApproveInfoService
         }
 
         switch ($module) {
+            case CommonConstant::MODULE_1:
+                self::create_apply_goods($info_id, $params['apply_goods'], $type);
+                break;
             case CommonConstant::MODULE_5:
                 self::create_peer_user($info_id, $params['peer_user'], $type);
                 break;
         }
-
         return $module_result;
     }
 
-    // 添加同行人员
+    /**
+     * 添加申购物品 1
+     *
+     * @param integer $info_id 申请ID
+     * @param array $params 申购物品数据
+     * @param integer $type 类型:create=申请,update=重新发起
+     **/
+    public static function create_apply_goods($info_id, $params, $type)
+    {
+
+    }
+
+    /**
+     * 添加同行人员 5
+     *
+     * @param integer $info_id 申请ID
+     * @param array $params 同行人员数据
+     * @param integer $type 类型:create=申请,update=重新发起
+     **/
     public static function create_peer_user($info_id, $params, $type)
     {
         if ($type == 'update') {
@@ -246,7 +274,14 @@ class ApproveInfoService
         ApproveEvectionPeerUser::insertAll($data);
     }
 
-    // 添加审批抄送
+    /**
+     * 添加审批抄送
+     *
+     * @param integer $info_id 申请ID
+     * @param array $approve_user 审批ID
+     * @param array $copy_user 抄送ID
+     * @param integer $type 类型:create=申请,update=重新发起
+     **/
     public static function create_approve($info_id, $approve_user, $copy_user, $type)
     {
         if ($type == 'update') {
@@ -291,6 +326,7 @@ class ApproveInfoService
         }
     }
 
+
     /**
      * 我的申请记录
      *
@@ -363,7 +399,7 @@ class ApproveInfoService
                         'userid' => $user['userid'],
                         'name' => $user['name'],
                         'avatar' => $user['avatar'],
-                        'create_at'=>$info['create_at'],
+                        'create_at' => $info['create_at'],
                     ];
                 } else {
                     $approve_info_user = User::field('userid,name,avatar')->where('userid', $info['user_id'])->find();

+ 29 - 7
application/common/validate/ApproveApply.php

@@ -2,6 +2,7 @@
 
 namespace app\common\validate;
 
+use app\common\constant\ApplyConstant;
 use think\Validate;
 
 /**
@@ -14,9 +15,10 @@ class ApproveApply extends Validate
      */
     protected $rule = [
         'reason' => 'require',
-        'type' => 'require|gt:0',
+        'type' => 'require|check_type',
+        'apply_goods' => 'requireIf:type,1',
         'total_amount' => 'require|gt:0',
-        'pay_type' => 'require|gt:0',
+        'pay_type' => 'require|check_pay_type',
         'approve_user' => 'require',
     ];
     /**
@@ -28,9 +30,9 @@ class ApproveApply extends Validate
      * 验证场景
      */
     protected $scene = [
-        'create' => ['reason', 'type', 'total_amount', 'pay_type', 'approve_user'],
-        'update' => ['reason', 'type', 'total_amount', 'pay_type', 'approve_user'],
-        'edit' => ['reason', 'type', 'total_amount', 'pay_type'],
+        'create' => ['reason', 'type', 'apply_goods', 'total_amount', 'pay_type', 'approve_user'],
+        'update' => ['reason', 'type', 'apply_goods', 'total_amount', 'pay_type', 'approve_user'],
+        'edit' => ['reason', 'type', 'apply_goods', 'total_amount', 'pay_type'],
     ];
 
     /**
@@ -45,15 +47,35 @@ class ApproveApply extends Validate
         $this->field = [
             'reason' => '申购事由',
             'type' => '采购类型',
+            'apply_goods' => '申购物品',
             'total_amount' => '总金额',
             'pay_type' => '支付方式',
             'approve_user' => '审批人',
         ];
         $this->message = array_merge($this->message, [
-            'type.gt' => '请选择正确的采购类型',
-            'pay_type.gt' => '请选择正确的支付方式',
+            'type.check_type' => '请选择正确的采购类型',
+            'apply_goods.requireIf' => '请添加申购物品',
+            'pay_type.check_pay_type' => '请选择正确的支付方式',
         ]);
         parent::__construct($rules, $message, $field);
     }
 
+    protected function check_type($value, $rule, $data)
+    {
+        $get_type_list = ApplyConstant::get_type_list();
+        if (!array_key_exists($value, $get_type_list)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected function check_pay_type($value, $rule, $data)
+    {
+        $get_type_list = ApplyConstant::get_pay_type_list();
+        if (!array_key_exists($value, $get_type_list)) {
+            return false;
+        }
+        return true;
+    }
+
 }