wugg 7 months ago
parent
commit
6d97c7bf53
3 changed files with 126 additions and 109 deletions
  1. 17 1
      app/user/controller/Company.php
  2. 108 108
      app/user/controller/TaxCategory.php
  3. 1 0
      app/user/model/Business.php

+ 17 - 1
app/user/controller/Company.php

@@ -48,7 +48,23 @@ class Company extends Base{
         }];
        if (!empty($post['type'])) $condition[] = ['type', 'in', $post['type']];
         $list = $this->model->field('id,code,name,type,status,addtime,relation_code,length(name) len_name')->where
-        ($condition)->order('len_name', 'asc')->select();
+        ($condition)->order('len_name', 'asc')->select()->each(function (&$item) {
+            switch ($item['type']) {
+                case 1:
+                    $item['legaler_type'] = \app\user\model\Business::where('companyNo', $item['code'])->value('legaler_type','');
+                    break;
+                case 2:
+                    $item['legaler_type'] = '';
+                    break;
+                case 3:
+                    $item['legaler_type'] = \app\user\model\Supplier::where('code', $item['code'])->value('legaler_type','');
+                    break;
+                 default:
+                    $item['legaler_type'] = '';
+                    break;
+            }
+        });
+
         return success('获取成功', $list);
     }
 

+ 108 - 108
app/user/controller/TaxCategory.php

