You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
3.6 KiB
PHP
94 lines
3.6 KiB
PHP
<?php
|
|
namespace App\Services\Admin\YeWu;
|
|
use Illuminate\Support\Facades\DB;
|
|
class DepartmentResourceService
|
|
{
|
|
public function Save($info,$userid)
|
|
{
|
|
$id = $info['id'];
|
|
$department_id = $info['department_id'];
|
|
//查询科室状态是否正常
|
|
$department = DB::table('s_department')
|
|
->where('id', $department_id)
|
|
->where('is_del', 0)
|
|
->where('department_status', 1)
|
|
->first();
|
|
if(!$department) {
|
|
return \Yz::Return(false, '科室状态异常', []);
|
|
}
|
|
if(isset($id)) {
|
|
$c = DB::table('s_department_resources')
|
|
->where('id', $id)
|
|
->update($info);
|
|
}else {
|
|
$info['is_del']=0;
|
|
$info['adduser']=$userid;
|
|
$c = DB::table('s_department_resources')
|
|
->insert($info);
|
|
}
|
|
if(!$c) {
|
|
return \Yz::Return(false, '保存失败', []);
|
|
}else{
|
|
return \Yz::Return(true, '保存成功', []);
|
|
}
|
|
}
|
|
public function GetList($searchInfo,$page,$pageSize){
|
|
$list=DB::table('s_department_resources as a')->join('s_department','a.department_id','=','s_department.id')
|
|
->where('a.is_del',0);
|
|
if(isset($searchInfo['department_id'])){
|
|
$list= $list->where('a.department_id',$searchInfo['department_id']);
|
|
}
|
|
if(isset($searchInfo['status'])){
|
|
$list= $list->where('a.department_resources_status',$searchInfo['status']);
|
|
}
|
|
if(!empty($searchInfo['name'])){
|
|
$list= $list->where('a.department_resources_name','like','%'.$searchInfo['name'].'%');
|
|
}
|
|
$c=$list->count();
|
|
$list=$list->select(['a.*','s_department.department_name'])->skip(($page-1)*$pageSize)
|
|
->take($pageSize)->get() ;
|
|
foreach ($list as $k=>$v){
|
|
$list[$k]->devicesInfo=DB::table('s_department_resources_device')
|
|
->join('s_devices', 's_department_resources_device.device_id', '=', 's_devices.id')
|
|
->select('s_devices.*')
|
|
->where('rsourece_id',$v->id)->get();
|
|
}
|
|
return \Yz::Return(true, '查询成功', ['list'=>$list,'count'=>$c]);
|
|
}
|
|
public function Del($id){
|
|
$c= DB::table('s_department_resources')->where('id',$id)->update(['is_del'=>1]);
|
|
if(!$c){
|
|
return \Yz::Return(false, '删除失败', []);
|
|
}else{
|
|
return \Yz::Return(true, '删除成功', []);
|
|
}
|
|
}
|
|
//绑定设备
|
|
public function BindDevice($department_id,$resource_id,$device_ids){
|
|
$data=[];
|
|
foreach ($device_ids as $k=>$v){
|
|
$data[$k]['department_id']=$department_id;
|
|
$data[$k]['rsourece_id']=$resource_id;
|
|
$data[$k]['device_id']=$v;
|
|
}
|
|
DB::beginTransaction();
|
|
DB::table('s_department_resources_device')->where('rsourece_id',$resource_id)->delete();
|
|
$i= DB::table('s_department_resources_device')->insert($data);
|
|
if($i>0){
|
|
DB::commit();
|
|
return \Yz::Return(true, '绑定成功', []);
|
|
}else{
|
|
DB::rollBack();
|
|
return \Yz::Return(false, '绑定失败');
|
|
}
|
|
}
|
|
public function GetBindDeviceList($resource_id)
|
|
{
|
|
$list =DB::table('s_department_resources_device as a')
|
|
->join('s_devices as b', 'a.device_id', '=', 'b.id')
|
|
->select('b.*')
|
|
->where(['a.rsourece_id'=>$resource_id,'b.status'=>1,'b.is_del'=>0])->get();
|
|
return \Yz::Return(true, '查询成功', $list);
|
|
}
|
|
}
|