Bill.php 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | ThinkAdmin
  4. // +----------------------------------------------------------------------
  5. // | 版权所有 2014~2019 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
  6. // +----------------------------------------------------------------------
  7. // | 官方网站: http://demo.thinkadmin.top
  8. // +----------------------------------------------------------------------
  9. // | 开源协议 ( https://mit-license.org )
  10. // +----------------------------------------------------------------------
  11. // | gitee 代码仓库:https://gitee.com/zoujingli/ThinkAdmin
  12. // | github 代码仓库:https://github.com/zoujingli/ThinkAdmin
  13. // +----------------------------------------------------------------------
  14. namespace app\api\controller;
  15. use app\common\model\BillHeader;
  16. use app\common\model\BillType;
  17. use app\common\validate\BillVali;
  18. /**
  19. * @title 发票模块【二期】
  20. * @controller Bill
  21. */
  22. class Bill extends Base
  23. {
  24. protected $need_login = [
  25. ''
  26. ];
  27. public function initialize()
  28. {
  29. parent::initialize();
  30. parent::checkLogin();
  31. }
  32. /**
  33. * @title 获取发票类型
  34. * @desc 获取发票类型
  35. * @author qc
  36. * @url /api/Bill/getBillType
  37. * @method GET
  38. * @header name:Authorization require:1 desc:Token
  39. * @return name:id type:int default:-- desc:id
  40. * @return name:title type:string default:0 desc:名称
  41. */
  42. public function getBillType()
  43. {
  44. $list = BillType::getType();
  45. $this->success('ok',['list'=>$list]);
  46. }
  47. /**
  48. * @title 设置发票抬头
  49. * @desc 设置发票抬头
  50. * @author qc
  51. * @url /api/Bill/selBillHeader
  52. * @method POST
  53. * @header name:Authorization require:1 desc:Token
  54. * @param name:id type:int default:-- desc:id【修改传记录id,新增忽略】
  55. * @param name:header type:string default:0 desc:抬头名称[公司名称||个人名称]
  56. * @param name:type type:int default:0 desc:类型id
  57. * @param name:email type:string default:0 desc:邮箱
  58. * @param name:phone type:string default:0 desc:电话
  59. * @param name:bank type:string default:0 desc:开户行
  60. * @param name:card_no type:string default:0 desc:银行账号
  61. * @param name:identify_numbe type:string default:0 desc:纳税人识别号
  62. * @param name:address type:string default:0 desc:地址
  63. * @param name:remark type:string default:0 desc:备注
  64. */
  65. public function selBillHeader()
  66. {
  67. $param = input('post.');
  68. $validate = new BillVali();
  69. if (!$validate->check($param)) $this->error($validate->getError());
  70. $param['user_id'] = $this->user_id;
  71. if(isset($param['id'])) {
  72. BillHeader::where('id',$param['id'])->update($param);
  73. }else{
  74. BillHeader::create($param);
  75. }
  76. $this->success('编辑成功');
  77. }
  78. /**
  79. * @title 获取发票抬头列表
  80. * @desc 获取发票抬头列表
  81. * @author qc
  82. * @url /api/Bill/getHeaderList
  83. * @method GET
  84. * @header name:Authorization require:1 desc:Token
  85. * @param name:page type:int default:0 desc:页数
  86. * @param name:page_num type:int default:20 desc:每页数
  87. * @param name:type type:int default:0 desc:类型id
  88. * @return name:header type:string default:0 desc:抬头名称[公司名称||个人名称]
  89. * @return name:type type:int default:0 desc:类型id
  90. * @return name:type_name type:int default:0 desc:类型名称
  91. * @return name:email type:string default:0 desc:邮箱
  92. * @return name:phone type:string default:0 desc:电话
  93. * @return name:bank type:string default:0 desc:开户行
  94. * @return name:card_no type:string default:0 desc:银行账号
  95. * @return name:identify_numbe type:string default:0 desc:纳税人识别号
  96. * @return name:address type:string default:0 desc:地址
  97. * @return name:remark type:string default:0 desc:备注
  98. */
  99. public function getHeaderList()
  100. {
  101. $sel_where=[];
  102. $sel_where['b.user_id'] = $this->user_id;
  103. $sel_where['b.is_deleted'] = 0;
  104. if($type = input('get.type'))$sel_where['b.type'] = $type;
  105. $list = BillHeader::field('b.*,t.title type_name')
  106. ->alias('b')
  107. ->where($sel_where)
  108. ->leftJoin('BillType t','t.id = b.type')
  109. ->order('b.id desc')
  110. ->limit($this->off_set,$this->page_num)
  111. ->select()->toArray();
  112. $this->success('ok',['list'=>$list]);
  113. }
  114. /**
  115. * @title 获取发票抬头详情
  116. * @desc 详情
  117. * @author qc
  118. * @url /api/Bill/getBillHeaderDetail
  119. * @method GET
  120. * @header name:Authorization require:1 desc:Token
  121. * @param name:id type:int default:0 desc:发票记录id
  122. * @return name:header type:string default:0 desc:抬头名称[公司名称||个人名称]
  123. * @return name:type type:int default:0 desc:类型id
  124. * @return name:type_name type:int default:0 desc:类型名称
  125. * @return name:email type:string default:0 desc:邮箱
  126. * @return name:phone type:string default:0 desc:电话
  127. * @return name:bank type:string default:0 desc:开户行
  128. * @return name:card_no type:string default:0 desc:银行账号
  129. * @return name:identify_numbe type:string default:0 desc:纳税人识别号
  130. * @return name:address type:string default:0 desc:地址
  131. * @return name:remark type:string default:0 desc:备注
  132. */
  133. public function getBillHeaderDetail()
  134. {
  135. $sel_where=[];
  136. $sel_where['b.user_id'] = $this->user_id;
  137. $sel_where['b.is_deleted'] = 0;
  138. if(!input('get.id'))$this->error('参数错误');
  139. $sel_where['b.id'] = input('get.id');
  140. $detail = BillHeader::field('b.*,t.title type_name')->where($sel_where)
  141. ->leftJoin('BilType t','t.id = b.type')
  142. ->find();
  143. if(!$detail) $this->error('没查到改记录');
  144. $this->success('ok',['detail'=>$detail->toArray()]);
  145. }
  146. /**
  147. * @title 删除发票抬头记录
  148. * @desc 删除发票抬头记录
  149. * @author qc
  150. * @url /api/Bill/delBillHeader
  151. * @method POST
  152. * @header name:Authorization require:1 desc:Token
  153. * @param name:id type:int default:0 desc:发票记录id
  154. */
  155. public function delBillHeader()
  156. {
  157. BillHeader::where(['id'=>input('post.id'),'user_id'=>$this->user_id])->update(['is_deleted'=>1]);
  158. $this->success('删除成功');
  159. }
  160. }