|
@@ -88,6 +88,8 @@ class UserCar extends Base
|
|
|
* @param name:arrive type:string default:-- desc:到达地址
|
|
|
* @param name:end_time type:string default:-- desc:返回时间
|
|
|
* @param name:back_address type:string default:-- desc:返回地址
|
|
|
+ * @param name:flow_user type:string default:-- desc:审批人id(多个逗号隔开)
|
|
|
+ * @param name:copy_user type:string default:-- desc:抄送人id(多个逗号隔开)
|
|
|
*/
|
|
|
public function applyCar()
|
|
|
{
|
|
@@ -99,42 +101,34 @@ class UserCar extends Base
|
|
|
$request_param = input('post.');
|
|
|
$request_param['user_id'] = $this->user_id;
|
|
|
$request_param['apply_user'] = $this->user_id;
|
|
|
-
|
|
|
- $flow = ApproveFlow::getApproveUser(2);// 用车审批流程设置
|
|
|
- $flow_user = array_column($flow,'user_id');
|
|
|
- $flow_key = array_search($request_param['user_id'],$flow_user);// 请用车是否在审批流程人员中
|
|
|
-
|
|
|
- $copy = ApproveFlow::getCopyTo(2);
|
|
|
- $copy_user = array_column($copy,'user_id');
|
|
|
- $copy_key = array_search($request_param['user_id'],$copy_user);// 用车人是否在抄送人员中
|
|
|
-
|
|
|
$request_param['apply_date'] = date("Y-m-d");
|
|
|
- $flow_info = CarInfo::create($request_param);//生成用车记录
|
|
|
+ $flow_user = $request_param['flow_user'];
|
|
|
+ $copy_user = $request_param['copy_user'];
|
|
|
+ if(!$flow_user) $this->error('请选择审批人');
|
|
|
|
|
|
+ $flow_info = CarInfo::create($request_param);//生成用车记录
|
|
|
$flow_data = [];// 审批流程
|
|
|
$flow_num = 0;
|
|
|
-
|
|
|
- foreach ($flow as $fk=>$fv) {
|
|
|
- if($flow_key !== false && $flow_key >= $fk) continue;
|
|
|
+ // 审批人
|
|
|
+ foreach (explode(',',$flow_user) as $fk=>$fv) {
|
|
|
$flow_num++;
|
|
|
$flow_data[] = [
|
|
|
- 'car_id' => $flow_info->id,
|
|
|
- 'approve_user' => $fv['user_id'],
|
|
|
+ 'info_id' => $flow_info->id,
|
|
|
+ 'approve_user' => $fv,
|
|
|
'flow' =>$flow_num,
|
|
|
'create_at'=>date('Y-m-d H:i:s'),
|
|
|
'start_time'=> $flow_num == 1 ? date('Y-m-d H:i:s'):null,
|
|
|
'status'=> $flow_num == 1 ? 1 : 0,
|
|
|
];
|
|
|
}
|
|
|
- foreach ($copy as $ck=>$cv) {
|
|
|
- if($copy_key !== false && $copy_key >= $ck) continue;
|
|
|
+ // 抄送人
|
|
|
+ foreach (explode(',',$copy_user) as $ck=>$cv) {
|
|
|
$flow_data[] = [
|
|
|
- 'car_id' => $flow_info->id,
|
|
|
- 'approve_user' => $cv['user_id'],
|
|
|
+ 'info_id' => $flow_info->id,
|
|
|
+ 'approve_user' => $cv,
|
|
|
'approve_type' =>2
|
|
|
];
|
|
|
}
|
|
|
-
|
|
|
if(!empty($flow_data)) {
|
|
|
CarInfo::where('id',$flow_info->id)->update(['approve_num'=>$flow_num]);
|
|
|
(new CarApprove())->saveAll($flow_data);
|