作者 jinglong
1 个管道 的构建 通过 耗费 38 秒

修改报表相关接口

... ... @@ -766,12 +766,12 @@ return array (
],
'pages_service' => [
'rule' => [
'service_id' => 'require|number',
'type' => 'require|number',
'page' => 'require|number',
],
'msg' => [
'service_id.require' => '服务id不能为空',
'service_id.number' => '服务id必须是数字',
'type.require' => '类型不能为空',
'type.number' => '类型必须是数字',
'page.require' => '页码不能为空',
'page.number' => '页码必须是数字',
]
... ...
... ... @@ -466,8 +466,11 @@ class CheckController extends RestBaseController
$insCheckModel = new InsCheckModel();
$res = $insCheckModel->create($data);
if($res){
//记录月检人员id
$common->createInsUid($data,1);
//记录参与人员id
$join_uid['service_id'] = $data['c_id'];
$join_uid['project_id'] = $data['project_id'];
$join_uid['create_time'] = $data['create_time'];
$common->createInsUid($join_uid,1);
$this->success('您的月检点信息添加成功!');
}else{
... ... @@ -563,7 +566,10 @@ class CheckController extends RestBaseController
$insCheckModel = new InsCheckModel();
$insCheckModel->where(['project_id'=>$data['project_id'],'point_id'=>$data['point_id'],'c_id' => $data['c_id'],'type'=>0])->update($arr);
//记录巡检人员id
$common->createInsUid($data,1);
$join_uid['service_id'] = $data['c_id'];
$join_uid['project_id'] = $data['project_id'];
$join_uid['create_time'] = $data['create_time'];
$common->createInsUid($join_uid,1);
$this->success('保存成功!');
}else{
... ... @@ -654,6 +660,7 @@ class CheckController extends RestBaseController
$project = $common->getLaunchUid('check',$data['id']);
$join_uid['project_id'] = $project['project_id'];
$join_uid['create_time'] = time();
$join_uid['service_id'] = $data['id'];
$common->createInsUid($join_uid,1);
//极光推送,推送系统设置人员
... ...
... ... @@ -511,6 +511,50 @@ class CommonController extends RestBaseController
return $result;
}
//获取月检年检巡检点详情
public function getCheckPoint($where,$project_id){
//查询项目的月检点
$res_check = Db::name('check_point')
->where('p_id',$project_id)
->field('id,point_name')
->select()
->toArray();
if($res_check){
$checkIns = $this->getInsCheck($where,'status,point_id,images,uid');
foreach ($res_check as &$value){
$value['status'] = 2;
foreach ($checkIns as $ins_value){
if($value['id'] == $ins_value['point_id']){
$value['status'] = $ins_value['status'];
$user = $this->getUserById(['id'=>$ins_value['uid']]);
if($user){
$value['user_login'] = $user['user_login'];
}else{
$value['user_login'] = '';
}
$images = $this->absolutionUrl($ins_value['images']);
$images = $this->getDayImages($images);
if($images){
$value['images'] = $images;
}else{
$value['images'] = [];
}
}
}
if(!isset($value['user_login'])){
$value['user_login'] = '';
}
if(!isset($value['images'])){
$value['images'] = [];
}
}
$result = $res_check;
}else{
$result = [];
}
return $result;
}
//获取月检的巡检信息
public function getInsCheck($where,$field){
$res = Db::name('ins_check')
... ... @@ -571,6 +615,17 @@ class CommonController extends RestBaseController
return $res;
}
//根据多个uid查询用户
public function getUserByIds($b_sid){
$user_login = Db::name('user')
->whereIn('id',$b_sid)
->where('user_status',1)
->field('id,user_login')
->select()
->toArray();
return $user_login;
}
//查看用户是甲方乙方(party 0:甲方,1:乙方)用户信息,企业信息,项目信息
public function getUserIdentity($user_identity='',$u_id=''){
if($user_identity == '' && $u_id == ''){
... ... @@ -1134,17 +1189,6 @@ class CommonController extends RestBaseController
return ceil($count/$limit);
}
//获取项目状态
public function getProjectStatus(){
$status = [
['id'=> -1,'status'=> '全部'],
['id'=> 1,'status'=> '待确认'],
['id'=> 2,'status'=> '进行中'],
['id'=> 3,'status'=> '已完成'],
];
return $status;
}
//获取报修列表详情
public function getRepairDetail($id,$table){
$res = Db::name($table)
... ... @@ -1239,22 +1283,25 @@ class CommonController extends RestBaseController
return $pIds;
}
//获取月检报表列表
public function getCheckReportList($pids,$data){
//获取月检年检报表列表
public function getCheckReportList($table,$pids,$data){
$limit = config('site.limit');
$res = Db::name('check')
if($table == 'check'){
$ins_m_time = 'c.ins_m_time';
$field = 'c.id,c.status,c.title,p.id project_id,p.name project_name,c.ins_m_time';
}else{
$ins_m_time = 'c.year_m_time';
$field = 'c.id,c.status,c.title,p.id project_id,p.name project_name,c.year_m_time';
}
$res = Db::name($table)
->alias('c')
->join('project p','c.project_id = p.id','LEFT')
->whereIn('c.project_id',$pids)
->where(function ($query) use ($data) {
->where(function ($query) use ($ins_m_time,$data) {
//状态
$status = !empty($data['status'])&&isset($data['status'])?$data['status']:'';
if (!empty($status)) {
if($status == 1){
//待确认
$query->where('c.status',0);
}else if($status == 2 || $status == 3){
//进行中
if (isset($data['status'])) {
$status = $data['status'];
if($status != -1){
$query->where('c.status',$status);
}
}
... ... @@ -1268,37 +1315,32 @@ class CommonController extends RestBaseController
$endTime = isset($data['end_time'])&&!empty($data['end_time'])?$data['end_time']:'';
if (!empty($startTime)) {
$startTime = strtotime(date('Y-m-d',$startTime));
$query->where('c.ins_m_time', '>=', $startTime);
$query->where($ins_m_time, '>=', $startTime);
}
if (!empty($endTime)) {
$endTime = strtotime(date('Y-m-d',$endTime))+86400;
$query->where('c.ins_m_time', '<=', $endTime);
$query->where($ins_m_time, '<=', $endTime);
}
})
->page($data['page'],$limit)
->field('c.id,c.status,p.id project_id,p.name project_name,c.ins_m_time')
->field($field)
->order('c.id desc')
->select()
->toArray();
return $res;
}
//获取月检报表列表总页数
public function checkReportCount($pids,$data){
$count = Db::name('check')
//获取月检年检报表列表总页数
public function checkReportCount($table,$pids,$data){
$count = $res = Db::name($table)
->alias('c')
->join('project p','c.project_id = p.id','LEFT')
->whereIn('c.project_id',$pids)
->whereIn('c.project_id',$pids)
->where(function ($query) use ($data) {
->where(function ($query) use ($table,$data) {
//状态
$status = !empty($data['status'])&&isset($data['status'])?$data['status']:'';
if (!empty($status)) {
if($status == 1){
//待确认
$query->where('c.status',0);
}else if($status == 2 || $status == 3){
//进行中
if (isset($data['status'])) {
$status = $data['status'];
if($status != -1){
$query->where('c.status',$status);
}
}
... ... @@ -1312,11 +1354,21 @@ class CommonController extends RestBaseController
$endTime = isset($data['end_time'])&&!empty($data['end_time'])?$data['end_time']:'';
if (!empty($startTime)) {
$startTime = strtotime(date('Y-m-d',$startTime));
$query->where('c.ins_m_time', '>=', $startTime);
if($table == 'check'){
//月检
$query->where('c.ins_m_time', '>=', $startTime);
}else{
//年检
$query->where('c.year_m_time', '>=', $startTime);
}
}
if (!empty($endTime)) {
$endTime = strtotime(date('Y-m-d',$endTime))+86400;
$query->where('c.ins_m_time', '<=', $endTime);
if($table == 'check'){
$query->where('c.ins_m_time', '<=', $endTime);
}else{
$query->where('c.year_m_time', '<=', $endTime);
}
}
})
->count();
... ... @@ -1324,8 +1376,8 @@ class CommonController extends RestBaseController
return ceil($count/$limit);
}
//获取改造(报修)报表列表
public function getReformReportList($pids,$data,$table){
//获取报修改造报表列表
public function getRepairReportList($table,$pids,$data){
$limit = config('site.limit');
$res = Db::name($table)
->alias('r')
... ... @@ -1333,17 +1385,10 @@ class CommonController extends RestBaseController
->whereIn('r.project_id',$pids)
->where(function ($query) use ($data) {
//状态
$status = !empty($data['status'])&&isset($data['status'])?$data['status']:'';
if (!empty($status)) {
if($status == 1){
//待确认
$query->where('r.status',0);
}else if($status == 2){
//进行中
$query->where('r.status',1);
}else if($status == 3){
//已完成
$query->where('r.status',2);
if (isset($data['status'])) {
$status = $data['status'];
if($status != -1){
$query->where('r.status',$status);
}
}
//项目id
... ... @@ -1364,15 +1409,15 @@ class CommonController extends RestBaseController
}
})
->page($data['page'],$limit)
->field('r.id,r.status,p.id project_id,p.name project_name,r.create_time')
->field('r.id,r.status,r.title,p.id project_id,p.name project_name,r.create_time')
->order('r.id desc')
->select()
->toArray();
return $res;
}
//获取改造(报修)报表列表
public function reformReportCount($pids,$data,$table){
//获取报修改造报表列表
public function repairReportCount($table,$pids,$data){
$limit = config('site.limit');
$count = Db::name($table)
->alias('r')
... ... @@ -1380,17 +1425,10 @@ class CommonController extends RestBaseController
->whereIn('r.project_id',$pids)
->where(function ($query) use ($data) {
//状态
$status = !empty($data['status'])&&isset($data['status'])?$data['status']:'';
if (!empty($status)) {
if($status == 1){
//待确认
$query->where('r.status',0);
}else if($status == 2){
//进行中
$query->where('r.status',1);
}else if($status == 3){
//已完成
$query->where('r.status',2);
if (isset($data['status'])) {
$status = $data['status'];
if($status != -1){
$query->where('r.status',$status);
}
}
//项目id
... ... @@ -1415,14 +1453,14 @@ class CommonController extends RestBaseController
}
//获取培训(演习)报表列表
public function getTrainReportList($pids,$data,$table){
public function getTrainReportList($table,$pids,$data){
$limit = config('site.limit');
if($table == 'train'){
$train_time = 'r.train_time';
$field = 'r.id,r.status,p.id project_id,p.name project_name,r.train_time';
$field = 'r.id,r.status,r.title,p.id project_id,p.name project_name,r.train_time';
}else{
$train_time = 'r.exercise_time';
$field = 'r.id,r.status,p.id project_id,p.name project_name,r.exercise_time';
$field = 'r.id,r.status,r.title,p.id project_id,p.name project_name,r.exercise_time';
}
$res = Db::name($table)
->alias('r')
... ... @@ -1430,13 +1468,9 @@ class CommonController extends RestBaseController
->whereIn('r.project_id',$pids)
->where(function ($query) use ($data,$train_time) {
//状态
$status = !empty($data['status'])&&isset($data['status'])?$data['status']:'';
if (!empty($status)) {
if($status == 1){
//待确认
$query->where('r.status',0);
}else if($status == 2 || $status == 3){
//进行中,已完成
if (isset($data['status'])) {
$status = $data['status'];
if($status != -1){
$query->where('r.status',$status);
}
}
... ... @@ -1466,7 +1500,7 @@ class CommonController extends RestBaseController
}
//获取培训(演习)报表列表
public function trainReportCount($pids,$data,$table){
public function trainReportCount($table,$pids,$data){
$limit = config('site.limit');
if($table == 'train'){
$train_time = 'r.train_time';
... ... @@ -1479,13 +1513,9 @@ class CommonController extends RestBaseController
->whereIn('r.project_id',$pids)
->where(function ($query) use ($data,$train_time) {
//状态
$status = !empty($data['status'])&&isset($data['status'])?$data['status']:'';
if (!empty($status)) {
if($status == 1){
//待确认
$query->where('r.status',0);
}else if($status == 2 || $status == 3){
//进行中,已完成
if (isset($data['status'])) {
$status = $data['status'];
if($status != -1){
$query->where('r.status',$status);
}
}
... ... @@ -1673,13 +1703,13 @@ class CommonController extends RestBaseController
$arr['reform_period'] = '';
}
}
//维修人员
//参与人员
if($flag == 'repair'){
//报修
$arr['repair_name'] = $this->getUserByProjectId($res['project_id'],'id,b_sid',1);
$arr['repair_name'] = $this->getUserNameByServiceId($res['id'],3);
}else{
//改造
$arr['reform_name'] = $this->getUserByProjectId($res['project_id'],'id,b_sid',1);
$arr['reform_name'] = $this->getUserNameByServiceId($res['id'],4);
}
//报修图片
... ... @@ -1792,21 +1822,45 @@ class CommonController extends RestBaseController
$arr['user_login'] = $user['user_login'];
}
//乙方领导确认人
$leader_user = $this->getUserById(['id'=>$res['b_leader']]);
//乙方员工确认人
$leader_user = $this->getUserById(['id'=>$res['h_uid']]);
if($leader_user){
$arr['b_leader_user'] = $leader_user['user_login'];
$arr['b_staff_user'] = $leader_user['user_login'];
}else{
$arr['b_leader_user'] = '';
$arr['b_staff_user'] = '';
}
//甲方验收
//乙方确认完成
$confirm_user = $this->getUserById(['id'=>$res['confirm_uid']]);
if($confirm_user){
$arr['confirm_user'] = $confirm_user['user_login'];
$arr['confirm_user_b'] = $confirm_user['user_login'];
}else{
$arr['confirm_user'] = '';
$arr['confirm_user_b'] = '';
}
//甲方确认完成人
if($flag == 'train'){
//培训
$res1 = $this->getUnFinishUid(['type'=>0,'c_id'=>$res['id'],'is_image'=>1]);
}else{
//演习
$res1 = $this->getUnFinishUid(['type'=>1,'c_id'=>$res['id'],'is_image'=>1]);
}
foreach($res1 as &$value){
$user = $this->getUserById(['id'=>$value['uid']]);
if($user){
$value['user_login'] = $user['user_login'];
}else{
$value['user_login'] = '';
}
//图片
$images = $this->absolutionUrl($value['confirm_images']);
$value['a_images'] = $this->getDayImages($images);
unset($value['confirm_images']);
unset($value['uid']);
}
$arr['confirm_images_a'] = $res1;
//培训演习工期及验收完成时间
if($res['finish_time']){
... ... @@ -1833,13 +1887,13 @@ class CommonController extends RestBaseController
$arr['exercise_period'] = '';
}
}
//培训演习人员
//培训演习参与人员
if($flag == 'train'){
//培训
$arr['train_name'] = $this->getUserByProjectId($res['project_id'],'id,b_sid',1);
$arr['train_name'] = $this->getUserNameByServiceId($res['id'],5);
}else{
//演习
$arr['exercise_name'] = $this->getUserByProjectId($res['project_id'],'id,b_sid',1);
$arr['exercise_name'] = $this->getUserNameByServiceId($res['id'],6);
}
//培训演习图片
... ... @@ -1889,18 +1943,32 @@ class CommonController extends RestBaseController
return $arr;
}
//获取月检报表详情
public function getCheckReportDetail($res,$data){
//获取月检年检报表详情
public function getCheckReportDetail($table,$res,$data){
$arr = [];
$company = $this->getCompanyName($res['project_id'],'月检');
if($table == 'check'){
$company = $this->getCompanyName($res['project_id'],'月检');
}else{
$company = $this->getCompanyName($res['project_id'],'年检');
}
if($company){
$arr['a_company'] = $company['a_company'];
$arr['b_company'] = $company['b_company'];
$arr['title'] = $company['title'];
}
//月检时间
$arr['ins_m_time'] = $res['ins_m_time'];
if($table == 'check'){
//月检时间
$arr['ins_m_time'] = $res['ins_m_time'];
//月检点
$arr['check_point'] = $this->getCheckPoint(['c_id'=>$res['id'],'type'=>0],$res['project_id']);
}else{
//年时间
$arr['year_m_time'] = $res['year_m_time'];
//年检点
$arr['year_point'] = $this->getCheckPoint(['c_id'=>$res['id'],'type'=>1],$res['project_id']);
}
//月检地点
$arr['address'] = $res['address'];
... ... @@ -1945,19 +2013,14 @@ class CommonController extends RestBaseController
$arr['check_period'] = '';
}
//月检人员(参与人员)
$arr['check_name'] = $this->getUserByProjectId($res['project_id'],'id,b_sid',1);
//月检图片
if($res['images']){
$images = $this->absolutionUrl($res['images']);
$arr1 = $this->getDayImages($images);
$arr['images']['i_images'] = $arr1;
//参与人员
if($table == 'check'){
//月检
$arr['check_name'] = $this->getUserNameByServiceId($res['id'],1);
}else{
$arr['images']['i_images'] = [];
//年检
$arr['year_name'] = $this->getUserNameByServiceId($res['id'],2);
}
//月检图片标题
$arr['images']['title'] = '月检图片';
//确认图片
if($res['confirm_images']){
... ... @@ -1985,16 +2048,10 @@ class CommonController extends RestBaseController
return $arr;
}
//获取日检年检报表详情
public function getInspectReportDetail($res,$data,$flag){
//获取日检报表详情
public function getInspectReportDetail($res,$data){
$arr = [];
if($flag == 'inspect'){
//日检
$company = $this->getCompanyName($res['project_id'],'消防日检');
}else{
//年检
$company = $this->getCompanyName($res['project_id'],'年检');
}
$company = $this->getCompanyName($res['project_id'],'消防日检');
if($company){
$arr['a_company'] = $company['a_company'];
$arr['b_company'] = $company['b_company'];
... ... @@ -2002,46 +2059,23 @@ class CommonController extends RestBaseController
}
//查询已经巡检列表
if($flag == 'inspect'){
//日检
$where = ['party'=>$res['party'],'project_id'=>$res['project_id']];
$field = 'id,status,uid,point_id,images,create_time';
$arr['inspect'] = $this->getInspectList($where,$field,$res['project_id'],'inspect',$res['create_time']);
//日检时间
$arr['inspect_time'] = $res['create_time'];
}else{
//年检检测
$where = ['project_id'=>$res['project_id'],'test_id'=>$res['id']];
$field = 'id,status,uid,spot_id,images,create_time';
$arr['years'] = $this->getTestYearsList($where,$field,'years');
//检测单号
$arr['number'] = $res['number'];
//检测时间
$arr['test_time'] = $res['test_time'];
}
if($flag == 'inspect'){
//显示拍照的日检人员
$ins_data = [
'project_id'=>$res['project_id'],
'create_time'=>$res['create_time']
];
$arr['inspect_name'] = $this->getUserNameByProjectId($ins_data);
}else{
//乙方项目组
$arr['inspect_name'] = $this->getUserByProjectId($res['project_id'],'id,b_sid',1);
}
$where = ['party'=>$res['party'],'project_id'=>$res['project_id']];
$field = 'id,status,uid,point_id,images,create_time';
$arr['inspect'] = $this->getInspectList($where,$field,$res['project_id'],'inspect',$res['create_time']);
//日检时间
$arr['inspect_time'] = $res['create_time'];
//显示拍照的参与人员
$ins_data = [
'project_id'=>$res['project_id'],
'create_time'=>$res['create_time']
];
$arr['inspect_name'] = $this->getUserNameByProjectId($ins_data);
//评价内容
$discussModel = new DiscussModel();
if($flag == 'inspect'){
//日检
$service = config('site.service_inspect');
}else{
//年检
$service = config('site.service_years');
}
$service = config('site.service_inspect');
$discuss = $discussModel->where(['type'=>$service,'type_id'=>$data['id']])->find();
if($discuss){
... ... @@ -2423,6 +2457,9 @@ class CommonController extends RestBaseController
//记录拍照人员(添加或编辑)0:日检,1:月检,2:年检,3:维修,4:改造,5:培训,6:演习
public function createInsUid($data,$type=0){
$recordData['type'] = $type;
if($type != 0){
$recordData['service_id'] = $data['service_id'];
}
$recordData['uid'] = $this->userId;
$recordData['project_id'] = $data['project_id'];
$recordData['create_time'] = $data['create_time'];
... ... @@ -2430,7 +2467,7 @@ class CommonController extends RestBaseController
$insUidModel->create($recordData);
}
//根据项目id获取日检人员
//根据项目id获取日检参与人员
public function getUserNameByProjectId($data){
$time = date('Y-m-d',$data['create_time']);
$startTime = strtotime($time);
... ... @@ -2452,6 +2489,24 @@ class CommonController extends RestBaseController
return $user_login;
}
//根据服务id获取1:月检,2:年检,3:报修,4:改造,5:培训,6:演习 参与人员
public function getUserNameByServiceId($service_id,$type){
$res = Db::name('ins_record_uid')
->where(['service_id'=>$service_id,'type'=>$type])
->field('uid')
->select()
->toArray();
$u_ids = array_unique(array_values(array_column($res,'uid')));
$users = Db::name('user')
->whereIn('id',$u_ids)
->where('user_status',1)
->field('id,user_login')
->select()
->toArray();
$user_login = trim(implode(array_column($users,'user_login'),'/'),'/');
return $user_login;
}
//获取培训演习指派甲方员工完成图片数量
public function getFinishCount($where){
$count = Db::name('confirm_image')
... ... @@ -2464,11 +2519,10 @@ class CommonController extends RestBaseController
public function getUnFinishUid($where){
$res = Db::name('confirm_image')
->where($where)
->field('uid')
->field('uid,confirm_images')
->select()
->toArray();
$u_ids = array_values(array_column($res,'uid'));
return $u_ids;
return $res;
}
}
... ...
... ... @@ -84,6 +84,7 @@ class ExerciseController extends RestBaseController
$value['finish'] = 1;
}else{
$u_ids = $common->getUnFinishUid(['type'=>1,'c_id'=>$value['id'],'is_image'=>1]);
$u_ids = array_values(array_column($u_ids,'uid'));
if(in_array($this->userId,$u_ids)){
$value['finish'] = 1;
}else{
... ... @@ -159,6 +160,7 @@ class ExerciseController extends RestBaseController
//记录参与人员id
$join_uid['project_id'] = $data['project_id'];
$join_uid['create_time'] = $data['create_time'];
$join_uid['service_id'] = $res->id;
$common->createInsUid($join_uid,6);
$this->success('演习信息提交成功');
... ... @@ -305,6 +307,7 @@ class ExerciseController extends RestBaseController
$project = $common->getLaunchUid('exercise',$data['id']);
$join_uid['project_id'] = $project['project_id'];
$join_uid['create_time'] = time();
$join_uid['service_id'] = $data['id'];
$common->createInsUid($join_uid,6);
$this->success('成功');
... ... @@ -355,6 +358,7 @@ class ExerciseController extends RestBaseController
$project = $common->getLaunchUid('exercise',$data['id']);
$join_uid['project_id'] = $project['project_id'];
$join_uid['create_time'] = time();
$join_uid['service_id'] = $data['id'];
$common->createInsUid($join_uid,6);
//指派甲方人员
... ... @@ -415,6 +419,7 @@ class ExerciseController extends RestBaseController
$project = $common->getLaunchUid('exercise',$data['id']);
$join_uid['project_id'] = $project['project_id'];
$join_uid['create_time'] = time();
$join_uid['service_id'] = $data['id'];
$common->createInsUid($join_uid,6);
//查询培训单 甲方员工是否全部完成
... ...
... ... @@ -108,6 +108,7 @@ class ReformController extends RestBaseController
//记录参与人员id
$join_uid['project_id'] = $data['project_id'];
$join_uid['create_time'] = $data['create_time'];
$join_uid['service_id'] = $res->id;
$common->createInsUid($join_uid,4);
$this->success('您的改造消息提交成功!请等待维修人员确认');
... ... @@ -557,6 +558,7 @@ class ReformController extends RestBaseController
$project = $common->getLaunchUid('reform',$data['id']);
$join_uid['project_id'] = $project['project_id'];
$join_uid['create_time'] = time();
$join_uid['service_id'] = $data['id'];
$common->createInsUid($join_uid,4);
$this->success('保存成功');
... ... @@ -661,6 +663,7 @@ class ReformController extends RestBaseController
$project = $common->getLaunchUid('reform',$data['id']);
$join_uid['project_id'] = $project['project_id'];
$join_uid['create_time'] = time();
$join_uid['service_id'] = $data['id'];
$common->createInsUid($join_uid,4);
//极光推送,推送甲乙方领导
... ...
... ... @@ -108,6 +108,7 @@ class RepairController extends RestBaseController
//记录参与人员id
$join_uid['project_id'] = $data['project_id'];
$join_uid['create_time'] = $data['create_time'];
$join_uid['service_id'] = $res->id;
$common->createInsUid($join_uid,3);
$this->success('您的报修消息提交成功!请等待维修人员确认');
... ... @@ -560,6 +561,7 @@ class RepairController extends RestBaseController
$project = $common->getLaunchUid('repair',$data['id']);
$join_uid['project_id'] = $project['project_id'];
$join_uid['create_time'] = time();
$join_uid['service_id'] = $data['id'];
$common->createInsUid($join_uid,3);
$this->success('保存成功');
... ... @@ -663,6 +665,7 @@ class RepairController extends RestBaseController
$project = $common->getLaunchUid('repair',$data['id']);
$join_uid['project_id'] = $project['project_id'];
$join_uid['create_time'] = time();
$join_uid['service_id'] = $data['id'];
$common->createInsUid($join_uid,3);
//极光推送,推送系统指定人员
... ...
... ... @@ -13,10 +13,10 @@ class ReportController extends RestBaseController
{
/**
* @title 获取项目状态
* @title 获取月检年检项目状态
* @description 接口说明
* @author 开发者
* @url /api/home/report/getProjectStatus
* @url /api/home/report/getCheckStatus
* @method GET
*
* @header name:token require:1 default: desc:header
... ... @@ -24,10 +24,69 @@ class ReportController extends RestBaseController
* @return data:列表@
* @data id:状态id status:状态名称
*/
public function getProjectStatus(){
public function getCheckStatus(){
if($this->request->isGet()){
$common = new CommonController();
$res = $common->getProjectStatus();
$res = [
['id'=> -1,'status'=> '全部'],
['id'=> 0,'status'=> '待确认'],
['id'=> 1,'status'=> '已驳回'],
['id'=> 2,'status'=> '进行中'],
['id'=> 3,'status'=> '申请中'],
['id'=> 4,'status'=> '已完成'],
];
$this->success('成功',['data'=>$res]);
}else{
$this->error('请求方式错误!');
}
}
/**
* @title 报修改造项目状态
* @description 接口说明
* @author 开发者
* @url /api/home/report/getRepairStatus
* @method GET
*
* @header name:token require:1 default: desc:header
*
* @return data:列表@
* @data id:状态id status:状态名称
*/
public function getRepairStatus(){
if($this->request->isGet()){
$res = [
['id'=> -1,'status'=> '全部'],
['id'=> 0,'status'=> '待确认'],
['id'=> 1,'status'=> '进行中'],
['id'=> 2,'status'=> '申请中'],
['id'=> 3,'status'=> '已完成'],
];
$this->success('成功',['data'=>$res]);
}else{
$this->error('请求方式错误!');
}
}
/**
* @title 培训演习项目状态
* @description 接口说明
* @author 开发者
* @url /api/home/report/getTrainStatus
* @method GET
*
* @header name:token require:1 default: desc:header
*
* @return data:列表@
* @data id:状态id status:状态名称
*/
public function getTrainStatus(){
if($this->request->isGet()){
$res = [
['id'=> -1,'status'=> '全部'],
['id'=> 0,'status'=> '待确认'],
['id'=> 1,'status'=> '进行中'],
['id'=> 2,'status'=> '已完成'],
];
$this->success('成功',['data'=>$res]);
}else{
$this->error('请求方式错误!');
... ... @@ -50,7 +109,7 @@ class ReportController extends RestBaseController
* @param name:end_time type:inter require:0 default: other desc:开始日期(检索结束日期)
*
* @return data:列表@
* @data id:列表id project_id:项目id project_name:项目名称 create_time:巡检时间 user_group:项目组人员
* @data id:列表id project_id:项目id project_name:项目名称 create_time:巡检时间 user_group:参与人员
* @return page:当前页数
* @return total_page:总页数
*/
... ... @@ -58,7 +117,6 @@ class ReportController extends RestBaseController
if($this->request->isGet()){
$data = $this->request->get();
$company_id = $this->request->get('company_id');
$rule = config('site.pages_report');
$validate = new Validate($rule['rule'],$rule['msg']);
if (!$validate->check($data)) {
... ... @@ -90,79 +148,95 @@ class ReportController extends RestBaseController
}
/**
* @title 年检报表列表
* @title 月检,年检报表列表
* @description 接口说明
* @author 开发者
* @url /api/home/report/yearsReportList
* @url /api/home/report/checkReportList
* @method GET
*
* @header name:token require:1 default: desc:header
* @param name:page type:inter require:1 default: other desc:分页页码
* @param name:type type:inter require:1 default: other desc:类型(1:月检,2:年检)
*
* @param name:company_id type:inter require:0 default: other desc:企业id(总领导传此字段)
* @param name:project_id type:inter require:0 default: other desc:项目id(检索)
* @param name:status type:inter require:0 default: other desc:状态(检索状态:-1:全部,0:待确认,1:已驳回,2:进行中,3:申请中,4:已完成)
* @param name:start_time type:inter require:0 default: other desc:开始日期(检索开始日期)
* @param name:end_time type:inter require:0 default: other desc:开始日期(检索结束日期)
*
* @return data:列表@
* @data id:列表id project_id:项目id project_name:项目名称 test_time:检测时间 user_group:项目组人员
* @data id:列表id project_id:项目id project_name:项目名称 title:表头信息 ins_m_time:(ins_m_time:月检时间,year_m_time:年检时间) user_group:参与人员 status:状态(0:待确认,1:甲方员工驳回,2:进行中,3:申请中,4:已完成)
* @return page:当前页数
* @return total_page:总页数
*/
public function yearsReportList(){
public function checkReportList(){
if($this->request->isGet()){
$data = $this->request->get();
$company_id = $this->request->get('company_id');
$rule = config('site.pages_report');
$rule = config('site.pages_service');
$validate = new Validate($rule['rule'],$rule['msg']);
if (!$validate->check($data)) {
$this->error($validate->getError());
}
$common = new CommonController();
$user = $common->getUserIdentity();
//根据企业id查询项目id
$pIds = $common->getCheckStatus($user,$company_id);
$result = $common->getTestReportList('test',$pIds,$data);
//查找项目组乙方人员名称
$service_id = $data['type'];
$result = [];
$total_page = 0;
if($service_id == 1){
//月检
$result = $common->getCheckReportList('check',$pIds,$data);
$total_page = $common->checkReportCount('check',$pIds,$data);
}else if($service_id == 2){
//年检
$result = $common->getCheckReportList('pro_check',$pIds,$data);
$total_page = $common->checkReportCount('pro_check',$pIds,$data);
}
foreach($result as &$value){
//乙方项目组
$value['user_group'] = $common->getUserByProjectId($value['project_id'],'id,b_sid');
//显示拍照的日检人员
if($service_id == 1){
$value['user_group'] = $common->getUserNameByServiceId($value['id'],1);
}else{
$value['user_group'] = $common->getUserNameByServiceId($value['id'],2);
}
}
$total_page = $common->getTestReportCount('test',$pIds,$data);
$res['data'] = $result;
$res['page'] = intval($data['page']);
$res['total_page'] = $total_page;
$this->success('成功',$res);
}else{
$this->error('请求方式错误');
$this->error('请求方式错误');
}
}
/**
* @title 服务报表列表(2:月检,3:改造,4:报修跟进,5:培训,6:演习)
* @title 报修,改造报表列表
* @description 接口说明
* @author 开发者
* @url /api/home/report/serviceReportList
* @url /api/home/report/repairReportList
* @method GET
*
* @header name:token require:1 default: desc:header
* @param name:page type:inter require:1 default: other desc:分页页码
* @param name:service_id type:inter require:1 default: other desc:服务id(2:月检,3:改造,4:报修跟进,5:培训,6:演习
* @param name:type type:inter require:1 default: other desc:类型(1:报修,2:改造
*
* @param name:company_id type:inter require:0 default: other desc:企业id(总领导传此字段)
* @param name:project_id type:inter require:0 default: other desc:项目id(检索)
* @param name:status type:inter require:0 default: other desc:状态(检索状态:-1:全部,1:待确认,2:进行中,3:已完成)
* @param name:status type:inter require:0 default: other desc:状态(检索状态:-1:全部,0:待确认,1:进行中,2:申请中,3:已完成)
* @param name:start_time type:inter require:0 default: other desc:开始日期(检索开始日期)
* @param name:end_time type:inter require:0 default: other desc:开始日期(检索结束日期)
*
* @return data:列表@
* @data id:列表id project_id:项目id project_name:项目名称 ins_m_time:(ins_m_time:月检时间,create_time:报修改造时间,train_time:培训时间,exercise:演习时间) user_group:项目组人员 status:状态(月检[0:待甲方领导确认,1:甲方领导驳回,2待乙方员工完成,3:已完成],改造:[0:待确认,1:维修中,2:已完成],报修跟进:[0:待确认,1:维修中,2:已完成],培训:[0:甲方提交申请,1:乙方领导驳回,2:乙方领导确认,3:完成],演习:[0:甲方提交申请,1:乙方领导驳回,2:乙方领导确认,3:完成 ]
* @data id:列表id project_id:项目id project_name:项目名称 title:表头信息 create_time:(报修、改造时间) user_group:参与人员 status:状态(0:待确认,1:进行中,2:申请中,3:已完成
* @return page:当前页数
* @return total_page:总页数
*/
public function serviceReportList(){
public function repairReportList(){
if($this->request->isGet()){
$data = $this->request->get();
$company_id = $this->request->get('company_id');
... ... @@ -177,48 +251,100 @@ class ReportController extends RestBaseController
//根据企业id查询项目id
$pIds = $common->getCheckStatus($user,$company_id);
$service_id = $data['service_id'];
$service_id = $data['type'];
$result = [];
$total_page = 0;
if($service_id == 2){
//月检
$result = $common->getCheckReportList($pIds,$data);
$total_page = $common->checkReportCount($pIds,$data);
}else if($service_id == 3){
if($service_id == 1){
//报修
$result = $common->getRepairReportList('reform',$pIds,$data);
$total_page = $common->repairReportCount('reform',$pIds,$data);
}else if($service_id == 2){
//改造
$result = $common->getReformReportList($pIds,$data,'reform');
$total_page = $common->reformReportCount($pIds,$data,'reform');
}else if($service_id == 4){
//报修跟进
$result = $common->getReformReportList($pIds,$data,'repair');
$total_page = $common->reformReportCount($pIds,$data,'repair');
}else if($service_id == 5){
$result = $common->getRepairReportList('repair',$pIds,$data);
$total_page = $common->repairReportCount('repair',$pIds,$data);
}
foreach($result as &$value){
//显示拍照的日检人员
if($service_id == 1){
$value['user_group'] = $common->getUserNameByServiceId($value['id'],3);
}else{
$value['user_group'] = $common->getUserNameByServiceId($value['id'],4);
}
}
$res['data'] = $result;
$res['page'] = intval($data['page']);
$res['total_page'] = $total_page;
$this->success('成功',$res);
}else{
$this->error('请求方式错误');
}
}
/**
* @title 培训,演习报表列表
* @description 接口说明
* @author 开发者
* @url /api/home/report/trainReportList
* @method GET
*
* @header name:token require:1 default: desc:header
* @param name:page type:inter require:1 default: other desc:分页页码
* @param name:type type:inter require:1 default: other desc:类型(1:培训,2:演习)
*
* @param name:company_id type:inter require:0 default: other desc:企业id(总领导传此字段)
* @param name:project_id type:inter require:0 default: other desc:项目id(检索)
* @param name:status type:inter require:0 default: other desc:状态(检索状态:-1:全部,0:待确认,1:进行中,2:已完成)
* @param name:start_time type:inter require:0 default: other desc:开始日期(检索开始日期)
* @param name:end_time type:inter require:0 default: other desc:开始日期(检索结束日期)
*
* @return data:列表@
* @data id:列表id project_id:项目id project_name:项目名称 title:表头信息 train_time:(train_time:培训时间,exercise_time:演习时间) user_group:参与人员 status:状态(0:待确认,1:进行中,2:已完成)
* @return page:当前页数
* @return total_page:总页数
*/
public function trainReportList(){
if($this->request->isGet()){
$data = $this->request->get();
$company_id = $this->request->get('company_id');
$rule = config('site.pages_service');
$validate = new Validate($rule['rule'],$rule['msg']);
if (!$validate->check($data)) {
$this->error($validate->getError());
}
$common = new CommonController();
$user = $common->getUserIdentity();
//根据企业id查询项目id
$pIds = $common->getCheckStatus($user,$company_id);
$service_id = $data['type'];
$result = [];
$total_page = 0;
if($service_id == 1){
//培训
$result = $common->getTrainReportList($pIds,$data,'train');
$total_page = $common->trainReportCount($pIds,$data,'train');
}else if($service_id == 6){
$result = $common->getTrainReportList('train',$pIds,$data);
$total_page = $common->trainReportCount('train',$pIds,$data);
}else if($service_id == 2){
//演习
$result = $common->getTrainReportList($pIds,$data,'exercise');
$total_page = $common->trainReportCount($pIds,$data,'exercise');
$result = $common->getTrainReportList('exercise',$pIds,$data);
$total_page = $common->trainReportCount('exercise',$pIds,$data);
}
foreach($result as &$value){
//查找项目组人员
if($user['party'] == 0){
//甲方项目组
$user_group = $common->getUserByProject($value['project_id'],'id,a_sid');
$value['user_group'] = trim(implode(array_column($user_group,'user_login'),'/'),'/');
//显示拍照的日检人员
if($service_id == 1){
$value['user_group'] = $common->getUserNameByServiceId($value['id'],5);
}else{
//乙方项目组
$value['user_group'] = $common->getUserByProjectId($value['project_id'],'id,b_sid');
$value['user_group'] = $common->getUserNameByServiceId($value['id'],6);
}
}
$res['data'] = $result;
$res['page'] = intval($data['page']);
$res['total_page'] = $total_page;
$this->success('成功',$res);
}else{
$this->error('请求方式错误');
$this->error('请求方式错误');
}
}
... ... @@ -239,7 +365,7 @@ class ReportController extends RestBaseController
* @return b_company:乙方公司@!
* @b_company company_name:乙方公司 logo:公司logo
* @return title:报表名称
* @return inspect_name:项目组(甲方或者乙方)
* @return inspect_name:参与人员
*
* @return inspect_time:日检巡检时间
*
... ... @@ -268,7 +394,7 @@ class ReportController extends RestBaseController
if($res){
//根据项目id获取项目名称,甲方公司名称,logo,乙方公司名称,logo
$common = new CommonController();
$arr = $common->getInspectReportDetail($res,$data,'inspect');
$arr = $common->getInspectReportDetail($res,$data);
}
$this->success('成功',$arr);
}else{
... ... @@ -297,14 +423,14 @@ class ReportController extends RestBaseController
* @return ins_m_time:月检时间
* @return user_login:乙方发起人
* @return number:月检单号
* @return a_leader_user:甲方领导确认人
* @return a_staff_user:甲方员工确认人
* @return confirm_user:乙方验收人姓名
* @return finish_time:完成时间
* @return check_period:工期
* @return check_name:乙方项目组人员(乙方月检人员)
* @return images:月检图片@!
* @images title:图片标题 i_images:月检图片@
* @i_images day:图片日期 image:图片路径@
* @return check_name:参与人员
* @return check_point:月检点@!
* @check_point id:月检点id point_name:月检点名称 status:月检状态(0:正常,1:故障,2:未检测) user_login:检测人员 images:月检图片@
* @images day:图片日期 image:图片路径@
* @image image_url:图片路径
*
* @return confirm_images:确认完成图片@!
... ... @@ -314,8 +440,8 @@ class ReportController extends RestBaseController
* @return is_comment:是否已评论(0:未评论,1:已评论)
* @return comment:评论内容
*
* @return address:演习地点
* @return remark:演习备注
* @return address:月检地点
* @return remark:月检备注
*/
public function checkReportDetail(){
if($this->request->isGet()){
... ... @@ -334,7 +460,7 @@ class ReportController extends RestBaseController
if($res){
//根据项目id获取项目名称,甲方公司名称,logo,乙方公司名称,logo
$common = new CommonController();
$arr = $common->getCheckReportDetail($res,$data);
$arr = $common->getCheckReportDetail('check',$res,$data);
}
$this->success('成功',$arr);
}else{
... ... @@ -346,7 +472,7 @@ class ReportController extends RestBaseController
* @title 年检报表详情
* @description 接口说明
* @author 开发者
* @url /api/home/report/yearsReportDetail
* @url /api/home/report/yearReportDetail
* @method GET
*
* @header name:token require:1 default: desc:header
... ... @@ -358,21 +484,32 @@ class ReportController extends RestBaseController
*
* @return b_company:乙方公司@!
* @b_company company_name:乙方公司 logo:公司logo
* @return title:报表名称
* @return inspect_name:项目组(甲方或者乙方)
*
* @return test_time:检测时间
* @return number:检测单号
* @return years:年检@
* @years spot_id:年检点id status:日检点状态(0:正常,1:故障,2:未检查) user_login:检查人姓名 spot_name:年检点名称 images:年检图片@
* @return title:报表名称
* @return year_m_time:年检时间
* @return user_login:乙方发起人
* @return number:年检单号
* @return a_staff_user:甲方员工确认人
* @return confirm_user:乙方验收人姓名
* @return finish_time:完成时间
* @return check_period:工期
* @return year_name:参与人员
* @return check_point:年检点@!
* @check_point id:年检点id point_name:年检点名称 status:年检状态(0:正常,1:故障,2:未检测) user_login:检测人员 images:年检图片@
* @images day:图片日期 image:图片路径@
* @image image_url:图片路径
*
* @return confirm_images:确认完成图片@!
* @confirm_images title:图片标题 c_images:完成图片@
* @c_images day:图片日期 image:图片路径@
*
* @return is_comment:是否已评论(0:未评论,1:已评论)
* @return comment:评论内容
*
* @return address:年检地点
* @return remark:年检备注
*/
public function yearsReportDetail(){
public function yearReportDetail(){
if($this->request->isGet()){
$data = $this->request->get();
... ... @@ -382,14 +519,14 @@ class ReportController extends RestBaseController
$this->error($validate->getError());
}
$arr = [];
$res = Db::name('test')
$res = Db::name('pro_check')
->where(['id'=>$data['id']])
->find();
if($res){
//根据项目id获取项目名称,甲方公司名称,logo,乙方公司名称,logo
$common = new CommonController();
$arr = $common->getInspectReportDetail($res,$data,'years');
$arr = $common->getCheckReportDetail('pro_check',$res,$data);
}
$this->success('成功',$arr);
}else{
... ... @@ -427,7 +564,7 @@ class ReportController extends RestBaseController
* @return confirm_user:验收人姓名
* @return finish_time:完成时间
* @return repair_period:工期
* @return repair_name:乙方项目组人员(乙方维修人员)
* @return repair_name:参与人员
* @return images:报修图片@!
* @images title:图片标题 i_images:报修图片@
* @i_images day:图片日期 image:图片路径@
... ... @@ -500,7 +637,7 @@ class ReportController extends RestBaseController
* @return confirm_user:验收人姓名
* @return finish_time:完成时间
* @return reform_period:工期
* @return reform_name:乙方项目组人员(乙方改造人员)
* @return reform_name:参与人员
* @return images:改造图片@!
* @images title:图片标题 i_images:改造图片@
* @i_images day:图片日期 image:图片路径@
... ... @@ -564,11 +701,11 @@ class ReportController extends RestBaseController
* @return number:培训单号
* @return train_time:培训时间
* @return user_login:甲方发起人
* @return b_leader_user:乙方领导确认人
* @return confirm_user:甲方验收人姓名
* @return b_staff_user:乙方员工确认人
* @return confirm_user_b:乙方验收人姓名
* @return finish_time:完成时间
* @return train_period:工期
* @return train_name:乙方项目组人员(乙方培训人员)
* @return train_name:参与人员
* @return images:培训图片@!
* @images title:图片标题 i_images:培训图片@
* @i_images day:图片日期 image:图片路径@
... ... @@ -578,6 +715,10 @@ class ReportController extends RestBaseController
* @confirm_images title:图片标题 c_images:完成图片@
* @c_images day:图片日期 image:图片路径@
*
* @return confirm_images_a:甲方验收人图片@
* @confirm_images_a user_login:验收人 a_images:图片@
* @a_images day:图片日期 image:图片路径@
*
* @return is_comment:是否已评论(0:未评论,1:已评论)
* @return comment:评论内容
*
... ... @@ -630,11 +771,11 @@ class ReportController extends RestBaseController
* @return number:演习单号
* @return exercise_time:演习时间
* @return user_login:甲方发起人
* @return b_leader_user:乙方领导确认人
* @return confirm_user:甲方验收人姓名
* @return b_staff_user:乙方领导确认人
* @return confirm_user_b:乙方验收人姓名
* @return finish_time:完成时间
* @return exercise_period:工期
* @return exercise_name:乙方项目组人员(乙方演习人员)
* @return exercise_name:参与人员
* @return images:演习图片@!
* @images title:图片标题 i_images:演习图片@
* @i_images day:图片日期 image:图片路径@
... ... @@ -644,6 +785,10 @@ class ReportController extends RestBaseController
* @confirm_images title:图片标题 c_images:完成图片@
* @c_images day:图片日期 image:图片路径@
*
* @return confirm_images_a:甲方验收人图片@
* @confirm_images_a user_login:验收人 a_images:图片@
* @a_images day:图片日期 image:图片路径@
*
* @return is_comment:是否已评论(0:未评论,1:已评论)
* @return comment:评论内容
*
... ...
... ... @@ -83,6 +83,7 @@ class TrainController extends RestBaseController
$value['finish'] = 1;
}else{
$u_ids = $common->getUnFinishUid(['type'=>0,'c_id'=>$value['id'],'is_image'=>1]);
$u_ids = array_values(array_column($u_ids,'uid'));
if(in_array($this->userId,$u_ids)){
$value['finish'] = 1;
}else{
... ... @@ -157,6 +158,7 @@ class TrainController extends RestBaseController
//记录参与人员id
$join_uid['project_id'] = $data['project_id'];
$join_uid['create_time'] = $data['create_time'];
$join_uid['service_id'] = $res->id;
$common->createInsUid($join_uid,5);
$this->success('培训信息提交成功');
... ... @@ -303,6 +305,7 @@ class TrainController extends RestBaseController
$project = $common->getLaunchUid('train',$data['id']);
$join_uid['project_id'] = $project['project_id'];
$join_uid['create_time'] = time();
$join_uid['service_id'] = $data['id'];
$common->createInsUid($join_uid,5);
$this->success('成功');
... ... @@ -353,6 +356,7 @@ class TrainController extends RestBaseController
$project = $common->getLaunchUid('train',$data['id']);
$join_uid['project_id'] = $project['project_id'];
$join_uid['create_time'] = time();
$join_uid['service_id'] = $data['id'];
$common->createInsUid($join_uid,5);
//指派甲方人员
... ... @@ -411,6 +415,7 @@ class TrainController extends RestBaseController
$project = $common->getLaunchUid('train',$data['id']);
$join_uid['project_id'] = $project['project_id'];
$join_uid['create_time'] = time();
$join_uid['service_id'] = $data['id'];
$common->createInsUid($join_uid,5);
//查询培训单 甲方员工是否全部完成
... ...
... ... @@ -450,7 +450,10 @@ class YearlyController extends RestBaseController
$res = $insCheckModel->create($data);
if($res){
//记录月检人员id
$common->createInsUid($data,2);
$join_uid['service_id'] = $data['c_id'];
$join_uid['project_id'] = $data['project_id'];
$join_uid['create_time'] = $data['create_time'];
$common->createInsUid($join_uid,2);
$this->success('您的年检点信息添加成功!');
}else{
... ... @@ -544,9 +547,12 @@ class YearlyController extends RestBaseController
$arr['create_time'] = $data['create_time'];
$insCheckModel = new InsCheckModel();
$insCheckModel->where(['project_id'=>$data['project_id'],'point_id'=>$data['point_id'],'c_id' => $data['c_id'],'type'=>1])->update($arr);
$insCheckModel->where(['project_id'=>$data['project_id'],'point_id'=>$data['point_id'],'c_id'=>$data['c_id'],'type'=>1])->update($arr);
//记录巡检人员id
$common->createInsUid($data,2);
$join_uid['project_id'] = $data['project_id'];
$join_uid['create_time'] = $data['create_time'];
$join_uid['service_id'] = $data['c_id'];
$common->createInsUid($join_uid,2);
$this->success('保存成功!');
}else{
... ... @@ -637,7 +643,8 @@ class YearlyController extends RestBaseController
$project = $common->getLaunchUid('pro_check',$data['id']);
$join_uid['project_id'] = $project['project_id'];
$join_uid['create_time'] = time();
$common->createInsUid($join_uid,1);
$join_uid['service_id'] = $data['id'];
$common->createInsUid($join_uid,2);
//极光推送,推送系统设置人员
... ...