@@ -59,7 +59,7 @@ class TaxCategory extends Base{
         $list=$this->model->alias("tax_category")
         ->leftJoin("business","business.is_del=tax_category.is_del and business.status=1 and business.is_del=0")
         ->leftJoin("taxCompany c","business.companyNo=c.companyNo and tax_category.id=c.tax_id")
-        ->field(['tax_category.id','cat_name','short_name','cat_code','merge_code','desc','tax','business.company companyName','business.companyNo','in_status',
+        ->field(['tax_category.id','cat_name','short_name','cat_code','merge_code','desc','tax','business.company companyName','business.companyNo','business.legaler_type','in_status',
             "out_status","income","output"])
         ->where($where)
         ->order("tax_category.id desc")->paginate(["page"=>$params["page"],"list_rows"=>$params["size"]])
@@ -131,7 +131,7 @@ class TaxCategory extends Base{
         $list=$this->model->alias('tax_category')
         ->leftJoin('business','business.status=tax_category.status and business.status=1 and business.is_del=0')
         ->leftJoin('taxCompany c','business.companyNo=c.companyNo and tax_category.id=c.tax_id')
-        ->field(['tax_category.id','cat_name','short_name','cat_code','merge_code','desc','tax','business.company companyName','business.companyNo','in_status',
+        ->field(['tax_category.id','cat_name','short_name','cat_code','merge_code','desc','tax','business.company companyName','business.companyNo',"business,legaler_type",'in_status',
             'out_status','income','output'])
         ->where($where)
         ->limit($params['size'])
@@ -148,110 +148,110 @@ class TaxCategory extends Base{
         });
         return success('获取成功',$list);
     }
-    public function taxCompanyCreate(){
-        $params=$this->request->param(["in_tax_ids"=>[],"companyNo"=>"","out_tax_id"=>"",'out_bind_tax'=>''],"post","trim");
-        $valid=Validate::rule([
-            "in_tax_ids|进项类目"=>"require|array",
-            "companyNo|公司编号"=>"require",
-            "out_tax_id|销项类目"=>"require|integer",
-            "out_bind_tax|销项税率"=>"require"
-            ]);
-        if(!$valid->check($params))return error($valid->getError());
-        try {
-            $inCheck = TaxCompany::taxCheck($params['companyNo'],$params['in_tax_ids']);
-            if(!$inCheck)return error('进项类目配置异常');
-            $outCheck=TaxCompany::taxCheck($params['companyNo'],$params['out_tax_id'],'out');
-            if(!$outCheck)return error('销项类目配置异常');
-            $isExist=TaxRelation::relationCheck($params['companyNo'],$params['in_tax_ids']);
-            if(!$isExist)return error('进项类目已存在');
-            $isInExist=\app\user\model\TaxCategory::checkTax($params['out_tax_id'],$params['out_bind_tax']);
-            if(!$isInExist)return error('销项类目税率不存在');
-            $createData=[
-                'income_tax_id'=>0,
-                'output_tax_id'=>$params['out_tax_id'],
-                'output_bind_tax'=>$params['out_bind_tax'],
-                'companyNo'=>$params['companyNo'],
-                'createrid'=>$this->uid,
-                'creater'=>$this->uname,
-            ];
-            (new TaxRelation())->saveAll(array_map(function($item)use($createData){
-               $createData['income_tax_id']=$item;
-               return $createData;
-            },$params['in_tax_ids']));
-        }catch (\Exception $e){
-              return error($e->getMessage());
-        }
-        return success("添加成功");
-    }
-
-    public function taxCompanyUpdate(){
-        $params=$this->request->param(["id"=>"",'out_tax_id'=>'','out_bind_tax'=>''],"post","trim");
-        $valid=Validate::rule([
-            "id|主键Id"=>"require|integer",
-            "out_tax_id|销项类目"=>"require|integer",
-            "out_bind_tax|销项税率"=>"require"
-            ]);
-        if(!$valid->check($params))return error($valid->getError());
-        $relation=TaxRelation::where(["id"=>$params["id"]])->findOrEmpty();
-        if($relation->isEmpty())return error("数据不存在");
-        try{
-            $outCheck=TaxCompany::taxCheck($relation->companyNo,$params['out_tax_id'],'out');
-            if(!$outCheck)return error('销项类目配置异常');
-            if($relation->output_tax_id!=$params['out_tax_id']){
-                $isExist=TaxRelation::where([['companyNo','=',$relation->companyNo],['income_tax_id','=',
-                $relation->income_tax_id],['output_tax_id','=',$params['out_tax_id']],['id','<>',$relation->id]])->findOrEmpty();
-                if(!$isExist->isEmpty())return error('进销项类目关联已存在');
-            }
-            $isInExist=\app\user\model\TaxCategory::checkTax($params['out_tax_id'],$params['out_bind_tax']);
-            if(!$isInExist)return error('销项类目税率不存在');
-            $relation->output_tax_id=$params['out_tax_id'];
-            $relation->output_bind_tax=$params['out_bind_tax'];
-            $relation->updater=$this->uname;
-            $save=$relation->save();
-            if(!$save)return error("修改失败");
-        }catch (\Exception $e){
-            return error($e->getMessage());
-        }
-        return success("修改成功");
-    }
-    public function taxCompanyDelete(){
-        $id=$this->request->post("id/d");
-        $relation=TaxRelation::where(["id"=>$id])->findOrEmpty();
-        if($relation->isEmpty())return error("数据不存在");
-        $relation->updater=$this->uname;
-        $save=$relation->delete();
-        if($save)return success("删除成功");
-        return error("删除失败");
-    }
-    public function taxCompanyList(){
-        $params=$this->request->param(["companyNo"=>"","income_code"=>"","output_code"=>"","page"=>1,"size"=>15],"post","trim");
-        $where=[];
-        if($params["companyNo"]!='') $where[]=["companyNo","like","%".$params["companyNo"]."%"];
-        if($params["income_code"]!='') $where[]=["incomeTax.merge_code","like","%".$params["income_code"]."%"];
-        if($params["output_code"]!='') $where[]=["outputTax.merge_code","like","%".$params["output_code"]."%"];
-        $list=TaxRelation::with(["incomeTax","company",'outputTax'])
-        ->withJoin(["incomeTax","outputTax"])->where($where)->order("id desc")
-        ->paginate(["page"=>$params["page"],"list_rows"=>$params["size"]]);
-        return success("获取成功",["list"=>$list->items(),"count"=>$list->total()]);
-    }
-
-   public function taxCompanyLog(){
-        $params=$this->request->param(['companyNo'=>'','income_code'=>'','output_code'=>'','change_type'=>'','page'=>1,'size'=>15],'post','trim');
-        $where=[];
-        if($params['companyNo']!='') $where[]=['companyNo','like','%'.$params['companyNo'].'%'];
-        if($params['income_code']!='') $where[]=['incomeTax.merge_code','like','%'.$params['income_code'].'%'];
-        if($params['output_code']!='') $where[]=['outputTax.merge_code','like','%'.$params['output_code'].'%'];
-        if($params['change_type']!='') $where[]=['change_type','=',$params['change_type']];
-        $list=TaxRelationLog::with(['incomeTax','company','outputTax'])
-        ->withJoin(['incomeTax','outputTax'])->where($where)->order('id desc')
-        ->paginate(['page'=>$params['page'],'list_rows'=>$params['size']])->each(function(&$item){
-         if(!empty($item['change_content'])&& isset($item['change_content']['output_tax_id'])){
-            $outputTax=\app\user\model\TaxCategory::where(['id'=>$item->change_content['output_tax_id']])->field('id output_tax_id,cat_name,merge_code,tax,short_name,cat_code')->findOrEmpty();
-            if(!$outputTax->isEmpty()){
-                  $item->change_content=array_merge($item->change_content,["output_tax_info"=>$outputTax]);
-            }
-         }
-        });
-        return success('获取成功',['list'=>$list->items(),'count'=>$list->total()]);
-    }
+//    public function taxCompanyCreate(){
+//        $params=$this->request->param(["in_tax_ids"=>[],"companyNo"=>"","out_tax_id"=>"",'out_bind_tax'=>''],"post","trim");
+//        $valid=Validate::rule([
+//            "in_tax_ids|进项类目"=>"require|array",
+//            "companyNo|公司编号"=>"require",
+//            "out_tax_id|销项类目"=>"require|integer",
+//            "out_bind_tax|销项税率"=>"require"
+//            ]);
+//        if(!$valid->check($params))return error($valid->getError());
+//        try {
+//            $inCheck = TaxCompany::taxCheck($params['companyNo'],$params['in_tax_ids']);
+//            if(!$inCheck)return error('进项类目配置异常');
+//            $outCheck=TaxCompany::taxCheck($params['companyNo'],$params['out_tax_id'],'out');
+//            if(!$outCheck)return error('销项类目配置异常');
+//            $isExist=TaxRelation::relationCheck($params['companyNo'],$params['in_tax_ids']);
+//            if(!$isExist)return error('进项类目已存在');
+//            $isInExist=\app\user\model\TaxCategory::checkTax($params['out_tax_id'],$params['out_bind_tax']);
+//            if(!$isInExist)return error('销项类目税率不存在');
+//            $createData=[
+//                'income_tax_id'=>0,
+//                'output_tax_id'=>$params['out_tax_id'],
+//                'output_bind_tax'=>$params['out_bind_tax'],
+//                'companyNo'=>$params['companyNo'],
+//                'createrid'=>$this->uid,
+//                'creater'=>$this->uname,
+//            ];
+//            (new TaxRelation())->saveAll(array_map(function($item)use($createData){
+//               $createData['income_tax_id']=$item;
+//               return $createData;
+//            },$params['in_tax_ids']));
+//        }catch (\Exception $e){
+//              return error($e->getMessage());
+//        }
+//        return success("添加成功");
+//    }
+//
+//    public function taxCompanyUpdate(){
+//        $params=$this->request->param(["id"=>"",'out_tax_id'=>'','out_bind_tax'=>''],"post","trim");
+//        $valid=Validate::rule([
+//            "id|主键Id"=>"require|integer",
+//            "out_tax_id|销项类目"=>"require|integer",
+//            "out_bind_tax|销项税率"=>"require"
+//            ]);
+//        if(!$valid->check($params))return error($valid->getError());
+//        $relation=TaxRelation::where(["id"=>$params["id"]])->findOrEmpty();
+//        if($relation->isEmpty())return error("数据不存在");
+//        try{
+//            $outCheck=TaxCompany::taxCheck($relation->companyNo,$params['out_tax_id'],'out');
+//            if(!$outCheck)return error('销项类目配置异常');
+//            if($relation->output_tax_id!=$params['out_tax_id']){
+//                $isExist=TaxRelation::where([['companyNo','=',$relation->companyNo],['income_tax_id','=',
+//                $relation->income_tax_id],['output_tax_id','=',$params['out_tax_id']],['id','<>',$relation->id]])->findOrEmpty();
+//                if(!$isExist->isEmpty())return error('进销项类目关联已存在');
+//            }
+//            $isInExist=\app\user\model\TaxCategory::checkTax($params['out_tax_id'],$params['out_bind_tax']);
+//            if(!$isInExist)return error('销项类目税率不存在');
+//            $relation->output_tax_id=$params['out_tax_id'];
+//            $relation->output_bind_tax=$params['out_bind_tax'];
+//            $relation->updater=$this->uname;
+//            $save=$relation->save();
+//            if(!$save)return error("修改失败");
+//        }catch (\Exception $e){
+//            return error($e->getMessage());
+//        }
+//        return success("修改成功");
+//    }
+//    public function taxCompanyDelete(){
+//        $id=$this->request->post("id/d");
+//        $relation=TaxRelation::where(["id"=>$id])->findOrEmpty();
+//        if($relation->isEmpty())return error("数据不存在");
+//        $relation->updater=$this->uname;
+//        $save=$relation->delete();
+//        if($save)return success("删除成功");
+//        return error("删除失败");
+//    }
+//    public function taxCompanyList(){
+//        $params=$this->request->param(["companyNo"=>"","income_code"=>"","output_code"=>"","page"=>1,"size"=>15],"post","trim");
+//        $where=[];
+//        if($params["companyNo"]!='') $where[]=["companyNo","like","%".$params["companyNo"]."%"];
+//        if($params["income_code"]!='') $where[]=["incomeTax.merge_code","like","%".$params["income_code"]."%"];
+//        if($params["output_code"]!='') $where[]=["outputTax.merge_code","like","%".$params["output_code"]."%"];
+//        $list=TaxRelation::with(["incomeTax","company",'outputTax'])
+//        ->withJoin(["incomeTax","outputTax"])->where($where)->order("id desc")
+//        ->paginate(["page"=>$params["page"],"list_rows"=>$params["size"]]);
+//        return success("获取成功",["list"=>$list->items(),"count"=>$list->total()]);
+//    }
+//
+//   public function taxCompanyLog(){
+//        $params=$this->request->param(['companyNo'=>'','income_code'=>'','output_code'=>'','change_type'=>'','page'=>1,'size'=>15],'post','trim');
+//        $where=[];
+//        if($params['companyNo']!='') $where[]=['companyNo','like','%'.$params['companyNo'].'%'];
+//        if($params['income_code']!='') $where[]=['incomeTax.merge_code','like','%'.$params['income_code'].'%'];
+//        if($params['output_code']!='') $where[]=['outputTax.merge_code','like','%'.$params['output_code'].'%'];
+//        if($params['change_type']!='') $where[]=['change_type','=',$params['change_type']];
+//        $list=TaxRelationLog::with(['incomeTax','company','outputTax'])
+//        ->withJoin(['incomeTax','outputTax'])->where($where)->order('id desc')
+//        ->paginate(['page'=>$params['page'],'list_rows'=>$params['size']])->each(function(&$item){
+//         if(!empty($item['change_content'])&& isset($item['change_content']['output_tax_id'])){
+//            $outputTax=\app\user\model\TaxCategory::where(['id'=>$item->change_content['output_tax_id']])->field('id output_tax_id,cat_name,merge_code,tax,short_name,cat_code')->findOrEmpty();
+//            if(!$outputTax->isEmpty()){
+//                  $item->change_content=array_merge($item->change_content,["output_tax_info"=>$outputTax]);
+//            }
+//         }
+//        });
+//        return success('获取成功',['list'=>$list->items(),'count'=>$list->total()]);
+//    }
 }

+ 1 - 0
app/user/model/Business.php

@@ -10,6 +10,7 @@ class Business extends Base
         'companyNo'       =>'varchar',//公司编码
         'inv_code'       =>'varchar',//纳税识别号
         'company_type'       =>'varchar',//公司类型
+        "legaler_type"=>"int",
         'type'       =>'int',//公司类型
         'creater'       =>'varchar',//创建人
         'createrid'       =>'int',//创建人id