Purch.php 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. <?php
  2. namespace app\admin\controller;
  3. use think\App;
  4. use think\facade\Db;
  5. class Purch extends \app\BaseController
  6. {
  7. public $post="";
  8. public function __construct(App $app)
  9. {
  10. parent::__construct($app);
  11. $this->post=$this->request->post();
  12. }
  13. public function list(){
  14. $page = isset($this->post['page']) && $this->post['page'] !=="" ? intval($this->post['page']):"1";
  15. $size = isset($this->post['size']) && $this->post['size'] !=="" ? intval($this->post['size']):"10";
  16. $where =[['is_del',"=",0]];
  17. $bkcode = isset($this->post['bk_code']) && $this->post['bk_code']!="" ? trim($this->post['bk_code']):"";
  18. if($bkcode!=""){
  19. $where[]=['bkcode',"like", "%{$bkcode}%"];
  20. }
  21. $status = isset($this->post['status']) && $this->post['status']!=="" ? intval($this->post['status']):"";
  22. if($status!==""){
  23. // $where['status'] = $status;
  24. $where[]=['status',"=", $status];
  25. }
  26. $cgdNo = isset($this->post['cgdNo']) && $this->post['cgdNo']!="" ? trim($this->post['cgdNo'])
  27. :"";
  28. if($cgdNo!=""){
  29. //$where['cgdNo'] = Db::Raw("like '%{$cgdNo}%'");
  30. $where[]=['cgdNo',"like", "%{$cgdNo}%"];
  31. }
  32. $apply_name = isset($this->post['apply_name']) && $this->post['apply_name']!="" ? trim($this->post['apply_name']):"";
  33. if($apply_name!=""){
  34. // $where['cgder'] =Db::Raw("like '%{$apply_name}%'");
  35. $where[]=['cgder',"like", "%{$apply_name}%"];
  36. }
  37. $wsm_code = isset($this->post['wsm_code']) && $this->post['wsm_code']!="" ? trim($this->post['wsm_code']):"";
  38. if($wsm_code!=""){
  39. // $where['wsm_code'] = $wsm_code;
  40. $where[]=['wsm_code',"=", $wsm_code];
  41. }
  42. $good_name = isset($this->post['good_name']) && $this->post['good_name']!="" ? trim($this->post['good_name']):"";
  43. if($good_name!=""){
  44. //$where['good_name'] = Db::raw(" like %{$good_name}%");
  45. $where[]=['good_name',"like", "%{$good_name}%"];
  46. }
  47. $good_code = isset($this->post['good_code']) && $this->post['good_code']!="" ? trim($this->post['good_code'])
  48. :"";
  49. if($good_code!=""){
  50. // $where['good_code'] = Db::raw(" like %{$good_code}%");
  51. $where[]=['good_code',"like", "%{$good_code}%"];
  52. }
  53. $supplierNo = isset($this->post['supplierNo']) && $this->post['supplierNo']!="" ? trim($this->post['supplierNo'])
  54. :"";
  55. if($supplierNo!=""){
  56. // $where['good_code'] = Db::raw(" like %{$good_code}%");
  57. $where[]=['supplierNo',"=", $supplierNo];
  58. }
  59. $wsm_supplierNo = isset($this->post['wsm_supplierNo']) && $this->post['wsm_supplierNo']!="" ? trim($this->post['wsm_supplierNo'])
  60. :"";
  61. if($wsm_supplierNo!=""){
  62. $supplier = Db::name("supplier")->where(["code"=>$wsm_supplierNo])->find();
  63. if(empty($supplier)){
  64. return error_show(1004,"未找到供应商信息");
  65. }
  66. $wsmcode = Db::name("warehouse_info")->where([
  67. "is_del"=>0,"supplierNo"=>$supplierNo])->column("wsm_code");
  68. $where[]=['wsm_code',"in", $wsmcode];
  69. }
  70. $start = isset($this->post['start']) && $this->post['start']!="" ?$this->post['start']:"";
  71. if($start!=""){
  72. // $where['addtime'] = Db::raw(" >= '{$start}'");
  73. $where[]=['addtime',">=", $start];
  74. }
  75. $end = isset($this->post['end']) && $this->post['end']!="" ?$this->post['end']:"";
  76. if($end!=""){
  77. $where[]=['addtime',"<=", $end];
  78. }
  79. $last_start = isset($this->post['last_start']) && $this->post['last_start']!="" ?$this->post['last_start']:"";
  80. if($last_start!=""){
  81. //$where['lasttime'] = Db::raw(" >= '{$last_start}'");
  82. $where[]=['lasttime',">=", $last_start];
  83. }
  84. $last_end = isset($this->post['last_end']) && $this->post['last_end']!="" ?$this->post['last_end']:"";
  85. if($last_end!=""){
  86. //$where['lasttime'] = Db::raw(" <= '{$last_end}'");
  87. $where[]=['lasttime',"<=", $last_end];
  88. }
  89. $count=Db::name("purchease_order")->where($where)->count();
  90. $total = ceil($count/$size);
  91. $page = $page >= $total ? $total : $page;
  92. $list = Db::name("purchease_order")->where($where)->page($page,$size)->order("addtime desc")->select();
  93. $data=[];
  94. foreach ($list as $value){
  95. $value['wsm_name']="";
  96. if($value['wsm_code']!=""){
  97. $wsmcode = Db::name("warehouse_info")->alias("a")->leftJoin("supplier b","a.supplierNo=b.code")
  98. ->where(["a.wsm_code"=>$value['wsm_code']])->field("a.name as wsm_name,b.name,b.code")->find();
  99. $value['wsm_name'] =isset($wsmcode['wsm_name']) ? $wsmcode['wsm_name']:"";
  100. $value['wsm_supplier'] =isset($wsmcode['name']) ? $wsmcode['name']:"";
  101. $value['wsm_supplierNo'] =isset($wsmcode['code']) ? $wsmcode['code']:"";
  102. }
  103. $inorder= Db::name("purchease_in")->where(['cgdNo'=>$value['cgdNo'],"is_del"=>0])->select();
  104. $value['child']=empty($inorder)? [] : $inorder;
  105. $data[]=$value;
  106. }
  107. return app_show(0,"获取成功",["list"=>$data,"count"=>$count]);
  108. }
  109. public function info(){
  110. $cgdNo = isset($this->post['cgdNo']) && $this->post['cgdNo']!="" ?trim($this->post['cgdNo']):"";
  111. if($cgdNo==""){
  112. return error_show(1004,"参数cgdNo 不能为空");
  113. }
  114. $data = Db::name("purchease_order")->where(["cgdNo"=>$cgdNo,"is_del"=>0])->find();
  115. if(empty($data)){
  116. return error_show(1004,"未找到数据");
  117. }
  118. $data['wsm_name']="";
  119. if($data['wsm_code']!=""){
  120. $wsmcode = Db::name("warehouse_info")->alias("a")->leftJoin("supplier b","a.supplierNo=b.code")
  121. ->where(["a.wsm_code"=>$data['wsm_code']])->field("a.name as wsm_name,b.name,b.code")->find();
  122. $data['wsm_name'] =isset($wsmcode['wsm_name']) ? $wsmcode['wsm_name']:"";
  123. $data['wsm_supplier'] =isset($wsmcode['name']) ? $wsmcode['name']:"";
  124. $data['wsm_supplierNo'] =isset($wsmcode['code']) ? $wsmcode['code']:"";
  125. $inorder= Db::name("purchease_in")->where(['cgdNo'=>$data['cgdNo'],"is_del"=>0])->select();
  126. $data['child']=empty($inorder)? [] : $inorder;
  127. }
  128. return app_show(0,"获取成功",$data);
  129. }
  130. public function edit(){
  131. $cgdNo = isset($this->post['cgdNo']) && $this->post['cgdNo']!="" ?trim($this->post['cgdNo']):"";
  132. if($cgdNo==""){
  133. return error_show(1004,"参数cgdNo 不能为空");
  134. }
  135. $data = Db::name("purchease_order")->where(["cgdNo"=>$cgdNo,"is_del"=>0])->find();
  136. if(empty($data)){
  137. return error_show(1004,"未找到数据");
  138. }
  139. $wsm_code = isset($this->post['wsm_code'])&&$this->post['wsm_code']!=""? trim($this->post['wsm_code']):"";
  140. if($wsm_code==""){
  141. return error_show(1004,"参数wsm_code 不能为空");
  142. }
  143. $ware = Db::name("warehouse_info")->where(["wsm_code"=>$wsm_code,"is_del"=>0])->find();
  144. if(empty($ware)){
  145. return error_show(1004,"未找到仓库信息");
  146. }
  147. $data['wsm_code'] = $wsm_code;
  148. $data['updatetime'] =date("Y-m-d H:i:s");
  149. $upd=Db::name("purchease_order")->save($data);
  150. return $upd?app_show(0,"更新成功"):error_show(1004,'更新失败');
  151. }
  152. public function status(){
  153. $cgdNo = isset($this->post['cgdNo']) && $this->post['cgdNo']!="" ?trim($this->post['cgdNo']):"";
  154. if($cgdNo==""){
  155. return error_show(1004,"参数cgdNo 不能为空");
  156. }
  157. $data = Db::name("purchease_order")->where(["cgdNo"=>$cgdNo,"is_del"=>0])->find();
  158. if(empty($data)){
  159. return error_show(1004,"未找到数据");
  160. }
  161. $remark= isset($this->post['remark']) && $this->post['remark']!="" ?trim($this->post['remark']):"";
  162. $status = isset($this->post['status'])&&$this->post['status']!=""? intval($this->post['status']):"";
  163. if($status==""){
  164. return error_show(1004,"参数status 不能为空");
  165. }
  166. $data['status'] = $status;
  167. $data['remark'] = $remark;
  168. $data['updatetime'] =date("Y-m-d H:i:s");
  169. $upd=Db::name("purchease_order")->save($data);
  170. return $upd?app_show(0,"更新成功"):error_show(1004,'更新失败');
  171. }
  172. }