InvCat.php 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. namespace app\admin\controller;
  3. use app\admin\BaseController;
  4. use think\App;
  5. use think\facade\Db;
  6. class InvCat extends BaseController{
  7. public function __construct(App $app) {parent::__construct($app);}
  8. //商品关联开票类目
  9. public function AddGood(){
  10. $spuCode=isset($this->post['spuCode'])&&$this->post['spuCode']!=''?trim($this->post['spuCode']):"";
  11. if($spuCode==''){
  12. return error_show(1004,"参数 spuCode 不能为空");
  13. }
  14. $goodinfo =Db::name("good")->where(["spuCode"=>$spuCode])->findOrEmpty();
  15. if(empty($goodinfo)) return error_show(1004,"商品数据未找到");
  16. $inv_good_name = isset($this->post['inv_good_name'])&&$this->post['inv_good_name']!=''?trim($this->post['inv_good_name']):"";
  17. if($inv_good_name==''){
  18. return error_show(1004,"参数 inv_good_name 不能为空");
  19. }
  20. $tax = isset($this->post['tax'])&&$this->post['tax']!=''?trim($this->post['tax']):"";
  21. if($tax=="") return error_show(1004,"参数 tax 不能为空");
  22. $cat_code = isset($this->post['cat_code'])&&$this->post['cat_code']!=''?trim($this->post['cat_code']):"";
  23. if($cat_code==''){
  24. return error_show(1004,"参数 cat_code 不能为空");
  25. }
  26. $catinfo=Db::name("inv_cat")->where(["cat_code"=>$cat_code])->findOrEmpty();
  27. if(empty($catinfo)) return error_show(1004,"未找到对应的开票类目");
  28. $taxArr=$catinfo['tax']!=''? explode("、",$catinfo['tax']):[];
  29. if(!in_array($tax,$taxArr))return error_show(1004,"未找到对应的开票类目税率");
  30. $data=[
  31. "inv_cat_name"=>$catinfo['short_name'],
  32. "inv_cat_code"=>$catinfo['merge_code'],
  33. "inv_tax"=>$tax,
  34. "inv_good_name"=>$inv_good_name,
  35. "updatetime"=>date("Y-m-d H:i:s")
  36. ];
  37. $up =Db::name("good")->where($goodinfo)->update($data);
  38. return $up? app_show(0,"添加成功"):error_show(1004,"添加失败");
  39. }
  40. //商品列表
  41. public function GoodList(){
  42. $page =isset($this->post['page'])&& $this->post['page']!="" ? intval($this->post['page']) :1;
  43. $size =isset($this->post['size'])&& $this->post['size']!="" ? intval($this->post['size']) :15;
  44. $condition =[];
  45. $status =isset($this->post['status'])&&$this->post['status']!==''?intval($this->post['status']):"";
  46. if($status!==''){
  47. $condition[]=["status","=",$status];
  48. }
  49. $spuCode=isset($this->post['spuCode'])&&$this->post['spuCode']!=''?trim($this->post['spuCode']):"";
  50. if($spuCode!="") $condition[]=["spuCode","like","%$spuCode%"];
  51. $good_name=isset($this->post['good_name'])&&$this->post['good_name']!=''?trim($this->post['good_name']):"";
  52. if($good_name!="") $condition[]=["good_name","like","%$good_name%"];
  53. $companyNo=isset($this->post['companyNo'])&&$this->post['companyNo']!=''?trim($this->post['companyNo']):"";
  54. if($companyNo!="") $condition[]=["companyNo","like","%$companyNo%"];
  55. $supplierNo=isset($this->post['supplierNo'])&&$this->post['supplierNo']!=''?trim($this->post['supplierNo']):"";
  56. if($supplierNo!="") $condition[]=["supplierNo","like","%$supplierNo%"];
  57. $creater=isset($this->post['creater'])&&$this->post['creater']!=''?trim($this->post['creater']):"";
  58. if($creater!="") $condition[]=["creater","like","%$creater%"];
  59. $count=Db::name("good")->where($condition)->count();
  60. $total=ceil($count/$size);
  61. $page = $page>=$total? intval($total):$page;
  62. $list =Db::name("good")->where($condition)->order("addtime desc")->page($page,$size)->select()->toArray();
  63. foreach ($list as &$value){
  64. $company =Db::name("company_info")->where(["companyNo"=>$value['companyNo']])->find();
  65. $value['companyName']=$company['company_name']??"";
  66. $supplier =Db::name("supplier_info")->where(["code"=>$value["supplierNo"]])->find();
  67. $value["supplierName"]=$supplier["name"]??"";
  68. }
  69. return app_show(0,"获取成功",["list"=>$list,"count"=>$count]);
  70. }
  71. //发票类目列表
  72. public function catlist(){
  73. $page =isset($this->post['page'])&& $this->post['page']!="" ? intval($this->post['page']) :1;
  74. $size =isset($this->post['size'])&& $this->post['size']!="" ? intval($this->post['size']) :15;
  75. $condition =[];
  76. $cat_name = isset($this->post['cat_name'])&&$this->post['cat_name']!=''?trim($this->post['cat_name']):"";
  77. if($cat_name!=''){
  78. $condition[]=["cat_name|short_name","like","%$cat_name%"];
  79. }
  80. $cat_code = isset($this->post['cat_code'])&&$this->post['cat_code']!=''?trim($this->post['cat_code']):"";
  81. if($cat_code!=''){
  82. $condition[]=["cat_code|merge_code","like","%$cat_code%"];
  83. }
  84. $status =isset($this->post['status'])&&$this->post['status']!==''?intval($this->post['status']):"";
  85. if($status!==''){
  86. $condition[]=["status","=",$status];
  87. }
  88. $count =Db::name("inv_cat")->where($condition)->count();
  89. $total=ceil($count/$size);
  90. $page = $page>=$total? intval($total):$page;
  91. $list =Db::name("inv_cat")->where($condition)->order("addtime desc")->page($page,$size)->select()->toArray();
  92. foreach ($list as &$value){
  93. $value['tax'] = $value['tax']==''?[]:explode("、",$value['tax']);
  94. }
  95. return app_show(0,"获取成功",["list"=>$list,"count"=>$count]);
  96. }
  97. //类目查询
  98. public function query(){
  99. $condition =[];
  100. $cat_name = isset($this->post['cat_name'])&&$this->post['cat_name']!=''?trim($this->post['cat_name']):"";
  101. if($cat_name!=''){
  102. $condition[]=["cat_name|short_name","like","%$cat_name%"];
  103. }
  104. $cat_code = isset($this->post['cat_code'])&&$this->post['cat_code']!=''?trim($this->post['cat_code']):"";
  105. if($cat_code!=''){
  106. $condition[]=["cat_code|merge_code","like","%$cat_code%"];
  107. }
  108. $list =Db::name("inv_cat")->where($condition)->order("addtime desc")->limit(30)->select()->toArray();
  109. foreach ($list as &$value){
  110. $value['tax'] = $value['tax']==''?[]:explode("、",$value['tax']);
  111. }
  112. return app_show(0,"获取成功",$list);
  113. }
  114. }