<?php namespace App\Http\Controllers; use App\Exceptions\IcException; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use DB; use App\Model\TemplateListModel; use App\Model\SaleOrderListsModel; use App\Model\TmplRelationsModel; use App\Model\TemplateExtendModel; Class AjaxController extends Controller { public $erp; // 统一入口 public function entrance(Request $request, $id) { return $this->$id($request); } // 模板列表 public function labelList($request) { $page = $request->input("page",1); $limit = $request->input("limit",10); $template_name = $request->input("template_name",''); $create_username = $request->input("create_username",''); $status = $request->input("status",'all'); $begin_time = $request->input("begin_time",''); $end_time = $request->input("end_time",''); $admin_id = $request->user->userId; $perm = new PermController; // 用户角色 $role = $perm->getUserRole($request); $query = TemplateListModel::select('*')->CreateUserId($admin_id,$role,$create_username)->TemplateName($template_name) ->Status($status) ->SearchTime($begin_time,$end_time) ->OrderBy("id","desc"); $query = $query->paginate($limit,[],'page',$page); $list = $query->toArray(); // dump($list); return ['code'=>0, 'count'=>$list['total'],'data'=>$list["data"]]; } // 标签使用记录 public function record($request) { $page = $request->input("page",1); $limit = $request->input("limit",10); $sale_order_sn = $request->input("sale_order_sn",''); $goods_type = $request->input("goods_type",''); $status = $request->input("status",'all'); $begin_time = $request->input("begin_time",''); $end_time = $request->input("end_time",''); $perm = new PermController; // 用户角色 $role = $perm->getUserRole($request); $admin_id = $request->user->userId; $query = TmplRelationsModel::select('*')->with("saleOrder")->CreateUserId($admin_id,$role) ->SaleOrderSn($sale_order_sn,$goods_type)->SearchTime($begin_time,$end_time) ->OrderBy("id","desc"); // dump($query->toSql()); $list = $query->paginate($limit,[],'page',$page); // dump($list); $arr = []; foreach($list as $k=>$item){ $arr[$k]["id"] = $item->id; $arr[$k]["template_name"] = $item->template ? $item->template->template_name : ''; $arr[$k]["sale_order_sn"] = $item->saleOrder ? $item->saleOrder->sale_order_sn : ''; $arr[$k]["goods_type"] = $item->saleOrder ? $item->saleOrder->goods_type : ''; $arr[$k]["createUser"] = $item->saleOrder ? $item->saleOrder->createUser : ''; $arr[$k]["print_nums"] = $item->print_nums; $arr[$k]["create_time"] = date("Y-m-d h:i:s",$item->create_time); $arr[$k]["print_time"] = date("Y-m-d h:i:s",$item->print_time); } return ['code'=>0, 'count'=>collect($list)->get("total"),'data'=>$arr]; } /* * 模板列表修改状态 */ public function template_status($request){ $id = $request->input("id",0); $status = $request->input("status",0); $perm = new PermController; // 用户角色 $role = $perm->getUserRole($request); $tmpl = TemplateListModel::where("create_userid",$request->user->userId)->find($id); if($tmpl){ $tmpl->status = ($tmpl->status == -1) ? 1 :-1; $tmpl->save(); //此处推送到erp $this->pushTemplateErp(); // dump($this->erp); // $a = $this->erp->createIssueLabel(1,"测试模板0001","田超",1); // dump($a); return $this->ajaxReturn(0,"修改成功"); }else{ return $this->ajaxReturn(-1,"没找到与自己对应的模板"); } } /* * 模板列表修改状态 */ public function edit_template_info($request){ $id = $request->input("id",0); $template_name = $request->input("template_name",''); if(!$template_name){ return $this->ajaxReturn(-1,"模板名称必填"); } $tmpl = TemplateListModel::where("create_userid",$request->user->userId)->find(intval($id)); if(!$tmpl){ return $this->ajaxReturn(-1,"没找到与自己对应的模板"); } $tmpl->template_name = $template_name; $tmpl->save(); //此处推送到erp return $this->ajaxReturn(0,"修改成功"); } protected function ajaxReturn($code,$msg="",$data=[]){ return [ "err_code"=>$code, "err_msg"=>$msg, "data"=>$data, ]; } protected function pushTemplateErp(){ try{ //登录 $soap = new \SoapClient(env("ERP_DOMAIN").'/ormrpc/services/EASLogin?wsdl'); $res = $soap->login('PT', '123456', 'eas', env('ERP_DB_NAME'), 'L2', 1, 'BaseDB'); //接口 $this->erp = new \SoapClient(ENV("ERP_DOMAIN").'/ormrpc/services/WSIchuntjKFacade?wsdl'); // dump($this->erp); $this->erp->createIssueLabel(json_encode([ "templateId"=>1, "templateNmae"=>"aaaa", "createUser"=>"bbbb", "status"=>1, ])); return true; }catch(\Exception $e){ return false; // dump($e->getMessage()); } } /* * 添加模板 */ public function add_template($request){ $template_name = $request->input("designName",''); $html = $request->input("htmlp",''); $lableBg = $request->input("lableBg",''); $lableBorder = $request->input("lableBorder",''); $lableSize = $request->input("lableSize",''); if(!$template_name){ return $this->ajaxReturn(-1,"请填写模板名称!"); } if(!$html){ return $this->ajaxReturn(-1,"模板标签是空!"); } $attribute["lableBg"] = $lableBg; $attribute["lableBorder"] = $lableBorder; $attribute["lableSize"] = $lableSize; $data['template_name'] = $template_name; $data['html'] = $html; $data['attribute'] = $attribute; $id = $request->input("t_id",0); if(intval($id) > 0){ //----------------------------修改模板------------------------------------------------------------------ $count = TemplateListModel::where("id",intval($id))->where("create_userid",$request->user->userId)->count("id"); if($count <= 0){ return $this->ajaxReturn(-1,"没找到属于您的模板信息"); } $templateInfo = TemplateListModel::where("id",intval($id))->select("id","template_name","status")->first(); if($templateInfo->status <= 0){ return $this->ajaxReturn(-1,"该模板已经被主人禁用了"); } $data['t_id'] = intval($id); try{ DB::Connection("label")->transaction(function () use($data,$request) { //创建模板 $templateList = TemplateListModel::where(["id"=>$data['t_id']])->update([ "template_name"=>trim($data['template_name']), "update_time"=>time(), ]); if($templateList === false){ throw new \Exception("修改模板名称失败",-1); } //创建模板扩展信息 属性 $templateExtend = TemplateExtendModel::where(["template_id"=>$data['t_id']])->update([ "html"=>$data['html'], "attribute"=>json_encode($data['attribute']), ]); if($templateExtend === false){ throw new \Exception("修改模板属性失败",-1); } }); return $this->ajaxReturn(0,"修改模板成功"); }catch(\Exception $e){ return $this->ajaxReturn(-1,$e->getMessage()); } exit; } // --------------------------新增模板------------------------------------------------------------ //新增模板 $count = TemplateListModel::where("template_name",trim($data['template_name'])) ->where(function($q) use($request){ $q->where(["create_userid"=>$request->user->userId])->orWhere(["create_userid"=>1000]); })->count("id"); if($count){ return $this->ajaxReturn(-1,"模板名称已经存在,请修改模板名称再提交!"); } try{ DB::Connection("label")->transaction(function () use($data,$request) { //创建模板 $templateList = TemplateListModel::create([ "template_name"=>trim($data['template_name']), "create_userid"=>$request->user->userId, "create_username"=>$request->user->name, "create_time"=>time(), "update_time"=>time(), ]); if(!$templateList){ throw new \Exception("添加模板失败",-1); } //创建模板扩展信息 属性 $templateExtend = TemplateExtendModel::create([ "template_id"=>$templateList->id, "html"=>$data['html'], "attribute"=>json_encode($data['attribute']), ]); if(!$templateExtend){ throw new \Exception("添加模板失败",-1); } }); return $this->ajaxReturn(0,"添加模板成功"); }catch(\Exception $e){ return $this->ajaxReturn(-1,$e->getMessage()); } } /** * 编辑模板 获取模板详情 */ public function getTemplateDetail($request){ $id = $request->input("t_id",0); $count = TemplateListModel::where("id",intval($id))->where("create_userid",$request->user->userId)->count("id"); if($count <= 0){ return $this->ajaxReturn(-1,"没找到属于您的模板信息"); } $templateInfo = TemplateListModel::where("id",intval($id))->select("id","template_name","status")->first(); if($templateInfo->status <= 0){ return $this->ajaxReturn(-1,"该模板已经被主人禁用了"); } $templateInfo->template_extend = isset($templateInfo->template_extend) ? $templateInfo->template_extend : null; return $this->ajaxReturn(0,"ok",$templateInfo); } }