post=$this->request->post(); } public function list(){ $page = isset($this->post['page']) && $this->post['page'] !=="" ? intval($this->post['page']):"1"; $size = isset($this->post['size']) && $this->post['size'] !=="" ? intval($this->post['size']):"10"; $where =[['is_del',"=",0]]; $bkcode = isset($this->post['bk_code']) && $this->post['bk_code']!="" ? trim($this->post['bk_code']):""; if($bkcode!=""){ $where[]=['bkcode',"like", "%{$bkcode}%"]; } $status = isset($this->post['status']) && $this->post['status']!=="" ? intval($this->post['status']):""; if($status!==""){ // $where['status'] = $status; $where[]=['status',"=", $status]; } $cgdNo = isset($this->post['cgdNo']) && $this->post['cgdNo']!="" ? trim($this->post['cgdNo']) :""; if($cgdNo!=""){ //$where['cgdNo'] = Db::Raw("like '%{$cgdNo}%'"); $where[]=['cgdNo',"like", "%{$cgdNo}%"]; } $apply_name = isset($this->post['apply_name']) && $this->post['apply_name']!="" ? trim($this->post['apply_name']):""; if($apply_name!=""){ // $where['cgder'] =Db::Raw("like '%{$apply_name}%'"); $where[]=['cgder',"like", "%{$apply_name}%"]; } $wsm_code = isset($this->post['wsm_code']) && $this->post['wsm_code']!="" ? trim($this->post['wsm_code']):""; if($wsm_code!=""){ // $where['wsm_code'] = $wsm_code; $where[]=['wsm_code',"=", $wsm_code]; } $good_name = isset($this->post['good_name']) && $this->post['good_name']!="" ? trim($this->post['good_name']):""; if($good_name!=""){ //$where['good_name'] = Db::raw(" like %{$good_name}%"); $where[]=['good_name',"like", "%{$good_name}%"]; } $good_code = isset($this->post['good_code']) && $this->post['good_code']!="" ? trim($this->post['good_code']) :""; if($good_code!=""){ // $where['good_code'] = Db::raw(" like %{$good_code}%"); $where[]=['good_code',"like", "%{$good_code}%"]; } $supplierNo = isset($this->post['supplierNo']) && $this->post['supplierNo']!="" ? trim($this->post['supplierNo']) :""; if($supplierNo!=""){ // $where['good_code'] = Db::raw(" like %{$good_code}%"); $where[]=['supplierNo',"=", $supplierNo]; } $wsm_supplierNo = isset($this->post['wsm_supplierNo']) && $this->post['wsm_supplierNo']!="" ? trim($this->post['wsm_supplierNo']) :""; if($wsm_supplierNo!=""){ $supplier = Db::name("supplier")->where(["code"=>$wsm_supplierNo])->find(); if(empty($supplier)){ return error_show(1004,"未找到供应商信息"); } $wsmcode = Db::name("warehouse_info")->where([ "is_del"=>0,"supplierNo"=>$supplierNo])->column("wsm_code"); $where[]=['wsm_code',"in", $wsmcode]; } $start = isset($this->post['start']) && $this->post['start']!="" ?$this->post['start']:""; if($start!=""){ // $where['addtime'] = Db::raw(" >= '{$start}'"); $where[]=['addtime',">=", $start]; } $end = isset($this->post['end']) && $this->post['end']!="" ?$this->post['end']:""; if($end!=""){ $where[]=['addtime',"<=", $end]; } $last_start = isset($this->post['last_start']) && $this->post['last_start']!="" ?$this->post['last_start']:""; if($last_start!=""){ //$where['lasttime'] = Db::raw(" >= '{$last_start}'"); $where[]=['lasttime',">=", $last_start]; } $last_end = isset($this->post['last_end']) && $this->post['last_end']!="" ?$this->post['last_end']:""; if($last_end!=""){ //$where['lasttime'] = Db::raw(" <= '{$last_end}'"); $where[]=['lasttime',"<=", $last_end]; } $count=Db::name("purchease_order")->where($where)->count(); $total = ceil($count/$size); $page = $page >= $total ? $total : $page; $list = Db::name("purchease_order")->where($where)->page($page,$size)->order("addtime desc")->select(); $data=[]; foreach ($list as $value){ $value['wsm_name']=""; if($value['wsm_code']!=""){ $wsmcode = Db::name("warehouse_info")->alias("a")->leftJoin("supplier b","a.supplierNo=b.code") ->where(["a.wsm_code"=>$value['wsm_code']])->field("a.name as wsm_name,b.name,b.code")->find(); $value['wsm_name'] =isset($wsmcode['wsm_name']) ? $wsmcode['wsm_name']:""; $value['wsm_supplier'] =isset($wsmcode['name']) ? $wsmcode['name']:""; $value['wsm_supplierNo'] =isset($wsmcode['code']) ? $wsmcode['code']:""; } $inorder= Db::name("purchease_in")->where(['cgdNo'=>$value['cgdNo'],"is_del"=>0])->select(); $value['child']=empty($inorder)? [] : $inorder; $data[]=$value; } return app_show(0,"获取成功",["list"=>$data,"count"=>$count]); } public function info(){ $cgdNo = isset($this->post['cgdNo']) && $this->post['cgdNo']!="" ?trim($this->post['cgdNo']):""; if($cgdNo==""){ return error_show(1004,"参数cgdNo 不能为空"); } $data = Db::name("purchease_order")->where(["cgdNo"=>$cgdNo,"is_del"=>0])->find(); if(empty($data)){ return error_show(1004,"未找到数据"); } $data['wsm_name']=""; if($data['wsm_code']!=""){ $wsmcode = Db::name("warehouse_info")->alias("a")->leftJoin("supplier b","a.supplierNo=b.code") ->where(["a.wsm_code"=>$data['wsm_code']])->field("a.name as wsm_name,b.name,b.code")->find(); $data['wsm_name'] =isset($wsmcode['wsm_name']) ? $wsmcode['wsm_name']:""; $data['wsm_supplier'] =isset($wsmcode['name']) ? $wsmcode['name']:""; $data['wsm_supplierNo'] =isset($wsmcode['code']) ? $wsmcode['code']:""; $inorder= Db::name("purchease_in")->where(['cgdNo'=>$data['cgdNo'],"is_del"=>0])->select(); $data['child']=empty($inorder)? [] : $inorder; } $feed = Db::name("purchease_feedback")->where(['bkcode'=>$data['bkcode'],'is_del'=>0])->find(); $data['feedback'] = []; if(!empty($feed)){ $feed['wsm_name']=""; if($feed['warehouse']!=""){ $wsmcode = Db::name("warehouse_info")->alias("a")->leftJoin("supplier b","a.supplierNo=b.code") ->where(["a.wsm_code"=>$feed['warehouse']])->field("a.name as wsm_name,b.name,b.code")->find(); $feed['wsm_name'] =isset($wsmcode['wsm_name']) ? $wsmcode['wsm_name']:""; $feed['wsm_supplier'] =isset($wsmcode['name']) ? $wsmcode['name']:""; $feed['wsm_supplierNo'] =isset($wsmcode['code']) ? $wsmcode['code']:""; } if($feed['supplier']!=""){ $supplie = Db::name("supplier")->where(['code'=>$feed['supplier'],"is_del"=>0])->find(); $feed['supplier_name'] =isset($supplie['name']) ? $supplie['name']:""; } $data['feedback'] = $feed; } return app_show(0,"获取成功",$data); } public function edit(){ $cgdNo = isset($this->post['cgdNo']) && $this->post['cgdNo']!="" ?trim($this->post['cgdNo']):""; if($cgdNo==""){ return error_show(1004,"参数cgdNo 不能为空"); } $data = Db::name("purchease_order")->where(["cgdNo"=>$cgdNo,"is_del"=>0])->find(); if(empty($data)){ return error_show(1004,"未找到数据"); } $wsm_code = isset($this->post['wsm_code'])&&$this->post['wsm_code']!=""? trim($this->post['wsm_code']):""; if($wsm_code!=""){ $ware = Db::name("warehouse_info")->where(["wsm_code"=>$wsm_code,"is_del"=>0])->find(); if(empty($ware)){ return error_show(1004,"未找到仓库信息"); } $good = Db::name("good_stock")->where(["wsm_code"=>$wsm_code,"good_type_code"=>$data['good_type_code'],"is_del"=>0])->find(); if(empty($good)){ return error_show(1004,"未找到仓库下商品信息"); } $data['wsm_code'] = $wsm_code; } $cgdid = isset($this->post['cgder_id'])&&$this->post['cgder_id']!=""?intval($this->post['cgder_id']):""; if($cgdid!=''){ $cgduser = GetInfoById($this->post['token'],["id"=>$cgdid]); if((!empty($cgduser) && $cgduser['code']!=0) ||empty($cgduser) ){ return error_show($cgduser['code'],$cgduser['message']); } $userinfo = $cgduser['data']; $data['cgder_id'] = $cgdid; $data['cgder'] = $userinfo['nickname']; } $good_num = isset($this->post['good_num'])&&$this->post['good_num']!=""?intval($this->post['good_num']):""; if($good_num!=""){ $data['good_num'] = $good_num; } // $good_price = isset($this->post['good_price'])&&$this->post['good_price']!=""?$this->post['good_price']:""; // if($good_price!=""){ // $data['good_price'] = $good_price; // } // $total_fee = isset($this->post['total_fee'])&&$this->post['total_fee']!=""?$this->post['total_fee']:""; // if($total_fee!=""){ // $data['total_fee'] = $total_fee; // } $pakge_fee = isset($this->post['pakge_fee'])&&$this->post['pakge_fee']!=""?$this->post['pakge_fee']:""; if($pakge_fee!=""){ $data['pakge_fee'] = $pakge_fee; } $cert_fee = isset($this->post['cert_fee'])&&$this->post['cert_fee']!=""?$this->post['cert_fee']:""; if($cert_fee!=""){ $data['cert_fee'] = $cert_fee; } $open_fee = isset($this->post['open_fee'])&&$this->post['open_fee']!=""?$this->post['open_fee']:""; if($open_fee!=""){ $data['open_fee'] = $open_fee; } $delivery_fee = isset($this->post['delivery_fee'])&&$this->post['delivery_fee']!=""?$this->post['delivery_fee']:""; if($delivery_fee!=""){ $data['delivery_fee'] = $delivery_fee; } $mark_fee = isset($this->post['mark_fee'])&&$this->post['mark_fee']!=""?$this->post['mark_fee']:""; if($mark_fee!=""){ $data['mark_fee'] = $mark_fee; } $teach_fee = isset($this->post['teach_fee'])&&$this->post['teach_fee']!=""?$this->post['teach_fee']:""; if($teach_fee!=""){ $data['teach_fee'] = $teach_fee; } $nake_fee = isset($this->post['nake_fee'])&&$this->post['nake_fee']!=""?$this->post['nake_fee']:""; if($nake_fee!=""){ $data['nake_fee'] = $nake_fee; } $weight = isset($this->post['weight'])&&$this->post['weight']!=""?$this->post['weight']:""; if($weight!=""){ $data['weight'] = $weight; } $diff_weight = isset($this->post['diff_weight'])&&$this->post['diff_weight']!=""?$this->post['diff_weight']:""; if($diff_weight!=""){ $data['diff_weight'] = $diff_weight; } $diff_fee = isset($this->post['diff_fee'])&&$this->post['diff_fee']!=""?$this->post['diff_fee']:""; if($diff_fee!=""){ $data['diff_fee'] = $diff_fee; } $supplierNo = isset($this->post['supplierNo'])&&$this->post['supplierNo']!=""?trim($this->post['supplierNo']) :""; if($supplierNo!=""){ $supplier =Db::name("supplier")->where(['code'=>$supplierNo])->find(); if(empty($supplier)){ return error_show(1004,"未找到供应商信息"); } $data['supplierNo'] = $supplierNo; $data['supplier_name'] = $supplier['name']; } $data['good_price'] = round(($data['pakge_fee']+$data['weight']*$data['gold_price']+$data['nake_fee']+$data['mark_fee']+$data['cert_fee']+$data['open_fee']/$data['good_num'] +$data['teach_fee']*$data['weight']+$data['delivery_fee']),2); $data['total_fee'] = round($data['good_price']*$data['good_num'],2); $data['updatetime'] =date("Y-m-d H:i:s"); $upd=Db::name("purchease_order")->save($data); return $upd?app_show(0,"更新成功"):error_show(1004,'更新失败'); } public function status(){ $cgdNo = isset($this->post['cgdNo']) && $this->post['cgdNo']!="" ?trim($this->post['cgdNo']):""; if($cgdNo==""){ return error_show(1004,"参数cgdNo 不能为空"); } $data = Db::name("purchease_order")->where(["cgdNo"=>$cgdNo,"is_del"=>0])->find(); if(empty($data)){ return error_show(1004,"未找到数据"); } $remark= isset($this->post['remark']) && $this->post['remark']!="" ?trim($this->post['remark']):""; $status = isset($this->post['status'])&&$this->post['status']!==""? intval($this->post['status']):""; if($status===""){ return error_show(1004,"参数status 不能为空"); } if($data['send_status']>1 && $status==0){ return error_show(1004,"采购单发货中无法取消"); } $data['status'] = $status; $data['remark'] = $remark; $data['updatetime'] =date("Y-m-d H:i:s"); $upd=Db::name("purchease_order")->save($data); return $upd?app_show(0,"更新成功"):error_show(1004,'更新失败'); } }