作者 景龙
1 个管道 的构建 通过 耗费 18 秒

增加报修改造,培训演习极光推送

... ... @@ -37,10 +37,55 @@ return array (
'master_secret' => 'f78f6271b36a05bffc66d31b',
//推送消息提示
'title' => '推送消息提醒',
//报修甲方发起,提醒乙方员工
'repair_content_add_a' => '甲方发起一个报修申请,等待您前往确认',
//报修乙方发起,提醒甲方员工
'repair_content_add_b' => '乙方发起一个报修申请,等待您前往确认',
//报修甲方员工确认,提醒乙方员工
'repair_content_confirm_a' => '甲方员工已确认信息,等待设备维修',
//报修乙方员工确认,提醒甲方员工
'repair_content_confirm_b' => '乙方员工已确认信息,等待设备维修',
//报修甲方确认完成,提醒甲乙方领导
'repair_content_finish' => '甲方验收完成,设备维修完毕',
//改造甲方发起,提醒乙方员工
'reform_content_add_a' => '甲方发起一个改造申请,等待您前往确认',
//改造乙方发起,提醒甲方员工
'reform_content_add_b' => '乙方发起一个改造申请,等待您前往确认',
//改造甲方员工确认,提醒乙方员工
'reform_content_confirm_a' => '甲方员工已确认信息,等待设备改造',
//改造乙方员工确认,提醒甲方员工
'reform_content_confirm_b' => '乙方员工已确认信息,等待设备改造',
//改造甲方确认完成,提醒甲乙方领导
'reform_content_finish' => '甲方验收完成,设备改造完毕',
//培训甲方发起,提醒乙方领导
'train_content_add_a' => '甲方发起一个培训申请,等待您前往审批',
//培训甲方重新发起(被乙方驳回后),提醒乙方领导
'train_content_again_a' => '甲方重新发起一个培训申请,等待您前往审批',
//培训乙方领导确认,提醒甲乙方员工
'train_content_confirm_l' => '乙方领导已确认信息,等待完善培训单',
//培训乙方领导驳回,提醒甲方员工
'train_content_reject_l' => '乙方领导已驳回信息,等待您重新发起申请',
//培训甲方确认完成,提醒甲乙方领导
'train_content_finish' => '甲方验收完成,培训完成',
//演习甲方发起,提醒乙方领导
'exercise_content_add_a' => '甲方发起一个演习申请,等待您前往审批',
//演习甲方重新发起(被乙方驳回后),提醒乙方领导
'exercise_content_again_a' => '甲方重新发起一个演习申请,等待您前往审批',
//演习乙方领导确认,提醒甲乙方员工
'exercise_content_confirm_l' => '乙方领导已确认信息,等待完善演习单',
//演习乙方领导驳回,提醒甲方员工
'exercise_content_reject_l' => '乙方领导已驳回信息,等待您重新发起申请',
//演习甲方确认完成,提醒甲乙方领导
'exercise_content_finish' => '甲方验收完成,演习完成',
//甲方提交报修流程
'a_step' => ['甲方提交报修信息','乙方确认信息','乙方维修设备','乙方提交维修单','甲方验收维修结果','甲方验收完成'],
... ...
... ... @@ -2221,4 +2221,79 @@ class CommonController extends RestBaseController
return $usersId;
}
//根据项目id查找甲乙方领导id
public function getLeadersId($project_id){
$res = Db::name('project')
->where('id',$project_id)
->field('id,a_cid,b_cid')
->find();
$leadersId = [];
if($res){
$c_ids = [$res['a_cid'],$res['b_cid']];
$company = Db::name('company')
->whereIn('id',$c_ids)
->field('id,u_l_id,u_ls_id')
->select()
->toArray();
$u_l_ids = array_filter(array_column($company,'u_l_id'));
$u_ls_ids = array_filter(array_column($company,'u_ls_id'));
$leadersId = array_merge($u_l_ids,$u_ls_ids);
}
return $leadersId;
}
//根据项目id查找甲/乙方领导
public function getLeaderA($project_id,$field){
$res = Db::name('project')
->where('id',$project_id)
->field($field)
->find();
$uIds = [];
if($res){
$company = Db::name('company')
->where('id',$res[$field])
->field('id,u_l_id')
->find();
$uIds = [$company['u_l_id']];
}
return $uIds;
}
//根据项目id查找甲乙方员工id
public function getStaffId($project_id){
$res = Db::name('project')
->where('id',$project_id)
->field('id,a_cid,b_cid')
->find();
$usersId = [];
if($res){
$a_sid = explode(',',trim($res['a_cid'],','));
$b_sid = explode(',',trim($res['b_cid'],','));
$usersId = array_merge($a_sid,$b_sid);
}
return $usersId;
}
//根据列表id查询甲/乙方员工(指定单个)id
public function getUserA($table,$id){
$res = Db::name($table)
->where('id',$id)
->field('id,uid')
->find();
$uid = [];
if($res){
$uid = [$res['uid']];
}
return $uid;
}
//根据id查询项目id
public function getProjectId($table,$where,$field){
$res = Db::name($table)
->where($where)
->field($field)
->find();
return $res;
}
}
... ...
... ... @@ -122,6 +122,18 @@ class ExerciseController extends RestBaseController
$exerciseModel = new ExerciseModel();
$res = $exerciseModel->create($data);
if($res){
//极光推送
//甲方发起,提醒乙方领导
$user_ids = $common->getLeaderA($data['project_id'],'b_cid');
$content = config('site.exercise_content_add_a');
$registration_id = $common->getPushUsers($user_ids);
if($registration_id){
$common = new CommonController();
$title = config('site.title');
$common->pushMessage($registration_id,$content,$title);
}
$this->success('演习信息提交成功');
}else{
$this->error('失败');
... ... @@ -201,6 +213,20 @@ class ExerciseController extends RestBaseController
$exerciseModel = new ExerciseModel();
$res = $exerciseModel->where(['id'=>$data['id'],'status'=>1])->update($arr);
if($res){
//极光推送
//甲方重新发起,提醒乙方领导
$project = $common->getProjectId('exercise',['id'=>$data['id']],'id,project_id');
$user_ids = $common->getLeaderA($project['project_id'],'b_cid');
$content = config('site.train_content_again_a');
$registration_id = $common->getPushUsers($user_ids);
if($registration_id){
$common = new CommonController();
$title = config('site.title');
$common->pushMessage($registration_id,$content,$title);
}
$this->success('演习信息重新提交成功');
}else{
$this->error('失败');
... ... @@ -338,6 +364,20 @@ class ExerciseController extends RestBaseController
];
$res = $exerciseModel->where(['id'=>$data['id'],'status'=>2])->update($arr);
if($res){
//推送
//甲方确认完成,提醒甲乙方领导
$project = $common->getProjectId('exercise',['id'=>$data['id']],'id,project_id');
$user_ids = $common->getLeadersId($project['project_id']);
$content = config('site.exercise_content_finish');
$registration_id = $common->getPushUsers($user_ids);
if($registration_id){
$common = new CommonController();
$title = config('site.title');
$common->pushMessage($registration_id,$content,$title);
}
$this->success('成功');
}else{
$this->error('失败');
... ...
... ... @@ -229,4 +229,24 @@ class IndexController extends RestBaseController
$this->error('请求方式错误!');
}
}
/**
* @title 更新版本
* @description 接口说明
* @author 开发者
* @url /api/home/index/updateVersion
* @method GET
*
* @header name:token require:1 default: desc:header
*
* @return project_id:项目id
* @return project_name:项目名称
*/
public function updateVersion(){
if($this->request->isGet()){
$this->error('请联系管理员分配公司!');
}else{
$this->error('请求方式错误!');
}
}
}
... ...
... ... @@ -252,6 +252,24 @@ class InformationController extends RestBaseController
}
if($res){
//推送
if($type == 1){
//培训,乙方领导确认,提醒甲乙方员工
$user_ids = $common->getStaffId($data['project_id']);
$content = config('site.train_content_confirm_l');
}else{
//演习,乙方领导确认,提醒甲乙方员工
$user_ids = $common->getStaffId($data['project_id']);
$content = config('site.exercise_content_confirm_l');
}
$registration_id = $common->getPushUsers($user_ids);
if($registration_id){
$common = new CommonController();
$title = config('site.title');
$common->pushMessage($registration_id,$content,$title);
}
$this->success('成功');
}else{
$this->error('失败');
... ... @@ -348,6 +366,24 @@ class InformationController extends RestBaseController
}
if($res){
//推送
if($type == 1){
//培训,乙方领导驳回,提醒甲方发起员工
$user_ids = $common->getUserA('train',$id);
$content = config('site.train_content_reject_l');
}else{
//演习,乙方领导发起,提醒甲方发起员工
$user_ids = $common->getUserA('exercise',$id);
$content = config('site.exercise_content_reject_l');
}
$registration_id = $common->getPushUsers($user_ids);
if($registration_id){
$common = new CommonController();
$title = config('site.title');
$common->pushMessage($registration_id,$content,$title);
}
$this->success('成功');
}else{
$this->error('失败');
... ...
... ... @@ -70,6 +70,23 @@ class ReformController extends RestBaseController
$data['images'] = $common->relationUrl($data['images']);
$res = $reformModel->create($data);
if($res){
//极光推送
if($data['party'] == 0){
//甲方发起,推送乙方员工
$user_ids = $common->getUsersId($data['project_id'],'b_sid');
$content = config('site.reform_content_add_a');
}else{
//乙方发起,推送甲方员工
$user_ids = $common->getUsersId($data['project_id'],'a_sid');
$content = config('site.reform_content_add_b');
}
$registration_id = $common->getPushUsers($user_ids);
if($registration_id){
$common = new CommonController();
$title = config('site.title');
$common->pushMessage($registration_id,$content,$title);
}
$id = $res->id;
$data1['create_time'] = time();
if($party['party'] == 0){
... ... @@ -209,6 +226,18 @@ class ReformController extends RestBaseController
$reformModel = new ReformModel();
$res = $reformModel->where(['id'=>$id,'status'=>0])->update(['status'=>1,'h_uid'=>$this->userId]);
if($res){
//极光推送,推送乙方员工
$project = $common->getProjectId('reform',['id'=>$id],'id,project_id');
$user_ids = $common->getUsersId($project['project_id'],'b_sid');
$content = config('site.reform_content_confirm_a');
$registration_id = $common->getPushUsers($user_ids);
if($registration_id){
$common = new CommonController();
$title = config('site.title');
$common->pushMessage($registration_id,$content,$title);
}
//甲方确认
$step_name = config('site.b_reform_step')[1];
... ... @@ -257,6 +286,19 @@ class ReformController extends RestBaseController
$reformModel = new ReformModel();
$res = $reformModel->where(['id'=>$id,'status'=>0])->update(['status'=>1,'h_uid'=>$this->userId]);
if($res){
//极光推送,推送甲方员工
$project = $common->getProjectId('reform',['id'=>$id],'id,project_id');
$user_ids = $common->getUsersId($project['project_id'],'a_sid');
$content = config('site.reform_content_confirm_b');
$registration_id = $common->getPushUsers($user_ids);
if($registration_id){
$common = new CommonController();
$title = config('site.title');
$common->pushMessage($registration_id,$content,$title);
}
//乙方确认
$step_name = config('site.a_reform_step')[1];
$common->repairStep($id,$step_name,1);
... ... @@ -541,6 +583,19 @@ class ReformController extends RestBaseController
];
$res = $reformModel->where(['id'=>$data['id'],'status'=>1])->update($arr);
if($res){
//极光推送,推送甲乙方领导
$project = $common->getProjectId('reform',['id'=>$data['id']],'id,project_id');
$user_ids = $common->getLeadersId($project['project_id']);
$content = config('site.reform_content_finish');
$registration_id = $common->getPushUsers($user_ids);
if($registration_id){
$common = new CommonController();
$title = config('site.title');
$common->pushMessage($registration_id,$content,$title);
}
//创建最后维修流程
$step_name = config('site.a_reform_step')[5];
$common->repairStep($data['id'],$step_name,1);
... ...
... ... @@ -71,11 +71,11 @@ class RepairController extends RestBaseController
if($res){
//极光推送
if($data['party'] == 0){
//甲方发起,推送乙方员工
//甲方发起,提醒乙方员工
$user_ids = $common->getUsersId($data['project_id'],'b_sid');
$content = config('site.repair_content_add_a');
}else{
//乙方发起,推送甲方员工
//乙方发起,提醒甲方员工
$user_ids = $common->getUsersId($data['project_id'],'a_sid');
$content = config('site.repair_content_add_b');
}
... ... @@ -229,6 +229,17 @@ class RepairController extends RestBaseController
$repairModel = new RepairModel();
$res = $repairModel->where(['id'=>$id,'status'=>0])->update(['status'=>1,'h_uid'=>$this->userId]);
if($res){
//极光推送,提醒乙方员工
$project = $common->getProjectId('repair',['id'=>$id],'id,project_id');
$user_ids = $common->getUsersId($project['project_id'],'b_sid');
$content = config('site.repair_content_confirm_a');
$registration_id = $common->getPushUsers($user_ids);
if($registration_id){
$common = new CommonController();
$title = config('site.title');
$common->pushMessage($registration_id,$content,$title);
}
//甲方确认
$step_name = config('site.b_step')[1];
... ... @@ -278,6 +289,19 @@ class RepairController extends RestBaseController
$repairModel = new RepairModel();
$res = $repairModel->where(['id'=>$id,'status'=>0])->update(['status'=>1,'h_uid'=>$this->userId]);
if($res){
//极光推送,推送甲方员工
$project = $common->getProjectId('repair',['id'=>$id],'id,project_id');
$user_ids = $common->getUsersId($project['project_id'],'a_sid');
$content = config('site.repair_content_confirm_b');
$registration_id = $common->getPushUsers($user_ids);
if($registration_id){
$common = new CommonController();
$title = config('site.title');
$common->pushMessage($registration_id,$content,$title);
}
//乙方确认
$step_name = config('site.a_step')[1];
$common->repairStep($id,$step_name);
... ... @@ -561,6 +585,19 @@ class RepairController extends RestBaseController
];
$res = $repairModel->where(['id'=>$data['id'],'status'=>1])->update($arr);
if($res){
//极光推送,推送甲乙方领导
$project = $common->getProjectId('repair',['id'=>$data['id']],'id,project_id');
$user_ids = $common->getLeadersId($project['project_id']);
$content = config('site.repair_content_finish');
$registration_id = $common->getPushUsers($user_ids);
if($registration_id){
$common = new CommonController();
$title = config('site.title');
$common->pushMessage($registration_id,$content,$title);
}
//创建最后维修流程
$step_name = config('site.a_step')[5];
$common->repairStep($data['id'],$step_name);
... ...
... ... @@ -123,6 +123,18 @@ class TrainController extends RestBaseController
$trainModel = new TrainModel();
$res = $trainModel->create($data);
if($res){
//极光推送
//甲方发起,提醒乙方领导
$user_ids = $common->getLeaderA($data['project_id'],'b_cid');
$content = config('site.train_content_add_a');
$registration_id = $common->getPushUsers($user_ids);
if($registration_id){
$common = new CommonController();
$title = config('site.title');
$common->pushMessage($registration_id,$content,$title);
}
$this->success('培训信息提交成功');
}else{
$this->error('失败');
... ... @@ -202,6 +214,19 @@ class TrainController extends RestBaseController
$trainModel = new TrainModel();
$res = $trainModel->where(['id'=>$data['id'],'status'=>1])->update($arr);
if($res){
//极光推送
//甲方重新发起,提醒乙方领导
$project = $common->getProjectId('train',['id'=>$data['id']],'id,project_id');
$user_ids = $common->getLeaderA($project['project_id'],'b_cid');
$content = config('site.train_content_again_a');
$registration_id = $common->getPushUsers($user_ids);
if($registration_id){
$common = new CommonController();
$title = config('site.title');
$common->pushMessage($registration_id,$content,$title);
}
$this->success('培训信息重新提交成功');
}else{
$this->error('失败');
... ... @@ -336,6 +361,20 @@ class TrainController extends RestBaseController
];
$res = $trainModel->where(['id'=>$data['id'],'status'=>2])->update($arr);
if($res){
//推送
//甲方确认完成,提醒甲乙方领导
$project = $common->getProjectId('train',['id'=>$data['id']],'id,project_id');
$user_ids = $common->getLeadersId($project['project_id']);
$content = config('site.train_content_finish');
$registration_id = $common->getPushUsers($user_ids);
if($registration_id){
$common = new CommonController();
$title = config('site.title');
$common->pushMessage($registration_id,$content,$title);
}
$this->success('成功');
}else{
$this->error('失败');
... ...