123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- <?php
- namespace app\bug\controller;
- use app\bug\model\Moudel;use app\bug\model\NoteLog;use app\user\model\Account;use think\App;
- use think\facade\Config;
- use think\facade\Db;use think\facade\Validate;
- class Manange extends Base
- {
- public function __construct(App $app)
- {
- parent::__construct($app);
- $this->model = new \app\bug\model\Manange();
- }
- public function create()
- {
- $param= $this->request->param(["id"=>[],"company_id"=>""],"post","trim");
- $valid =Validate::rule(["id|工单处理人主键id"=>"require|array","company_id|公司平台id"=>"require|number|gt:0"]);
- if($valid->check($param)==false)return error($valid->getError());
- $manager =$this->model->where(['company_id' => $param['company_id'],'is_del' => 0])->column("manange_id");
- $managerNew = array_diff($param['id'], $manager);
- $datain=[];
- if (!empty($managerNew)) {
- $managerInfo = Account::with(['userInfo'])->whereIn('id',$managerNew)->select();
- foreach ($managerInfo as $value){
- $temp=[];
- $temp['manange_name'] = $value['nickname'];
- $temp['manange_id'] = $value['id'];
- $temp['phone'] = $value['mobile'];
- $temp['company_id'] = $param['company_id'];
- $datain[]=$temp;
- }
- }
- $st = array_diff($manager,$param['id']);
- $itep = \app\bug\model\Deal::where(['deal_id'=>$st,'is_del'=>0])->select();
- if(!$itep->isEmpty()){
- $uin = array_unique(array_column($itep->toArray(),'deal_id'));
- $infe=$this->model->where(['manange_id'=>$uin,"is_del"=>0,'company_id'=>$param['company_id']])->column('manange_id,manange_name');
- if(!empty($infe)) return error("处理人已绑定任务无法删除",10002,$infe);
- }
- $this->model->startTrans();
- try{
- if(!empty($st)){
- $inf=$this->model->where(['manange_id'=>$st,"is_del"=>0,'company_id'=>$param['company_id']])->save(["is_del"=>1]);
- if( $inf==false) throw new \Exception("更新失败");
- }
- if(!empty($datain)){
- $datainfo = $this->model->insertAll($datain);
- if ($datainfo<=0)throw new \Exception('更新失败');
- }
- $this->model->commit();
- return success("新建成功");
- }catch (\Exception $e){
- $this->model->rollback();
- return error($e->getMessage());
- }
- }
- public function del(){
- $id = $this->request->post("id/d");
- $info=$this->model->where(['id'=>$id,'is_del'=>0])->findOrEmpty();
- if($info->isEmpty()){
- return error("未找到数据");
- }
- $info->is_del=1;
- $info->save();
- return success("删除成功");
- }
- public function list(){
- $param=$this->request->param(["manange_name"=>"","manange_id"=>"","company_id"=>"","phone"=>"","status"=>""],"post","trim");
- $where =[['is_del','=',0]];
- if ($param['manange_name'] !== "") {
- $where[]= ['manange_name',"like","%{$param['manange_name']}%"];
- }
-
- if ($param['manange_id']!== "") {
- $where[]= ['manange_id',"=",$param['manange_id']];
- }
-
- if ($param['company_id'] !== "") {
- $where[]= ['company_id',"=",$param['company_id']];
- }
-
- if ($param['phone'] !== "") {
- $where[]= ['phone',"like","%{$param['phone']}%"];
- }
- if ($param['status'] !== "") {
- $where[]= ['status',"=",$param['status']];
- }
- $list=$this->model->where($where)->order("id desc")->select();
- return success("获取成功",$list);
- }
- public function loglist(){
- $param=$this->request->param(['page'=>1,'size'=>15,'bugNo'=>''],'post','trim');
- $where=[];
- if($param['bugNo']!=""){
- $where[]=['bugNo',"like","%{$param['bugNo']}%"];
- }
- $conf=Config::get('note');
- $list = NoteLog::with(["noteInfo"])->where($where)->order('id desc')->paginate(["list_rows"=>$param['size'],
- "page"=>$param['page']]);
- foreach ($list->items() as &$value){
- $value['type_cn'] = $value['type']==2?'编辑':'新建';
- if(array_key_exists($value['handle_name'],$conf['field_value'])){
- $field_value=$conf['field_value'][$value['handle_name']];
- $value['action_item'] = isset($field_value[$value['action_item']]) ?$field_value[$value['action_item']]:$value['action_item'];
- $value['action_after'] = isset($field_value[$value['action_after']]) ?$field_value[$value['action_after']]:$value['action_after'];
- }else{
- if($value['handle_name']=='model_id'){
- $model1 =$value['action_item']!==''?Moudel::GetModelByCid($value['action_item'],$value['company_type']):[];
- $model2 = Moudel::GetModelByCid($value['action_after'],$value['company_type']);
- $value['action_item'] = empty($model1)?'': implode("/",array_column($model1,'rename'));
- $value['action_after'] = empty($model2)?'': implode("/",array_column($model2,'rename'));
- }
- }
- $value['handle_name'] = $conf['field'][$value['handle_name']];
- }
- return success("获取成功",['list'=>$list->items(),'count'=>$list->total()]);
- }
- }
|