Purch.php 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  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. }
  126. return app_show(0,"获取成功",$data);
  127. }
  128. public function edit(){
  129. $cgdNo = isset($this->post['cgdNo']) && $this->post['cgdNo']!="" ?trim($this->post['cgdNo']):"";
  130. if($cgdNo==""){
  131. return error_show(1004,"参数cgdNo 不能为空");
  132. }
  133. $data = Db::name("purchease_order")->where(["cgdNo"=>$cgdNo,"is_del"=>0])->find();
  134. if(empty($data)){
  135. return error_show(1004,"未找到数据");
  136. }
  137. $wsm_code = isset($this->post['wsm_code'])&&$this->post['wsm_code']!=""? trim($this->post['wsm_code']):"";
  138. if($wsm_code==""){
  139. return error_show(1004,"参数wsm_code 不能为空");
  140. }
  141. $ware = Db::name("warehouse_info")->where(["wsm_code"=>$wsm_code,"is_del"=>0])->find();
  142. if(empty($ware)){
  143. return error_show(1004,"未找到仓库信息");
  144. }
  145. $data['wsm_code'] = $wsm_code;
  146. $data['updatetime'] =date("Y-m-d H:i:s");
  147. $upd=Db::name("purchease_order")->save($data);
  148. return $upd?app_show(0,"更新成功"):error_show(1004,'更新失败');
  149. }
  150. public function status(){
  151. $cgdNo = isset($this->post['cgdNo']) && $this->post['cgdNo']!="" ?trim($this->post['cgdNo']):"";
  152. if($cgdNo==""){
  153. return error_show(1004,"参数cgdNo 不能为空");
  154. }
  155. $data = Db::name("purchease_order")->where(["cgdNo"=>$cgdNo,"is_del"=>0])->find();
  156. if(empty($data)){
  157. return error_show(1004,"未找到数据");
  158. }
  159. $remark= isset($this->post['remark']) && $this->post['remark']!="" ?trim($this->post['remark']):"";
  160. $status = isset($this->post['status'])&&$this->post['status']!=""? intval($this->post['status']):"";
  161. if($status==""){
  162. return error_show(1004,"参数status 不能为空");
  163. }
  164. $data['status'] = $status;
  165. $data['remark'] = $remark;
  166. $data['updatetime'] =date("Y-m-d H:i:s");
  167. $upd=Db::name("purchease_order")->save($data);
  168. return $upd?app_show(0,"更新成功"):error_show(1004,'更新失败');
  169. }
  170. }