|
@@ -23,6 +23,7 @@ use App\Model\RollFilmCombine;
|
|
|
use App\Model\RollFilmCompany;
|
|
|
use App\Model\SysMenu;
|
|
|
use App\Model\Team;
|
|
|
+use App\Service\Wx\WxService;
|
|
|
use Illuminate\Support\Facades\App;
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
use Illuminate\Support\Facades\Log;
|
|
@@ -419,10 +420,11 @@ class OaService extends Service
|
|
|
try {
|
|
|
DB::beginTransaction();
|
|
|
|
|
|
- list($employee_ids, $oa_sub_id) = $this->oaCommon($menu_id, ['order_number' => $orderObject], 1,0,$this->user);
|
|
|
+ list($employee_ids, $oa_sub_id,$order_detail) = $this->oaCommon($menu_id, ['order_number' => $orderObject], 1,0,$this->user);
|
|
|
if (empty($employee_ids)) {
|
|
|
$this->returnOa($order_no, 1, $type);
|
|
|
DB::commit();
|
|
|
+
|
|
|
return [true, '审核成功'];
|
|
|
}
|
|
|
$order = new OaOrder();
|
|
@@ -443,12 +445,21 @@ class OaService extends Service
|
|
|
$oa_order_sub_id = $oa_order_sub->id;
|
|
|
|
|
|
$insert = [];
|
|
|
+ //处理数据发送通知消息
|
|
|
+
|
|
|
foreach ($employee_ids as $employee_id) {
|
|
|
$insert[] = [
|
|
|
'oa_order_id' => $id,
|
|
|
'oa_order_sub_id' => $oa_order_sub_id,
|
|
|
'employee_id' => $employee_id,
|
|
|
];
|
|
|
+ $tmp_data = [
|
|
|
+ $orderObject,
|
|
|
+ $order_detail['crt_name'].'('.SysMenu::where('id',$menu_id)->value('title').')',
|
|
|
+ Employee::where('id',$employee_id)->value('emp_name'),
|
|
|
+ date('Y-m-d H:i:s'),
|
|
|
+ ];
|
|
|
+ $this->sendWxMsg($employee_id,1,0,$menu_id,$tmp_data);
|
|
|
}
|
|
|
OaOrderSubEmployee::insert($insert);
|
|
|
DB::commit();
|
|
@@ -517,7 +528,7 @@ class OaService extends Service
|
|
|
continue;
|
|
|
}
|
|
|
}
|
|
|
- return [$employee_ids, $oa_sub_id];
|
|
|
+ return [$employee_ids, $oa_sub_id,$detail];
|
|
|
}
|
|
|
|
|
|
public function formulaRule($params, $detail)
|
|
@@ -562,12 +573,23 @@ class OaService extends Service
|
|
|
switch ($state) {
|
|
|
case 1:
|
|
|
$sort = $detail['sort'] + 1;
|
|
|
- list($employee_ids, $oa_sub_id) = $this->oaCommon($oaOrder->menu_id, ['order_number' => $oaOrder->order_no], $sort, $detail['oa_sub_id'],$user);
|
|
|
+ list($employee_ids, $oa_sub_id,$order_detail) = $this->oaCommon($oaOrder->menu_id, ['order_number' => $oaOrder->order_no], $sort, $detail['oa_sub_id'],$user);
|
|
|
// var_dump($employee_ids);
|
|
|
// var_dump($oa_sub_id);die;
|
|
|
if (empty($employee_ids)) {
|
|
|
$oaOrder->state = 2;
|
|
|
$oaOrder->save();
|
|
|
+ //审核通过
|
|
|
+ $tmp_data = [
|
|
|
+ $order_detail['order_number'],
|
|
|
+ SysMenu::where('id',$oaOrder->menu_id)->value('title'),
|
|
|
+ '通过',
|
|
|
+ Employee::where('id',$user_id)->value('emp_name'),
|
|
|
+ date('Y-m-d H:i:s'),
|
|
|
+
|
|
|
+
|
|
|
+ ];
|
|
|
+ $this->sendWxMsg($order_detail['crt_id'],2,0,$oaOrder->menu_id,$tmp_data);
|
|
|
$this->returnOa($oaOrder->order_no, 1, $oaOrder->opt_case);
|
|
|
} else {
|
|
|
$oaOrder->state = 1;
|
|
@@ -582,22 +604,47 @@ class OaService extends Service
|
|
|
$oa_order_sub_id = $oa_order_sub->id;
|
|
|
|
|
|
$insert = [];
|
|
|
+
|
|
|
+
|
|
|
foreach ($employee_ids as $employee_id) {
|
|
|
$insert[] = [
|
|
|
'oa_order_id' => $oaOrder->id,
|
|
|
'oa_order_sub_id' => $oa_order_sub_id,
|
|
|
'employee_id' => $employee_id,
|
|
|
];
|
|
|
+ $tmp_data = [
|
|
|
+ $order_detail['order_number'],
|
|
|
+ $order_detail['crt_name'].'('.SysMenu::where('id',$oaOrder->menu_id)->value('title').')',
|
|
|
+ Employee::where('id',$employee_id)->value('emp_name'),
|
|
|
+ date('Y-m-d H:i:s'),
|
|
|
+ ];
|
|
|
+ $this->sendWxMsg($employee_id,1,0,$oaOrder->menu_id,$tmp_data);
|
|
|
}
|
|
|
+
|
|
|
OaOrderSubEmployee::insert($insert);
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
+ list($employee_ids, $oa_sub_id,$order_detail) = $this->oaCommon($oaOrder->menu_id, ['order_number' => $oaOrder->order_no], 1, $detail['oa_sub_id'],$user);
|
|
|
+ $tmp_data = [
|
|
|
+ $oaOrder['order_no'],
|
|
|
+ '拒绝',
|
|
|
+ $order_detail['crt_time'],
|
|
|
+ $remark,
|
|
|
|
|
|
+ ];
|
|
|
if ($detail['sort'] == 1) {
|
|
|
$oaOrder->state = 3;
|
|
|
$oaOrder->save();
|
|
|
+ $this->sendWxMsg($order_detail['crt_id'],3,2,$oaOrder->menu_id,$tmp_data);
|
|
|
$this->returnOa($oaOrder->order_no, 2, $oaOrder->opt_case);
|
|
|
+ }else{
|
|
|
+ $id = OaOrderSub::where('sort', ($detail['sort'] - 1))->where('oa_order_id', $oaOrder->id)->value('id');
|
|
|
+ $employee_ids = OaOrderSubEmployee::where('oa_order_sub_id',$id)->pluck()->toArray();
|
|
|
+ foreach ($employee_ids as $v){
|
|
|
+ $this->sendWxMsg($v,3,2,$oaOrder->menu_id,$tmp_data);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
OaOrderSub::where('sort', ($detail['sort'] - 1))->where('oa_order_id', $oaOrder->id)->update([
|
|
|
'state' => 0,
|
|
@@ -631,11 +678,22 @@ class OaService extends Service
|
|
|
$report->user_id = $user_id;
|
|
|
$report->channel = $this->user['depart_top'][0]['depart_id'];
|
|
|
$report->save();
|
|
|
+
|
|
|
+ $tmp_data = [
|
|
|
+ $oaOrder->order_no,
|
|
|
+ SysMenu::where('id',$oaOrder->menu_id)->value('title'),
|
|
|
+ '审核通过',
|
|
|
+ Employee::where('id',$user_id)->value('emp_name'),
|
|
|
+ date('Y-m-d H:i:s'),
|
|
|
+
|
|
|
+ ];
|
|
|
+
|
|
|
foreach ($oa_sub_report_employee as $v) {
|
|
|
$list[] = [
|
|
|
'employee_id' => $v['employee_id'],
|
|
|
'oa_report_order_id' => $report->id,
|
|
|
];
|
|
|
+ $this->sendWxMsg($v['employee_id'],2,0,$oaOrder->menu_id,$tmp_data);
|
|
|
}
|
|
|
OaReportOrderEmployee::insert($list);
|
|
|
}
|
|
@@ -865,4 +923,9 @@ class OaService extends Service
|
|
|
|
|
|
return [true,['time'=>'20小时10分钟']];
|
|
|
}
|
|
|
+
|
|
|
+ public function sendWxMsg($user_id,$type,$state,$menu_id,$order_data){
|
|
|
+ $service = new WxService();
|
|
|
+ $service->wx_sendMsg($user_id,$type,$state,$menu_id,$order_data);
|
|
|
+ }
|
|
|
}
|